Contribute
Register

The New Beginner's Guide to USB Port Configuration

Hi there.

Hmmm. It doesn't tell us too much, does it?

Okay, back to basics.

With an XHCI controller, such as the one your Z370 has (we are ignoring the PXSX ports as they are add-ons, remember), when you have just USBInjectAll.kext in place and no working port-limit removal patch, then you see the first 15 ports and these are usually as illustrated in your Hackintool screengrab - HS01 to HS14 and either a USR1 or SS01 port. Yours shows the former. This is correct.

So, it looks as though something is stopping the PLRP from working. That can be USBInjectAll.kext being in the wrong place, or out-of-date, or damaged, or an incorrect patch - but this looks okay.

1) Check you are not using either of the system-definitions I mentioned earlier.

2) Try version 0.73 of USBInjextAll.kext. (Don't try 0.75).

3) Check there are no hackintosh USB kexts in the Drive: Library/Extensions folder.

:)

Hello UtterDisbelief, thanx for the reply.
I went through the BIOS settings in detail to check if there was anything to be found. The only setting I found was the ASmedia USB 3.1 controller, which I disabled (Screenshot Hackintool attached). No further relevant items found.
My current system-definitions setting is iMac 18.3. These are based on an iMac model which was introduced mid 2017 (27” i7 - 7700k). Seems like a safe choice, agree?
I checked the Library/Extensions folder. As far as I can judge no USB related matters (screenshot attached).
Finally, I placed USBInjectAll.kext (version 0.7.3) in the Other folder. Still no result.
The strange thing is that in Catalina version 10.15.3 the SS ?? ports were still shown, although using an older version of Hackintools.
 

Attachments

  • Extensions.png
    Extensions.png
    708.3 KB · Views: 63
  • Hackintool  -ASmedia.png
    Hackintool -ASmedia.png
    653.2 KB · Views: 45
  • USBinjectAll 0.7.3.png
    USBinjectAll 0.7.3.png
    1.3 MB · Views: 60
Edit: Figured it out - I had an ollllld kext (GenericUSBXHCI.kext) in Library/Extensions that I removed. Hackintool now sees my USB 3.1 host controller!

Hey all, sorry if this has been answered elsewhere, but I can't find a solution via search:

Hackintool isn't showing me devices plugged into my USB 3.1 Gen2 port (#7 below), so I'm having trouble mapping everything correctly. My motherboard has the following:

Screen Shot 2020-08-03 at 2.55.01 PM.png


I've been able to map the USB 2.0 ports, the USB 3.1 ports, and the internal USB connections. Devices connected to the 3.1 Gen2 port work, aside from sleep/wake issues.

Here's a screenshot of a USB 3.0 hard drive connected to the USB 3.1 Gen2 as seen in IORegistryExplorer:
Screen Shot 2020-08-03 at 3.14.00 PM.png


And here's a USB 2.0 device connected to the 3.1 Gen2 port as seen in IORegistryExplorer:

Screen Shot 2020-08-03 at 3.19.04 PM.png


Here are my kernel patches via Clover (which I configured using this guide):
Screen Shot 2020-08-03 at 3.24.30 PM.png


What do I do? I want to make sure I have this port configured correctly, as it currently has problems with sleep/wake and require me to restart if I unplug a device from it and plug something else back in.
 

Attachments

  • Screen Shot 2020-08-03 at 3.12.54 PM.png
    Screen Shot 2020-08-03 at 3.12.54 PM.png
    427.4 KB · Views: 58
  • Screen Shot 2020-08-03 at 3.23.32 PM.png
    Screen Shot 2020-08-03 at 3.23.32 PM.png
    213.5 KB · Views: 45
Last edited:
Edit: Figured it out - I had an ollllld kext (GenericUSBXHCI.kext) in Library/Extensions that I removed. Hackintool now sees my USB 3.1 host controller!

Hey all, sorry if this has been answered elsewhere, but I can't find a solution via search:

Hackintool isn't showing me devices plugged into my USB 3.1 Gen2 port (#7 below), so I'm having trouble mapping everything correctly. My motherboard has the following:

View attachment 482782

I've been able to map the USB 2.0 ports, the USB 3.1 ports, and the internal USB connections. Devices connected to the 3.1 Gen2 port work, aside from sleep/wake issues.

Here's a screenshot of a USB 3.0 hard drive connected to the USB 3.1 Gen2 as seen in IORegistryExplorer:
View attachment 482799

And here's a USB 2.0 device connected to the 3.1 Gen2 port as seen in IORegistryExplorer:

View attachment 482792

Here are my kernel patches via Clover (which I configured using this guide):
View attachment 482798

What do I do? I want to make sure I have this port configured correctly, as it currently has problems with sleep/wake and require me to restart if I unplug a device from it and plug something else back in.


Hi there.

The problem you have here is that the USB3.1 Gen 2 ports are supplied and controlled by an ASMedia, third-party, chipset. They are not Intel and so not controlled by macOS. Nor do they figure in your 15-port limit.

Sometimes Hackintool spots these add-on controllers, and sometimes it doesn't. It looks as though in your case, it hasn't.

macOS treats these third-party ports as though they are a PCIe USB card added to a Mac Pro or similar. They work but are not configurable unless the manufacturer supplies macOS drivers. A rarity these days. Some work was done by @RehabMan a few years ago to provide support - his GenericUSBXHCI.kext was the result. The trouble is it's now 5-years out of date and as you discovered, can now cause problems rather than help.
 
Thank you for creating the guide. Before I use it, I want to check in to see if it's necessary. The problem I have is that my USB 3.0 port for the camera that uses USB C (Logitech BRIO). When I select sleep and then wake it up, everything is working fine except for the camera. Would configuring the USB port resolve this issue or is it something else? Pelase let me know. Thanks!
 
Thank you for creating the guide. Before I use it, I want to check in to see if it's necessary. The problem I have is that my USB 3.0 port for the camera that uses USB C (Logitech BRIO). When I select sleep and then wake it up, everything is working fine except for the camera. Would configuring the USB port resolve this issue or is it something else? Pelase let me know. Thanks!


Hi there.

I always recommend that builders configure their USB ports correctly, because unless you do, you will not know if this is causing the problem, or something else.

Quite a few other builders have experienced problems with web-cams failing to work after sleep, and yes, this is usually caused by the USB port.

Note - Your USB-C port is also a Thunderbolt 3 port, which means although it is Intel in origin, the power-management technology required may not be the same as a basic port. This guide does not configure Thunderbolt 3.

So, it is up to you. Nothing is compulsory, but until you do the port configuration, you'll never know etc.

:)
 
hello everyone here

I have a question (perhaps trivial, but always better if it can save time):
Does the kext created with this guide and fully functional remains valid also in the conversion of the installer from Clover to Open Core, or do you have to switch from the injectall starting from scratch anyway?
I've seen around that about OC we only talk about ssdt and not about the new custom kext for usb (created here) and so I got the doubt.
I apologize even if maybe someone has already talked about it, but I have not read all the back pages of the thread ...

Before trying an upgrade on a test SSD to Big Sur beta I would like to be able to create an EFI OC (so I take this opportunity to study Open Core a bit) that works perfectly with Catalina and then I can work with the update, instead of do a new installation.
I ask here even if there is any known contraindication to this road, perhaps even to things not related to USB that then, if anything, I will go to deepen in appropriate places.

Thanks in advance.
 
Hi there.

Well the BT adapter on the Broadcom card you have is, I believe 20702A0 so should be compatible OOB, even if the wi-fi section needs patching at boot with kexts.

In Windows the Bluetooth driver uploads firmware to the adapter every time the system boots. I find this a horrible state of affairs, but it's true. Why design the system this way? Who knows? Someone with more insight than me.

There was a similar problem reported here. The OP was lucky to get @RehabMan on board with this one.

My previous questions about the way you have mounted the broadcom card in your Dell, was to try and discover how it was getting the necessary USB connection. I had to assume a PCI-e adapter card which comes with a USB fly-lead. Hence my mention of the Internal header being used.

:)
Finally got that card to work with latest BrcmPatchRAM3 and BT injector kexts. The resulting usbports.kext I created worked, too. But I should add that the USBInjectAll.kext indicated something was attached to the internal USB but didn't identify the card.
 
hello everyone here

I have a question (perhaps trivial, but always better if it can save time):
Does the kext created with this guide and fully functional remains valid also in the conversion of the installer from Clover to Open Core, or do you have to switch from the injectall starting from scratch anyway?
I've seen around that about OC we only talk about ssdt and not about the new custom kext for usb (created here) and so I got the doubt.
I apologize even if maybe someone has already talked about it, but I have not read all the back pages of the thread ...

Before trying an upgrade on a test SSD to Big Sur beta I would like to be able to create an EFI OC (so I take this opportunity to study Open Core a bit) that works perfectly with Catalina and then I can work with the update, instead of do a new installation.
I ask here even if there is any known contraindication to this road, perhaps even to things not related to USB that then, if anything, I will go to deepen in appropriate places.

Thanks in advance.

Probably, I realize, my question was too trivial and could be answered by itself, however I share the answer for those who might need it.
The kext created with this guide (USBport.Kext) works perfectly even immediately, without the need to replace it in the EFI with injectall once in Big Sur.
And for the second question, a little less related to the present thread, but now there is and therefore we might as well answer: if the EFI and above all, the config.plist are done correctly (at least for the basics and start the system to be updated) there are no contraindications to updating a system already structured in 10.15.6, but once inside you will immediately realize how much is no longer available.
The functionalities (audio, video, sleep, USB, etc ...) remain complete in everything, in any case and even the benchmarks are not different, if not by a few points, as always happens even if they are repeated on the same system.
The update takes place automatically, with the need to select the disk in the bootloader at each reboot.
Last note that can be useful: the whole process was successful on a USB connected SSD and starts working connected in this way.

I hope it will be useful and I greet everyone.
 
Probably, I realize, my question was too trivial and could be answered by itself, however I share the answer for those who might need it.
The kext created with this guide (USBport.Kext) works perfectly even immediately, without the need to replace it in the EFI with injectall once in Big Sur.
And for the second question, a little less related to the present thread, but now there is and therefore we might as well answer: if the EFI and above all, the config.plist are done correctly (at least for the basics and start the system to be updated) there are no contraindications to updating a system already structured in 10.15.6, but once inside you will immediately realize how much is no longer available.
The functionalities (audio, video, sleep, USB, etc ...) remain complete in everything, in any case and even the benchmarks are not different, if not by a few points, as always happens even if they are repeated on the same system.
The update takes place automatically, with the need to select the disk in the bootloader at each reboot.
Last note that can be useful: the whole process was successful on a USB connected SSD and starts working connected in this way.

I hope it will be useful and I greet everyone.


Sorry I missed your first post. I was not 'notified'.

USBPorts.kext does indeed work for Catalina and any upgrades because it patches ACPI before the macOS loads. I have not yet tried Big Sur but I do not expect any problems.

And yes, the USBPorts.kext works fine with both Clover and OpenCore bootloaders. You just have to remember to add the kext to the Kernel section of your OC config.plist, miss out the path to the executable, because it doesn't have one, but still link the "Info.plist".

:)
 
Back
Top