Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
3,632
Motherboard
Gigabyte Z390M Gaming
CPU
i5-9600K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
Attached is the file detected by IORegistryExplorer. Can someone help me identify the abbreviations to watch?
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.

:)
 
Joined
Jul 26, 2018
Messages
658
Motherboard
Asus Z370-A Prime II
CPU
i7-8700
Graphics
RX 580
Mac
MacBook Pro
Mobile Phone
iOS
It's a good idea, and to answer your question briefly some work has been done.

The main stumbling-block seems to be that folk choose to configure their ports, their way. For example which internal header is used for Bluetooth. Or which connectors they sacrifice to get down to the 15-port limit.

For each one there would have to be a mini-guide. Which is fair enough. But it's a lot of work. And you might end up with - again for example - 10x different Z390 Aorus Pro layouts, each tailored to that one user's needs.

I agree though, like the old DSDT database, it would be very useful if it can realistically be made to work, but there could be problems in the future with the big changes being made to kernel security in macOS.

:)
Great point!

It would be easy to make adjustments I guess. Well, I have an Asus Prime Z370a for anyone who needs it!
 
Joined
Jun 11, 2019
Messages
6
Motherboard
Gigabyte Z390 Aorus Pro
CPU
I9-9900k
Graphics
RX 580
Mac
Mac Pro
Mobile Phone
Android
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:
Joined
Mar 17, 2010
Messages
99
Motherboard
ASUS sabertooth z97 mark 2
CPU
i7 4790k
Graphics
HD 4600
Mac
MacBook Air
Mobile Phone
iOS
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.
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
3,632
Motherboard
Gigabyte Z390M Gaming
CPU
i5-9600K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
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.

:)
 
Joined
Sep 13, 2012
Messages
71
Motherboard
Gigabyte Z97X-UD5H
CPU
i7-4790K
Graphics
EVGA Geforce GTX 960 SSC ACX 2.0
Mac
Mac Pro
Classic Mac
Mobile Phone
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)

Why the speed is 480 Mb/s?
 

Attachments

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
3,632
Motherboard
Gigabyte Z390M Gaming
CPU
i5-9600K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
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.

:)
 
Joined
Sep 9, 2019
Messages
14
Motherboard
Z390 AORUS PRO
CPU
i7 8700k - 4.7Ghz
Graphics
RX580 4Gb
Mac
iMac
Mobile Phone
iOS
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
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
3,632
Motherboard
Gigabyte Z390M Gaming
CPU
i5-9600K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
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.

:)
 
Joined
Sep 9, 2019
Messages
14
Motherboard
Z390 AORUS PRO
CPU
i7 8700k - 4.7Ghz
Graphics
RX580 4Gb
Mac
iMac
Mobile Phone
iOS
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?
 
Top