Contribute
Register

The New Beginner's Guide to USB Port Configuration

Well done on all your efforts to get this sorted. It's not always as easy as others would have you believe. :thumbup:

My initial reaction on seeing the Hackintool screengrabs was that there's a confusion caused by the Renesas piggy-back controller here. According to Gigabyte your motherboard only has 2x native Intel USB3 ports and these are on internal header(s). There are also just 4x Intel USB2 ports, again on internal headers. The external ports are a mix of Intel USB2 ports augmented by the Renesas chipset to make them USB3 compatible. As I mentioned before, there are two common ways to implement 3rd-party controllers - one is to use an extra controller for both USB3 and USB2 ports in addition to the Intel ones. The other is to piggy-back on Intel USB2 ports to give them USB3 functionality. This second method is always more difficult to sort out on macOS.

The Renesas controller provides "Hubs". This can be a cause of the devices you plug in not appearing on a specific port, only the hubs you see in Hackintool.

So that's all the background. What to do?

1) Plug your Bluetooth adapter into an internal USB2 port and when it appears in Hackintool set the 'Connector' to Internal. It shows up in your screengrabs at HP17, but obviously I don't know where that is physically. If you can do that it should cure your PC of instant wake from sleep.

2) Double-check you don't have any USB related 3rd-party kexts lurking anywhere - Library/Extensions as well as EFI-Kext folder.

3) Are you still on High Sierra or have you upgraded and I've missed you mentioning it? The reason I ask is because an old kext called GenericUSBXHCI.kext by @RehabMan is one that worked with this chipset, creating an XHC IOReg entry for the ports to attach to and thus act more like conventional USB. It rarely works with later macOS versions so is not recommended nowadays, but for High Sierra may help.

4) If nothing else works and as none of your external, back-panel ports are native Intel, and you need some, then perhaps consider a USB PCIe add-on card which uses a fully supported controller chip. macOS treats these just as though they were inserted in a real Mac Pro.

:)

1) The Bluetooth adapter is currently connected to one of the two USB2 headers on my motherboard (the USB2 ports on the front of my case are connected to the other one). Are you saying I should unplug it from the header and then plug it back in while running Hackintool? And should I switch back to using USBInjectAll.kext before I do that?

2) Good call. It turns out that FakePCIID_XHCIMux.kext and FakePCIID.kext were also under L/E (probably installed with Multibeast a long time ago). I just deleted them. I didn't see anything else that looked like it was USB or Hackintosh-related.

3) No, I'm on Catalina.

4) Hopefully I won't have to buy a USB PCIe card, but thanks for the suggestion.

Thanks again for all your help! I'm going to continue trying to sort this out tomorrow.
 
1) The Bluetooth adapter is currently connected to one of the two USB2 headers on my motherboard (the USB2 ports on the front of my case are connected to the other one). Are you saying I should unplug it from the header and then plug it back in while running Hackintool? And should I switch back to using USBInjectAll.kext before I do that?

2) Good call. It turns out that FakePCIID_XHCIMux.kext and FakePCIID.kext were also under L/E (probably installed with Multibeast a long time ago). I just deleted them. I didn't see anything else that looked like it was USB or Hackintosh-related.

3) No, I'm on Catalina.

4) Hopefully I won't have to buy a USB PCIe card, but thanks for the suggestion.

Thanks again for all your help! I'm going to continue trying to sort this out tomorrow.

Morning. (Here anyway :) )

1) No, if the bluetooth adapter is plugged-in to one of the USB2 motherboard headers you do not need to plug-unplug at all. If it is at HP17 as I said then just change to "Internal" and create a new USBPorts.kext. An no again. Looking at your latest Hackintool screen with the ports reduced, the HP17/BT port is still there, so you would only need to switch back to USBInjectAll if you want to re-evaluate all your ports again.

2) Okay. Now you've removed the duplicate kexts from L/E remember to rebuild the kext-caches (I assume you did because the ports reduced etc.).

3) Ah. In that case GenericUSBXHCI.kext may not work. It was last updated in 2015 and High Sierra is close enough that it probably would have an effect. With Catalina though, some report it works, others report it does nothing. All depends on the motherboard and macOS version.

With 3rd-party USB chipsets it can be a difficult situation to resolve. Having no native Intel USB3 ports on the back-panel is unfortunate. Apple didn't use them directly but did provide some drivers for the Mac Pro line and add-on, PCIe cards. ASMedia being one and Fresco Logic being another in common use. Always worth checking the model before you pick an external card - if you have to obtain one in the end.

:)
 
Morning. (Here anyway :) )

1) No, if the bluetooth adapter is plugged-in to one of the USB2 motherboard headers you do not need to plug-unplug at all. If it is at HP17 as I said then just change to "Internal" and create a new USBPorts.kext. An no again. Looking at your latest Hackintool screen with the ports reduced, the HP17/BT port is still there, so you would only need to switch back to USBInjectAll if you want to re-evaluate all your ports again.

2) Okay. Now you've removed the duplicate kexts from L/E remember to rebuild the kext-caches (I assume you did because the ports reduced etc.).

3) Ah. In that case GenericUSBXHCI.kext may not work. It was last updated in 2015 and High Sierra is close enough that it probably would have an effect. With Catalina though, some report it works, others report it does nothing. All depends on the motherboard and macOS version.

With 3rd-party USB chipsets it can be a difficult situation to resolve. Having no native Intel USB3 ports on the back-panel is unfortunate. Apple didn't use them directly but did provide some drivers for the Mac Pro line and add-on, PCIe cards. ASMedia being one and Fresco Logic being another in common use. Always worth checking the model before you pick an external card - if you have to obtain one in the end.

:)

OK. This morning, I rebuilt the kext caches, changed HP17 back to "Internal", and exported a new USBPorts.kext.

Then I rebooted, and…the Logitech receiver for my mouse and keyboard wouldn't work in any USB port. I figured it was because FakePCIID_XHCIMux.kext in L/E had been messing things up, and now that it had been removed, the ports had changed.

I rebooted again using the working EFI from an external cloned drive so that my Logitech receiver would work. I replaced USBPorts.kext with USBInjectAll.kext and re-enabled the Catalina port limit removal kext patches, and rebooted.

Opening Hackintool, I could see my suspicion was correct because different ports were showing as active.

Hackintool USBInjectAll after deleting FakePCIID_XHCIMux 1.png


I tested all of my ports again and found that while the ports for USB3 devices had remained the same, the ports for USB2 devices had all changed. I deleted all of the ports not shown as active as well as 5 active ports that had no device name and an "Unknown" device speed: HP13, HP14, HP15, HP16, and HP17. I set the new port for my Bluetooth adapter, HS13, to "Internal", and exported a new USBPorts.kext. I replaced USBInjectAll.kext with USBPorts.kext and disabled the Catalina port limit removal kext patches again, and rebooted.

At this point, HS13 was showing as "USB3" in Hackintool for some reason, and I still couldn't get my computer to sleep (maybe I had forgotten to actually set it to "Internal"). I made sure to set it to "Internal" this time, exported a new USBPorts.kext, and rebooted.

Now, HS13 shows as "Internal", Bluetooth is working, and I can put my computer into sleep mode without it waking up! :thumbup: :headbang:

I will continue monitoring for any issues, but I think everything's good now. A big thank you again for your help with this! :)

Hackintool USBPorts after deleting FakePCIID_XHCIMux.png
 
OK. This morning, I rebuilt the kext caches, changed HP17 back to "Internal", and exported a new USBPorts.kext.

Then I rebooted, and…the Logitech receiver for my mouse and keyboard wouldn't work in any USB port. I figured it was because FakePCIID_XHCIMux.kext in L/E had been messing things up, and now that it had been removed, the ports had changed.

I rebooted again using the working EFI from an external cloned drive so that my Logitech receiver would work. I replaced USBPorts.kext with USBInjectAll.kext and re-enabled the Catalina port limit removal kext patches, and rebooted.

Opening Hackintool, I could see my suspicion was correct because different ports were showing as active.

View attachment 514674

I tested all of my ports again and found that while the ports for USB3 devices had remained the same, the ports for USB2 devices had all changed. I deleted all of the ports not shown as active as well as 5 active ports that had no device name and an "Unknown" device speed: HP13, HP14, HP15, HP16, and HP17. I set the new port for my Bluetooth adapter, HS13, to "Internal", and exported a new USBPorts.kext. I replaced USBInjectAll.kext with USBPorts.kext and disabled the Catalina port limit removal kext patches again, and rebooted.

At this point, HS13 was showing as "USB3" in Hackintool for some reason, and I still couldn't get my computer to sleep (maybe I had forgotten to actually set it to "Internal"). I made sure to set it to "Internal" this time, exported a new USBPorts.kext, and rebooted.

Now, HS13 shows as "Internal", Bluetooth is working, and I can put my computer into sleep mode without it waking up! :thumbup: :headbang:

I will continue monitoring for any issues, but I think everything's good now. A big thank you again for your help with this! :)

:)View attachment 514678

Great news!

Well done on working through the problem and getting to a result! It's always satisfying when you resolve a problem and can see the progress you've made. You learned a lot of stuff too.

:clap:
 
1) Curious. The NAS is not attached to the network? Unusual that the enclosure is seen at the HS** port. I take it, it's a USB3 connector? In which case, yes, you'd see it at SS10. Only reason for it to appear at HS10 would be that it was operating as a USB2 device. Maybe a change of cable?

I may be misunderstanding something but to give you an example of what I mean:

I have an external USB3 HDD. If I plug it in to a USB3 port then it attaches to an SS** and I get a blue light on the drive. If I plug in to a USB2 port then it attaches to an HS** port and I get a white LED to show the operating speed.

How come your enclosure can attach to 2x ports?

2) I notice your Hackintool screengrab shows 16x configured ports. Did you set up a USBPorts.kext or an SSDT? You don't need to keep the USR ports.

:)
would it be smarter to just get a pci-e card with 3.0 and maybe thunderbolt and go that route?
 
Currently using OpenCore 0.6.8. My ASUS TUF Z270 Mark 2 has the following external ports: (2)-USB2 ports, (2)-USB3.1 ports, and (6)-USB3.0 ports. I've had XhciPortlimit set to "True" ever since I migrated from Clover back around when OC 0.6.1 was released. I never mapped my USB ports because everything was working fine... until I updated Big Sur to 11.3 a couple of days ago. Now, the (powered) SIIg Hub (USB 2/3) I'd had plugged into a USB3.1 port works only if I switch it to a USB2 port. And a simple USB-to-Lightning cable plugged into a USB 3.0 or 3.1 port doesn't work at all to manually sync an iPhone or iPad... now, it only works if in a USB2 port. So, I think it's time I dove in and got ready to try your mapping instructions. Some preliminary questions:

1. Attached is a screenshot of Hackintool's USB tab as-is. Not sure why everything shows as "Internal."
2. My SIIg Hub has (4)-USB2 ports and (4)-USB3 ports. Will these count toward the magic number of 15?
3. In your Post #1 I'm curious how you would've known it was safe to remove HS11 and HS12, and also HS13 but not HS14; and also SS07 but not SS08. To me, those all look to be Internal (since they're on the Mobo pic): how could you even test any of them using the thumbdrive-insertion method?

For the moment, I've got all my peripherals working (2 external hard drives, an external DVD-RW, a Bluetooth adapter, and the SIIg hub with my mouse, keyboard, printer and scanner connected to its USB2 ports. But I'm willing to give mapping a try, fingers crossed.
 

Attachments

  • Screen Shot 2021-04-29 at 9.45.13 AM.jpg
    Screen Shot 2021-04-29 at 9.45.13 AM.jpg
    782.8 KB · Views: 35
Currently using OpenCore 0.6.8. My ASUS TUF Z270 Mark 2 has the following external ports: (2)-USB2 ports, (2)-USB3.1 ports, and (6)-USB3.0 ports. I've had XhciPortlimit set to "True" ever since I migrated from Clover back around when OC 0.6.1 was released. I never mapped my USB ports because everything was working fine... until I updated Big Sur to 11.3 a couple of days ago. Now, the (powered) SIIg Hub (USB 2/3) I'd had plugged into a USB3.1 port works only if I switch it to a USB2 port. And a simple USB-to-Lightning cable plugged into a USB 3.0 or 3.1 port doesn't work at all to manually sync an iPhone or iPad... now, it only works if in a USB2 port. So, I think it's time I dove in and got ready to try your mapping instructions. Some preliminary questions:

1. Attached is a screenshot of Hackintool's USB tab as-is. Not sure why everything shows as "Internal."
2. My SIIg Hub has (4)-USB2 ports and (4)-USB3 ports. Will these count toward the magic number of 15?
3. In your Post #1 I'm curious how you would've known it was safe to remove HS11 and HS12, and also HS13 but not HS14; and also SS07 but not SS08. To me, those all look to be Internal (since they're on the Mobo pic): how could you even test any of them using the thumbdrive-insertion method?

For the moment, I've got all my peripherals working (2 external hard drives, an external DVD-RW, a Bluetooth adapter, and the SIIg hub with my mouse, keyboard, printer and scanner connected to its USB2 ports. But I'm willing to give mapping a try, fingers crossed.
may worth hitting the broom icon and then the refresh icon
 
may worth hitting the broom icon and then the refresh icon
That made a little difference, but all still say "Internal." See screenshot attached.
 

Attachments

  • Screen Shot 2021-04-29 at 10.19.19 AM.jpg
    Screen Shot 2021-04-29 at 10.19.19 AM.jpg
    535.7 KB · Views: 34
That made a little difference, but all still say "Internal." See screenshot attached.
it got rid of your duplicates :)

now you can change them to usb2, or 3 etc when you test using a usb2 and usb3 device in each port
 
it got rid of your duplicates :)

now you can change them to usb2, or 3 etc when you test using a usb2 and usb3 device in each port
Ah, OK, that I can do. BTW does it matter which "Type" I have highlighted in the upper pane of the Hackintool USB window: one says "PXSX" controller for USB 3.1 and the other says "XHC" for USB 3.0. Highlighting either produces same display below.
 
Back
Top