Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

My Elitebook 850 G1 has been running well from following the Probook guide.

I recently got an AzureWave wifi/Bluetooth card for it, with the BCM4352 chipset, and I cannot get the Bluetooth to show up.

From installing lsusb through 'brew' it seems as though the OS doesn't see Bluetooth device at all. Booting from a Linux live USB, the Bluetooth part of the device does show up under Bus 002 Device 005. (I understand those numbers may be irrelevant to macOS since each OS may enumerate the USB devices differently, but thought I'd mention it just in case it is useful.)

So I followed this guide in an attempt to find an internal USB port that may be hidden from the system due to being outside of the USB device limit. But no matter what options I use, I only end up with XHC and 13 USB ports at the most, which are HS01-HS09 and SS01-SS04, and the ones it shows in use are mapped like this:
HS02: left front USB2
HS03: right side USB2 ports (which are apparently a hub)
HS04: left rear USB2
HS05: IOUSBHostDevice@14500000/AppleUSBHostLegacyClient (This appears to be the fingerprint reader.)
HS07: Webcam
SS02: left front USB3
SS03: right side USB3 (hub)
SS04: left rear USB3
(The SS ports seem to identify as SSP01-04 when not using FakePCIID_XHCIMux.kext)

Something odd to me is that there is no trace of EH01/EH02 in the ioreg, even though I did see EHC/EHC1 mentioned in my DSDT, and the rename patches seem to find things to patch when I look in the logs. I only get the XHC ports.

Is there something in my configuration that is preventing the internal USB port that the Bluetooth is attached to from being seen by the OS?

Problem report attached.
 

Attachments

  • debug_1614.zip
    2.9 MB · Views: 79
Last edited:
I see, I'm not gonna pretend I know which case applies to my hack, so long as everything works fine, I am not gonna change anything. Lol

It is easy to detect internal devices. They are the devices that are connected before you plug anything in.
 
Thank you, that did the trick. This next question is possibly off topic but... I was expecting USB3 devices plugged into USB3 ports to run at speeds in excess of USB2 speeds after setting a correct SSDT. This is what I am getting with every USB3 device with Black Magic speed test, AJA System Test and Amorphous Disk Mark. Any thoughts?

Depends on the device. Some USB3 devices simply aren't capable of saturating the USB2 bus.
And you didn't attach PR files anyway,...
 
My Elitebook 850 G1 has been running well from following the Probook guide.

I recently got an AzureWave wifi/Bluetooth card for it, with the BCM4352 chipset, and I cannot get the Bluetooth to show up.

From installing lsusb through 'brew' it seems as though the OS doesn't see Bluetooth device at all. Booting from a Linux live USB, the Bluetooth part of the device does show up under Bus 002 Device 005. (I understand those numbers may be irrelevant to macOS since each OS may enumerate the USB devices differently, but thought I'd mention it just in case it is useful.)

So I followed this guide in an attempt to find an internal USB port that may be hidden from the system due to being outside of the USB device limit. But no matter what options I use, I only end up with XHC and 13 USB ports at the most, which are HS01-HS09 and SS01-SS04, and the ones it shows in use are mapped like this:
HS02: left front USB2
HS03: right side USB2 ports (which are apparently a hub)
HS04: left rear USB2
HS05: IOUSBHostDevice@14500000/AppleUSBHostLegacyClient (This appears to be the fingerprint reader.)
HS07: Webcam
SS02: left front USB3
SS03: right side USB3 (hub)
SS04: left rear USB3
(The SS ports seem to identify as SSP01-04 when not using FakePCIID_XHCIMux.kext)

Something odd to me is that there is no trace of EH01/EH02 in the ioreg, even though I did see EHC/EHC1 mentioned in my DSDT, and the rename patches seem to find things to patch when I look in the logs. I only get the XHC ports.

Is there something in my configuration that is preventing the internal USB port that the Bluetooth is attached to from being seen by the OS?

Problem report attached.

Boot with -uia_ignore_rmcf, then attach resulting ioreg.
 
In order to create a custom SSDT that contains the correct data for a given computer's USB arrangement, we must first discover all the ports that need to be enabled.

What are USR1, USR2 ports?
 
Boot with -uia_ignore_rmcf, then attach resulting ioreg.

I did boot with that in the boot arguments. When I boot without it, some of those unused ports are omitted in the ioreg.

Screen Shot 2018-11-12 at 10.50.36 PM.png
 
No idea. I've never seen them used.

Thank you. I have used USBInjectAll.kext for USB ports, but become really curious about "native" option. Thanks to USBInjectAll.kext and OSX-USB-SSDT, I succeeded to create my own USB-SSDT.aml file, which works fine, without USBInjectAll.kext. I was a bit confused about these USR1 and USR2 ports, but ignoring these now.
I created the first one with all ports enabled.
Planning to make another with some unused ports excluded.
 
Back
Top