Contribute
Register

BrcmPatchRAM - Upload firmware into Broadcom Bluetooth USB devices

Status
Not open for further replies.

RehabMan

Moderator
Joined
May 2, 2012
Messages
184,103
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Oh, my Airdrop finally worked, i guess handoff need more restriction, doesn't work now, but not a big problem. thanks your help.

RehabMan, there is one more little problem, maybe is not related to this topic, i googled it, did not have a good solution. my os is 10.11.1, my laptop is hp 9470m, i used prebook installer to post install drivers. everything works good. but when i inserted a USB 3.0 disk, there would be a kernel panic and then laptop reboot. so, is there any advice to be avoid this? thanks a lot.

sundd

USB is off-topic. Open a separate thread.
 
Joined
Jun 11, 2013
Messages
8
Motherboard
GA-Z87N-WiFi
CPU
i7-4790K CPU @4GHz
Graphics
EVGA 660Ti
Mac
  1. iMac
  2. MacBook Pro
Classic Mac
Mobile Phone
Ha! Of course, if there's only two ways to put a shirt on, I'd put mine on backwards!

So, do I understand the "Advanced users" section's instructions correctly that I can expect "best results" under Clover injection by using only BrcmFirmwareRepo.kext in /EFI - if I:

  1. Remove all the unnecessary firmwares from BrcmFirmwareRepo.kext/Contents/Resources, leaving only my device's firmware eg:
    1.png
  2. Replace the key/children in BrcmFirmwareRepo.kext/Contents/Info.plist>IOKitPersonalities>:
    • Delete the BrcmFirmwareRepo.kext/Contents/Info.plist >IOKitPersonalities>BrcmFirmwareStore key
    • Copy the applicable firmware PID_VID key/children from BrcmPatchRAM2.kext/Contents/Info.plist>IOKitPersonalities (eg: 0a5c_21fb)
    • Paste that key into BrcmFirmwareRepo.kext/Contents/Info.plist >IOKitPersonalities>BrcmFirmwareStore eg:
      2.png
  3. Remove the now unneeded injector BrcmPatchRAM2.kext from /EFI/EFI/CLOVER/kexts/10.11 ? (README says: "replace the IOKitPersonalities entry in BrcmFirmwareRepo.kext Info.plist with that of the injector kext (no need for the injector at that point)."

Doesn't quite seem correct - I don't want to fire off a defective kext! Thanks.
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
184,103
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Ha! Of course, if there's only two ways to put a shirt on, I'd put mine on backwards!

So, do I understand the "Advanced users" section's instructions correctly that I can expect "best results" under Clover injection by using only BrcmFirmwareRepo.kext in /EFI - if I:


[*]Remove all the unnecessary firmwares from BrcmFirmwareRepo.kext/Contents/Resources, leaving only my device's firmware eg:
View attachment 161913

No. Remove all of them. Files in Resources cannot be loaded when in EFI/Clover/kexts.

[*]Replace the key/children in BrcmFirmwareRepo.kext/Contents/Info.plist>IOKitPersonalities>:

Maybe. Not sure what you mean by key/children... The idea is to create a custom BrcmFirmwareRepo.kext that has the firmware in the Info.plist.

The personality for the device itself (that refers to the firmware name) BrcmPatchRAM2 is separate.
 
Joined
Jun 11, 2013
Messages
8
Motherboard
GA-Z87N-WiFi
CPU
i7-4790K CPU @4GHz
Graphics
EVGA 660Ti
Mac
  1. iMac
  2. MacBook Pro
Classic Mac
Mobile Phone
No. Remove all of them. Files in Resources cannot be loaded when in EFI/Clover/kexts.
Got it - removed the Resources folder with all the zhx's from the BrcmFirmwareRepo.kext

Maybe. Not sure what you mean by key/children... The idea is to create a custom BrcmFirmwareRepo.kext that has the firmware in the Info.plist.

The personality for the device itself (that refers to the firmware name) BrcmPatchRAM2 is separate.
Actually, I'd meant the edit to Info.plist to be like shown in that second screenshot of post #504 where "IOKitPersonalities" had "0a5c_21fb", which had the 8 strings (FirmwareKey, DisplayName, idProduct, etc). I'm assuming that you don't actually mean to literally imbed the firmware file (zhx/dmp) into the kext's Info.plist file itself... ?

[EDIT] Never mind, got it. Found the unique firmware folder on your github, used the sample Info.plist. All's good! Thanks again!
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
184,103
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
...
[EDIT] Never mind, got it. Found the unique firmware folder on your github, used the sample Info.plist. All's good! Thanks again!

Yes... we had hoped that it would be simpler, but unfortunately, there are flaws in Clover kext injection that prevent easy drag/drop.
 
Joined
Jun 11, 2013
Messages
8
Motherboard
GA-Z87N-WiFi
CPU
i7-4790K CPU @4GHz
Graphics
EVGA 660Ti
Mac
  1. iMac
  2. MacBook Pro
Classic Mac
Mobile Phone
Yes... we had hoped that it would be simpler, but unfortunately, there are flaws in Clover kext injection that prevent easy drag/drop.

Yeah, system.log has a bunch of unruly logged noise while booting and injecting from /EFI/Clover:

Code:
Nov 12 20:53:58 localhost kernel[0]: BrcmPatchRAM2: Version 2.2.2 starting on OS X Darwin 15.0.
Nov 12 20:54:00 localhost com.apple.kextd[43]: Can't open CFBundle for /EFI\CLOVER\kexts\10.11\BrcmFirmwareRepo.kext.
Nov 12 20:54:05 Hackintosh com.apple.kextd[43]: Can't open CFBundle for /EFI\CLOVER\kexts\10.11\BrcmFirmwareRepo.kext.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM: Retrieved firmware "0a5c_21fb_v5862" from internal configuration.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM: Decompressed firmware (30399 bytes --> 71248 bytes).
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM: Firmware is valid IntelHex firmware.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: USB [240A6403AAC1 v274] "BCM20702A0" by "Broadcom Corp"
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Firmware upgrade not needed.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Published new IOKit personality.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: Processing time 7.763 seconds.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: Version 2.2.2 starting on OS X Darwin 15.0.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: USB [240A6403AAC1 v274] "BCM20702A0" by "Broadcom Corp"
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Firmware upgrade not needed.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: Processing time 0.6 seconds.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: Version 2.2.2 starting on OS X Darwin 15.0.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: USB [240A6403AAC1 v274] "BCM20702A0" by "Broadcom Corp"
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Firmware upgrade not needed.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: Processing time 0.6 seconds.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: Version 2.2.2 starting on OS X Darwin 15.0.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: USB [240A6403AAC1 v274] "BCM20702A0" by "Broadcom Corp"
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Firmware upgrade not needed.
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Nov 12 20:54:05 Hackintosh kernel[0]: BrcmPatchRAM2: Processing time 0.5 seconds.

Where a /S/L/E based install install looks a little more orderly/behaved at boot:
Code:
Nov 12 21:05:36 localhost kernel[0]: BrcmPatchRAM2: Version 2.2.2 starting on OS X Darwin 15.0.Nov 12 21:05:36 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
Nov 12 21:05:36 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
Nov 12 21:05:42 Hackintosh kernel[0]: BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1502.1766_v5862.zhx" from resources.
Nov 12 21:05:42 Hackintosh kernel[0]: BrcmPatchRAM: Decompressed firmware (30399 bytes --> 71248 bytes).
Nov 12 21:05:42 Hackintosh kernel[0]: BrcmPatchRAM: Firmware is valid IntelHex firmware.
Nov 12 21:05:42 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: USB [240A6403AAC1 v274] "BCM20702A0" by "Broadcom Corp"
Nov 12 21:05:43 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Firmware upgrade completed successfully.
Nov 12 21:05:43 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Published new IOKit personality.
Nov 12 21:05:43 Hackintosh kernel[0]: BrcmPatchRAM2: Processing time 6.233 seconds.
Nov 12 21:05:43 Hackintosh kernel[0]: BrcmPatchRAM2: Version 2.2.2 starting on OS X Darwin 15.0.
Nov 12 21:05:43 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: USB [240A6403AAC1 v274] "BCM20702A0" by "Broadcom Corp"
Nov 12 21:05:43 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Firmware upgrade not needed.
Nov 12 21:05:43 Hackintosh kernel[0]: BrcmPatchRAM2: [0a5c:21fb]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Nov 12 21:05:43 Hackintosh kernel[0]: BrcmPatchRAM2: Processing time 0.26 seconds.

In the end, even though I prefer these hack kexts in /EFI/Clover (and I truly had a blast successfully building a customized injector/repo yesterday), I ended up putting them into /S/L/E, mostly based on your comments re: stability & efficiency.
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
184,103
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Yeah, system.log has a bunch of unruly logged noise while booting and injecting from /EFI/Clover:

Code:
Nov 12 20:53:58 localhost kernel[0]: BrcmPatchRAM2: Version 2.2.2 starting on OS X Darwin 15.0.
Nov 12 20:54:00 localhost com.apple.kextd[43]: Can't open CFBundle for /EFI\CLOVER\kexts\10.11\BrcmFirmwareRepo.kext.
Nov 12 20:54:05 Hackintosh com.apple.kextd[43]: Can't open CFBundle for /EFI\CLOVER\kexts\10.11\BrcmFirmwareRepo.kext.

^^^ You have something wrong...

Post EFI/Clover folder.
 
Joined
Jun 28, 2012
Messages
4
Motherboard
GA H77N wifi
CPU
i7-3770
Graphics
GTX 650
Mac
  1. MacBook Pro
Classic Mac
  1. Power Mac
Mobile Phone
  1. iOS
Dear RehabMan

Millions of thanks a lot for your help in making the bluetooth working on 10.11.1
I have a GA-H77N-WIFI and the built in works now fully (at least my apple keyboard is paired and works perfectly).
I used your BrcmPatchRAM2 and placed it in the Clover EFI partition.

Thanks a lot again, I don't need to plug any dongle.

All the best,
Boungeud
 
Status
Not open for further replies.
Top