Hackintosh Skylake : USB El Capitan, Sierra

Réglons d'abord la question des outils :
- IOJones est une bonne alternative à IO Registry Explorer, qui est développé par Apple. Je cite IOJones car IO Registry Explorer n'est plus fourni d'office avec Xcode et est désormais inclus dans un téléchargement séparé réservé aux développeurs enregistrés. Utiliser un logiciel acquis légalement pour faire un hackintosh me parait défendable, mais redistribuer sans autorisation un logiciel Apple ne l'est sûrement pas…
- effectivement, on peut utiliser Xcode plutôt que pListEditPro. Il faut juste se souvenir du click droit permettant d'accéder à l'option "Show Row Keys/Values" :shifty:

D'accord avec @polyzargone : inclure un contrôleur AHCI ne sert pas à grand chose dans notre affaire.

Par contre, non, non, il n'est absolument pas nécessaire de chercher à dupliquer tout ce qu'il y a dans AppleUSBXHCIPCI.kext ! Pour utiliser le vocabulaire de la programmation objet, tout ce que nous faisons, c'est définir une sous-classe de AppleUSBXHCIPCI, donc nous héritons de tous les comportements de la classe mère et du coup il est inutile et potentiellement contre-productif de redéfinir ceux-ci…

Du coup, voici une version simplifiée du kext. @gradou, peux-tu confirmer qu'elle fonctionne tout aussi bien ?

Complément d'information pour ceux qui suivent cette discussion et pourraient se demander de quel AppleUSBXHCIPCI on parle : l'Info.plist de notre kext obéit à la même structure que celui de celui situé à /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBXHCIPCI/Contents/Info.plist :singing:
 
*Vitesse USB-C et USB 3-1 : 5gb/s (version de base ... !!)
*Comment tester les ports internes et dois je le faire ? (j'ai testé les ports de la carte et du boitier) photo jointeVoir la pièce jointe 110543

@gradou, tu n'as pas mis sur ton schéma l'adresse des deux ports USB3.1 : y avait-il une difficulté particulière pour les identifier ?
 
J'ai essayé ce matin de débrancher tous les ports USB sauf celui, en interne, du Bluetooth et ça ne marche pas mieux. Je pensais m'en tirer avec un bricolage de ce genre, mais il va falloir mettre les mains dans le cambouis.
 
Réglons d'abord la question des outils :

- effectivement, on peut utiliser Xcode plutôt que pListEditPro. Il faut juste se souvenir du click droit permettant d'accéder à l'option "Show Row Keys/Values" :shifty:

Tout à fait, c'est particulièrement vrai pour éditer les data du port-count !!


Du coup, voici une version simplifiée du kext. @gradou, peux-tu confirmer qu'elle fonctionne tout aussi bien ?

J'essaye (je vais bientôt plus savoir où en donner de la tête avec tous ces kexts !!!!!) Avant y'en avait pas, maintenant y'en a plein !!!
 
@gradou, tu n'as pas mis sur ton schéma l'adresse des deux ports USB3.1 : y avait-il une difficulté particulière pour les identifier ?

Oui, je sais pas où y sont dans ioregistry; ils fonctionnent (avec Sierra) cependant à la vitesse de l'USB3 5Gb/s et n'acceptent pas l'USB 2
 
Dernière édition:
Je viens de tester la V.3, tout bien sauf un port USB 3 de la carte : le SS05-HS05... qui ne fonctionne qu'en USB2... alors que, je viens de vérifier il fonctionne correctement avec ta v.1...
Finalement je viens de redémarrer avec le disque USB 3 branché et là il est reconnu en USB 3 avec la v.3 ....:rolleyes:
Je l'ai débranché, rebranché et il est bien toujours là.
Signé le stakhanoviste-testeur (j'rigole, bien sûr, en fait j'suis bien content !! :) :) )
 
Dernière édition:
Réglons d'abord la question des outils :
Utiliser un logiciel acquis légalement pour faire un hackintosh me parait défendable, mais redistribuer sans autorisation un logiciel Apple ne l'est sûrement pas…

C'est sûr, t'as raison, surtout que fabriquer du Hackintosh(s), ça c'est VRAIMENT légal ça !!!!!:kiss::kiss:
 
Là, maintenant, j'ai envie de faire un petit point à l'attention de ceux qui disposent d'une Z170 et qui, comme moi, ont rencontré des problèmes avec le fonctionnement des ports USB de leur machine.

Si vous le souhaitez donc :

* Tout d'abord mettre en oeuvre le (1°) d'ici : http://forums.macg.co/threads/hackintosh-skylake-usb-el-capitan-sierra.1284304/) c'est pour aider à repérer les ports USB de la machine;

* Ensuite, à l'aide de IoRegistryExplorer (ou ioJones), repérer les ports physiques de la machine (carte et boitier). Pour cela il faut se positionner sur XHC@14 (ne pas hésiter à descendre assez bas dans les lignes de IoRegistry.. ou iojones). Il y a des indications du style HS01(02,03...), SS01(02,03...) qui, lorsque vous aurez placé votre device USB 2 puis USB 3 successivement dans un des ports , seront respectivement renseignés. Notez quelque part le nom du port repéré, par ex : HS03, et en cliquant dessus, les data du port dans la fenêtre à droite : ici : 03000000 Capture d’écran 2016-09-05 à 10.39.23.webp

Bon, c'est marrant à faire, hein, et ben puisque ça vous a amusé, vous allez le faire pour tous les ports de la machine... Ouarfff !!!

Mais là où on a de la chance, c'est que, grâce à nos deux chefs : Barijaona et Polyzargone, on dispose maintenant de kexts tout cuits. Y'a qu'à les télécharger et à les adapter avec pListEditPro :

* Pour cela on clique droit sur le kext-->afficher le contenu du paquet--->contents-->clic-droit Info.plist et choisir l'appli qui va bien plistedit ou Xcode (avec pour ce dernier la remarque de Barijaona plus haut : "effectivement, on peut utiliser Xcode plutôt que pListEditPro. Il faut juste se souvenir du click droit permettant d'accéder à l'option "Show Row Keys/Values" )

On ouvre un document qui a cette bouille :

Capture d’écran 2016-09-05 à 10.49.15.webp

On déroule la ligne cochée IOKitPersonalities et ensuite celle cochée : iMac17,1-XHC, ensuite on clique sur la ligne cochée IOProviderMergeProperties. Là on a une ligne port-count : on clique sur le chiffre le plus à droite et on renseigne avec la valeur "data" la plus élevée que l'on aura trouvé en repérant les ports comme indiqué ci-dessus.

En dessous il y a la ligne "ports". On se souvient que l'on a le droit de ne conserver que 15 ports au max (c'est expliqué pourquoi plus haut). c'est là qu'on renseigne les ports que l'on a repérés (les USB 2 en HS--, les USB 3 en SS--) pour chaque port on renseigne sa valeur "Data" (port data 0xxxxxxx) et la caractéristique du port : UsbConnector : 1 pour les ports qui ne sont qu'USB2, 3 pour les autres qu'ils soient USB2 sur USB3 (HS--) ou USB 3 (SS--). Y'en a d'autres mais bon, pas sûr qu'ils nous soient utiles...

Normalement, vous sauvegardez le machin et vous avez un "kext" personnalisé à votre machine.

* Vous le mettrez dans le clover-->kexts-->qui va (vont) bien : 10.11, 10.12, others...). Vous aurez enlevé, s'il y était, USBinjectAll de partout, : des Clover-->kexts, de S/L/E, de L/E... de la lune etc.

* Et puis vous configurerez votre config.plist (que j'ouvre avec cloverconfigurator pour ma part) :

On est sur un SMBIOS iMac 17,1 et il faut suivre les recommandations de Polyzargone ici :

http://forums.macg.co/threads/hackintosh-skylake-usb-el-capitan-sierra.1284304/#post-13058680

et là :
http://forums.macg.co/threads/hackintosh-skylake-usb-el-capitan-sierra.1284304/#post-13058723

* Et pis on vire les Kernel and Kext Patches correspondant aux modifications des limites de ports genre : "Name : AppleUSBXHCIPCI, Find : xxxxxxxxx, Replace : xxxxxxxxx, Comment : Increase xx port limit to xx in AppleUSBXHCIPCI " ou autre de ce genre.

* Et pis on fait ça : de Barijaona :
" Dans l'optique de contourner les éventuels injecteurs spécifiques à l'iMac17,1, il faut mettre un patch Clover dans la rubrique ACPI > DSDT fixes :
Comment : Rename XHC1 to XHC
Find : 58484331
Replace : 584843
"

* On "save".

Voilà (de toute façon les 2 chefs veillent au grain et diront ce qui ne va, éventuellement, pas dans ce texte...)

Ce message est sans doute un peu trop détaillé pour ceux qui sont accoutumés à farfouiller dans tous ces outils, qu'ils ne prennent donc pas ce texte comme "non mais, y nous prend pour des nazes ce gradou :mad: !!", mais pour faciliter la tâche (j'espère) de ceux qui démarrent un projet...

Pour ma part j'ai adopté cette démarche pour adapter ces kexts à deux cartes Asus (Asus Z170M-Plus et H170i-plus D3) et ça fonctionne ! (et j'suis pas un lion !!)

MERCI A BARIJOANA ET POLYZARGONE :merci::merci::merci::merci:
 
Dernière édition:
  • J’aime
Réactions: okhoshi
En dessous il y a la ligne "ports". On se souvient que l'on a le droit de ne conserver que 15 ports au max (c'est expliqué pourquoi plus haut). c'est là qu'on renseigne les ports que l'on a repérés (les USB 2 en HS--, les USB 3 en SS--) pour chaque port on renseigne sa valeur "Data" (port data 0xxxxxxx) et la caractéristique du port : UsbConnector : 1 pour les ports qui ne sont qu'USB2, 3 pour les autres qu'ils soient USB2 sur USB3 (HS--) ou USB 3 (SS--). Y'en a d'autres mais bon, pas sûr qu'ils nous soient utiles...

Il y a une petite confusion là :P. Les valeurs 0, 3 ou 255 (pas de 1) de l'UsbConnector n'ont rien à voir avec la nature du port ni sa vitesse (USB 2 ou USB 3 voire USB-C).

Pour compléter ce que disais @Barijaona :

la distinction entre 0 et 3 d'une part et 255 d'autre part n'est pas fondamentale sur le plan fonctionnel : elle permet juste de mieux distinguer entre ports externes et internes ; si tu te trompes, ça ne devrait pas empêcher les ports de fonctionner

• 0 et 3 = externes : ceux qu'on trouve sur les connecteurs arrières de la carte mère.

• 255 = Internes : ceux qu'on trouve sur les connecteurs internes - les internal USB headers - de la carte mère.

Dans le cas de la Z170X-Gaming 5, il s'agit des F_USB30_1, F_USB30_2, F_USB1 et F_USB2.

Et effectivement comme le disais @Barijaona, si tu te trompes ça n'est pas bien grave, tu auras juste ce genre de surprise :).
 
  • J’aime
Réactions: gradou
C'est sûr, t'as raison, surtout que fabriquer du Hackintosh(s), ça c'est VRAIMENT légal ça !!!!!:kiss::kiss:

Pour un usage privé sans but lucratif, à condition d'avoir obtenu légalement le soft (tu as un vrai Mac par ailleurs ou tu es abonné au programme développeur), on est dans une zone grise : https://openclassrooms.com/forum/sujet/la-legalite-de-l-hackintosh

Par contre, redistribuer à des tiers un soft sans avoir l'autorisation des ayant-droits, c'est du piratage et les tribunaux ne te louperont pas.
 
Si ça peut vous "détendre", il suffit d'aller ici : https://developer.apple.com/download/more/

N'importe qui peut s'inscrire gratuitement et y télécharger le Hardware_IO_Tools_for_Xcode_7.3.dmg qui contient (entre autres) IORegistry Explorer ;).
 
(Modification du post précédent intégrant en gras les premières motifs apportées)

Là, maintenant, j'ai envie de faire un petit point à l'attention de ceux qui disposent d'une Z170 et qui, comme moi, ont rencontré des problèmes avec le fonctionnement des ports USB de leur machine.

Si vous le souhaitez donc :

* Tout d'abord mettre en oeuvre le (1°) d'ici : http://forums.macg.co/threads/hackintosh-skylake-usb-el-capitan-sierra.1284304/) c'est pour aider à repérer les ports USB de la machine;

* Ensuite, à l'aide de IoRegistryExplorer (ou ioJones), repérer les ports physiques de la machine (carte et boitier). Pour cela il faut se positionner sur XHC@14 (ne pas hésiter à descendre assez bas dans les lignes de IoRegistry.. ou iojones). Il y a des indications du style HS01(02,03...), SS01(02,03...) qui, lorsque vous aurez placé votre device USB 2 puis USB 3 successivement dans un des ports , seront respectivement renseignés. Notez quelque part le nom du port repéré, par ex : HS03, et en cliquant dessus, les data du port dans la fenêtre à droite : ici : 03000000 Voir la pièce jointe 110572

Bon, c'est marrant à faire, hein, et ben puisque ça vous a amusé, vous allez le faire pour tous les ports de la machine... Ouarfff !!!

Mais là où on a de la chance, c'est que, grâce à nos deux chefs : Barijaona et Polyzargone, on dispose maintenant de kexts tout cuits. Y'a qu'à les télécharger et à les adapter avec pListEditPro :

* Pour cela on clique droit sur le kext-->afficher le contenu du paquet--->contents-->clic-droit Info.plist et choisir l'appli qui va bien plistedit ou Xcode (avec pour ce dernier la remarque de Barijaona plus haut : "effectivement, on peut utiliser Xcode plutôt que pListEditPro. Il faut juste se souvenir du click droit permettant d'accéder à l'option "Show Row Keys/Values" )

On ouvre un document qui a cette bouille :

Voir la pièce jointe 110573

On déroule la ligne cochée IOKitPersonalities et ensuite celle cochée : iMac17,1-XHC, ensuite on clique sur la ligne cochée IOProviderMergeProperties. Là on a une ligne port-count : on clique sur le chiffre le plus à droite et on renseigne avec la valeur "data" la plus élevée que l'on aura trouvé en repérant les ports comme indiqué ci-dessus.

En dessous il y a la ligne "ports". On se souvient que l'on a le droit de ne conserver que 15 ports au max (c'est expliqué pourquoi plus haut). c'est là qu'on renseigne les ports que l'on a repérés (les USB 2 en HS--, les USB 3 en SS--) pour chaque port on renseigne sa valeur "Data" (port data 0xxxxxxx) et la caractéristique du port : UsbConnector : 0 et 3 = externes : ceux qu'on trouve sur les connecteurs arrières de la carte mère et ceux du boitier.
255 = Internes : ceux qu'on trouve sur les connecteurs internes - les internal USB headers - de la carte mère. (Dans le cas de la Z170X-Gaming 5, il s'agit des F_USB30_1, F_USB30_2, F_USB1 et F_USB2.) (cf rectifications apportées par polyzargone)

Normalement, vous sauvegardez le machin et vous avez un "kext" personnalisé à votre machine.

* Vous le mettrez dans le clover-->kexts-->qui va (vont) bien : 10.11, 10.12, others...). Vous aurez enlevé, s'il y était, USBinjectAll de partout, : des Clover-->kexts, de S/L/E, de L/E... de la lune etc.

* Et puis vous configurerez votre config.plist (que j'ouvre avec cloverconfigurator pour ma part) :

On est sur un SMBIOS iMac 17,1 et il faut suivre les recommandations de Polyzargone ici :

http://forums.macg.co/threads/hackintosh-skylake-usb-el-capitan-sierra.1284304/#post-13058680

et là :
http://forums.macg.co/threads/hackintosh-skylake-usb-el-capitan-sierra.1284304/#post-13058723

* Et pis on vire les Kernel and Kext Patches correspondant aux modifications des limites de ports genre : "Name : AppleUSBXHCIPCI, Find : xxxxxxxxx, Replace : xxxxxxxxx, Comment : Increase xx port limit to xx in AppleUSBXHCIPCI " ou autre de ce genre.

* Et pis on fait ça : de Barijaona :
" Dans l'optique de contourner les éventuels injecteurs spécifiques à l'iMac17,1, il faut mettre un patch Clover dans la rubrique ACPI > DSDT fixes :
Comment : Rename XHC1 to XHC
Find : 58484331
Replace : 584843
"

* On "save".

Voilà (de toute façon les 2 chefs veillent au grain et diront ce qui ne va, éventuellement, pas dans ce texte...)

Ce message est sans doute un peu trop détaillé pour ceux qui sont accoutumés à farfouiller dans tous ces outils, qu'ils ne prennent donc pas ce texte comme "non mais, y nous prend pour des nazes ce gradou :mad: !!", mais pour faciliter la tâche (j'espère) de ceux qui démarrent un projet...

Pour ma part j'ai adopté cette démarche pour adapter ces kexts à deux cartes Asus (Asus Z170M-Plus et H170i-plus D3) et ça fonctionne ! (et j'suis pas un lion !!)

MERCI A BARIJOANA ET POLYZARGONE :merci::merci::merci::merci:
 
Dernière édition:
Ouah, merci pour votre boulot tous les trois ! :up:

Voilà qui devrait me simplifier le travail, pour mon hackintosh et pour le futur article qui ira avec.

Petite question, je suis actuellement sur un Mac Pro3,1 et non sur un iMac 17,1. Ça change quelque chose ? Je ferais mieux de changer ?
 
Dernière édition:
Pour un usage privé sans but lucratif, à condition d'avoir obtenu légalement le soft (tu as un vrai Mac par ailleurs ou tu es abonné au programme développeur), on est dans une zone grise : https://openclassrooms.com/forum/sujet/la-legalite-de-l-hackintosh

Par contre, redistribuer à des tiers un soft sans avoir l'autorisation des ayant-droits, c'est du piratage et les tribunaux ne te louperont pas.
Quel soft par exemple ? Bien sûr pas les softs genre Final Cut ou autres c'est évident, mais pour ce qui nous occupe, pour lesquels c'est pas bien ?
 
Ouah, merci pour votre boulot tous les trois ! :up:

Voilà qui devrait me simplifier le travail, pour mon hackintosh et pour le futur article qui ira avec.

Petite action, je suis actuellement sur un Mac Pro3,1 et non sur un iMac 17,1. Ça change quelque chose ? Je ferais mieux de changer ?

Les chefs vont sûrement te répondre, mais moi y m'ont fait changer mon iMac 14,2 pour un 17,1, alors ils ont intérêt à dire la même chose pour toi, sinon...:mad: Je crois que vu que dans les kexts qu'ils ont fabriqués, c'est basé sur du iMac 17,1 faudra p'têt y passer sauf s'il est possible d'adapter le kext à ton smbios... m'enfin on va voir ce qu'ils disent...
 
I
• 255 = Internes : ceux qu'on trouve sur les connecteurs internes - les internal USB headers - de la carte mère.

Dans le cas de la Z170X-Gaming 5, il s'agit des F_USB30_1, F_USB30_2, F_USB1 et F_USB2.

Et effectivement comme le disais @Barijaona, si tu te trompes ça n'est pas bien grave, tu auras juste ce genre de surprise :).
Ah oui OK pour la surprise ! Mais ceci étant, avec le pote nicolasf on a mis une carte Wifi-Bluetooth dans le machin. Et il faut, pour avoir le bluetooth la connecter à un port USB interne (enfin c'est ce que j'ai compris), mais l'inconvénient c'est que le HSH ne tenait alors la mise en veille qu'une seconde et ainsi en boucle, pénible donc... Est ce que ce pb a à voir avec la configuration des ports internes ou non ? Si oui, comment qu'on les repère ceux ports là (j'avais bien quelque chose de ce genre en HS08 : USB20hub, mais maintenant je l'ai plus : viré !), et qu'est ce qu'on leur fait subir ? Sinon, et ben, j'sais pas !!
 
Dernière édition:
Quel soft par exemple ? Bien sûr pas les softs genre Final Cut ou autres c'est évident, mais pour ce qui nous occupe, pour lesquels c'est pas bien ?

Publier sur un site une version modifiée d'OS X ou d'un autre logiciel Apple serait de la contrefaçon
 
Il y a une petite confusion là :p. Les valeurs 0, 3 ou 255 (pas de 1) de l'UsbConnector n'ont rien à voir avec la nature du port ni sa vitesse (USB 2 ou USB 3 voire USB-C).
Ma confusion doit provenir de cela, non ?
"
  1. Change the name before the Package entry to match the port you're defining here
  2. Change the comment alongside the entry to describe what port it's for
  3. Change the code after "UsbConnector" to be one of the following:
    • 0 if it's a regular USB2 connector ("Type A") or a USB2 motherboard header
    • 3 if it's a regular USB3 connector ("Type A") or a USB3 motherboard header
    • 10 if it's a USB3 Type C connector
    • 255 if it's an internal Bluetooth device or other "proprietary" type of connector
    • There are more values in the ACPI specification, but I'd be surprised if you needed them.
Source : http://www.tonymacx86.com/threads/10-11-0-10-11-3-skylake-starter-guide.179221/ §7.7.2

De toute façon comme tu dis on s'en fout, à preuve dans les kexts que vous avez fait y'a que du 3 et que dans un kext modifié pour Asus, croyant bien faire j'ai mis du 0 pour des ports uniquement USB 2 et qu'il n'y a pas de pb pour autant, sans doute y'en aurait il si on mettait du 255 au mauvais endroit !!
 
Dernière édition:
Petite question, je suis actuellement sur un Mac Pro3,1 et non sur un iMac 17,1. Ça change quelque chose ? Je ferais mieux de changer ?

Oui, ça change beaucoup de chose !

C'est principalement au niveau de la gestion d'énergie en fait mais aussi, comme on a pu le constater, sur la bonne reconnaissance des cartes graphiques.

En règle générale, il vaut mieux avoir un SMBios qui colle au mieux avec sa configuration. Le site everymac.com ou bien l'excellent MacTracker sont de bonnes sources d'informations pour faire son choix.

Par exemple, les MacPro3,1 utilisent des sockets LGA775 (Ceux des Core2Duo et de certains Pentium 4) alors que les MacPro6,1 (ceux de 2013 "tube") ont des LGA2011. Du coup, les processeurs attendus sur ces configurations ne sont pas les mêmes et OS X adapte la gestion de l'énergie en conséquence.

Alors utiliser un SMBios de MacPro3,1 sur une architecture Skylake… le moins que l'on puisse dire c'est que c'est pas top :hilarious: !

C'est encore plus vrai sur les portables, notamment en ce qui concerne les cartes graphiques. Un MacBookPro5,1 est sensé utiliser une GeForce 9600 GT alors forcément, si on a une Intel HD 5300, ça coince :).

Une dernière chose mais pas des moindre cher Nicolas : tu risques d'être bien embêté si tu tentes d'installer Sierra sur ta config Skylake en utilisant un SMBios de MacPro3,1.

Tu n'ignores pas que ces modèles ne sont plus supportés, n'est-ce pas :p ?

Donc oui clairement, tu ferais mieux d'en changer ;).

Je crois que vu que dans les kexts qu'ils ont fabriqués, c'est basé sur du iMac 17,1 faudra p'têt y passer sauf s'il est possible d'adapter le kext à ton smbios.

En ce qui concerne l'injecteur, si pour une raison ou une autre il doit être utilisé avec un SMBios différent de celui d'un iMac17,1, il faudra changer ces valeurs dans l'info.plist :

• IOKitPersonalities > iMac17,1-XHC par "SMBios choisi"-XHC

• IOKitPersonalities > model par "SMios choisi"

Exemple :


• IOKitPersonalities > iMac14,2-XHC

• IOKitPersonalities> model : iMac14,2

Cela étant dit, le SMBios d'un iMac17,1 est le meilleur choix pour une config en Skylake et l'iMac14,2 est généralement le plus adapté pour celles en Haswell.

Ah oui OK pour la surprise ! Mais ceci étant, avec le pote nicolasf on a mis une carte Wifi-Bluetooth dans le machin. Et il faut, pour avoir le bluetooth la connecter à un port USB interne (enfin c'est ce que j'ai compris), mais l'inconvénient c'est que le HSH ne tenait alors la mise en veille qu'une seconde et ainsi en boucle, pénible donc... Est ce que ce pb a à voir avec la configuration des ports internes ou non ?

Ça ressemble beaucoup à un "Instant wake" et ça doit pouvoir se régler en patchant la DSDT…
 
Dernière édition:
  • J’aime
Réactions: gradou