Contribute
Register

The New Beginner's Guide to USB Port Configuration

Yes, F-USB30 is the front USB3 on my case, my case only has one front USB3 port though



Checked and double quadruple checked, these are what light up



Uninstalled both, same behaviour



Done, again same behaviour. Can't see anything in s/l/e untoward


I disabled this in BIOS and no change

I wish I had a better understanding of what is wrong, so frustrating
you have InjectKexts set to Yes

but you only have FakeSMC.kext in clover

with InjectKexts set to Yes you will need to have all your kexts in clover

or set InjectKexts set to Detect and leave your kexts where they are
 
Yes, F-USB30 is the front USB3 on my case, my case only has one front USB3 port though



Checked and double quadruple checked, these are what light up



Uninstalled both, same behaviour



Done, again same behaviour. Can't see anything in s/l/e untoward


I disabled this in BIOS and no change

I wish I had a better understanding of what is wrong, so frustrating


Sorry to hear nothing I am suggesting is making any difference.

It's clear there are errors in the USB port configuration, but what is causing them could be as @Feartech suggests, otherwise it is not apparent what is going on.

Things to take away from this scenario:

F_USB3 still has two ports in it even if the case only has one. SS02 is probably the second front-panel port you can't use. It should be allocated a locationID that is unique.

SS ports with the same locationIDs as HS ports is another error in configuration.

A chipset like the Z87 has 2x 4-port EHC USB2 controllers and 1x 6-port XHC USB3 controller. The 6x USB3 ports can operate with USB2 devices too so need 2x configurations per port.

You can't configure more than 20 ports on this motherboard. That more are showing - even with HS11 & HS12 missing - is a configuration problem.

If removing kexts makes no difference then the kext-cache is not being flushed and rebuilt properly.

As this is a "Beginner's Guide" and you have an unusual set of problems, it might be a good idea to start a new problem thread in Post Installation / General to encourage other experienced users, who might not necessarily be beginners, to offer help :thumbup:
 
Last edited:
Hi so i have a weird issue going on. USBPorts.kexts makes no difference with Disabling Ports that are not needed so reverted back to USBInjectall and have SSDT-UIAC along with EC. And ports are fine all Ports work. At boot it hangs at IOUSBHostInterface(0x100000388): matching deferred by IOUSBHostHIDDevice i originally thought it was my mouse unplugged and still have the same message, i have removed my SSDT-Hack i patched but still have the same problem. Any ideas? here in the ioreg
 

Attachments

  • Mac mini.ioreg
    5.3 MB · Views: 219
Hi so i have a weird issue going on. USBPorts.kexts makes no difference with Disabling Ports that are not needed so reverted back to USBInjectall and have SSDT-UIAC along with EC. And ports are fine all Ports work. At boot it hangs at IOUSBHostInterface(0x100000388): matching deferred by IOUSBHostHIDDevice i originally thought it was my mouse unplugged and still have the same message, i have removed my SSDT-Hack i patched but still have the same problem. Any ideas? here in the ioreg

Hi and welcome back :thumbup:

I'm away from my desk right now but should be back in a couple of hours and will take a look :)
 
Hi and welcome back :thumbup:

I'm away from my desk right now but should be back in a couple of hours and will take a look :)

Hey thanks :). Ive solved the issue with the USB by doing a fresh install. Cheers.
 
"If you see three lines in the top panel of Hackintool with two EHC and one XHC controller then prioritise the XHC because this is where USB3.0 comes from. "

Where do you "prioritise" XHC over the other 2? I don't see it mentioned at all in the beginners guide, or elsewhere?
 
"If you see three lines in the top panel of Hackintool with two EHC and one XHC controller then prioritise the XHC because this is where USB3.0 comes from. "

Where do you "prioritise" XHC over the other 2? I don't see it mentioned at all in the beginners guide, or elsewhere?

Okay.

The phrase you mention is in Appendix #3 which is actually referenced in the Beginner's Guide at the relevant point - checking what ports you have :thumbup: Here's a bit more info -

A Z97 Intel chipset has 6x USB 3.0 ports and 8x USB2 ports. The thing is those USB2 ports are on 2x EHC controllers, each with 4x ports, and the 6x USB3 ports are on an XHC controller. (Total 20x ports).

A Z170/270/370/390 chipset has 10x USB3 ports and 14x USB2 ports - all on the XHC controller. That's 34 possible port configurations.

When we are trying to get down to Apple's 15-ports, as I said, it makes sense to prioritise the XHC component on an older, mixed controller, set-up. This is because 12x ports are already accounted for on XHC, so you only need another 3x from EHC to get to the magic 15.

Because you are the one doing the port discovery for your particular motherboard, you have to make the choice - prioritise - not me. One port might be in an ideal location for some component that needs it. And that port may, or may not, be on an EHC controller.

In Hackintool just select the line in the top panel you want to view.

This whole area is not gone into any depth in the guide because this is for Beginner's. There is a lot more to USB configuration, such as power output and 3rd-party controller chips, but that can be touched on in more advanced discussions.

:)
 
Thank you for your guide. It's very helpful.
I have a couple of questions. Which is best to have with regards for future updates. SSDT_USB.aml or USBports. kext ?
Also I will be testing both of your guides so just want to know if there are anything else to select/tick/input into Clover configurator once I put the
SSDT_USB.aml or USBports. kext in their respective places and removing the port limit patch and UsbInjectAll.kext ? Many Thanks.
 
Thank you for your guide. It's very helpful.
I have a couple of questions. Which is best to have with regards for future updates. SSDT_USB.aml or USBports. kext ?
Also I will be testing both of your guides so just want to know if there are anything else to select/tick/input into Clover configurator once I put the
SSDT_USB.aml or USBports. kext in their respective places and removing the port limit patch and UsbInjectAll.kext ? Many Thanks.
I see in your first guide that you said to leave the UsbInjectAll.kext in place. Do we still need to rely on this kext ?
 
I see in your first guide that you said to leave the UsbInjectAll.kext in place. Do we still need to rely on this kext ?
You need it initially for the port discovery and you'll delete it after you've got your USBPorts.kext made.
For Clover - Delete USBInjectAll.kext and replace it with USBPorts.kext in EFI/CLOVER/kexts/Other. Remove the PLR-Patches from your config.plist either by editing, or ticking the "Disable" boxes using Clover Configurator.

For OpenCore - Delete USBInjectAll.kext and replace it with USBPorts.kext in OC/Kexts - AND - don't forget to amend the kext name in your config.plist. To remove the PLR-Patches either edit them to "/false", or un-tick that Quirk - "XhciPortLimit".

Note: the author of this guide won't be back until tomorrow AM. He's gotta sleep too.
 
Back
Top