Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
I have a desktop system (ASUS Sabertooth Z170 S). I am sorry if this is off-topic for this thread, I couldn't find a similar thread in the Desktop section. If there is such a thread please let me know.

I spent about a day reading through all the information provided by RehabMan. Thank you for all your efforts, the level of detail you provide is amazing!

At the end I settled on a very simple solution: I installed USBInjectAll.kext and used the uia_exclude kernel flag to disable the ports I am not using. I didn't rename anything (EHCx -> EH0x or such), didn't edit the DSDT or create new SSDTs, didn't change anything in the BIOS, etc. I did temporarily install the port limit patch but I removed it at the end as I understand it is not safe to use for long.

As a result, I ended up with 4 USB2 and 4 USB3 ports as shown by IORegistryExplorer:

View attachment 293632

Everything works pretty well, except that the USB3 ports sometimes only function as USB2. I test this by plugging in a USB3 device, a Transcend card reader. Right now this USB3 device is recognized in all USB3 ports, but this changes after every reboot. Sometimes it works in only one of the USB3 ports, sometimes it works in there out of four, etc. I don't see any pattern, seems pretty random.

The fact that I don't always get USB3 speeds doesn't bother me too much, but I don't like the randomness. I wonder if it's a sign of a more serious issue that I am not aware of.

One interesting thing I noticed is that the USB3.1 port (which I haven't used in the past, I don't think it worked under Sierra but I could be wrong) now works -- but in IORegistryExplorer it shows up under a different node than all the other USB ports:

View attachment 293638

I am curious if this is expected or a sign of trouble.

I attached the files to the original post. Thanks!


Your USB configuration is wrong.
The UsbConnector values for ports on XHC are not correct.
See guide:
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/

Keep in mind this guide does not address USB ports on a Thunderbolt controller.
 
Your USB configuration is wrong.
The UsbConnector values for ports on XHC are not correct.

Thanks! What are the consequences of leaving it as is?
 
Thanks! What are the consequences of leaving it as is?

No idea. To the best of my ability, I never run with an incorrect configuration.
But it may be contributing to your issue.
 
hello @RehabMan, this is a USB 3.0 implementation on Mac Os X 10.11.6, problem reporting:

my hardware having USB 3.0 problems is a 2015 desktop system:
Mainboard: Asus Z97I-PLUS mini ITX
Cpu: i7-4790
Graphics: NvidiaGTX 690 GIGABYTE GV-N960OC-4GD with Nvidia Web Driver 346.03.15f10
Booting regularly with Mac Os X 10.11.6 using Clover and iMac14.2 Smbios:

from Ioreg (attached Below) I gather there is a wrong USB 3.0 implementation reporting only 1 SSP1; this reflects effectively in USB 3.0 not working or working as 2.0.

what I already checked:

-in Bios XHCI is set to "smart auto".
-renaming EHC1 to EH01 and EHC2 to EH02, should be done in clover/ACPI
-using FakePCIID_XHCIMux to route USB2 devices on XHC to EHCI , should be done
-injecting ports with USBInjectAll.kext, should be done

Could you please give me some hints of how should I correct this?
Many thanks.

also "about this mac" does not work properly, shows only iMac
syinfo.png
 

Attachments

  • CLOVER.zip
    1.7 MB · Views: 84
  • iHack.ioreg.zip
    697.6 KB · Views: 85
hello @RehabMan, this is a USB 3.0 implementation on Mac Os X 10.11.6, problem reporting:

my hardware having USB 3.0 problems is a 2015 desktop system:
Mainboard: Asus Z97I-PLUS mini ITX
Cpu: i7-4790
Graphics: NvidiaGTX 690 GIGABYTE GV-N960OC-4GD with Nvidia Web Driver 346.03.15f10
Booting regularly with Mac Os X 10.11.6 using Clover and iMac14.2 Smbios:

from Ioreg (attached Below) I gather there is a wrong USB 3.0 implementation reporting only 1 SSP1; this reflects effectively in USB 3.0 not working or working as 2.0.

what I already checked:

-in Bios XHCI is set to "smart auto".
-renaming EHC1 to EH01 and EHC2 to EH02, should be done in clover/ACPI
-using FakePCIID_XHCIMux to route USB2 devices on XHC to EHCI , should be done
-injecting ports with USBInjectAll.kext, should be done

Could you please give me some hints of how should I correct this?
Many thanks.

also "about this mac" does not work properly, shows only iMac
View attachment 295792

The port limit patch is missing from config.plist.
This is why your ports are truncated for those beyond the 15-port limit.
Read post #1 regarding the port limit patch.

Alternative: Since you're routing all HSxx on XHC to EHCI, you can also use -uia_exclude_hs kernel flag to prevent USBInjectAll.kext from injecting the HSxx ports on XHC (because it is unlikely anything will attach there with FakePCIID_XHCIMux.kext).

It is still probably best to verify that nothing will attach to the HSxx ports on XHC (port limit patch, then port discovery), since it is possible your BIOS signals to USBInjectAll.kext that certain HSxx ports should not be forwarded (it is rare, but possible... and USBInjectAll honors it unless you override it). Plus you might want to put everything on XHC anyway.
 
well, thanks a lot @RehabMan , your help is precise as usual.
this is what I did in Clover config.plist:
1- applied the "change 15 port limit to 26 in XHCI kext" patch (for El Capitan)
2- applied the "change _OSI to XOSI" patch
3- applied the "change XHCI to XHC" and "change XHC1 to XHC" patches

Now in ioreg (attached below) I am indeed able to see 6 USB 3.0 SSP1 trough SSP6, as well as "seeing" HS01 trough HS14. From what I gather not all of this HS ports can or will work, is that correct?
Am I good to go or should I try and do port discovery and than build a custom port injector?
Since I am not too technical I hope I can understand your answers.

Thanks again
 

Attachments

  • iHack.ioreg.zip
    708.1 KB · Views: 97
2- applied the "change _OSI to XOSI" patch

Don't forget that SSDT-XOSI.aml is required.

3- applied the "change XHCI to XHC" and "change XHC1 to XHC" patches

Not needed. Your native ACPI uses XHC.

Now in ioreg (attached below) I am indeed able to see 6 USB 3.0 SSP1 trough SSP6, as well as "seeing" HS01 trough HS14. From what I gather not all of this HS ports can or will work, is that correct?

With FakePCIID_XHCIMux.kext, it is likely all HSxx ports are routed to EH01/EH02.
You can verify yourself by testing both ways (with/without XHCIMux).
 
Last edited:
Hi guys! I managed to install hackintosh high Sierra with unibeast e multibeast. In order to fix usb issue I've selected "increase max port limit" in Multibeast options and I've installed voodooPS2Controller.kext for PS2. Now I was wondering if I don't create my custom SSDT for USBInjectedAll.kext what are the risks? Hardware problems (I mean CPU/motherboard/other components damages)? thank you all
 
Hi guys! I managed to install hackintosh high Sierra with unibeast e multibeast. In order to fix usb issue I've selected "increase max port limit" in Multibeast options and I've installed voodooPS2Controller.kext for PS2. Now I was wondering if I don't create my custom SSDT for USBInjectedAll.kext what are the risks? Hardware problems (I mean CPU/motherboard/other components damages)? thank you all

Your profile is not filled out as requested in the FAQ.
And no "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
Status
Not open for further replies.
Back
Top