Contribute
Register

The New Beginner's Guide to USB Port Configuration

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 ?

Hello,

If you plan on installing Catalina and regularly upgrading from there, I would recommend you use the USBPorts.kext.

There are two common methods for configuring your USB ports:

1) USBInjectAll.kext and an SSDT_UIAC.aml

OR

2) USBPorts.kext on its own.

However we do use USBInjectAll.kext and a port-limit removal patch so that we can discover all the available ports our motherboards have.

:)
 
Last edited:
Hi !

does this guide work with Z77 Chipset ?
I´m on a GA Z77X-UP TH MoBo, fresh Mojave 10.14.6 install, but I have
some problems with Hackintool / PortDiscovery...

in the following case my USB3.0 Stick is connected to one of the USB3.0 ports at the back panel:
(as you can see, its mounted in macOS but not showing in Hacktool)
Bildschirmfoto 2019-11-21 um 07.00.33 (2).png

the next case shows the USB3.0 Stick connected to the frontUSB3.0 of my SurpressorF51 Tower
using F_USB30_1 connector on the MoBo:
(as you can see, here its mounted and recognised by Hackintool !!)

Bildschirmfoto 2019-11-21 um 07.02.09 (2).png

... I have the same problem on many other USB-Connectors of my MoBo.

Kexts installed in L/E/

Bildschirmfoto 2019-11-21 um 07.56.09.png

Kexts installed in EFI/CLOVER/kext/other

Bildschirmfoto 2019-11-21 um 07.57.46.png

my iMac13,2 config.plist

Bildschirmfoto 2019-11-21 um 08.02.21.png

Bildschirmfoto 2019-11-21 um 08.03.02.png

... need some advice please !
 
Hi !

does this guide work with Z77 Chipset ?
I´m on a GA Z77X-UP TH MoBo, fresh Mojave 10.14.6 install, but I have
some problems with Hackintool / PortDiscovery...

in the following case my USB3.0 Stick is connected to one of the USB3.0 ports at the back panel:
(as you can see, its mounted in macOS but not showing in Hacktool)
View attachment 436847

the next case shows the USB3.0 Stick connected to the frontUSB3.0 of my SurpressorF51 Tower
using F_USB30_1 connector on the MoBo:
(as you can see, here its mounted and recognised by Hackintool !!)

View attachment 436848

... I have the same problem on many other USB-Connectors of my MoBo.

Kexts installed in L/E/

View attachment 436849

Kexts installed in EFI/CLOVER/kext/other

View attachment 436851

my iMac13,2 config.plist

View attachment 436852

View attachment 436853

... need some advice please !

Im still using the old method. usbinjectall along with SSDT-UIAC which works fine. I believe that this new method is for OC Bootloader and not for Clover. Attach ioreg using save copy as. https://www.tonymacx86.com/threads/guide-how-to-make-a-copy-of-ioreg.58368/
 
Hi !

does this guide work with Z77 Chipset ?
I´m on a GA Z77X-UP TH MoBo, fresh Mojave 10.14.6 install, but I have
some problems with Hackintool / PortDiscovery...

in the following case my USB3.0 Stick is connected to one of the USB3.0 ports at the back panel:
(as you can see, its mounted in macOS but not showing in Hacktool)
View attachment 436847

the next case shows the USB3.0 Stick connected to the frontUSB3.0 of my SurpressorF51 Tower
using F_USB30_1 connector on the MoBo:
(as you can see, here its mounted and recognised by Hackintool !!)

View attachment 436848

... I have the same problem on many other USB-Connectors of my MoBo.

Kexts installed in L/E/

View attachment 436849

Kexts installed in EFI/CLOVER/kext/other

View attachment 436851

my iMac13,2 config.plist

View attachment 436852

View attachment 436853

... need some advice please !

Hello there.

Yes, the guide works with the Z77 chipset.

Okay ... First things first - you have duplicates of FakeSMC.kext and USBInjectAll.kext and they do not appear to be the same versions of each. I recommend you remove the two from Library/Extensions and ensure you have the latest of each in EFI/CLOVER/kexts/Other only, OR ensure you have the exact same versions installed in both. Also, it might be a good idea to remove FakePCIID_XHCIMux.kext as well, for now at least. We can always put this back if we need to later. When you have done this, rebuild your kext-caches with the Terminal app.

Gigabyte gives you 2x USB3 ports and 6x USB2 ports, directly from the Intel chipset. However they also use a VIA 3rd-party chipset to offer more USB3 ports through "hubs". This can make configuration confusing. Looking at the Hackintool screengrabs, it seems one of the VIA hubs is attached to the EHC port "PRT7".

A good way to visualise how the ports are connected is by using IORegistryExplorer. You might be familiar with this app. It will show you which ports are on "hubs" and which ports are the direct Intel ones - the word "hub" will appear in the tree-node. It will also help you pinpoint that "F_USB30_1" header and where it is connected.

This will help you to see more clearly which port that flash-drive is going into, because in the first screengrab where it is not visible in Hackintool, it is probably in one of the VIA hubs.

Although not simple, you will need to do this work to understand which are Intel-only ports and which have been supplemented by the VIA chipset.

Bear in mind you have a total of 10x Intel-only ports to play with (2x USB3/USB2 and 6x USB2 only). Because Gigabyte also chose to add more ports upgraded with a VIA chip too, this makes things more complicated.

I don't want to get too technical in a Beginner's Guide but it looks as though Gigabyte has fed 8x USB2 ports through the VIA chipset onto two hubs, to add USB3 functionality. This could be why it confuses Hackintool, showing a USB2 port but with a USB3 device operating.

So what to do?

Test each USB port with both a USB2 device and a USB3 device. Make notes as to where they show up in Hackintool. For greater insight use IORegistryExplorer, It will show you, as I mentioned above, if the device appears on a direct Intel port or a VIA hub.

The HS01 to HS04 and SS01 to SS04 ports should be the Z77 Intel-direct ports.

Let us know how you get on.

:)
 
... thank you for answering.

Meanwhile I have tried to map all my usb-ports as good as I can.

I have removed "FakePCIID_XHCIMux.kext" from /L/E and moved
FakeSMC & its plugins to CLOVER/kexts/other.

Because Hackintool doesn't give me much info in its usb section
i´ve done the whole mappingprocedure using IORegistry Explorer.
This is what I found out so far:

GA Z77X-UP5 TH_backpanel.jpgthermaltake-f51c Kopie.jpg

... strange thing is the Hackintool is only showing XHC & EHC1 but in IORegistry I found EHC2 too !

Bildschirmfoto 2019-11-21 um 14.07.55 (2).png

... next step is to delete all the unused USB-Ports in Hackintool and build the kext.
am I right ?
 

Attachments

  • DrWhy-i7-3770K.ioreg
    5.7 MB · Views: 159
... thank you for answering.

Meanwhile I have tried to map all my usb-ports as good as I can.

I have removed "FakePCIID_XHCIMux.kext" from /L/E and moved
FakeSMC & its plugins to CLOVER/kexts/other.

Because Hackintool doesn't give me much info in its usb section
i´ve done the whole mappingprocedure using IORegistry Explorer.
This is what I found out so far:

View attachment 436874View attachment 436875

... strange thing is the Hackintool is only showing XHC & EHC1 but in IORegistry I found EHC2 too !

View attachment 436876

... next step is to delete all the unused USB-Ports in Hackintool and build the kext.
am I right ?

Hi there.

Thanks for the IOReg file - it makes things much easier :thumbup:

So PRT7 is indeed one of the VIA assisted hubs as suspected, and PRT8 is the other one. Total of 8x ports. Your port map/graphics show the mix very well.

So then, I'm guessing looking at the output you haven't yet put the EHC1 to EH01 and EHC2 to EH02 renames in place in your config.plist? You need to do that to get macOS to recognise the controllers. The simple way to do this is to open your config.plist in Clover Configurator, go to the ACPI tab and use the drop-down menu with its List Of Patches and choose the two you need (or you can refer to my other guide).

:)
 
Last edited:
Hi All,
I tried to follow this instruction to build a custom USB port Kext for my MB. while it seem to work correctly but it doesn't look right and I have no idea what I did wrong. I need some help on how to go about to fix it. I attach IORegistry file and a Hacintoshtoll screenshot here. Thank You.
 

Attachments

  • iMac14,2.ioreg
    5.4 MB · Views: 140
  • IMac14,2USBPorts.png
    IMac14,2USBPorts.png
    160.4 KB · Views: 240
Last edited:
Hi All,
I tried to follow this instruction to build a custom USB port Kext for my MB. while it seem to work correctly but it doesn't look right but I have no idea what I did wron. I need some help on how to go about to fix it. I attach IORegistry file and a Hacintoshtoll screenshot here. Thank You.

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