USB Port Patching
macOS 10.14.1+ does not work with the USB port limit patch and therefore
there is no way to have all ports available to configure at one time. RehabMan
has updated USBInjectAll.kext to include boot flags for excluding groups of
ports
- Place the
USBInjectAll.kext (for port
discovery) into EFI/CLOVER/kexts/Other
- USBInjectAll.kext Requirements:
- Clover->DSDT Renames (if detected)
- XHCI -> XHC
- XHC1 -> XHC
- EHC1 -> EH01
- EHC2 -> EH02
- Reboot
- Run Hackintool then go to General->Installed to check USBInjectAll
is installed correctly
- Eg. USBInjectAll: Yes (Release-0.7.1)
- Go to the General->USB tab to check your USB Controllers list.
Based on your USB Controller you may need to install additional kexts:
- 8086:8CB1 and macOS < 10.11.1 -> XHCI-9-series.kext
- 8086:8D31, 8086:A2AF, 8086:A36D, 8086:9DED -> XHCI-unsupported.kext
- 8086:1E31, 8086:8C31, 8086:8CB1, 8086:8D31, 8086:9C31, 8086:9CB1 ->
FakePCIID.kext + FakePCIID_XHCIMux.kext
- Reboot if you need to install one of the additional kexts then run
Hackintool again
- Go to the General->USB tab
- Select all items in the USB Ports list and select the “Delete”
then the “Refresh” button
- Reboot with -uia_exclude_ss uia_include=HS01,HS02 boot flags
- Change the HS01,HS02 ports to the ones you have your mouse and
keyboard attached
- Run Hackintool and go to the General->USB tab
- Plug and unplug a USB 2.0 device into all ports on your system
- The ports that are active will remain highlighted
green
- Delete all ports that are not highlighted green
- Reboot with -uia_exclude_hs boot flag and remove the -uia_exclude_ss
boot flag
- Run Hackintool and go to the General->USB tab
- Plug and unplug a USB 3.0 device into all ports on your system
- Plug and unplug a TypeC device into all ports (in both orientations)
- The ports that are active will remain highlighted green
- Delete all ports that are not highlighted green
- Set each port to the appropriate Connector using the drop down
list
- USB ports with devices permanently attached (eg. M.2 Bluetooth card)
should be set to “Internal”
- HSxx ports connected to USB3 ports should be set to
USB3
- Internal HUBs are typically connected to ports PR11
and PR21 and therefore should be set to “Internal”
- TypeC:
- If it uses the same HSxx/SSxx in both
orientations, then it has an internal switch (use “TypeC+Sw”)
- If it uses a different HSxx/SSxx in each
orientation, then it has no switch (use “TypeC”)
- Use the “Export” button to generate files to your Desktop
- Copy SSDT-EC.aml (if created) to
EFI/CLOVER/ACPI/patched
- Choose one of the following two:
- Copy USBPorts.kext to EFI/CLOVER/kexts/Other or;
- Copy SSDT-UIAC.aml and SSDT-USBX.aml (if created)
to EFI/CLOVER/ACPI/patched
- You can now perform a clean up and remove unnecessary
files:
- Remove custom boot flags (-uia_exclude_ss -uia_exclude_hs
uia_include=x)
- Remove USBInjectAll.kext (if using USBPorts.kext)
- Reboot
- Run Hackintool and go to the General->USB tab
- Select all items in the USB Ports list and select the
“Delete” then the “Refresh” button
- Now you can check all ports are working correctly
- If you need to change a Connector type you will need to export your
USBPorts.kext over the current one
- If you made a mistake delete USBPorts.kext and start from the
beginning of the instructions again
Q. What is USBPorts.kext?
A. It's a
Codeless Kernel Extension used to inject
the USB ports
Q. Do I need SSDT-UIAC.aml?
A. No, this method uses a codeless kext