Angepinnt Anleitung: USB 3.0 unter El Capitan / Sierra für jedermann (Zukunftssicher für Updates und komplett gepatcht)

    Forum Unterstützen

    Wenn Du unsere Arbeit unterstützen möchtest, würden wir uns über eine Spende sehr freuen! :-)

    Team

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Anleitung: USB 3.0 unter El Capitan / Sierra für jedermann (Zukunftssicher für Updates und komplett gepatcht)

      In letzter Zeit häufen sich die Probleme mit USB 2.0 und vorallem 3.0 unter Sierra und El Capitan. Apple hat seit El Capitan ein Port-Limit in ihr OS eingebaut welches die Nutzung von mehr als 15 Schnittstellen gleichzeitig verbietet. Manche Kexts sollen dieses Problem beheben aber selbst diese haben nur noch eine geringe Erfolgsrate. Hier ist ein Guide wie jeder von euch mit etwas Zeit, alle USB Ports seines Hackintoshs zum laufen bringen kann. Diese Methode funktioniert nach Updates immernoch. Das heißt: Einmal gemacht und für lange Zeit werden eure USB Ports keine Probleme mehr machen. Es gibt bereits Anleitungen in diesem Forum welche das gleiche Vorgehen erklären. Ich werde aber versuchen diese Anleitung so einfach und nachvollziehbar wie möglich zu gestalten damit sie jeder selber anwenden kann.

      Vorwort:
      Seit Sierra häuft sich die Benutzung eines KextPatches von RehabMan welcher das gegebene USB Limit anhebt. Der Patch funktioniert, doch RehabMan selber warnt vor der Benutzung.
      Hier seine Worte:
      Spoiler anzeigen
      IMPORTANT! The port limit patch should not be used as a permanent solution. There is now clear evidence that using it causes other data beyond what is evidently a fixed size array to be clobbered. The result is strange behavior by the USB drivers when the port limit is exceeded.


      Die hier präsentierte Lösung benutzt nicht diese Methode und ist somit komplett ungefährlich. Ich kann nur zu dieser Methode raten da sie zukunftssicher und funktionell ist, sowie für allerhand Bootloader wie Ozmosis, Clover und weiteres funktioniert.

      Anleitung:
      1. Um die USB Ports zum laufen zu bewegen, benutzen wir USBInjectAll.kext. Diesen Kext legen wir auf die EFI Partition. Unter Clover ist das der Ordner EFI/CLOVER/kexts/other und unter Ozmosis der Ordner EFI/Oz/Darwin/Extensions/Common. Zurnot geht die Nutzung auch über eine Installation mittels KextUtility nach System/Library/Extensions. Danach machen wir einen Neustart. Der Kext ist auch in dem unten angehangen Paket enthalten.


      2. Im Bios müssen wir nun folgende Settings überprüfen:

      -Der XHCI Mode muss auf Enabled oder Auto stehen (nicht Smart-Auto)
      -XHCI und EHCI Hand-off müssen aktiviert sein

      3.
      Nach dem Neustart öffnen wir jetzt den IORegistryExplorer. (auch im Paket) Dieser Abschnitt wird uns präsentiert:

      Nun müssen wir den richtigen Bereich im Explorer finden. Es geht um den XHC@14 Controller. Diesen findet ihr ganz leicht wenn ihr einfach "xhc" auf der Tastatur drückt. (Nicht das Suchfeld benutzen!) Jetzt wird uns in etwa das hier präsentiert:


      4. Als nächstes brauchen wir einen USB 2.0 Stick. Außerdem erstellen wir uns ein neues Textdokument zum mitschreiben.
      Jetzt der wichtige Teil: Der USB 2.0 Stick wird nun nach und nach einmal in jeden Port gesteckt, USB 2.0 und 3.0 Ports! Jedes mal wenn wir den Stick in den Hacky stecken, sollte in einem der HSXX Ordnern eine grüne Schrift aufleuchten. Hier leuchtet zum Beispiel grüne Schrift in HS01 auf:
      Wichtig ist die Bezeichnung HS01! Diese brauchen wir für alles weitere und notieren sie deshalb in unser Textdokument.
      (Falls keine Schnittstelle aufleuchtet, hilft manchmal ein Neustart des Programms oder ein "aus- und wieder einstecken" des Sticks. Wenn dann immernoch nichts aufleuchtet und der Stick nicht erkannt wird, ist der benutzte Port deaktiviert und wird im Laufe der Anleitung erst aktiviert --> überspringen)

      Was sagt uns die Bezeichnung? Wenn HS01 grün aufleuchtet, heißt das, dass HS01 ein aktiver Port ist denn hier ist die Problematik:
      In OSX dürfen nur 15 USB Schnittstellen aktiv sein. Es gibt HSXX Schnittstellen (USB 2.0) und SSXX/SSPX Schnittstellen (USB 3.0) (XX steht für eine Zahl). In der Liste im IORegistryExplorer sind vorallem HSXX und vielleicht ein paar SSPX Schnittstellen gelistet. Doch nicht alle dieser gelisteten Schnittstellen besitzen auch Zugang zu einem echten Port an unserem Hacky. Im Laufe des Prozesses werden wir sehen, dass manche Ports im IORegistryExplorer nicht aufleuchten werden, egal wo wir einen USB Stick anstecken. Diese Schnittstellen besitzen keinen echten Port am Hacky und werden/können dadurch nie aufleuchten. Sie blockieren aber Platz in der 15-Port Liste für andere, echte Ports! Deswegen müssen wir die unbenutzten Ports entfernen.

      Nachdem wir mit dem USB 2.0 Stick einmal in jedem Port waren, werden manche HS-Ports aufgeleuchtet haben und andere nicht. Jeder Port der einmal aufgeleuchtet hat steht jetzt hoffentlich in unserem Textdokument. Jetzt müssen wir jeden Port "excluden", der nicht aufgeleuchtet hat mittels dem bootarg: uia_exclude=HSXX;HSXX;HSXX
      Die Ports die entfernt werden sollen, werden durch einen Strichpunkt getrennt. Es gibt HS01-HS14. Zudem kommen USR1 und USR2 immer in die Liste (außer sie werden benutzt und angezeigt, was nur sehr selten der Fall ist).
      Beispiel für das Textdokument + daraus folgendes bootarg:


      Dieser Code ergibt sich also durch die Ports, die nicht aufleuchten. Der Code muss jetzt als Bootarg gesetzt werden.

      Das sieht dann unter Ozmosis so:
      (Screenshot aus PlistEdit Pro)

      Und unter Clover so aus:
      (Screenshot aus CloverConfigurator)

      5. Jetzt machen wir einen Neustart und unter Ozmosis einen NVRam-Reset (indem wir ins Bios gehen und dort Win+Alt+P+R drücken).
      Wenn wir jetzt wieder den IORegistryExplorer öffnen, sollte das ganze sich verändert haben. Die Ports in der uia_excludelist sollten nun verschwunden sein, z.B so:
      Wir sehen jetzt neue/mehr SSXX oder SSPX Ports. Das sind wie bereits erwähnt, USB 3.0 Schnittstellen.

      6. Und jetzt kommen wir in die Zielgerade! Mit einem USB 3.0 Stick gehen wir jetzt nach und nach in alle USB 3.0 Ports die der Hacky hat und notieren uns alle SSXX/SSPX Schnittstellen die aufleuchten in das Textdokument.

      Alle Schnittstellen die nicht aufleuchten ergänzen wir jetzt wieder in das Bootarg.
      Wenn z.B nur SSP2 nicht aufleuchtet (d.h alle sichtbaren SSXX/SSPX -Ports leuchten auf außer SSP2) sieht das ganze dann

      unter Ozmosis mit weiteren Bootargs so:

      und unter Clover z.B so aus:

      7. Ein letzter neustart und unter Ozmosis einen NVRam-Reset. Jetzt sollte alles richtig funktionieren!!! Das ganze können wir mit dem Programm Blackmagic Disk Speed Test testen, indem wir dort die Geschwindigkeit eines USB 3.0 Sticks testen, von dem wir in etwa die mb/s kennen. Ich kann euch sagen das wenn der Stick in USB 3.0 Ports über 30mb/s hat, dass der USB 3.0 Port richtig läuft!

      So und das wars. Ich weiß die Anleitung ist etwas länger, aber dafür ausführlich, anschaulich und hoffentlich auch für "Newbies" geeignet! Ich wünsche euch viel Glück!
      Dateien

      Dieser Beitrag wurde bereits 17 mal editiert, zuletzt von „kuckkuck“ ()

      Anleitung: USB 3.0 unter El Capitan / Sierra für jedermann (Zukunftssicher für Updates und komplett gepatcht)

      Ich ziehe meinen Hut.


      Gesendet von iPad mit Tapatalk
      Danke für die Anleitung!
      Nur habe ich den C602 Chipsatz auf dem Board - und damit sieht alles völlig anders aus.
      XHC gibt es nicht ... Statt dessen habe irgendwelche "Hub Simulation" und wenn ich sehen will, was wo drin steckt, dann muss ich unter "USB" suchen und werde dann unter "EHCI Root Hub Simulation@1D" fündig und bekomme dann angezeigt, was das für ein Stick ist.
      Mein Bios ist völlig anders und HS01 gibt es in meiner Kiste auch nicht ...
      Das ist ja der Hit! Es passt einfach nix.
      Im Moment muss ich überhaupt erst einmal unter Yosemite das Installationsprogramm für El C. ans Laufen bekommen. Da bootet das Teil durch und am Schluss kommt "abnormal code .... 255".
      Interessanterweise funktionieren meine Inateck USB 3.0 Karten dabei.
      Stecke ich da in den Kartenleser (USB 3.0) eine CF-Karte rein oder an den USB-Steckplatz einen zweiten Bluetooth-Stick, schnallt das System das und meldet dann die Installation. Das sind halt Karten, die wohl auch im Original-Mac oob laufen.
      Mein USM 2.0 hingegen ist noch ein Problembär. Da schnallt die Kiste nix ...
      Glücklicherweise habe ich jetzt genug Platten und die Hardware so hingebastelt, dass ich das Ganze immer schnell wechseln kann.

      Kann es eigentlich sein, dass das System Kexte sowie DSDT und SSDT irgendwo zusätzlich in einem Cache drin hat?
      Ic habe so einiges in den Ordner "Kexts/Other in meinem Clover drin (in der EFI-Partition). Mir kommt es vor, als sei es völlig egal, was ich da mache oder nicht. Habe auch /10.11 genommen und in der config.plist habe ich natürlich stehen, dass er die Kext-Injection machen soll. Mir kommt das immer irgendwie vor als nimmt der irgendwas aus irgendeinem Cache.
      So, ich bastel mal weiter ...
      TYAN S7050 Mainboard
      2x Intel Xeon E5 2643v2 CPUs, wassergekühlt
      AMD R9 290x Referenz-Layout, wassergekühlt
      2x NEC PA241W Monitore
      64GB DDR3 DIMM, 1866 Mhz ECC wassergekühlt
      1x SSD Samsung 850 Evo 250GB mit El Capitan 10.11.6
      Areca 1223-8I mit Raid 1 4TB
      Prodigy Cube - externe Soundkarte
      Belkin Bluetooth Mini-Key Adapter F8T016ng mit Mac Tastatur und Magic Mouse

      MacBook Pro late 2013 Retina
      MacBook 3.1
      MacBook 6.1

      Lenovo D10 Board mit 2x Xeon X5470, und 32GB DDR2 Ram u. AMD HD 5870 Grafik
      Danke für dein Mühe.

      Sag mal.... laufen die USB 3.1 Ports auch über SSXX? Leider habe ich gerade keine Hardware da um den Port zu testen und im Systemprofiler sieht man nur den USB 3.0 Bus.

      Habe jetzt erstmal alle unnötigen SSXX Ports excluded, würde die excluded Ports aber noch mal aus der config.plist entfernen und dann testen wenn ich was mit USB 3.1 Stecker da habe. Da müsste nach meinem Verständnis ja noch einer dazu kommen. Oder wie ist das?
      macOS Sierra | Motherboard: MSI Z170I Pro Gaming AC | CPU: Intel® Core™ i5-6500 Processor 4 x 3.2 GHz | Arbeitsspeicher: 16 GB (DDR4-2133) | Sound: Realtek® ALC1150
      Grafik: Intel®
      HD530 | Netzwerkkarte: Intel® I219-V | Case: Streacom DB4 Fanless Cube
      ___________________

      macOS Sierra | Motherboard: Asus P8H61-M LE | CPU: Intel® Core™ i5-2500 Processor 4 x 3.3 GHz | Arbeitsspeicher: 8 GB (DDR3-1333) | Sound: Realtek® ALC887 8-Channel High Definition Audio
      Grafikkarte: NVIDIA GeForce GTX 650Ti (1024 MB) | Netzwerkkarte: Realtek® RTL8111F | Case: XFX Mid Tower Type-01

      ein Schritt weiter: Ich hatte eine veraltete Version von Clover. WICHTIG: Auch damit erscheint dann der Fehler. "abnormal code ... 255". Ich bin jetzt soweit, dass El Capitan installiert ist und ich kernel panic beim Booten bekomme. Da werde ich mal schauen, woran das liegt ...
      TYAN S7050 Mainboard
      2x Intel Xeon E5 2643v2 CPUs, wassergekühlt
      AMD R9 290x Referenz-Layout, wassergekühlt
      2x NEC PA241W Monitore
      64GB DDR3 DIMM, 1866 Mhz ECC wassergekühlt
      1x SSD Samsung 850 Evo 250GB mit El Capitan 10.11.6
      Areca 1223-8I mit Raid 1 4TB
      Prodigy Cube - externe Soundkarte
      Belkin Bluetooth Mini-Key Adapter F8T016ng mit Mac Tastatur und Magic Mouse

      MacBook Pro late 2013 Retina
      MacBook 3.1
      MacBook 6.1

      Lenovo D10 Board mit 2x Xeon X5470, und 32GB DDR2 Ram u. AMD HD 5870 Grafik
      @noEE Seit MacOS Sierra laufen auch 3.1 Ports. Diese können im IOReg entweder als SSXX, SSPX, oder USRX erscheinen. Du könntest die SS(P) und USR Ports mal aus der Config nehmen (solange das 15 Port limit dann nicht überschritten wird) und testen ob USB 3.1 dann funktioniert. Die Anzeige im Systemprofiler kann unter umständen auch falsche Infos anzeigen d.h z.B USB 3.1 funktioniert, wird aber als 3.0 angezeigt.

      @Werner_01 Erscheint denn irgendeine Schrift grün in IOReg wenn du einen USB Stick anschließt? Häng mal bitte dein IoReg File hier an...

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kuckkuck“ ()

      Wenn bei mir alle USB 3 Ports funktionieren, ist dann dennoch eine Modifikation notwendig/empfehlenswert?

      Ich hab hier das Problem, dass mein Bluetooth-Dongle (schon der zweite) in unregelmäßigen Abständen einen Verbindungsabbruch mit der MagicMouse fabriziert. Im Prinzip kein Problem - in ner halben Sekunde steht die Verbdindung dann wieder. Ebenso gibt es eine immer wiederkehrende Instabilität mit einem älteren USB 2.0 SD-Card-Reader (Ich kriege dann immer mal OSX-Meldungen, dass die SD-Card nicht korrekt ausgeworfen wurde?
      .
      .
      cHeErS 8) aLeX

      GA-Z97N-Wifi| i7 4790k 4.0Ghz | 16GB RAM | MSI GTX760 2GB | AR5B195 | macOS 10.11.6 | Ozmosis 167X-MAS
      ThinkPad T420s | i7 2.6 Ghz | 8GB RAM | Intel HD3000 | BCM94352| macOS 10.11.6 | Clover 3794
      Da jetzt die ozmtools funktionieren unter sierra lohnt es sich die args im rom zu speichern!
      Gruß
      Jan
      @E.D.L.
      Du brauchst es nicht unbedingt. Deine genannten probleme können mit einer DSDT gefixt werden und sind nicht bootarg, Kext oder USBInkectAll bedingt. Ob es sinnvoll ist, ist die andere Frage. Für dein jetziges OS brauchst du es nicht, aber es kann immer passieren, dass nach einem Update (egal ob groß oder klein) plötzlich nicht mehr alles so läuft wie es soll. Das ganze könntest du vorbeugen indem du bereits jetzt die USB ports klar mit USBInjectAll definierst, dann funktionieren sie auch nach dem Update noch (solange wie der Kext USBInjectAll mit dem neuen Update funktioniert. Da er aber häufig updates bekommt, sollte das kein Problem sein)

      @jboeren Ja das ist eine Möglichkeit, aber nicht unbedingt nötig. Wenn einmal alles läuft, ist das natürlich schön, aber es gibt bestimmt Kandidaten die so viele Ports besitzen, dass sie nicht in die 15 port Liste passen. In dem Fall ist es sinnvoller das ganze extern zu haben damit bei neuen wünschen schnell Veränderungen gemacht werden können ;)
      Außerdem sollte man die defaults.plist mit den bootargs (welche man jetzt ins BIOS einbauen könnte wie du bereits gesagt hast) extern auch nochmal speichern, damit man sie nach einem Update der OZ Version wieder injecten kann ;)
      Die Einstellungen können natürlich im UEFI von nicht-gigabyte Boards anders heißen, jede Firma hat da leider ihre eigenen Vorstellungen :/
      Achte einfach darauf das XHCI und EHCI wenn verfügbar, an sind. Zudem USB 3.0 und 2.0 im BIOS aktiviert sind wenn möglich, und falls eine XHCI oder USB 3.0 Mode Einstellung im BIOS ist, diese auf Enabled oder Auto steht ;)
      @steff89 hat die usb ports des z97x-udh3 mainboards schon alle getestet: USB Patch für GA-Z97X-UD3H - El Capitan

      In diese Anleitung soll aber bei den USB3 ports "SSPXX" das nul weg: nicht SSP01 sondern SSP1. usw!

      Ansonsten funktioniert es SUPER!
      Gruß
      Jan

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „jboeren“ ()

      Nochmal ne kurze spezielle Nachfrage hinsichtlich der USB-Port-Anzahl. Gilt diese 15-Port-Grenze auch für angeschlossene Hubs - also zählen jenen Hub-Ports auch mit zu den max. 15?

      Da ich hier einen 8er und einen 4er nutze (wohlgemerkt nicht voll belegt) haben meine kleineren Probleme vlt doch irgendwie damit zu tun? Mein Unterbrechungen von USB-Sticks, Bluetooth-Adapter, SD-Cardreader scheinen m.E. ausschließlich dann zu passieren, wenn diese eben nichts zu tun haben!
      .
      .
      cHeErS 8) aLeX

      GA-Z97N-Wifi| i7 4790k 4.0Ghz | 16GB RAM | MSI GTX760 2GB | AR5B195 | macOS 10.11.6 | Ozmosis 167X-MAS
      ThinkPad T420s | i7 2.6 Ghz | 8GB RAM | Intel HD3000 | BCM94352| macOS 10.11.6 | Clover 3794
      Nein.

      Es zählt nur der Port, an dem dein Hub angeschlossen ist. Kannst also den 4er und 8er wie einen nutzen.
      macOS Sierra | Motherboard: MSI Z170I Pro Gaming AC | CPU: Intel® Core™ i5-6500 Processor 4 x 3.2 GHz | Arbeitsspeicher: 16 GB (DDR4-2133) | Sound: Realtek® ALC1150
      Grafik: Intel®
      HD530 | Netzwerkkarte: Intel® I219-V | Case: Streacom DB4 Fanless Cube
      ___________________

      macOS Sierra | Motherboard: Asus P8H61-M LE | CPU: Intel® Core™ i5-2500 Processor 4 x 3.3 GHz | Arbeitsspeicher: 8 GB (DDR3-1333) | Sound: Realtek® ALC887 8-Channel High Definition Audio
      Grafikkarte: NVIDIA GeForce GTX 650Ti (1024 MB) | Netzwerkkarte: Realtek® RTL8111F | Case: XFX Mid Tower Type-01

      @jboeren War das mit SSPXX auf meine Anleitung bezogen? ;)
      @E.D.L. Es handelt sich immernoch um ein Problem, welches durch eine DSDT gefixt werden kann oder ein Problem mit der Verbindung wegen der Distanz ;) Vielleicht kann dir @al6042 helfen...
      @kuckkuck und @E.D.L.
      bin auf Reisen und kann aktuell keine DSDTs bearbeiten... :)
      Gruß
      Al6042

      GA Z270-HD3P F7 | i7 7700k 4,2Ghz | 32GB RAM | GTX1080 8GB | NVMe SSD 960 EVO 250 GB / 3x3 TB | BCM943602CSAX | macOS 10.12.6 | Clover 4173
      GA H170N-WIFI F21 | i5 6600 3,3Ghz | 16GB RAM | HD530 1,5GB | NVMe SSD 960 EVO 250 GB | BCM94352Z | macOS 10.12.6 | Clover 4173
      MBP 13,3 | i7 6700HQ 2,6Ghz | 16GB RAM | Intel HD530 & AMD Radeon Pro 450 | NVMe SSD SM00256L 256 GB | BCM943602CSAX | macOS 10.12.6

      Keine Unterstützung per PN... Eure Anfragen gehören ins Forum, nicht in mein Postfach!