Contribute
Register

The New Beginner's Guide to USB Port Configuration

AMAZING i worked it out! Sorry for being such a noob!

The problem was my understanding of the USB mapping , i thought that the title HS08 or SS08 (<KEY>) was all you needed you then set the port to what you wanted it to be USB 2 or 3 or c by using the type setting (<integar>) and then just aded a <data> value like AgAAAA== to fit after the previous entry. I went through CharlesCai USBMap.text on github and realised my thought was wrong.

You must add the port using a set <data> value and enter what type of physical port it is <integar> , i didn't realise that the SS and HS entries have total different <data> values.

I used CharlesCai USBMap.kext list which had all the ports correctly labelled and addressed and just choose what ports i wanted form this and pasted them into my own USBMap.kext.

Now i have 5gbps on my USB-C :) , my only question is what i should set Port Count to in USBMAp.kext

Thankyou so much @UtterDisbelief i really appreciate your answers, it feels great now its working. Thankyou @charlescai for keeping your files on github , without them i would not have worked it out. I have attached my hackintool usb list , i just have a few more ports to add but its all work and understood why now.
According to ASUS, your MB has both USB3.2 Gen 1 and Gen 2 (ASUS specs aren't clear if they are Gen1x1, 1x2, 2x1 or 2x2). Here are the speeds you should be getting on them, regardless...
1675205407795.png
 
my only question is what i should set Port Count to in USBMAp.kext
The "port count" is the Value of the highest port in your port listing. Example is below.

Port Count.jpg
 
Last edited:
USBInjectAll.kext saved my nerves since every time a usb device was turned off macOS was telling I'm using not a genuine copy of macOS and I had to reboot. Now all work perfectly! Thank you!!
 
First, many thanks to @UtterDisbelief for this guide and to @Edhawk (and others) for your work here, especially on Haswell builds -- an EFI you posted helped me get to Ventura from Big Sur. Everything is working now as far as I can see (including Sleep/Wake, CPU speeds, Bluetooth, WiFi, etc.) with the exception of power output on USB ports.

Screenshot 2023-02-17 at 3.06.19 PM.png


My iPhone is only getting 500mA, however the USBPorts.kext I generated from Hackintool has, I believe, the proper power settings. I am using the following in my ACPI folder:

Screenshot 2023-02-17 at 3.25.00 PM.png


I have attached the USBPorts.kext - if you have any thoughts on what I'm missing, I would certainly appreciate it.
 

Attachments

  • USBPorts.kext.zip
    2.2 KB · Views: 17
Last edited:
I would suggest removing the SSDT-USBX.aml as you have the USB power settings in your USBPorts.kext/Contents/Info.plist along with the 12 x USB ports you are activating in your system.

Screenshot 2023-02-17 at 23.55.41.png ProperTree view of the Info.plist showing the USB power options

The SSDT-USBX.aml just duplicates these USB power settings. Maybe having the USB power settings duplicated is causing the iPhone not to get sufficient power.
 
I would suggest removing the SSDT-USBX.aml as you have the USB power settings in your USBPorts.kext/Contents/Info.plist along with the 12 x USB ports you are activating in your system.

View attachment 563575 ProperTree view of the Info.plist showing the USB power options

The SSDT-USBX.aml just duplicates these USB power settings. Maybe having the USB power settings duplicated is causing the iPhone not to get sufficient power.
Oooo. Didn't realize this. I've got SSDT-EC-USBX.aml running along with USBPorts.kext on my Kaby Lake build. Is that also redundant? I have it installed because Dortania shows it as one of the first things to add in his OC guide.
 
I would suggest removing the SSDT-USBX.aml as you have the USB power settings in your USBPorts.kext/Contents/Info.plist along with the 12 x USB ports you are activating in your system.

The SSDT-USBX.aml just duplicates these USB power settings. Maybe having the USB power settings duplicated is causing the iPhone not to get sufficient power.

Thank you for the quick reply! I disabled SSDT-USBX.aml in my config.plist, however the power output is the same. Is there anything I could check in IORegistryExplorer that might shed light on the situation?

Just looking at IOProviderClass in my USBPorts.kext, it's showing as AppleUSBXHCILPTHB whereas Superbogey's was AppleUSBXHCIPCI.

Just riffing on that, System Information shows my USB 3.0 Bus as device ID 0x8cb1, vendor ID 0x8086. That shows up in RehabMan's XHCI-unsupported.kext/Contents/Info.plist (inside of OS-X-USB-Inject-All). See the relevant snippet below -- what if I booted with XHCI-unsupported.kext? I Googled AppleUSBXHCILPTHB and this is one of the only things that shows up.

Code:
<key>AppleUSBXHCILPTH 9-series</key>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
            <key>IOClass</key>
            <string>AppleUSBXHCILPTH</string>
            <key>IOPCIPauseCompatible</key>
            <true/>
            <key>IOPCIPrimaryMatch</key>
            <string>0x8cb18086</string>
            <key>IOPCITunnelCompatible</key>
            <true/>
            <key>IOProbeScore</key>
            <integer>900</integer>
            <key>IOProviderClass</key>
            <string>IOPCIDevice</string>
        </dict>
 
Last edited:
You don’t need XHCI-Unsupported.kext with you Haswell system. The USB Controller is already defined in your system. But you can add it to see if it makes any difference without to much risk.
 
@Superbogey you only need SSDT-EC.aml. When you have the USB power defined in the USBPorts.kext.

The Dortania guide assumes you are starting from zero, that you don’t have the USB power options in a USBPorts.kext. So it recommends the combo SSDT.
 
Back
Top