Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
It seems like you have xHCI mode set to Auto or Smart Auto, not "Enabled".
I'm not sure what to do about that; the BIOS says Enabled, which was changed from the default of Smart Auto as recommended in various guides. There is also an EHCI Hand-Off option which I've disabled, I also have the other USB option disabled as well (I eventually found a description somewhere else that made it clear it was a legacy feature, rather than support for USB general as the options imply).

I've attached a screenshot of the manual page from my motherboard, as you can see it's not very clear what the options are specifically meant to do.
 

Attachments

  • Screen Shot 2018-02-05 at 22.42.45.png
    Screen Shot 2018-02-05 at 22.42.45.png
    169.8 KB · Views: 89
I'm not sure what to do about that; the BIOS says Enabled, which was changed from the default of Smart Auto as recommended in various guides. There is also an EHCI Hand-Off option which I've disabled, I also have the other USB option disabled as well (I eventually found a description somewhere else that made it clear it was a legacy feature, rather than support for USB general as the options imply).

I've attached a screenshot of the manual page from my motherboard, as you can see it's not very clear what the options are specifically meant to do.

Typically, setting xHCI mode to "Enabled" will disable the EHCI controller.
Make sure you don't have FakePCIID_XHCIMux.kext installed with that setting as it will route USB2 on xHCI to EHCI, which, of course, will not work as EHCI is disabled...

If you have made changes to your system, you must provide new problem reporting files. No exceptions.
 
Issue Description:
  • Bluetooth is not working on new AzureWave AW-CE123H (but WiFi is working).
  • Bluetooth worked once, upon initial install, but will not function after subsequent reboots.
Main Troubleshooting Issue:
  • The USB/BT component of the card does not show up in IORegistryExplorer so customizing an SSDT for USBInjectAll.kext doesn't seem possible. Attempted workaround by setting unassigned HS ports to "255" for internal USB in SSDT but this made no difference.
Computer Hardware and Software:
  • Gigabyte Z97N-WIFI (Series 9, firmware F7, XHCI "Smart Auto") / 4790K / NVIDIA GTX 760
  • AzureWave AW-CE123H - supports WiFi/ac and BT4LE (Half mini BCM94352)
  • macOS 10.13.3
  • Clover 2.4r4392
WiFi/Bluetooth/USB Drivers:
  • WiFi drivers: RehabMan's FakePCIID.kext+FakePCIID_Broadcom_WiFi.kext in S/L/E
    -"10.12+-BCM94352-fvco-darkvoid" pasted to config.plist/KernelandKextPatches/KextsToPatch
  • Bluetooth drivers: RehabMan's BrcmFirmwareRepo.kext+BrcmPatchRAM2.kext in S/L/E
  • USBInjectAll.kext with custom SSDT for USB port assignment.
    - port limit patch currently installed
    - Renames for ACPI/DSDT/Patches applied in config.plist, per guide
    - FakePCIID_XHCIMux.kext not installed
Guides Used:
USB Port Configuration: (6x USB3 and 2x USB2 physical external ports)
// HS01 Front USB2+3 Top
// HS02 Front USB2+3 Bottom
// HS03 Back USB2+3 Left Bottom
// HS04 Back USB2+3 Left Top
// HS05
// HS06
// HS07 Back USB2 Top
// HS08 Back USB2 Bottom
// HS09 Back USB2+3 Right Bottom
// HS10 Back USB2+3 Right Top
// HS11
// HS12
// HS13
// HS14
// SSP1 Front USB3 Top
// SSP2 Front USB3 Bottom
// SSP3 Back USB3 Left Bottom
// SSP4 Back USB3 Left Top
// SSP5 Back USB3 Right Bottom
// SSP6 Back USB3 Right Top

Any help would be much appreciated!
 

Attachments

  • nightbird.ioreg
    7.7 MB · Views: 175
  • nightbird-USB-SSDT.dsl
    5.1 KB · Views: 175
  • config.plist
    7 KB · Views: 254
Last edited:
Issue Description:
  • Bluetooth is not working on new AzureWave AW-CE123H (but WiFi is working).
  • Bluetooth worked once, upon initial install, but will not function after subsequent reboots.
Main Troubleshooting Issue:
  • The USB/BT component of the card does not show up in IORegistryExplorer so customizing an SSDT for USBInjectAll.kext doesn't seem possible. Attempted workaround by setting unassigned HS ports to "255" for internal USB in SSDT but this made no difference.
Computer Hardware and Software:
  • Gigabyte Z97N-WIFI (Series 9, firmware F7, XHCI "Smart Auto") / 4790K / NVIDIA GTX 760
  • AzureWave AW-CE123H - supports WiFi/ac and BT4LE (Half mini BCM94352)
  • macOS 10.13.3
  • Clover 2.4r4392
WiFi/Bluetooth/USB Drivers:
  • WiFi drivers: RehabMan's FakePCIID.kext+FakePCIID_Broadcom_WiFi.kext in S/L/E
    -"10.12+-BCM94352-fvco-darkvoid" pasted to config.plist/KernelandKextPatches/KextsToPatch
  • Bluetooth drivers: RehabMan's BrcmFirmwareRepo.kext+BrcmPatchRAM2.kext in S/L/E
  • USBInjectAll.kext with custom SSDT for USB port assignment.
    - port limit patch currently installed
    - Renames for ACPI/DSDT/Patches applied in config.plist, per guide
    - FakePCIID_XHCIMux.kext not installed
Guides Used:
USB Port Configuration: (6x USB3 and 2x USB2 physical external ports)
// HS01 Front USB2+3 Top
// HS02 Front USB2+3 Bottom
// HS03 Back USB2+3 Left Bottom
// HS04 Back USB2+3 Left Top
// HS05
// HS06
// HS07 Back USB2 Top
// HS08 Back USB2 Bottom
// HS09 Back USB2+3 Right Bottom
// HS10 Back USB2+3 Right Top
// HS11
// HS12
// HS13
// HS14
// SSP1 Front USB3 Top
// SSP2 Front USB3 Bottom
// SSP3 Back USB3 Left Bottom
// SSP4 Back USB3 Left Top
// SSP5 Back USB3 Right Bottom
// SSP6 Back USB3 Right Top

Any help would be much appreciated!

Check in Windows to verify hardware function and hardware installation procedures.
If it is working, you can also check in Device Manager to see which USB port the BT controller is attached.
 
Thanks for the Windows confirmation suggestion, RehabMan, it didn't show up there either. It turned out to be a hardware problem with the card itself! The original card worked once and then apparently burned itself out. All is well with a new AW-CE123H: Handoff and Continuity are working great.

Thank you so much for your inestimable contributions to the Hackintosh community, sir!
 
GA-Z77X-D3H
I have mounted high saw on this board and recognizes all usb usb2 and usb3 as standard, minus 4 that are via and it is necessary to use GenericUSBXHCI.kext kext. and that from high sierra does not work correctly because the computer does not shut down and restarts. When placing the patched DSDT and SSDT, the 3.0 usb ports are not recognized with their correct speed but it only happens in high sierra, since with yosemite it works with the patched DSDT and SSDT.
 
GA-Z77X-D3H
I have mounted high saw on this board and recognizes all usb usb2 and usb3 as standard, minus 4 that are via and it is necessary to use GenericUSBXHCI.kext kext. and that from high sierra does not work correctly because the computer does not shut down and restarts. When placing the patched DSDT and SSDT, the 3.0 usb ports are not recognized with their correct speed but it only happens in high sierra, since with yosemite it works with the patched DSDT and SSDT.

If you're trying to get help, you must provide a coherent description of the problem and problem reporting files.

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/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
the problem is that with the modified dsdt I do not have real speed of the usb 3.0
I add data from my team

https://www.dropbox.com/s/tb9a63yns4axocv/Send me iMac.zip?dl=0

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/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
Typically, setting xHCI mode to "Enabled" will disable the EHCI controller.
Make sure you don't have FakePCIID_XHCIMux.kext installed with that setting as it will route USB2 on xHCI to EHCI, which, of course, will not work as EHCI is disabled...
Sorry for the slow update, I only just had a chance to get around to trying again; it seems that FakePCIID_XHCIMux.kext was indeed my problem, after removing it along with the -uia_exclude_xhc flag, the Bluetooth controller shows up correctly under HS07 and works perfectly. I've now completed an SSDT-UIAC.aml file which disables all my unused ports, so my USB3 devices show up correctly and are working quite happily at the same time. So I'm now fully up and running, and just wanted to say thanks for your help, and sorry if I was a bit of a pain!

For anyone interested I'm attaching my SSDT-UIAC.dsl for my Q87T motherboard; note that this disables everything except for the four built in USB3 ports (SSP3-6, HS03-04 and HS09-10) and the built-in Bluetooth (HS07), so it will disable any ports connected to the additional USB headers (which I don't use). If you want to use the USB3 header you need to uncomment SSP1-2 and HS01-02, and if you want to use the USB2 headers you'll need to uncomment HS5-6 and/or HS11-14, but this may put you over the 15 port limit; with only the built-in USB3 ports I'm comfortably under the limit so avoided having to use the port limit patch.

I do have a couple of followup questions though. First, I'm a bit confused why FakePCIID_XHCIMux.kext was causing me problems as, excluding Bluetooth, all USB2 devices that it relocated (my keyboard, mouse and external sound card) were working perfectly, so only Bluetooth was actually being affected adversely. It'd be nice to know, as this seems like a nice and easy way to avoid the 15-port limit without patching, since your guide mentions potential instability when using a port limit patch long-term. I tried the other settings for XHCI on my motherboard but EH01 always seems to be present no matter what I chose, so I'm not sure what's going on there, as you seem to suggest that one of the settings should disable EHCI altogether. It's possible the BIOS setting for my motherboard just isn't described properly, or incorrectly leaves EHCI enabled no matter what I choose.

The other question is; is there any actual major advantage to having kexts in /Library/Extensions rather than injecting via Clover? I ask because it seems to me like Bluetooth support is something that someone might want injected, as it would be required in order to use a Bluetooth keyboard and/or mouse with an installer or recovery partition, but this would presumably require BrcmFirmwareData.kext, BrcmPatchRAM2.kext and USBInjectAll.kext to be injected at the very least. I know that kextcache only works with kexts on the startup volume itself, but does having a kext in the cache really make a big difference when most of these either only load up temporarily, or are permanently loaded, so at best it's just a tiny boost to startup times (which don't seem all that great on hackintoshes anyway)?
 

Attachments

  • SSDT-UIAC.dsl.zip
    1.4 KB · Views: 82
Last edited:
Status
Not open for further replies.
Back
Top