黑苹果修复博通/英特尔蓝牙在macOS Monterey 12.0 正式版中失效的方法

起因

原文「修复蓝牙在macOS 12.0 Monterey中失效的临时解决方法」,现在 Monterey 正式版已发布,方法没有任何变化,这里编辑一下重新发布。

2021 年 6 月初的 WWDC2021 上,苹果发布了下一代 macOS,代号 Monterey(蒙特雷),大版本号 12.0。爱折腾爱尝鲜的黑苹果小伙伴们已经通过各种折腾安装上了新版 macOS。但是很快出现了各种各样的驱动问题,其中比较突出的是蓝牙掉驱动并且卡跑码问题。Monterey 大幅精简了蓝牙框架,原因是 macOS 12.0 砍掉了 2015 年之前机型的支持,另外可能也是为通用控制做准备。

很快,OC 团队做出反应添加了解决方案。说起来也简单,就是新加一个驱动:BlueToolFixup.kext,然后在 macOS 12.0 取消蓝牙 injector(注入器)的加载。

「注意」

  • BlueToolFixup.kext 目前是 BrcmPatchRAM 文件包中的一部分,新版本发布会直接包括这个文件,英特尔蓝牙也需要这个驱动;
  • 使用奋威 T919 或其它免驱动型网卡的,无需担心蓝牙兼容性问题,在 Monterey 里依旧无需任何驱动。

 

解决方法

  • Lilu 升级到 1.5.7 及以上;
  • 博通卡:将 BrcmPatchRAM 升级到 2.6.1 及以上;
  • 英特尔:将 IntelBluetoothFirmware 升级到 2.0.1 及以上;
  • 关闭 OpenCore 的 XhciPortLimit,位于 config → Kernel → Quirks 区域,在升级或安装 macOS Monterey 之前,建议定制好 USB 接口
  • 将 BlueToolFixup.kext 放到 Clover/OpenCore 对应的 kext 目录
    • OpenCore:/EFI/OC/Kexts/
    • Clover:/EFI/CLOVER/Kexts/Other/
  • 最后,按照下一章节的说明修改 config.plist 文件。

 

Clover 方法

Clover 使用文件夹名称来区别各个系统加载的 kext,所以可以这么操作:

  • 博通卡:把 BrcmBluetoothInjector.kext 从 /EFI/CLOVER/Kexts/Other/ 挪到 /EFI/CLOVER/Kexts/11.0/,将 BlueToolFixup.kext 放到 /EFI/CLOVER/Kexts/12.0/
  • 英特尔:把 IntelBluetoothInjector.kext 从 /EFI/CLOVER/Kexts/Other/ 挪到 /EFI/CLOVER/Kexts/11.0/,将 BlueToolFixup.kext 放到 /EFI/CLOVER/Kexts/12.0/

如果没有 11.0/12.0 的文件夹,自己新建就可以。这样一来 Clover 在引导 11.0 时会加载 Injector,但是引导 12.0 时则不会加载 Injector,会加载 BlueToolFixup.kext 。其它 Kext 文件继续放在 Other 目录无影响。

「注意」以上方法如果不起作用,那么在迁移到 Monterey 时,需要手动从 Kext 目录移除 Injector 文件。「提示」如果你没有从 12.0 切换到低版本 macOS 的需求,xxxxInjector .kext 可以直接删除(无论博通和英特尔都一样),无需设置文件夹;

 

OpenCore 方法

OpenCore 用户推荐使用另一种方法,利用 OpenCore 的最小内核(MinKernel)和最大内核(MaxKernel)特性,给 injector 设置最大内核 20.99.99,也就是对应 macOS Big Sur 11.0,给 BlueToolFixup.kext 设置最小内核 21.0.0,对应 macOS Monterey 12.0。

「提示」如果你没有从 12.0 切换到低版本 macOS 的需求,xxxxInjector .kext 可以直接删除(无论博通和英特尔都一样),也无需设置最大最小内核;

可以直接看图操作:

完成后,记得保存然后重启,如果无效,请关机冷启动,清除 Kext 缓存,或尝试重置 NVRAM。

 

 

0. 本站所有资源解压密码均为 heipg.cn
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!

黑苹果星球 » 黑苹果修复博通/英特尔蓝牙在macOS Monterey 12.0 正式版中失效的方法

2 评论

  1. 把最新编译的IntelBluetoothFirmware.kext 3.0.0 文件大小2.9MB、BlueToolFixup.kext 2.6.1 文件大小42KB放到kext就可以了,不用改内核的,IntelBluetoothInjector.kext在12.0.1中直接删除就好了,最新的BlueToolFixup.kext已经修复了在12.0.1版本下蓝牙失效和蓝牙关闭后不能打开的问题

    1. 感谢反馈,这么设置内核是为了配置的普适性,如果 BlueToolFixup.kext 可以完全代替 Injector,那就更好了,等一波版本更新,更新完了实测后修改 :)

发表评论