Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

Joined
Jun 2, 2011
Messages
34
Motherboard
Supermicro X9DAI Clover 10.13.2
CPU
E5-2670v1 Dual
Graphics
Sapphire Radeon VII
Mac
MacBook, Mac Pro
Mobile Phone
iOS
Hi Guys, I need some help: I had to switch to imacpro1,1 SMBios because my new Radeon VII was freezing all the time with MacPro6,1. I have a X9Dai with Dual Sandybridge E5-2670. USB2.0 has stopped working, they worked well in MacPro6,1 by only renaming the USBE and EUSB to EH01 and EH02 and using the USBInjectall.kext by Rehabman. The Board has two EHCI Controllers EUSB and USBE (renamed to EH01 and EH02) and the Board has also a Renesas uPD720200 on which I gave up completely. But now, even the EHCI Controllers are not working. They are shown in the System Information as USB 2.0 Bus, but not working. I tried the USBMap Method, but no Ports show up. Any hint? I attach the Ioreg and Screenshots of the DSDT. Thanks!
 

Attachments

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
2,754
Motherboard
Gigabyte Z370M D3H
CPU
i3-8350K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
Hi Guys, I need some help: I had to switch to imacpro1,1 SMBios because my new Radeon VII was freezing all the time with MacPro6,1. I have a X9Dai with Dual Sandybridge E5-2670. USB2.0 has stopped working, they worked well in MacPro6,1 by only renaming the USBE and EUSB to EH01 and EH02 and using the USBInjectall.kext by Rehabman. The Board has two EHCI Controllers EUSB and USBE (renamed to EH01 and EH02) and the Board has also a Renesas uPD720200 on which I gave up completely. But now, even the EHCI Controllers are not working. They are shown in the System Information as USB 2.0 Bus, but not working. I tried the USBMap Method, but no Ports show up. Any hint? I attach the Ioreg and Screenshots of the DSDT. Thanks!
Hello there.

First up - This is a quite specialised question way beyond a beginner tutorial, so it might be worth starting a new thread so that the experts out there should notice. They rarely view the beginner's guides. :thumbup:

Okay, that said:

1) EH01 and EH02 are correct names and usually follow the - EUSB to EH01 and USBE to EH02 renaming.

2) The Renesas USB3 chipset is classed as 3rd Party so might work with GenericUSBXHCI.kext. Worth trying? This hasn't been updated for a long while now so it will depend on which version of macOS you are using. You don't want any crashes or lock-ups so back-up before any tests etc.

3) Sadly I couldn't load your IOREG file. Maybe corrupted or saved from a different version?

4) The biggie: USBInjectAll is designed to be used with a custom "injector" file - SSDT_UIAC.aml etc. This is what should make visible ports actually work. If you don't want to hand-code one (as per this beginner's guide) then you can use the latest version of Hackintool to create one automatically.

System Definitions are well-known for having so many unexpected effects on a smoothly running PC, when they are changed.

:)
 
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
Problems with my motherboard forced me to resort to installing a PCI card with the hopes of getting some USB 3 Ports working. I installed one of the Inateck cards with fresco logic chips that is supposed to be compatible with the Mac OS. I installed the third-party USB controller kext genericUSBXHCIPCI.kext to Library/extensions using MultiBeast. So far I'm getting nothing out of it. Could the SSDT that I created to limit my ports be affecting the functioning of this card?
 
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
Unless I learn something that helps me get to a solution under the Mac OS, I am going to get another disc up and running with windows 10 so that I can see if I can sort out my hardware problems, including getting my thunderbolt 3 card drivers installed
 
Joined
Apr 25, 2019
Messages
6
Motherboard
Asus Prime Z370-A II
CPU
i7 8700
Graphics
RX 570
Mac
iMac
Mobile Phone
iOS
Hey everyone, So I successfully got Mojave 10.14.4 working but for the life of me can't get Bluetooth working at all. I purchased the BCM943602CS Wifi/BT card which is suppose to work out of the box, the Wifi works but Bluetooth does not. I have plugged in the USB connector from the card to the motherboard USB bus.

I'm following this guide in an attempt to fix my Bluetooth, but when I mapped the ports it seems that Bluetooth is simply Unavailable now.

Here's my ports according IO Reg: https://cl.ly/4db1bea94281

Also attached the DSL I created. Not sure if I entered everything correctly?

If I understand correctly:
  • For a USB bus on the motherboard in the DSL I should put "UsbConnector" as 255?
  • If the address in IOReg is "port <0e 00 00 00>", in the DSL I put "Buffer() { 0x0e, 0, 0, 0 }"?
  • For the SS ports I don't actually have a USB3 stick to test whether they're working, so I simply mapped SS01 - SS06 for now...not sure if that's an issue?

Mojave 10.14.4

Kext added to EFI:

  • AppleALC.kext v1.3.7
  • IntelMausiEthernet.kext v2.4.1d1
  • Lilu.kext v1.3.5
  • SMCBatteryManager.kext v1
  • SMCLightSensor.kext v1
  • SMCProcessor.kext v1.0.3
  • SMCSuperIO.kext v1.0.3
  • USBInjectAll.kext v0.7.1
  • VirtualSMC.kext v1.0.3
  • WhateverGreen.kext v1.2.8
Hardware:
  • CPU: i7 8700 (non-K version)
  • GPU: MSI OC 8gb RX 570
  • RAM: 32gb Corsair Vengeance DDR4 3000 (2 x 16gb in slot A2 and B2)
  • Motherboard/Laptop model: Asus Prime Z370-A II
  • Wifi/BT Card: Broadcom BCM943602CS - Bought from eBay
System Info Screenshots:
What files/config I am using:
Hoping that once I properly map the USBs perhaps my Bluetooth will work?
 

Attachments

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
2,754
Motherboard
Gigabyte Z370M D3H
CPU
i3-8350K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
Problems with my motherboard forced me to resort to installing a PCI card with the hopes of getting some USB 3 Ports working. I installed one of the Inateck cards with fresco logic chips that is supposed to be compatible with the Mac OS. I installed the third-party USB controller kext genericUSBXHCIPCI.kext to Library/extensions using MultiBeast. So far I'm getting nothing out of it. Could the SSDT that I created to limit my ports be affecting the functioning of this card?
Not directly, no.

If you disable your SSDT you will probably need to put the port-limit removal patches back in.

Open IORegistryExplorer and scan as you plug a device into your new card. See if you can spot where it appears.

:)
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
2,754
Motherboard
Gigabyte Z370M D3H
CPU
i3-8350K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
Hey everyone, So I successfully got Mojave 10.14.4 working but for the life of me can't get Bluetooth working at all. I purchased the BCM943602CS Wifi/BT card which is suppose to work out of the box, the Wifi works but Bluetooth does not. I have plugged in the USB connector from the card to the motherboard USB bus.

I'm following this guide in an attempt to fix my Bluetooth, but when I mapped the ports it seems that Bluetooth is simply Unavailable now.

Here's my ports according IO Reg: https://cl.ly/4db1bea94281

Also attached the DSL I created. Not sure if I entered everything correctly?

If I understand correctly:
  • For a USB bus on the motherboard in the DSL I should put "UsbConnector" as 255?
  • If the address in IOReg is "port <0e 00 00 00>", in the DSL I put "Buffer() { 0x0e, 0, 0, 0 }"?
  • For the SS ports I don't actually have a USB3 stick to test whether they're working, so I simply mapped SS01 - SS06 for now...not sure if that's an issue?

Mojave 10.14.4

Kext added to EFI:

  • AppleALC.kext v1.3.7
  • IntelMausiEthernet.kext v2.4.1d1
  • Lilu.kext v1.3.5
  • SMCBatteryManager.kext v1
  • SMCLightSensor.kext v1
  • SMCProcessor.kext v1.0.3
  • SMCSuperIO.kext v1.0.3
  • USBInjectAll.kext v0.7.1
  • VirtualSMC.kext v1.0.3
  • WhateverGreen.kext v1.2.8
Hardware:
  • CPU: i7 8700 (non-K version)
  • GPU: MSI OC 8gb RX 570
  • RAM: 32gb Corsair Vengeance DDR4 3000 (2 x 16gb in slot A2 and B2)
  • Motherboard/Laptop model: Asus Prime Z370-A II
  • Wifi/BT Card: Broadcom BCM943602CS - Bought from eBay
System Info Screenshots:
What files/config I am using:
Hoping that once I properly map the USBs perhaps my Bluetooth will work?
Hello there.

First up - you can upload small files and images directly to this site. No need for off-site links, especially when shortened and folk can't see where they're going :thumbup:

Okay ...

1) How did you install macOS? Checking your EFI folder contents I see you are using VirtualSMC and it's plug-ins instead of FakeSMC.

2) The *.dsl file looks good. I didn't spot any obvious mistakes. Clearly HS10 is the motherboard header you have plugged your Bluetooth card into?

That would be the usual reason for the Bluetooth radio being absent. Because there are two ports in one socket (as motherboard 9-pin header USB2.0 ports usually are) and the BT connector can be attached to the other one of the pair etc. (in your case probably HS09 or HS11 etc). Worth checking.

3) Despite not having a USB3 flash drive you seem to have configured your SS ports fine.

:)
 
Joined
Apr 18, 2019
Messages
17
Motherboard
ASUS Z390-E
CPU
i7-9700K
Graphics
RTX 2060
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 :)
I have the same mb. What is your usb for HS14? On my end shown as onboard bt
 
Joined
Jun 8, 2015
Messages
66
Motherboard
Gigabyte GA-Z97X-Gaming 3
CPU
i5-4690K
Graphics
RX 580
Mac
MacBook Air
Classic Mac
iMac, PowerBook
Mobile Phone
Android
Yet another excellent guide. Thank you @UtterDisbelief & the others who helped to contribute. I'm very pleased that I won't need to mess around with port limit patches anymore, and that my USB ports are configured in a way that is safer for the devices.

I encountered a couple of things that slowed me down. I'm using Mojave 10.14.5:
  1. I was using an older version of the port limit removal patch initially, so I needed to use the newest version to see all of the available ports.
  2. I had the wrong device ID from system information. My system has multiple USB Bus' available, and I picked the wrong one to start. Once I entered the correct device ID for the bus I'm using, it obviously worked just fine.
    408191
The HS / SS labels seem arbitrary - are they? I'm asking out of mere curiosity, because when I was using the port limit removal patch, my SS ports were labeled 01 through 06, but in my SSDT file, I labeled them commensurate with their corresponding HS port. In each instance, the ports seemed to work just fine, which leads me to believe I can label any of the ports according to whatever numbering scheme I want... is that right, or am I mistaken?
 
Top