黑苹果博通蓝牙补丁:BrcmPatchRAM 2.5.6
概述
大多数博通 USB 蓝牙设备都使用称为 RAMUSB 的系统。 RAMUSB 允许动态更新设备的固件,但是在关闭计算机时,先前应用的任何更新都会丢失。
博通 Windows 驱动程序将在每次启动时将固件上载到博通蓝牙设备中,但是对于 macOS,此功能不可用。 BrcmPatchRAM kext 是一个 macOS 驱动程序,适用于基于博通 RAMUSB 的设备的 PatchRAM 更新。 每次启动/唤醒时,它将固件更新应用于博通蓝牙设备,与 Windows 驱动程序相同。 应用的固件是从 Windows 驱动程序中提取的,并且功能应与 Windows 相同。
请注意,白苹果的博通蓝牙设备不是 RAMUSB 设备,因此没有相同的固件机制。
安装
「注意」以下方法不适用于白苹果系统。
根据 macOS 版本安装 BrcmPatchRAM.kext 或 BrcmPatchRAM2.kext 或 BrcmPatchRAM3.kext 三者其中之一,不能三者都安装。可使用 OpenCore 或 Clover 等引导工具注入,不推荐修改 S/L/E 目录。
- BrcmPatchRAM.kext:适用于 10.10 或更早版本
- BrcmPatchRAM2.kext:适用于 10.11-10.14
- BrcmPatchRAM3.kext:适用于 10.15 或更高版本
另外,根据安装位置安装一个固件 kext BrcmFirmwareData.kext 或 BrcmFirmwareRepo.kext,不能同时使用。
- BrcmFirmwareData.kext:最适合使用引导程序注入,这是推荐配置。
- BrcmFirmwareRepo.kext:安装到/System/Library/Extensions(在 10.11 及更高版本上为 /Library/Extensions)。 该 kext 的内存效率比 BrcmFirmwareData.kext 略高,但是不能由引导程序注入系统。
- 高级用户:对于自定义固件注入器,请安装注入器以及 BrcmFirmwareRepo.kext。 这可以从 /System/Library/Extensions 或通过引导程序注入工作。
- 「可选」用户可以从 BrcmFirmwareRepo.kext/Contents/Resources 中删除所有固件。 如果通过引导程序使用注入器,则必须将 BrcmFirmwareRepo.kext 中的 Info.plist 中的 IOProviderClass 从disabled_IOResources 更改为 IOResources。
另外,如果您有非 PatchRAM 设备(或者不确定),请安装 macOS 版本的 BrcmNonPatchRAM.kext 或 BrcmNonPatchRAM2.kext 之一,不要同时安装两者。尽管这些 kext 不安装任何固件(这些设备内置了固件),但它们仍依赖 BrcmPatchRAM.kext/BrcmPatchRAM2.kext。
- BrcmNonPatchRAM.kext:适用于 10.10 或更早版本
- BrcmNonPatchRAM2.kext:适用于 10.11 或更高版本
其它安装细节
- BrcmPatchRAM.kext 或 BrcmPatchRAM2.kext 或 BrcmPatchRAM3.kext 可以通过引导加载程序 kext 注入安装,也可以放置在 /System/Library/Extensions(在10.11及更高版本中为 /Library/Extensions)中。 根据系统版本,注意每次只能选择其一安装。
- BrcmFirmwareRepo.kext 不适用于使用引导程序注入,除非使用特定于设备的固件注入器; BrcmFirmwareData.kext 可以与引导程序注入使用。
- BrcmPatchRAM 包含 2 个部分:
- BrcmPatchRAM 本身与受支持博通蓝牙 USB 设备(在 Info.plist 中配置)进行通信,并检测它们是否需要固件更新。如果需要固件更新,则匹配的固件数据将被上载到设备并重置设备;
- BrcmFirmwareStore(由 BrcmFirmwareData.kext 或 BrcmFirmwareRepo.kext 实现)是共享资源,其中包含用于不同博通蓝牙 USB 设备的所有已配置固件;
- 另外,可以通过引导加载程序或通过 BrcmPatchRAM 与 Continuity Activation Patch 结合使用 BT4LEContinuityFixup,OpenCore 用户可以使用 config.plist 中的 Kernel → Quirk 参数 ExtendBTFeatureFlags 进行修补。
注入器
BrcmBluetoothInjector.kext 是一个无代码内核扩展,它使用plist注入蓝牙硬件数据; 它不包含固件上载器。 用于 macOS 10.11 或更高版本,对于较旧的系统,请使用 BrcmBluetoothInjectorLetacy.kext;使用 BrcmPatchRAM3.kext 还需要 BrcmBluetoothInjector.kext,因为 macOS Catalina 10.15 中的更改要求使用单独的注射器注入到 kext。 这是由于删除了以下 IOCatalogue 方法:
IOCatalogue::addDrivers, IOCatalogue::removeDrivers and IOCatalogue::startMatching
因此,为了使设备(BroadcomBluetoothHostControllerUSBTransport)加载本地蓝牙驱动程序,应使用 IOProbeScore 稍低于 BrcmPatchRAM3 的 plist 进行注入,因此它不会在固件上传之前进行探测。
请勿在此 kext 上使用 BrcmPatchRAM 或 BrcmPatchRAM2。
BrcmBluetoothInjector 支持的设备:
[0489:e032] 20702 E032 Combo
[0489:e042] 20702A1 Lenovo China standalone
[0489:e046] 20702A1 Acer 43228+20702 combo card
[0489:e04f] 20702A1 Lenovo China 43227 WLAN + 20702A1 Combo card
[0489:e052] 20702 non-UHE Generic
[0489:e055] 43142A0 Acer combo
[0489:e059] Acer 43228 + 20702A1 combo
[0489:e079] Lenovo China 43162 NGFF
[0489:e07a] Lenovo China 4352+20702 NGFF
[0489:e087] Acer 43228 NGFF combo module
[0489:e096] BCM43142A0
[0489:e097] Acer Foxconn BCM4356A2 NGFF
[0489:e0a1] 20703A1 Lenovo 43602 NGFF combo
[04ca:2003] 20702A1 Lenovo China standalone
[04ca:2004] LiteOn 43228+20702 combo
[04ca:2005] LiteOn 43228+20702 combo
[04ca:2006] LiteOn 43142 combo
[04ca:2009] LiteOn 43142 combo
[04ca:200a] LiteOn 4352 combo
[04ca:200b] LiteOn 4352 combo
[04ca:200c] LiteOn 4352 combo
[04ca:200e] Liteon 43228 NGFF combo
[04ca:200f] Acer_LiteOn BCM20702A1_4352
[04ca:2012] Acer BCM943142Y NGFF
[04ca:2013] Acer LiteOn BCM4356A2 NGFF
[04ca:2014] Asus LiteOn BCM4356A2 NGFF
[04ca:2016] Lenovo 43162 NGFF combo module
[04f2:b4a1] ASUS Chicony BCM43142A0 NGFF
[04f2:b4a2] BCM4356A2
[050d:065a] 20702 standalone
[0930:021e] 20702A1 Toshiba standalone
[0930:021f] Toshiba 43142
[0930:0221] 20702A1 Toshiba 4352
[0930:0223] 20702A1 Toshiba 4352
[0930:0225] Toshiba 43142 combo NGFF
[0930:0226] Toshiba 43142 combo NGFF
[0930:0229] 43162 combo NGFF
[0a5c:2168] BRCM Generic 43162Z
[0a5c:2169] BRCM Generic 43228z
[0a5c:216a] Dell DW1708 43142Y combo
[0a5c:216b] HP Rapture 4352z ngff combo
[0a5c:216c] HP Harrier 43142
[0a5c:216d] HP Hornet 43142Y ngff combo
[0a5c:216e] HP Blackbird 43162 NGFF
[0a5c:216f] Dell DW1560 4352+20702 M.2
[0a5c:217d] BCM2070 - BCM943224HMB, BCM943225HMB Combo
[0a5c:21d7] BRCM Generic 43142A0 RAMUSB
[0a5c:21de] 4352+20702A1 combo
[0a5c:21e1] 20702A1 non-UHE HP SoftSailing
[0a5c:21e3] 20702A1 non-UHE 4313 combo HP Valentine
[0a5c:21e6] 20702 non-UHE Lenovo Japan
[0a5c:21e8] 20702A1 dongles
[0a5c:21ec] 20702A1 REF6 OTP module standalone
[0a5c:21f1] 43228 combo
[0a5c:21f3] Lenovo Edge 43228 + 20702A1 combo
[0a5c:21f4] Lenovo Edge 4313 + 20702A1 combo
[0a5c:21fb] HP Supra 4352 20702A1 combo
[0a5c:21fd] BRCM Generic 4352z RAMUSB
[0a5c:640a] BRCM Generic Reference 4356
[0a5c:640b] HP Luffy 43228 + 20702 M.2
[0a5c:640e] Lenovo 4356 NGFF combo
[0a5c:6410] 20703A1 RAM download - DW1830 43602
[0a5c:6412] Dell 4350C5
[0a5c:6413] Broadcom Generic 4350C5
[0a5c:6414] Lenovo 4350C5
[0a5c:6417] Zebra 4352
[0a5c:6418] HP Brook 2x2ac
[0a5c:7460] 20703A1 RAM download
[0b05:17b5] Asus 43228+20702A1 combo
[0b05:17cb] 20702 standalone
[0b05:17cf] Asus 4352_20702A1 combo
[0b05:180a] Azurewave 4360+20702 combo
[0b05:181d] Asus AZUREWAVE MB BCM4356A2
[0bb4:0306] 20703A1 HTC runtime RAM dongle
[105b:e065] LenovoChina 43142A0 combo
[105b:e066] LenovoChina 43228+20702 combo
[13d3:3384] 20702A1 Azurewave standalone
[13d3:3388] BRCM Generic 43142A0 RAMUSB
[13d3:3389] BRCM Generic 43142A0 RAMUSB
[13d3:3392] Azurewave 43228+20702
[13d3:3404] 4352HMB Azurewave Module
[13d3:3411] Dell Alienware 4352 20702A1 combo
[13d3:3413] Azurewave 4360+20702 combo
[13d3:3418] Azurewave 4352+20702 combo module
[13d3:3427] Toshiba 43142 combo NGFF
[13d3:3435] AZUREWAVE BCM20702A1_4352
[13d3:3456] AZUREWAVE BCM20702A1_4352
[13d3:3473] Asus AZUREWAVE BCM4356A2 NGFF
[13d3:3482] AZUREWAVE BCM43142A0 NGFF
[13d3:3484] Acer AZUREWAVE BCM43142A0 NGFF
[13d3:3485] Asus AZUREWAVE BCM4356A2 NB 2217NF
[13d3:3488] Asus AZUREWAVE BCM4356A2 NB 2210
[13d3:3492] Asus AZUREWAVE BCM4356A2 NGFF
[13d3:3504] AW CM217NF BCM4371C2
[13d3:3508] AW ASUS CM217NF BCM4371C2
[13d3:3517] AW CE160H BCM20702
[145f:01a3] 20702A1 Asus Trust standalone
[2b54:5600] Emdoor AP6356SD BCM4356A2
[2b54:5601] Asus AP6356SDP1A BCM4356A2
[2b54:5602] AMPAK AP6356SDP2A BCM4356A2
[33ba:03e8] TOULINEUA BCM94360Z4 4360+20702 combo
[413c:8143] DW1550 4352+20702 combo
[413c:8197] Dell DW380 Nancy Blakes standalone
支持的设备
BrcmPatchRAM 支持任何基于 BCM20702 芯片组的博通 USB 蓝牙设备(可能也支持其他芯片组,但是未经过测试)。「标注 * 号的为已测试成功」,目前支持以下设备:
非 PatchRAM 设备(BrcmPatchRAM 用于加速睡眠后的恢复):
[03f0:231d] HP 231d (ProBook BT built-in firmware)
[13d3:3295] Azurewave BCM943225 (20702A bult-in firmware)
经过测试的 PatchRAM 设备:
[0489:e032] 20702 Combo USB
[0489:e042] 20702A1 Lenovo China *
[0489:e079] Lenovo China 43162 NGFF
[0489:e07a] Lenovo NGFF (4352 / 20702)
[04ca:2003] 20702A1 Lenovo China
[04ca:200a] LiteOn (4352 Combo)
[04ca:200b] LiteOn (4352 Combo) *
[04ca:200c] LiteOn (4352 Combo)
[04ca:200f] Acer / LiteOn (4352 Combo)
[050d:065a] Belkin (20702)
[0930:0221] Toshiba (4352 / 20702)
[0930:0223] Toshiba NGFF (4352 / 20702) *
[0a5c:216b] HP Rapture 4352Z NGFF Combo
[0a5c:216e] HP Blackbird 43162 NGFF
[0a5c:216f] Dell DW1560 (4352/20702)
[0a5c:21de] 4352/20702A1 combo
[0a5c:21e1] HP Softsailing (20702A1)
[0a5c:21e6] non-UHE Lenovo Bluetooth (20702)
[0a5c:21e8] Bluetooth USB Dongle (20702A1) *
[0a5c:21ec] Inateck Bluetooth (20702A1)
[0a5c:21fb] HP Supra 4352 (20702A1 Combo)
[0a5c:21fd] Broadcom 4352Z
[0a5c:22be] Broadcom BCM20702 Bluetooth 4.0 USB Device
[0a5c:6410] Dell Wireless 1830 Bluetooth 4.1 LE
[0a5c:6412] Dell Wireless 1820 Bluetooth 4.1 LE
[0b05:17cb] Asus BT-400 (20702 stand-alone) *
[0b05:17cf] Asus (4352/20702A1 combo) *
[0b05:180a] Azurewave (4360/20702 combo)
[13d3:3404] Azurewave (4352HMB) *
[13d3:3411] Dell Alienware (4352/20702A1 combo) *
[13d3:3413] Azurewave (4360/20702 combo)
[13d3:3418] Azurewave (4352/20702 combo)
[13d3:3435] Azurewave (4352/20702 combo)
[13d3:3456] Azurewave (4352/20702 combo)
[413c:8143] Dell DW1550 (4352/20702 combo)
Windows 软件包中的所有固件都存在于 kext 中,并自动与其 供应商/设备ID(Vendor-id 和 Device-id)关联,固件已更新到版本 12.0.1.1105。
故障排除
安装 BrcmPatchRAM 之后,即使蓝牙图标出现,也可能是固件未正确更新的状态。可通过转到系统信息并在蓝牙信息面板下检查蓝牙固件版本号来验证固件是否已更新,如果版本号为 4096,则意味着设备没有更新固件,因此可能无法正常工作。可以通过在终端中运行以下命令来验证系统日志中的任何错误:
#版本为 10.12 或者更新的 macOS:
log show --last boot | grep -i brcm[fp]
#低于 10.12 的 macOS 版本:
cat /var/log/system.log | grep -i brcm[fp]
如果固件上传失败并显示错误,请尝试安装 BrcmPatchRAM 的 debug 版本,以便在日志中获取更多详细信息。
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!
黑苹果星球 » 黑苹果博通蓝牙补丁:BrcmPatchRAM 2.5.6