Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Actually, that is not what the guide says at all.
You should copy the one applicable patch only into your own config.plist/KernelAndKextPatches/KextsToPatch.

I'm sorry buy I still don't understand , what do you mean? in your manual you said :

The EHCx renames and port limit patches are available in config_patches.plist (https://github.com/RehabMan/OS-X-USB-Inject-All/raw/master/config_patches.plist) in the USBInjectAll.kext repository. Use copy/paste from a plist editor to get them into your own config.plist.

you are saying to use plist editor to copy/paste the config_patches.plist to my own config.plist and I don't know where it is.
what do you mean "copy the one applicable patch only into your own config.plist/KernelAndKextPatches/KextsToPatch" , I'm very sorry for being so new to this.

No idea what you're asking "compare it to the USBInjectAll.kext".
Your device is 8086_9d2f.

in your manual you make a compare :
"And here is what it looks like on my Lenovo u430 using FakePCIID_XHCIMux.kext.
Note they are the same as the ports provided by USBInjectAll.kext."
 
I'm sorry buy I still don't understand , what do you mean? in your manual you said :

The EHCx renames and port limit patches are available in config_patches.plist (https://github.com/RehabMan/OS-X-USB-Inject-All/raw/master/config_patches.plist) in the USBInjectAll.kext repository. Use copy/paste from a plist editor to get them into your own config.plist.

you are saying to use plist editor to copy/paste the config_patches.plist to my own config.plist and I don't know where it is.
what do you mean "copy the one applicable patch only into your own config.plist/KernelAndKextPatches/KextsToPatch" , I'm very sorry for being so new to this.

Your hardware does not require any EHCx renames (no EHCI controller in 100-series chipset).
You need only the applicable port limit patch.
The patch you need is dependent on the version of macOS/OS X you're running.
Refer to config_patches.plist/KernelAndKextPatches/KextsToPatch.

in your manual you make a compare :
"And here is what it looks like on my Lenovo u430 using FakePCIID_XHCIMux.kext.
Note they are the same as the ports provided by USBInjectAll.kext."

At that stage you're verifying that all 'ports' (that come from USBInjectAll.kext) are injected.
Look at right side vs. left side on XHC.
You probably should avoid looking at the u430 examples, as it is Haswell and has EHCI controllers.
The NUC6i7KYK is Skylake/100-series (no EHCI), so is closer to what you'll find when you go through the process with your laptop.
 
No.
The card reader is internal, UsbConnector=255.
But the external port is, well,... USB3 external, therefore UsbConnector=3.

UsbConnector is an indication of the type of the device/port connected directly to the controller.
Read the ACPI spec/_UPC for details.

Thanks. Good idea to be reading up on this...
 
Problem Reporting files attached.



I am also leaning towards this conclusion...

The ioreg you attached shows no attempt to use FakePCIID_XHCIMux.kext, so maybe that is still something to try.
 
Don't forget to follow the rest of the guide. The port limit patch and -uia_ignore_rmcf are for short term use only (port discovery).

Thanks RehabMan!

I also follow the steps in 'Port discovery' and created the custom SSDT for the matched device-id in
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14
After reboot, all USB 3.0 ports appear to be working fine!

upload_2018-4-25_21-57-8.png


Since there are 18 ports in total, so I kept the port limitation changes in config.plist. Is it OK?

Thanks again!
 
Since there are 18 ports in total, so I kept the port limitation changes in config.plist. Is it OK?

Not ok.
Must reduce the number of injected ports to 15 or lower.
 
Not ok.
Must reduce the number of injected ports to 15 or lower.

Thanks RehabMan!

I reduced the ports to 18:
Code:
                <string>change 15 port limit to 18 in XHCI kext (credit FredWst)</string>

removing all the port limitation from <key>KernelAndKextPatches</key> will break the configuration since I do have more than 15 ports (default).

Just curious, what will be the consequence of keeping 26 port limitation? consuming extra power which I don't need? will it cause system instability?

Thanks!
 
Back
Top