Hackintosh Skylake : USB El Capitan, Sierra

Mais là où on a de la chance, c'est que, grâce à Barijaona et Polyzargone, on dispose maintenant d'un kext tout cuit. Y'a qu'à les télécharger et à les adapter avec pListEditPro
:
Il est ici :https://www.dropbox.com/s/1niqnoh8lr5qxrv/Z170_Injector_v3.kext.zip?dl=0

Celui-ci j'imagine.

À condition qu'il soit complet et que tous les ports/adresses y soient correctement identifiés et définis, quitte à en supprimer quelques uns pour rester dans la limite des 15 ports.

C'est pour ça qu'il faudrait qu'on sache à quoi correspondent les headers internes USB 2 et USB 3.

Si l'on en croit le manuel Gigabyte, il n'est pas complet et il nous manque 3 ports USB2, 2 ports USB3, ainsi que les 2 ports USB3.1

soit (en supposant que le SSDT-5.aml est bon et que MacIASL n'a pas de problème à le lire) : HS01, HS02, HS08, SS01, SS02, USR1 et USR2

je subodore que les groupes :
- HS01 + SS01 (adresses Hexa <01000000> et <11000000> ?)
- HS02 + SS02 (adresses Hexa <02000000> et <12000000> ?)
occupent chacun un header interne (F_USB30_1 et F_USB30_2 ?)

et que l'on a les groupes :
- SS07 + USR1 sur le port USB-C rouge
- HS08 + SS08 + USR2 sur le port USB-A rouge
sans que nous ayons encore la possibilité d'accéder à USR1 et USR2, vu que macOS ne supporte que USB3.1 rev A…

Je pourrais regarder tout cela de plus près lors du montage de ma machine.
 
Au fait je viens d'essayer le patch du père Pike R. Alpha avec Sierra (Z170X, j'ai pas mis Sierra sur la Z170M) : il ne fonctionne pas... El Capitan 10.11.6 (Z170X et Z170M) : oui.

C'est le risque avec les patches kext… Si Apple change le kext, ils peuvent devenir inopérants.
Je ne sais pas si ça marche, mais je pense que patcher le DSDT pour renommer GFX0 en GFX1 (et éventuellement PEGP en IGPU) pourrait être une solution plus pérenne.

Rappel à destination de ceux qui n'ont pas tout lu jusqu'ici : ce point ne concerne pas l'USB proprement dit, mais le problème d'écran noir avec le SMBIOS iMac17,1.
 
Si l'on en croit le manuel Gigabyte, il n'est pas complet et il nous manque 3 ports USB2, 2 ports USB3, ainsi que les 2 ports USB3.1

soit (en supposant que le SSDT-5.aml est bon et que MacIASL n'a pas de problème à le lire) : HS01, HS02, HS08, SS01, SS02, USR1 et USR2

je subodore que les groupes :
- HS01 + SS01 (adresses Hexa <01000000> et <11000000> ?)
- HS02 + SS02 (adresses Hexa <02000000> et <12000000> ?)
occupent chacun un header interne (F_USB30_1 et F_USB30_2 ?)

et que l'on a les groupes :
- SS07 + USR1 sur le port USB-C rouge
- HS08 + SS08 + USR2 sur le port USB-A rouge
sans que nous ayons encore la possibilité d'accéder à USR1 et USR2, vu que macOS ne supporte que USB3.1 rev A…

Je pourrais regarder tout cela de plus près lors du montage de ma machine.

Je ne sais pas si ça peut aider, à tout hasard...

Capture d’écran 2016-09-07 à 08.35.46.webp
Source : http://www.tonymacx86.com/threads/10-11-0-10-11-3-skylake-starter-guide.179221/
 
C'est le risque avec les patches kext… Si Apple change le kext, ils peuvent devenir inopérants.
Je ne sais pas si ça marche, mais je pense que patcher le DSDT pour renommer GFX0 en GFX1 (et éventuellement PEGP en IGPU) pourrait être une solution plus pérenne.

J'ai regardé /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/MacOS/AppleGraphicsDevicePolicy d'El Capitan et Sierra et la valeur board-id (en hexadécimal) que le patch est sensé remplacé par board-ix est présente dans les deux. Donc normalement, le binaire n'a pas changé sur ce point.

@gradou : es-tu bien sûr que le patch n'a pas fonctionné (il faut parfois redémarrer plusieurs fois) ? As-tu reconstruit le cache système entre temps ?

Sinon au pire, l'AGDPfix fonctionne sur Sierra, ça a été confirmé.

Concernant le patch DSDT, j'ai déjà changé GFX0 par IGPU dans celle que j'ai posté donc soit c'est à cause de ça (mais je ne vois pas pourquoi), soit c'est à cause du PEGP que j'ai laissé tel quel. Mais là aussi, comme il n'en est pas fait mention dans l'info.plist de AppleGraphicsDevicePolicy, ça ne devrait pas entrer en jeu.

Cela dit, cette DSDT est peut-être issue d'une Asus Z170M et pas d'une Gigabyte Z170X :bored:.
 
J'ai regardé /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/MacOS/AppleGraphicsDevicePolicy d'El Capitan et Sierra et la valeur board-id (en hexadécimal) que le patch est sensé remplacé par board-ix est présente dans les deux. Donc normalement, le binaire n'a pas changé sur ce point.

@gradou : es-tu bien sûr que le patch n'a pas fonctionné (il faut parfois redémarrer plusieurs fois) ? As-tu reconstruit le cache système entre temps ?

Sinon au pire, l'AGDPfix fonctionne sur Sierra, ça a été confirmé.

Concernant le patch DSDT, j'ai déjà changé GFX0 par IGPU dans celle que j'ai posté donc soit c'est à cause de ça (mais je ne vois pas pourquoi), soit c'est à cause du PEGP que j'ai laissé tel quel. Mais là aussi, comme il n'en est pas fait mention dans l'info.plist de AppleGraphicsDevicePolicy, ça ne devrait pas entrer en jeu.

Cela dit, cette DSDT est peut-être issue d'une Asus Z170M et pas d'une Gigabyte Z170X :bored:.

Je vais réessayer dans la soirée... Je pense en effet que la DSDT que j'ai utilisé pour la Z170X était celle que j'avais au préalable essayé avec la Z170M. Mais avec la Z170M je ne l'ai essayée qu'avec 10.11, pas avec Sierra. Et cette DSDT fonctionne également avec la Z170X 10.11 (je note toutefois une petite hésitation de la résolution à l'ouverture de session...) Ai je quelque chose à faire par rapport à ce problème ? ( Par exemple je pourrais apprendre à modifier une DSDT, si quelqu'un de gentil voulait bien me l'enseigner, mais peut être qu'il n'y en a pas ici des gentils !!!! :kiss::);))
 
Je pense en effet que la DSDT que j'ai utilisé pour la Z170X était celle que j'avais au préalable essayé avec la Z170M. Mais avec la Z170M je ne l'ai essayée qu'avec 10.11, pas avec Sierra.

Petite précision au cas où mais tous les fichiers placés dans EFI/CLOVER/ACPI/patched sont appliqués, quelque soit la version d'OS X.

je pourrais apprendre à modifier une DSDT, si quelqu'un de gentil voulait bien me l'enseigner, mais peut être qu'il n'y en a pas ici des gentils !!!

C'est pas une question de gentillesse :p. C'est juste que personnellement, je n'ai jamais trouvé de guide clair, complet et relativement accessible sur le sujet. En français, n'en parlons même pas ! Et le sujet est tellement vaste et demande tellement de connaissances de la norme ACPI que résumer tout ça est impossible.

Il faut en plus avoir de sérieuses notions en développement pour comprendre comment tout ça fonctionne. Et très honnêtement, je n'y connais absolument rien (et j'avoue que même si c'est intéressant, c'est pas ce qui me passionne le plus dans le Hackintosh :siffle:).

Donc il faut lire le plus possible, faire des essais (perso, j'ai commencé "petit" en faisant des patchs pour les cartes graphiques non supportées) et se constituer une base de dépôts de patchs tout fait à utiliser dans MaciASL.

Je t'invite à lire ceci pour commencer.
 
  • J’aime
Réactions: gradou
Petite précision au cas où mais tous les fichiers placés dans EFI/CLOVER/ACPI/patched sont appliqués, quelque soit la version d'OS X.
Je t'invite à lire ceci pour commencer.

Ce que je veux dire c'est que Sierra n'est pas installé sur la Z170M... donc y peut pas lire le patch :p
Sinon merci pour ta réponse, je vais examiner ça de près, de toute façon c'est passionnant même si ça fait mal à la tête !!! :banghead:
 
Sinon merci pour ta réponse, je vais examiner ça de près, de toute façon c'est passionnant même si ça fait mal à la tête !!! :banghead:

aspirine.jpg


:D !​
 
J'ai regardé /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/MacOS/AppleGraphicsDevicePolicy d'El Capitan et Sierra et la valeur board-id (en hexadécimal) que le patch est sensé remplacé par board-ix est présente dans les deux. Donc normalement, le binaire n'a pas changé sur ce point.

@gradou : es-tu bien sûr que le patch n'a pas fonctionné (il faut parfois redémarrer plusieurs fois) ? As-tu reconstruit le cache système entre temps ?

Sinon au pire, l'AGDPfix fonctionne sur Sierra, ça a été confirmé.

Tout bien fait comme il faut, redémarré 5 ou 6 fois, et je confirme que sur mon matériel et sous Sierra : ne fonctionne pas !
 
j'essaye de vous suivre les gars mais c'est chaud

Te laisse pas impressionner non plus. Là, c'est pour avoir une config aux petits oignons mais il reste toujours ça :

(1) Une solution qui fonctionne sur ce matériel mais sujette à des déboires éventuels au fil des mises à jour de l'OS...

Même si je suis d'accord pour dire que c'est pas la meilleure solution, je suis moins inquiet sur ces éventuels déboires au fil des MÀJ. C'est pas le top, mais je ne pense pas qu'on risque vraiment grand chose en s'en contentant ;).

Tout bien fait comme il faut, redémarré 5 ou 6 fois, et je confirme que sur mon matériel et sous Sierra : ne fonctionne pas !

Bon ben il faudra probablement attendre un nouveau patch alors…

Sur ce, je vous laisse car apparemment, la Golden Master de Sierra est dispo :D !!!
 
Je me faisais la réflexion : qu'est-ce qui peut se passer en utilisant cette solution et uniquement celle-ci ? Parce que sa simplicité me tente bien…

Ben honnêtement, je n'ai pas les compétences techniques nécessaires pour te répondre catégoriquement donc je vais te répondre sur ce que j'ai pu constater (ou pas) depuis que cette solution existe (soit un peu plus d'1 an maintenant) et la réponse est :

Personne ne s'est jamais plaint ou n'a eu de problèmes particuliers en l'utilisant. Que ce soit sur le plan des MÀJ ou sur le plan matériel (genre endommagement des ports USB).

Donc même si je suis persuadé que l'auteur du USBInjectALL.kext a d'excellentes raisons de recommander de ne l'utiliser que comme une solution provisoire, je crois qu'il faut relativiser ;).

Cela dit avec l'injecteur, tu devrais avoir une solution propre, pérenne et adaptée à ta configuration. Ce serait dommage de s'en passer :p.
 
  • J’aime
Réactions: Barijaona
Aujourd'hui est le grand jour !

En attendant l'arrivée des nouveautés, je consacre un peu de temps au hackintosh. Et je vais commencer avec l'USB… souhaitez-moi bonne chance !



@polyzargone : je vais voir si j'arrive à utiliser l'injecteur alors. En fonction, je verrai ce que je recommande aux lecteurs.
 
Alors, premier bilan à mi-parcours :

- J'ai changé le SMBios pour l'iMac17,1, j'avais oublié le fix pour la carte graphique, mais heureusement que Clover peut modifier à la volée le paramètre au démarrage.
- J'ai installé le kext de RehabMan et levé la limite de 15 ports USB dans CloverConfigurator.
- Au redémarrage, je n'ai toujours pas de Bluetooth et le Magic Trackpad jusque-là relié via le port USB du clavier ne fonctionne plus.

Dans la console, j'ai ces messages qui apparaissent en permanence :

Bloc de code:
08/09/2016 11:55:57,000 kernel[0]: 000633.578557 AppleUSB20HubPort@14820000: AppleUSBHostPort::disconnect: persistent enumeration failures


Du coup, je ne comprends pas : est-ce que je ne suis pas censé avoir tous les ports USB actifs ?

J'ai essayé de comprendre l'étape suivante, mais dans le kext fourni ici, je n'ai pas tous les ports USB dans la liste. Je dois les ajouter ? J'hésite à avancer, puisque la première étape n'est pas bonne.

Des conseils ? :-)
 
Je viens de tester : en branchant l'USB du Bluetooth sur un port USB externe, l'erreur disparaît dans la Console et le Bluetooth est immédiatement fonctionnel.

Bon, reste à savoir comment le faire fonctionner avec le port USB en interne maintenant…
 
Dans la série « Je comprends pas ce qui se passe, mais ça marche » : j'ai inversé les deux ports USB 2 sur la carte-mère, celui qui va au Bluetooth et celui qui va à l'avant. Et là, même si ça n'a aucun sens : ça marche !

Je suis tenté d'en rester là : le kext USB Inject All en iMac17,1 et voir si ça marche bien. Pour l'instant, j'ai du Bluetooth et les ports USB, donc…
 
À ce stade et puisque tous les ports semblent fonctionner (?), il faudrait que tu regardes dans IORegistry Explorer à quoi correspond chaque port de manière à déterminer les bonnes adresses. Ensuite, il faudrait adapter le kext en conséquence.

J'ai essayé de comprendre l'étape suivante, mais dans le kext fourni ici, je n'ai pas tous les ports USB dans la liste. Je dois les ajouter ?

C'est pour ça que j'avais préconisé d'avoir un injecteur comprenant toutes les adresses ;).

Par ailleurs, il ne faut pas oublier que le kext en question dépasse déjà la limite des 15 ports. Il faudra donc soit en sacrifier, soit continuer à utilise le patch en plus (mais du coup, on perd tout l'intérêt de cette méthode :P).

Je viens de tester : en branchant l'USB du Bluetooth sur un port USB externe, l'erreur disparaît dans la Console et le Bluetooth est immédiatement fonctionnel.
`
Comment tu as fait pour connecter un port interne sur un port externe ? Les connecteurs ne devraient pas êtres les mêmes en principe, non ?

Dans la série « Je comprends pas ce qui se passe, mais ça marche » : j'ai inversé les deux ports USB 2 sur la carte-mère, celui qui va au Bluetooth et celui qui va à l'avant. Et là, même si ça n'a aucun sens : ça marche !

Ouais, ça c'est bizarre…

Enfin bref :). Pourrais-tu poster ton dossier EFI (en enlevant les infos sensibles de ton SMBios) + un IOReg ou IOJones ?
 
`
Comment tu as fait pour connecter un port interne sur un port externe ? Les connecteurs ne devraient pas êtres les mêmes en principe, non ?
Simplement parce que le connecteur USB qui part de la carte PCI est un connecteur mini USB sur lequel on peut brancher un cable USB "normal" (et non pas seulement le câble fourni qui permet le raccordement au connecteur USB interne) qui permet de se connecter sur un port externe.
 
@nicolasf : as tu identifié chaque port (externe déjà) de ton matériel (carte mère et boitier) en insérant dans chacun une clé USB 2 (ports seulement USB2), et une clé USB2 et ensuite une USB 3 dans les ports physiques USB 3 ?
Il faut que tu repères, avec ioregistry, quel N° de port est renseigné (HS--, SS--, etc.) à chaque introduction de clé, cela te donnera la liste de tes ports physiques. Sur la carte mère Z170X tu as : 4 USB2, 3 USB3 (qui comptent double puisque renseignés en USB2 également) : soit 10 ports, (il y a également un USB-C et un USB 3.1 : on s'en fout pour le moment y comptent pas..., y marchent pas avec 10.11), sur le boitier tu as 2 ports USB2 et 2 ports USB3, soit : 6 ports à renseigner = 16 ports au total + ton port USB interne Bluetooth = 17. Dans le kext tu rentres 15 ports (ceux qui te sont les plus pratiques) parmi ceux que tu as identifiés.
Le kext "fabriqué" ici n'est pas un kext universel comme peut l'être celui de rehabman, mais il est plus précis et, s'il est adapté à sa machine par l'utilisateur, plus pérenne.
Par exemple pour que USBinjectAll fonctionne il faut un patch dans kernel and kexts patches et ces patches ne sont pas les mêmes sous El Capitan ou sur Sierra, et il faut les trouver (pas si simple), et il en faudra sans doute de nouveaux lors d'ultérieures mises à jour.
L'idée est donc d'être moins dépendant... Vive la LIBERTE !!!! :rolleyes:
PS : avec Sierra les ports USB-C et USB 3.1 fonctionnent (à 5Gb/s) mais indépendamment du kext donc pas de pb !!
 
Dernière édition: