Contribute
Register

The New Beginner's Guide to USB Port Configuration

Hello there.

Good work so far :thumbup:

Okay, there are a couple of issues to be worked out for this set-up.

1) Your Hackintool screengrab shows the three controllers at the top, XHCI + 2x EHCI, but only one of the EHCI has been renamed as they need to be - EHC1 and EHC2 both need to be renamed EH01 and EH02. Your IORegistryExplorer output, however, shows neither has been renamed so I guess these snapshots are from slightly different time-frames.

Although not explicitly explained in the guide (I refer back to the earlier one for more details) the easiest way to do the renames is to use Clover configurator and select them from the ACPI - List Of Patches pull-down.

2) Your motherboard features a Renesas USB chipset alongside the Intel to give more USB3 speed ports than the Z97 alone provides. This creates "hubs" totalling 4-ports on the back-panel. You can see them in your IORegistryExplorer output and in the Hackintool screengrab - they have the "IOUSBHostDevice" label on them. Generally you will not be able to configure Renesas controlled ports, however in this set-up they are actually supplementing the Intel ports by adding USB3 functionality to some of the USB2 ports to give you more.

By doing the standard "port discovery" with a USB2 and USB3 flash drive, you should be able to identify which ports are Renesas and which Intel-only.

(Going a bit too technical here for a Beginner's Guide, I suspect ports PR11 and PR21 are redirects from the pair of EHCI controllers, ports EHC1-PRT01 and EHC2-PRT01).

So, amend the renames and if everything is working, you are within the 15-port limit :thumbup:
First of all, thank you so much for taking time to read my post and reply. Ok.... although I did not understand every word you said but I kind of get an Idea so I will give it another try and report back again. Have a nice Thanksgiving.
 
Hi UtterDisbelief,
here I am again and hopefully I get it right this this time. Could you please take look at it one more time. Thanks
 

Attachments

  • iMac14,2.ioreg
    5.4 MB · Views: 100
  • iMac14,2Screenshot.png
    iMac14,2Screenshot.png
    175 KB · Views: 168
Hi UtterDisbelief,
here I am again and hopefully I get it right this this time. Could you please take look at it one more time. Thanks

Hi there.

It is not that you are doing anything wrong, what you have done is fine. It is just the complexity of the set up Gigabyte have impemented on this motherboard or at least how macOS sees it.

At this stage I would say your port-discovery is the key. By testing each with both USB2 and USB3 you know which port is which and can make your choices to stay within the 15-port limit.

Gigabyte have complicated things with this motherboard by using an add-on chip to boost the number of USB3 ports available beyond the 6 supplied by the Z97. In doing this they have added them as "hubs" off USB2 ports.

If you want to experiment more -

You can see from your Hackintool screengrab where the "hubs" are attached. It might be an idea to disable those ports and only enable non-hub ports. Then check how many you have operating. It may not be enough for your setup though.

The Z97 XHC controller has 6x USB3 ports and the two EHC controllers each with 4x USB2 ports. Anything above these are "add-ons".

:)
 
@UtterDisbelief ... thank you for helping.

... let´s say I'm getting closer to perfection !

after I found out that I still had my old DSDT in Clover (don't ask me why it was still there, I don't know) removing it
and adding the EHC-Patch to Clover, Hackintool displays the USBPort configuration much more better but still not showing my USBSticks every time:

Clover EHC-patch.png Hackintool_noDSDT.png

In my very first attempt I forgot that I had my PCI WiFi/BluetoothCard connect to the internal "F_USB2"
header on my MoBo (ohhh yes it ended up like it should: with a non working Magic Keyboard & Mouse :banghead:).
So for testing I use a normal USB Keyboard & Mouse and connected s USB2.0 backpanel to that "F_USB2" header.

I did the whole procedure again 2 times (one time with my dammed DSDT in Clover & one time without the DSDT)
but with the same result !

following pics showing the USBPorts like the where configured with no DSDT but with USBInjectALL.kext installed:

thermaltake-f51c Kopie.jpg31x7bKm6FFL._AC_ Kopie.jpg
backpanel Kopie 2.jpg

after removing all unnecessary ports, Hackintool looking like this:

Hackintool with removed ports.png

... so ok, but with the new USBPorts.kext I get the same result on both attempts (I mean with or without DSDT)

The two USB2.0 Ports on the front of my Tower and one USB2.0 Port on the back panel is not working:

after removing ports.jpgbackpanel_after removin ports.jpg

so I think I've deleted a few ports to much, double checked the IORegistry, but I don't really know where
the mistake is.

Maybe someone can help me please one more time !
Thank you !
 

Attachments

  • DrWhy_i7-3770K_noDSDT_USBInjectALL.ioreg
    13.4 MB · Views: 81
  • DrWhy_i7-3770K_noDSDT_USBPorts.ioreg
    6.2 MB · Views: 89
Last edited:
@UtterDisbelief ... thank you for helping.

... let´s say I'm getting closer to perfection !

after I found out that I still had my old DSDT in Clover (don't ask me why it was still there, I don't know) removing it
and adding the EHC-Patch to Clover, Hackintool displays the USBPort configuration much more better but still not showing my USBSticks every time:

View attachment 437226 View attachment 437213

In my very first attempt I forgot that I had my PCI WiFi/BluetoothCard connect to the internal "F_USB2"
header on my MoBo (ohhh yes it ended up like it should: with a non working Magic Keyboard & Mouse :banghead:).
So for testing I use a normal USB Keyboard & Mouse and connected s USB2.0 backpanel to that "F_USB2" header.

I did the whole procedure again 2 times (one time with my dammed DSDT in Clover & one time without the DSDT)
but with the same result !

following pics showing the USBPorts like the where configured with no DSDT but with USBInjectALL.kext installed:

View attachment 437214View attachment 437218
View attachment 437219

after removing all unnecessary ports, Hackintool looking like this:

View attachment 437220

... so ok, but with the new USBPorts.kext I get the same result on both attempts (I mean with or without DSDT)

The two USB2.0 Ports on the front of my Tower and one USB2.0 Port on the back panel is not working:

View attachment 437221View attachment 437223

so I think I've deleted a few ports to much, double checked the IORegistry, but I don't really know where
the mistake is.

Maybe someone can help me please one more time !
Thank you !

Hi there.

Well, I can see the differences in the two IOReg outputs. The VIA hubs look like they are on SS09 and SS08. I'm guessing HS05 is also a Hub along with HS04, although you have excluded some etc.

So, well done on paring your ports down to the ones you need. That looks easier to understand. :thumbup: However that leads on to your Bluetooth problem ...

I can't spot where you might have plugged-in your BlueTooth card header. The port you have chosen looks as though it is not activated and that will be why BT isn't working. It simply does not show in IORegistryExplorer. You need to identify it specifically and ensure you have it activated.

Obviously I don't know what your DSDT was for, so can't comment on that.

So what to do? That's up to you and how much deeper you want to go. I would put USBInjectAll.kext back in along with the Port-Limit Removal patches and remove your new USBPorts.kext - then recheck again to find where my Bluetooth is plugged-in. It will be easy to spot as Bluetooth will appear in the port label text.

That is - if I haven't just missed it... ;)

Notes:

PR11 is attached to EH01
PR21 is attached to EH02

... and they are hubs.

This happens because the VIA add-on chip is supplementing USB2 ports with USB3 functionality, not just providing new ports. It makes understanding what is going on very difficult at times.

Anyway, I don't want to simply repeat what I laid-out in the earlier post. There was a lot in it to get your mind around, I understand.

:)
 
Hi there.

It is not that you are doing anything wrong, what you have done is fine. It is just the complexity of the set up Gigabyte have impemented on this motherboard or at least how macOS sees it.

At this stage I would say your port-discovery is the key. By testing each with both USB2 and USB3 you know which port is which and can make your choices to stay within the 15-port limit.

Gigabyte have complicated things with this motherboard by using an add-on chip to boost the number of USB3 ports available beyond the 6 supplied by the Z97. In doing this they have added them as "hubs" off USB2 ports.

If you want to experiment more -

You can see from your Hackintool screengrab where the "hubs" are attached. It might be an idea to disable those ports and only enable non-hub ports. Then check how many you have operating. It may not be enough for your setup though.

The Z97 XHC controller has 6x USB3 ports and the two EHC controllers each with 4x USB2 ports. Anything above these are "add-ons".

:)
Hi UtterDisbelief,
Its really weird. In the Back of this MB there 6x USB3 Ports and two USB2 which are dedicated for Mouse and KB. The 2x USB2 ports are fine. Out of those 6x USB3 Ports, only 2X of them are picked up by Hackintool when the USB thumb drive was plugged in the rest of them even though it seems to work fine, it doesn't show up in Hackintool at all. beside all that the USBport.kext that was generated by Hackintool also do not appear in the Hackintool as I was expected it should. At the meant time everything are working in the way they should be. So.....at this point I don't know how to map those ports.
 
Hi UtterDisbelief,
Its really weird. In the Back of this MB there 6x USB3 Ports and two USB2 which are dedicated for Mouse and KB. The 2x USB2 ports are fine. Out of those 6x USB3 Ports, only 2X of them are picked up by Hackintool when the USB thumb drive was plugged in the rest of them even though it seems to work fine, it doesn't show up in Hackintool at all. beside all that the USBport.kext that was generated by Hackintool also do not appear in the Hackintool as I was expected it should. At the meant time everything are working in the way they should be. So.....at this point I don't know how to map those ports.

Well in your Hackintool screengrab the Renesas controller does not show in the top panel - unless you can scroll down and reveal more. This may be illustrating a limitation of Hackintool in your case, I'm not sure.

Yes, the Renesas ports will work but they are not directly configurable so don't figure in Apple's 15-port limit.

Think of it like this: Apple makes a Mac Pro with x-number of USB ports supplied by the Intel chipset. They limit these to 15 because they figure that's enough. Then along comes a third-party manufacturer and produces an add-on PCI-e card with extra USB ports on it, controlled by its own chipset. macOS lets them work, because that's the point of add-on cards, but because the ports aren't a part of its core system it doesn't have direct control of them.

This is why I suggested doing a port-discovery and excluding the Renesas. Remember what I said in post #34 - by default the Z97 has 6x USB3 ports and 8x USB2 ports. Those USB3 ports can also work with USB2 ports, so there is a maximum of 20x ports available. However Gigabyte obviously thought people would want more USB3 ports so used an add-on Renesas chip to 'boost' some of the USB2 ports up to USB3. A port-discovery should help you identify which is which, internal and external.

:)
 
UtterDisbelief,
Here are the screengrabs of ports discovery. out of all USB ports I have in the back of MB these are the only ports which show up, the rest of them did not.
 

Attachments

  • USB2ports.png
    USB2ports.png
    177.3 KB · Views: 140
  • USB3ports.png
    USB3ports.png
    171.7 KB · Views: 127
UtterDisbelief,
Here are the screengrabs of ports discovery. out of all USB ports I have in the back of MB these are the only ports which show up, the rest of them did not.

Okay, that doesn't look to bad considering :thumbup:

Although this Guide is a Beginner's Guide based on Hackintool, I also use IORegistryExplorer to check what is going on. It's more technical but you can get greater insight. Let me show you ...

XHC.jpg

Here is your XHC controller tree. You can see which devices you have attached. Also visible are the hubs attached to three of the ports. As Gigabyte did not spec any Intel ports being on "hubs" and only the Renesas ones, we can assume HS03 and HS05 must be those ports "boosted" to USB3 standards by the Renesas chip. Quite where their output ports are physically located is a different matter.

Quite why SS03 is in there too, from what I have to go on at this time, I can't offer any insight.

Looking the EHC controller ...

EHC.jpg

... you can see there are 6x hub ports attached to the EH02 controller. EH01 provides only 2x direct Intel ports. Because Renesas only provides 4x boosted ports this is somewhat confusing and may be due to how your configuration has been set up (again I have no insight with without knowing more).

One reason why I say in the Guide, give preference to XHC over EHC on a modern version of macOS. It is easier to understand.

Note: In your case ports PR11, PR12 and PR21 are the only ports defined as Internal, so ensure your bluetooth adapter is connected to one of these. Strangely PR21 does not show up on IOReg, so I would steer clear of it (unless IOReg and Hackintool were both run from within different configuration tests).

If you are happy the ports you have "discovered" are what you need and work okay, it's your choice how much deeper you wish to go.

:)
 
Last edited:
Back
Top