Hackintosh Skylake : USB El Capitan, Sierra

:coucou: polyzargone

Je me présente : "éventuel lecteur" (sic) > contemplateur spéculatif de macOS (OS X) > sub-ignare en Hackintosh-
361608_original.png


Petit aperçu spéculatif (hors-Hackintosh) :

macOS démarre régulièrement avec le chargement du prelinkedkernel par le boot_loader : boot.efi*. Ce prelinkedkernel recèle un clone du code du kernel et une liste de kexts à charger d'office en pré-boot dans l'espace du kernel (but du procédé : accélérer le pré-boot).

Cette liste de kexts peut être un tableau conforme ou filtré de la collection des extensions présentes at: /System/Libra-ry/Extensions & at: /Library/Extensions.

C'est la commande kextcache qui permet de mettre à jour (option -u par exemple) le cache prelinkedkernel afin qu'il image de manière conforme la collection intégrale des kexts citées > ou au contraire qu'il recèle un filtrage des kexts à pré-charger dans l'espace du kernel.

Quant à la commande kextstat (pareil pour kextstatx86 - je présume ?) > elle retourne la liste de toutes les kexts actuellement chargées dans l'espace du kernel en bout de démarrage (le Système complètement initialisé). Elle ne me paraît donc pas lire le contenu du cache de pré-boot prelinkedkernel > mais l'espace actuel du kernel à la fin de démarrage. Citation du man :
Bloc de code:
The kextstat utility displays the status of any kexts currently loaded in the kernel.

« Currently loaded » = "actuellement chargées" au sens de l'« actuel » aristotélicien : "en acte", "effectivement" (comme distingué de « potentiellement » : "en puissance", "virtuellement").​

Cela spéculé > j'ignore totalement la façon de procéder de Clover en ce qui concerne un Hackintosh.

[* Le boot_loader : boot.efi peut être devancé par un boot_loader alternatif exécuté par l'EFI au démarrage - exemple --> le boot_loader : bootx64.efi de «rEFInd».]
 
  • J’aime
Réactions: polyzargone
:coucou: macomaniac

On ne se connait pas mais j'ai eu l'occasion de lire avec intérêt quelques unes de tes interventions (notamment en ce qui concerne l'outil diskutil en ligne de commande et les subtilités du CoreStorage :)).

Autant dire que c'est avec plaisir que je lis ton explication fort intéressante et très claire en ce qui concerne le prelinked kernel et le rôle du boot.efi qui je l'avoue n'ont jamais été très limpides pour moi :D.

Sans être un spécialiste de la question, je crois pouvoir dire que Clover fonctionne sensiblement sur le même concept que rEFInd. Il me semble même qu'il en est directement inspiré puisque c'est un dérivé de rEFIt, dont rEFInd est lui même un fork.

L'une des tâches de Clover est d'injecter certains kexts avant même le démarrage du boot.efi et donc de "s'ajouter" au prelinked kernel. Cela explique d'ailleurs comment il est possible de démarrer un Hackintosh en ayant le SIP totalement actif puisque le prelinked kernel ne contient alors que des kexts signés et que les kexts non signés sont injectés avant et indépendamment du prelinked kernel. Cela explique également pourquoi il n'est pas nécessaire de mettre à jour le kextcache lorsque l'on ajoute/supprime des kexts dans la partition EFI/EFI/CLOVER/kexts/.

C'est beaucoup plus clair pour moi maintenant :). Merci.

Pour en revenir à kextstat, il serait donc logique qu'on y voit apparaître aussi les kexts chargés depuis l'EFI via Clover. C'est d'ailleurs ce que confirme clairement kextstatx86 (qui est effectivement le même outil que kextstat avec un certain nombre d'options en plus) :

Bloc de code:
MacBook-Optimus:~ polyzargone$ kextstatx86 -n
ACPIBatteryManager.kext (1.60.5) org.rehabman.driver.AppleSmartBatteryManager EFI\CLOVER\kexts\Other\ACPIBatteryManager.kext
VBoxDrv.kext (5.1.16) org.virtualbox.kext.VBoxDrv /Library/Application Support/VirtualBox/VBoxDrv.kext
FakePCIID_XHCIMux.kext (1.3.6) org.rehabman.driver.FakePCIID.XHCIMux EFI\CLOVER\kexts\Other\FakePCIID_XHCIMux.kext
FakeSMC_ACPISensors.kext (1737) org.hwsensors.driver.ACPISensors EFI\CLOVER\kexts\Other\FakeSMC.kext\Contents\PlugIns\FakeSMC_ACPISensors.kext
ApplePS2SmartTouchPad.kext (4.6.8) org.emlydinesh.driver.ApplePS2SmartTouchPad EFI\CLOVER\kexts\Other\ApplePS2SmartTouchPad.kext
FakePCIID.kext (1.3.6) org.rehabman.driver.FakePCIID EFI\CLOVER\kexts\Other\FakePCIID.kext
AppleALC.kext (1.1.0) as.vit9696.AppleALC EFI\CLOVER\kexts\Other\AppleALC.kext
VBoxNetFlt.kext (5.1.16) org.virtualbox.kext.VBoxNetFlt /Library/Application Support/VirtualBox/VBoxNetFlt.kext
VBoxNetAdp.kext (5.1.16) org.virtualbox.kext.VBoxNetAdp /Library/Application Support/VirtualBox/VBoxNetAdp.kext
EnergyDriver.kext (2.0) com.intel.driver.EnergyDriver /Library/Extensions/EnergyDriver.kext
ApplePS2Controller.kext (4.6.8) org.emlydinesh.driver.ApplePS2Controller EFI\CLOVER\kexts\Other\ApplePS2SmartTouchPad.kext\Contents\PlugIns\ApplePS2Controller.kext
osxfuse.kext (3.5.5) com.github.osxfuse.filesystems.osxfuse /Library/Filesystems/osxfuse.fs/Contents/Extensions/10.12/osxfuse.kext
BCM5722D.kext (2.3.5) my.name.adlan.BCM5722D EFI\CLOVER\kexts\Other\BCM5722D.kext
FakeSMC.kext (1737) org.netkas.driver.FakeSMC EFI\CLOVER\kexts\Other\FakeSMC.kext
VBoxUSB.kext (5.1.16) org.virtualbox.kext.VBoxUSB /Library/Application Support/VirtualBox/VBoxUSB.kext
IntelGraphicsFixup.kext (1.0.0) as.lvs1974.IntelGraphicsFixup EFI\CLOVER\kexts\Other\IntelGraphicsFixup.kext
ApplePS2Keyboard.kext (4.6.8) org.emlydinesh.driver.ApplePS2Keyboard EFI\CLOVER\kexts\Other\ApplePS2SmartTouchPad.kext\Contents\PlugIns\ApplePS2Keyboard.kext
Lilu.kext (1.0.0) as.vit9696.Lilu EFI\CLOVER\kexts\Other\Lilu.kext
Shiki.kext (2.0.0) as.vit9696.Shiki EFI\CLOVER\kexts\Other\Shiki.kext
FakeSMC_CPUSensors.kext (1737) org.hwsensors.driver.CPUSensors EFI\CLOVER\kexts\Other\FakeSMC.kext\Contents\PlugIns\FakeSMC_CPUSensors.kext

Maintenant, la question est : outre le fait qu'il soit chargé au moment de l'exécution de la commande, quelles sont les autres conditions pour qu'un kext apparaisse dans kextstat ?

Faut-il qu'il comporte un binaire, un champ spécifique dans son info.plist (j'ai lu quelque part que CFBundleIdentifier pouvait y être pour quelque chose), autre chose ?

Pourquoi certains kexts y apparaissent et d'autres pas ?

Tellement de questions (existentielles évidemment) et si peu de réponses :arghh::arghh::arghh: !

:joyful:
 
:coucou: polyzargone

Alors voici une rallonge « spéculative » (je n'ai aucune formation informatique, mais classique : philosophie > logique aristotélicienne et mathématique => j'applique donc un raisonnement tout ce qu'il y a de non-spécialisé aux objets informatiques).

Le boot_loader : boot.efi (localisé at: /System/Library/CoreServices) est un fichier exécutable de type spécial, en ce qu'il est exécutable par l'EFI. On peut donc le considérer comme une « application de l'EFI ».

Cette application n'est pas cantonnée mécaniquement au mode d'emploi de son code, mais a la propriété de pouvoir recevoir des instructions supplémentaires de la part de l'EFI. En effet, l'EFI, après vérification du hardware (POST) > commence toujours par visiter la NVRAM pour y lire les instructions en place, genre boot_flags. Le SIP, notamment, consiste en une suite de 6 flags en NVRAM qui sont chargés par l'EFI. Par suite, l'EFI ne se contente pas de lancer l'application qu'est le boot.efi > mais elle « passe » (transmet) à cette application les flags de la NVRAM => il s'agit donc d'une « implémentation » en amont du code du boot.efi.

----------

À présent > une spécificité d'OS X > macOS est que ce Système ne démarre pas régulièrement sur l'original du kernel (at: /System/Library/Kernels/kernel) > mais sur un clone du code de ce kernel recelé dans un cache de démarrage prelinkedkernel (at: /System/Library/PrelinkedKernels/prelinkedkernel). Le kernel original sert de paradigme pour la constitution du cache de démarrage.

La fonction basique du boot.efi est de démarrer le kernel par l'exécution de son code et de déclencher le processus d'injection des kexts dans l'espace du kernel par transmission du bloc d'adresses d'extensions recelé dans le cache prelinkedkernel. Mais > dans la mesure où le boot.efi, en tant qu'application de l'EFI, a reçu une implémentation de flags de la part de l'EFI > le boot.efi assure le rôle supplémentaire de passation de ces flags au kernel : c'est donc ici un rôle de « rouage de transmission ». C'est ainsi, par exemple, que les flags du SIP se trouvent passés au kernel au démarrage. Je pense que cette transmission « supplémentaire » s'opère au démarrage du kernel par le boot.efi > avant même le processus d'injection.

----------

Étant donné ce court aperçu de la séquence de pré-boot > la question spéculative passionnante est : que se passe-t-il quand l'exécution du boot_loader boot.efi par l'EFI se trouve « interceptée » par le boot_loader d'un gestionnaire de démarrage comme le bootx64.efi de «rEFInd»  ? Sachant que l'EFI quitte classiquement, en tant que processus logiciel, après l'exécution de l'application : boot.efi > je présume qu'on peut extrapoler cette séquence à celle de l'exécution du boot_loader de «rEFInd» : cette application tierce de l'EFI démarrée > l'EFI quitte la scène.

Cette analogie fonctionnelle des boot_loaders permet d'induire que le boot_loader de «rEFInd» est capable, comme le boot.efi orthodoxe, de recevoir l'implémentation par l'EFI de flags de la NVRAM. À supposer qu'aucun filtre de ces flags ne soit activé dans le programme du boot_loader de «rEFInd». Ainsi, dans l'environnement de «Yosemite 10.10» (tristement notoire pour l'introduction des flags du kext_signing en NVRAM) > démarrer cet OS par l'intermédiaire du boot_loader de «rEFInd» et pas directement par le boot.efi > avait une admirable conséquence : les flags du kext_signing (supposés présents en NVRAM) n'étaient pas reçus de la part de l'EFI par le boot_loader de «rEFInd» > mais échappés > ce qui fait qu'on pouvait bidouiller des kexts Apple sans qu'aucune vérification d'intégrité tâtillonne ne soit opérée.

Ce petit point curieux démontre ceci : un boot_loader de tierce partie comme celui de «rEFInd» possède une « autonomie » logicielle relative par rapport au déterminisme strict du boot_loader boot.efi orthodoxe. Autonomie confirmée par le fait que, le boot_loader de «rEFInd» activé > le choix du mode de démarrage d'un OS ciblé se trouve ouvert (safe mode, single user, verbose etc.). C'est dans le volume EFI de l'ESP (EFI_System_Partition : disk0s1 pour un disque unique) que résident les dossiers de boot de «rEFInd».

----------

Admis l'état de choses : boot_loader de «rEFInd» démarré et processus de l'EFI quitté > comment va s'opérer le démarrage du Système ciblé  ? - ma faculté spéculative avait envisagé 2 options : soit le boot_loader de «rEFInd» adressait directement le prelinkedkernel de démarrage > soit le boot_loader de «rEFInd» exécutait le boot.efi du Système-cible - à charge pour ce dernier de démarrer le kernel du prelinkedkernel (exclue la possibilité d'une double action > car le kernel ne peut pas être démarré 2 fois > mais une seule fois : soit par un boot_loader > soit par l'autre).

Je pense que c'est la seconde option qui est vraie : le boot_loader de «rEFInd» tient le rôle exécutif de l'EFI pour le boot_loader boot.efi régulier et ne se susbtitue pas à lui pour charger directement le prelinkedkernel. Argument simple : étant donné qu'un même boot_loader de «rEFInd» est capable de lancer toute sortes de versions de macOS (de «Snow Léopard» à «Sierra» sur mon MacBook Pro 17" i7 2,5 GHz Late_2011) > impliquant des kernels d'architecture variée (mach_kernel > kernel) --> il me paraît difficile à concevoir que son code puisse gérer un pareil différentiel. Argument « légaliste » : un boot_loader de tierce partie fonctionnant en substitution du boot_loader Apple réglementaire > équivaudrait à un remplacement logiciel incriminable.

À supposer donc ma conjecture valide : le boot_loader de «rEFInd» jouant le rôle de relai exécutif de l'EFI pour l'exécution spécifique du boot_loader boot.efi orthodoxe --> on aurait donc la chaîne : EFI > NVRAM > boot_loader tiers > boot.efi > prelinkedkernel.

----------

Supposons à présent que parmi les ressources de l'application : boot_loader tiers dans le volume de l'ESP > il y ait des kexts à faire injecter dans l'espace du kernel > et supposons toujours que le boot_loader tiers ait pour cible exclusive l'exécution du boot_loader boot.efi orthodoxe qu'il ne peut pas remplacer > et gardons toujours présente à l'esprit l'idée que le kernel ne peut pas être démarré 2 fois > mais une seule fois > le seul kernel adressable étant le clone du code du kernel recelé par le prelinkedkernel.

Alors peut se concevoir la séquence suivante : le boot_loader tiers (on dira celui de «Clover» dont je ne sais rien mais que je reconstruis en imagination par extrapolation de celui de «rEFInd») > ne peut absolument pas injecter directement et préliminairement les kexts supplémentaires qui sont recelées dans ses dossiers de ressources sur l'ESP > car pour ce faire > le kernel devrait être déjà démarré auparavant > afin qu'elles soient injectées dans son espace. Mais > si c'est bien le boot_loader boot.efi qui est en charge de ce lancement du kernel > sans avoir encore été exécuté par le boot_loader tiers > alors le boot_loader tiers ne peut injecter aucune kext par lui-même.

Ce qu'il peut faire > c'est : à l'exécution du boot_loader boot.efi > lui passer comme implémentation le tableau d'adresses des kexts tierces recelées dans le volume de l'ESP (NB. savoir qu'au pré-boot > tous les volumes montables sur toutes les partitions de disques sont montés et adressables, le volume EFI de l'ESP compris). Donc le boot_loader tiers passerait ce tableau au boot_loader boot.efi au même titre que les flags reçus de l'EFI.

Ledit boot_loader boot.efi se trouverait donc implémenté dans son code de flags de la NVRAM et du tableau d'adresses de kexts transmis par le boot_loader tiers qui devance son exécution. Conséquence : le boot_loader boot.efi ainsi implémenté > démarrerait le kernel du prelinkedkernel > lui passerait au moment même de ce démarrage les flags de la NVRAM de provenance EFI et le tableau des kexts de l'ESP de provenance boot_loader tiers > puis lirait le bloc des adresses de kexts inclus dans le prelinkedkernel pour le passer régulièrement au kernel.
 
Toujours pas spécialiste de la question (je n'ai aucune formation informatique non plus mais plutôt littéraire/artistique, comme quoi :P), je crois que c'est bel bien comme cela que ça se passe (option 2)

Extrait du wiki de Clover :

When booting or restarting a PC, Clover loads operating system as follows:

Option A: BIOS-based PC (old motherboards)

BIOS>MBR>PBR>boot>CLOVERX64.efi>OSLoader

OSLoader is boot.efi in case of Mac OS X and bootmgr.efi in case of Windows.

Option B: UEFI-based PC (newer motherboard)

UEFI>CLOVERX64.efi>OSLoader

OSLoader est bien le boot.efi de macOS.

Concernant l'injection des kexts, je crois que j'ai fait une confusion entre celle-ci et ce qu'on appelle les "Patchs à la volée" de kext (voire du kernel lui même). Il me semble que c'est cela qui est fait en amont par Clover et qui doit être transmis d'une manière ou d'une autre (le tableau d'adresses ?) au boot.efi puis finalement au kernel et au prelinked kernel.

Mais là, j'avoue que ça devient trop technique pour moi. Et mine de rien, je me rends compte qu'on est totalement hors sujet par rapport à ce fil :).

On peut poursuivre la discussion ici si tu le souhaites.

En tout cas, merci pour toutes ces infos :up: !
 
Surprise pour moi en testant les betas récentes de macOS High Sierra : mes ports USB ne marchaient plus (et donc notamment le clavier et la souris, ce qui était plutôt gênant !)… alors qu'ils march(ai)ent parfaitement sous Sierra et les premières versions de High Sierra !

Trouvant peu d'information sur Internet sur ce sujet, j'ai souffert dessus pendant une semaine, mais je vais essayer de vous la faire brève.

1/ J'ai découvert que les ports USB 3.1 restaient fonctionnels, ce qui m'a permis de brancher le clavier et la souris (vive les bons vieux claviers filaires Apple et leur hub intégré !)

2/ Les autres ports apparaissaient bien dans IORegistryExplorer, mais si un périphérique était branché dessus au moment du boot, ils n'étaient pas activés et on avait un message dans le log du genre :
Bloc de code:
kernel IOUSBHostFamily 000060.602753 HS04@14200000: AppleUSBHostPort::disconnect: persistent enumeration failures

3/ En regardant de plus près dans IORegistryExplorer, j'ai fini par remarquer que contrairement à l'autre, le contrôleur "non USB 3.1" n'apparaissait pas sous l'arborescence IOService:/IOResources/AppleUSBHostResources/AppleUSBLegacyRoot

4/ Du coup, en fouillant encore un peu, j'ai découvert que ce qui semblait manquer, c'était la propriété FixOwnership dans mon config.plist

5/ Ceci expliquait pourquoi quasiment personne n'avait été confronté au même problème que moi… FixOwnership : true est en effet présent dans quasiment toutes les recommandations en matière de configuration de Clover.
Mais moi, je l'avais désactivé car j'avais été confronté à des impossibilités de sortir d'hibernation, et l'enlever semblait avoir amélioré les choses… Et je me suis malheureusement rendu compte que si le remettre me permettait effectivement d'activer les ports USB sous High Sierra, cela me ramenait aussi ces satanés problèmes de sortie d'hibernation sous Sierra !

6/ Du coup j'ai essayé de regarder un peu le code source dans Clover. Et je ne comprenais pas ce que pouvait bien apporter FixOwnership : true, alors que dans le BIOS, tout ce qui était legacy semblait déjà désactivé et que XHCI Hand-off était activé.

7/ Bref, en tripatouillant dans le BIOS, j'ai fini par trouver que la bonne solution était de mettre dans le BIOS Windows 8/10 Features : Windows 8/10 (au lieu de Other OS comme cela est le plus souvent recommandé) et CSM Support : Disabled

Si après avoir changé ce réglage, vous rencontrez un problème pour boooter, pas de panique ! Tentez d'abord un redémarrage en Safe mode pour vider le cache, et cela devrait marcher…
 
Dernière édition:
Oui, le 7/ est la configuration bios que j'utilise depuis le début pour avoir un boot avec une bonne résolution. Je n'ai pas non plus de de pb de réveil avec cette config sous Sierra ou HS ni de pb USB sous HS...
 
C'est un copier coller de ce message... mais je me dis que ca a peut être plus ca place ici :D

J'ai aussi pose une question sur isanelymac... on ne sait jamais !
http://www.insanelymac.com/forum/topic/331415-mapped-usb-ports-do-not-work-well-with-ipod-io-error/

J'ai un problème intéressant a vous exposer...

Quand je branche mon iPod 3G en USB, alors j'ai pleins d'erreurs, le disque n'est pas lisible et iTunes le voit comme corrompu...
Cette erreur est aléatoire, mais une fois qu'elle est apparue, elle ne disparait pas.
Vous avez deja eu ca ?

Voici l'erreur :
Code (Text):
08/01/18 21:39:29,473 Console[531]: Marker - 08 Jan 2018 21:39:29
08/01/18 21:39:34,000 kernel[0]: 000120.379057 HS01@14100000: AppleUSB20XHCIPort::resetAndCreateDevice: failed to create device, disabling port
08/01/18 21:39:36,427 cfprefsd[135]: BUG in libdispatch: 15G18013 - 1718 - 0x0
08/01/18 21:39:36,000 kernel[0]: 000122.440714 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
08/01/18 21:39:36,000 kernel[0]: USBMSC Identifier (non-unique): 0000005B1F48 0x5ac 0x1201 0x0, 2
08/01/18 21:39:38,803 mds[65]: (Volume.Normal:2464) volume:0x7fd13e02e000 ********** Bootstrapped Creating a default store:0 SpotLoc:(null) SpotVerLoc:(null) occlude:0 /Volumes/THE ONE
08/01/18 21:39:38,851 fseventsd[48]: could not open <</Volumes/THE ONE/.fseventsd/fseventsd-uuid>> (No such file or directory)
08/01/18 21:39:38,851 fseventsd[48]: Failed to load UUID. Removing all old log files in /Volumes/THE ONE/.fseventsd
08/01/18 21:39:38,851 fseventsd[48]: log dir: /Volumes/THE ONE/.fseventsd getting new uuid: 4EDFF51B-27FD-4A3D-8D48-30315CBE50FF
08/01/18 21:39:38,000 kernel[0]: disk3s2: I/O error.

La meme chose lorsque le disque fonctionne correctement :
Code (Text):
08/01/18 21:49:23,000 kernel[0]: 000709.991057 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
08/01/18 21:49:31,000 kernel[0]: 000717.617824 HS13@14800000: AppleUSB20XHCIPort::resetAndCreateDevice: failed to create device, disabling port
08/01/18 21:49:33,000 kernel[0]: 000719.681122 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
08/01/18 21:49:33,000 kernel[0]: USBMSC Identifier (non-unique): 0000005B1F48 0x5ac 0x1201 0x0, 2
08/01/18 21:49:35,000 kernel[0]: considerRebuildOfPrelinkedKernel prebuild rebuild has expired
08/01/18 21:49:36,384 mds[65]: (Volume.Normal:2464) volume:0x7fd13d877800 ********** Bootstrapped Creating a default store:0 SpotLoc:(null) SpotVerLoc:(null) occlude:0 /Volumes/THE ONE
08/01/18 21:49:36,431 fseventsd[48]: could not open <</Volumes/THE ONE/.fseventsd/fseventsd-uuid>> (No such file or directory)
08/01/18 21:49:36,431 fseventsd[48]: Failed to load UUID. Removing all old log files in /Volumes/THE ONE/.fseventsd
08/01/18 21:49:36,431 fseventsd[48]: log dir: /Volumes/THE ONE/.fseventsd getting new uuid: 42F1AD46-E44F-4AD2-B7E2-8D874E5BDF46

J'ai regarde mon mapping. Je pensais que c'était parce que j'étais sur un port USB2/USB3, mais ca me fait pareil sur un port USB2.

Sur mon Mac, je peux faire n'importe quoi (y compris des débranchements a chaud) et pas de soucis...
Sous Windows (meme machine que le hackintosh), pas de soucis non plus !!

Vous avez une idée ?
Je branche rarement un périphérique de stockage en USB (j'ai une carte FW).
Par contre, l'iPod et le FW avec le Mac, ca ne roule pas super non plus...
Le disque est neuf (carte SD) et Windows ne trouve rien a redire.

En mode 'USB disk', l'iPod ne cause aucun soucis non plus.
 
Dernière édition:
Je me reponds....
le problème que j'ai est en fait connu (mais j'étais parti directement sur un problème d'USB...)
https://discussions.apple.com/thread/7353475

Bloc de code:
12/01/18 00:40:12,000 kernel[0]: 000342.756938 HS04@14400000: AppleUSB20XHCIPort::resetAndCreateDevice: failed to create device, disabling port

De ce que j'ai lu, ca arrive :
- sur Hackintosh, lors de la premiere installation (solution : augmenter la limite de port)
- sur Mac, si il y a un outil de virtualisation (VirtualBox/Fusion)
- sur Mac, sans rien de particulier... et c'est mon cas (enfin, sur Hackintosh, mais mes ports sont mappés) :banghead:

Au moins une personne indique que ca fonctionne derriere un hub...
Je vais voir, j'en ai un qui traine !
Sinon, je mettrai l'iPod a jour sous Windows :D

Par contre, il se trouve que j'avais quelques petits trucs incorrects, ce que j'ai corrige.
Je ne vois pas de difference a l'utilisation cela dit.
 
Dernière édition: