Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

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?
 
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
 
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

  • SSDT-USB-Template.dsl
    3.4 KB · Views: 101
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.

:)
 
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.

:)
 
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
 
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?
 
Thank you @UtterDisbelief this finally worked for me after using other guides / SSDT templates / kexts / DSDT fixes / etc. all of them had various drawbacks or bugs or system instabilities but this one is rock solid after a week of testing.:clap:
 
Can someone make a video tutorial of this?
 
Back
Top