Contribute
Register

BrcmPatchRAM - Upload firmware into Broadcom Bluetooth USB devices

Status
Not open for further replies.
On topic: Is it also possible --as with the BCM4322 by booting ubuntu and patching it so it sticks forever-- to rebrand on a hardware level it as a native Apple device?

With external USB dongle? No idea.

Or upgrade the firmware?

Firmware is loaded dynamically upon boot (and wake from sleep) with PatchRAM devices.
 
Dell 1820A:
vendor ID:0A5C
product ID: 6412
connector-type: ngff(M.2)
WiFi chip: BCM4350
BT chip: BCM2045A0

Issue:
Endless loop during boot, crash booting the OS X.

Tried method:
1. Installed BrcmFirmwareRepo.kext + BrcmPatchRAM2.kext in /System/Library/Extensions = crashing the OS X during boot, showing endless spam.
2. Installed BrcmFirmwareRepo.kext + BrcmPatchRAM2.kext in /Library/Extensions = no BT information in System Report..., two kexts fail to load.
3. Installed BrcmFirmwareRepo.kext(disabled_IOResources->IOResources) + BrcmPatchRAM2.kext in /EFI/Clover/kexts/10.11 = BT is powered up successfully.
4. Installed BrcmFirmwareData.kext + BrcmPatchRAM2.kext in /EFI/Clover/kexts/10.11 = BT sometimes work, but most of the time crashing the OS X during booting as method 1.

Here's the attach of IOReg and system.log of brcm.
View attachment brcm log.zip
 
Nope, totally different story since I see your signature with a 43ee. My previous Wifi & BT combo model BCM94352z work as a charm with method 4, but 1820A cannot.It seems that the new MacBook use the BCM4350 as well (see http://www.insanelymac.com/forum/topic/292542-airport-pcie-half-mini/page-19?hl=bcm4350#entry2148368 #364). And in that case:"Based on a single-chip solution: Broadcom BCM4350 (Wi-Fi 802.11ac, up to 866Mbps + Bluetooth 4)Product Info for BCM4350: https://www.broadcom...ess-lan/bcm4350 Wi-Fi used PCIe bus: Vendor ID 0x14e4, DeviceID: 0x43a3Bluetooth used UART bus (not USB). All new modules support in OS X Yosemite and El Capitan. AirPortBrcm4360.kext from 10.10.0 and newer contains DeviceID: pci14e4,43ba and pci14e4,43a3.USB Bluetooth BCM20703 - used IOBluetoothHostControllerUSBTransport.kextUART Bluetooth BCM4350 - used IOBluetoothHostControllerUARTTransport.kext"
 
Dell 1820A:
vendor ID:0A5C
product ID: 6412
connector-type: ngff(M.2)
WiFi chip: BCM4350
BT chip: BCM2045A0

Issue:
Endless loop during boot, crash booting the OS X.

Tried method:
1. Installed BrcmFirmwareRepo.kext + BrcmPatchRAM2.kext in /System/Library/Extensions = crashing the OS X during boot, showing endless spam.
2. Installed BrcmFirmwareRepo.kext + BrcmPatchRAM2.kext in /Library/Extensions = no BT information in System Report..., two kexts fail to load.
3. Installed BrcmFirmwareRepo.kext(disabled_IOResources->IOResources) + BrcmPatchRAM2.kext in /EFI/Clover/kexts/10.11 = BT is powered up successfully.
4. Installed BrcmFirmwareData.kext + BrcmPatchRAM2.kext in /EFI/Clover/kexts/10.11 = BT sometimes work, but most of the time crashing the OS X during booting as method 1.

Here's the attach of IOReg and system.log of brcm.
View attachment 184101

The only correct config is BrcmPatchRAM2.kext + BrcmFirmwareRepo.kext (unmodified) to the system volume (/L/E or /S/L/E, your choice).
 
Hello, in order to try to upload a different firmware for my Azure Aw Ch 123, can @RehabMan or anyone tell me how can i compress the new .hex file to .zhx ? Or can i leave it as .hex ?

Then i need to edit the info.plist of BcrmPatchRam and edit the section focused on my card to point to this particular file (previously pasted to resources folder inside BcrmPatch Repo), right ?
 
Last edited:
Hello, in order to try to upload a different firmware for my Azure Aw Ch 123, can @RehabMan or anyone tell me how can i compress the new .hex file to .zhx ? Or can i leave it as .hex ?

Then i need to edit the info.plist of BcrmPatchRam and edit the section focused on my card to point to this particular file (previously pasted to resources folder inside BcrmPatch Repo), right ?

You can leave it as hex. BrcmPatchRAM can deal with either.

You will need to change the Info.plist to point to your new file for your device...
 
@everyone...

I updated to the latest firmwares by extracting from driver pack 12.0.1.921 (from station-drivers).

New devices supported:
0a5c:6418
0a5c:7460
13d3:3482
13d3:3484
13d3:3504
13d3:3508

Devices with updated firmware:
0a5c:6414
0a5c:6417
0bb4:0306

Also, non-PatchRAM devices are now handled by separate kexts, BrcmNonPatchRAM.kext and BrcmNonPatchRAM2.kext. Formerly these were handled in BrcmPatchRAM/BrcmPatchRAM2, but it is easier to update if the devices with built-in firmware are separated.

README updated and build available in the usual place.

https://github.com/RehabMan/OS-X-BrcmPatchRAM
 
@everyone...

I updated to the latest firmwares by extracting from driver pack 12.0.1.921 (from station-drivers).

New devices supported:
0a5c:6418
0a5c:7460
13d3:3482
13d3:3484
13d3:3504
13d3:3508

Devices with updated firmware:
0a5c:6414
0a5c:6417
0bb4:0306

Also, non-PatchRAM devices are now handled by separate kexts, BrcmNonPatchRAM.kext and BrcmNonPatchRAM2.kext. Formerly these were handled in BrcmPatchRAM/BrcmPatchRAM2, but it is easier to update if the devices with built-in firmware are separated.

README updated and build available in the usual place.

https://github.com/RehabMan/OS-X-BrcmPatchRAM

Thanks @RehabMan - I appreciate all the work you are doing.

My own Belkin USB BT4.0 dongle is one of those specifically mentioned -
[0a5c:21e8] Bluetooth USB Dongle (20702A1)

however it is shown in the Bluetooth system pane as "20702A3"

Firmware still showing as "4096" after upload. Log shows errors -
uploadFirmware could not open the device!

The Vendor ID and Product ID are the same as on your list, despite "A3" rather that "A1" suffix.

Thanks again for the efforts :).
 
Thanks @RehabMan - I appreciate all the work you are doing.

My own Belkin USB BT4.0 dongle is one of those specifically mentioned -
[0a5c:21e8] Bluetooth USB Dongle (20702A1)

however it is shown in the Bluetooth system pane as "20702A3"

Firmware still showing as "4096" after upload. Log shows errors -
uploadFirmware could not open the device!

The Vendor ID and Product ID are the same as on your list, despite "A3" rather that "A1" suffix.

Thanks again for the efforts :).

The names come from the INF file in the official installer...

Code:
%BRCM20702.DeviceDesc%=RAMUSB21E8,          USB\VID_0A5C&PID_21E8       ; 20702A1 dongles
...
BRCM20702.DeviceDesc=                           "Broadcom BCM20702 Bluetooth 4.0 USB Device"

Which results in:
Screen Shot 2016-06-20 at 2.28.06 PM.png


As far as the firmware upload failure, it is some sort of USB problem on your end... Maybe you made the mistake of installing Android File Transfer?

Note: No updates in the drivers for your device since the last time I updated (12.0.1.720)
 
The names come from the INF file in the official installer...

Code:
%BRCM20702.DeviceDesc%=RAMUSB21E8,          USB\VID_0A5C&PID_21E8       ; 20702A1 dongles
...
BRCM20702.DeviceDesc=                           "Broadcom BCM20702 Bluetooth 4.0 USB Device"

Which results in:
View attachment 200250

As far as the firmware upload failure, it is some sort of USB problem on your end... Maybe you made the mistake of installing Android File Transfer?

Note: No updates in the drivers for your device since the last time I updated (12.0.1.720)

Ok, thanks again. Saw your post and thought I'd give it a try. Previously I've been battling with my mini-pcie Brcm943602CD card and having no joy with handoff, so thought I'd swap back to separate entities and see if I could move any closer.

No, there's no Android File Transfer on system.

My BT dongle is on a USB 2.0 port is the only thing I can think of. The one next to keyboard and PS/2 etc.

Maybe the USB problem you mention is a quirk of my particular board. Or it did occur to me that perhaps Belkin used a fixed firmware.
 
Status
Not open for further replies.
Back
Top