Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
I downloaded IORegistryExplorer. Attached is a screenshot of what I think is the relevant section of the IO's that relate to USB. I collapsed a couple of the triangles (like Live! Cam Chat HD for example) so it would all fit on one page. I started experimenting with plugging a USB stick into the different ports to figure out which was which and writing a little map for myself. Contrary to what I said in an earlier post my USB ports were all active for a time (nothing to do with being previously asleep). I got part way through the mapping process and the USB3 ports ceased to work again. No idea why they were on then off again. Managed to map a few of them prior. For example Front Panel USB3 left is HS08@14800000 (not that I really know what that means :) ). I can see that some of the ports are internal like HS09 which I think is probably the one powering the bluetooth on my Fenvi WIFI card.

Anyway I'm assuming at this point that the USBInjectAll.kext has worked and that all my ports are seen albeit they aren't always working.

What is the next step?
 

Attachments

  • Screen Shot 2017-05-11 at 2.52.03 PM.png
    Screen Shot 2017-05-11 at 2.52.03 PM.png
    279.1 KB · Views: 105
Last edited:
So it seems I've already increased the port limit via Multibeast. In my config.plist I found this:

dict>
<key>Comment</key>
<string>Change 15 Port Limit To 30 in XHCI Kext (100-series)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
g72M/v//EA==
</data>
<key>Name</key>
<string>AppleUSBXHCIPCI</string>
<key>Replace</key>
<data>
g72M/v//Hw==
</data>
</dict>

Apparently multibeast uses your USBInjectAll.kext.

Is there an issue that its increased when there are only 26 ports on my board? I'm aware that this kext is temporary. Now onto the discovery and building a custom injector.

One crazy thing you might be interested in that I just noticed. When I start up the computer only my USB2 ports seem to work. Just now after it went to sleep and I woke it up all my USB3 ports were working as well! Restarted and gone again. Curious.

It does not matter what the upper limit is, as long as it is larger or equal to the number of potential ports on the xHCI controller.

I get that I also need to change EHC1 to EH01 and EHC2 to EH01. Can I use the same method as this from your guide?

For the Gigabyte BRIX, I didn't need to patch DSDT so I used Clover config.plist-based patches in config.plist/ACPI/DSDT/Patches:

Item 1:
Comment: change EHC1 to EH01
Find: <45484331>
Replace: <45483031>

Item 2:
Comment: change EHC2 to EH02
Find: <45484332>
Replace: <45483032>

Why are you trying to rename EHCx? As I already stated, 100-series does not have an ECHI controller.

Do I need to download Xcode and use IORegistryExplorer? When I type ioreg into Terminal I get quite the list of I/O's. Not sure quite what I'm looking at and where to from here.

Use IORegistryExplorer.
Read the guide:
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
 

I guess I'm been getting a little confused with exactly what things apply to my board specifically. In the guide for creating a custom SSDT it says for example:


Requirements:
- EHC1->EH01 and EHC2->EH02 rename (in config.plist)
- XHCI controller must be named XHC (for most PCs it is default)
- port limit patch (in config.plist)
- install USBInjectAll.kext (install to the system volume)
- if you plan to use it, install FakePCIID.kext + FakePCIID_XHCIMux.kext
- if you have an existing SSDT for USBInjectAll, use -uia_ignore_rmcf

That's why I thought I needed to change EHC1. Don't even know what a controller is exactly. Sorry I really am completely new to all of this. I'm part way through reading the SSDT guide now. I note that maybe all my ports aren't injected. I thought they were but when I compare to your example in the guide I am missing all the ports that start with SS. I still need to rename XHCI to XHC right?
 
Hi Rehabman. Just updated my Desktop to Sierra when putting my Desktop into sleep the XHCI Controller turns off but the EH01, EH02 stays on any ideas what this could be? Desktop wakes up perfectly fine just no Power in sleep on the XHCI Controller. Everything looks fine in ioreg.
 

Attachments

  • Voilets Speedy Hack.ioreg
    5 MB · Views: 137
  • CLOVER.zip
    1.7 MB · Views: 114
I guess I'm been getting a little confused with exactly what things apply to my board specifically. In the guide for creating a custom SSDT it says for example:


Requirements:
- EHC1->EH01 and EHC2->EH02 rename (in config.plist)
- XHCI controller must be named XHC (for most PCs it is default)
- port limit patch (in config.plist)
- install USBInjectAll.kext (install to the system volume)
- if you plan to use it, install FakePCIID.kext + FakePCIID_XHCIMux.kext
- if you have an existing SSDT for USBInjectAll, use -uia_ignore_rmcf

That's why I thought I needed to change EHC1. Don't even know what a controller is exactly. Sorry I really am completely new to all of this. I'm part way through reading the SSDT guide now. I note that maybe all my ports aren't injected. I thought they were but when I compare to your example in the guide I am missing all the ports that start with SS. I still need to rename XHCI to XHC right?

There is no ECHI controller on 100-series (and 200-series... and future chipsets). New chipsets are xHCI only.
If you use the port limit patch and USBInjectAll.kext all your ports will be injected.
And yes, if your DSDT uses XHCI instead of XHC, it must be renamed to XHC for USBInjectAll.kext to work properly.
Future questions should include "Problem Reporting" files as per post #1.
 
Hi Rehabman. Just updated my Desktop to Sierra when putting my Desktop into sleep the XHCI Controller turns off but the EH01, EH02 stays on any ideas what this could be? Desktop wakes up perfectly fine just no Power in sleep on the XHCI Controller. Everything looks fine in ioreg.

No idea.
Function of BIOS settings?
 
No idea.
Function of BIOS settings?

Doesn't do it in El Captitan but in Sierra it does. USB 3 Ports turn off when entering Sleep then on Wake they come back alive again but USB 2 Ports are still active.
 
Doesn't do it in El Captitan but in Sierra it does. USB 3 Ports turn off when entering Sleep then on Wake they come back alive again but USB 2 Ports are still active.

No idea.
 
Status
Not open for further replies.
Back
Top