Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Is there anything I can provide you with to determine if this is the case?
In my limited bios their is a USB option for XHCI pre boot. Auto, smart auto and disabled if that helps at all.

Auto/smart auto will route HSxx ports to EHCI.
If you can set xHCI to "enabled", it will keep everything on XHC.

You can override the behavior with FakePCIID_XHCIMux and injecting RM,pr2-force
Refer to the u430 config.plist for an example (search for RM,pr2-force and you will see how I inject it with Devices/Arbitrary)
 
If you find the OEM did not wire the ports directly to EHCI, you can read the examples provided for my Lenovo u430.
(on my u430, if I don't use FakePCIID_XHCIMux, everything relocates to xHCI).

Note that DSDT can play a role here. Often dependent on which Windows version is detected running (via _OSI checks). As well as BIOS settings (if you have BIOS settings for xHCI mode).

Yeah I'm not using FakePCIID_XHCIMux and they aren't moving so I'm guessing it's oem (Asus TP500LN)
When I patched my dsdt as per your guide on disabling optimus I did the patch for windows 8 so I assumed? I didn't need to use the XOSI ssdt and patch. If I'm wrong I can try the XOSI patch but it is looking like it's Asus has it wired up directly to EHCI. If there is a way to check I will do it.
 
Yeah I'm not using FakePCIID_XHCIMux and they aren't moving so I'm guessing it's oem (Asus TP500LN)
When I patched my dsdt as per your guide on disabling optimus I did the patch for windows 8 so I assumed? I didn't need to use the XOSI ssdt and patch. If I'm wrong I can try the XOSI patch but it is looking like it's Asus has it wired up directly to EHCI. If there is a way to check I will do it.

Use FakePCIID_XHCIMux and inject RM,pr2-force=0x3fff (as is done in the u430 repo).
See what happens...
 
The ports injected in ioreg match those in the SSDT you attached.
But you're not within the 15-port limit and you don't have the port limit patch.
You need to eliminate ports to be within the 15-port limit.
Thank you so much for your help, I thought so too, but I actually have the port limit patch applied, loads at boot from .plist.. Weir
 

Attachments

  • config.plist
    11 KB · Views: 169
Thank you so much for your help, I thought so too, but I actually have the port limit patch applied, loads at boot from .plist.. Weir

Your ioreg indicates XHCI-200-series-injector.kext is not installed.
It is not optional.
 
As per guide, you don't add anything.
You simply remove the ports that you don't need from the template (SSDT-UIAC-ALL.dsl).


Hello rehabman, sorry to bother you, but you are a legend of much help in this world of mac.

I built my ssdt for USBInjectAlll, but after applying it my bluetooth device, webcam and USB2 ports stopped working.

I swear I've tried my best not to bother you with silly questions, but I've failed to make it work.

I know that all people want you to solve problems for them, this is not my case, but I need your help. I beg you to please check my files and guide me in what I am doing wrong or in the construction of my ssdt.

I am attaching the IORegistry file before and after installing my USBInjectAlll ssdt.

Check the HostPatch that I applied to my DSDT, and the Kextopatch
 

Attachments

  • AllFiles.zip
    2.3 MB · Views: 75
Hello rehabman, sorry to bother you, but you are a legend of much help in this world of mac.

I built my ssdt for USBInjectAlll, but after applying it my bluetooth device, webcam and USB2 ports stopped working.

I swear I've tried my best not to bother you with silly questions, but I've failed to make it work.

I know that all people want you to solve problems for them, this is not my case, but I need your help. I beg you to please check my files and guide me in what I am doing wrong or in the construction of my ssdt.

I am attaching the IORegistry file before and after installing my USBInjectAlll ssdt.

Check the HostPatch that I applied to my DSDT, and the Kextopatch

You should not change the "port" address assignments.
 
Your ioreg indicates XHCI-200-series-injector.kext is not installed.
It is not optional.
So it should be installed?? If I do, then IOReg shows all ports without regards for the SSDT created
Your ioreg indicates XHCI-200-series-injector.kext is not installed.
It is not optional.
Now I have installed the 200.injector.kext, rebooted, but.. not all ports show on IOReg + ones that should be USB3 are not running at that speed..¿?¿?
 

Attachments

  • Dolgar IOReg 2.ioreg
    4.1 MB · Views: 88
  • Screen Shot 2017-05-25 at 16.43.32.png
    Screen Shot 2017-05-25 at 16.43.32.png
    124.2 KB · Views: 69
So it should be installed??

For your hardware, it is required (no native 200-series support).

If I do, then IOReg shows all ports without regards for the SSDT created

Read post #1, "Problem Reporting".

Now I have installed the 200.injector.kext, rebooted, but.. not all ports show on IOReg + ones that should be USB3 are not running at that speed..¿?¿?

Truncated due to your setting of "port-count".
Unless you understand very clearly what "port-count" is, you should not be changing it.
 
You should not change the "port" address assignments.

Sorry for rehabman, could you specify what I did wrong?
When you say 'You should not change the port address', you mean I should not delete content from' HUB, EH01, EH02 and 8086_1e31?

Or you are referring to that I should not change the assigned numbers in the ssdt table?. for example:

"port-count", Buffer() { x, x, x, x }'

and

'port", Buffer() { x, x, x, x }'
 
Back
Top