Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
Hello. I can't get Bluetooth on the Broadcom Wifi/Bluetooth (BCM943602CS) PCIe card working on z270 (Desktop). I have WiFi fully working, but the internal USB controller is not connecting/showing the device. I've done the SSDT to customize the USBInjectAll.kext, and even confirmed the port is working with another device (Corsair Watercooler USB) showing up in the same spot.

The card is not malfunctioning, because I got it working in Windows with this exact build (and installed Windows drivers), and had it working in Mac on a different motherboard (Asus Maximus Hero VIII). So to me it's either a BIOS setting in the Gigabyte Z270x that I've borked, or somehow have the USB injection wrong. I've added the rename XHCI and _OSI DSDT patches to clover. I'm at 14 ports on XHC, so that shouldn't be an issue. I set the internal ports to 255, but I've seen some "correct" SSDTs posted that set even the internal ports to 0 or 3, so I'm confused on the right number, but didn't make a difference either way.

Possibly relevant BIOS settings:
IOAPIC 24-119 entries: Enabled
Legacy USB: Auto (also tried Enabled and Disabled)
XHCI Handoff: Enabled
Serial Port (both): Disabled
Windows OS: Other
Boot USB: Legacy
Other PCI: UEFI

PCI Layout:
PCIx1_1 - Broadcom card
PCIx16 - Radeon RX 480
PCIx1_2 - (Empty)
PCIx8 - (Empty)
PCIx1_3 - (Empty)
PCIx4 - GC-Alpine Ridge

I tried putting the card in different PCI slots, but they didn't help, and I kind of need this layout because the other ones take away from the PCIx4 bandwidth which I need. I have an NVME drive installed in the M.2. slot, so there's a chance that it's sharing bandwidth with the Broadcom card, but it works in Windows so I assume not?

Other possibly relevant details: I've got a 5K Ultra Fine completely working with the dual display port out of the Radeon into the adapter, and then thunderbolt from the adapter to the display. Apple's default port injectors seem to do fine with the complex hub->port->hub tree, so you'll see that in the IOReg.

Let me know if something else would be helpful and I'll attach it. Also let me know if you find anything I should change unrelated to the issue I'm having. Thanks for your time!
 

Attachments

  • RehabMan.zip
    53.9 KB · Views: 85
  • ioreg.ioreg.zip
    864.7 KB · Views: 110
  • DebugImages.zip
    1.1 MB · Views: 86
  • EFI_Clover.zip
    1.3 MB · Views: 81
Last edited:
I've done the SSDT to customize the USBInjectAll.kext, and even confirmed the port is working with another device (Corsair Watercooler USB) showing up in the same spot.

Which port is it connected to?
 
Port HS10. HS10/HS14 are both onboard USB 2. HS14 has the corsair currently. They both have been tried and both work with the corsair.
 
Port HS10. HS10/HS14 are both onboard USB 2. HS14 has the corsair currently. They both have been tried and both work with the corsair.

Hmmm... no idea.
Probably the BT hardware is not connected correctly or is defective.
 
Hmmm... no idea.
Probably the BT hardware is not connected correctly or is defective.
Hmm ok. I thought about adding custom iopowermanagement or other flags to ensure it's getting power, but the device should be automatically setting that if its working, correct? Also how would it be working on Windows right now and not on Mac?
 
Hmm ok. I thought about adding custom iopowermanagement or other flags to ensure it's getting power, but the device should be automatically setting that if its working, correct? Also how would it be working on Windows right now and not on Mac?

Power properties can be easily injected with config.plist/Devices/USB/Inject=true.
 
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.
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.


So I've tried to follow the guide. Increased the ports. Renamed XHCI to XHC, Installed USBInjectAll.kext but my USB3 ports are still only intermittently working. For example I have a stick plugged into HS07 right now but as you will see on the attached IOReg its not showing up. Have also attached a copy of my config.plist from Xcode in case it helps. I am setup as iMac 14.2 if that makes a difference. Thanks.
 

Attachments

  • IO Reg Craig’s iMac 170517.ioreg
    17 MB · Views: 85
  • config.plist
    7.8 KB · Views: 177
So I've tried to follow the guide. Increased the ports. Renamed XHCI to XHC, Installed USBInjectAll.kext but my USB3 ports are still only intermittently working. For example I have a stick plugged into HS07 right now but as you will see on the attached IOReg its not showing up. Have also attached a copy of my config.plist from Xcode in case it helps. I am setup as iMac 14.2 if that makes a difference. Thanks.

Your ioreg is corrupt... probably wrong version of IORegistryExplorer.
And your problem reporting files are incomplete anyway.

Read post #1, "Problem Reporting" again. Carefully.
 
Your kextcache output shows:
- USBInjectAll.kext was installed incorrectly:
Code:
USBInjectAll.kext has incorrect permissions; omitting.
- XHCI-x99-injector.kext is not installed

Remove USBInjectAll.kext. Install with Kext Wizard. And install XHCI-X99-injector.kext.

Note: You will probably also need _OSI->XOSI patch + SSDT-XOSI.aml.

Hi Rehab, I installed as you told me and it worked perfectly. But now with 10.12.5 I've lost a lot of usb3 hubs and most of the powered external hard drives are not detected... Do you know if the update changed something? Thx again
 
Hi Rehab, I installed as you told me and it worked perfectly. But now with 10.12.5 I've lost a lot of usb3 hubs and most of the powered external hard drives are not detected... Do you know if the update changed something? Thx again

Read post #1, "Problem Reporting".
You will also need to describe the problem in detail ("lost a lot of usb3 hubs", and "most of the ...hard drives... are not detected", is not enough information regarding the specifics of the problem).
 
Status
Not open for further replies.
Back
Top