Jump to content

BrcmPatchRAM2 for 10.15 Catalina (Broadcom bluetooth firmware upload)


headkaze
429 posts in this topic

Recommended Posts

1 hour ago, Mieze said:

您可能要查看内核日志!

 

:猫:

Timestamp                       (process)[PID]    
2019-10-21 19:32:09.725604+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211Controller::init(OSDictionary*)> AirPort_BrcmNIC::init AirPortFamily_kexts-1560 "AirPortFamily_kexts-1560" Sep 25 2019 21:02:34
2019-10-21 19:32:09.725626+0800  localhost kernel[0]: (AirPortBrcmNIC) <AirPortBrcmNIC`osl_iolog_withtimestamp> ARPT: 0.725624: AirPort_Brcm43XX:probe:, this[0xa9d5bde99777716b]  score[2048]
2019-10-21 19:32:09.725632+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211Controller::init(OSDictionary*)> AirPort_Brcm4360::init AirPortFamily_kexts-1560 "AirPortFamily_kexts-1560" Sep 25 2019 21:02:34
2019-10-21 19:32:09.725641+0800  localhost kernel[0]: (AirPortBrcm4360) <AirPortBrcm4360`osl_iolog_withtimestamp> ARPT: 0.725640: AirPort_Brcm43XX:probe:, this[0x3e7d268c16e123c5]  score[1110]
2019-10-21 19:32:10.027950+0800  localhost kernel[0]: (BrcmPatchRAM3) BrcmPatchRAM: Version 2.5.0 starting on OS X Darwin 19.0.
2019-10-21 19:32:18.693290+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211Controller::init(OSDictionary*)> AirPort_BrcmNIC::init AirPortFamily_kexts-1560 "AirPortFamily_kexts-1560" Sep 25 2019 21:02:34
2019-10-21 19:32:18.693311+0800  localhost kernel[0]: (AirPortBrcmNIC) <AirPortBrcmNIC`osl_iolog_withtimestamp> ARPT: 10.422450: AirPort_Brcm43XX:probe:, this[0xa9d5bde997e6616b]  score[2048]
2019-10-21 19:32:18.693317+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211Controller::init(OSDictionary*)> AirPort_Brcm4360::init AirPortFamily_kexts-1560 "AirPortFamily_kexts-1560" Sep 25 2019 21:02:34
2019-10-21 19:32:18.693330+0800  localhost kernel[0]: (AirPortBrcm4360) <AirPortBrcm4360`osl_iolog_withtimestamp> ARPT: 10.422469: AirPort_Brcm43XX:probe:, this[0x3e7d268c1815b3c5]  score[1110]
2019-10-21 19:32:18.872060+0800  localhost kernel[0]: (BrcmFirmwareData) BrcmPatchRAM: Loaded compressed embedded firmware for key "BCM20702A1_001.002.014.1443.1469_v5565".
2019-10-21 19:32:18.872374+0800  localhost kernel[0]: (BrcmFirmwareData) BrcmPatchRAM: Decompressed firmware (29711 bytes --> 70105 bytes).
2019-10-21 19:32:18.872649+0800  localhost kernel[0]: (BrcmFirmwareData) BrcmPatchRAM: Firmware is valid IntelHex firmware.
2019-10-21 19:32:18.961052+0800  localhost kernel[0]: (AirPortBrcmNIC) <AirPortBrcmNIC`osl_iolog_withtimestamp> ARPT: 10.690191: BRCM tunables:
2019-10-21 19:32:18.973031+0800  localhost kernel[0]: (BrcmPatchRAM3) BrcmPatchRAM: [0b05:17cf]: USB [54271EFC8F1F v274] "BCM20702A0" by "Broadcom Corp"
2019-10-21 19:32:18.991753+0800  localhost kernel[0]: (BrcmPatchRAM3) BrcmPatchRAM: [0b05:17cf]: Firmware upgrade not needed.
2019-10-21 19:32:18.991772+0800  localhost kernel[0]: (BrcmPatchRAM3) BrcmPatchRAM: Processing time 0.119 seconds.
2019-10-21 19:32:19.269302+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211Controller::logDebug(char const*, ...)> AirPort_BrcmNIC::getSSIDData(): Get failure: APPLE80211_IOC_SSID: 6
2019-10-21 19:32:22.672637+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211VirtualInterface::init(IO80211Controller*, ether_addr*, unsigned int, char const*)> IO80211VirtualInterface::AirPort_BrcmNIC_P2PInterface::init name <p2p0> role 1
2019-10-21 19:32:22.726017+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211P2PInterface::init(IO80211Controller*, ether_addr*, unsigned int, char const*)> AirPort_BrcmNIC_P2PInterface::init <p2p> role 1
2019-10-21 19:32:22.930092+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211VirtualInterface::init(IO80211Controller*, ether_addr*, unsigned int, char const*)> IO80211VirtualInterface::AirPort_BrcmNIC_P2PInterface::init name <awdl0> role 4
2019-10-21 19:32:22.937051+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211P2PInterface::awdlAttachToBpf()> AirPort_BrcmNIC_P2PInterface::awdlAttachToBpf name <awdl0> role 4 successful attach to bpf type 147
2019-10-21 19:32:22.970544+0800  localhost kernel[0]: (IO80211Family) <IO80211Family`IO80211P2PInterface::init(IO80211Controller*, ether_addr*, unsigned int, char const*)> AirPort_BrcmNIC_P2PInterface::init <awdl> role 4
谢谢

Link to comment
Share on other sites

Hey so today my laptop kernel panicked (DW1560, cant figure out the chipset) and now my laptop takes longer to boot and the wifi takes like about 5 minutes to get all working after login. I tried rebuilding the kernel cache, clearning NVRAM, and updating to the latest version of the kexts.

Using Bluetooth Injector (in clover/kexts), bcrmpatchRAM3, and bcrmfirmwarerepo (in library/extensions).

Is there any other reset I haven't tried? I'm sorry I never got a chance to dump my kernel panic because I manually restarted before the dialog came up. (unless I can get it in some kind of directory)

Link to comment
Share on other sites

On 10/19/2019 at 11:45 AM, drewmu said:

Help, please? I have an Azurewave (4352HMB) [13d3:3404] that worked prior to the upgrade to Catalina. I followed the instructions and am using BrcmPatchRAM3, BrcmBluetoothInjector, and BcrmFirmwareData, all injected via Clover the the kext/other folder. Bluetooth shows up but does not detect any devices. System info shows the firmware is not loaded (4096 v14). Not sure what is going on... here is the log:

 


2019-10-19 11:22:13.606532-0400 0x65       Default     0x0                  0      0    kernel: Refusing new kext com.no-one.BrcmFirmwareStore, v2.2.12: already have prelinked v2.2.7.
2019-10-19 11:22:27.739426-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 19.0.
2019-10-19 11:22:27.739429-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Unknown new Darwin version 19.0, using possible compatible personality.
2019-10-19 11:22:27.740969-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Published new IOKit personality for BrcmFirmwareStore.
2019-10-19 11:22:27.766544-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Published new IOKit personality for BrcmPatchRAMResidency.
2019-10-19 11:22:28.297817-0400 0x28a      Error       0x0                  74     0    kextd: (IOKit) [com.apple.kext:kextlog] Kext with invalid signature (-67062) allowed: <OSKext 0x600000a0cc60 [0x7fff8e4cfb00]> { URL = "file:///Library/Extensions/BrcmFirmwareRepo.kext/", ID = "com.no-one.BrcmFirmwareStore" }
2019-10-19 11:22:28.509771-0400 0x504      Default     0x0                  0      0    kernel: (BrcmFirmwareRepo) BrcmPatchRAM: Loaded firmware "BCM20702A1_001.002.014.1443.1479_v5575.zhx" from resources.
2019-10-19 11:22:28.510153-0400 0x504      Default     0x0                  0      0    kernel: (BrcmFirmwareRepo) BrcmPatchRAM: Decompressed firmware (29713 bytes --> 70105 bytes).
2019-10-19 11:22:28.510514-0400 0x504      Default     0x0                  0      0    kernel: (BrcmFirmwareRepo) BrcmPatchRAM: Firmware is valid IntelHex firmware.
2019-10-19 11:22:28.510534-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: uploadFirmware could not open the device!
2019-10-19 11:22:28.511450-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2019-10-19 11:22:28.511456-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Processing time 0.772 seconds.
2019-10-19 11:22:28.514241-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Version 2.2.7 starting on OS X Darwin 19.0.
2019-10-19 11:22:28.514264-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: uploadFirmware could not open the device!
2019-10-19 11:22:28.515080-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [13d3:3404]: Found existing IOKit personality "com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport".
2019-10-19 11:22:28.515086-0400 0x504      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Processing time 0.0 seconds.
2019-10-19 11:22:54.937210-0400 0xc06      Default     0x359e               385    0    AdvancedBlocking: (libswiftFoundation.dylib) The extension received a message (getAdvancedBlockingData) from a script injected into (https://www.insanelymac.com/forum/topic/339175-brcmpatchram2-for-1015-catalina-broadcom-bluetooth-firmware-upload/?page=8) with userInfo ([:])
2019-10-19 11:29:29.111662-0400 0x3b06     Default     0xf4f0               1620   0    AdvancedBlocking: (libswiftFoundation.dylib) The extension received a message (getAdvancedBlockingData) from a script injected into (https://github.com/acidanthera/BrcmPatchRAM) with userInfo ([:])

 

Refusing new kext com.no-one.BrcmFirmwareStore, v2.2.12: already have prelinked v2.2.7.

 

According to your logs, you already have an older version of the kext out there...

Link to comment
Share on other sites

@headkaze

 

When I try to build the kext, I get this error:

 

/System/Volumes/Data/Users/headsoft/Programming/OS-X-BrcmPatchRAM/firmwares/0489_e042/BCM20702A1_001.002.014.1443.1484_v5580.zhx: No such file or directory

/System/Volumes/Data/Users/headsoft/Programming/OS-X-BrcmPatchRAM/firmwares/0489_e046/BCM20702A1_001.002.014.1443.1465_v5561.zhx: No such file or directory

/System/Volumes/Data/Users/headsoft/Programming/OS-X-BrcmPatchRAM/firmwares/0489_e032/BCM20702A1_001.002.014.1443.1485_v5581.zhx: No such file or directory

 

 

How do I change the paths so it stops trying to find you?

Edited by Jobe5150
Other errors
Link to comment
Share on other sites

Spoiler

2.png1.png

I'm having trouble to get the bluetooth working with my BCM943602CS. Wifi works without any kexts but bluetooth just won't, no matter what. At the moment i have the latest BrcmBluetoothInjector.kext, BrcmFirmwareData.kext, BrcmPatchRAM3.kext in L/E 

Edited by The_Dave94
Link to comment
Share on other sites

26 minutes ago, The_Dave94 said:
  Reveal hidden contents

2.png1.png

I'm having trouble to get the bluetooth working with my BCM943602CS. Wifi works without any kexts but bluetooth just won't, no matter what. At the moment i have the latest BrcmBluetoothInjector.kext, BrcmFirmwareData.kext, BrcmPatchRAM3.kext in L/E 

I was having similar issues with my genuine Apple BCM94360CS2 card. It turned out to be a problem with my USB configuration. On my Z390 motherboard, the WiFi/BT M.2 slot is assigned a high USB port number. I didn't have a USB port limit patch, and the port just wasn't being detected by Mac OS. Once I added the patch (there's even one for Catalina now), the card was detected correctly, and everything magically worked.

Link to comment
Share on other sites

2 minutes ago, PepsiColaNYC said:

I was having similar issues with my genuine Apple BCM94360CS2 card. It turned out to be a problem with my USB configuration. On my Z390 motherboard, the WiFi/BT M.2 slot is assigned a high USB port number. I didn't have a USB port limit patch, and the port just wasn't being detected by Mac OS. Once I added the patch (there's even one for Catalina now), the card was detected correctly, and everything magically worked.

I've created a custom usb port patch with hackintool so that shouldn't be a problem.

 

Spoiler

3.thumb.png.e841248e9b4ab8f2e8bdf1394016ed7c.png

 

  • Like 1
Link to comment
Share on other sites

6 hours ago, golosin2 said:

BUT AirPods sound cracked with interruptions, both for music and Skype/FaceTime calls.

This has nothing to do with this kext because it's sole purpose is to upload firmware to the device. Anything else is handled by Apple's BT stack and I assume that the reason for your problem is located there.

Link to comment
Share on other sites

On 10/21/2019 at 12:41 PM, Coldsteak said:

Hey so today my laptop kernel panicked (DW1560, cant figure out the chipset) and now my laptop takes longer to boot and the wifi takes like about 5 minutes to get all working after login. I tried rebuilding the kernel cache, clearning NVRAM, and updating to the latest version of the kexts.

Using Bluetooth Injector (in clover/kexts), bcrmpatchRAM3, and bcrmfirmwarerepo (in library/extensions).

Is there any other reset I haven't tried? I'm sorry I never got a chance to dump my kernel panic because I manually restarted before the dialog came up. (unless I can get it in some kind of directory)

Can somebody please help me with this?

Link to comment
Share on other sites

On 10/11/2019 at 9:45 PM, galileo13 said:

How can I install them properly?

I mean, what steps do I need to follow.

 

-----------

UPDATE

-----------

Got it working.

Followed this tutorial for installation - https://www.tonymacx86.com/threads/guide-installing-3rd-party-kexts-el-capitan-sierra-high-sierra-mojave-catalina.268964/

And used Mieze's (BrcmBluetoothInjector.kext BrcmPatchRAM3.kext BrcmFirmwareData.kext)

1. Disable gatekeeper

2. Install

3. Reboot.

 

BT is working fine. Thanks.

 

P.S There is still problem with WebCamera. System can't locate the hardware. If someone has some tip, will be appreciated. Solved

 

On 10/12/2019 at 6:09 AM, Mieze said:

Here is version 2.3.0d3 in which I optimized a few details and fixed some possible weaknesses of earlier versions. It's working 100% stable on my test machines and I consider it to be ready for productive use.

 

Have fun!

 

Mieze :cat:

 

BrcmPatchRAM3-V2.3.0d3.zip

 

Thank you both, I installed V2.3.0d3 by the method described in galileo13's post and they work for my Dell XPS 9360+BCM94352Z, highly appreciated! 

Link to comment
Share on other sites

I have a lenovo t470, my bluetooth card is:

                 <key>0489_e07a</key>

 

With both a build from the source, and the binary posted here, My magic mouse is normally recognized, but usually works for only a few seconds, and disconnects. Most of the time pressing a mouse button will cause it to reconnect, but only for a few seconds, and then it disconnects again. This is totally unusable. 

 

Any hints? This was totally stable with BrcmPatchRam2, and mojave. 

 

Thanks,
Scott.

Link to comment
Share on other sites

On 10/7/2019 at 5:56 AM, Mieze said:

Unfortunately headkaze's driver doesn't work on my Dell Inspiron 13 5370 with the Dell DW1560. I investigated the issue and finally decided to offload support for Catalina to a completely new driver BrcmPatchRAM3.kext, which is based on headkaze's work but goes one step ahead as I dumped a lot of obsolete code and restructured it's architecture from scratch.

 

Source code can be found on GitHub: https://github.com/Mieze/OS-X-BrcmPatchRAM-Catalina

 

It's build for Mojave and Catalina but as I still haven't got any machine running Catalina, I ran my tests under 10.14.6. Anyone who's interested in testing is encouraged to try the attached binaries which are built for Mojave and Catalina.

 

Kernel boot parameter "bpr_probedelay" is obsolete now and for the DW1560 "bpr_preresetdelay" too, because I found out that the Bluetooth controller indicates when it has finished processing downloaded firmware patches by sending a "vendor specific event" (event code 0xff) to the host. It looks like more devices also support this mechanism because those I tested, work this way and I won't be surprised if it's a common feature of all Broadcom Bluetooth controllers but this assumption is still waiting to be verified.

 

Good luck!

 

Mieze

BrcmPatchRAM3-V2.3.0-Debug.zip

I tried your build on Thinkpad T460 with Dell DW1560.
I got bluetooth and thank you for your work!!

Link to comment
Share on other sites

On 10/11/2019 at 11:09 PM, Mieze said:

Here is version 2.3.0d3 in which I optimized a few details and fixed some possible weaknesses of earlier versions. It's working 100% stable on my test machines and I consider it to be ready for productive use.

 

Have fun!

 

Mieze :cat:

 

BrcmPatchRAM3-V2.3.0d3.zip

 

 

Many thanks to @headkaze and @Mieze for this long needed update to BRCMPatchRAM,

 

I just Installed BrcmPatchRAM3.kext, BrcmFirmwareRepo.kext & BrcmBluetoothInjector.kext in /L/E using Hackintool and rebooted.

BT working perfectly with DW-1830 Combo card on my 2017 HP Spectre X360 Laptop, no plist edits required .... running latest release version of Catalina.

 

Nice job guys ...

Cheers

Jay

  • Thanks 1
Link to comment
Share on other sites

My BCM94360CD PCI card has working WiFi but non working bluetooth. System info does not even show it in USB bus.

 

I have installed the following kexts from the BrcmPatchRAM-2019-10-17.zip file to /L/E:

  • BrcmBluetoothInjector.kext
  • BrcmPatchRAM3.kext
  • BrcmFirmwareRepo.kext

 

I am receiving the following error:

 

2019-10-29 11:15:22.323800-0400  localhost kernel[0]: (IOBluetoothFamily) <IOBluetoothFamily`IOBluetoothHCIController::SearchForTransportEventTimeOutHandler()> **** [IOBluetoothFamily][SearchForTransportEventTimeOutHandler] -- 'Broadcom USB Host Controller' does not exist in IORegistry causing this missing Blutooth Controller Transport problem

This works in windows. Here is a screenshot of my Windows layout:

 

windowsBT.thumb.png.2cd0a964338602ba9f494a12f029f4fd.png

 

And here is what Hackintool sees:

 

image.thumb.png.f01dc39be77c5a1d2c221648f277d5d1.png

Edited by DaGr8Gatzby
Link to comment
Share on other sites

46 minutes ago, DaGr8Gatzby said:

My BCM94360CD PCI card has working WiFi but non working bluetooth. System info does not even show it in USB bus.

 

I have installed the following kexts from the BrcmPatchRAM-2019-10-17.zip file to /L/E:

  • BrcmBluetoothInjector.kext
  • BrcmPatchRAM3.kext
  • BrcmFirmwareRepo.kext

 

I am receiving the following error:

 


2019-10-29 11:15:22.323800-0400  localhost kernel[0]: (IOBluetoothFamily) <IOBluetoothFamily`IOBluetoothHCIController::SearchForTransportEventTimeOutHandler()> **** [IOBluetoothFamily][SearchForTransportEventTimeOutHandler] -- 'Broadcom USB Host Controller' does not exist in IORegistry causing this missing Blutooth Controller Transport problem

This works in windows. Here is a screenshot of my Windows layout:

 

windowsBT.thumb.png.2cd0a964338602ba9f494a12f029f4fd.png

 

And here is what Hackintool sees:

 

image.thumb.png.f01dc39be77c5a1d2c221648f277d5d1.png

 

I am afraid your USBs are not configured correctly. It should appear HSxx (HS01, HS02, etc.), see mine:

 

122658528_CapturadeTela2019-10-29as13_15_55.png.ba8a40a8770789cc8f4a284d37854da9.png

 

HSxx = USB2.0

SSxx = USB3.0

 

See: https://github.com/RehabMan/OS-X-USB-Inject-All

 

Edited by ludufre
Link to comment
Share on other sites

On 10/25/2019 at 8:12 PM, Jobe5150 said:

@headkaze

 

When I try to build the kext, I get this error:

 

/System/Volumes/Data/Users/headsoft/Programming/OS-X-BrcmPatchRAM/firmwares/0489_e042/BCM20702A1_001.002.014.1443.1484_v5580.zhx: No such file or directory

/System/Volumes/Data/Users/headsoft/Programming/OS-X-BrcmPatchRAM/firmwares/0489_e046/BCM20702A1_001.002.014.1443.1465_v5561.zhx: No such file or directory

/System/Volumes/Data/Users/headsoft/Programming/OS-X-BrcmPatchRAM/firmwares/0489_e032/BCM20702A1_001.002.014.1443.1485_v5581.zhx: No such file or directory

 

 

How do I change the paths so it stops trying to find you?

I'm having similar errors when building the project by myself.

Any suggests?

I apologize for this partly off topic

 

Update: 30 Oct 2019

 

Downloading the entire master branch I was able to build the project

Edited by acquarius13
  • Like 1
Link to comment
Share on other sites

On 10/27/2019 at 9:54 AM, kolodzieski said:

I have a lenovo t470, my bluetooth card is:

                 <key>0489_e07a</key>

 

With both a build from the source, and the binary posted here, My magic mouse is normally recognized, but usually works for only a few seconds, and disconnects. Most of the time pressing a mouse button will cause it to reconnect, but only for a few seconds, and then it disconnects again. This is totally unusable. 

 

Any hints? This was totally stable with BrcmPatchRam2, and mojave. 

 

Thanks,
Scott.

10.15.1 seems to have fixed, or at least changed the bluetooth stack. My Magic Mouse 2 is working great now. 

Link to comment
Share on other sites

Hello from this end,

Was passing by and decided to pose a question, just incase. I have AR9565 card, Wifi has its issues but at least its what am connected via now.

 

Main issue is Bluetooth, the chipset is 0930:0227, Which surprisingly haven't seen anything of such id's from the attached firmwares.

 

From System info, BT has a firmware version 6.12545 (6.1) , which is what is visible even from linux system which makes me think it's not loaded on start but rather saved in it.

 

Using hardware switch, it turns on and off just fine, but on prefs, it just searches and seems not to find anything, I recently did build the repo on post #1 and installed BrcmBluetoothInjector.kext  and somehow the BTTransporter kext was loaded and can now turn on/off from prefs and top panel, but still nothing is found while searching, attaching two screenshots.

 

My question is simple, is there a way this card is supported(Currently running on Catalina), Could there be a way of getting it to run airDrop(Currently wifi works partially unlike in Mojave, )

regards.1776239409_Screenshot2019-10-31at11_23_00.png.9f1920d9277cd986fe6c8412dfc940d6.png

Screenshot 2019-10-31 at 11.23.30.png

Link to comment
Share on other sites

On 10/27/2019 at 8:18 AM, Gusu7 said:

 

 

Thank you both, I installed V2.3.0d3 by the method described in galileo13's post and they work for my Dell XPS 9360+BCM94352Z, highly appreciated! 

after upgrading to 10.15.1, the bluetooth failed again, the firmware version turns to 4096 again... 

Please kindly help, what should I do, because I tried to use Hackintool to install the 3 kexts again, but it's not working.

Link to comment
Share on other sites

×
×
  • Create New...