Contribute
Register

The New Beginner's Guide to USB Port Configuration

Hi there,

Yes, you can use the add-on, third-party ports but they can be unreliable as they are not actively configured. For a proper external PCI-e card the manufacturer often includes a driver disk. For those on a motherboard, those don't exist. Some "external" chipsets macOS knows about, while others it doesn't.

Well usually once the Intel USB port configuration has been done for a given motherboard, that will not need doing again even for a new version of macOS, because we are "injecting" USBPorts.kext from EFI and macOS is not loading or caching it. So I doubt that is your problem.

Having said that Apple do occasionally change some underlying method of doing things but I haven't heard anything related to USB.

You need to view your "wake" and "crash" logs to find out what process caused it. If that says USB then you probably have to look at what was attached at the time.

It was supposed to be an edit to the post above, but the answer came before I finished writing ... :)

A detail that can be useful: among the ports that have the name PRTx there is also a PRT4 that corresponds to an HS and physically it is in the same connector as PRT2 which is the SS. To stay within the limit of 15, I had excluded it, not knowing of this explanation that the limit only applies to the internal ones.
But as you can see from the image, the USBPorts.kext driver managed and excluded it. What can it mean?

I am checking all the panic reports and the last loaded kext changes almost always and one that has USB in the name is often mentioned. I eliminated all the programs that loaded non-Apple kext, leaving only those essential for Hackintosh to work, but I have not solved it.
I was hoping to succeed with this new procedure (which I will do anyway, because it is very convenient and precise for the doors), but nothing.

Thanks again for the answers.

Edit:
The only thing that is attached at that hub is the iPhone when the computer can sleep or awake, in other cases the things are plugged and unplugged before the sleep, only as further data.
 
Last edited:
Hi All,
I am trying to start my USB patching. But my Hackintool USB portion looks like thisView attachment 464940

There is one ASM1142 and one VL805 USB Host Controller whose ports don't show up in Hackintool
From IOReg, I am able to find there are six ports on the back associated with those 2 controllers
BC1382D4-7051-4453-8A79-D40439CDCE69-465-0000046DED8A7349.JPG

I am not sure how to patch USB ports controlled by these two host controllers

Other question on EH01 and EH02, I am unable to find any port which is controlled by these two controllers. I wonder what exactly are these two controllers and can I exclude these two controllers in my patch?

Thanks in advance


Hi there.

Because the chipset in your X99 motherboard has a limited number of USB3 ports the manufacturer has added more by using an ASMedia chip for the 2x USB3.1 ports, and a VIA controller for an extra 4x USB3.0 ports.

These add-ons do not count in your 15-port limit. Only the Intel USB3 and USB2 ports do.

macOS treats the ASMedia and VIA chipsets as "external", just as if you added a PCI-e USB card to a real Mac Pro.

These add-ons will work, but they will not be configured properly and may be unreliable. They will show up in IORegistryExplorer but not in the EHC or XHC trees.

Your EH01 and EH02 EHCI controllers are acting as "hubs". You can see PR01 and PR12 on each. So you can leave those in place. Any devices plugged into motherboard USB2 ports should show up on these hubs.

The Intel XHC ports need separating from the ASMedia and VIA controllers. Try removing them from the top panel or by just selecting the 8086_8D31 controller at the bottom of the list :thumbup:
 
Hello there.

I am not familiar with your CPU/Chipset combination, but after a little research I see that the C602 chipset features 14x USB2 ports only. No USB3. What I'll do now is give you some background information that may help. As I am in the dark about a couple of things, I don't want to just "Guess" for you...

Okay, what that Intel C602 means is that you have two EHCI controllers - EHC1 and EHC2 which you have renamed correctly to EH01 and EH02 :thumbup:

Now then, EHC controllers usually feature "hubs" PR11 and PR21, or similar nomenclature. BUT I can see from your screengrabs that there are actually more hubs. This might be caused by any kexts you have installed. So we need to check both the EFI/CLOVER/kexts/Other and Drive: Library/Extensions to see what is in there.

You say you have some USB3 ports. These will actually be controlled by an add-on, third-party controller. So not Intel. These may or may not show up in Hackintool. I've checked the HP specs but they don't actually tell me what manufacturer these may be, but they do confirm you have some! Sadly without that information I can go no further except to say they should work. With older versions of macOS there are kexts that would help, but not for Catalina.

What happens is that the third-party USB3 controller will have EHC links for the USB2 functionality, hence you having so many ports visible when the port-limit patch is applied.

Sorry that's all I can come up with at this stage...

:)


Thanks UtterDisbelief for your reply.

I have attached previously my EFI folder so it has the kexts loaded. My macosx setup is cleaned and have not installed any other kexts in the Library. Even Multibeast not installed.

I attached here my system board architecture drawing. It shows that the USB 3.0 are going through the TI-7340 (box/chip) controller. Texas Instruments.

Any ideas. Please see page 3 of attachment.

Edit: Seems no hope with this controller. Thanks for the support anyway.
 

Attachments

  • Pages from Z820 Service manual-2.pdf
    344.6 KB · Views: 45
Last edited:
Thanks for the guide. I followed it and I manage to see my ports in Hackintool, both HSxx and SSxx. Problem is it's not reading any USB 3.0 speed/SS devices. I have two USB 3.0 flash drives and I fail to get them mounted in OS X, disk utility and Hackintool. My iPhone/iPad and so on connects just fine but not the drives. They both connect fine on my Apple computer and I used one for installing this Hackintosh so the drives are not broken.

Any suggestions?


I will reply to myself for future hackintoshers to perhaps save some time with the same issue.
I managed to get USB 3.0 working by deselecting USB Ownership in Clover (pre boot Catalina) under Options -> PCI Devices.

Once done I followed this guide and it's working as intended. I've seen post requesting USB mapping and since I'm on a mITX board it's not really that many ports to configure. Below are my settings which activates all physical ports except USB C (which I don't use). One port is USB 2 only and that's where I connect my keyboard. Motherboard is same as in signature: Gigabyte Z390 I Aorus Pro WIFI.
 

Attachments

  • Screenshot 2020-04-28 at 21.15.57.png
    Screenshot 2020-04-28 at 21.15.57.png
    15.2 KB · Views: 91
  • Screenshot 2020-04-28 at 21.18.34.png
    Screenshot 2020-04-28 at 21.18.34.png
    91.7 KB · Views: 95
Last edited:
Remember to clear the Hackintool cache and reload it (the Broom icon; then the Circular Arrows icon in the bottom row).

What kexts do you have installed in Drive: Library/Extensions ?

Also consider changing the settings for the config.plist Device section from "true" to "false". You can use a plain text editor or Clover Configurator:
doooooh... the cache was the issue, is that in your original document? Did I overread that IMPORTANT part which kept us busy for days? :-/

What would disable the 2 options do?
 
hmm... there is sure something strange going on. So I went back to USBInjectAll because I made a mistake in the USBKext.

After seeing all usb ports again (not forgetting to clear cache and refreshing) I did configure a new USBKext.

But if I use that it doesn't work it shows all ports to the portlimit but not the one I configured... either with or without acpi patching.

Will retrace my steps and read through the guide again to check if I make a mistake.
 
hmm... there is sure something strange going on. So I went back to USBInjectAll because I made a mistake in the USBKext.

After seeing all usb ports again (not forgetting to clear cache and refreshing) I did configure a new USBKext.

But if I use that it doesn't work it shows all ports to the portlimit but not the one I configured... either with or without acpi patching.

Will retrace my steps and read through the guide again to check if I make a mistake.


Download the earlier version of IORegistryExplorer here:


... and use that to export your *.ioreg file. The file you uploaded before, is from an incompatible version. Thanks. :thumbup:
 
Download the earlier version of IORegistryExplorer here:
Is that still a thing? I use IORegistryExplorer 3.0.2 and never had an issue opening someone elses export.
 
Is that still a thing? I use IORegistryExplorer 3.0.2 and never had an issue opening someone elses export.


Hi there.

Currently it's only considered "best practice" for simplicity. And there's a clean copy here.

It may be the later versions cured the bug, but both @RehabMan and @toleda warned against it and that has stuck.

I also think few people have access to Apple's Developer downloads - "Hardware IO Tools for Xcode" - is where I believe it's found. A lot do but don't share the file etc.

:)
 
Hey there ! I need help to sort out only 2 USB ports on my build. I managed to sort out all the other ports, but these 2 specifics ones, are not working properly. Before I post screenshots etc... Am I in the right post to ask for help, or should I post somewhere else ?
 
Last edited:
Back
Top