Contribute
Register

The New Beginner's Guide to USB Port Configuration

I'm on 10.13.6



I'm following the x299 @kgp guide, and just going down the list, in order. USB port discovery is in E.4, and XHC XHCI PCI implementation is way down the list, at E.9. I'm not sure if/how these two things are related??

I've noticed that when I have XHCI -> XHC patches enabled, i'll get multiple copies of the ports showing up in Hackintools (see attached image), one as an XHC device, and another as an XHCI.
I've tried generating USB port mapping by selecting just the ports listed as XHC, as well as just the ones as XHCI (these display the correct port "########" (number address), as seen in IOReg). I've also tried creating the custom kext from both together, and the issue is still the same.

Another thing I've noticed is that the USB3 ports show up under a single SSxx/HSxx addres, like they're part of an USB hub, as opposed to each port having their own SSxx/HSxx port assignment (see attached image). Is this normal?

UPDATE:


in attempting to isolate the cause of the plug/unplug behavior, ive removed any and all USB kexts/patches,etc, and the behavior persists.... going to try to see if this happens on the windows side, as well.


Hi there.

The trouble with this build is that it is so complicated, but being X299 that's to be expected. I'll explain -

The guide by @kgp was ground-breaking in that it covered so much. What we don't see easily is if the USB configuration was patched into that DSDT.aml you have in place?

Otherwise the X299 is a standard XHCI controller model. It does not have any EHCI controllers so no need to rename anything in your config.plist. With luck you don't even need XHC1 or XHCI renames either, but YMMV.

Next, this problem sounds just like power delivery. The port not delivering enough power to supply the hub. You do have a patch in place for this - SSDT-X299-USBX.aml.

The duplication of ports is an odd one. It might be caused by code in the DSDT.aml. It might be something easily remedied by clearing Hackintool's cache and reloading - broom icon/circular arrows icon. It might be caused by a rogue kext in Drive: Library/Extensions.

While I was exploring your EFI I noticed you have 3x Memory Fix drivers in place - AptioMemoryFix-64.efi, OsxAptioFix3Drv-64.efi and OsxAptioFixDrv-64.efi - which is a big no-no. Only use 1x.

So far I can see nothing else. Maybe an IORegistryExplorer v2.1 export *.ioreg might help.

:)
 
Hi @UtterDisbelief thank you so much for looking into this.
My biggest concern at the moment is the fact that the issue is persistent on the Windows side, as well.
I've tried installing the Intel Chipstet drivers provided by Gigabyte, to no avail...
Also tested the USB hubs in question on a different computer, and they're definitely working just fine...
Going to reach out directly to Gigabyte....

In the meantime, please see my current IOReg + in-line responses.
Thank you!

What we don't see easily is if the USB configuration was patched into that DSDT.aml you have in place?
The DSDT.aml I have is actually completely generic, comes directly from Clover's dump (by pressing F4 during boot).
The duplication of ports is an odd one. It might be caused by code in the DSDT.aml.
At this point I'm guessing the DSDT.aml needs to be modified.... but I don't know how/why. Clarification here might go a long way... sorry for the "noob-ness"!
I though all changes were made via SSDTs & AICP patches?
It might be something easily remedied by clearing Hackintool's cache and reloading - broom icon/circular arrows icon.
Will give this a shot.
I've also tried clearing the NVRAM a few times....
It might be caused by a rogue kext in Drive: Library/Extensions.
no kexts in L/E over here...
While I was exploring your EFI I noticed you have 3x Memory Fix drivers in place - AptioMemoryFix-64.efi, OsxAptioFix3Drv-64.efi and OsxAptioFixDrv-64.efi - which is a big no-no. Only use 1x.
!!! Which one is recommended for my system ???
EDIT:
Removing all but AptioMemoryFix-64.efi doesn't change the issue.
 
Last edited:
so when you attach a usb2.0 and usb3.0 device, they don't show up?

It's been a week since I'm not active, I just recently bought a new USB Flash drive to so that I could Upgrade mine to MacOS 10.15.5 Catalina

The problem is, I have 3 external USB ports here on my laptop, when I attach a USB 3.0 device to the USB 3.0 port, it seems OK (Speed is also 5 Gbps) then I attach a USB 2.0 device to the 1st port, and it seems fine....but when I attach whatever type of USB to my 2nd USB 2.0 Port, in Hackintool it seems to not recognising at all (even when other USB port is unplugged)

I also had booted to Ubuntu 20.04 just to see if my USB port is OK (not broken) and in Ubuntu and Windows it seems recognising my 2nd USB port

and after the macOS Catalina 10.15.5 I got 2 Problem :

1. my WebCam is not recognised in System Report as a Video Capture device but recognised in USB
Screen Shot 2020-05-29 at 14.44.22.png
Screen Shot 2020-05-29 at 14.30.56.png

(it is recognised in USB but I can't use my WebCam in apps such as Photo Booth)

2. If I plug my External USB 3.0 Hard Drive, it is recognised but can't be accessed and it gives me this notification :
Screen Shot 2020-05-29 at 14.39.50.png

(in macOS Mojave previously it seems fine)

This is my KextToPatch in Catalina :
Screen Shot 2020-05-29 at 14.29.41.png


Hackintool preview :
Screen Shot 2020-05-29 at 14.28.06.png


@Feartech do you have any idea with this?

I also attach my latest EFI below so that anyone can notice if I have wrong configuration....
 

Attachments

  • EFI.zip
    4.7 MB · Views: 70
Last edited:
It's been a week since I'm not active, I just recently bought a new USB Flash drive to so that I could Upgrade mine to MacOS 10.15.5 Catalina

The problem is, I have 3 external USB ports here on my laptop, when I attach a USB 3.0 device to the USB 3.0 port, it seems OK (Speed is also 5 Gbps) then I attach a USB 2.0 device to the 1st port, and it seems fine....but when I attach whatever type of USB to my 2nd USB 2.0 Port, in Hackintool it seems to not recognising at all (even when other USB port is unplugged)

I also had booted to Ubuntu 20.04 just to see if my USB port is OK (not broken) and in Ubuntu and Windows it seems recognising my 2nd USB port

and after the macOS Catalina 10.15.5 I got 2 Problem :

1. my WebCam is not recognised in System Report as a Video Capture device but recognised in USB
View attachment 472304View attachment 472305
(it is recognised in USB but I can't use my WebCam in apps such as Photo Booth)

2. If I plug my External USB 3.0 Hard Drive, it is recognised but can't be accessed and it gives me this notification :
View attachment 472306
(in macOS Mojave previously it seems fine)

This is my KextToPatch in Catalina :
View attachment 472307

Hackintool preview :
View attachment 472308

@Feartech do you have any idea with this?

I also attach my latest EFI below so that anyone can notice if I have wrong configuration....


Hi there.

Personally I would try removing USBInjectAll.kext and the port-limit removal patches.

Run the export option from Hackintool and see if it produces an SSDT-USBX.aml file for you. If not, does it produce an SSDT-EC.aml ? Either or both of these can be placed in your EFI/CLOVER/ACPI/patched folder. They may be catered for in the DSDT.aml but I have no way of knowing that (which is why I don't like them! o_O )

:)
 
Hi there.

Personally I would try removing USBInjectAll.kext and the port-limit removal patches.

Run the export option from Hackintool and see if it produces an SSDT-USBX.aml file for you. If not, does it produce an SSDT-EC.aml ? Either or both of these can be placed in your EFI/CLOVER/ACPI/patched folder. They may be catered for in the DSDT.aml but I have no way of knowing that (which is why I don't like them! o_O )

:)

It gives me SSDT-UAIC.aml, and USBPorts.Kext, However... when I tried to paste SSDT-UAIC.aml to EFI/CLOVER/ACPI/Patched Folder it seems not making any diffeence...my 2nd USB 2.0 port is still not being recognised

Also I've tried the latest version of USBInjectAll.Kext, but my Webcam and Bluetooth doesn't seem to be recognised, so I've decided to downgrade to USBInjectAll.Kext 2017-0112, that was the version of USBInjectAll that worked best for me.....

@UtterDisbelief do you have any idea?

Below is my EFI Folder and the version of USBInjectAll.Kext that worked best for me...
 

Attachments

  • USBInjectAll.kext.zip
    16.2 KB · Views: 43
  • EFI.zip
    4.7 MB · Views: 68
Yes, remove USBInjectAll.kext and the port-limit removal patches, as I suggested above. Then refresh Hackintool to see what we have.

:)
Remove both of those then reboot?
Ok.. Let's see...
 
Yes, remove USBInjectAll.kext and the port-limit removal patches, as I suggested above. Then refresh Hackintool to see what we have.

:)

After doing what you've suggested... This is what we see from Hackintool :
Screen Shot 2020-05-30 at 17.36.47.png

(All USB port is connected)

I have also export SSDT-UAIC.aml and pasted in ACPI/Patched Folder but it didn't make any difference....

but without the USBInjectAll.Kext my Webcam and Bluetooth is not recognised......

@UtterDisbelief do u know what's wrong with this?:|
 
After doing what you've suggested... This is what we see from Hackintool :
View attachment 472584
(All USB port is connected)

I have also export SSDT-UAIC.aml and pasted in ACPI/Patched Folder but it didn't make any difference....

but without the USBInjectAll.Kext my Webcam and Bluetooth is not recognised......

@UtterDisbelief do u know what's wrong with this?:|

That's correct. Without USBInjectAll the SSDT-UIAC.aml will not do anything. I did not suggest using it, only SSDT-USBX or SSDT-EC.aml if they were exported.

This what we needed so we could see your USB ports. :thumbup:

Unlike a desktop PC with many ports, a laptop usually has about 6. 4-ish outside and a couple internally for webcam and bluetooth etc.

Your Hackintool screengrab shows the EHC controllers clearly. In the top panel is there an XHC controller underneath the EHC ones?

What kexts do you have in Library/Extensions?
 
What kexts do you have in Library/Extensions?

I have those kext :
Screen Shot 2020-05-30 at 18.28.33.png

I guess there is nothing USB related Kext there, right?

In the top panel is there an XHC controller underneath the EHC ones?

Yes, there is...
Screen Shot 2020-05-30 at 18.30.39.png

so what should I do next?


Screen Shot 2020-05-30 at 18.33.48.png

is there anything wrong above?
previously I use GenericUSBXHCI.Kext, but then I delete it because I can use the USB 3.0 without it....
 
Back
Top