Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Joined
Nov 24, 2016
Messages
29
Motherboard
GA-Z170X-Ultra Gaming
CPU
i5 6600
Graphics
HD 530
Mac
iMac
Suggest you walk through the guide in post #1.
I have gone through the post #1 all the way to the IORegistry Explorer bit where the port investigation begins. I have downloaded the IOreg app and tested it. But I am not sure regarding the requirements. There are too many "if's" which I can't answer since I don't know what they even mean.
- EHC1->EH01 and EHC2->EH02 rename (in config.plist), if applicable (your chipset may not have EHCI, or it may be disabled)
- XHCI controller must be named XHC or XHCI (for most PCs it is default XHC)
- install USBInjectAll.kext (install to the system volume)
- if you plan to use it, install FakePCIID.kext + FakePCIID_XHCIMux.kext. FakePCIID_XHCIMux only applicable if you have enabled EHCI controller(s).
- if you have an existing SSDT for USBInjectAll, use -uia_ignore_rmcf
- XHCI injector kext, if required (XHCI-unsupported.kext)
I am applying these patches to a config.plist file on my desktop. I will give it a go this weekend given the fact that I have an external bootable drive at hand, just in case things go hairy.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,259
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
I have gone through the post #1 all the way to the IORegistry Explorer bit where the port investigation begins. I have downloaded the IOreg app and tested it. But I am not sure regarding the requirements. There are too many "if's" which I can't answer since I don't know what they even mean.

I am applying these patches to a config.plist file on my desktop. I will give it a go this weekend given the fact that I have an external bootable drive at hand, just in case things go hairy.
The hardware in your profile has no Intel EHCI controller (100-series and later are xHCI only).
So you can disregard any discussion of EHCI, FakePCIID_XHCIMux.
 
Joined
Nov 24, 2016
Messages
29
Motherboard
GA-Z170X-Ultra Gaming
CPU
i5 6600
Graphics
HD 530
Mac
iMac
The hardware in your profile has no Intel EHCI controller (100-series and later are xHCI only).
So you can disregard any discussion of EHCI, FakePCIID_XHCIMux.
Thanks for that... So, from the requirements I focus on the following?

- XHCI controller must be named XHC or XHCI (for most PCs it is default XHC)
- install USBInjectAll.kext (install to the system volume) (already installed)
- if you plan to use it, install FakePCIID.kext <--- ( What is this needed for? Should I use it? )
- if you have an existing SSDT for USBInjectAll, use -uia_ignore_rmcf (Again not sure if I have an existing SSDT or not. I just know that USBInjectAll is installed)
- XHCI injector kext, if required (XHCI-unsupported.kext)
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,259
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Thanks for that... So, from the requirements I focus on the following?

- XHCI controller must be named XHC or XHCI (for most PCs it is default XHC)
- install USBInjectAll.kext (install to the system volume) (already installed)
- if you plan to use it, install FakePCIID.kext <--- ( What is this needed for? Should I use it? )
- if you have an existing SSDT for USBInjectAll, use -uia_ignore_rmcf (Again not sure if I have an existing SSDT or not. I just know that USBInjectAll is installed)
- XHCI injector kext, if required (XHCI-unsupported.kext)
Hope you're not expecting me to answer your questions concretely when you failed to attach problem reporting files...

FakePCIID.kext does nothing by itself (it is obviously needed if you're using FakePCIID_XHCIMux.kext).
You don't likely already have an SSDT for USBInjectAll.kext, otherwise you would not be asking these questions (as you would have had to go through the process of creating one already).
No harm in installing XHCI-unsupported.kext even if you don't need it.
 
Joined
Oct 10, 2015
Messages
1
Mac
Classic Mac
Mobile Phone
@RehabMan - thx mate for your commitment to this community. I've spend few hours on trying to understand your guide and the result is all USB2.0/3.0 ports working like a charm on 10.14.1 (MSI Z97 Gaming 3 mobo).
For all those struggling with configuration. Read carefully and follow step by step, the guide. There's all you need.
Thanks again.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,259
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Sorry, you are right. I am attaching it now.
From the ioreg:
- xHCI already named XHC (as is typical)
- device-id is 0xa12f
- running Mojave
- Mojave has native support for 0xa12f (so XHCI-unsupported.kext not needed), note:
Code:
u430:~ Admin$ grep -y 0xa12f -R /System/Library/Extensions/IOUSBHostFamily.kext/
/System/Library/Extensions/IOUSBHostFamily.kext//Contents/PlugIns/AppleUSBXHCIPCI.kext/Contents/Info.plist: <string>0xa12f8086</string>
- you have USBInjectAll.kext and are ready to do port discovery
- keep in mind your keyboard is attached to HS05, mouse to HS06
 
Joined
Jan 6, 2016
Messages
123
Motherboard
Gigabyte Z170X Gaming 3
CPU
I7-7700K
Graphics
Radeon VII
Mac
iMac, MacBook Pro, Mac mini, Mac Pro
Classic Mac
128K, 512K, Plus, Portable, Power Mac
Mobile Phone
iOS
Thank you ReHabMan. These are not instructions, they are a journey. I have successfully enabled the SSDT approach. Every port is working correctly. And best of all I have a little bit better understanding of how this works. Again, thanks.

For those with a GA z170X Gaming 3 Mobo I've uploaded my USB port map. This is pre SSDT creation.
Port Mapping GA Z170 Gaming 3.png
 
Last edited:
Joined
Jun 18, 2011
Messages
101
Motherboard
Gigabyte Z370N Wifi
CPU
i5-8600K
Graphics
RX 560
Mac
MacBook Pro
Mobile Phone
Android
Hello @RehabMan, maybe a dumb question as I am a newbie on this topic: would this method allow Eltron USB controllers on my Z68X-UD3H-B3 to work on OSX or those continue to be unsupported? Not sure if creating specific SSDT could overcome lack of driver support for those controllers.

Thank you for your help!
 
Top