Contribute
Register

[Release] Hackintool v3.x.x

I am sorry for the misunderstanding, i meant that i have applied the "disable port limit in XHCI kext (credit PMHeart)" patch as stated in this tutorial's steps. So this patch is indeed enabled and the usbinjectall.kext placed on efi/clover/kexts/other. But i cannot see anything on the general -> usb tab
This likely means wrong bios configuration, check it out and try to make some changes in usb section
 
Version 1.4.2 Released
- Added Patch->Import KextsToPatch / Apply Current Patches menu. Renamed USBPower.kext -> USBPorts.kext
 

Attachments

  • ImportKextsToPatch.png
    ImportKextsToPatch.png
    399.3 KB · Views: 297
Better name. Thanks!

Yeah it makes better sense. I also fixed the USB issue by changing kIOUSBDeviceInterfaceID to kIOUSBDeviceInterfaceID650 which uses the older API. Who would have thought that Apple cared enough about backward compatibility? lol
 
What about usb 2 ports ?
On my Haswell laptop HPxx ports are not recognised by this tool.

The first post has a section called "USB Port Patching" which explains what you need (ie. USBInjectAll.kext for "port discovery" and the KextsToPatch for removing port limit). Once you create the USBPorts.kext you can remove them both.
 
The first post has a section called "USB Port Patching" which explains what you need (ie. USBInjectAll.kext for "port discovery" and the KextsToPatch for removing port limit). Once you create the USBPorts.kext you can remove them both.

Note also USBInjectAll requirements:

xHCI controller must be named 'XHC' (typical is XHC, but some use XHC1)
EHCI #1 controller must be named EH01 (typical is EHC1)
EHCI #2 controller must be named EH02 (typical is EHC2)
 
Note also USBInjectAll requirements:

xHCI controller must be named 'XHC' (typical is XHC, but some use XHC1)
EHCI #1 controller must be named EH01 (typical is EHC1)
EHCI #2 controller must be named EH02 (typical is EHC2)

Thanks, I added the requirements to the first post.

PS I enumerate all ports that match a "AppleUSBXHCIPort" service. Will this include all USB ports?
 
Last edited:
I like to disable the EHCI controller(s) if not used (eg. FakePCIID_XHCIMux not being used), BIOS xHCI mode='enabled'.
how to disable EHCI controller "if" using USBPorts.kext?
 
PS I enumerate all ports that match a "AppleUSBXHCIPort" service. Will this include all USB ports?

No. That would only grab ports on XHC. It won't get ports on EH01/EH02 or ports on the hubs typically connected to EH01.PR11, EH01.PR21.

PRxx on EH0x are of type AppleUSBEHCIPort.
HPxx on the hubs are of type AppleUSB20InternalIntelHubPort. But that's only if the PRxx it is attached to is marked internal (UsbConnector=255). Non internal hub ports would be AppleUSB20IntelHubPort.

Maybe you could match against AppleUSBHostPort, as all have that in their inheritance tree.
 
how to disable EHCI controller "if" using USBPorts.kext?

Disabling the EHCI controller(s) is done with BIOS options, if provided.

Without BIOS options, you use ACPI (you will find the code in my hotpatch SSDT repo).
 
Back
Top