Contribute
Register

BrcmPatchRAM - Upload firmware into Broadcom Bluetooth USB devices

Status
Not open for further replies.
Dear Rehabman,

i read all this pages and im still very confused about the single injection of driver that works from /clover/kexts

could you please give me a hint to the right direction?

i have a usb combo card running 10.11.3 and i only want to inject my driver:

Chipsatz: 20702A3
Firmware-Version: v14 c5565
Hersteller-ID: 0x0B05
Produkt-ID: 0x17CF

so this is what i did:
nr 1: i take BrcmPatchRAM2.kext and BrcmFirmwareRepo.kext.
nr 2: i remove all drivers inside brcmfrimwarerepo.kext from the ressources directory
nr 3: i change:

<key>IOProviderClass</key>
<string>disabled_IOResources</string>

to

<key>IOProviderClass</key>
<string>IOResources</string>

and finally replace the info.plist inside brcmfirmwarerepo.kext with the one found here
https://github.com/the-darkvoid/BrcmPatchRAM/tree/master/firmwares/0b05_17cf ?

can you please confirm ? Otherwise could you please kindly provide me a BrcmFirmwareRepo.kext and a BrcmPatchRAM2.kext that loads from CLover/kexts and only injects 0b05_17cf? Based on that i would write a general detailed instruction after investigating how you did it. i have read the Advanced user part again and again but i simply dont understand it =)

thanks in advance
 
Don't replace the Info.plist.

As is stated in the README, replace only the IOKitPersonalities section of the Info.plist (from injector kext to BrcmFirmwareRepo.kext)

that is exactly the part i dont understand could you provide a picture example for my device?
I think this is exactly the part what people are missing.
 
that is exactly the part i dont understand could you provide a picture example for my device?
I think this is exactly the part what people are missing.

Open the each respective plist in Xcode and you should be able to make sense of it.

If not, you probably shouldn't be editing Info.plist in the first place.
 
Open the each respective plist in Xcode and you should be able to make sense of it.

If not, you probably shouldn't be editing Info.plist in the first place.

Thank you Sir, i was using textmate all the time your hint with xcode helped me.
 
New BrcmPatchRAM build v2.2.3

Updated to Windows driver 12.0.1.750

Added support for:
0489:e0a1
0a5c:6417
0bb4:0306

Updated firmware for:
0489:e052
0930:021e
0a5c:21e1
0a5c:21e6
0a5c:21e8
0a5c:6410
0a5c:6413
0a5c:6414

https://github.com/RehabMan/OS-X-BrcmPatchRAM
 
I've been using BrcmPatchRAM2 and it works great on the initial boot, however I've noticed that there's a high probability after the laptop has been asleep for a while that when I wake it up the Bluetooth is no longer working ("Bluetooth: Not available"). Sometimes it works fine after waking, but I'd say 70% of the time it stops working.

Code:
nuudells :: ~ » grep -y brcmpatch /var/log/system.log                                           255 ↵
Feb 11 09:20:27 nuudells kernel[0]: BrcmPatchRAM2: Version 2.2.3 starting on OS X Darwin 15.3.
Feb 11 09:20:27 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: USB [24FD528DE699 v274] "BCM20702A0" by "Broadcom Corp"
Feb 11 09:20:32 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: readCompletion - Return aborted (0xe00002eb)
Feb 11 09:20:32 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Firmware upgrade failed.
Feb 11 09:20:32 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Feb 11 09:20:32 nuudells kernel[0]: BrcmPatchRAM2: Processing time 4.742 seconds.
Feb 11 09:20:32 nuudells kernel[0]: BrcmPatchRAM2: Version 2.2.3 starting on OS X Darwin 15.3.
Feb 11 09:20:32 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: USB [24FD528DE699 v274] "BCM20702A0" by "Broadcom Corp"
Feb 11 09:20:41 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: device request failed ("0xe00002eb (UNDEFINED)" 0xe00002eb).
Feb 11 09:20:41 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: continuousRead - Failed to queue read (0xe00002d8)

It still shows up in my System Information:

Code:
  Apple Bluetooth Software Version:	4.4.3f4 16616
  Hardware, Features, and Settings:
  Name:	MacBook Pro
  Bluetooth Low Energy Supported:	Yes
  Handoff Supported:	Yes
  Instant Hot Spot Supported:	Yes
  Manufacturer:	Broadcom
  Transport:	USB
  Chipset:	20702A3
  Firmware Version:	v14 c5859
  Bluetooth Power:	On
  Discoverable:	Off
  Connectable:	Yes
  Auto Seek Pointing:	Off
  Remote wake:	On
  Vendor ID:	0x0930
  Product ID:	0x0223
  HCI Version:	0x7
  HCI Revision:	0x16E3
  LMP Version:	0x7
  LMP Subversion:	0x220E
  Device Type (Major):	Computer
  Device Type (Complete):	Mac Portable
  Composite Class Of Device:	0x38010C
  Device Class (Major):	0x01
  Device Class (Minor):	0x03
  Service Class:	0x1C0
  Auto Seek Keyboard:	Off

What's the best approach to figuring out why the Bluetooth sometimes doesn't work upon wake up?
 
Another log from today. The first set of logs from 09:22 is a cold boot where things are working fine, then at 13:47 I woke the machine from sleep and Bluetooth was no longer working:

Code:
nuudells :: ~ » grep -y brcmpatch /var/log/system.log         
Feb 12 09:22:40 localhost kernel[0]: BrcmPatchRAM2: Version 2.2.3 starting on OS X Darwin 15.3.
Feb 12 09:22:40 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
Feb 12 09:22:40 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
Feb 12 09:22:44 nuudells kernel[0]: BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1502.1763_v5859.zhx" from resources.
Feb 12 09:22:44 nuudells kernel[0]: BrcmPatchRAM: Decompressed firmware (30323 bytes --> 71164 bytes).
Feb 12 09:22:44 nuudells kernel[0]: BrcmPatchRAM: Firmware is valid IntelHex firmware.
Feb 12 09:22:44 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: USB [24FD528DE699 v274] "BCM20702A0" by "Broadcom Corp"
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Firmware upgrade completed successfully.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Published new IOKit personality.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: Processing time 5.115 seconds.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: Version 2.2.3 starting on OS X Darwin 15.3.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: USB [24FD528DE699 v274] "BCM20702A0" by "Broadcom Corp"
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Firmware upgrade not needed.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: Processing time 0.24 seconds.
Feb 12 13:47:10 nuudells kernel[0]: BrcmPatchRAM2: Version 2.2.3 starting on OS X Darwin 15.3.
Feb 12 13:47:10 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: USB [24FD528DE699 v274] "BCM20702A0" by "Broadcom Corp"
Feb 12 13:47:19 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: device request failed ("0xe00002eb (UNDEFINED)" 0xe00002eb).
Feb 12 13:47:19 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: continuousRead - Failed to queue read (0xe00002d8)
 
Another log from today. The first set of logs from 09:22 is a cold boot where things are working fine, then at 13:47 I woke the machine from sleep and Bluetooth was no longer working:

Code:
nuudells :: ~ » grep -y brcmpatch /var/log/system.log         
Feb 12 09:22:40 localhost kernel[0]: BrcmPatchRAM2: Version 2.2.3 starting on OS X Darwin 15.3.
Feb 12 09:22:40 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
Feb 12 09:22:40 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
Feb 12 09:22:44 nuudells kernel[0]: BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1502.1763_v5859.zhx" from resources.
Feb 12 09:22:44 nuudells kernel[0]: BrcmPatchRAM: Decompressed firmware (30323 bytes --> 71164 bytes).
Feb 12 09:22:44 nuudells kernel[0]: BrcmPatchRAM: Firmware is valid IntelHex firmware.
Feb 12 09:22:44 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: USB [24FD528DE699 v274] "BCM20702A0" by "Broadcom Corp"
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Firmware upgrade completed successfully.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Published new IOKit personality.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: Processing time 5.115 seconds.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: Version 2.2.3 starting on OS X Darwin 15.3.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: USB [24FD528DE699 v274] "BCM20702A0" by "Broadcom Corp"
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Firmware upgrade not needed.
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Feb 12 09:22:45 nuudells kernel[0]: BrcmPatchRAM2: Processing time 0.24 seconds.
Feb 12 13:47:10 nuudells kernel[0]: BrcmPatchRAM2: Version 2.2.3 starting on OS X Darwin 15.3.
Feb 12 13:47:10 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: USB [24FD528DE699 v274] "BCM20702A0" by "Broadcom Corp"
Feb 12 13:47:19 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: device request failed ("0xe00002eb (UNDEFINED)" 0xe00002eb).
Feb 12 13:47:19 nuudells kernel[0]: BrcmPatchRAM2: [0930:0223]: continuousRead - Failed to queue read (0xe00002d8)

Post 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.
 
Status
Not open for further replies.
Back
Top