Code Monkey home page Code Monkey logo

os-x-brcmpatchram's People

Contributors

al3xtjames avatar jessevelden avatar rehabman avatar the-darkvoid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

os-x-brcmpatchram's Issues

The patch not working with Asus BT400

I installed BrcmPatchRAM2 and Repo kexts in SLE. When booting up, the kernel says device could not be opened.

2017-05-28 14:34:42.501049-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.
2017-05-28 14:34:42.501092-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: Unknown new Darwin version 16.6, using possible compatible personality.
2017-05-28 14:34:42.507231-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
2017-05-28 14:34:42.541142-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
2017-05-28 14:34:42.773548-0400 localhost kernel[0]: (BrcmFirmwareRepo) <BrcmFirmwareRepoBrcmFirmwareStore::loadFirmwareFile(char const*, char const*)> BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1443.1467_v5563.zhx" from resources. 2017-05-28 14:34:42.779565-0400 localhost kernel[0]: (BrcmFirmwareRepo) <BrcmFirmwareRepoBrcmFirmwareStore::loadFirmware(unsigned short, unsigned short, OSString*)> BrcmPatchRAM: Decompressed firmware (29636 bytes --> 69852 bytes).
2017-05-28 14:34:42.785052-0400 localhost kernel[0]: (BrcmFirmwareRepo) <BrcmFirmwareRepo`BrcmFirmwareStore::loadFirmware(unsigned short, unsigned short, OSString*)> BrcmPatchRAM: Firmware is valid IntelHex firmware.
2017-05-28 14:34:42.789595-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: uploadFirmware could not open the device!
2017-05-28 14:34:42.796156-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: [0b05:17cb]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2017-05-28 14:34:42.802296-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 0.301 seconds.
2017-05-28 14:34:42.809565-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.6.
2017-05-28 14:34:42.814424-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: uploadFirmware could not open the device!
2017-05-28 14:34:42.821327-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: [0b05:17cb]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2017-05-28 14:34:42.827625-0400 localhost kernel[0]: (kernel) BrcmPatchRAM2: Processing time 0.13 seconds.

Device Dell Dw1830 working

Following device seems to work:

2017-12-08 06:33:24.568896+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM: Loaded compressed embedded firmware for key "BCM20703A1_001.001.005.0214.0422_v4518".
2017-12-08 06:33:24.569378+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM: Decompressed firmware (43444 bytes --> 109080 bytes).
2017-12-08 06:33:24.569956+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM: Firmware is valid IntelHex firmware.
2017-12-08 06:33:24.569980+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM2: [0a5c:6410]: USB [441CA8E29AC4 v274] "BCM2045A0" by "Broadcom Corp"
2017-12-08 06:33:25.366037+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM2: [0a5c:6410]: Firmware upgrade completed successfully.
2017-12-08 06:33:25.368435+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM2: [0a5c:6410]: Published new IOKit personality.
2017-12-08 06:33:25.370506+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM2: Processing time 9.384 seconds.
2017-12-08 06:33:25.373846+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 17.2.
2017-12-08 06:33:25.373872+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM2: [0a5c:6410]: USB [441CA8E29AC4 v274] "BCM2045A0" by "Broadcom Corp"
2017-12-08 06:33:25.377043+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM2: [0a5c:6410]: Firmware upgrade not needed.
2017-12-08 06:33:25.380188+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM2: [0a5c:6410]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2017-12-08 06:33:25.380193+0100 0x1a1 Default 0x0 0 0 kernel: (kernel) BrcmPatchRAM2: Processing time 0.6 seconds.

Instructions for Macs

Please move the paragraph about SIP before the first terminal command. I was not able to modify the NVRAM boot-args until I'd disabled SIP.

BrcmPatchRAM2 crash during startup (Dell 1820A: VendorID=0A5C, ProductID=6412)

  • OS X Version: 10.11.4
  • Device product ID: 6412
  • Device vendor ID: 0A5C
  • BrcmPatchRAM2 version used: 2.2.3

Both BrcmPatchRAM2.kext and BrcmFirmwareData.kext injected by Clover injection.

BrcmPatchRAM2 shows endless loop:

Apr  3 19:53:35 lightingdeMacBook-Pro kernel[0]: BrcmPatchRAM2: [0a5c:6412]: device request failed ("0xe00002ed (UNDEFINED)" 0xe00002ed).
Apr  3 19:53:35 lightingdeMacBook-Pro kernel[0]: BrcmPatchRAM2: [0a5c:6412]: Not responding - Delaying next read.

I cannot boot into the OS X. Sometimes the BrcmPatchRAM2.kext & BrcmFirmwareData.kext work to power up the bluetooth, but most of the time it fails.

Any other information have to be submitted?

BCM43224 Wi-fi keeps disconnecting over and over when BrcmPatchRAM2 is loaded

it doesn't matter if I put it in clover or /l/e or /s/l/e, it always does this:

wifi keeps going off then on, you can see it doing in in the networks preferences. if I remove the patchram2 kext then all is well.

the wifi is a BCM43224
the BT is BCM20702A0

not sure why this kext would keep toggling the wifi on and off, happy to try any suggestions if you have any.

Help,BCM943602cs Not Work, support? 0A5C:21FF

Hey, my card is BCM943602cs PCI-E, now WiFi is OK.
but bluetooth did not work fine.
I found that, if I start windows 10 ,and turn-on BT ,then restart to MAC,
the BT work! If power off the power, BT is gone.

Another, the BT work time, the idProducr is 0x8290, else is 0x21FF,
this is so puzz me!
can I use this kext to fix my BT ??

thanks!

BRCM 6410 Working After Installing BrcmPatchRAM2 to /S/L/E

Just thought I'd let you know that I can confirm that the following is working on 10.13.6 using BrcmPatchRAM2 and BrcmFirmwareRepo.

Product ID: 0x6410
Vendor ID: 0x0a5c

I couldn't get it to work until I installed BrcmPatchRAM2 to /System/Library/Extensions. Injecting with Clover did not work. I have BrcmFirmwareRepo installed to /Library/Extensions.

BrcmPatchRAM crash during startup

Problem is happening in BrcmPatchRAM::publishFirmwareStorePersonality()

Thu Jul 30 13:13:31 2015

*** Panic Report ***
panic(cpu 0 caller 0xffffff8000417cc2): Kernel trap at 0xffffff7f829613bf, type 13=general protection, registers:
CR0: 0x000000008001003b, CR2: 0x000000010bb0d000, CR3: 0x000000000408d000, CR4: 0x00000000001626e0
RAX: 0xffffff801e80b2c0, RBX: 0xffffff801e700200, RCX: 0x0000000000000001, RDX: 0x7fffffffffffffff
RSP: 0xffffff81defd3e10, RBP: 0xffffff81defd3e40, RSI: 0x0000000000000000, RDI: 0xffffff801e80b280
R8:  0x0000000000002233, R9:  0x0000000000000002, R10: 0x000000000000005d, R11: 0x0000000000000000
R12: 0xffffff801e93aa40, R13: 0xffffff8000b14568, R14: 0xffffff801e99b0c0, R15: 0xffffff801e80b280
RFL: 0x0000000000010246, RIP: 0xffffff7f829613bf, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x000000010bb0d000, Error code: 0x0000000000000000, Fault CPU: 0x0

Backtrace (CPU 0), Frame : Return Address
0xffffff81bef3fc70 : 0xffffff800032bda1 
0xffffff81bef3fcf0 : 0xffffff8000417cc2 
0xffffff81bef3feb0 : 0xffffff8000434b73 
0xffffff81bef3fed0 : 0xffffff7f829613bf 
0xffffff81defd3e40 : 0xffffff7f8295ff9e 
0xffffff81defd3e60 : 0xffffff7f8295fe77 
0xffffff81defd3eb0 : 0xffffff80008b38cf 
0xffffff81defd3f30 : 0xffffff80008ae993 
0xffffff81defd3f70 : 0xffffff80008b4883 
0xffffff81defd3fb0 : 0xffffff80004125b7 
      Kernel Extensions in backtrace:
         com.no-one.BrcmPatchRAM(1.7.3)[56552FB6-16A0-353E-B536-093276D588A6]@0xffffff7f8295e000->0xffffff7f82968fff
            dependency: com.apple.iokit.IOUSBFamily(720.4.4)[2A7D7E5E-EEDA-3BF7-B302-0727DCABA6F9]@0xffffff7f8103b000

BSD process name corresponding to current thread: kernel_task
Boot args: kext-dev-mode=1 rootless=0 dart=0 slide=0 

Mac OS version:
14E46

Kernel version:
Darwin Kernel Version 14.4.0: Thu May 28 11:35:04 PDT 2015; root:xnu-2782.30.5~1/RELEASE_X86_64
Kernel UUID: E3C26B2F-8B97-3F1D-B193-690F7E34F830
__HIB  text base: 0xffffff8000100000
System model name: MacBookPro9,2 (Mac-6F01561E16C75D06)

System uptime in nanoseconds: 701057515727
last loaded kext at 701009354118: com.no-one.BrcmPatchRAM   1.7.3 (addr 0xffffff7f8295e000, size 45056)
last unloaded kext at 326449299256: com.apple.filesystems.msdosfs   1.10 (addr 0xffffff7f8295a000, size 61440)
loaded kexts:
com.no-one.BrcmPatchRAM 1.7.3
com.darwin.driver.ACPIBacklight 3.0.0d1
com.insanelymac.RealtekRTL8111  1.2.3
com.jmicron.driver.JMB38X   1.5.0
org.rehabman.voodoo.driver.PS2Trackpad  1.8.15
org.rehabman.voodoo.driver.PS2Keyboard  1.8.15
org.rehabman.driver.FakePCIID   1.2.0
org.hwsensors.driver.ACPISensors    1655
org.rehabman.voodoo.driver.PS2Controller    1.8.15
org.hwsensors.driver.CPUSensors 1655
org.rehabman.driver.AppleSmartBatteryManager    1.55
org.netkas.driver.FakeSMC   1655
com.apple.driver.AppleUSBCDC    4.3.3b1
com.apple.driver.AudioAUUC  1.70
com.apple.driver.AGPM   110.19.6
com.apple.driver.X86PlatformShim    1.0.0
com.apple.filesystems.autofs    3.0
com.apple.driver.AppleUpstreamUserClient    3.6.1
com.apple.driver.AppleHDA   999.69fc1
com.apple.driver.AppleOSXWatchdog   1
com.apple.iokit.IOUserEthernet  1.0.1
com.apple.driver.AppleIntelHD4000Graphics   10.0.6
com.apple.driver.AppleLPC   1.7.3
com.apple.driver.AppleSMCPDRC   1.0.0
com.apple.driver.AppleMCCSControl   1.2.12
com.apple.driver.AppleIntelFramebufferCapri 10.0.6
com.apple.iokit.IOBluetoothSerialManager    4.3.5f8
com.apple.Dont_Steal_Mac_OS_X   7.0.0
com.apple.driver.AppleHWAccess  1
com.apple.driver.AppleHV    1
com.apple.driver.AppleIntelSlowAdaptiveClocking 4.0.0
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0
com.apple.BootCache 36
com.apple.iokit.SCSITaskUserClient  3.7.5
com.apple.driver.XsanFilter 404
com.apple.driver.AppleUSBHub    705.4.2
com.apple.iokit.IOAHCIBlockStorage  2.7.1
com.apple.driver.AirPort.Brcm4360   930.37.3
com.apple.driver.AppleUSBEHCI   705.4.14
com.apple.driver.AppleUSBXHCI   710.4.11
com.apple.driver.AppleAHCIPort  3.1.2
com.apple.driver.AppleACPIButtons   3.1
com.apple.driver.AppleHPET  1.8
com.apple.driver.AppleRTC   2.0
com.apple.driver.AppleACPIEC    3.1
com.apple.driver.AppleSMBIOS    2.1
com.apple.driver.AppleAPIC  1.7
com.apple.driver.AppleIntelCPUPowerManagementClient 218.0.0
com.apple.nke.applicationfirewall   161
com.apple.security.quarantine   3
com.apple.security.TMSafetyNet  8
com.apple.driver.AppleIntelCPUPowerManagement   218.0.0
com.apple.kext.triggers 1.0
com.apple.driver.DspFuncLib 272.18.1
com.apple.kext.OSvKernDSPLib    1.15
com.apple.iokit.IOSurface   97.4
com.apple.iokit.IOUSBHIDDriver  705.4.0
com.apple.driver.X86PlatformPlugin  1.0.0
com.apple.driver.IOPlatformPluginFamily 5.9.1d7
com.apple.driver.AppleSMBusController   1.0.13d1
com.apple.driver.AppleHDAController 272.18.1
com.apple.iokit.IOHDAFamily 272.18.1
com.apple.iokit.IOAudioFamily   203.3
com.apple.vecLib.kext   1.2.0
com.apple.iokit.IOUSBUserClient 705.4.0
com.apple.iokit.IONDRVSupport   2.4.1
com.apple.iokit.IOAcceleratorFamily2    156.16
com.apple.AppleGraphicsDeviceControl    3.10.24
com.apple.iokit.IOGraphicsFamily    2.4.1
com.apple.iokit.IOSerialFamily  11
com.apple.iokit.IOBluetoothFamily   4.3.5f8
com.apple.driver.AppleSMC   3.1.9
com.apple.iokit.IOSlowAdaptiveClockingFamily    1.0.0
com.apple.driver.AppleUSBComposite  705.4.9
com.apple.iokit.IOSCSIMultimediaCommandsDevice  3.7.5
com.apple.iokit.IOBDStorageFamily   1.7
com.apple.iokit.IODVDStorageFamily  1.7.1
com.apple.iokit.IOCDStorageFamily   1.7.1
com.apple.iokit.IOAHCISerialATAPI   2.6.1
com.apple.iokit.IOSCSIArchitectureModelFamily   3.7.5
com.apple.iokit.IO80211Family   730.60
com.apple.driver.mDNSOffloadUserClient  1.0.1b8
com.apple.iokit.IONetworkingFamily  3.2
com.apple.iokit.IOUSBFamily 720.4.4
com.apple.iokit.IOAHCIFamily    2.7.5
com.apple.driver.AppleEFINVRAM  2.0
com.apple.driver.AppleEFIRuntime    2.0
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.iokit.IOSMBusFamily   1.1
com.apple.security.sandbox  300.0
com.apple.kext.AppleMatch   1.0.0d1
com.apple.driver.AppleKeyStore  2
com.apple.driver.AppleMobileFileIntegrity   1.0.5
com.apple.driver.AppleCredentialManager 1.0
com.apple.driver.DiskImages 397
com.apple.iokit.IOStorageFamily 2.0
com.apple.iokit.IOReportFamily  31
com.apple.driver.AppleFDEKeyStore   28.30
com.apple.driver.AppleACPIPlatform  3.1
com.apple.iokit.IOPCIFamily 2.9
com.apple.iokit.IOACPIFamily    1.4
com.apple.kec.Libm  1
com.apple.kec.pthread   1
com.apple.kec.corecrypto    1.0
Model: MacBookPro9,2, BootROM MBP91.00D3.B08, 2 processors, Intel Core i5, 2.59 GHz, 16 GB, SMC 2.2f44
Graphics: Intel HD Graphics 4000, Intel HD Graphics 4000, Built-In
Memory Module: BANK0/DIMM0, 8 GB, DDR3, 1600 MHz, Kingston, 9905428-200.A00LF
Memory Module: BANK1/DIMM0, 8 GB, DDR3, 1600 MHz, Kingston, 99U5428-078.A00LF
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x2123), Broadcom BCM43xx 1.0 (7.15.166.24.3)
Serial ATA Device: TOSHIBA MQ01ABD100, 1 TB
Serial ATA Device: hp      DVD RAM UJ8E0
USB Device: Hub
USB Device: Hub
USB Device: USB Receiver
USB Device: Vendor-Specific Device
USB Device: HP HD Webcam [Fixed]
Thunderbolt Bus: 

Intermittently no bluetooth after wake from sleep

In some cases, the system doesn't tear down the USB tree on wake from sleep and as a result BrcmPatchRAM is not re-probed. This means the firmware is never loaded and the native personality for Broadcom bluetooth is never registered.

Result: no bluetooth after sleep.

Will try uploading firmware on power state change...

Possibility to connect to more then one device

Hi

Thanks you so much for the software.
I bought a Microsoft Sculpt Ergonomic Keyboard (Bluetooth 4.0) and a external Trackpad but my Macbook Pro (early 2011 / HIgh Sierra - Bluetooth 2.0) couldn't connect to the keyboard, so I bought a Asus USB-400 and I can't seem to be able to use both devices at the same time. Is it impossible by design, or do you think there is something I can do, perhaps buying another USB dongle?

Thanks,
Jorge,

Not working on 10.13?

I have a [0x0a5c:0x21ec] version 1.12, model ORICO BTA-408. It's probably the same chipset as used here, which was verified to be working on El Capitan.

On 10.13 (17A365) I tried:

  1. The Clover kext injection method with BrcmPatchRAM2.kext and BrcmFirmwareData.kext.
  2. The S/L/E method with BrcmPatchRAM2.kext and BrcmFirmwareRepo.kext.

The first method made my system unstable. The second method resulted in the USB dongle LED lighting up (firmware loaded?!) but it then disabled all USB ports on the machine. The machine could only be used via remote SSH or Screen Sharing.

Here's a grep for Brcm-related logs from the second run:

2017-09-28 14:29:58.543164    kernel: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 17.0.
2017-09-28 14:29:58.543168    kernel: (kernel) BrcmPatchRAM2: Unknown new Darwin version 17.0, using possible compatible personality.
2017-09-28 14:29:58.545388    kernel: (kernel) BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
2017-09-28 14:29:58.548066    kernel: (kernel) BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
2017-09-28 14:29:58.621576    kernel: (BrcmFirmwareRepo) BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1443.1460_v5556.zhx" from resources.
2017-09-28 14:29:58.622036    kernel: (BrcmFirmwareRepo) BrcmPatchRAM: Decompressed firmware (29555 bytes --> 69721 bytes).
2017-09-28 14:29:58.622438    kernel: (BrcmFirmwareRepo) BrcmPatchRAM: Firmware is valid IntelHex firmware.
2017-09-28 14:29:58.622466    kernel: (kernel) BrcmPatchRAM2: [0a5c:21ec]: USB [0019860006AC v274] "BCM20702A0" by "Broadcom Corp"
2017-09-28 14:31:13.231372    kernel: Can't unload kext com.no-one.BrcmPatchRAM2; classes have instances:
2017-09-28 14:31:13.231378    kernel:     Kext com.no-one.BrcmPatchRAM2 class BrcmPatchRAM2 has 1 instance.
2017-09-28 14:31:26.221194    kernel: Can't remove kext com.no-one.BrcmFirmwareStore; services failed to terminate - 0xdc008018.
2017-09-28 14:32:47.725696    kernel: (kernel) BrcmPatchRAM2: [0a5c:21ec]: Failed to write to bulk pipe ("0xe00002eb (UNDEFINED)" 0xe00002eb).
2017-09-28 14:32:47.725711    kernel: (kernel) BrcmPatchRAM2: [0a5c:21ec]: continuousRead - Failed to queue read (0xe00002d8)

Cannot to boot into RecoveryHD or macOS Installer

I'm using Lenovo K29, running macOS High Sierra with BCM94352 card.
I cannot boot into RecoveryHD(10.13) and nor can I boot into macOS High Sierra Installer.
The last screen in verbose boot log keeps flushing these words:

BrcmPatchRAM: Loaded compressed embedded firmware for key "BCM20702A1_001.002.014.1443.1493_v5589".
BrcmPatchRAM: Decompressed firmware (28711 bytes --> 70105 bytes).
BrcmPatchRAM: Firmware is valid IntelHex firmware.
BrcmPatchRAM2: [04ca:200b]: USB [3010B3A2F4FA v274] "BCM20702A0" by "Broadcom Corp"
BrcmPatchRAM2: [04ca:200b]: Firmware upgrade not needed.
BrcmPatchRAM2: [04ca:200b]: Published new IOKit personality.
BrcmPatchRAM2: Processing time 122.465 seconds.
BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 17.0.
BrcmPatchRAM2: [04ca:200b]: USB [3010B3A2F4FA v274] "BCM20702A0" by "Broadcom Corp"
BrcmPatchRAM2: [04ca:200b]: Firmware upgrade not needed.
BrcmPatchRAM2: [04ca:200b]: Published new IOKit personality.
BrcmPatchRAM2: Processing time 0.34 seconds.
BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 17.0.
BrcmPatchRAM2: [04ca:200b]: USB [3010B3A2F4FA v274] "BCM20702A0" by "Broadcom Corp"
BrcmPatchRAM2: [04ca:200b]: Firmware upgrade not needed.
BrcmPatchRAM2: [04ca:200b]: Published new IOKit personality.
BrcmPatchRAM2: Processing time 0.32 seconds.
BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 17.0.
BrcmPatchRAM2: [04ca:200b]: USB [3010B3A2F4FA v274] "BCM20702A0" by "Broadcom Corp"
BrcmPatchRAM2: [04ca:200b]: Firmware upgrade not needed.
BrcmPatchRAM2: [04ca:200b]: Published new IOKit personality.
BrcmPatchRAM2: Processing time 0.29 seconds.
BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 17.0.
BrcmPatchRAM2: [04ca:200b]: USB [3010B3A2F4FA v274] "BCM20702A0" by "Broadcom Corp"
BrcmPatchRAM2: [04ca:200b]: Firmware upgrade not needed.
BrcmPatchRAM2: [04ca:200b]: Published new IOKit personality.
BrcmPatchRAM2: Processing time 0.29 seconds.
BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 17.0.
......(These five lines loops forever)

On the other hand, booting into macOS is OK. This problem only occurs on RecoveryHD and macOS Installer.

Here's my brief configuration:(Detailed configurations are in the attachment)
ConfigurationAndClover.zip

i5 3210M
HD4000 ig-platform-id 0x01660003
Wifi: 14e4:43b1
Bluetooth: 04ca:200b (BCM20702a0)

Clover version 4259
BrcmNonPatchRAM2.kext
BrcmPatchRAM2.kext
BrcmFirmwareData.kext

BrcmPatchRAM2 fails when in Clover/kexts

I don't use it from Clover/kexts, but...

This is the situation:

  • BrcmPatchRAM2 loads (along with BrcmFirmwareData) via injection at boot
  • it loads firmware, all is fine... probe/exit
  • because BrcmPatchRAM2 is not resident (unlike BrcmPatchRAM.kext), the kernel will eventually unload it
  • now sleep happens, then wake
  • firmware needs to be loaded.
  • the IOKit personality is present in the io catalog, but the kext is gone from memory
  • the kernel tries to load it, but guess what... it can't find it (it doesn't know to look on EFI partition!)

Result: failure of BT on wake

This results from the separation of BrcmFirmwareStore from BrcmPatchRAM2 objects. When they were one kext, BrcmFirmwareStore would keep BrcmPatchRAM2 loaded.

The fix would be to have a small object staying resident in BrcmPatchRAM2.kext (under IOResource). That way the kext will stay loaded and will be available upon wake from sleep.

BrcmPatch for Bluetooth not working on 10.13.6

Hello there!

I just moved to 13.6 from a stable 13.5 on a Asus Z370G WiFi AC and the bluetooth has stoped working. I have a DW1560 which uses a BCM94352Z through a ngff M.2 on the board and so far since 10.13.3 I had no issues. At first I thought it might be the new USB port patch, which I added the new one, with no luck.

I have gone back to 13.5 on another identical build and bluetooth is back on. How could we solve this issue?

I attach two ioreg, one with 13.5 and another with 13.6
Archive 2.zip

Issues with Sleep - Long BT Initialization / Broken BT

I'm having some issues with this patch and bluetooth not initializing correctly/quickly after sleep. At first, I thought it wouldn't load at all but it appears it does, but after a very long time. Here's a look at my log from the last time I booted this machine:

Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1443.1572_v5668.zhx" from resources.
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM: Decompressed firmware (29651 bytes --> 70012 bytes).
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM: Firmware is valid IntelHex firmware.
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: USB [C48E8FF8AA1A v274] "BCM20702A0" by "Broadcom Corp"
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: Firmware upgrade completed successfully.
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: Published new IOKit personality.
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM2: Processing time 2.77 seconds.
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 15.6.
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: USB [C48E8FF8AA1A v274] "BCM20702A0" by "Broadcom Corp"
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: Firmware upgrade not needed.
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Nov 10 06:22:54 Josh-Lenovo kernel[0]: BrcmPatchRAM2: Processing time 0.19 seconds.
Nov 10 13:36:02 Josh-Lenovo kernel[0]: BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 15.6.
Nov 10 13:36:02 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: USB [C48E8FF8AA1A v274] "BCM20702A0" by "Broadcom Corp"
Nov 10 13:39:02 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: Firmware upgrade completed successfully.
Nov 10 13:39:02 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Nov 10 13:39:02 Josh-Lenovo kernel[0]: BrcmPatchRAM2: Processing time 180.75 seconds.

As you can see, the last load (i.e. wake from sleep) took over 3 minutes to complete. Is this normal behavior?

EDIT: Forgot to mention I'm using the latest version of the kexts running on 10.11.6. It's a Lenovo T440s machine.

EDIT 2: Here's another instance when it failed completely after wake from sleep:

Nov 10 15:56:13 Josh-Lenovo kernel[0]: BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 15.6.
Nov 10 15:56:13 Josh-Lenovo kernel[0]: BrcmPatchRAM2: uploadFirmware could not open the device!
Nov 10 15:56:13 Josh-Lenovo kernel[0]: BrcmPatchRAM2: [0a5c:216f]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Nov 10 15:56:13 Josh-Lenovo kernel[0]: BrcmPatchRAM2: Processing time 0.1 seconds.

is this a brcmpatchram issue?

2018-02-22 19:42:03.110203+0000 0x338 Default 0x0 0 kernel: (BrcmPatchRAM2) BrcmPatchRAM2: [0489:e07a]: Firmware upgrade completed successfully.
2018-02-22 19:42:03.110270+0000 0x317 Default 0x8000000000000224 134 trustd: [com.apple.securityd.policy] cert[2]: AnchorTrusted =(leaf)[force]> 0
2018-02-22 19:42:03.111012+0000 0x317 Default 0x8000000000000224 134 trustd: [com.apple.securityd.rvc] asynchronously fetching CRL (http://crl.apple.com/codesigning.crl) for client (kextd[40])
2018-02-22 19:42:03.111412+0000 0x317 Default 0x8000000000000224 134 trustd: [com.apple.securityd.rvc] asynchronously fetching CRL (http://www.apple.com/appleca/root.crl) for client (kextd[40])
2018-02-22 19:42:03.112377+0000 0x338 Default 0x0 0 kernel: (BrcmPatchRAM2) BrcmPatchRAM2: [0489:e07a]: Published new IOKit personality.
2018-02-22 19:42:03.114285+0000 0x338 Default 0x0 0 kernel: (BrcmPatchRAM2) BrcmPatchRAM2: Processing time 0.655 seconds.
2018-02-22 19:42:03.117935+0000 0x44d Default 0x0 0 kernel: (VoodooI2CHID) VoodooI2CPrecisionTouchpadHIDEventDriver::ELAN1200 Putting device into Precision Touchpad Mode
2018-02-22 19:42:03.118334+0000 0x44d Default 0x0 0 kernel: (IOHIDFamily) HID: Legacy shim 2
2018-02-22 19:42:03.119313+0000 0x44d Default 0x0 0 kernel: (VoodooI2CServices) class: IOHIDInterface
2018-02-22 19:42:03.119385+0000 0x338 Default 0x0 0 kernel: (BrcmPatchRAM2) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 16.7.
2018-02-22 19:42:03.119432+0000 0x338 Default 0x0 0 kernel: (BrcmPatchRAM2) BrcmPatchRAM2: [0489:e07a]: USB [48E244E222E2 v274] "BCM20702A0" by "Broadcom Corp"
2018-02-22 19:42:03.119954+0000 0x458 Default 0x0 0 kernel: (VoodooI2CServices) class: VoodooI2CPrecisionTouchpadHIDEventDriver
2018-02-22 19:42:03.121477+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121514+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121538+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121552+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121564+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121570+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121577+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121585+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121679+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121736+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121744+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121752+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121859+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121868+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121892+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121950+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121954+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121992+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.121997+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122002+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122012+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122026+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122041+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122047+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122077+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122144+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122148+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122181+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122261+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.122284+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123620+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123649+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123671+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123686+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123697+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123702+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123706+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123715+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123828+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123909+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123921+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.123932+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124081+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124093+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124126+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124197+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124204+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124252+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124259+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124265+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124274+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124286+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124298+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124330+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124382+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124491+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124498+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124542+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124595+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.124608+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125732+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125758+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125773+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125784+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125795+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125799+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125804+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125812+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125889+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125955+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125966+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.125977+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126132+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126144+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126179+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126251+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126260+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126306+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126315+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126321+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126329+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126341+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126355+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126362+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126396+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126473+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126481+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126527+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126582+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.126595+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.127817+0000 0x7f Default 0x0 0 kernel: NTFS-fs warning (device /dev/disk0s2, pid 156): ntfs_boot_sector_is_valid(): Invalid boot sector checksum.
2018-02-22 19:42:03.127818+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.127863+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.127893+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.127905+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.127917+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.127921+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.127926+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.127947+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128060+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128155+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128182+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128193+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128351+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128364+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128409+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128489+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128498+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128542+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128548+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128556+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128563+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128595+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128623+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128630+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128667+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128788+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128795+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128845+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128917+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.128948+0000 0x7f Default 0x0 0 kernel: AppleUSBInterface: family specific matching fails
2018-02-22 19:42:03.131123+0000 0x3d0 Default 0x0 0 kernel: (ntfs) NTFS volume name DATA, version 3.1.
2018-02-22 19:42:03.131321+0000 0x338 Default 0x0 0 kernel: (BrcmPatchRAM2) BrcmPatchRAM2: [0489:e07a]: Firmware upgrade not needed.
2018-02-22 19:42:03.133849+0000 0x338 Default 0x0 0 kernel: (BrcmPatchRAM2) BrcmPatchRAM2: [0489:e07a]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2018-02-22 19:42:03.133866+0000 0x338 Default 0x0 0 kernel: (BrcmPatchRAM2) BrcmPatchRAM2: Processing time 0.14 seconds.

info.plist entry for new firmware

Hi,

I trie to load a new firmware with the kext. I already extracted hex and stuff.
As far as I understand, if have to create a new entry in the Info.plist of the BrcmPatchRAM2.kext
The entry should look like this?

<key>0489_e032</key>
<dict>
	<key>CFBundleIdentifier</key>
	<string>com.no-one.BrcmPatchRAM2</string>
	<key>DisplayName</key>
	<string>Broadcom Bluetooth 4.0 USB</string>
	<key>FirmwareKey</key>
	<string>BCM20702A1_001.002.014.1443.1485_v5581</string>
	<key>IOClass</key>
	<string>BrcmPatchRAM2</string>
	<key>IOMatchCategory</key>
	<string>BrcmPatchRAM2</string>
	<key>IOProviderClass</key>
	<string>IOUSBHostDevice</string>
	<key>idProduct</key>
	<integer>57394</integer>
	<key>idVendor</key>
	<integer>1161</integer>
</dict>

I have to replace DisplayName, FirmwareKey (should correspond with the hex file), idProduct, idVendor and the primary key (I got from my device). Honestly I have no idea what idProduct and idVendor are because it's not the PCIIDs?

After that the the zhx file should be placed under Ressources of the BrcmFirmwareRepo.kext?

Is that correct?

best regards,
spigandromeda

Unpublish/re-publish broken for non-PatchRAM devices

A fix to make the BrcmFirmwareStore object not load has broken the publish/unpublish for non patchRAM devices.

This makes bluetooth init after sleep slow, and causes interference with other USB devices for about 10 seconds after sleep.

BCM4352

Hi
I have the BCM4352 WIFI AC + BT 4.0 card installed in an Acer V5 laptop. On Windows the BT is working, but on Mac (El Capitan and Yosemite), the Bluetooth can't connect or find my devices. Sometimes my Android phone is found and connected, and one moment I could transfer a file, but my Microsoft Sculpt Comfort BT mouse can't connect (sometimes it's found). My Bluetooth earbuds and speaker are not even found. Wifi 5GHz is working perfect.

dependency 'com.no-one.BrcmFirmwareStore' not found

Getting these when following the Mac OS X native (Mac Pro Mid 2010) instructions of just installing BrcmPatchRAM2.kext to /S/L/E/:

May 14 23:29:08 hostname com.apple.kextcache[4280]: BrcmPatchRAM2.kext - dependency 'com.no-one.BrcmFirmwareStore' not found.
May 14 23:29:08 hostname com.apple.kextcache[4280]: BrcmPatchRAM2.kext is missing dependencies (including anyway; dependencies may be available from elsewhere)
May 14 23:29:08 hostname com.apple.kextcache[4280]: kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmPatchRAM2.kext
May 14 23:29:32 hostname com.apple.kextcache[4280]: BrcmPatchRAM2.kext - dependency 'com.no-one.BrcmFirmwareStore' not found.
May 14 23:29:40 hostname com.apple.kextcache[4280]: BrcmPatchRAM2.kext - dependency 'com.no-one.BrcmFirmwareStore' not found.
May 14 23:29:40 hostname com.apple.kextcache[4280]: Prelink failed for com.no-one.BrcmPatchRAM2; omitting from prelinked kernel.
May 14 23:32:03 localhost com.apple.kextd[63]: kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/BrcmPatchRAM2.kext"
May 14 23:32:03 localhost com.apple.kextd[63]: /System/Library/Extensions/BrcmPatchRAM2.kext - dependency 'com.no-one.BrcmFirmwareStore' not found.
May 14 23:32:03 localhost com.apple.kextd[63]: /System/Library/Extensions/BrcmPatchRAM2.kext - dependency 'com.no-one.BrcmFirmwareStore' not found.
May 14 23:32:03 localhost com.apple.kextd[63]: Can't load /System/Library/Extensions/BrcmPatchRAM2.kext - failed to resolve dependencies.
May 14 23:32:03 localhost com.apple.kextd[63]: Load com.no-one.BrcmPatchRAM2 failed; removing personalities from kernel.

Same problem as in "BrcmPatchRAM2 fails when in Clover/kexts"?

Hi RehabMan,

first I would like to thank you for BrcmPatchRAM. Bluetooth on my Asus G750JM seems to work but I detected some a message in /var/log/system. The firmware is updated (no "4096").

cat /var/log/system.log | grep -i brcm[fp]

Jul 7 17:33:34 localhost kernel[0]: BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 15.5.
Jul 7 17:33:34 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
Jul 7 17:33:34 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
Jul 7 17:33:37 Michaels-MacBook-Pro com.apple.kextd[46]: Can't open CFBundle for /EFI\CLOVER\kexts\10.11\BrcmFirmwareData.kext.
Jul 7 17:33:37 Michaels-MacBook-Pro com.apple.kextd[46]: Can't open CFBundle for /EFI\CLOVER\kexts\10.11\BrcmFirmwareData.kext.
Jul 7 17:33:37 Michaels-MacBook-Pro com.apple.kextd[46]: Can't open CFBundle for /EFI\CLOVER\kexts\10.11\BrcmFirmwareData.kext.

Jul 7 17:33:37 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM: Loaded compressed embedded firmware for key "BCM20702A1_001.002.014.1443.1479_v5575".
Jul 7 17:33:37 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM: Decompressed firmware (29713 bytes --> 70105 bytes).
Jul 7 17:33:37 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM: Firmware is valid IntelHex firmware.
Jul 7 17:33:37 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM2: [13d3:3404]: USB [54271EBE0868 v274] "BCM20702A0" by "Broadcom Corp"
Jul 7 17:33:37 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM2: [13d3:3404]: Firmware upgrade not needed.
Jul 7 17:33:37 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM2: [13d3:3404]: Published new IOKit personality.
Jul 7 17:33:37 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM2: Processing time 4.598 seconds.
Jul 7 17:33:37 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 15.5.
Jul 7 17:33:37 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM2: [13d3:3404]: USB [54271EBE0868 v274] "BCM20702A0" by "Broadcom Corp"
Jul 7 17:33:38 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM2: [13d3:3404]: Firmware upgrade not needed.
Jul 7 17:33:38 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Jul 7 17:33:38 Michaels-MacBook-Pro kernel[0]: BrcmPatchRAM2: Processing time 0.65 seconds.

BCM20702A0 Failed to write to bulk pipe

I have a Problem with a BCM20702A0 USB Dongle.

Device product ID 0x21ec
Device vendor ID 0x0a5c (Broadcom Corp.)
BrcmPatchRAM version used RehabMan-BrcmPatchRAM-2016-0705

Syslog:
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 15.6.
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1443.1460_v5556.zhx" from resources.
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM: Decompressed firmware (29555 bytes --> 69721 bytes).
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM: Firmware is valid IntelHex firmware.
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: [0a5c:21ec]: USB [0019860023F6 v274] "BCM20702A0" by "Broadcom Corp"
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: [0a5c:21ec]: Firmware upgrade completed successfully.
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: [0a5c:21ec]: Published new IOKit personality.
Aug 31 19:26:03 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: Processing time 0.130 seconds.
Aug 31 19:26:04 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 15.6.
Aug 31 19:26:04 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: [0a5c:21ec]: USB [0019860023F6 v274] "BCM20702A0" by "Broadcom Corp"
Aug 31 19:26:32 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: [0a5c:21ec]: Failed to write to bulk pipe ("0xe00002ed (UNDEFINED)" 0xe00002ed).
Aug 31 19:26:33 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: [0a5c:21ec]: Not responding - Delaying next read.
Aug 31 19:26:33 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: [0a5c:21ec]: Failed to write to bulk pipe ("0xe00002d8 (UNDEFINED)" 0xe00002d8).
Aug 31 19:26:33 Karmas-Mac-Pro kernel[0]: BrcmPatchRAM2: [0a5c:21ec]: continuousRead - Failed to queue read (0xe00002d8)
Aug 31 20:30:06 Karmas-Mac-Pro com.apple.kextcache[747]: kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmFirmwareRepo.kext

IOProviderClass changed in 10.11

In 10.11, the IOProviderClass for Broadcom Bluetooth has changed from IOUSBDevice to IOUSBHostDevice, which causes the current bluetooth injector/brcmpatchram unsable. I changed the class in bluetooth injector kext and bluetooth works again. I tried changing in BrcmPatchRam but it is not accepted:
Jun 14 09:56:33 localhost kernel[0]: BrcmPatchRAM: Provider is not a USB device.

Continuity not working on T430

I'm using a T430 through the el capitan guide off tonymacx86 and the Intel 6205's Broadcom Bluetooth works with your kext just fine. I don't have a hacked BIOS since I don't have the necessary tools for it but I'm using USB WiFi as a good solution for now. I can't seem to get Instant HotSpot or Handoff working at all.

Broadcom Chip Name: BCM20702A3
Product ID: 8678
Vendor ID: 2652

Output from System Information:

Apple Bluetooth Software Version: 5.0.2f4
Hardware, Features, and Settings:
Name: Lenovo ThinkBook Pro (T430)
Address: e0-06-e6-ba-e3-12
Bluetooth Low Energy Supported: Yes
Handoff Supported: No
Instant Hot Spot Supported: No
Manufacturer: Broadcom
Transport: USB
Chipset: 20702A3
Firmware Version: v14 c5853
Bluetooth Power: On
Discoverable: On
Connectable: Yes
Auto Seek Pointing: On
Remote wake: On
Vendor ID: 0x0A5C
Product ID: 0x21E6
HCI Version: 4.1 (0x7)
HCI Revision: 0x16DD
LMP Version: 4.1 (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: On
Devices (Paired, Configured, etc.):
Metal-E:
Address: 04-4B-ED-53-73-1B
Major Type: Phone
Minor Type: Smartphone
Services: Phonebook, PAN Network Access Profile, AVRCP Device, Handsfree Gateway, Audio Source, MAP MAS-iOS, Wireless iAP, AVRCP Device
Paired: Yes
Configured: Yes
Connected: No
Manufacturer: Broadcom (0x8, 0x6607)
Firmware Version: 0x0A20
Vendor ID: 0x004C
Product ID: 0x6F02
Class of Device: 0x02 0x03 0x7A020C
EDR Supported: Yes
eSCO Supported: Yes
SSP Supported: Yes
Services:
Bluetooth File Transfer:
Folder other devices can browse: /Users/phen0m/Public
When receiving items: Accept all without warning
State: Enabled
Bluetooth File Exchange:
Folder for accepted items: /Users/phen0m/Downloads
When other items are accepted: Save to location
When receiving items: Accept all without warning
State: Enabled
Bluetooth Internet Sharing:
State: Disabled
Incoming Serial Ports:
Bluetooth-Incoming-Port:
RFCOMM Channel: 3
Requires Authentication: No
Outgoing Serial Ports:
Metal-E-WirelessiAP:
Address: 04-4B-ED-53-73-1B
RFCOMM Channel: 1
Requires Authentication: No

Handoff DW1830 (​BCM943602BAED)

I ordered BCM943602BAED and replace my BCM94352Z on Dell e7450.
I decided to replace it due to fact BCM94352Z was not properly working with Handoff (t was working from mac to iPhone, but not opposite way, also I had some problems with Universal Clipboard and auto unlocking function from Apple Watch).

DW1830@BCM943602BAED
IDs:
wireless = 14e4:43ba
bluetooth = 0a5c:6410

kexts installed:

BrcmFirmwareRepo.kext
BrcmPatchRAM2.kext
FakePCIID.kext

All kext to patches in Cover config were removed. They were previously added for BCM94352Z.

To let you know, currently I do not see any reason tor replace BCM94352Z with BCM943602BAED. Yes, it require less patching, only BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext for Bluetooth Wifi works OOB, but you will get same problems with functionality.

Airdrop - works both ways
Continuity - partially working
Universal Clipboard - not working
Apple Watch auto-unlock not working
Hotspot - working
find My iPhone works until restart, then it is disabled again?!? why?

e7450 updated to latest 10.12.3 from 10.12.1

config.zip

DW 1820A can not connect bluetooth keyboard stable

Chip: DW1820A (BCM94350ZAE_2)

Vendor ID: 0x0A5C
Product ID: 0x6414
Firmware Version: v7 c6820
Connectable: Yes
Discoverable: On
Remote wake: On

Installed and loaded kext in /L/E :
com.no-one.BrcmFirmwareStore (2.2.10)
com.no-one.BrcmPatchRAM2 (2.2.10)
macOS version 10.13.6

I was able to connect and use a bluetooth keyboard for nearly 2 hours the first time I installed those drivers along with USBInjectAll.kext, then after a reboot, the bluetooth can still search devices around, but my keyboard keeps connect and then disconnect, I tested this keyboard on my MacBook Air, it has no problem by itself.

I also tried bluetooth headphone, keeps connecting and disconnecting. But Airdrop works perfect with my iPhone and MacBook, wifi also native no kexts needed.

what is the possible issue? what more information can I provide?

BCM2045A0 can not work

Hi RehabMan ,I use BrcmFirmwareData.kext BrcmPatchRAM2.kext and USBInjectAll.kext in my clover\kexts\others ,BTW my laptop is DELL XPS 15 9550 UHD installed osx 10.11.6 , and I found the bluetooth is unusual,sometimes it works ,but when I reboot the laptop,it dosen't work.
2017-03-01 16 05 19
2017-02-28 17 12 32

No Bluetooth Devices Shown, uploadFirmware could not open the device!

Device product ID: 0x0a2b
Device vendor ID: 0x8087
BrcmPatchRAM version used: RehabMan-BrcmPatchRAM-2016-0621

Dump of BrcmPatchRAM debug output from /var/log/system.log showing the firmware upload failure:

Jun 23 22:40:13 localhost kernel[0]: BrcmPatchRAM2: Version 2.2.6 starting on OS X Darwin 15.5.
Jun 23 22:40:13 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
Jun 23 22:40:13 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1502.1764_v5860.zhx" from resources.
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM: Decompressed firmware (30360 bytes --> 71148 bytes).
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM: Firmware is valid IntelHex firmware.
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM2: [0a5c:21e8]: USB [5CF370745ABB v274] "BCM920702 Bluetooth 4.0" by "Broadcom Corp"
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM2: [0a5c:21e8]: Firmware upgrade not needed.
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM2: [0a5c:21e8]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM2: Processing time 0.704 seconds.
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM2: Version 2.2.6 starting on OS X Darwin 15.5.
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM2: uploadFirmware could not open the device!
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM2: [0a5c:21e8]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Jun 23 22:40:14 localhost kernel[0]: BrcmPatchRAM2: Processing time 0.2 seconds.
Jun 23 22:47:38 localhost kernel[0]: BrcmPatchRAM2: Version 2.2.6 starting on OS X Darwin 15.5.
Jun 23 22:47:38 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
Jun 23 22:47:38 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1502.1764_v5860.zhx" from resources.
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM: Decompressed firmware (30360 bytes --> 71148 bytes).
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM: Firmware is valid IntelHex firmware.
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM2: [0a5c:21e8]: USB [5CF370745ABB v274] "BCM920702 Bluetooth 4.0" by "Broadcom Corp"
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM2: [0a5c:21e8]: Firmware upgrade not needed.
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM2: [0a5c:21e8]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM2: Processing time 2.204 seconds.
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM2: Version 2.2.6 starting on OS X Darwin 15.5.
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM2: uploadFirmware could not open the device!
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM2: [0a5c:21e8]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
Jun 23 22:47:40 Khas-iMac kernel[0]: BrcmPatchRAM2: Processing time 0.2 seconds.

Could not turn on Bluetooth again when turn off

Hi,

my bluetooth is running normally but when I turn off it , then I could not turn on again. . the bluetooth icon always show "on" but there is no bluetooth. need to restart to turn on

also handoff, airdrop working but some application using bluetooth to pair ipphone like Macid, Nearlock did not recognize my iphone/ipad.

please help me to check that

BCM20702 working under Mojave with a few extra steps...

Hello, I wanted to explain how I got a USB dongle with BCM20702 working under Mojave.
I tried putting the kext files in /L/E, didn't work so after reading a different issue (from today actually), I tried /S/L/E. While that didn't work at first, I then tried to refresh the kext cache; the files didn't show up in kextstat.
I used this command: sudo kextcache -invalidate / which told me 2 error messages: BrcmFirmwareStore and BrcmPatchRAM2 had the wrong permissions. This is fixed like so:

sudo chown -R 0:0 /System/Library/Extensions/BrcmPatchRAM2.kext/
sudo chmod -R 755 /System/Library/Extensions/BrcmPatchRAM2.kext/
sudo chown -R 0:0 /System/Library/Extensions/BrcmFirmwareRepo.kext/
sudo chmod -R 755 /System/Library/Extensions/BrcmFirmwareRepo.kext/

Reboot and be happy! 😄
Both the actual Bluetooth entry in System Preferences, that was missing before as well as an entry in System Report > Bluetooth finally appeared!
I have a TP-Link Archer T9E WiFi card and now in conjunction, AirDrop does work like a charm 👍

DW1830 BCM943602BAED

Versión System on wich has been tested: 10.12.4
The bluetooth work ok before install the BrcmFirmwareRepo.kext and BrcmNonPatchRAM2.kext in S/L/E.
Thanks to RehabMan and feartech.

Bluetooth Keyboard in Clover

Hey RehabMan,

You are doing the hackintosh community a huge service. Keep up the great work!

I have this build https://pcpartpicker.com/list/k6wJXH along with an NGFF BCM94352Z DW1560 card.

I have installed the following in /System/Library/Extensions:
BrcmPatchRAM2.kext
BrcmFirmwareRepo.kext

And this in /Library/Extensions:
FakePCIID.kext
FakePCIID_Broadcom_WiFi.kext

It works perfectly when booted in macOS 10.12.6 but the keyboard does not work in the Clover menu. Am I missing something?

/S/L/E vs /L/E

I'm curious, I have been wondering if this driver would be more resilient to system updates if we were to place it into /Library/Extensions vs the current recommendation of /System/Library/Extensions, especially on native Mac installs.

What's the situation on this, is this not a possibility?

Later version of Broadcom Bluetooth drivers

There is a later version of the Broadcom Bluetooth drivers on the Dell support page. Navigate to the support page then go to support by product and select the Dell XPS 13 9343 (Laptop), then go to the drivers section. It will default to "Windows 8.1, 64-bit". Change it to "Windows 10, 64-bit", then go to the network section and you will find it labeled as "Dell Wireless 1560 Bluetooth Driver" which is version 12.0.1.653. Although it is labeled for the DW1560, I believe it has firmwares for all Broadcom devices.

Quick link:
http://www.dell.com/support/home/ca/en/cadhs1/Drivers/DriversDetails?driverId=PJXKF&fileId=3474957926&osCode=WT64A&productCode=xps-13-9343-laptop&languageCode=en&categoryId=NI

BrcmPatchRAM interferes with USB bus on wake from sleep

I notice a variable delay on wake from sleep with BrcmPatchRAM installed. The amount of delay is variable from no delay to sometimes several minutes. Usually the delay is 5-15 seconds. In the event that the delay is long, bluetooth functionality does not resume.

After much investigation and trial, this appears to be caused by actions taken by the Yosemite bluetooth driver on wake from sleep. Even though the driver is about to be terminated (due to USB reshuffle), it does some things that interfere with correct startup upon wake.

The solution (after trying many other things), is to terminate the bluetooth drivers prior to sleep. This requires BrcmPatchRAM track power states and unload the native bluetooth driver before entering sleep.

That is the main purpose of this fork. Along with a few bug fixes (memory leaks, debug build, build problems with 10.6 SDK, etc), and some refactoring.

When other non-functional personalities are present, no registration of correct personality

Even though people shouldn't install other personalities (eg. injectors) for their device, they still do and it is a pain to diagnose (some are stuffing it into their FakeSMC Info.plist).

This log demonstrates one instance, which is probably easily handled:

Sep 20 00:15:53 localhost kernel[0]: BrcmPatchRAM2: Version 2.0.1 starting on OS X Darwin 15.0.
Sep 20 00:15:53 localhost kernel[0]: BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
Sep 20 00:15:53 localhost kernel[0]: BrcmPatchRAM2: Retrieved firmware for firmware key "BCM20702A1_001.002.014.1443.1479_v5575".
Sep 20 00:15:53 localhost kernel[0]: BrcmPatchRAM2: Decompressed firmware (29776 bytes --> 70105 bytes).
Sep 20 00:15:53 localhost kernel[0]: BrcmPatchRAM2: Firmware is valid IntelHex firmware.
Sep 20 00:15:53 localhost kernel[0]: BrcmPatchRAM2: [13d3:3404]: USB [240A64B58EC5 v274] "BCM20702A0" by "Broadcom Corp"
Sep 20 00:15:54 localhost kernel[0]: BrcmPatchRAM2: [13d3:3404]: Firmware upgrade completed successfully.
Sep 20 00:15:54 localhost kernel[0]: BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.driver.AppleUSBMergeNub".
Sep 20 00:15:54 localhost kernel[0]: BrcmPatchRAM2: Processing time 0.651 seconds.
Sep 20 00:15:54 localhost kernel[0]: BrcmPatchRAM2: Version 2.0.1 starting on OS X Darwin 15.0.
Sep 20 00:15:54 localhost kernel[0]: BrcmPatchRAM2: [13d3:3404]: USB [240A64B58EC5 v274] "BCM20702A0" by "Broadcom Corp"
Sep 20 00:15:54 localhost kernel[0]: BrcmPatchRAM2: [13d3:3404]: Firmware upgrade not needed.
Sep 20 00:15:54 localhost kernel[0]: BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.driver.AppleUSBMergeNub".
Sep 20 00:15:54 localhost kernel[0]: BrcmPatchRAM2: Processing time 0.16 seconds.

The case of an existing personality with the correct class and bundle is probably more difficult.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.