Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
Hi guys,
I have a Z77X-UD5H mobo and I used the default System Def macpro 3,1.
I didn't have any USB 3.0 ports showing up in the System Report.
I changed my SysDef to imac13,2 and all USB ports are now working. Darkwake set to 0.
Hope this helps
 
Hi guys,
I have a Z77X-UD5H mobo and I used the default System Def macpro 3,1.
I didn't have any USB 3.0 ports showing up in the System Report.
I changed my SysDef to imac13,2 and all USB ports are now working. Darkwake set to 0.
Hope this helps

Is it possible your XHCI controller in DSDT is named XHC1?

Because iMac13,2 has a port injector (for 8 ports, 4 USB2/4 USB3) for XHC1. If your DSDT was wrong, this port injector would activate the ports. But that theory only works if your XHCI controller is XHC1, as the port injector won't match against XHC.

It is also possible your DSDT is correct... and using a different SMBIOS (one that has USB3) has some effect on the drivers (whitelist?).
 
Finally I managed to have USB2.0 working.

I renamed (in the DSDT) UHC1 to EH01 and UHC5 to EH02, and used RehabMan's generic injector USBInjectAll.kext.

Still some things not working, but now I have at least a functional keyboard and mouse.

Thanks RehabMan!
 
Hi RehabMan,
Thanks for your guide as clear as possible.
I tried to rename my EHC1 and EHC2 as you say, but I cannot save my DSDT. MaciASL return "The document “DSDT.aml” could not be saved. The compiler returned one or more errors." The errors (201!) are _PLD, Package
This is the DSDT I used under Yosemite, I placed it in EFI/CLOVER/ACPI/patched after clover install and upgrade to 10.11.
Do you know from where the problem coming?
 

Attachments

  • DSDT.aml
    42 KB · Views: 112
Hi RehabMan,
Thanks for your guide as clear as possible.
I tried to rename my EHC1 and EHC2 as you say, but I cannot save my DSDT. MaciASL return "The document “DSDT.aml” could not be saved. The compiler returned one or more errors." The errors (201!) are _PLD, Package
This is the DSDT I used under Yosemite, I placed it in EFI/CLOVER/ACPI/patched after clover install and upgrade to 10.11.
Do you know from where the problem coming?

Apply this patch to fix your _PLD errors:
Code:
into_all all code_regex (Name\s*\(_PLD,\s*)Package(\s\([^\)].*\)[^\)]*) replaceall_matched
begin
%1Package() { Buffer%2 }
end;

Note: You can also do the renames with config.plist/ACPI/DSDT/Patches.
 
Apply this patch to fix your _PLD errors:
Code:
into_all all code_regex (Name\s*\(_PLD,\s*)Package(\s\([^\)].*\)[^\)]*) replaceall_matched
begin
%1Package() { Buffer%2 }
end;

Note: You can also do the renames with config.plist/ACPI/DSDT/Patches.

Thanks! This patch worked. Now I'll try to fix my USB
 
I have applied the EHC1 to EHC01, EHC2 to EHC02 patches, downloaded the USB Inject All 2015-2010 kext and installed it using kextbeast. I note from the info on GitHub that there is a specific 9 series kext that also needs to be installed (I have Z97X-UD5H-BK) as well as the Inject All but I cannot see where to download the kext. Am I missing something?
 
I have applied the EHC1 to EHC01, EHC2 to EHC02 patches, downloaded the USB Inject All 2015-2010 kext and installed it using kextbeast. I note from the info on GitHub that there is a specific 9 series kext that also needs to be installed (I have Z97X-UD5H-BK) as well as the Inject All but I cannot see where to download the kext. Am I missing something?

Download the ZIP from the repo (you will see the ZIP button in github). Or clone it:
Code:
cd ~/Downloads
git clone https://github.com/RehabMan/OS-X-USB-Inject-All.git injectall.git
cd injectall.git
open .
 
dear mr rehabman!!!
nice to see guide have updated !!
for now i'm using my own built (with the help of yours ) injector and could i try USB-inject-All kext ?
 
dear mr rehabman!!!
nice to see guide have updated !!
for now i'm using my own built (with the help of yours ) injector and could i try USB-inject-All kext ?

No. Once you've created your own injector, you're done.

USBInjectAll is really only so you can discover which ports need to go in the injector. And is useful in the install scenario where you just need the ports to work (for reaching the installer, etc).

If you want to test USBInjectAll.kext (without your custom injector) and report results, that would be appreciated.
 
Status
Not open for further replies.
Back
Top