Contribute
Register

BrcmPatchRAM - Upload firmware into Broadcom Bluetooth USB devices

Status
Not open for further replies.
Disabling native BT:
Code:
cd /System/Library/Extensions
sudo mv IOBluetoothFamily.kext IOBluetoothFamily.kext.bak
Well after a few days of playing around with and doing some testing on my end, I finally figured out the cause of the problem. You'll never guess what it was.

Google Chrome.

I noticed that when the firmware would attempt to upload after a wake from sleep, it would eventually timeout at 3 minutes or 4 minutes. One time, I just so happened to kill the Chrome application while it was attempting to upload. I noticed that all of the sudden, Bluetooth started working. So I did some more testing. It doesn't always happen, but if Chrome is open when I sleep the computer, there is a pretty good chance that it will cause the BT firmware upload to fail when I wake. As soon as I right click on the Chrome application and kill it, the firmware upload succeeds. Every single time.

The solution: stop using Google Chrome. I attempted to disable the USB capabilities in chrome://flags, but I still noticed that BT would fail from time to time. So I'm just going to start using Safari for now.

I'll close the issue I opened on Github. Thanks for all of your help throughout this process, and making me learn a lot more about USB/EHCI/XHCI.
 
Well after a few days of playing around with and doing some testing on my end, I finally figured out the cause of the problem. You'll never guess what it was.

Google Chrome.

I noticed that when the firmware would attempt to upload after a wake from sleep, it would eventually timeout at 3 minutes or 4 minutes. One time, I just so happened to kill the Chrome application while it was attempting to upload. I noticed that all of the sudden, Bluetooth started working. So I did some more testing. It doesn't always happen, but if Chrome is open when I sleep the computer, there is a pretty good chance that it will cause the BT firmware upload to fail when I wake. As soon as I right click on the Chrome application and kill it, the firmware upload succeeds. Every single time.

The solution: stop using Google Chrome. I attempted to disable the USB capabilities in chrome://flags, but I still noticed that BT would fail from time to time. So I'm just going to start using Safari for now.

I'll close the issue I opened on Github. Thanks for all of your help throughout this process, and making me learn a lot more about USB/EHCI/XHCI.

I've always thought it strange that Chrome would connect to all the USB ports. I've disabled WebUSB in Chrome as I just don't think it is a good idea for an app to be doing this sort of thing...
 
I've always thought it strange that Chrome would connect to all the USB ports. I've disabled WebUSB in Chrome as I just don't think it is a good idea for an app to be doing this sort of thing...
Yeah, that's what I disabled in chrome://flags but I was still having issues with BT after wake from sleep. So I'm just gonna go back to Safari for this machine.

That was the last thing I thought that would have been causing all of my issues...
 
Disabling native BT:
Code:
cd /System/Library/Extensions
sudo mv IOBluetoothFamily.kext IOBluetoothFamily.kext.bak
Is there a reason for disabling native BT?
I'm currently loading BrcmPathRam2.kext and BrcmFirmwareData.kext to EFI/Clover/kexts/Other/ and bluetooth is not being recognized.

I've attached my iogreg and system info screenshot which shows the card under USB.
 

Attachments

  • iMac_02.ioreg
    9.7 MB · Views: 122
  • Screen Shot 2016-11-19 at 9.00.10 PM.png
    Screen Shot 2016-11-19 at 9.00.10 PM.png
    198 KB · Views: 162
UEFI on my Gigabyte mobo is set to

XHCI switching = auto (not smart auto)
XHCI = enabled
EHCI = enabled
 
Is there a reason for disabling native BT?

The suggestion was to someone else for a special test.
You should read the entire conversation if you're interested in why.

I'm currently loading BrcmPathRam2.kext and BrcmFirmwareData.kext to EFI/Clover/kexts/Other/ and bluetooth is not being recognized.

I've attached my iogreg and system info screenshot which shows the card under USB.

Your BT controller is 0a5c_4500. It is not supported by BrcmPatchRAM. But I think that is just the hub. Actual device is 0a5c_820a, which is also not supported by BrcmPatchRAM.
 
I have a USB bluetooth which is detected as below:

BCM20702A0:

Product ID: 0x21ec
Vendor ID: 0x0a5c (Broadcom Corp.)
Version: 1.12
Serial Number: 001986001B7F
Speed: Up to 12 Mb/sec
Manufacturer: Broadcom Corp
Location ID: 0x3a100000 / 1
Current Available (mA): 500
Extra Operating Current (mA): 0

After installed BrcmPatchRAM on Sierra it is still not working.

I saw a supported 0a5c:21ec Inatek bluetooth but it is for BCM20702A1.

Is it possible to make my usb bluetooth working?
 
I have a USB bluetooth which is detected as below:

BCM20702A0:

Product ID: 0x21ec
Vendor ID: 0x0a5c (Broadcom Corp.)
Version: 1.12
Serial Number: 001986001B7F
Speed: Up to 12 Mb/sec
Manufacturer: Broadcom Corp
Location ID: 0x3a100000 / 1
Current Available (mA): 500
Extra Operating Current (mA): 0

After installed BrcmPatchRAM on Sierra it is still not working.

I saw a supported 0a5c:21ec Inatek bluetooth but it is for BCM20702A1.

Is it possible to make my usb bluetooth working?

Attach ioreg as ZIP: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

Provide output (in Terminal):
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda

Attach EFI/Clover folder as ZIP (press F4 at main Clover screen before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder.

Attach output of (in Terminal):
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /

Compress all files as ZIP. Do not use external links. Attach all files using site attachments only.
 
Attach ioreg as ZIP: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

Provide output (in Terminal):
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda

Attach EFI/Clover folder as ZIP (press F4 at main Clover screen before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder.

Attach output of (in Terminal):
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /

Compress all files as ZIP. Do not use external links. Attach all files using site attachments only.

Hi RehabMan, please check the attachment as requested.
 

Attachments

  • Archive_zev23.zip
    2.3 MB · Views: 122
Hi RehabMan, please check the attachment as requested.

Some sort of USB problem. You can see that BrcmPatchRAM2 is hanging, no doubt due to failure during firmware upload.

I notice some unusual USB software:
- Virtualbox
- com.eltima.kext.eveusb

Also, I notice the device is connected to a USB1 controller (AppleUSBUHCIPCI). Really old hardware here?
 
Status
Not open for further replies.
Back
Top