Contribute
Register

[solved] Trouble Creating USB SSDT from RehabMan's Procedure

Status
Not open for further replies.
Joined
Mar 2, 2014
Messages
2,057
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Air
Classic Mac
  1. Power Mac
Mobile Phone
  1. iOS
After applying the port limit patch in config.plist/Kernel and kext patches, IORegistryExplorer displays the full listing for my Z370N-WIFI motherboard as seen in the attached document. But... look closely at the "locationID" for each of the HSxx ports, and then look at the "locationID" for each of the SSxx ports. HS01 through HS14 ports clearly fall in the "XHC@14000000" category, but SS01 through SS10 ports fall in another category, which looks like maybe an "XHC@15" category. Their "locationID" is always shown as "0x15......". But there is no "XHC@15" in IORegistryExplorer, at least not in v 2.1.

If I use RehabMan's "SSDT-UIAC-ALL.dsl" file (section for motherboard "8086_a36d") to create an SSDT for my Z370N-WIFI, compiling SSDT.dsl as machine binary and then decompiling the SSDT.aml back to SSDT.dsl results in the one attached. And IORegistry Explorer responds to this SSDT by showing only HSxx ports.

Can anyone explain or help with this? Have I done something wrong? It certainly doesn't work.

[Edit 1: I have attached "iMac-2.ioreg" which shows the XHC restricted to 15 ports after disabling the port limit patch, but it only shows HS ports (and the USR1 port) and no SSxx ports.]
 

Attachments

  • iMac.ioreg
    4.1 MB · Views: 167
  • SSDT-UIAC-ALL.dsl
    35.9 KB · Views: 128
  • COFFEELAKE USB SSDT.dsl
    6.7 KB · Views: 123
  • iMac-2.ioreg
    4 MB · Views: 151
Last edited:
After applying the port limit patch in config.plist/Kernel and kext patches, IORegistryExplorer displays the full listing for my Z370N-WIFI motherboard as seen in the attached document. But... look closely at the "locationID" for each of the HSxx ports, and then look at the "locationID" for each of the SSxx ports. HS01 through HS14 ports clearly fall in the "XHC@14000000" category, but SS01 through SS10 ports fall in another category, which looks like maybe an "XHC@15" category. Their "locationID" is always shown as "0x15......". But there is no "XHC@15" in IORegistryExplorer, at least not in v 2.1.

If I use RehabMan's "SSDT-UIAC-ALL.dsl" file (section for motherboard "8086_a36d") to create an SSDT for my Z370N-WIFI, compiling SSDT.dsl as machine binary and then decompiling the SSDT.aml back to SSDT.dsl results in the one attached. And IORegistry Explorer responds to this SSDT by showing only HSxx ports.

Can anyone explain or help with this? Have I done something wrong? It certainly doesn't work.

[Edit 1: I have attached "iMac-2.ioreg" which shows the XHC restricted to 15 ports after disabling the port limit patch, but it only shows HS ports (and the USR1 port) and no SSxx ports.]

Your XHC is 0xa2af, not 0xa36d.
 
Fixed! Thank you, RehabMan. All problems gone and SSDT works perfectly once the right motherboard device ID is used.

Marked solved.
 
After applying the port limit patch in config.plist/Kernel and kext patches, IORegistryExplorer displays the full listing for my Z370N-WIFI motherboard as seen in the attached document. But... look closely at the "locationID" for each of the HSxx ports, and then look at the "locationID" for each of the SSxx ports. HS01 through HS14 ports clearly fall in the "XHC@14000000" category, but SS01 through SS10 ports fall in another category, which looks like maybe an "XHC@15" category. Their "locationID" is always shown as "0x15......". But there is no "XHC@15" in IORegistryExplorer, at least not in v 2.1.

If I use RehabMan's "SSDT-UIAC-ALL.dsl" file (section for motherboard "8086_a36d") to create an SSDT for my Z370N-WIFI, compiling SSDT.dsl as machine binary and then decompiling the SSDT.aml back to SSDT.dsl results in the one attached. And IORegistry Explorer responds to this SSDT by showing only HSxx ports.

Can anyone explain or help with this? Have I done something wrong? It certainly doesn't work.

[Edit 1: I have attached "iMac-2.ioreg" which shows the XHC restricted to 15 ports after disabling the port limit patch, but it only shows HS ports (and the USR1 port) and no SSxx ports.]

I have the same board. When I did my USB checks, HS12 seemed to be active. You do not have this in your dsl. I am not sure what it is (probably internal front panel USB2.0).

From my tests:

HS01 : Internal USB 3
HS02 : Internal USB 3
HS03 : Right port (2)
HS04 : Right port (1): indexed from 1 starting at bottom
HS05 : Left port (3)
HS06 : Left port (4)
HS07 : Left port (1): indexed from 1 starting at bottom
HS08 : Left port (2)
HS09 : USB-C
HS10 : Bluetooth
HS12 : Unknown, but active
 
I have the same board. When I did my USB checks, HS12 seemed to be active. You do not have this in your dsl. I am not sure what it is (probably internal front panel USB2.0).

From my tests:

HS01 : Internal USB 3
HS02 : Internal USB 3
HS03 : Right port (2)
HS04 : Right port (1): indexed from 1 starting at bottom
HS05 : Left port (3)
HS06 : Left port (4)
HS07 : Left port (1): indexed from 1 starting at bottom
HS08 : Left port (2)
HS09 : USB-C
HS10 : Bluetooth
HS12 : Unknown, but active

Look at the idProduct/idVendor for the device (this data is in ioreg) to determine what device is attached to that port.
 
After applying the port limit patch in config.plist/Kernel and kext patches, IORegistryExplorer displays the full listing for my Z370N-WIFI motherboard as seen in the attached document. But... look closely at the "locationID" for each of the HSxx ports, and then look at the "locationID" for each of the SSxx ports. HS01 through HS14 ports clearly fall in the "XHC@14000000" category, but SS01 through SS10 ports fall in another category, which looks like maybe an "XHC@15" category. Their "locationID" is always shown as "0x15......". But there is no "XHC@15" in IORegistryExplorer, at least not in v 2.1.

If I use RehabMan's "SSDT-UIAC-ALL.dsl" file (section for motherboard "8086_a36d") to create an SSDT for my Z370N-WIFI, compiling SSDT.dsl as machine binary and then decompiling the SSDT.aml back to SSDT.dsl results in the one attached. And IORegistry Explorer responds to this SSDT by showing only HSxx ports.

Can anyone explain or help with this? Have I done something wrong? It certainly doesn't work.

[Edit 1: I have attached "iMac-2.ioreg" which shows the XHC restricted to 15 ports after disabling the port limit patch, but it only shows HS ports (and the USR1 port) and no SSxx ports.]

Could you please provide your original SSDT.dsl before compilation into aml? You only provided the decompiled version, but I'd like to compare SSDT-UIAC-ALL.dsl with your reduced version, and with mine. I attached my dsl SSDT-UIAC with commented ports for posterity. My hotplug USB-C (Port HS09) is not working, only after boot.


----

Update: Added SSDT-UIAC-Z370N_fixed.dsl according to suggestions by wstrohm.
 

Attachments

  • SSDT-UIAC-Z370N.dsl
    6.1 KB · Views: 103
  • DSDT_CLOVER_native.aml
    156.5 KB · Views: 120
  • SSDT-UIAC-Z370N_fixed.dsl
    6.8 KB · Views: 90
Last edited:
Could you please provide your original SSDT.dsl before compilation into aml? You only provided the decompiled version, but I'd like to compare SSDT-UIAC-ALL.dsl with your reduced version, and with mine. I attached my dsl SSDT-UIAC with commented ports for posterity. My hotplug USB-C (Port HS09) is not working, only after boot.
No problem; attached below. (Please note that "HS09" is not present since I do not use the USB-C port and needed to minimize my ports to 15 maximum.)

I noted that your "port count" is 26, but the number 26 occurs only in your comments, not in the used ports. Looks to me like the port count should be 24. Also, you seem to have 20 active ports, and I thought the point of using an SSDT was to limit the number of ports to 15. Is that not the case for the Kaby Lake Z370N board? (RehabMan is the expert on this.)
 

Attachments

  • COFFEELAKE_USB_SSDT.dsl
    3.1 KB · Views: 112
Last edited:
Status
Not open for further replies.
Back
Top