Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

Joined
Mar 21, 2011
Messages
506
Motherboard
GA-Z390-AORUS Pro
CPU
i7-9700K
Graphics
PowerColor RX590 Red Devil
It remains a puzzle to me. USB 3 drives are seen, but their volumes will not mount. I searched for a replacement motherboard, thinking that I might upgrade from a 100 series board to a 200 series board, however, the prices of last generation boards are crazy. I ordered a new SSD. When it arrives I am going to try a clean install of the os. Thanks for working with me on this.
clearly something isn't right, and there's a good chance a clean instal will solve it. in the meantime, have you tried mounting the grayed-out drives in disk utility? highlight the drive in question then click Mount in the disk utility window.
 
Joined
Mar 21, 2011
Messages
506
Motherboard
GA-Z390-AORUS Pro
CPU
i7-9700K
Graphics
PowerColor RX590 Red Devil
Well, it's interesting. I blew away the ITE device (HS12) to see what that would do, and doing so disabled HS05/SS05 and my two USB 3.0 case ports. So I rewrote the .dsl file to include HS on all SS ports. Everything works with the exception of the HS10/SS10 case port. I don't have enough ports to include an HS line for it so I'll just disable it. I hope I won't be doing this a lot: :banghead:
I'm done tweaking my SSDT-UIAC. I have all the USB3/3.1 ports and their corresponding USB2 ports enabled, except for HS08. I have the two USB2 hubs enabled--HS11 motherboard USB2 headers, and HS13 the rear panel USB2 ports. USB-C isn't enabled since I have no need for it. this comes to 15 ports. attached is my SSDT if it's of any use to you. when I acquire a USB-C device I'll disable another one of the HS ports associated with a USB3 port.
 

Attachments

Joined
Jan 22, 2013
Messages
31
Motherboard
Asus ROG STRIX Z390-F
CPU
i9-9900K
Graphics
Vega 64
Mobile Phone
iOS
hi !

I follow the guide to create SSDT for my ASUS ROG STRIX Z390-f mb
i have BCM94360CS2 on PCI1x card for wifi and BT, plug with USB. It works OOB but I have a problem when sleep:

the OS can sleep, but my computer hardware sleep and wake every minute.. when I disconnect the USB from the bluetooth card, it's fine.

here a video of the problem, as you can see my screen turn off correctly, OS is sleep, but my hardware wake and sleep (every minute):


i have create the SSDT with USB Connector for the internal USB 255, but it's not working, the problem still here..
I have SSDT-USB.aml in CLOVER/ACPI/patched and UsbInjectAll.kext in CLOVER/kexts/other

All my USB ports works (2.0 and 3.0), I have mapping only 14 ports to not use the PLRP.

As you can see, HS06 is the internal port, with UsbConnector 0xff :

403863


HS06 and HS11 is my internal 2.0 USB

I can't change the internal USB port because when I switch the cable HS06<->HS11 (BT card and NZXT cooling cable), my system doesn't see my BT card but see the cooling cable, I don't know why.

Can you help me ?

Attached my SSDT.dsl, seems to be good, can you check it ?

Thank you
 

Attachments

Last edited:

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
2,755
Motherboard
Gigabyte Z370M D3H
CPU
i3-8350K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
hi !

I follow the guide to create SSDT for my ASUS ROG STRIX Z390-f mb
i have BCM94360CS2 on PCI1x card for wifi and BT, plug with USB. It works OOB but I have a problem when sleep:

the OS can sleep, but my computer hardware sleep and wake every minute.. when I disconnect the USB from the bluetooth card, it's fine.

here a video of the problem, as you can see my screen turn off correctly, OS is sleep, but my hardware wake and sleep (every minute):


i have create the SSDT with USB Connector for the internal USB 255, but it's not working, the problem still here..
I have SSDT-USB.aml in CLOVER/ACPI/patched and UsbInjectAll.kext in CLOVER/kexts/other

All my USB ports works (2.0 and 3.0), I have mapping only 14 ports to not use the PLRP.

As you can see, HS06 is the internal port, with UsbConnector 0xff :

View attachment 403863

HS06 and HS11 is my internal 2.0 USB

I can't change the internal USB port because when I switch the cable HS06<->HS11 (BT card and NZXT cooling cable), my system doesn't see my BT card but see the cooling cable, I don't know why.

Can you help me ?

Attached my SSDT.dsl, seems to be good, can you check it ?

Thank you
Hello there.

Well looking at your IORegistryExplorer output it seems that USB port HS06 is connected to a USB2 hub. I am not familiar with your motherboard but a lot of the latest boards like yours feature a separate USB2 hub with 4 or 6 ports. This could be causing the problem though.

It seems HS11 is not connected to a hub so why the Bluetooth adapter will not work in this port is a mystery from here.

Did you install any other kexts besides USBInjectAll for USB ?

Now looking at the spec for your motherboard it shows 4x USB2 and 2x USB3.1 internal header ports. So may be you could try the BT cable in a USB3.1 Internal header instead of USB2? Yes, you will have to modify the SSDT again to configure is as "255" etc.

Your SSDT looks fine except the HS ports - not on the HS06 hub - are probably USB3.1 physical ports with more connectors and so should be connector "3" etc.

:)
 
Joined
Jan 22, 2013
Messages
31
Motherboard
Asus ROG STRIX Z390-F
CPU
i9-9900K
Graphics
Vega 64
Mobile Phone
iOS
Hello there.

Well looking at your IORegistryExplorer output it seems that USB port HS06 is connected to a USB2 hub. I am not familiar with your motherboard but a lot of the latest boards like yours feature a separate USB2 hub with 4 or 6 ports. This could be causing the problem though.

It seems HS11 is not connected to a hub so why the Bluetooth adapter will not work in this port is a mystery from here.

Did you install any other kexts besides USBInjectAll for USB ?

Now looking at the spec for your motherboard it shows 4x USB2 and 2x USB3.1 internal header ports. So may be you could try the BT cable in a USB3.1 Internal header instead of USB2? Yes, you will have to modify the SSDT again to configure is as "255" etc.

Your SSDT looks fine except the HS ports - not on the HS06 hub - are probably USB3.1 physical ports with more connectors and so should be connector "3" etc.

:)
Hi @UtterDisbelief

i have xHCIunsupported.kext for USB (hackintool recommands it)

i cant try the BT cable on 3.1 internal because of the connector

for the others HS ports, it's wanted, i want <15 ports :)
 
Last edited:
Joined
Jan 22, 2013
Messages
31
Motherboard
Asus ROG STRIX Z390-F
CPU
i9-9900K
Graphics
Vega 64
Mobile Phone
iOS
Finally, I fix it !!!
After some search and test, and your useful analysis @UtterDisbelief about the hub and USB port.

i've 2 internal connector USB2 on my mb, one connector with HS06 (wich is an hub) and one connector with 2x USB2 : HS11 and HS12.

in my first SSDT, I've disable HS12 that's why my BT card doesn't work one the second connector.

I simply switch the connector putting my BT card on the connector detected as USB not as hub and redo my SSDT with HS12 activate as USB 255 port.

the connector wires of my BT card are at the bottom of the connector and the wires of my NZXT cooling are at the top, so 2 different port on the same connector, that's why my first SSDT doesn't recognize my BT card when I switched BT and cooler.

thank you for your help, and your fantastic guide !!!

my setup is now complete, all works fine :)
 
Joined
Mar 30, 2018
Messages
13
Motherboard
Asus Maximus VII Hero
CPU
i7-4790K
Graphics
HD 4600, RX 580
Okay.

A few problems with the addresses still ...

And also the "port count" field at the top - it should be "0a", more than likely. Address of highest port.

My suggestion is to put the ports in numerical order HS01 to HS14 and SS01 to SS10 then re-check addresses. For example HS09 = "25" ? That is very unlikely.

:)
Hi, Thank you for your reply. I started everything from the scratch and tested each port manually and got the correct address for each port but for some reasons it is still not working.

My Build:
Motherboard: Asus Maximus VII Hero (Z97)
Processor: Intel i7-4790K
Graphics: Intel HD Graphics.

I have installed the following Kext files.

404296



IORegistryExplorer report after installing the custom SSDT without USB port limit patch:

404298


I have also attached the ASL template file that I created after testing each port. Kindly have a look and I hope you will be able to fix the issue that I couldn't figure it out. Almost 4 weeks I am trying to do it.
 

Attachments

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
2,755
Motherboard
Gigabyte Z370M D3H
CPU
i3-8350K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
Hi, Thank you for your reply. I started everything from the scratch and tested each port manually and got the correct address for each port but for some reasons it is still not working.

My Build:
Motherboard: Asus Maximus VII Hero (Z97)
Processor: Intel i7-4790K
Graphics: Intel HD Graphics.

I have installed the following Kext files.

View attachment 404296


IORegistryExplorer report after installing the custom SSDT without USB port limit patch:

View attachment 404298

I have also attached the ASL template file that I created after testing each port. Kindly have a look and I hope you will be able to fix the issue that I couldn't figure it out. Almost 4 weeks I am trying to do it.

Hi there.

Okay, here is what I spotted on a quick run-through:

1) As far as I can tell the Device ID you have is for the EHCI controller No.1 . The xHCI controller, which you should try to use to start with, is I think "8086_8cb1"

Your choice might be okay if you are doing more complex work using FakePCIID_XHCIMux.kext to divert EHCI, but to start with I'd leave alone, unless needed. As you don't seem to have that kext installed this is probably irrelevant.

Double-check System Report to see if you can spot "8cb1" etc. If not, check your BIOS settings.

2) HS14 - the port-address looks wrong. It's showing as 0x07 the same as HS07. Should it be "0x0e" ?

3) Double-check the port-addresses for the SS ports. They seem to be one address adrift (e.g SS01 on a 14-port chipset is usually 0x11). This might be correct by the way, I am unable to check as I don't have access to a Z97 motherboard.

:)
 
Joined
Mar 30, 2018
Messages
13
Motherboard
Asus Maximus VII Hero
CPU
i7-4790K
Graphics
HD 4600, RX 580
Hi there.

Okay, here is what I spotted on a quick run-through:

1) As far as I can tell the Device ID you have is for the EHCI controller No.1 . The xHCI controller, which you should try to use to start with, is I think "8086_8cb1"

Your choice might be okay if you are doing more complex work using FakePCIID_XHCIMux.kext to divert EHCI, but to start with I'd leave alone, unless needed. As you don't seem to have that kext installed this is probably irrelevant.

Double-check System Report to see if you can spot "8cb1" etc. If not, check your BIOS settings.

2) HS14 - the port-address looks wrong. It's showing as 0x07 the same as HS07. Should it be "0x0e" ?

3) Double-check the port-addresses for the SS ports. They seem to be one address adrift (e.g SS01 on a 14-port chipset is usually 0x11). This might be correct by the way, I am unable to check as I don't have access to a Z97 motherboard.

:)
After changing to xHCI the custom SSDT loaded but none of the port worked as I was not able to use my Keyboard and Mouse so I had to boot to the OS using my installer thumb drive.

I believe we are very close to make it working. I couldn't figure out the USB ports not working so I have attached a dump file of IORegistryExplorer. Is it possible the issue is caused because I have entries for 16 ports? I have also attached the new SSDT template file.

I am really sorry to keep you bothering.

1) As far as I can tell the Device ID you have is for the EHCI controller No.1 . The xHCI controller, which you should try to use to start with, is I think "8086_8cb1"
-> I changed it to 8086_8cb1 and I believe the custom SSDT file got loaded but none of the port worked as I was not able to login as the keyboard and mouse did not work. I have included the system report screenshots below.
404368


404370


2) HS14 - the port-address looks wrong. It's showing as 0x07 the same as HS07. Should it be "0x0e" ?
-> You were right, I have fixed the address.

3)
Double-check the port-addresses for the SS ports. They seem to be one address adrift (e.g SS01 on a 14-port chipset is usually 0x11). This might be correct by the way, I am unable to check as I don't have access to a Z97 motherboard.
-> For some reason my SS port starts from 0x10
404367



Thank you
 

Attachments

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
2,755
Motherboard
Gigabyte Z370M D3H
CPU
i3-8350K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
After changing to xHCI the custom SSDT loaded but none of the port worked as I was not able to use my Keyboard and Mouse so I had to boot to the OS using my installer thumb drive.

I believe we are very close to make it working. I couldn't figure out the USB ports not working so I have attached a dump file of IORegistryExplorer. Is it possible the issue is caused because I have entries for 16 ports? I have also attached the new SSDT template file.

I am really sorry to keep you bothering.

1) As far as I can tell the Device ID you have is for the EHCI controller No.1 . The xHCI controller, which you should try to use to start with, is I think "8086_8cb1"
-> I changed it to 8086_8cb1 and I believe the custom SSDT file got loaded but none of the port worked as I was not able to login as the keyboard and mouse did not work. I have included the system report screenshots below.
View attachment 404368

View attachment 404370

2) HS14 - the port-address looks wrong. It's showing as 0x07 the same as HS07. Should it be "0x0e" ?
-> You were right, I have fixed the address.

3)
Double-check the port-addresses for the SS ports. They seem to be one address adrift (e.g SS01 on a 14-port chipset is usually 0x11). This might be correct by the way, I am unable to check as I don't have access to a Z97 motherboard.
-> For some reason my SS port starts from 0x10
View attachment 404367


Thank you
Hi there.

Well done on the work so far! (Feedback on the port addresses for Z97 SS ports was very useful :) )

1) Looking at the template - it's looking a lot better EXCEPT you have the wrong "port-count" value.

It should be "port-count", Buffer() { 0x15, 0, 0, 0 }, because that is the highest port address you are configuring.

2) You know you have configured more than 15-ports. This is okay, in theory, but you either need to use the "-uia_exclude" command-line to disable that extra one during boot OR you can just remove it. Your choice.

When you do this you then need to re-check that "port-count" figure. If you don't remove SS06 it should still stay the same :thumbup:

3) Good to see the XHCI controller there now. The EHCI is prominent because the motherboard is a slightly older one.

:)

LATER EDIT: See post #192 - my mistake stating port-count as "15" when it should have been "0x15"
 
Last edited:
Top