Contribute
Register

BrcmPatchRAM - Upload firmware into Broadcom Bluetooth USB devices

Status
Not open for further replies.
Interesting, Windows 10 found drivers for it simply by tapping "update driver."

The drivers we sync to come from station-drivers.com.
No idea if those are the same set that Windows update uses...
You should be able to see/obtain the firmware that Windows is using by looking at driver details within Windows Device Manager.

I don't have a clue how to do what you suggest but I'll keep reading and trying stuff.

Read the README.
Also read post #1 here.
Read the BrcmPatchRAM2 Info.plist.
 
Success! I now have working Wifi and Bluetooth for both Windows and macOS.

The old file I pulled the other day was only BrcmPatchRAM (not BrcmPatchRAM2 which is the one I need, learned from the README) and I'm running Sierra. I dug some more and found a complete package 2015-0924 which looks like it's the last one that had 0a5c:22be in it; used Kextbeast to send BrcmPatchRAM2.kext and BrcmFirmwareRepo.kext to S/L/E and rebooted. Now I have working Bluetooth.

You, sir, are a rock star.

Just to prove I'm not as smart as I look: I gave up on this project a couple days ago and bought a BRCM94360CS2, the genuine apple part, and tried that. It looks like it would work natively - but the antenna connectors are the wrong size (too small). Maybe with that and some conversion pigtails I can put that in an old laptop I'm working on.
 
First of all: thanks to developers for the idea and implementation.

I have a minor issue with BrcmPatchRAM2 and I would be very glad to find any solution or workaround.

BCM94352HMB
Broadcom BCM43xx
BCM20702A0 [13d3:3404]

Kexts in CLOVER/OEM/Aspire E1-572/kexts/Other:
com.no-one.BrcmPatchRAM2 (2.2.7)
com.no-one.BrcmFirmwareStore (2.2.7)

Sierra 10.12.5 on Acer Aspire E1-572
2017-07-08 13:56:02.186663+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 0.550 seconds.
2017-07-08 13:57:32.219162+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.
2017-07-08 13:57:32.219528+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: USB [40E2303AE22D v274] "BCM20702A0" by "Broadcom Corp"
2017-07-08 13:57:32.343733+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Not responding - Delaying next read.
2017-07-08 13:57:32.487419+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: device request failed ("0xe00002ed (UNDEFINED)" 0xe00002ed).
2017-07-08 13:57:32.489911+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Not responding - Delaying next read.
2017-07-08 13:57:32.491832+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: device request failed ("0xe00002ed (UNDEFINED)" 0xe00002ed).
2017-07-08 13:57:32.494127+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: readCompletion - Return aborted (0xe00002eb)
2017-07-08 13:57:32.494152+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Firmware upgrade failed.
2017-07-08 13:57:32.499015+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2017-07-08 13:57:32.499023+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 0.279 seconds.
2017-07-08 13:57:32.505885+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.
2017-07-08 13:57:32.505928+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: USB [40E2303AE22D v274] "BCM20702A0" by "Broadcom Corp"
2017-07-08 13:57:34.732800+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Firmware upgrade completed successfully.
2017-07-08 13:57:34.737715+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2017-07-08 13:57:34.737721+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 2.231 seconds.

"Firmware upgrade failed" happens quite rarely, and according to the log the next attempt is always successful.
But Mac OS X doesn't see bluetooth module in this case.
In menu bar the bluetooth icon is changed and when I press it I can see: Bluetooth is not available.
Beside of this icon, System Information shows the full information about bluetooth module.
BCM20702A0 is also shown in USB entry (in System Information windows).

The only workaround I have managed to find: sleep and wake again.


I tried to compile sources using XCode 8.3.3 (my idea was to increase the value of mBlurpWait), but the compilation was unsuccessful: IOKit/usb/IOUSBDevice.h file not found, manual definition for TARGET_ELCAPITAN doesn't really help.

Could you suggest me how could I compile this project?
Or may be you suggest some better solution?

Thank you in advance!

 
Last edited:
First of all: thanks to developers for the idea and implementation.

I have a minor issue with BrcmPatchRAM2 and I would be very glad to find any solution or workaround.

BCM94352HMB
Broadcom BCM43xx
BCM20702A0 [13d3:3404]

Kexts in CLOVER/OEM/Aspire E1-572/kexts/Other:
com.no-one.BrcmPatchRAM2 (2.2.7)
com.no-one.BrcmFirmwareStore (2.2.7)

Sierra 10.12.5 on Acer Aspire E1-572
2017-07-08 13:56:02.186663+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 0.550 seconds.
2017-07-08 13:57:32.219162+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.
2017-07-08 13:57:32.219528+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: USB [40E2303AE22D v274] "BCM20702A0" by "Broadcom Corp"
2017-07-08 13:57:32.343733+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Not responding - Delaying next read.
2017-07-08 13:57:32.487419+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: device request failed ("0xe00002ed (UNDEFINED)" 0xe00002ed).
2017-07-08 13:57:32.489911+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Not responding - Delaying next read.
2017-07-08 13:57:32.491832+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: device request failed ("0xe00002ed (UNDEFINED)" 0xe00002ed).
2017-07-08 13:57:32.494127+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: readCompletion - Return aborted (0xe00002eb)
2017-07-08 13:57:32.494152+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Firmware upgrade failed.
2017-07-08 13:57:32.499015+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2017-07-08 13:57:32.499023+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 0.279 seconds.
2017-07-08 13:57:32.505885+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.
2017-07-08 13:57:32.505928+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: USB [40E2303AE22D v274] "BCM20702A0" by "Broadcom Corp"
2017-07-08 13:57:34.732800+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Firmware upgrade completed successfully.
2017-07-08 13:57:34.737715+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2017-07-08 13:57:34.737721+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 2.231 seconds.

"Firmware upgrade failed" happens quite rarely, and according to the log the next attempt is always successful.
But Mac OS X doesn't see bluetooth module in this case.
In menu bar the bluetooth icon is changed and when I press it I can see: Bluetooth is not available.
Beside of this icon, System Information shows the full information about bluetooth module.
BCM20702A0 is also shown in USB entry (in System Information windows).

The only workaround I have managed to find: sleep and wake again.


I tried to compile sources using XCode 8.3.3 (my idea was to increase the value of mBlurpWait), but the compilation was unsuccessful: IOKit/usb/IOUSBDevice.h file not found, manual definition for TARGET_ELCAPITAN doesn't really help.

Could you suggest me how could I compile this project?
Or may be you suggest some better solution?

Thank you in advance!


Read FAQ, "Problem Reporting"
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
Oh, I should guess you will need much more information.
Attached zip.
Thank you!

Your problems are likely caused by Android File Transfer.
Details are in the laptop FAQ.
 
Your problems are likely caused by Android File Transfer.
Details are in the laptop FAQ.
It seems you are right! At least 4 attempts now were successful (I removed Android File Transfer using AppCleaner and restarted before tests).
After the 4th wake I noticed that bluetooth icon changed and reverted to the normal state.
2017-07-08 19:49:56.213619+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.

2017-07-08 19:49:56.213668+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: USB [40E2303AE22D v274] "BCM20702A0" by "Broadcom Corp"

2017-07-08 19:50:01.204951+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: readCompletion - Return aborted (0xe00002eb)

2017-07-08 19:50:01.204977+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Firmware upgrade failed.

2017-07-08 19:50:01.208618+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".

2017-07-08 19:50:01.208625+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 4.995 seconds.

2017-07-08 19:50:01.215837+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.

2017-07-08 19:50:01.215963+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: USB [40E2303AE22D v274] "BCM20702A0" by "Broadcom Corp"

2017-07-08 19:50:01.752816+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Firmware upgrade completed successfully.

2017-07-08 19:50:01.756351+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".

2017-07-08 19:50:01.756357+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 0.540 seconds.

But bluetooth works!
Thank you for you help!

I will test it more carefully and report here.
 
It seems you are right! At least 4 attempts now were successful (I removed Android File Transfer using AppCleaner and restarted before tests).
After the 4th wake I noticed that bluetooth icon changed and reverted to the normal state.
2017-07-08 19:49:56.213619+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.

2017-07-08 19:49:56.213668+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: USB [40E2303AE22D v274] "BCM20702A0" by "Broadcom Corp"

2017-07-08 19:50:01.204951+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: readCompletion - Return aborted (0xe00002eb)

2017-07-08 19:50:01.204977+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Firmware upgrade failed.

2017-07-08 19:50:01.208618+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".

2017-07-08 19:50:01.208625+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 4.995 seconds.

2017-07-08 19:50:01.215837+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.

2017-07-08 19:50:01.215963+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: USB [40E2303AE22D v274] "BCM20702A0" by "Broadcom Corp"

2017-07-08 19:50:01.752816+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Firmware upgrade completed successfully.

2017-07-08 19:50:01.756351+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".

2017-07-08 19:50:01.756357+0200 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 0.540 seconds.

But bluetooth works!
Thank you for you help!

I will test it more carefully and report here.

Keep in mind Google Chrome, if running, can cause the same problem (also covered in the FAQ).
 
Keep in mind Google Chrome, if running, can cause the same problem (also covered in the FAQ).
Yes, I have also done that, thank you!
FAQ is very impressive!
 
macOS Sierra 10.12.6

Hi, I am having problems getting my bluetooth working on my Azurewave AW-NB290 card. Card is BCM943225HMB and WiFI is working well with FakePCIID_Broadcom_WiFi.kext and FakePCIID.kext

My bluetooth appears to be loading but I cannot turn it off. It also has difficulty staying connected. I can see other devices fine and other devices see me fine. The bluetooth is also causing my system to fail to sleep/hibernate.

Because of all of these problems I have simply unplugged the USB connection to my PCIe card and my system works like a dream. Sleep and hibernation problems disappear.

I would like bluetooth to work if possible. If anyone can help.

I searched the Windows drivers package for my vendor (0x0489) and device (0xE030) IDs with no joy. So I presume and have attached the BrcmNonPatchRAM2.kext as noted for other BCM943225 devices. However, when I remove all PatchRAM kexts from clover I noticed no difference at all. The system still loads the bluetooth in the same condition as noted above. I am also not seeing the kexts loaded when I am injecting from clover.

I would also like to note I believe most documentation on the Azurewave BCM943225 is referring to the AW-NB290H

Im not sure where to move from here. Other than detaching the bluetooth/usb. I hope I can use it.

Thanks for your consideration.

[Attached Problem Reporting zip]
 

Attachments

  • Problem Reporting.zip
    4.3 MB · Views: 88
Last edited:
Status
Not open for further replies.
Back
Top