Contribute
Register

[SOLVED] 10.11.5 - USB3 / port limit / guide?

Status
Not open for further replies.
Joined
Jul 30, 2014
Messages
12
Motherboard
ASUS Z170 Pro Gaming
CPU
i7-6700K
Graphics
EVGA GTX 970 4GB SSC Gaming ACX 2.0+
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Mobile Phone
  1. iOS
I have read through RebMan's USB3 10.11 guide, which explains the theory and problems with USB 3 in El Capitan in depth. What I am looking for is a simple solution to fix USB 3 in 10.11.5.

EDIT: I found that simple solution to fix USB in 10.11. It's in section 7.2 of the Skylake Starter Guide. It doesn't get easier than that.
__________________________________
I know about the Clover kext patch that raises the USB port limit, but RehabMan & others say it is not a permanent solution (exactly why - I don't know). So that's one way to do it that only takes a minute, but is deemed no good. It's weird but almost every guide I've found uses it and people seem to be happy with that solution, maybe they don't know it's no good or maybe because in most cases it just works?
The cleaner way is described in his guide, but I don't really understand most of it, because I'm new to Clover and have always used Chimera on my old machine with not so compatible hardware, using the 3rd party USB kext.
Now with Clover, I've been testing my new machine for about a week, but only with pre-configured build guides from other users that had SSDT files and kext files for my hardware attached. I even bought my mainboard after reading a guide saying everything works fine. It almost does, except for sound and USB. Sound works now, but USB just won't work without the kext patch that raises the port limit. I tried disabling 4 ports in my BIOS that I don't ever use, but that didn't help.

Can someone point me to a dummy-proof guide on how to get it fixed? Or maybe just explain in a few sentences how to get the following options done, as they are unfortunately described for people who have worked with Clover and plist tools etc before. I know how to use Terminal and I can open and edit a plist file, but I'm not a programmer...
  • Renaming EHCx->EH0x in DSDT
  • using FakePCIID_XHCIMux to route USB2 devices on XHC to EHCI
  • injecting ports with a custom port injector
  • injecting ports with USBInjectAll.kext
  • patching DSDT to simulate a version of Windows when running OS X
I have used USBInjectAll.kext on setup and after, but it doesn't do anything I'm afraid. I haven't tried any of the other options except BIOS setup for USB (disabled 4 ports).

If someone could help me out, that would be lovely! Thanks so much!
 
Last edited:
I have read through RebMan's USB3 10.11 guide, which explains the theory and problems with USB 3 in El Capitan in depth. What I am looking for is a simple solution to fix USB 3 in 10.11.5. I know about the Clover kext patch that raises the USB port limit, but RehabMan & others say it is not a permanent solution (exactly why - I don't know). So that's one way to do it that only takes a minute, but is deemed no good. It's weird but almost every guide I've found uses it and people seem to be happy with that solution, maybe they don't know it's no good or maybe because in most cases it just works?

The patch is known to cause corruption of USB driver state due to writes outside a fixed array boundary.
If you know C/C++, you understand what that means... but if not, just be aware that the patch is not a good idea, except to use temporarily while determining the actual ports you need (so you can stay at or under the 15-port limit).

The cleaner way is described in his guide, but I don't really understand most of it,

There is a reasonable writeup on using a custom SSDT for USBInjectAll in the Skylake Starter Guide.
 
There is a reasonable writeup on using a custom SSDT for USBInjectAll in the Skylake Starter Guide.
I wish I had found this before, only just read through the whole post and found that section of the guide. Found two other threads by people asking for alternative methods to the port limit patch but no answers. Seems many users just do it the lazy/easy way... But I'll try and work through the clean way. I was gonna PM you, but I haven't really been too active on here so I can't PM yet. Also, really really appreciate all the hard work you put in here and I didn't want to bug you with noob questions. I guess I'll try working through section 7.2 of the guide then :)
 
I wish I had found this before, only just read through the whole post and found that section of the guide. Found two other threads by people asking for alternative methods to the port limit patch but no answers. Seems many users just do it the lazy/easy way... But I'll try and work through the clean way. I was gonna PM you, but I haven't really been too active on here so I can't PM yet. Also, really really appreciate all the hard work you put in here and I didn't want to bug you with noob questions. I guess I'll try working through section 7.2 of the guide then :)

Yes, many look for the lazy way, and then suffer mysterious problems due to their misunderstanding of the port limit patch ramifications.
 
Yeah, true...

Working on my SSDT now, IORegistryExplorer only shows HS01-HS14 and SS01-SS06, is that ok? The guide says if I see fewer than 26 entries, something is wrong. I used the temp port limit fix to get all ports going and I don't see why there should be 26? My board is an ASUS Z170 Pro Gaming with 2x USB 3.1 (1x Typ-A + 1x Typ-C, ASM1142), 4x USB 3 & 2x USB 2 at the rear and 2x USB 3.0, 6x USB 2.0 case ports on the board itself. It doesn't have BT/WiFi so I'm counting 16 and IORegEx shows 20 in total, 14 of them HSxx (I assume HS = High Speed, SS = SuperSpeed meaning USB2 & USB3?)

EDIT: I found a preconfigured SSDT-USB.aml file which has HS13 and HS14 disabled to stay below the 15 port limit (as the board has 16 USB ports in total). HS13 and 14 are the only two rear USB2 ports though, the ones just below P/S2 and I use them to connect my mouse and keyboard :/ I would rather disable two of the motherboard's internal USB2 ports, because I only use two front USB2 and two front USB3 ports, so I don't need front USB2 ports. Can I reconfigure the existing SSDT-USB.aml or do I have to start from scratch with MaciASL ?

Also, when I'm done it seems I have to re-install, because I already put the aml file in my EFI/CLOVER/ACPI/patched directory and rebooted but it didn't have any effect. After removing the config.plist USB patch I was back with no working USB ports.

Attached a picture of my motherboard backplate ports for reference
1306324-1.jpg
 
Last edited:
Yeah, true...

Working on my SSDT now, IORegistryExplorer only shows HS01-HS14 and SS01-SS06, is that ok? The guide says if I see fewer than 26 entries, something is wrong.

The number of ports possible depends on the specific device-id for the XHC controller.
The number of ports on the controller has nothing to do with the number of ports actually used by the motherboard.

EDIT: I found a preconfigured SSDT-USB.aml file which has HS13 and HS14 disabled to stay below the 15 port limit (as the board has 16 USB ports in total).

You should run IORegistryExplorer, then test each port both with USB2 and USB3 devices to determine which ports your motherboard uses.

Use SSDT-UIAC-ALL.dsl as a template for your own custom SSDT. The process is well documented in the Skylake Starter Guide.
 
Yeah, everything works smoothly now :) They problem that I had understanding the whole thing is I thought you had to disable the unused ports IN the SSDT, not via the config bootflag. Now that I know that, I don't really know what took me so long, it's not really that hard to get it done. Skylake Starter Guide FTW ;) Thanks RehabMan for your help!

Now all I need is a Broadcom card for WiFi/Bluetooth so I can AirDrop and HandOff and I've finally got my butter smooth Hackintosh I always wished for. With all components working and no features missing!
 
Yeah, everything works smoothly now :) They problem that I had understanding the whole thing is I thought you had to disable the unused ports IN the SSDT, not via the config bootflag. Now that I know that, I don't really know what took me so long, it's not really that hard to get it done. Skylake Starter Guide FTW ;) Thanks RehabMan for your help!

Now all I need is a Broadcom card for WiFi/Bluetooth so I can AirDrop and HandOff and I've finally got my butter smooth Hackintosh I always wished for. With all components working and no features missing!

So how finally have you enabled your USB 3.0 ports? I have the same motherboard and only one front port works with 3.0 devices. 2.0 devices work normally on all ports.

I have USBInjectAll.kext and SSDT with proper edits for USB ports. I have not used patch for enabling more than 15 ports and not disabled any port in clover config yet.
 
Last edited:
Hey beep,

the crucial step after implementing the USB-SSDT.aml file, which means mounting the EFI partition of your boot drive (for example using Clover Configurator) and then navigating to /EFI/CLOVER/ACPI/patched/ and putting it there is the following:

Open your config.plist (located in /EFI/CLOVER/) with your favorite text editor, I use SublimeText, look for <key>Boot</key> and make it look like the following.

Code:
<key>Boot</key>
    <dict>
        <key>Arguments</key>
        <string>uia_exclude=HS01;HS07;HS08;HS09;HS10 dart=0</string>

---other stuff----

</dict>

In that case I excluded several USB ports to make it below the limit of 15 USB ports allowed. USB2 devices plugged into USB3 ports count twice, that's why there is more in total than there physically are on the board. Keep in mind there are 6 internal USB2 ports and 2 internal USB3 ports, which you may not use at all, so it's easy to disable them. I have a attached a write-down of all the ports on the board so you can choose which ones you wish to disable or simply copy my configuration by leaving the code I quoted above unaltered and copying it to your config.plist

The notes I have attached may seem complicated at first, but read through and you will get there. Front ports of course depend on your PC case, mine has 2 USB2 front ports and 2 USB 3 front ports, and I have attached the 2 front USB2 ports to porst 11&12, which you can find on the board in small fonts or in your manual.

At the end of my write-down there's the patch you need to insert into your config.plist ONLY if you want to test for yourself (thus temporarily raising the port limit). If you're happy with what I preconfigured, simply put the aml file in the /patched folder as stated above and put the boot argument in your config.plist to exclude 5 USB ports to get from 20 to 15 - voilà. I hope this helped!
 

Attachments

  • USB3-hackintosh.txt
    2.5 KB · Views: 246
Thanks. I will try it later and report back!
 
Status
Not open for further replies.
Back
Top