Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

Hi. I have already made the 3.0 USB ports work on aorus z390 pro.
I used usbinjectall.kext 0.7.3 and I placed it in the Clover / kexts / other folder.
.
Captura de pantalla 2019-10-25 a las 16.27.31.png

In config.plist I modified matchOS and put 10.15.0
Captura de pantalla 2019-10-25 a las 16.28.38.png

In clover / acpi / patched / I have placed ssdt_usb.ami
Captura de pantalla 2019-10-25 a las 16.55.25.png

I have restarted and it already recognizes ports 3.0

I hope this works for everyone. good luck
Captura de pantalla 2019-10-25 a las 16.21.45.png
 
Last edited:
Thanks to all. May I go through this guide running Catalina; I guess I would have to use the Catalina 15-port limit patch instead of previous one. Does usbinjectall.kext work for MB GA-B75M-D3P?
Thanks.
 
Thanks to all. May I go through this guide running Catalina; I guess I would have to use the Catalina 15-port limit patch instead of previous one. Does usbinjectall.kext work for MB GA-B75M-D3P?
Thanks.

Hello. There.

Yes you can use the guide. There is a new port-limit removal patch in the Catalina Support thread.

I guess you are booting in Legacy BIOS mode? I couldn't see a UEFI BIOS in the motherboard specs.

If you have a booting Catalina system then you will need to test (someone has to be the first with any older motherboard :thumbup:). I'd recommend you install USBInjectAll.kext in EFI/CLOVER/kexts/Other and the new port-limit removal patch in your config.plist. Once rebooted check your ports using IORegistyExplorer as explained in the guide.

As always, keep a UniBeast installer drive handy so you can boot the system if things go wrong - and back-up anything important to a separate drive.

Let us know how you get on.

:)
 
Hello there.

It depends on why you are asking?

Because this is a USB thread, it looks as though:

1) you have both the EHCI and XHCI controllers active.

2) your motherboard has just 4x USB3.0 ports and 6x USB2.0 ports controlled by your Z97 chipset. This equates to 14-ports (4x2 + 6) that need configuring and below the 15-port limit.

3) No need for FakePCIID_XHCIMux.kext.

4) Your 'piggy-back' Renesas 3rd-party USB 3.0 ports do not form a part of the 15-limit and do not always need to be configured. A few years ago a kext was produced that did this, called GenericUSBXHCI.kext. However it might not work with macOS Catalina. There were problems with Mojave and High sierra too. The kext was written in 2015.

:)

Schermata 2019-10-29 alle 22.21.57.png

Schermata 2019-10-29 alle 22.22.20.png
Schermata 2019-10-29 alle 22.22.35.png


I have installed in /EFI/CLOVER/ACPI/patched/ il file SSDT-UIAC.aml to my motherboard (SSDT-UIAC-Z97X-UD5H.dsl)
https://www.amazon.it/dp/B0773LPCXW/?tag=tonymacx86com-21

Why the speed is 480 Mb/s?
 

Attachments

  • SSDT-UIAC.aml
    855 bytes · Views: 90
  • SSDT-UIAC-Z97X-UD5H.dsl
    5 KB · Views: 105

Hi there.

Okay ...

The USB PCI-e card you link to on Amazon is an ASMedia chipset card. As such it is not a part of the 15-port limit and will not show up in the XHC or EHC controller trees. It is not easily configurable under macOS as Apple never used one. If you have a macOS driver for the card then they should work but will probably appear in the RP** areas of the IORegistry.

Also your motherboard features a Renesas chipset alongside the Intel controller, this is another 3rd-party chipset. The same applies as for the ASMedia card above.

In your SSDT-UIAC.aml you have an Intel XHC controller (8086-8cb1) with 15-ports defined. Before them you also have 2x EHC ports.

However, remember you have only 4x USB3.0 Intel ports and 6x USB2.0 Intel ports. This adds up to only 14-ports you can configure with your SSDT. Not the others.

Check the status of all your ports using IORegistryExplorer. It's the best way.

:)
 
Helo,

I was working on getting my SSDT for usb ready and I can't seem to get my system preferences to display a usb 3.0 bus tree. I only get a usb 3.1 tree. any suggestions? should I proceed without it?

the guide says to get both PCI identification numbers.
Screen Shot 2019-10-29 at 2.59.02 PM.png
 
Helo,

I was working on getting my SSDT for usb ready and I can't seem to get my system preferences to display a usb 3.0 bus tree. I only get a usb 3.1 tree. any suggestions? should I proceed without it?

the guide says to get both PCI identification numbers.
View attachment 433401

Hi there.

Don't worry about the distinction between USB 3.0 and USB 3.1. The 8086_a36d XHC controller your motherboard has is tagged as a USB3.1. Yes, you can continue and configure them.

Basically the standard USB types have been renamed. USB3.0 has now become USB3.1 Gen 1, whereas the faster, newest version is USB 3.1 Gen 2. Your motherboard has both. Those red ports on the back panel and the USB-C port are the "Gen 2" type.

Also note that your motherboard has a "hub" of 8x USB2.0 ports, 4 of which are on the back-panel. You can see them in your System Report, however you will probably find them tricky to configure because you can't set a port-value for more than one port. Check IORegistryExplorer and you will see what I mean.

:)
 
Ok, great.
Also. Is there a good guide to get usb 3.1 gen 2 operational? I saw someone say it is controlled by a different chipset?
 
Success!
Thanks for all of the great info UtterDisbelief! I was able to create a custom SSDT for USB with the ports that I use the most. took me 2 tries, but I figured it out. it was an invaluable piece of into to know about the -uia_ignore boot flag. It got me past my first mistake (I forgot to add the USB 2.0 for my mouse and keyboard. LOL).
 

Attachments

  • Screen Shot 2019-10-29 at 6.55.17 PM.png
    Screen Shot 2019-10-29 at 6.55.17 PM.png
    1.8 MB · Views: 90
Ok, great.
Also. Is there a good guide to get usb 3.1 gen 2 operational? I saw someone say it is controlled by a different chipset?

If the main Intel chipset supports USB3.1 Gen 2 (like the Z390 does) then the standard XHC guide applies and you can configure them with USBInjectAll and an SSDT. Any controlled by 3rd-party chipsets will often work with appropriate drivers, but don't appear on the XHC tree and cannot be so easily configured.

Success!
Thanks for all of the great info UtterDisbelief! I was able to create a custom SSDT for USB with the ports that I use the most. took me 2 tries, but I figured it out. it was an invaluable piece of into to know about the -uia_ignore boot flag. It got me past my first mistake (I forgot to add the USB 2.0 for my mouse and keyboard. LOL).

Good news and well done :thumbup:
 
Back
Top