Hackintosh Skylake : USB El Capitan, Sierra

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.

Ah OK ! Merci, j'ignorais ce détail :).
 
Pourquoi se limiter à 15 ?

Ça, c'est la faute d'Apple :p. C'est la nouvelle gestion de l'USB qu'elle a imposé sur El Capitan qui fait qu'on est tous limité à 15. Par tous, j'entends aussi bien les Hack que les Mac.

La procédure n'a pas pour but de faire sauter cette limite, elle sert juste à configurer correctement les bonnes adresses des ports USB de sorte que ceux-ci fonctionnent comme prévu et à la bonne vitesse.

Sur un Mac, ça n'est pas un problème en principe (tant qu'on utilise pas de cartes additionnelles avec/ou sans des contrôleurs un peu exotiques) mais sur un Hack, non seulement les adresses ne sont pas les mêmes mais en plus, les types de connecteurs sont différents (il n'y a plus de ports USB 2 depuis l'iMac 21,5" fin 2011 si je ne dis pas de bêtises) ce qui a pour conséquence qu'avec les kexts standards d'OS X, certains ports sont vus comme des USB 2 alors que ce sont des USB 3 ou même qu'ils ne sont pas vu du tout.

Sans parler du fait qu'il y a généralement plus de ports USB x sur les cartes mères des PC que sur celles des Mac.

Je pensais que l'idée était justement de lever la limite…

Pour faire sauter la limite, il n'y a pas d'autres solutions que d'utiliser le patch ad hoc.
 
La procédure n'a pas pour but de faire sauter cette limite, elle sert juste à configurer correctement les bonnes adresses des ports USB de sorte que ceux-ci fonctionnent comme prévu et à la bonne vitesse.

Mais au début du récap de @gradou, on modifie le kernel pour augmenter la limite. Non ?

Je pensais précisément à ce passage :

1-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
 
Mais au début du récap de @gradou, on modifie le kernel pour augmenter la limite. Non ?

Je pensais précisément à ce passage :

Dans l'objectif d'une config finale ultra-stable même en cas de mise à jour, on augmente la limite provisoirement pour permettre l'identification exhaustive.

Mais ensuite, on sacrifie quelques ports pour revenir dans la limite de 15 et on supprime le hack de dépassement de la limite
 
Dans l'objectif d'une config finale ultra-stable même en cas de mise à jour, on augmente la limite provisoirement pour permettre l'identification exhaustive.

Mais ensuite, on sacrifie quelques ports pour revenir dans la limite de 15 et on supprime le hack de dépassement de la limite

Ah là d'accord, c'est ça que j'avais compris. Mais honnêtement, je trouve la suite bien compliquée et je m'en fiche d'appliquer la même augmentation de limite à chaque mise à jour.

J'ai tort ?
 
Ah là d'accord, c'est ça que j'avais compris. Mais honnêtement, je trouve la suite bien compliquée et je m'en fiche d'appliquer la même augmentation de limite à chaque mise à jour.

J'ai tort ?

C'est plutôt que tu n'as pas bien compris :p.

On s'en fiche des mise à jour !

Ce que @Barijaona veut dire, c'est pas qu'on ré-applique le patch à chaque fois mais qu'on s'en sert une fois pour déterminer quels sont les ports dont on a besoin et du coup… quels ports on peut se permettre de sacrifier.

Dans tous les cas, MÀJ ou pas, l'objectif est bien de rester dans la limite des 15 ports fixée par Apple. Ce qui, in fine, devrait garantir une config stable.

En clair, tu ne peux pas avoir le beurre et l'argent du beurre sur ce coup-là :p.

Soit tu dépasses la limite avec le patch et tu conserves tous tes ports, soit tu sacrifies des ports.

Cela étant dit, rien ne t'empêche d'utiliser un Hub USB3 connecté à un de tes port USB 3. Ça permettrait de dépasser cette limite sans avoir à utiliser de patch ;).

6Y3a97r.png

on modifie le kernel pour augmenter la limite. Non ?

Petite précision : c'est pas le Kernel qui est patché dans ce cas. C'est un kext. Plus précisément, c'est le fameux /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBXHCIPCI.kext dont on parle si souvent depuis le début ;).

Et si on veut vraiment pinailler, c'est le binaire /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/AppleUSBXHCIPCI.kext/Contents/MacOS/AppleUSBXHCIPCI qui est
 
Le problème du patch, c'est qu'il ne sert qu'à lever la limite. Il ne permet pas forcément de faire fonctionner tous les ports à la bonne vitesse.

Ça, c'est justement le rôle de l'injecteur.

Donc l'idéal, ça serait d'utiliser les deux si tu tiens à conserver tous tes ports et que ceux qui ont été identifiés, fonctionnent comme ils doivent.

Mais le truc, c'est que je ne sais pas si ça peut fonctionner ensemble… Il faudrait tester.

Mais il va falloir se faire une raison, l'injecteur est nécessaire quelque soit le cas de figure si tu veux que tout fonctionne correctement.
 
Personnellement, je ne m'y fierais qu'à moitié : on voit bien qu'entre 10.11 et 10.12 l'adresse à modifier n'est pas la même, donc ce sera toujours plus risqué qu'une solution plus "respectueuse" de l'OS. Pour la GA-Z170X-Gaming 5, il ne reste à compléter que quelques ports, vu que @gradou a déjà fait le gros du travail, donc ce serait dommage d'en rester là (même si je comprends que toi et beaucoup d'autres préfériez ne pas vous lancer vous-même dans ces expérimentations)
 
Oups, mon message et ceux de polyzargone se sont croisés. Mais je suis complètement d'accord avec lui : on ne peut pas avoir le beurre, l'argent du beurre et le sourire de la crémière (du moins par des moyens honorables ;-) ). En ce qui me concerne, je préfère la stabilité, surtout que je n'ai guère l'usage de tous ces ports.
 
Petit HS et question aux modérateurs : la limite pour pouvoir éditer un message est de combien de temps et serait-il possible de l'augmenter ? Parce que là, c'est vraiment court, on ne peut plus éditer un post 2h après :meh:.
 
Je reviens sur un point qui peut éventuellement prêter à confusion :

Il faut bien distinguer le patch Clover qui permet de faire sauter la limite des 15 ports et le USBInjectAll.kext qui permet d'activer tous les ports.

Si @gradou a pu déterminer ses adresses dans IORegistry Explorer, c'est pas grâce au patch Clover mais bien grâce à USBInjectAll.kext.

Autrement dit, n'utiliser que le patch Clover sans aucun kext (que ce soit USBInjectAll.kext ou un injecteur) n'est pas suffisant pour que les ports fonctionnent correctement.
 
Oh, ça explique peut-être mon problème…

Je viens de me rendre compte que les deux ports USB 3 à l'avant, ceux que j'utilise le plus souvent, fonctionnent en USB 2, mais pas en USB 3. Dans ce dernier cas, le périphérique est alimenté, mais il ne "monte" pas sur le Mac.

Donc là j'ai pas le choix, faut que je me replonge dans les kext. Snif.



La bonne nouvelle, c'est que j'ai pas encore fini l'article d'installation, donc au moins je n'ai pas à tout réécrire.
 
M'enfin, c'est quand même pas si compliqué !! J'y suis arrivé, donc n'importe qui un tant soit peu opiniâtre doit y arriver. Surtout que tout le boulot a été fait par nos deux amis, ce serait dommage de se priver de ce qu'ils ont fait. Et puis donc, pour ma part je me retrouve avec 5 ports usb3 parfaitement fonctionnels (donc 5 Usb2 itou) + 4 ports qui ne sont qu'usb2, sur un Mac "normal" y'en a combien (sur mon Mac Pro 2013 : 4; bon d'accord y'a 6 thunderbolt - tiens au fait c'est une bonne question ça le Thunderbolt sur un hack : résolue par quelqu'un ? ) ? Et puis j'ai un moniteur Asus qui fait hub usb3 (3 ports), ça en fait quand même du matos à brancher, non ?
Je vais te dire Nicolas, moi ce qui m'a décidé c'est quand j'ai "galéré" pour trouver le bon patch pour faire "sauter la limite" avec Sierra et USBinjectAll. Maintenant bien sûr, je l'ai trouvé (enfin plutôt, un pote brésilien d'insanelymac me l'a indiqué) , mais néanmoins cette incertitude sur le bon fonctionnement du matériel en cas de MàJ importante c'est quand même pas rien.
Le kext des deux cadors fonctionne sur les deux systèmes (10.11, 10.12 betas) pour des cartes Z170X, Z170M, Z170i : il faut juste jouer un peu avec ses clés usb pour identifier ses ports usb avec le patch qui fait sauter la limite, USBinjectAll et ioregistry.
Bon, il faut sans doute le compléter, mais quand Barijaona aura son matos, y va nous régler ça aux p'tits oignons ;) !!
En tout cas pour ton article tu ne peux pas te contenter de conseiller la seule utilisation d'USBinjectAll et du patch, ça fera des déçus aux mises à jour importantes sur Skylake. (cf ton "angoisse" pour la tite màj de sécurité d'El Capitan avec les drivers Nvidia !!)
Non, moi ce qui m'ennuie le plus actuellement c'est que le patch de Pike R. Alpha ne fonctionne pas sous Sierra... Certes on peut toujours s'en sortir mais faut rien oublier parce que le black screen lui y t'loupe pas !!
 
Dernière édition:
M'enfin, c'est quand même pas si compliqué !! J'y suis arrivé, donc n'importe qui un tant soit peu opiniâtre doit y arriver. Surtout que tout le boulot a été fait par nos deux amis, ce serait dommage de se priver de ce qu'ils ont fait. Et puis donc, pour ma part je me retrouve avec 5 ports usb3 parfaitement fonctionnels (donc 5 Usb2 itou) + 4 ports qui ne sont qu'usb2, sur un Mac "normal" y'en a combien (sur mon Mac Pro 2013 : 4; bon d'accord y'a 6 thunderbolt - tiens au fait c'est une bonne question ça le Thunderbolt sur un hack : résolue par quelqu'un ? ) ? Et puis j'ai un moniteur Asus qui fait hub usb3 (3 ports), ça en fait quand même du matos à brancher, non ?
Je vais te dire Nicolas, moi ce qui m'a décidé c'est quand j'ai "galéré" pour trouver le bon patch pour faire "sauter la limite" avec Sierra et USBinjectAll. Maintenant bien sûr, je l'ai trouvé (enfin plutôt, un pote brésilien d'insanelymac me l'a indiqué) , mais néanmoins cette incertitude sur le bon fonctionnement du matériel en cas de MàJ importante c'est quand même pas rien.
Le kext des deux cadors fonctionne sur les deux systèmes (10.11, 10.12 betas) pour des cartes Z170X, Z170M, Z170i : il faut juste jouer un peu avec ses clés usb pour identifier ses ports usb avec le patch qui fait sauter la limite, USBinjectAll et ioregistry.
Bon, il faut sans doute le compléter, mais quand Barijaona aura son matos, y va nous régler ça aux p'tits oignons ;) !!
En tout cas pour ton article tu ne peux pas te contenter de conseiller la seule utilisation d'USBinjectAll et du patch, ça fera des déçus aux mises à jour importantes sur Skylake. (cf ton "angoisse" pour la tite màj de sécurité d'El Capitan avec les drivers Nvidia !!)
Non, moi ce qui m'ennuie le plus actuellement c'est que le patch de Pike R. Alpha ne fonctionne pas sous Sierra... Certes on peut toujours s'en sortir mais faut rien oublier parce que le black screen lui y t'loupe pas !!

pour l'instant je fonctionne avec USBInjectAll et tout les ports fonctionnent correctement.
même l'USB 3… enfin, presque, par moment ça se déconnecte lorsque je transfère (pendant !) des photos. Cela dit, ça s'est amélioré avec 10.11.5. Je ne peut pas tester mon APN sur une autre machine USB 3 non plus :(
 
Je commence à "jouer" avec les injecteurs, même si côté matériel, il me manque encore les connecteurs permettant de tester les headers internes USB3.

@gradou, tu dis que chez toi, avec USBInjectAll, les ports USB3.1 marchent et fonctionnent à la vitesse du USB3.0
Peux-tu poster une copie d'écran de ce qui passe en vert dans IOJones lorsque tu connectes à ces ports un périphérique USB3 ?

Chez moi, ces ports (du moins celui avec un connecteur USB-A, vu que je n'ai pas de périphérique avec une fiche USB-C) ne reconnaissent que les périphériques USB2.
La différence est peut-être liée à la version de BIOS (je suis sur la version F4)
 
N'écoutant que mon courage, je me suis décidé pour revenir sur ce point et essayer de le régler une bonne fois pour toute. Sans compter que j'ai noté des comportements bizarres, genre le Mac qui redémarre après extinction, ou des ports USB 3 qui ne fonctionnent plus très bien.

Bref, j'ai lancé IORegistryExplorer, mais bizarrement, il n'affiche de l'USB 2 :

Capture d’écran 2016-09-13 à 10.06.58.png
C'est cohérent avec les ports USB 3 non fonctionnels, mais que dois-je faire du coup ?

Dans le Rapport Système, voici ce que j'ai :

Capture d’écran 2016-09-13 à 10.10.33.png
À ce stade, j'ai le kext pour activer tous les ports USB et la modification dans Clover pour lever la limite.

Merci pour votre aide !


EDIT : j'ai réglé mon problème en changeant la modification appliquée par Clover pour la limite de 15 ports. Par rapport au guide que vous avez mis en place ici, j'ai suivi le guide de tonymacx86 et ça marche mieux.

Je vais maintenant identifier tout ça.

EDIT 2 : voilà, j'ai ma liste ! Malheureusement, si je comprends bien, je dois en sacrifier un maintenant… :-(

Boîtier :

- Deux ports USB 2 façade : HS08 <08 00 00 00>
- Deux ports USB 3 façade :
- USB 2 droite : HS01 <01 00 00 00>
- USB 2 gauche : HS02 <02 00 00 00>
- USB 3 droite : SS01 <11 00 00 00>
- USB 3 gauche : SS02 <12 00 00 00>

Carte-mère :

- Port 1 USB 2 : HS13 <0d 00 00 00>
- Port 2 USB 2 : HS14 <0e 00 00 00>
- Port 3 : ignoré
- Port 4 :
- USB 2 : HS09 <09 00 00 00>
- USB 3 : SS09 <19 00 00 00>
- Port 5 : ignoré
- Port 6 USB 2 : HS10 <0a 00 00 00>
- Port 7 USB 2 : HS07 <07 00 00 00>
- Port 8 :
- USB 2 : HS06 <06 00 00 00>
- USB 3 : SS06 <16 00 00 00>
- Port 9 :
- USB 2 : HS05 <05 00 00 00>
- USB 3 : SS05 <15 00 00 00>


- Port USB 2 interne Bluetooth : HS11 <0b 00 00 00>

USB Cm.jpg

EDIT 3 : après redémarrage, cela semble fonctionner correctement. Je n'ai que les ports USB définis dans le kext et a priori, ils fonctionnent à la bonne vitesse. Je vais voir si cela règle mes autres problèmes maintenant.
 
Dernière édition:
Selon la doc, la carte mère dispose de 3 chipsets :
- Chipset de base Intel
- Chipset GENESYS LOGIC USB 2.0 Hub
- Chipset Intel Thunderbolt 3 Controller

Le gros des ports est sur le premier chipset
Le deuxième est connecté au port HS08 du premier et gère un hub 2 ports
Pour l'instant, je vais faire l'impasse sur le troisième chipset, celui qui gère les deux USB3.1. Je comprends qu'il est entièrement indépendant des deux premiers

Je confirme le schéma de @NicolasF.
(@gradou, il semble que tu aies interverti les deux ports USB2 à l'arrière de couleur jaune HS13 et HS14…)

J'ajoute que :
- l'emplacement marqué F_USB1 sur la carte mère correspond au hub relié à HS08
- l'emplacement marqué F_USB2 sur la carte mère correspond à HS11 et HS12

Pour l'heure, je ne sais pas lequel des deux headers USB3 sur la carte mère (marqués respectivement F_USB_30_1 et F_USB30_2) correspond à HS01/SS01/HS02/SS02 et lequel correspond à HS03/SS03/HS04/SS04. Si @nicolasf ou @gradou peuvent préciser le branchement physique qu'ils ont utilisé pour connecter le boitier…

@nicolasf : à quel(s) port(s) physique(s) as-tu branché tes écrans ?