Jump to content

[Solved] Airport BCM943602CS: no Bluetooth when connected to PCIe USB controller card

Pierre C.

Recommended Posts

Hi all,

I'm using an original Airport BCM943602CS card with a pci-e adapter. Wifi is working great OOTB but not BT.

Since my motherboard only has a single USB3 header connecter that is used for the front USB connectors of the case, I decided to buy a third-party NEC Renesas based PCI-E USB controller, and to connect the BCM943602CS to it via USB (since USB connection is necessary for the BT part). This is the part that is not working correctly : the BT controller is not correctly detected by macOS -> no BT panel.

The current state is the following:
- In System Information, the bluetooth panel is empty
- In System Information, the USB host controller of the Airport card is visible under the second USB 3.0 bus provided by the NEC Renesas card
- In IORegistryExplorer, it is shown that this USB card is mounted under [email protected] - which seems logical since PXSX is used for a generic PCIe device. The Broadcom BT controller is show under [email protected] BUT, strangely enough, the USB ports of the cards are not named! Each port has a location (0x00500000, 0x00600000, ...) but no name. I looked at my DSDT and, indeed, there are no named port definitions under the PXSX device. As opposed, say, for the XHC device which has multiple named ports in the DSDT.


- In Hackintool, both controllers are shown but only the ports of the main Intel controller are listed (HS01-14, USR1-2, SS01-10) - For testing purpose i'm using USBInjectAll and port-limit disabling hacks. So where are the ports of PXSX?!

So, how is it possible that the BT controller is clearly visible on the secondary USB bus (even in System Information / USB panel) but not detected as such by macOS? Is it because it can only be connected on the primary USB controller/bus?

The Airport card is indeed working and is not the problem: if I plug it directly on the motherboard USB3 header it shows up instantly in macOS and everything is working great. So, clearly, the problems is with the connection through a 3rd party USB controller card.

I'm using the following driver for the NEC USB controller card: https://github.com/chris1111/USB-3.0-NEC. I tried switching it with GenericUSBXHCI.kext to see if this driver handle ports differently, but the card is not even recognized with this one.

At this stage, the only ideas I have are:
- try to add names to PXSX ports - in a patched DSDT I suppose, but I have no idea where to start.
- try to rename PXSX to something else in order to please macOS (XHC0, XHC1 maybe?)

Any suggestion is appreciated. Thanks for your help!

Link to comment
Share on other sites

  • Replies 24
  • Created
  • Last Reply

Top Posters In This Topic

  • Administrators

Check if the generic USB3.0 kext available here is the same that you used. It worked for me in all recent versions of macOS for add-on USB3.0 PCIe controllers.


Regarding a potential DSDT patch, forget it for such types of add-on cards. It's perfectly normal that you find no info in your DSDT regarding those USB ports under RP07 root bridge since they do not belong to the computer's motherboard. In addition, they're clearly shown in IOReg which, to me, proves all seems to be in order on that front.


I'm more surprised that, in IOReg, your card registers as "[email protected]" under [email protected]>[email protected], rather than as it's actual model. Never saw this with the add-on cards I played with.


Link to comment
Share on other sites

Hi @Hervé. I just tried this driver you suggested. Unfortunately, the card is not recognized with it. Do you know the chipset(s) of the cards you used with it? Maybe they weren't NEC Renesas (NEC µPD720201) based.


At this stage, I still believe that everything installed is mostly correct. If it wasn't the Airport card / BT controller wouldn't show under IOReg, like you said.


BUT... my guess is still that macOS is unable to "link" to the BT controller of the Airport card for some reason. And the only reason I can think of is some very specific ACPI / USB bus naming convention or something. Maybe it only looks for Airport card on the internal USB bus for example? This is where I'd like your input: did you ever have any success pluging an Airport card on an external bus? And if so, under which bus was it mounted, PXSX also?

Link to comment
Share on other sites

  • Administrators

No, I've never connected an Apple BRCM94360xx to an add-on PCIe USB controller on a Hack. I've played with an ExpressCard NEC Renesas controller (NEC UPD720202 chipset with PCI id 1912,15) before but it was several years and OS X versions ago. I had no issues at all. Regretfully, I can't find that card anymore otherwise I'd have tested it in macOS. I may have given it away, can't remember...


What's the exact model of your card? I'd also recommend you post a zipped copy of your Clover EFI folder as you may use settings that clash with the cards USB operations.


NB: The name of the ACPI device under which the card registers is irrelevant here. As I said, all looks Ok in IOReg except that card's identification which does surprise me a lot.

Link to comment
Share on other sites

  • Administrators

Correct but it's an EC card in my laptop, not a desktop PCIe controller and I can't plug an Airport card into it.


I Couldn't see anything wrong with your Clover setup. I would suggest you try to cache the generic USB3.0 kext from /L/E rather than inject the kext you currently use which I presume is mXHCD.

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...