Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

Joined
Mar 21, 2011
Messages
472
Motherboard
GA-Z390-AORUS Pro
CPU
i7-9700K
Graphics
PowerColor RX590 Red Devil
Do you know of a PCI card to add USB three ports that would work here? If I can't find one I may have to get a thunderbolt adapter and see if I can run some new ports off of that.
go to amazon and search for FL11000. that is a fresco logic chipset, and it is natively supported by OS X. there are several manufacturers using that chip in their usb3 PCI-e cards.
 
Joined
Nov 8, 2011
Messages
86
Motherboard
ASRock X99 Extreme4/3.1
CPU
E5-1620-V3
Graphics
Gigabyte GTX 960 OC 2GB
I am trying to setup USB on my ASROCK Z390M ITX/AC board on 10.14.5

My ssdt does not appear to have any effect. In my SSDT I have selected 14 ports but they are not being respected, instead going for the first 15... Any hints on what I am missing?

405774


Edit:
For reference, I need the following ports (HS14 is bluetooth and SS04 is type-c. HS09 and HS10 are USB2 ports):
HS02
HS03
HS04
HS07
HS08
HS09
HS10
HS14
SS01
SS02
SS03
SS04
SS07
SS08
 

Attachments

Last edited:

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
2,187
Motherboard
Gigabyte Z370M D3H
CPU
i3-8350K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
I am trying to setup USB on my ASROCK Z390M ITX/AC board on 10.14.5

My ssdt does not appear to have any effect. In my SSDT I have selected 14 ports but they are not being respected, instead going for the first 15... Any hints on what I am missing?

View attachment 405774

Edit:
For reference, I need the following ports (HS14 is bluetooth and SS04 is type-c. HS09 and HS10 are USB2 ports):
HS02
HS03
HS04
HS07
HS08
HS09
HS10
HS14
SS01
SS02
SS03
SS04
SS07
SS08
Hello.

Your screen grab seems to imply that the patch isn't working, for sure.

A few points to note -

1) Personally I don't like opening unknown zip files. This is only my preference, but you can understand why, I'm sure. The SSDT is fine :thumbup:

2) I checked with the ASRock website for your motherboard but they don't specify if they use an extra USB chipset and whether or not they use a USB 2.0 hub. This happens a lot with the latest motherboards. So by default I assume all is catered for by the Z390 chipset alone.

3) So with USBInjectAll and the Port-Limit Removal Patch in place do you see all 26-ports, or at least a number in the 20's ? This would confirm that there is just a mistake somewhere in the SSDT we haven't yet spotted etc.

4) You have another post here about 10.14.5 restarts after an hour of running. Was this USB problem before or since the upgrade?

:)
 
Last edited:
Joined
Nov 8, 2011
Messages
86
Motherboard
ASRock X99 Extreme4/3.1
CPU
E5-1620-V3
Graphics
Gigabyte GTX 960 OC 2GB
Hello.

Your screen grab seems to imply that the patch isn't working, for sure.

A few points to note -

1) Personally I don't like opening unknown zip files. This is only my preference, but you can understand why, I'm sure. The SSDT is fine :thumbup:

2) I checked with the ASRock website for your motherboard but they don't specify if they use an extra USB chipset and whether or not they use a USB 2.0 hub. This happens a lot with the latest motherboards. So by default I assume all is catered for by the Z390 chipset alone.

3) So with USBInjectAll and the Port-Limit Removal Patch in place do you see all 26-ports, or at least a number in the 20's ? This would confirm that there is just a mistake somewhere in the SSDT we haven't yet spotted etc.

4) You have another post here about 10.14.5 restarts after an hour of running. Was this USB problem before or since the upgrade?

:)
Thanks for the detailed reply.

Turned out to be an issue with USBInjectAll.kext as it whitelists specific Mac identifiers and had not been updated to include iMac19,2. I was able to add what I guessed as appropriate references and it worked as expected.
 
Joined
Nov 28, 2015
Messages
15
Motherboard
MSI Z390M Gaming Edge AC
CPU
i5-9600K
Graphics
UHD 630
Turned out to be an issue with USBInjectAll.kext as it whitelists specific Mac identifiers and had not been updated to include iMac19,2. I was able to add what I guessed as appropriate references and it worked as expected.
What did you do?

I updated to 10.14.5 and changed to iMac19,1 as using Z390 / i5 9600K. USB 3 ports stopped working with the patch I created using (MacMini8,1) and trying to diagnose the issue. So far believe that the USB controller is now supported natively by macOS instead of using XCHIUnsupported.kext which I have removed from EFI

Host Controller Driver: AppleIntelCNLUSBXHCI
PCI Device ID: 0xa36d
PCI Revision ID: 0x0010
PCI Vendor ID: 0x8086
 
Joined
Aug 17, 2011
Messages
300
Motherboard
GA-Z170MX-Gaming 5
CPU
i5 7400
Graphics
HD630
Classic Mac
Classic, LC, Power Mac
Mobile Phone
iOS
go to amazon and search for FL11000. that is a fresco logic chipset, and it is natively supported by OS X. there are several manufacturers using that chip in their usb3 PCI-e cards.
Thanks for the tip! I couldn't find an exact match for NFL 11000, but I did find other fresco logic cards that look like they might work. Like this one. And I would order it too, except that I've already ordered the Gigabyte Alpine Ridge thunderbolt three card.
 
Last edited:
Joined
May 15, 2019
Messages
9
Motherboard
Gigabyte GA-Z170N-WIFI
CPU
i7-6700K
Graphics
HD 530
Mobile Phone
iOS
my single USB C port is displayed as usb connector 0x3 in IORegistry and for some reason any device I plug in there
shows up in HS07 (USB3 device with USB-C adapter).
isn't it supposed to show up as SS07? or is the adapter dropping the speed?
Im not sure the adapter is usb 3.0... but then again... what kind of usb-c adapter is not 3.0 at least?
And do I write this port as "UsbConnector", 10?

Also if HS01 and HS02 are for some reason internal headers on my motherboard (z170n-wifi) do I just not include them in the SSDT and start my list from the first one I'm intending to use? because the first one is HS03.

I added the .dsl file, can you please check it if I got everything correctly?
basically I'm only using the back ports on my motherboard including the wifi/bluetooth module
I only have 11 ports basically, is that ok in terms of the 15 port limit? and do I need to keep usbinjectall.kext and the port limit patch or do I need to remove them after the SSDT is made?
 

Attachments

Last edited:

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
2,187
Motherboard
Gigabyte Z370M D3H
CPU
i3-8350K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
my single USB C port is displayed as usb connector 0x3 in IORegistry and for some reason any device I plug in there
shows up in HS07 (USB3 device with USB-C adapter).
isn't it supposed to show up as SS07? or is the adapter dropping the speed?
Im not sure the adapter is usb 3.0... but then again... what kind of usb-c adapter is not 3.0 at least?
And do I write this port as "UsbConnector", 10?

Also if HS01 and HS02 are for some reason internal headers on my motherboard (z170n-wifi) do I just not include them in the SSDT and start my list from the first one I'm intending to use? because the first one is HS03.

I added the .dsl file, can you please check it if I got everything correctly?
basically I'm only using the back ports on my motherboard including the wifi/bluetooth module
I only have 11 ports basically, is that ok in terms of the 15 port limit? and do I need to keep usbinjectall.kext and the port limit patch or do I need to remove them after the SSDT is made?
Hi there,

According to Gigabyte your motherboard has 6x USB3.0/2.0 ports and 2x USB2.0/1.0 ports. Plus the USB-C port. So if we double-up the USB 3.0 ports that is 14-ports, then add the USB 2.0 ports, we get a total of 16 possible configs. I agree its a good idea to just configure the USB-C as USB3.0. They do work with USB2.0 but it's unlikely that you will be plugging in USB 2.0 devices there. That gets you neatly down to the 15 limit.

1) With a custom SSDT of course you can configure as many as you like, missing out ones you can do without, but remember you need to use USBInjectAll.kext to open up all the SS ports beyond HS14. Without it you will only have the 'first' 15 available - HS01 to HS14 + SS01 usually. What's more to actually see them, you need the correct port-limit removal patch in place.

2) A USB-C connector can be "UsbConnector", 10 or "UsbConnector", 9 depending on whether or not turning the plug over changes the port address it is attached to. As you point out there's no point configuring HS07, in your example, if it is USB2 on the USB-C port if you are not going to use it - unless you choose to.

3) Once the SSDT is created you can remove the port-limit patch but you should keep USBInjectAll.kext.

4) As far as I can tell at quick glance, your SSDT template looks fine.

:)
 
Top