USB Anschluss Patching
ab macOS 10.14.1 funktioniert der USB-Port-Limit-Patch nicht mehr zuverlässig. Daher stehen nicht alle USB-Ports gleichzeitig zur Verfügung für eine einmalige Konfiguration. RehabMan hat den USBInjectAll.kext aktualisiert damit man mit Boot-Flags Gruppen von Ports ausschließen kann. Ziel ist es mit den verfügbaren USB-Ports unter die vom masOS maximal erlaubten 15 Ports zu kommen. Damit ist dann kein weiterer port limit patch in macOS nötig.
1.	Kopiere den  USBInjectAll.kext (for die USB-Porterkennung) nach „EFI/CLOVER/kexts/Other“
2.	USBInjectAll.kext Anforderungen:
3.	Clover->DSDT Renames (falls nötig und noch nicht vorhanden)
o	XHCI -> XHC
o	XHC1 -> XHC
o	EHC1 -> EH01
o	EHC2 -> EH02
4.	Neustart
5.	Führen Sie Hackintool aus und gehen Sie zu General-> Installed, um zu überprüfen, ob USBInjectAll korrekt installiert ist
o	Z.B. USBInjectAll: Yes (Release-0.7.1)
6.	Gehe zu General->USB tab um die USB Controllers Liste zu prüfen. Abhängig von Ihrem USB-Controller müssen Sie möglicherweise zusätzliche Kexts installieren:
o	8086:8CB1 und macOS < 10.11.1 -> XHCI-9-series.kext
o	8086:8D31, 8086:A2AF, 8086:A36D, 8086:9DED -> XHCI-unsupported.kext
o	8086:1E31, 8086:8C31, 8086:8CB1, 8086:8D31, 8086:9C31, 8086:9CB1 -> FakePCIID.kext + FakePCIID_XHCIMux.kext
7.	Starten Sie erneut neu wenn Sie einen der zusätzlichen Kexts installieren mussten und führen Sie dann Hackintool erneut aus
8.	Gehe zu General->USB tab
9.	Wählen Sie alle Elemente in der Liste der USB-Anschlüsse aus und klicken Sie auf "Delete" und dann auf " Refresh"
10.	Starten Sie danach neu mit dem Bootparameter „-uia_exclude_ss uia_include=HS01,HS02“
o	HS01,HS02 auf die Ports abändern auf welchen die Maus und die Tastatur hängen
11.	Führen Sie Hackintool aus und gehen Sie zu General ->USB tab
12.	Stecken Sie einen USB 2.0 Stick in alle USB-Anschlüsse auf ihrem System
o	Die aktiven Ports werden grün hervorgehoben
o	Löschen Sie alle Ports, die nicht grün markiert sind
13.	 Starten Sie danach neu mit dem Bootparameter „-uia_exclude_hs“ ohne dem Bootparameter „-uia_exclude_ss“
14.	 Führen Sie Hackintool aus gehen Sie zu General->USB tab
o	Stecken Sie einen USB 3.0 Stick in alle USB-Anschlüsse auf ihrem System
o	Stecken Sie einen USB Type-C Stick in alle USB-C Anschlüsse auf ihrem System (in beide möglichen rotierten Einsteckrichtungen)
o	Die aktiven Ports werden grün hervorgehoben
o	Löschen Sie alle Ports, die nicht grün markiert sind
15.	 Stellen Sie jeden Port mithilfe der Dropdown-Liste auf den entsprechenden Connector ein
o	USB ports welche immer verbunden sind (Z.B. M.2 Bluetooth Karten) sollten auf “Internal” gesetzt werden
o	HSxx ports welche dem Type USB3 entsprechen auf USB3 setzen
o	Internal HUBs normalerweise verbunden mit den Ports PR11 and PR21 ebenfalls auf den Type “Internal” setzen.
o	TypeC:
•	Falls dieser HSxx und SSxx in beiden Richtungen verwendet dann den Type  “TypeC+Sw” verwenden.
•	Fall dieser unterschiedliche HSxx und SSxx verwendet in den beiden Richtungen dann den Type  “TypeC” verwenden.
16.	Verwenden Sie die Schaltfläche " Export ", um Dateien auf Ihrem Desktop zu generieren 
o	Kopieren Sie SSDT-EC.aml (falls erstellt) nach „EFI/CLOVER/ACPI/patched“
o	Verwenden Sie zusätzlich einen der beiden folgenden Varianten:
1.	Kopieren Sie USBPorts.kext nach „EFI/CLOVER/kexts/Other“ oder
2.	Kopieren Sie SSDT-UIAC.aml und SSDT-USBX.aml (falls erstellt) nach „EFI/CLOVER/ACPI/patched“
17.	Sie können jetzt eine Bereinigung durchführen und nicht benötigte Dateien entfernen:
o	Entfernen Sie die Bootparameter (-uia_exclude_ss -uia_exclude_hs uia_include=x)
o	Entfernen Sie den Kext USBInjectAll.kext (falls Sie den Kext USBPorts.kext verwenden)
18.	Neustart
19.	Führen Sie Hackintool aus und gehen Sie zu General->USB tab
20.	Wählen Sie alle Elemente in der Liste der USB-Anschlüsse aus und klicken Sie auf " Delete" und dann auf " Refresh "
o	Jetzt können Sie überprüfen ob alle Ports korrekt funktionieren
o	Wenn Sie einen Connector-Typ ändern müssen, müssen Sie Ihre Datei USBPorts.kext über die aktuelle Konfiguration exportieren
o	Wenn Sie einen Fehler gemacht haben, löschen Sie USBPorts.kext und beginnen Sie erneut am Anfang der Anleitung
Q. Was ist der USBPorts.kext?
A. Das ist ein Codeless Kernel Extension genutzt um USB Ports zu injizieren.
Q. Benötige ich SSDT-UIAC.aml?
A. Nein, diese Methode verwendet einen codelosen Kext