Page 1 of 1

Wi-Fi Works, Bluetooth Doesn't: USB Re-Mapping

Posted: Sat Apr 25, 2020 8:22 pm
by cpukid00
Hey guys!

First, a quick description of my primary problem. I have a Broadcom BCM94360CD WiFi/Bluetooth card in my system. The WiFi works, but the bluetooth does not. I know that the Bluetooth portion runs off the USB bus. The USB cable off of the card is plugged into my internal USB 2.0 header, but no matter which kexts I try, bluetooth will not show up at all in System Information. The card works totally fine in Windows, so it's not a hardware issue. I have AirportBrcmFixup.kext in my kexts folder and config.plist. I do find it odd that I need this kext for my WiFi to work, despite this being a natively supported card.

After some research, I've come to the conclusion that I may need to re-map my USB ports. I've been trying to follow this guide for this:
https://github.com/dortania/OpenCore-De ... USB-map.md

Here's my dilemma. I'm not really 100% sure that I need to map my ports, as all of my external type A and type C ports seem to work fine. Where I (believe) I'm running into problems is with my internal USB 2.0 header. FWIW, I've used this card in past Intel builds with Clover and High Sierra and it worked out of the box.

In attempting to follow the guide linked above, I notice my ports are named oddly in ioreg , which is making the USB mapping difficult. I do see ports named POT1, POT2, etc in MaciASL, but I don't see any of those in IORegistryExplorer. Instead, they are quite different than any guide I've seen (every port in ioreg is named 'AppleUSB20XHCIPort' or 'AppleUSB30XHCIPort'), and the port itself also doesn't have a 'name' attribute as in the guide.

MaciASL on the left, IORegistryExplorer on the right:
Image

Weird Ports:
Image
FWIW, I am running without any kind of DSDT/SSDT in my ACPI folder. I know this is NOT good, but I am trying to fix :D

I guess to sum it all up, here are my questions:

1. Am I on the right path, in thinking that this is a USB re-mapping issue?
2. Is what I'm seeing in ioregistryexplorer normal (no 'name' attribute on my ports and non-unique port identifiers)?
3. Are there any pointers that you can provide alongside that guide to make my DSDT/SSDT creation easier?
4. Why does a natively supported WiFi/BT card need a kext that isn't included with macOS?

My hardware is a Threadripper 2950X and an X399 Taichi motherboard, and I am running Catalina 10.15.4 using the iMacPro1,1 SMBios. I have the built-in (incompatible) Wi-Fi/Bluetooth disabled in the UEFI. Literally every other aspect of this build is working flawlessly, but this bluetooth issue is preventing me from Continuity features. I've taken a look at the iMacPro1,1 ACPI dump and I feel like I have a somewhat decent understanding of why USB map issues exist, I guess I just need some help in putting that into practice using MaciASL and ioregistryexplorer.

Also, here's my config.plist:
https://opencore.slowgeek.com/?file=amd ... &rs=amd057

Thank you all for the amazing work and forum. I can't believe I have a system I built for $2k that rivals Apple's $8.4k offering :thumbup:

Re: Wi-Fi Works, Bluetooth Doesn't: USB Re-Mapping

Posted: Sun Apr 26, 2020 5:49 pm
by yancyvioli
I'm in the same boat as you instead using the BCM94360CS2 with a M.2 adapter on a mini-itx board. I've researched and researched for hours now. My conclusion after adding and removing multiple kext files and re-inserting the chip is that the card I have from China is a bit faulty. I've been reading on the Tonymacx86 forum as well that people are having an "either/or" issue meaning that wifi works without bluetooth and vice versa.

Using some of the other success stories SSDT's for BT have not worked either.

When I am reading that others have complete 100% OOB functionality with the same install that I do, it really leads me to believe that it HAS to be my hardware. If you have another solution, please let me know. I'll be keeping up with this thread as well. Getting bluetooth and airdrop/handoff/continuity is probably the biggest function I need from this.

Re: Wi-Fi Works, Bluetooth Doesn't: USB Re-Mapping

Posted: Mon Apr 27, 2020 12:58 am
by cpukid00
I have an update on this! So I went ahead and enabled the XhciPortLimit flag, which made the Bluetooth work. So my original suspicions about needing to re-map my USB ports is correct, as I was over the 15 port limit. So I will definitely need to go down the road of re-mapping, but I still don't know why my port labels are so strange in IoRegistryExplorer. That's my blocker there for the moment.

Furthermore, my Continuity/handoff seems to be 3/4 working. For example, I see the messages icon when starting a new message on my phone. What I can't seem to get working is the Apple Watch unlock. I simply don't have that option at all in my System Preferences > Privacy:
Screen Shot 2020-04-26 at 5.53.18 PM.png
Screen Shot 2020-04-26 at 5.53.18 PM.png (133.79 KiB) Viewed 809 times
Also, in System Information > WiFi, I don't have the 'Auto Unlock: Supported' attribute:
Screen Shot 2020-04-26 at 4.45.39 PM.png
Screen Shot 2020-04-26 at 4.45.39 PM.png (58 KiB) Viewed 809 times
Not sure why that's not appearing; possibly related to firmware? I know there are brcmPatchRAM kexts out there. Aside from the Apple Watch unlock, bluetooth will pair to devices and seems to work.

Re: Wi-Fi Works, Bluetooth Doesn't: USB Re-Mapping

Posted: Mon Apr 27, 2020 4:09 am
by Ryzentoshing
cpukid00 wrote: Mon Apr 27, 2020 12:58 am So I went ahead and enabled the XhciPortLimit flag, which made the Bluetooth work. So my original suspicions about needing to re-map my USB ports is correct, as I was over the 15 port limit.
Hi, I thought the port limit was enabled by default. Do you mean you disabled it?
I'm facing the same problem with a Broadcom BCM94360NG chip connected to the M.2 (NGFF) connector on my motherboard (MSI B450 I). Wifi worked out of the box but I don't even get Bluetooth in the System preferences.

I've been trying to crack port mapping but some there are some challenges like trying to map an internal USB port when you don't have a clue which one of the lot might be the one for Bluetooth.

I found these 2 articles interesting and helpful (to some extent) for ports mapping.

https://aplus.rs/2020/usb-mapping-why/
https://aplus.rs/2020/usb-mapping-how/

I'll continue to look for a solution. Post if you find something useful.

Thanks.

Re: Wi-Fi Works, Bluetooth Doesn't: USB Re-Mapping

Posted: Mon Apr 27, 2020 5:31 am
by cpukid00
Ryzentoshing wrote: Mon Apr 27, 2020 4:09 am Hi, I thought the port limit was enabled by default. Do you mean you disabled it?
I think it actually is enabled by default, but it’s not recommended to leave on. By setting XhciPortLimit to true, you lift the 15 port limit, but risk some stability by doing so. So for that reason, it should be set to false for long term use. By enabling it to true, all ports in the system become enabled, hence, why my Bluetooth card’s internal USB 2.0 connection started working.

The actual fix is creating an SSDT and/or kext with proper port mappings, which is where I am currently stuck. The XhciPortLimit being set to true is helpful in creating that SSDT/kext as it truly exposes all devices in the system.

Re: Wi-Fi Works, Bluetooth Doesn't: USB Re-Mapping

Posted: Mon Apr 27, 2020 5:42 am
by yancyvioli
Ryzentoshing wrote:
cpukid00 wrote: Mon Apr 27, 2020 12:58 am So I went ahead and enabled the XhciPortLimit flag, which made the Bluetooth work. So my original suspicions about needing to re-map my USB ports is correct, as I was over the 15 port limit.
Hi, I thought the port limit was enabled by default. Do you mean you disabled it?
I'm facing the same problem with a Broadcom BCM94360NG chip connected to the M.2 (NGFF) connector on my motherboard (MSI B450 I). Wifi worked out of the box but I don't even get Bluetooth in the System preferences.

I've been trying to crack port mapping but some there are some challenges like trying to map an internal USB port when you don't have a clue which one of the lot might be the one for Bluetooth.

I found these 2 articles interesting and helpful (to some extent) for ports mapping.

https://aplus.rs/2020/usb-mapping-why/
https://aplus.rs/2020/usb-mapping-how/

I'll continue to look for a solution. Post if you find something useful.

Thanks.
I'm glad someone else has the same motherboard as I. On my install, I also have "No Information Found" under the system report and in Hackintool.
1. I DISABLED the port limit and to no avail again.
2. Just for fun, I went ahead and created a new boot usb for a fresh install to see if maybe there was an issue with files. Again, no success.

I have no experience at all with the USB mapping and I didn't have to mess with it for my original install so Im glad you gave me some more things to work out. It's so strange because at first I had no bluetooth in my windows boot on my other drive. Then I found a driver online for the apple wifi card and now it's working in windows with no issues. I'm still going to try the new card I ordered from someone local to me but as of now, I doubt it will make a difference.

If you can share that SSDT when you finish, that would be GREATLY appreciated.

Thanks for the update.
Post Merged
cpukid00 wrote:
Ryzentoshing wrote: Mon Apr 27, 2020 4:09 am Hi, I thought the port limit was enabled by default. Do you mean you disabled it?
I think it actually is enabled by default, but it’s not recommended to leave on. By setting XhciPortLimit to true, you lift the 15 port limit, but risk some stability by doing so. So for that reason, it should be set to false for long term use. By enabling it to true, all ports in the system become enabled, hence, why my Bluetooth card’s internal USB 2.0 connection started working.

The actual fix is creating an SSDT and/or kext with proper port mappings, which is where I am currently stuck. The XhciPortLimit being set to true is helpful in creating that SSDT/kext as it truly exposes all devices in the system.
UPDATE:

I found fix and can't believe it was so easy. Took a drive to my local Micro Center, just for kicks to buy an IOGear 4.0 Bluetooth USB adapter. Everything is now working out of the box! :clap:
https://www.microcenter.com/product/387 ... ro-adapter

Give it a try and I bet it will work for you.