Hackintosh Skylake : USB El Capitan, Sierra

gradou

Membre actif
19 Octobre 2013
232
30
Bonjour à toutes et tous !

Tout d'abord mon matériel : Gigabyte Z170X-Gaming 5; Gigabyte Nvidia Geforce GTX 960; Skylake i7 SMBIOS : iMAC 14,2

Disposer de ports USB 2 et USB 3 fonctionnels, c'est quand même mieux, non ? Pourtant ce n'est pas forcément aussi évident pour quelqu'un qui comme moi, utilise depuis 1989 des "vrais" Macs et n'a jamais eu au fil du temps à se soucier de ces "détails".

Là, ça marche pas tout de suite, mais il y a des solutions.

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

(2) Une (des) solution(s) qui devrai(en)t fonctionner mais que j'arrive pas à mettre en oeuvre !! (c'est d'ailleurs toute la raison de ce sujet.

Tout d'abord le (1) Je me dis que ça peut toujours aider :

a) Utiliser le kext Rehabman USBinjectAll (l'installer avec kext utility qui pour moi va bien : il répare les permissions L/E et S/L/E, met à jour le cache système et bien sûr installe le(s) kext(s))... Veiller à ce que config.plist ait bien en rtvariables : csr-active-config 0x67 = SIP Disabled completely ((désactivation du SIP). Ce kext est utile pour disposer dans un premier temps de ports USB 2 et 3 fonctionnels et , en principe (!!), dans un 2ème temps, à mettre en oeuvre une solution (2) plus pérenne...

b) Pour El Capitan 10.11.6, à l'aide de cloverconfigurator (c'est ce que j'utilise pour modifier le config.plist (il y a d'autres moyens)), aller section : Kernel and Kext Patches et "rentrer" :

Name : AppleUSBXHCIPCI, Find : 83BD8CFEFFFF10, Replace : 83BD8CFEFFFF1F, Comment :
Increase 15 port limit to 30 in AppleUSBXHCIPCI

c) Pour Sierra (beta publique 7 au 1/09/2016) idem ci dessus mais :

Name : AppleUSBXHCIPCI, Find : 83BD74FFFFFF10, Replace : 83BD74FFFFFF16, Comment :
10.12 DP5 change 15 port limit to 20 in AppleUSBXHCIPCI

Voilà c'est, à ce jour ce que j'ai trouvé de plus simple et de plus rapide pour que ça fonctionne (sous Sierra y'a même l'USB-C et l'USB 3.1 qui fonctionnent !)

Bien entendu c'est soumis à vos critiques, corrections, etc.

La première critique à faire, si l'on peut dire c'est : d'accord mon gars ça fonctionne mais pas dans la durée, et puis le kext USBinjectAll, Rehabman nous avertit lui même n'est pas la solution pérenne et on ne sait pas les influences négatives que cela peut avoir sur le système. Bon, pas très rassurant ça quand même. Alors que faire et ben essayer une solution 2.

2) Il y en a plusieurs, mais vu la complexité de la chose (pour moi en tout cas) j'en suis à celle là :

http://www.tonymacx86.com/threads/10-11-0-10-11-3-skylake-starter-guide.179221/. (en particulier le § "7. USB Fix")

Et là, c'est pas tout simple !!!!! Et c'est là dedans que j'ai besoin de vos lumières !!!

J'ai essayé de tout bien suivre la procédure, me suis cassé le(s) cou(i---s) à mettre dans chaque port USB de la carte et du boitier une clé USB 2 puis une clé USB 3 pour "bien" repérer les ports comme c'est dit... Je me suis ensuite recassé les mêmes choses pour rentrer les données collectées dans MaciASL, fabriquer un "machin" nommé SSDT-USB que j'ai mis à l'endroit qu'y dit le gars... Je dis tout de suite qu'y fonctionne pas mon machin que je me suis cassé plein de choses à le faire !!

Pourquoi qu'y marche pas, c'est toute la raison de ce post !!

* Première interrogation : pourquoi, alors qu'il est dit que l'extension du fichier qui sort de MaciASL devrait être .asl se trouve être .aml, hein pourquoi ? Est ce que c'est grave docteur ?

* Deuxième interrogation : les ports du boitier sont ils à renseigner comme ceux de la carte mère UsbConnector :
  • 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
ou bien :
  • 255 if it's an internal Bluetooth device or other "proprietary" type of connector (moi n'a pas compris... et n'a mis pour les ports du boitier comme pour la CM)
* Troisième interrogation : faut il ou non renseigner le port USB20hub qui apparait en HS08 mais sur lequel on peut rien brancher !!?

* Quatrième interrogation : pourquoi, dans mon cas, les HS01, HS02, SS01 et SS02 n'existent pas ?

* Cinquième interrogation : concernant le port count : pourquoi dois je indiquer le chiffre le plus élevé du port SS** qui est ici 19, alors que je n'ai "repéré" que 17 ports ? Devrais je avoir 19 ports renseignés ?

* Sixième interrogation : que garde-je : USBinjectAll dans clover/kexts; l'enlève-je, s'il s'y trouve, de L/E et (ou) de S/L/E ? Et si je dois le garder à tel ou tel endroit : pourquoi ?

Enlève-je les patches d'augmentation de la limite des ports dans kernel and kext patches ?

Voilà, j'en suis là !!!! Bon, je ne cache pas que tout cela me passionne même si je suis un peu (!!) glandu quand même !

Pour les lecteurs nombreux (!!) que cela peut intéresser je mets une t'ite photo (en 3 parties, excusez je sais pas comment faire autrement pour charger le fichier sur ce forum (7ème interrogation !!) du machin SSDT-USB :

1.webp 2.webp 3.webp
 
Dernière édition:
Quelques questions/remarques :
  • as-tu testé la solution (1) avec un SMBIOS 17,1 ? ça me parait plus rentable à terme, car c'est une machine Skylake. En effet, l'une des différences importantes de ta config par rapport à pas mal de tutos qu'on trouve à gauche et à droite, c'est que dans les chipsets Intel pour Skylake, il n'y a plus de contrôleur EHCI mais uniquement un contrôleur XHCI
  • sous Sierra, la solution (1) devrait en principe continuer à marcher si, au lieu de remplacer par 83BD74FFFFFF16, tu remplaces par 83BD74FFFFFF1F. Ça permettrait d'avoir la même limite que sous El Capitan, et ça devrait permettre de tester tous les ports effectivement présents sur ta carte mère sans buter sur la limite.
  • tu dis que tu arrives à avoir l'USB 3.1 qui fonctionne avec la solution (1) : je suppose que la limite de vitesse reste celle de USB 3.0 (5 Gb/s) ? si l'on branche un accessoire USB2 dessus, il fonctionne ?
  • je crois comprendre que tu n'as testé que les ports présents sur l'arrière de la carte mère, mais pas les ports internes (ce que l'on appelle internal headers dans le manuel utilisateur de la carte mère)
  • 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
  • je suppose notamment que ton USB20hub doit être lié à ce qui est décrit comme suit dans le manuel utilisateur de la carte mère :
    Chipset+GENESYS LOGIC USB 2.0 Hub: 2 x USB 2.0/1.1 ports (available through the internal USB header)
  • je te suggère d'utiliser comme point de départ le SSDT-5.aml de la configuration d'origine que tu m'as envoyé par mail plutôt que de partir de zéro,
  • concernant le SIP, csr-active-config 0x3 devrait suffire = SIP Partially Disabled (Loads unsigned kexts)
  • sur ce forum, on ne peut charger que des images. Pour autre chose, il faudra passer par Dropbox ou une solution similaire…
 
  • J’aime
Réactions: gradou
Quelques questions/remarques :
  • as-tu testé la solution (1) avec un SMBIOS 17,1 ? ça me parait plus rentable à terme, car c'est une machine Skylake. En effet, l'une des différences importantes de ta config par rapport à pas mal de tutos qu'on trouve à gauche et à droite, c'est que dans les chipsets Intel pour Skylake, il n'y a plus de contrôleur EHCI mais uniquement un contrôleur XHCI
  • sous Sierra, la solution (1) devrait en principe continuer à marcher si, au lieu de remplacer par 83BD74FFFFFF16, tu remplaces par 83BD74FFFFFF1F. Ça permettrait d'avoir la même limite que sous El Capitan, et ça devrait permettre de tester tous les ports effectivement présents sur ta carte mère sans buter sur la limite.
  • tu dis que tu arrives à avoir l'USB 3.1 qui fonctionne avec la solution (1) : je suppose que la limite de vitesse reste celle de USB 3.0 (5 Gb/s) ? si l'on branche un accessoire USB2 dessus, il fonctionne ?
  • je crois comprendre que tu n'as testé que les ports présents sur l'arrière de la carte mère, mais pas les ports internes (ce que l'on appelle internal headers dans le manuel utilisateur de la carte mère)
  • 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
  • je suppose notamment que ton USB20hub doit être lié à ce qui est décrit comme suit dans le manuel utilisateur de la carte mère :
    Chipset+GENESYS LOGIC USB 2.0 Hub: 2 x USB 2.0/1.1 ports (available through the internal USB header)
  • je te suggère d'utiliser comme point de départ le SSDT-5.aml de la configuration d'origine que tu m'as envoyé par mail plutôt que de partir de zéro,
  • concernant le SIP, csr-active-config 0x3 devrait suffire = SIP Partially Disabled (Loads unsigned kexts)
  • sur ce forum, on ne peut charger que des images. Pour autre chose, il faudra passer par Dropbox ou une solution similaire…
*Tout d'abord ça fait plaisir cette réponse : MERCI !! :) :)
*Je n'ai pas testé avec 17,1 : faut il que j'modifie tout ou bien il suffit de cliquer dans smbios de clover sur la config qui va bien ?
*Je vais essayer 1F
*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 jointeUSB(s).webp
*Qu'est ce que je fais avec "Genesys logic... "?
*Je vais utiliser SSDT-5 (houla, j'ai regardé et je ne sais pas quoi faire avec :( !! )
 
Dernière édition:
@Barijaona

Excellent résumé de la situation et des pistes à explorer :) !

pourquoi, alors qu'il est dit que l'extension du fichier qui sort de MaciASL devrait être .asl se trouve être .aml, hein pourquoi ? Est ce que c'est grave docteur ?

C'est une boulette de l'auteur (c'est d'ailleurs tès étonnant de sa part, le mec n'est pas un débutant). Le format de sortie est bien .aml comme tu le soupçonnes.

En gros :

• .dsl est le format "brut", non compilé.

• .aml est le format décompilé. Qu'il soit patché ou pas. À noter que les fichiers que tu trouveras dans EFI/CLOVER/ACPI/origin sont aussi en .aml. Il est recommandé de les décompilé ensembles (v. ici).

NB : En règle générale, il ne faut jamais travailler sur des fichiers .aml/.dsl extraits après avoir démarré. En effet, le bootloader (et plus particulièrement Clover) est susceptible d'avoir déjà injecté des paramètres (comme pour l'audio ou les cartes graphiques par exemple - les fameux Inject NVIDIA, Intel ou ATI).

Par conséquent, ces fichiers risquent fortement d'êtres biaisés et dans les faits, inutilisables. En clair, il est préférable d'utiliser systématiquement les fichiers de EFI/CLOVER/ACPI/origin et surtout pas par MaciASL > Save as… ;).

Cela étant dit, ne te préocuppe pas trop de ça si tu pars sur la SSDT-USB-Template.dsl

J'ajoute que la décompilation des fichiers .aml n'est pas toujours nécessaire. Ça dépend de ce que tu veux faire en fait.

concernant le port count : pourquoi dois je indiquer le chiffre le plus élevé du port SS** qui est ici 19, alors que je n'ai "repéré" que 17 ports ? Devrais je avoir 19 ports renseignés ?

C'est une un emploi malheureux de la part d'Apple. Le port-count n'a rien à voir avec le nombre de ports mais il se détermine en fonction de l'adresse la plus haute. Dans ton cas, la plus haute (SS09) est de 19000000. Donc le port-count est de 19000000, même si tu n'as que 17 ports.

que garde-je : USBinjectAll dans clover/kexts; l'enlève-je, s'il s'y trouve, de L/E et (ou) de S/L/E ? Et si je dois le garder à tel ou tel endroit : pourquoi ?

En principe, une fois que tous tes ports et toutes tes adresses sont identifiés, il faut le retirer pour éviter de fausser les résultats.

Enlève-je les patches d'augmentation de la limite des ports dans kernel and kext patches ?

Idem.
 
  • J’aime
Réactions: gradou
*Comment tester les ports internes et dois je le faire ? (j'ai testé les ports de la carte et du boitier)
*Qu'est ce que je fais avec "Genesys logic... "?
Je comprends que tu as, lors du montage de ton boitier, utilisé certains des headers internes pour les relier aux ports mis à disposition sur le dessus de ton boitier. Ce serait bien d'indiquer lesquels (cf. dessin de la carte mère dans le manuel : tu as F_USB30_1, F_USB30_2, F_USB1 et F_USB2).

Je suppute que F_USB1 et F_USB2 sont ceux qui sont reliés au GENESYS LOGIC USB 2.0 Hub. Il faudrait les connecter provisoirement pour en être sûr, afin que nous ayons à la fin un guide complètement exhaustif. Mais si c'est trop fastidieux pour toi, laisse tomber : vu qu'on dépasse allègrement la limite des 15, ils feront partie des ports à sacrifier dans ta configuration.

Pour mon usage futur, je serais par contre intéressé de savoir à quel port physique @nicolasf a relié sa carte Wifi/Bluetooth.

• .aml est le format décompilé. Qu'il soit patché ou pas. À noter que les fichiers que tu trouveras dans EFI/CLOVER/ACPI/origin sont aussi en .aml. Il est recommandé de les décompilé ensembles (v. ici).

Petite rectification, AML n'est pas décompilé, c'est du binaire machine (ACPI Machine Language)

J'ajoute que la décompilation des fichiers .aml n'est pas toujours nécessaire. Ça dépend de ce que tu veux faire en fait.

Effectivement, au vu du SSDT-5 de la GA-Z170X-Gaming 5, adapter en fonction des besoins le X99_Injector.kext de fljagd semble plus simple ! (supprimer les contrôleurs EHCI, adapter au SMBIOS iMac17,1 et à la liste des ports que l'on veut activer)

@gradou, peux tu poster une copie d'écran de l'onglet "PCI List" dans DPCI Manager ?
 
Petite rectification, AML n'est pas décompilé, c'est du binaire machine (ACPI Machine Language)

Absolument, j'ai écris trop vite :P. En plus, c'est contradictoire avec ce que j'ai écris juste au dessus :rolleyes: :

• .dsl est le format "brut", non compilé.

• .aml est le format décompilé.

En fait, le .aml est la version compilée du .dsl et non la version décompilée (ça, c'est le .dsl). Le format .aml est bien en langage machine et c'est le seul format qu'un bootloader sait lire. C'est d'ailleurs pour cette raison que Clover peut patcher "à la volée" la DSDT.aml.
 
Je n'ai pas testé avec 17,1 : faut il que j'modifie tout ou bien il suffit de cliquer dans smbios de clover sur la config qui va bien ?

Attention si tu utilises déjà iMessage ! Si c'est le cas, prend bien soin de conserver ces 3 valeurs :

• Serial Number
• SmUUID
• Board Serial Number
 
  • J’aime
Réactions: Barijaona
Bon, ben là avec les contributions des deux "chefs" : Barijaona et Polyzargone, j'ai du boulot !! Rendez vous dans xx heures pour vous dire où j'en suis (j'adoooooore l'ambiance !!)
 
Bon, je suis passé à iMac 17,1 (;) Barijaona) et j'ai bien gardé tout ce qu'il faut pour conserver iMessage et tutti quanti (;) polyzargone) : pas glop :(, black screen au redémarrage, bloqué... C'est grave de rester en 14,2 ?

J'ai modifié, pour Sierra, F16 par F1F (;) Barijaona) : OK apriori

@ Barijaona : le port interne utilisé pour connecter les ports du boitier est : F_USB2; qu'est ce que j'en fais de ce F_USB2 ? Dois je le renseigner ou bien c'est juste pour savoir... Est ce que je continue avec les seuls ports que j'ai montré sur le croquis de la carte mère et indiqué pour le boitier ou bien est ce que je rajoute ce F_USB2 USB2.0 Hub.webp et d'autres encore?
Tu me dis d'utiliser SSDT-5.aml mais je sais pas l'utiliser pour faire comme avec SSDT-USB-Template.dsl .

Tu veux une copie d'écran de l'onglet "PCI List" dans DPCI Manager, la v'là :

DPCI capture.webp
 
Dernière édition:
Bon, je suis passé à iMac 17,1 (;) Barijaona) et j'ai bien gardé tout ce qu'il faut pour conserver iMessage et tutti quanti (;) polyzargone) : pas glop :(, black screen au redémarrage, bloqué... C'est grave de rester en 14,2 ?

:hilarious:

J'ai rien dit mais c'était prévisible :P.

C'est le problème avec ce SMBios et les CG additionnelles !

Heureusement, la solution est ici (en revanche, il faudra repasser le CsrActiveConfig en 0x67 sinon, il va râler comme quoi le SIP n'est pas désactivé, ce qui est en partie faux :rolleyes:).
 
  • J’aime
Réactions: gradou
:hilarious:

J'ai rien dit mais c'était prévisible :p.

C'est le problème avec ce SMBios et les CG additionnelles !

Heureusement, la solution est ici (en revanche, il faudra repasser le CsrActiveConfig en 0x67 sinon, il va râler comme quoi le SIP n'est pas désactivé, ce qui est en partie faux :rolleyes:).

Non mais, dis moi qu'c'est pas vrai : ça marche !! Qu'est ce que je pourrais bien te demander encore polyzargone ? TROP FOOOOORT !!!

Bon, ceci étant je sais plus trop quoi faire maintenant :
Je recommence avec ioregistry pour repérer les ports (ce que j'ai déjà fait mais avec smbios 14,2), je repère quoi comme ports : ceux de la carte mère à l'arrière et ceux du boitier situés sur le dessus (comme je l'ai déjà fait), ou bien en faut il d'autres ? Est ce que je garde le F_USB2 (HS08), est ce que j'utilise MacIasl avec SSDT-USB-Template.dsl comme base en regard de mon croquis ci dessus de la carte mère et de la désignation des ports du boitier?
Si c'est oui, je mets bien le fichier .aml obtenu dans Clover -->ACPI-->Patched, j'enlève de partout USBinjectAll ainsi que le patch d'augmentation de la limite des ports, j'enlève 1 ou 2 ports (si USB_2 renseigné) (ou plus s'il faut que j'en renseigne encore d'autres !) pour arriver à 15 ?
 
Je sens que ce sujet va bien me servir, il faut encore que je me plonge dans les joies de l'USB sur mon Hackintosh…

@Barijaona : pour répondre à ta question, sur l'un de ces deux ports USB :

81kCzM0vGvL._SL1500_.webp

L'autre est déjà occupé, de mémoire pour les ports USB à l'avant. Mais ça ne marche pas pour le moment, il faut que je trouve le temps de bricoler pour activer tous les ports.
 
J'ai rien dit mais c'était prévisible :p.

C'est le problème avec ce SMBios et les CG additionnelles !

Heureusement, la solution est ici (en revanche, il faudra repasser le CsrActiveConfig en 0x67 sinon, il va râler comme quoi le SIP n'est pas désactivé, ce qui est en partie faux :rolleyes:).

Le patch clover de Pike R. Alpha peut être une autre solution (du moins si on a une seule carte graphique additionnelle) qui permet d'éviter de désactiver SIP (je sais, je suis obsédé :D ).

Je recommence avec ioregistry pour repérer les ports (ce que j'ai déjà fait mais avec smbios 14,2), je repère quoi comme ports : ceux de la carte mère à l'arrière et ceux du boitier situés sur le dessus (comme je l'ai déjà fait), ou bien en faut il d'autres ? Est ce que je garde le F_USB2 (HS08), est ce que j'utilise MacIasl avec SSDT-USB-Template.dsl comme base en regard de mon croquis ci dessus de la carte mère et de la désignation des ports du boitier?
Si c'est oui, je mets bien le fichier .aml obtenu dans Clover -->ACPI-->Patched, j'enlève de partout USBinjectAll ainsi que le patch d'augmentation de la limite des ports, j'enlève 1 ou 2 ports (si USB_2 renseigné) (ou plus s'il faut que j'en renseigne encore d'autres !) pour arriver à 15 ?

Tu ne gardes que les ports dont tu as réellement besoin en respectant la limite de 15 (en n'oubliant pas que les ports USB3 compteront double si tu y actives également l'USB2).

Tu as le choix entre :
a) construire un SSDT à partir du template SSDT-USB-Template.dsl (méthode TonyMacX86)
ou b) construire un kext assez basique, en t'inspirant de la fin des méthodes de fjlagd et de Macbidouille (le principe est le même pour les deux, sauf que Macbidouille renomme le contrôleur XHCI en XHC pour éviter tout conflit avec un éventuel injecteur d'Apple). Le kext obtenu remplacera USBInjectAll.

Personnellement, je trouve l'option b) plus sympa.
 
@gradou : je peux essayer de bâtir le kext injecteur, si tu publies des copies d'écrans de l'onglet "PCI List" de DPCIManager.
Et ben je l'ai publié, plus haut, regarde dans une de mes réponses !! :)
http://forums.macg.co/threads/hackintosh-skylake-usb-el-capitan-sierra.1284304/#post-13058718
Sinon que pensez vous de la méthode de l'exclusion de ports, sans construire de patch SSDT, en éliminant les patches genre : AppleUSBXHCIPCI, Find : 83BD8CFEFFFF10, Replace : 83BD8CFEFFFF1F dans "kernel & kext patches" de clover et en conservant USBinjectAll dans EFI-->Clover-->Kexts -->OSXXXX ?
 
Le patch clover de Pike R. Alpha peut être une autre solution (du moins si on a une seule carte graphique additionnelle) qui permet d'éviter de désactiver SIP (je sais, je suis obsédé :D ).

Il se trouve qu'un membre a eu le même problème et que le patch de Pike R. Alpha n'a pas fonctionné.

Et en fait, quand on regarde le patch en question, c'est plutôt logique puisqu'il ne concerne que le SMBios d'un MacPro6,1 et qu'il consiste à chercher/remplacer board-id par board-ix dans le binaire AppleGraphicsDevicePolicy alors qu'en ce qui concerne l'iMac17,1, il faut chercher/remplacer Config2 par none dans le champ Mac-B809C3757DA9BB8D de l'info.plist.

Et là où board-id n'est présent qu'une seule fois dans le binaire AppleGraphicsDevicePolicy; il existe plusieurs occurrences de Config2 dans l'info.plist (en fonction du champ Mac-xxxxxxxxxxxxxxxx).

AGDPfix cible précisément ces multiples occurrences en fonction du SMBios et donc de son Board-ID.

Donc le patch est de nature différente.

En revanche, il doit être possible de régler ça par un autre patch DSDT Clover ou mieux, via un patch DSDT ou SSDT.

Ça pourrait donner ça avec Clover :

Bloc de code:
Comment : GFX0 > GFX1
Find : 47465830
Replace : 47465831

@gradou

J'ai oublié de le préciser mais il faudra refaire la manipulation après chaque MÀJ d'OS X.

Personnellement, je trouve l'option b) plus sympa.

Moi aussi :). Une fois qu'on a identifié les ports/adresses, la méthode de l'injecteur est plus simple à réaliser qu'avec une SSDT.
 
Dernière édition:
Sinon que pensez vous de la méthode de l'exclusion de ports, sans construire de patch SSDT, en éliminant les patches genre : AppleUSBXHCIPCI, Find : 83BD8CFEFFFF10, Replace : 83BD8CFEFFFF1F dans "kernel & kext patches" de clover et en conservant USBinjectAll dans EFI-->Clover-->Kexts -->OSXXXX ?

Que tu ne feras que contourner le problème sans le régler :P.

Ne désespère pas. En fait tu as fait le plus dur en identifiant tes ports et tes adresses. Il reste juste l'injecteur à faire et les tests.
 
Le patch clover de Pike R. Alpha peut être une autre solution (du moins si on a une seule carte graphique additionnelle) qui permet d'éviter de désactiver SIP (je sais, je suis obsédé :D ).



Tu ne gardes que les ports dont tu as réellement besoin en respectant la limite de 15 (en n'oubliant pas que les ports USB3 compteront double si tu y actives également l'USB2).

Tu as le choix entre :
a) construire un SSDT à partir du template SSDT-USB-Template.dsl (méthode TonyMacX86)
ou b) construire un kext assez basique, en t'inspirant de la fin des méthodes de fjlagd et de Macbidouille (le principe est le même pour les deux, sauf que Macbidouille renomme le contrôleur XHCI en XHC pour éviter tout conflit avec un éventuel injecteur d'Apple). Le kext obtenu remplacera USBInjectAll.

Personnellement, je trouve l'option b) plus sympa.

L'option a) : je l'ai essayée (c'est tout mon discours du début de ce topic...) et je n'arrive pas à un patch ssdt fonctionnel, y marche pas et je ne sais toujours pas pourquoi...
Si l'option b) est plus sympa je n'en doute pas, je l'ai essayée avec fjflag lui même, et ça n'a pas fonctionné cf :
http://forums.macg.co/threads/et-si-je-montais-un-hackintosh.1283051/page-15#post-13054420
 
Bon, ce n'est pas testé (j'attends toujours mon matériel !), mais je me suis aventuré à bâtir un injecteur à partir des discussions de ce fil.

https://www.dropbox.com/s/aa09z1qsfvej6uq/Z170_Injector.kext.zip?dl=0

@gradou : j'ai mis dans l'Info.plist tous les ports que tu as identifié, ce qui fait 16 et dépasse donc la limite de 15. Donc soit tu modifies le fichier Info.plist pour en sacrifier un, soit tu maintiens provisoirement le patch Kernel qui augmente le nombre de ports, le temps du test.

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

En théorie, cette extension devrait marcher si on la place dans le dossier kexts de Clover (en enlevant USBInjectorAll que ce truc a pour objectif de remplacer). Mais tu peux aussi tenter de la placer dans System/Library/Extentions avec kext utility ou équivalent.

Quoi qu'il en soit, je suis intéressé par ce que donnerait le log…
 
Dernière édition:
  • J’aime
Réactions: gradou et polyzargone
Bon, et bien, ça fonctionne, et même très, très bien : tout est OK !!!
:up::up:Bravo, t'es un CHEF !!:up::up:
C'est quoi le log que tu veux ? :merci::merci: