Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Do I need -uia_ignore_rmcf in clover-boot?

Only if you wish to ignore an SSDT-UIAC.aml you have in ACPI/patched such that you can re-do port discovery.

Do I need XHCI injector kext?

Not for the hardware in your profile. 7-series xHCI is supported natively.
 
Is the hub at HS03/SSP3 internal or external?
If it is external, your UsbConnector values there are correct. If it is internal, they are wrong (would be 255).
Yes, HS03/SSP3 is an external hub i have connected to the PC.

You forgot to inject legacy power properties (config.plist/Devices/USB/Inject=true).
I have checked marked it in clover.

You forgot to configure EHCI (requires configuration for EH01/EH02/HUB1/HUB2, may require FakePCIID_XHCIMux.kext,... or better yet, disable it and use xHCI only).
I had EHCI disabled in BIOS and changed XHCI from smart auto to enabled in BIOS.

Assuming you have 6 external USB3 ports (eg. HS03/SSP3 is an external hub you plugged in), 2 USB2-only ports (HS10/HS13), then the rest (config for XHC) looks ok.
My motherboard has 4 USB3 ports & 2 USB2 ports on the back and 2 connected through USB3 motherboard header.I have attached an image of my board.

How would I go about enabling AppleLPC? Is there a specific guide I could follow. Thanks.
 

Attachments

  • SSDT asus z97m plus custom mapping.png
    SSDT asus z97m plus custom mapping.png
    104.3 KB · Views: 218
  • config.plist
    6.7 KB · Views: 244
  • ioreg update.ioreg
    10.3 MB · Views: 172
I had EHCI disabled in BIOS and changed XHCI from smart auto to enabled in BIOS.

The ioreg attached still shows EHCI enabled.

My motherboard has 4 USB3 ports & 2 USB2 ports on the back and 2 connected through USB3 motherboard header.I have attached an image of my board.

Seems that your config is ok then.

How would I go about enabling AppleLPC? Is there a specific guide I could follow. Thanks.

Off-topic here.
Read guides regarding power management.
 
With your hardware it is your choice.
Both scenarios are covered in post #1.
I followed your guide and have disabled EHCI through my SSDT. Now it's no longer showing in ioreg.

Now does this mean my USB is good to go for USB charging fix?
 

Attachments

  • ioreg updated no EHCI.ioreg
    10.2 MB · Views: 175
I followed your guide and have disabled EHCI through my SSDT. Now it's no longer showing in ioreg.

Now does this mean my USB is good to go for USB charging fix?

Your ioreg already shows EC with power properties injected.
 
Note: If you can fit all the ports you need within the 15-port limit on XHC, it is actually the preferred way...
Suggestion: can you please mention in the entry posting that for XHC the port-count should never be smaller than 15, and best never larger? It took me a long time to find this here, and I won't be the last. Thank you.
 
Last edited:
Suggestion: can you please mention in the entry posting that for XHC the port-count should never be smaller than 15, and best never larger? It took me a long time to find this here, and I won't be the last ;). Thank you.
Code:
"port-count", Buffer() { 15, 0, 0, 0 }, // 15-port limit on XHC. Despite of only 8 ports here, number MUST NOT be less than 15 for ALL XHC ports to be found !!!

Wrong.

"port-count" can be set to any number that equal or larger than the max port address.
There is no arbitrary requirement for it to be >=15.

The guide does not recommend changing "port-count" from the value present in SSDT-UIAC-ALL.dsl.
 
Wrong.

"port-count" can be set to any number that equal or larger than the max port address.
There is no arbitrary requirement for it to be >=15.

The guide does not recommend changing "port-count" from the value present in SSDT-UIAC-ALL.dsl.
OK - I misunderstood your comment then. I thought the port-count should be as small as possible as long as 15 minimum for XHC. Thanks for clarifying.
 
Back
Top