Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
hi RehabMan
i have write speed of 6mb and Read of 68 mb in usb port in a usb3.0-3.1 usb stick
is there somting else i can implement to open them.
i alsow implement " Trim " comand in Terminal. and it did nothing.
can you please help.

Specific Recommendations (7-series, 8-series, 9-series, X99)


Do the EHCx->EH0x rename. It is a no-brainer first step.... this is done

For 7-series, 8-series, and 9-series, install FakePCIID_XHCIMux.kext (FakePCIID_XHCIMux has no effect without FakePCIID.kext, and is valid only for the Intel chipsets mentioned)..... this is done

For many boards, assuming _UPC is correct on XHC, that will have everything working.... no idea what this means

But two items at this point may cause problems:
  • Your DSDT may be disabling USB3 due to improper Windows emulation. Apply the XOSI fix to address this.
  • Built-in hub port injectors for your SMBIOS may be interfering. Install USBInjectAll.kext and use kernel flag -uia_exclude_xhc. This will enable the USBInjectAll port injectors for EH0x and the associated hubs, overriding the built-in hub port injectors, but keep DSDT control of XHC.

If there are some ports still not working, remove -uia_exclude_xhc kernel flag. If your XHC has more than 15 ports (device-id is 8086:8xxx), you will need the port limit patch, or will need to divide your testing into stages (using -uia_exclude_hs, -uia_exclude_ss, -uia_exclude_ssp).

Note: For X99 systems, the native Intel XHC drivers do not support 8086:8d31. You need an injector kext to enable it. See USBInjectAll.kext README for details.
 

Attachments

  • leo_MarBor’s MacBook Pro.ioreg
    2.6 MB · Views: 102
I am having trouble with USB 3.0, it worked fine in El Capitan but is no longer working properly in Sierra but I am not sure when it stopped working or if it was related to something else I changed along the way. In the screen shot below their should be two ASM107x devices listed under the two USB 3.0 Bus items. Also as you can see the USB to ATA/ATAPI Bridge is only running at 480 Mb/s when it should be 5 Gb/s. The only two ports that have USB3.0 speed are the two on the front of the computer which show up under the first USB 3.0 Bus item. I have tried following the instructions as best that I can and have changed EHC1 and EHC2 to EH01 and EH02 respectively. Attached are my files required for troubleshooting, if there is anything else please let me know.

Screen Shot 2016-11-13 at 11.03.58 AM.png

Here is a mapping of my USB ports:

USB2
  • HS01 - unused
  • HS02 - unused
  • HS03 - ASM107x 4 below WIFI
  • HS04 - ASM107x 2 beside RJ45
  • HS05 - Top Left - Keyboard
  • HS06 - Top Right - Mouse
  • HS07 - unused
  • HS08 - Front Audio
  • HS09 - Front Left
  • HS10 - Front Right
  • HS11 - unused
  • HS12 - unused
  • HS13 - unused
  • HS14 - unused
USB3
  • SSP1 - unused
  • SSP2 - unused
  • SSP3 - ASM107x 4 below WIFI
  • SSP4 - ASM107x 2 beside RJ45
  • SSP5 - Front Left
  • SSP6 - Front Right
------------------------------------------
UPDATE: If I remove FakePCIID.kext from /Library/Extensions the ASM107x hubs show up under the USB 3.0 Bus but those ports still do not function at USB 3.0 speed. The bottom two ports on the back of the board also seem to be working at USB 3.0 speeds but in the IOreg the device connected to it does not show up under any of the 6 SSP ports. See screenshot below.
Screen Shot 2016-11-13 at 12.55.42 PM.png
 

Attachments

  • slim.jim USB3 torubleshooting.zip
    7 MB · Views: 99
Last edited:
hi RehabMan
i have write speed of 6mb and Read of 68 mb in usb port in a usb3.0-3.1 usb stick
is there somting else i can implement to open them.
i alsow implement " Trim " comand in Terminal. and it did nothing.
can you please help.

Specific Recommendations (7-series, 8-series, 9-series, X99)


Do the EHCx->EH0x rename. It is a no-brainer first step.... this is done

For 7-series, 8-series, and 9-series, install FakePCIID_XHCIMux.kext (FakePCIID_XHCIMux has no effect without FakePCIID.kext, and is valid only for the Intel chipsets mentioned)..... this is done

For many boards, assuming _UPC is correct on XHC, that will have everything working.... no idea what this means

But two items at this point may cause problems:
  • Your DSDT may be disabling USB3 due to improper Windows emulation. Apply the XOSI fix to address this.
  • Built-in hub port injectors for your SMBIOS may be interfering. Install USBInjectAll.kext and use kernel flag -uia_exclude_xhc. This will enable the USBInjectAll port injectors for EH0x and the associated hubs, overriding the built-in hub port injectors, but keep DSDT control of XHC.

If there are some ports still not working, remove -uia_exclude_xhc kernel flag. If your XHC has more than 15 ports (device-id is 8086:8xxx), you will need the port limit patch, or will need to divide your testing into stages (using -uia_exclude_hs, -uia_exclude_ss, -uia_exclude_ssp).

Note: For X99 systems, the native Intel XHC drivers do not support 8086:8d31. You need an injector kext to enable it. See USBInjectAll.kext README for details.

Using the port limit patch is not recommended long term.
Use it only to discover the ports you need to inject.
 
I am having trouble with USB 3.0, it worked fine in El Capitan but is no longer working properly in Sierra but I am not sure when it stopped working or if it was related to something else I changed along the way. In the screen shot below their should be two ASM107x devices listed under the two USB 3.0 Bus items. Also as you can see the USB to ATA/ATAPI Bridge is only running at 480 Mb/s when it should be 5 Gb/s. The only two ports that have USB3.0 speed are the two on the front of the computer which show up under the first USB 3.0 Bus item. I have tried following the instructions as best that I can and have changed EHC1 and EHC2 to EH01 and EH02 respectively. Attached are my files required for troubleshooting, if there is anything else please let me know.

View attachment 220331
Here is a mapping of my USB ports:

USB2
  • HS01 - unused
  • HS02 - unused
  • HS03 - ASM107x 4 below WIFI
  • HS04 - ASM107x 2 beside RJ45
  • HS05 - Top Left - Keyboard
  • HS06 - Top Right - Mouse
  • HS07 - unused
  • HS08 - Front Audio
  • HS09 - Front Left
  • HS10 - Front Right
  • HS11 - unused
  • HS12 - unused
  • HS13 - unused
  • HS14 - unused
USB3
  • SSP1 - unused
  • SSP2 - unused
  • SSP3 - ASM107x 4 below WIFI
  • SSP4 - ASM107x 2 beside RJ45
  • SSP5 - Front Left
  • SSP6 - Front Right
------------------------------------------
UPDATE: If I remove FakePCIID.kext from /Library/Extensions the ASM107x hubs show up under the USB 3.0 Bus but those ports still do not function at USB 3.0 speed. The bottom two ports on the back of the board also seem to be working at USB 3.0 speeds but in the IOreg the device connected to it does not show up under any of the 6 SSP ports. See screenshot below.
View attachment 220349

You have only 13 ports under XHC. No need for FakePCIID_XHCIMux.kext.

Note that the current version of USBInjectAll.kext is 0.5.15. You have 0.5.14.
 
You have only 13 ports under XHC. No need for FakePCIID_XHCIMux.kext.

Note that the current version of USBInjectAll.kext is 0.5.15. You have 0.5.14.

I have disabled HS01, HS02, HS07 and HS11-14 using the uia_exclude boot argument as they are all internal headers not being used. If I don't remove some I only have SSP01 instead of all 6. I will try updating USBInjectAll.kext when I get home.

Where can I download the 0.5.15 version? The most recent one on BitBucket is the 0.5.14 version.
 
Last edited:
I have disabled HS01, HS02, HS07 and HS11-14 using the uia_exclude boot argument as they are all internal headers not being used. If I don't remove some I only have SSP01 instead of all 6.

As should be expected.

Where can I download the 0.5.15 version? The most recent one on BitBucket is the 0.5.14 version.

My mistake. 0.5.15 is private version on my local machine.
 
As should be expected.



My mistake. 0.5.15 is private version on my local machine.

If I am excluding the ports and not hitting the 15 port limit should I remove FakePCIID_XHCIMux.kext?
 
If I am excluding the ports and not hitting the 15 port limit should I remove FakePCIID_XHCIMux.kext?

Your choice. If you're using FakePCIID_XHCIMux, you can exclude all HSxx ports from XHC (as they will all be routed via EHCI).

No need for FakePCIID_XHCIMux in the case all your usable ports fit within the 15-port limit on XHC.
 
Your choice. If you're using FakePCIID_XHCIMux, you can exclude all HSxx ports from XHC (as they will all be routed via EHCI).

No need for FakePCIID_XHCIMux in the case all your usable ports fit within the 15-port limit on XHC.

Ok, thanks. Any idea on why the available USB 3 ports are no longer acting as USB 3 ports? Devices that are USB 3.0 capable don't always seem to connect properly to SSP3 and SSP4 and are only running at 480Mb/s. They function fine in SSP5 and SSP6.
 
Status
Not open for further replies.
Back
Top