Skip to content

蓝牙解决方案

Steve Zheng edited this page Apr 5, 2023 · 39 revisions

简介

感谢 zxystd 提供 IntelBluetoothFirmware,解决了自带 Intel 蓝牙无法使用的问题。但目前上述驱动不支持部分蓝牙设备。以下是可以让蓝牙体验更好的办法:


插入一个USB蓝牙 / 禁用自带蓝牙

  • 购买并插入一个受支持的USB蓝牙,受支持的型号可见 BrcmPatchRAM README
  • 如果是 Clover 用户:
    • 替换 /CLOVER/ACPI/patched/SSDT-USB.amlSSDT-USB-USBBT.aml
    • 删除 /CLOVER/kexts/ 里的 BlueToolFixup.kextIntelBTPatcher.kextIntelBluetoothFirmware.kextIntelBluetoothInjector.kext
      • 这几步是用来禁用自带蓝牙
    • 下载 并添加 BlueToolFixup.kext (macOS12),BrcmBluetoothInjector.kext (< macOS12),BrcmFirmwareData.kextBrcmPatchRAM3.kext/CLOVER/kexts/Other/ (不需要做这步如果你只想关闭内置 Intel 蓝牙)
    • 重建缓存并重启
  • 如果是 OC 用户:
    • 添加 SSDT-USB-USBBT.aml/OC/ACPI/
    • 下载 并添加 BrcmBluetoothInjector.kext (< macOS12),BrcmFirmwareData.kextBrcmPatchRAM3.kext/OC/Kexts/ (不需要做这步如果你只想关闭内置 Intel 蓝牙)
    • 打开 /OC/config.plist,更改以下代码:
<dict>
	<key>Comment</key>
	<string>USB ports customization(Native Bluetooth)</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>Path</key>
	<string>SSDT-USB.aml</string>
</dict>
  • 然后更改以下代码:
<dict>
	<key>Comment</key>
	<string>USB ports customization(Disable native Bluetooth)</string>
	<key>Enabled</key>
-	<false/>
+	<true/>
	<key>Path</key>
	<string>SSDT-USB-USBBT.aml</string>
</dict>
  • 不要忘记禁用 Intel 蓝牙驱动,更改以下代码:
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>BlueToolFixup.kext</string>
	<key>Comment</key>
	<string>Force BlueTool to skip firmware update on Monterey</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/BlueToolFixup</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>21.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>IntelBTPatcher.kext</string>
	<key>Comment</key>
	<string>A Lilu base patcher that fix Intel Bluetooth</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/IntelBTPatcher</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>16.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>IntelBluetoothFirmware.kext</string>
	<key>Comment</key>
	<string>Bluetooth</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/IntelBluetoothFirmware</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>16.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>IntelBluetoothInjector.kext</string>
	<key>Comment</key>
	<string>Bluetooth</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string></string>
	<key>MaxKernel</key>
	<string>20.99.99</string>
	<key>MinKernel</key>
	<string>16.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
  • 最后,添加以下代码到 Kernel - Add(不需要做这步如果你只想关闭内置 Intel 蓝牙)
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>BlueToolFixup.kext</string>
	<key>Comment</key>
	<string></string>
	<key>Enabled</key>
	<true/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/BlueToolFixup</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>21.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>BrcmBluetoothInjector.kext</string>
	<key>Comment</key>
	<string></string>
	<key>Enabled</key>
	<true/>
	<key>ExecutablePath</key>
	<string></string>
	<key>MaxKernel</key>
	<string>20.99.99</string>
	<key>MinKernel</key>
	<string>14.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>BrcmFirmwareData.kext</string>
	<key>Comment</key>
	<string></string>
	<key>Enabled</key>
	<true/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/BrcmFirmwareData</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>14.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>BrcmPatchRAM3.kext</string>
	<key>Comment</key>
	<string></string>
	<key>Enabled</key>
	<true/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/BrcmPatchRAM3</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>19.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
  • 如果是 macOS12 用户,启用 BlueToolFixup 是必要的:(不需要做这步如果你只想关闭内置 Intel 蓝牙)
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>BlueToolFixup.kext</string>
	<key>Comment</key>
	<string>Force BlueTool to skip firmware update on Monterey</string>
	<key>Enabled</key>
-	<false/>
+	<true/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/BlueToolFixup</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>21.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>

焊接D+和D-线,飞到 WLAN_LTE 卡槽(仅支持 TM1701)

  • 购买并插入一个受支持的内置无线网卡(例如:BCM943602CS)到 M.2 插槽
  • 小心地把D+和D-线飞到 WLAN_LTE 卡槽,见#7
  • 进入 Windows,运行 设备管理器 来验证焊接是否成功
  • 如果是 Clover 用户:
    • 如果成功,替换 /CLOVER/ACPI/patched/SSDT-USB.amlSSDT-USB-WLAN_LTEBT.aml
    • 删除 /CLOVER/kexts/ 里的 BlueToolFixup.kextIntelBTPatcher.kextIntelBluetoothFirmware.kextIntelBluetoothInjector.kext
  • 如果是 OC 用户:
<dict>
	<key>Comment</key>
	<string>USB ports customization(Native Bluetooth)</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>Path</key>
	<string>SSDT-USB.aml</string>
</dict>
  • 然后更改以下代码:
<dict>
	<key>Comment</key>
	<string>USB ports customization(WLAN_LTE Bluetooth)</string>
	<key>Enabled</key>
-	<false/>
+	<true/>
	<key>Path</key>
	<string>SSDT-USB-WLAN_LTEBT.aml</string>
</dict>
  • 不要忘记禁用 Intel 蓝牙驱动,更改以下代码:
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>BlueToolFixup.kext</string>
	<key>Comment</key>
	<string>Force BlueTool to skip firmware update on Monterey</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/BlueToolFixup</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>21.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>IntelBTPatcher.kext</string>
	<key>Comment</key>
	<string>A Lilu base patcher that fix Intel Bluetooth</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/IntelBTPatcher</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>16.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>IntelBluetoothFirmware.kext</string>
	<key>Comment</key>
	<string>Bluetooth</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/IntelBluetoothFirmware</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>16.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>IntelBluetoothInjector.kext</string>
	<key>Comment</key>
	<string>Bluetooth</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string></string>
	<key>MaxKernel</key>
	<string>20.99.99</string>
	<key>MinKernel</key>
	<string>16.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>

焊接D+和D-线,飞到指纹端口

  • 购买并插入一个受支持的内置无线网卡(例如:BCM943602CS)到 M.2 插槽
  • 小心地把D+和D-线飞到指纹端口,见#246
  • 进入 Windows,运行 设备管理器 来验证焊接是否成功
  • 如果是 Clover 用户:
    • 如果成功,替换 /CLOVER/ACPI/patched/SSDT-USB.amlSSDT-USB-FingerBT.aml
    • 删除 /CLOVER/kexts/ 里的 BlueToolFixup.kextIntelBTPatcher.kextIntelBluetoothFirmware.kextIntelBluetoothInjector.kext
  • 如果是 OC 用户:
    • 添加 SSDT-USB-FingerBT.aml/OC/ACPI/
    • 打开 /OC/config.plist,更改以下代码:
<dict>
	<key>Comment</key>
	<string>USB ports customization(Native Bluetooth)</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>Path</key>
	<string>SSDT-USB.aml</string>
</dict>
  • 然后更改以下代码(如果没有找到,请自行添加):
<dict>
	<key>Comment</key>
	<string>USB ports customization(Fingerprint Bluetooth)</string>
	<key>Enabled</key>
-	<false/>
+	<true/>
	<key>Path</key>
	<string>SSDT-USB-FingerBT.aml</string>
</dict>
  • 不要忘记禁用 Intel 蓝牙驱动,更改以下代码:
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>BlueToolFixup.kext</string>
	<key>Comment</key>
	<string>Force BlueTool to skip firmware update on Monterey</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/BlueToolFixup</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>21.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>IntelBTPatcher.kext</string>
	<key>Comment</key>
	<string>A Lilu base patcher that fix Intel Bluetooth</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/IntelBTPatcher</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>16.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>IntelBluetoothFirmware.kext</string>
	<key>Comment</key>
	<string>Bluetooth</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string>Contents/MacOS/IntelBluetoothFirmware</string>
	<key>MaxKernel</key>
	<string></string>
	<key>MinKernel</key>
	<string>16.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>
<dict>
	<key>Arch</key>
	<string>x86_64</string>
	<key>BundlePath</key>
	<string>IntelBluetoothInjector.kext</string>
	<key>Comment</key>
	<string>Bluetooth</string>
	<key>Enabled</key>
-	<true/>
+	<false/>
	<key>ExecutablePath</key>
	<string></string>
	<key>MaxKernel</key>
	<string>20.99.99</string>
	<key>MinKernel</key>
	<string>16.0.0</string>
	<key>PlistPath</key>
	<string>Contents/Info.plist</string>
</dict>