Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Hi @RehabMan I have a quick question for you.

I used your guide to create my ssdt without issue (thanks!), amd I had a bcm94360cd at the time. The card failed so I got a new one except this time I went for a cheaper card a bcm94360cs2. It’s working perfectly (WiFi, Bluetooth, continuity, handoff, etc.) except I found that I lost Bluetooth and it was because the port changed from hs12 to hs11. I thought it odd. I installed the card in the same pcie port as the cd card. The only other change I made was installing an m.2 nvme.

I updated my custom ssdt and now Bluetooth is working fine. I just thought the change was very strange and was wondering what happened. Thanks!

i suppose it is possible a different card may use a different USB port (perhaps the PCIe slot provides connections to more than one USB port).
 
I have a problem

Specs:
Intel i7-7700K
Gigabyte Z270 Gaming 7
Vega 64
macOS Mojave 10.14.1

I have a total of 8 USB ports on my computer (+1 internal USB2)
- 1 USB2.0 (on the PC case)
- HS07
- 1 USB3.0 (on the PC case)
- HS01
- 4 USB3.0 (on the motherboard)
- HS03
- HS04
- HS05
- HS06
- 2 USB3.1 (on the motherboard)
- RP05 -> IOPP -> pci-bridge@2 -> IOPP -> pci8086 -> AppleUSBXHCIAR -> AppleUSB20XHCIPort
- HS01
- 1 internal USB2.0 [HS10]

Kext Installed:
FakePCIID.kext
FakePCIID_XHCIMux.kext
USBInjectAll.kext

ACPI:
HDAS -> HDEF
EHC1 -> EH01
EHC2 -> EH02

Kernel patch:
AppleUSBXHCIPCI [83FB0F0F 83030500 00 --> 83FB0F90 90909090 90] - USB 10.14+ by PMHeart


I decided to try to create my own SSDT-UIAC.dsl because I noticed that all ports are active. All USB2 devices works well in every port, but when I plug a USB3 device, it doesn't show up.
Even in IORegistryExplorer, when I plug a USB2 device, it shows up in some HSXX, but a USB3 device doesn't.
In this way I can't map USB 3, all the ports listed above have been tested with a USB2 device.

I ended up mapping ports and compiling my own 'SSDT-UIAC.dsl' anyway (attatched), but as expected, USB3 devices still not working.

Any ideas?
 

Attachments

  • SSDT-UIAC.dsl
    5.6 KB · Views: 72
I have a problem

Specs:
Intel i7-7700K
Gigabyte Z270 Gaming 7
Vega 64
macOS Mojave 10.14.1

I have a total of 8 USB ports on my computer (+1 internal USB2)
- 1 USB2.0 (on the PC case)
- HS07
- 1 USB3.0 (on the PC case)
- HS01
- 4 USB3.0 (on the motherboard)
- HS03
- HS04
- HS05
- HS06
- 2 USB3.1 (on the motherboard)
- RP05 -> IOPP -> pci-bridge@2 -> IOPP -> pci8086 -> AppleUSBXHCIAR -> AppleUSB20XHCIPort
- HS01
- 1 internal USB2.0 [HS10]

Kext Installed:
FakePCIID.kext
FakePCIID_XHCIMux.kext
USBInjectAll.kext

ACPI:
HDAS -> HDEF
EHC1 -> EH01
EHC2 -> EH02

Kernel patch:
AppleUSBXHCIPCI [83FB0F0F 83030500 00 --> 83FB0F90 90909090 90] - USB 10.14+ by PMHeart


I decided to try to create my own SSDT-UIAC.dsl because I noticed that all ports are active. All USB2 devices works well in every port, but when I plug a USB3 device, it doesn't show up.
Even in IORegistryExplorer, when I plug a USB2 device, it shows up in some HSXX, but a USB3 device doesn't.
In this way I can't map USB 3, all the ports listed above have been tested with a USB2 device.

I ended up mapping ports and compiling my own 'SSDT-UIAC.dsl' anyway (attatched), but as expected, USB3 devices still not working.

Any ideas?

FakePCIID_XHCIMux.kext has no effect with your hardware (no EHCI controller in 100-series and later).

If you have an issue, you must attach problem reporting files as requested in post #1.
 
Had problems with USB3 after installing 10.14.1. Finally got em working with SSDT. No USB patches needed.
 
Last edited:
Hello, i think my head is about to explode. I did SSDT on 10.14.0, worked like a charm. I installed new patch 10.14.1 and now everything is totally haywire with usb ports. Been like 13 hours straight at it, trying all combinations, kexts, old SSDT does nothing anymore. So i tried to do new, determined HS ports, then used on boot flags -uia_exclude_hs uia_include=HS02 - my keyboard is on HS02 also uia_include=HS09 is mouse. But no matter what i do, after boot there is no more keyboard nor mouse. I can try also put them to another port, no luck. On clover boot i was able to delete this line and got it working now, but i'm still stuck. I really tried to get it working on my own, not running here in case of any problem, but this is something i probably will not figure out by doing step-by step, as i feel i've tried so many options. So i can't even start determining SSxx ports. I hope i can get any help to get it working, as this is my primary Video workhorse and stuff is on USB drives, usb2 speeds are joke :).



My current status and old SSDT are on attachments. Thankful!



View attachment 367006 View attachment 367007 View attachment 367008 View attachment 367009 View attachment 367010 View attachment 367011

If you intend to keep HS02 and HS09, you would use: -uia_exclude_hs uia_include=HS02,HS09

Also must have latest USBInjectAll.kext for uia_include.
 
If you intend to keep HS02 and HS09, you would use: -uia_exclude_hs uia_include=HS02,HS09

Also must have latest USBInjectAll.kext for uia_include.

Thanks alot, got it working already. Someone posted pretty simple (3 part) video on Youtube on creating own SSDT.
Good stuff.
 
@RehabMan, This is the latest since creating the USB SSDT. Having sleep/wake problems.
Screen Shot 2018-11-22 at 9.50.45 AM.png
 

Attachments

  • debug_6366.zip
    2.7 MB · Views: 65
  • debug_6366.zip
    2.7 MB · Views: 57
Last edited:
@RehabMan, This is the latest since creating the USB SSDT. Having sleep/wake problems.
View attachment 367217

Why is SS07 marked internal, but nothing connected.

Also, sleep issues you may have are off-topic. From your kextcache output it is obvious much is done incorrectly (example: NullCPUPowerManagement.kext installed!).
 
Why is SS07 marked internal, but nothing connected.
It is part of the USB 3 hub that includes SS08. Why IOREG has it that way, I don’t know.
 
Why is SS07 marked internal, but nothing connected.
I think that the SS07 is actually part of the hub that also has SS08
Why is SS07 marked internal, but nothing connected.

Also, sleep issues you may have are off-topic. From your kextcache output it is obvious much is done incorrectly (example: NullCPUPowerManagement.kext installed!).
Remove Null?
 
Last edited:
Back
Top