Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
No need to customize USBInjectAll.kext itself. All such customization is done with ACPI.

The customization that you did is wrong. Use SSDT-UIAC-ALL.dsl as a template... If you need help, you would need to provide ioreg wherE no customization is done (and all USB ports have been tested and are showing in ioreg).

Hi RehabMan! Now change the SSDT-UIAC-ALL.dsl template eliminating ports I do not use, and install USBInjectAll.kext. I do not have USB 3.0 devices to determine which ports need, but I think I have done anything wrong yet. attached files
 

Attachments

  • FILES.zip
    1.8 MB · Views: 70
Hi RehabMan! Now change the SSDT-UIAC-ALL.dsl template eliminating ports I do not use, and install USBInjectAll.kext. I do not have USB 3.0 devices to determine which ports need, but I think I have done anything wrong yet. attached files

Creating a correct SSDT requires both a USB2 and USB3 device in order to determine the ports which are used.
 
ASUS Z97M-PLUS (Internal graphics)

With XOSI patch, USBInjectAll.kext and FakePCIID.kext and Without(!) FakePCIID_XHCIMux.kext and Without(!) port number increase Patch I'm getting all pv my available ports recognized using this boot flag:
uia_exclude=HS01;HS02;HS11;HS12;SSP1;SSP2 ( excluding unused ports, detected by ioregistryexplorer.app )

That gives me 14 ports ( 4+4 USB3/2 ports and +6 USB2 ports )

Sleep mode is fine.

I'm pretty much happy, but there are two side effects:
1. Getting "USB Device needs more power" Message every now and then when I connect a new device ( even just 500mA ones )
2. In System Report all devices, even 2.0 devices in 2.0 ports go under USB3.0 hub.

Does that mean, that I need to add FakePCIID_XHCIMux.hex, which ( from my understanding ) would reroute 2.0 ports to 2.0 hub? Would that potentially resolve USB power issue?
 
ASUS Z97M-PLUS (Internal graphics)

With XOSI patch, USBInjectAll.kext and FakePCIID.kext and Without(!) FakePCIID_XHCIMux.kext and Without(!) port number increase Patch I'm getting all pv my available ports recognized using this boot flag:
uia_exclude=HS01;HS02;HS11;HS12;SSP1;SSP2 ( excluding unused ports, detected by ioregistryexplorer.app )

That gives me 14 ports ( 4+4 USB3/2 ports and +6 USB2 ports )

Sleep mode is fine.

I'm pretty much happy, but there are two side effects:
1. Getting "USB Device needs more power" Message every now and then when I connect a new device ( even just 500mA ones )
2. In System Report all devices, even 2.0 devices in 2.0 ports go under USB3.0 hub.

Does that mean, that I need to add FakePCIID_XHCIMux.hex, which ( from my understanding ) would reroute 2.0 ports to 2.0 hub? Would that potentially resolve USB power issue?

Read post #1, "Problem Reporting".
 
oops, sorry, I read post #1 10^6 times, but was dumb enough to miss "Problem Reporting"

Here is recent update:
I've added FakePCIID_XHCIMux.kext and that fixed "needs more power" issue. So I can plug/unplug devices into any ports and see them working.
Hovever, now I'm loosing USB2 devices on wake from sleep with same message ( similar to "usb device needs more power, connect to USB port" )
USB 3 devices in USB3 ports seem to work fine over sleep-wake.
 

Attachments

  • Arseni.zip
    2.3 MB · Views: 73
oops, sorry, I read post #1 10^6 times, but was dumb enough to miss "Problem Reporting"

Here is recent update:
I've added FakePCIID_XHCIMux.kext and that fixed "needs more power" issue. So I can plug/unplug devices into any ports and see them working.
Hovever, now I'm loosing USB2 devices on wake from sleep with same message ( similar to "usb device needs more power, connect to USB port" )
USB 3 devices in USB3 ports seem to work fine over sleep-wake.

You need to inject the power properties. Set config.plist/Devices/USB/Inject=true.
 
Set config.plist/Devices/USB/Inject=true, getting same behavior. Interestingly, without that patch, I was loosing two of 6 usb2 ports on reboot most of the times. Loosing 4 now, but that might just be a coincidence.

p.s.
Also tried "Smart Auto"/"Auto"/"Enabled" in BIOS along with USBInject=true
"Auto" is best, but still can't wake and keep devices.

Is this approach uia_exclude=HS01;HS02;HS11;HS12;SSP1;SSP2 bad and I should learn how to create custom injector plists?

p.p.s.
I also noticed, that before sleep, 2.0 devices go under 2.0 hubs, but after sleep everything moves under 3.0 Bus
before sleep.pngafter sleep.png
 

Attachments

  • Arseni2.zip
    2.3 MB · Views: 77
Last edited:
Set config.plist/Devices/USB/Inject=true, getting same behavior. Interestingly, without that patch, I was loosing two of 6 usb2 ports on reboot most of the times. Loosing 4 now, but that might just be a coincidence.

p.s.
Also tried "Smart Auto"/"Auto"/"Enabled" in BIOS along with USBInject=true
"Auto" is best, but still can't wake and keep devices.

Is this approach uia_exclude=HS01;HS02;HS11;HS12;SSP1;SSP2 bad and I should learn how to create custom injector plists?

p.p.s.
I also noticed, that before sleep, 2.0 devices go under 2.0 hubs, but after sleep everything moves under 3.0 Bus
View attachment 218833View attachment 218834

This ioreg shows power properties are not injected.
 
Thank you for review. I've made that archive after getting back from sleep.
To clarify: Here is how I'm trying to enable power injection:
1. Launch clover Configurator and mount EFI partition, then select my plist
2. Check "inject" checkbox on Devices->USB
3. Save plist and restart

Now attached two ioregs - before and after restart
 

Attachments

  • Arseni3.zip
    2.6 MB · Views: 79
Thank you for review. I've made that archive after getting back from sleep.
To clarify: Here is how I'm trying to enable power injection:
1. Launch clover Configurator and mount EFI partition, then select my plist
2. Check "inject" checkbox on Devices->USB
3. Save plist and restart

Now attached two ioregs - before and after restart

You probably have XWAK doing something you don't want it to do. Either patch it so it does nothing... or better... set XHCI mode to "Enabled" (this disables the EHCI controllers) and remove FakePCIID_XHCIMux (you can't route to a controller that is disabled).
 
Status
Not open for further replies.
Back
Top