Contribute
Register

The New Beginner's Guide to USB Port Configuration

Hi all, I was wondering if someone could guide me. my USB 3.0 does not work in the USB 3.0 Ports but USB2.0 works in the USB 2.0 and USB 3.0 Ports. the USB 3.0 is recognised in the USB 2.0 port. and my USB3.1 port is functioning properly. I've added the appropriate 2 patches for 10.15.5 and also got my XHCI-> XHC and XHC1-> DDST.

But for some reason when I plug in the USB the Hackintool doesn't show the appropriate port light up in green. I've changed my bios settings too.

I've attached the appropriate Hackintool screenshot and IOreg file.

Hope someone could guide me appropriately.


Hi there.

This is a classic case of the port-limit removal patch either not working or not in place, along with USBInjectAll.kext.

You have two controllers in your system - the Intel XHCI and the ASMedia PSPX. Although your Hackintool screengrab does show all the ports, if your IOReg export was from a later time then what I say above is correct.

Next time you load Hackintool, look at the icons at the bottom. Select the "broom" and click your mouse on it. Next click on the circular arrows icon to the right. This will clear the cache and reload the ports.

Perhaps let us see your config.plist (after blanking your serial number etc.), and the contents of the EFI/kexts/Other folder :thumbup:.
 
Hi there.

This is a classic case of the port-limit removal patch either not working or not in place, along with USBInjectAll.kext.

You have two controllers in your system - the Intel XHCI and the ASMedia PSPX. Although your Hackintool screengrab does show all the ports, if your IOReg export was from a later time then what I say above is correct.

Next time you load Hackintool, look at the icons at the bottom. Select the "broom" and click your mouse on it. Next click on the circular arrows icon to the right. This will clear the cache and reload the ports.

Perhaps let us see your config.plist (after blanking your serial number etc.), and the contents of the EFI/kexts/Other folder :thumbup:.
I got it sorted. I was an absolute moron and wrote the wrong replace HEX for the patch removal in clover. I got it sorted. But this hasn't fixed my sleep issue and I was hoping if someone could guide me on that. My Hack doesn't sleep properly. the screen goes black but the pc stays on and then I can't come out of the black screen. Been trying for a day now and I'm losing it!
 
I got it sorted. I was an absolute moron and wrote the wrong replace HEX for the patch removal in clover. I got it sorted. But this hasn't fixed my sleep issue and I was hoping if someone could guide me on that. My Hack doesn't sleep properly. the screen goes black but the pc stays on and then I can't come out of the black screen. Been trying for a day now and I'm losing it!

Glad that's the USB problem sorted.

I see you have started another thread in the Graphics forum requesting help for the sleep issue, so we'll end that one here.

:)
 
Thanks again for such a good write up. I just updated my machine definition to iMacPro1,1 (from iMac14,1) to enable the video codec solution. This seems to have changed the USB enumeration for the mac compatible WiFi card I have installed, so I needed to do the USB process again. All went seemlessly. Awesome.

(Here's the layout if it helps others) USB02/07/08/12 are disabled. Ports 09/10 are USB3.0 on the case, USB6 is the USB-C port.

Screen Shot 2020-06-12 at 4.12.16 PM.png
 
Last edited:
I am very much a beginner at this, but prior to patching I've got 7 lines in the top panel :eek:
And patching doesn't seem to effect it.
Also am I patching 10.14.6 correctly?
 

Attachments

  • Screen Shot 2020-06-12 at 21.50.32.png
    Screen Shot 2020-06-12 at 21.50.32.png
    111 KB · Views: 76
  • Screen Shot 2020-06-12 at 21.51.47.png
    Screen Shot 2020-06-12 at 21.51.47.png
    249.5 KB · Views: 75
I am very much a beginner at this, but prior to patching I've got 7 lines in the top panel :eek:
And patching doesn't seem to effect it.
Also am I patching 10.14.6 correctly?


Hi there. You are correct. Patching will not work. Let me give you some background before I make any suggestions at the end ...

That Hackintool screen is actually correct but must look confusing.

Because your motherboard chipset is so old, it features the USB controller called UHCI. In fact six of them. We are so used to the latest XHCI controllers and its predecessor, EHCI, that it is easy to forget there was an even earlier one.

Your motherboard features those 6x UHCI (USB1.0) controllers and a pair of EHCI (USB2.0) controllers too. For good measure Gigabyte also added an NEC controller to give you 2x USB3.0 ports.

So looking at your Hackintool output in the top panel, you can see all eight of the main Intel controllers. The NEC is not there so we can ignore it until a later time.

Unfortunately, although USBInjectAll.kext is compatible with all macOS versions since 10.11, it is not coded for UHCI controllers. Your X58 chipset was released back in 2008. In those days the chipset was based around a "South Bridge" and a "North Bridge" pair. The USB controllers being in the South Bridge. Because USBInjectAll.kext will not work, neither will the port-limit removal patches.

The earliest recommended hardware for Mojave is a Mid-2010 MacPro - system-definition MacPro5,1. These computers did not feature USB1.0 ports, only 5x USB2.0, so UHCI was not something they would be coded for or even know about.

You may get the system running but there is no way to configure the UHCI controller USB ports.

What to do?

If you otherwise have a nicely running system then delete the ports attached to the USB1-5 controllers, leaving only the ports on the USBE and USE2 controllers. These are the EHCI ones and should work. Ideally we would rename them but I think Hackintool might be able to produce a suitable USBPorts.kext you can use. If you can identify the ports - the Gigabyte web-site Support/Specification page tells you where each type is situated - you can set them appropriately. Install USBPorts.kext in your EFI kexts folder, which I'm guessing is a Legacy install in the root of your main drive.

:)
 
Hi there. You are correct. Patching will not work. Let me give you some background before I make any suggestions at the end ...

That Hackintool screen is actually correct but must look confusing.
Hi UtterDisbelief and wow, thank you very much for the detailed explanation!
It is very informative and made me realise how aged this system is :p
In regards to whether or not it is running as intended, I am actually quite uncertain.
I still have other things to iron out, but in the aspect to its USB ports, everything seemed to be working fine; keyboards, mouse, FDD, mobile devices seems to be detected with no issue.
It was until I powered up my printer that I found that it is not working as how it is supposed to. The OS searched for a driver upon powering it up.
But it gave a connection error on a print attempt (the printer is connected to a powered USB hub, would that be of any significance?)
Strangely enough, after following your guide it is currently working!
Maybe coincidence since you mentioned the USBInjectAll.kext and patch is not for UHCI controllers. I will try to remove the patch and kext and see if it was only a hiccup with the connection.
As for the NEC controllers, happy to say that I won't be dealing with them because the ports seems to behave erratically even on a Windows system.

If I am to remove USB1-5 controllers, would that mean all ports could be controlled by the USBE and USE2 controllers?
Also Hackintool doesn't seem to show any other devices connected to it other than my mouse. Is this due to USBInjectAll.kext not working on my system?
If so, how should I approach to identify the ports to produce a working kext?

Thank you once again for your help and time, good sir.
 
Hi UtterDisbelief and wow, thank you very much for the detailed explanation!
It is very informative and made me realise how aged this system is :p
In regards to whether or not it is running as intended, I am actually quite uncertain.
I still have other things to iron out, but in the aspect to its USB ports, everything seemed to be working fine; keyboards, mouse, FDD, mobile devices seems to be detected with no issue.
It was until I powered up my printer that I found that it is not working as how it is supposed to. The OS searched for a driver upon powering it up.
But it gave a connection error on a print attempt (the printer is connected to a powered USB hub, would that be of any significance?)
Strangely enough, after following your guide it is currently working!
Maybe coincidence since you mentioned the USBInjectAll.kext and patch is not for UHCI controllers. I will try to remove the patch and kext and see if it was only a hiccup with the connection.
As for the NEC controllers, happy to say that I won't be dealing with them because the ports seems to behave erratically even on a Windows system.

If I am to remove USB1-5 controllers, would that mean all ports could be controlled by the USBE and USE2 controllers?
Also Hackintool doesn't seem to show any other devices connected to it other than my mouse. Is this due to USBInjectAll.kext not working on my system?
If so, how should I approach to identify the ports to produce a working kext?

Thank you once again for your help and time, good sir.


Well I am a great believer in the saying - if it isn't broken, don't fix it. If something works, and you're happy with that, no problem in leaving well alone. Nothing is compulsory in the Hackintosh world.

Okay, port layout:

Your USB sub-system is complicated because as well as the Intel controllers (UHCI and EHCI) you have both NEC (for USB3.0) and JMicron (for those USB/eSATA ports).

The eSATA - JMicron - orange ports are easy to spot on the back panel. They piggy-back on one of the Intel controllers for USB functionality. My guess would be the EHCI as it's faster.

The 2x USB3.0 ports should be those two Blue ports next to the audio jacks. Those are the NEC, but they can also run at USB2 speeds. Again my guess is they would piggy-back on EHCI.

You then have 2x USB ports in Black on the panel too. They might be just USB1.0 only, so UHCI, but I can't tell remotely. And you also have 4x internal ports on headers. Again USB1.0 or USB2.0 I can't tell.

To test all these ports:

Keep USBInjectAll.kext in place and keep the Mojave port-limit removal patch. To start with stick to the orange and blue ports to see if Hackintool registers them. Do not connect that powered-hub.

If there is still nothing then you need to run a utility app called IORegistryExplorer.

This is only a viewer so you can't do any harm poking around. Plug in a device and see where the "tree" on the left column springs open. This tells you what kind of port you are dealing with. You can always export an *.ioreg file and upload here for us to check over.

:)
 
Well I am a great believer in the saying - if it isn't broken, don't fix it. If something works, and you're happy with that, no problem in leaving well alone. Nothing is compulsory in the Hackintosh world.
Oops.. I've removed both the kext and the patch not long after my last message.
But the good news is that the printer still works!
Also Hackintool still shows the same number of controllers (and ports).
The problem though, however, lies in the Hackintool "USB ports" panel.
No matter what device and which port I used, Hackintool shows nothing apart from that one mouse.

I've given the IORegistryExplorer a go, closing all trees that were open by default, and plugged a FDD in one of the ports. The system detects the FDD but unfortunately no trees spring open.
Is there any specific tree that I can keep an eye on?

I also notice another error, that is my external soundcard which doesn't get detected when powered on.
The same soundcard was plug and play on my previous Mountain Lion Hackintosh.
Would copying the DSDT used in that system be a wise idea?
edit: just read the ioreg file bit and have uploaded the file. Thanks again for your help, UtterDisbelief :)
 

Attachments

  • IOreg.ioreg
    7.5 MB · Views: 57
Last edited:
Would copying the DSDT used in that system be a wise idea?

As it's the same hardware, try with/try without. Keep a UniBeast boot USB handy in case of accidents etc.

Check System Report for that floppy drive. It may need more power. Hard to tell from here.

For sure IORegistryExplorer is the way to go deeper. Manually search for "EH". "USB". "PSPX". "UH". Etc.
 
Back
Top