Contribute
Register

The New Beginner's Guide to USB Port Configuration

@UtterDisbelief

Just want to give a thumbs-up on the guide and ask 1 question.

Firstly, this is my second build and I am using an ASRock MB this time round. Your guide worked like a charm with no problems. Also want to give a thanks to @headkaze for the whole Hackintool thing. And thanks for all the others and the behind the scenes folks as well. This was much faster and easier than my first build.

As a side note to others who may be using an ASRock MB that when mapping your USB ports, the HS** and SS** for the USB3's are not the same number for the majority of them. I do not know why, but they all work fine.

Now for the question. In your guide at the end, Step 6) Job Done - Check your work, I ran both Hackintool and IORegistryExplorer. Hackintool shows all available USB ports, but only the ones I kept during the process of your guide show up in green. IORegistryExplorer shows everthing as it should be.

Is this a problem or is it normal?

I have read through this entire post and see that this question has been asked before. I have check my system for the suggestions given to others. I have cleared USBInjectALL from L/E and EFI/EFI/Clover/kexts/other per the guide. I have no .aml patches. I have no port limit patches left in Clover Configurator. I also followed your suggestion in post #611 using Clover Configurator, under Devices section and setting all the USB setting to False or as I did, just uncheck them.

Thanks
ThaiGyver
 

Attachments

  • USB Mapping.png
    USB Mapping.png
    452.1 KB · Views: 55
@UtterDisbelief

Just want to give a thumbs-up on the guide and ask 1 question.

Firstly, this is my second build and I am using an ASRock MB this time round. Your guide worked like a charm with no problems. Also want to give a thanks to @headkaze for the whole Hackintool thing. And thanks for all the others and the behind the scenes folks as well. This was much faster and easier than my first build.

As a side note to others who may be using an ASRock MB that when mapping your USB ports, the HS** and SS** for the USB3's are not the same number for the majority of them. I do not know why, but they all work fine.

Now for the question. In your guide at the end, Step 6) Job Done - Check your work, I ran both Hackintool and IORegistryExplorer. Hackintool shows all available USB ports, but only the ones I kept during the process of your guide show up in green. IORegistryExplorer shows everthing as it should be.

Is this a problem or is it normal?

I have read through this entire post and see that this question has been asked before. I have check my system for the suggestions given to others. I have cleared USBInjectALL from L/E and EFI/EFI/Clover/kexts/other per the guide. I have no .aml patches. I have no port limit patches left in Clover Configurator. I also followed your suggestion in post #611 using Clover Configurator, under Devices section and setting all the USB setting to False or as I did, just uncheck them.

Thanks
ThaiGyver


Hi there.

Good news. Glad you have configured everything as you need it :thumbup:

Usually this Hackintool behaviour is caused by the cache it uses. If you bring up the Hackintool USB window and then look to the bottom row of icons... Mouse-click the "broom" icon, third from the left, then mouse-click the fourth icon, the circular "refresh" arrows. That should do the trick. If it doesn't ...

:)
 
Hi there.

Good news. Glad you have configured everything as you need it :thumbup:

Usually this Hackintool behaviour is caused by the cache it uses. If you bring up the Hackintool USB window and then look to the bottom row of icons... Mouse-click the "broom" icon, third from the left, then mouse-click the fourth icon, the circular "refresh" arrows. That should do the trick. If it doesn't ...

:)
Thanks for the quick response and easy solution.

AAANnnnnndd, I now see the errors of my way as you already answered that question in post #611. I think maybe I am taking in too much info in one sitting.

Again, great guide and thanks for everything.

ThaiGyver
 
Hi there,

Nice guide. I have gone through the steps. However, i have all my USB ports showing as EH01 and EH02. There are 30 of them. My issue is that i cannot get any USB 3.0 port to work.

My setup: I have an HP Z820 with E5-2680 V2. Running 10.15.4. Working fine and stable.
I have a USB 2.0 thumb drive and i started the hcakintool. I inserted the usb 2.0 thumb drive in all the usb 2.0 external ports and it shows up in green. See the photo. I also inserted the same usb 2.0 in the USB 3.0 ports but nothing shows up. I have an external USB 3.0 drive and i inserted in the USB 3.0 ports and it powers up. But it does not show in the Hackintool or mount the drive.
I hope i have described the issue clearly.

Request your help.

I have attached my EFI folder and Hackintool snapshot.
 

Attachments

  • EFI-April 24th.zip
    3.9 MB · Views: 45
  • Screen Shot 2020-04-24 at 9.42.19 PM.png
    Screen Shot 2020-04-24 at 9.42.19 PM.png
    135.5 KB · Views: 67
  • Screen Shot 2020-04-24 at 9.32.49 PM.png
    Screen Shot 2020-04-24 at 9.32.49 PM.png
    362.2 KB · Views: 67
  • Screen Shot 2020-04-24 at 9.13.10 PM.png
    Screen Shot 2020-04-24 at 9.13.10 PM.png
    359.7 KB · Views: 82
I followed the procedure indicated here to generate USBports.kext and everything went well, it is a very easy and comfortable procedure for which I thank the creators of the procedure @UtterDisbelief and the useful tool @headkaze very much.
The ports all work and since on some I already have permanently connected devices I have selected only the relative HS, (not using the SS) and I have kept more opportunities free on other possible connections, remaining within the limit of 15.
Upon verification I detected a problem, for which I attached an image. In practice in the image there are the selections I made for USBPorts.kext, but those highlighted in blue were among the excluded ones that instead return and move the limit of 15 to 18 and unfortunately I think they are at the origin of a problem of Crash after the sleep I have.
I have tried to understand if I have to change that PXSX that is in the Type (as it should happen in the case of XHCI, XHC1, EHC1 etc ...), but I could not find with what and how to do it.

Thanks in advance for the suggestions.
Schermata 2020-04-25 alle 10.35.15.png
 
Hi there,

Nice guide. I have gone through the steps. However, i have all my USB ports showing as EH01 and EH02. There are 30 of them. My issue is that i cannot get any USB 3.0 port to work.

My setup: I have an HP Z820 with E5-2680 V2. Running 10.15.4. Working fine and stable.
I have a USB 2.0 thumb drive and i started the hcakintool. I inserted the usb 2.0 thumb drive in all the usb 2.0 external ports and it shows up in green. See the photo. I also inserted the same usb 2.0 in the USB 3.0 ports but nothing shows up. I have an external USB 3.0 drive and i inserted in the USB 3.0 ports and it powers up. But it does not show in the Hackintool or mount the drive.
I hope i have described the issue clearly.

Request your help.

I have attached my EFI folder and Hackintool snapshot.

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...

:)
 
I followed the procedure indicated here to generate USBports.kext and everything went well, it is a very easy and comfortable procedure for which I thank the creators of the procedure @UtterDisbelief and the useful tool @headkaze very much.
The ports all work and since on some I already have permanently connected devices I have selected only the relative HS, (not using the SS) and I have kept more opportunities free on other possible connections, remaining within the limit of 15.
Upon verification I detected a problem, for which I attached an image. In practice in the image there are the selections I made for USBPorts.kext, but those highlighted in blue were among the excluded ones that instead return and move the limit of 15 to 18 and unfortunately I think they are at the origin of a problem of Crash after the sleep I have.
I have tried to understand if I have to change that PXSX that is in the Type (as it should happen in the case of XHCI, XHC1, EHC1 etc ...), but I could not find with what and how to do it.

Thanks in advance for the suggestions.
View attachment 464843


Hello there.

Yes, those PXSX ports are problably the ones attached to the ASMedia controllers. The XHC ones will be the Intel.

macOS only recognises as "on-board" EHC or XHC Intel USB ports. Any others may work, but they are treated as "external". For example, as though you plugged-in a PCI-e card with extra USB ports on it, into a Mac Pro.

The 15-port limit only applies to on-board Intel USB ports.

So when you build your USBPorts.kext ignore, or remove, the ASMedia ports and only configure the Intel ones.

:)
 
Hi All,
I am trying to start my USB patching. But my Hackintool USB portion looks like this
Screen Shot 2020-04-25 at 12.00.15 AM.png


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
 

Attachments

  • BC1382D4-7051-4453-8A79-D40439CDCE69-465-0000046DED8A7349.JPG
    BC1382D4-7051-4453-8A79-D40439CDCE69-465-0000046DED8A7349.JPG
    90.5 KB · Views: 57
Hello there.

Yes, those PXSX ports are problably the ones attached to the ASMedia controllers. The XHC ones will be the Intel.

macOS only recognises as "on-board" EHC or XHC Intel USB ports. Any others may work, but they are treated as "external". For example, as though you plugged-in a PCI-e card with extra USB ports on it, into a Mac Pro.

The 15-port limit only applies to on-board Intel USB ports.

So when you build your USBPorts.kext ignore, or remove, the ASMedia ports and only configure the Intel ones.

:)

Thanks for the reply.
Based on this rule, therefore, can I configure 15 XHC ports and maintain the full functionality of the others? (up to now I have never used them all obviously)
In this case, can I deduce that the problem of the crash after sleep does not depend on this?
If so, I don't understand why I can only avoid it if I disconnect the USB-C hub. And I don't understand why the problem has only occurred to me since I updated to 10.15.4, while from 10.14.3 up to here it had never given me problems, with simple patches (both for 10.14.x and for 10.15 .x) nor with an SSDT-USB.aml specification.

Somehow the USB ports seem to be involved, after this update and also those related to the "external" controller. How can I understand why I have this panic after sleep?
 
Thanks for the reply.
Based on this rule, therefore, can I configure 15 XHC ports and maintain the full functionality of the others? (up to now I have never used them all obviously)
In this case, can I deduce that the problem of the crash after sleep does not depend on this?
If so, I don't understand why I can only avoid it if I disconnect the USB-C hub. And I don't understand why the problem has only occurred to me since I updated to 10.15.4, while from 10.14.3 up to here it had never given me problems, with simple patches (both for 10.14.x and for 10.15 .x) nor with an SSDT-USB.aml specification.

Somehow the USB ports seem to be involved, after this update and also those related to the "external" controller. How can I understand why I have this panic after sleep?


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.
 
Back
Top