Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

Joined
Jan 12, 2020
Messages
4
Thanks so much! I was actually able to figure it out by probing each USB port with a USB2 drive, then advancing the port from 0x01 to 0x11, 0x0a to 0x1a, et cetera. I was able to compile the SSDT first try and all of the USB 3 ports work, including the USB 3.1 and USB-C Port. As far as I can tell I think everything is finally working!!

kelskafoss,

I have the same motherboard, CPU, and Graphics as you. My computer case is the CoolerMaster Elite 130, so its front panel USB ports may be different than yours. My USB port mapping is shown below. I am attaching my zipped SSDT file which activates the ports shown in my port mapping document, except for the Type C port, which I did not activate. If you think this could help you and want to try it, you would need to do the following:
1. Unzip my attached "SSDT-6-AMI-aml" file and place it into your "EFI/CLOVER/ACPI/patched" folder.
2. Go to your "EFI/CLOVER/kexts/Other" folder and remove "USBInjectAll.kext."
3. Restart your computer in Mac OS and open "IORegistryExplorer.app." Scroll down to the "XHC" topic and see if the ports you need are there. If so, your USB ports should be set up. If not, post back.
 
Joined
Mar 3, 2014
Messages
713
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
MacBook Air
Classic Mac
Power Mac
Congrats; sounds like you did that without any help! Does your IORegistryExplorer "XHC" area look anything like mine? I guess if the USB-C port is enabled too, it will be different from mine. If I understand correctly, the red port (USB 3.1) is controlled other than in XHC anyway, and won't count into the maximum number of 15 ports allowed by Apple.
(Please note that I forgot that "USBInjectAll.kext" needed to be removed from "/Library/Extensions" also, if there. I updated my earlier post.)

IORegistryExplorer.jpg
 
Joined
Jan 3, 2019
Messages
12
Motherboard
Intel DH77DF
CPU
i5-3570T
Graphics
HD 2500
Mobile Phone
Android
@UtterDisbelief thank you for the perfect guide! Hi have installed high Sierra 10.13.6 with the last security updates. If I use hackintool I can see only usb3 devices when I plug them. Usb2 devices doesn't appears but they work, not perfectly but they work.. I don't understand why! Thank you to all!
 
Joined
Aug 13, 2010
Messages
425
Motherboard
GA-X58A-UD3R
CPU
X5650
Graphics
7970HD
Mac
Mac Pro
Mobile Phone
iOS
After the last attempt to create a SSDT, I had a stable machine for over 5 weeks. After a reboot I am now back to the reboots around sleeping from before. I have tried to follow the steps exactly, but for some reason I lose Bluetooth (it is on UHC3 port XX01), and have other ports show up that I deleted - I only choose ports that are green (and ones I know I'll need). When I reboot with the new USbPorts, etc., I get other ports showing up (I cannot find out where these ports are being pulled from). Please advise me as to where I should go from here. thank you very much!
 

Attachments

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
3,671
Motherboard
Gigabyte Z390M Gaming
CPU
i5-9600K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
After the last attempt to create a SSDT, I had a stable machine for over 5 weeks. After a reboot I am now back to the reboots around sleeping from before. I have tried to follow the steps exactly, but for some reason I lose Bluetooth (it is on UHC3 port XX01), and have other ports show up that I deleted - I only choose ports that are green (and ones I know I'll need). When I reboot with the new USbPorts, etc., I get other ports showing up (I cannot find out where these ports are being pulled from). Please advise me as to where I should go from here. thank you very much!
I'll take a look later when I'm back at my PC :thumbup:
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
3,671
Motherboard
Gigabyte Z390M Gaming
CPU
i5-9600K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
I'll take a look later when I'm back at my PC :thumbup:
Hello again,

Okay, interesting set-up ...

Incidentally your motherboard features an NEC USB3 controller, according to Gigabyte, but Hackintool shows this as a Fresco Logic FL1100. This makes me wonder if you have an add-on PCI-e USB card in the mix too?

Anyway, other than that, you seem to have worked the *.dsl very well. Considering the age of the X58 - it isn't often we see a UHC controller in the listing :thumbup:

Right, on to your problem with Bluetooth -

Yes, we can see it is not visible in Hackintool. What type of BT adapter is it? A PCI-e card or a USB dongle?
If it's a card you would connect it to a USB header - I guess F_USB1 or F_USB2. Each of those actually has 2x ports so check the plug is in the same one as before.

If a header is how you are connecting, use a UsbConnector type 255. In your SSDT you have it set to 0 :

"8086_3a36", Package()
{
"port-count", Buffer() { 0x01, 0x00, 0x00, 0x00 },
"ports", Package()
{
"XX01", Package()
{
"UsbConnector", 0, <------- should be "255"
"port", Buffer() { 0x01, 0x00, 0x00, 0x00 },
},
},
},

However if you are using a USB dongle and on paper it looks like it should be "0" then when the port is polled the USB sub-system will wake your machine.

Double check the setting you used before etc.

:)
 
Last edited:
Joined
Aug 13, 2010
Messages
425
Motherboard
GA-X58A-UD3R
CPU
X5650
Graphics
7970HD
Mac
Mac Pro
Mobile Phone
iOS
Yes I have turned off the internal USB 3.0, since I have read it causes issues, and have a 4 port USB 3.0 PCIE card that works very well. I have a WiFi-USB 3.0 adapter card (was one that was recommended on this site). This port appears on UHC3 port xx01 ( I believe in header 1). When I use Hackintool, and I delete any port (like ports 15-18) the Bluetooth port no longer works. I will try the change to 255, but have done this before.
Also, what files, kexts etc goes where? I have tried many things and am now confused as to what goes where.
Again, thank you very much.
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
3,671
Motherboard
Gigabyte Z390M Gaming
CPU
i5-9600K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
Yes I have turned off the internal USB 3.0, since I have read it causes issues, and have a 4 port USB 3.0 PCIE card that works very well. I have a WiFi-USB 3.0 adapter card (was one that was recommended on this site). This port appears on UHC3 port xx01 ( I believe in header 1). When I use Hackintool, and I delete any port (like ports 15-18) the Bluetooth port no longer works. I will try the change to 255, but have done this before.
Also, what files, kexts etc goes where? I have tried many things and am now confused as to what goes where.
Again, thank you very much.
Okay, that's fine. If you connect the BT cable to an Internal USB header then it should be set as UsbConnector type 255. However this will not make the port visible or invisible.

The basic kext needed for USB is just USBPorts.kext as you have disabled the onboard Nec chip. Interestingly though, you have no visible XHC ports. I may be wrong but I thought the add-on FL1100 card was USB3, but it isn't showing in Hackintool's top panel. So then I wonder where the EHCI ports are coming from, if the South Bridge chipset for X58 is UHC?

I also do not know, 100%, if Hackintool works well with UHC systems. More research needed!

For more experimenting you could remove USBPorts.kext and replace it with USBInjectAll.kext, along with the Hackintool generated SSDT-UIAC.aml file placed in CLOVER/ACPI/patched folder. See if that makes any difference :thumbup:
 
Joined
Aug 13, 2010
Messages
425
Motherboard
GA-X58A-UD3R
CPU
X5650
Graphics
7970HD
Mac
Mac Pro
Mobile Phone
iOS
Thank you very much. I have the rename patches in Clover, is this a problem? Or do I need them. I am not sure, from the version of Hackintool i had before (2.8?) to the latest one, the ports started showing with the names. Not sure why.
 
Top