-
Notifications
You must be signed in to change notification settings - Fork 473
Work Around with Bluetooth
Steve Zheng edited this page Apr 5, 2023
·
55 revisions
Thanks to zxystd for providing IntelBluetoothFirmware, which let the native Intel Bluetooth work. However, the current Intel BT driver does not support some Bluetooth devices. Here are some suggestions for better BT experience:
- Insert a USB Bluetooth / Disable the original one
- Solder D+ and D- wires to the WLAN_LTE slot
- Solder D+ and D- wires to the fingerprint slot
- Buy and insert a supported BT dongle model from BrcmPatchRAM README
-
For Clover users:
- Replace
/CLOVER/ACPI/patched/SSDT-USB.aml
withSSDT-USB-USBBT.aml
- Delete
BlueToolFixup.kext
,IntelBTPatcher.kext
,IntelBluetoothFirmware.kext
, andIntelBluetoothInjector.kext
in/CLOVER/kexts/
- These steps are for disabling the internal Bluetooth
-
Download and add
BlueToolFixup.kext
(macOS12),BrcmBluetoothInjector.kext
(< macOS12),BrcmFirmwareData.kext
, andBrcmPatchRAM3.kext
to/CLOVER/kexts/Other/
(Don't need to do this step if you just want to disable the embedded Intel Bluetooth) - Rebuild kextcache and restart
- Replace
-
For OC users:
- Add
SSDT-USB-USBBT.aml
to/OC/ACPI/
-
Download and add
BrcmBluetoothInjector.kext
(< macOS12),BrcmFirmwareData.kext
, andBrcmPatchRAM3.kext
to/OC/Kexts/
(Don't need to do this step if you just want to disable the embedded Intel Bluetooth) - Open
/OC/config.plist
, change the following code:
- Add
<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>
- And then change the following code:
<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>
- Don't forget to disable Intel Bluetooth kexts, change the following code:
<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>
- Also, add these code into
Kernel - Add
section: (Don't need to do this step if you just want to disable the embedded Intel Bluetooth)
<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>
- For macOS12, re-enable
BlueToolFixup
is necessary: (Don't need to do this step if you just want to disable the embedded Intel Bluetooth)
<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>
- Buy and insert a supported internal wireless card(e.g. BCM943602CS) in M.2 slot
- Carefully solder D+ and D- wires to the WLAN_LTE slot as #7
- Go to Windows, run
Device Manager
to check whether the soldering is success or not -
For Clover users:
- If success, replace
/CLOVER/ACPI/patched/SSDT-USB.aml
with SSDT-USB-WLAN_LTEBT.aml - Delete
BlueToolFixup.kext
,IntelBTPatcher.kext
,IntelBluetoothFirmware.kext
, andIntelBluetoothInjector.kext
in/CLOVER/kexts/
- If success, replace
-
For OC users:
- Add SSDT-USB-WLAN_LTEBT.aml to
/OC/ACPI/
- Open
/OC/config.plist
, change the following code:
- Add SSDT-USB-WLAN_LTEBT.aml to
<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>
- And then change the following code:
<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>
- Don't forget to disable Intel Bluetooth kexts, change the following code:
<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>
- Buy and insert a supported internal wireless card(e.g. BCM943602CS) in M.2 slot
- Carefully solder D+ and D- wires to the fingerprint slot as #246
- Go to Windows, run
Device Manager
to check whether the soldering is success or not -
For Clover users:
- If success, replace
/CLOVER/ACPI/patched/SSDT-USB.aml
withSSDT-USB-FingerBT.aml
- Delete
BlueToolFixup.kext
,IntelBTPatcher.kext
,IntelBluetoothFirmware.kext
, andIntelBluetoothInjector.kext
in/CLOVER/kexts/
- If success, replace
-
For OC users:
- Add
SSDT-USB-FingerBT.aml
to/OC/ACPI/
- Open
/OC/config.plist
, change the following code:
- Add
<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>
- And then change the following code (If you can't find it, please add manually):
<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>
- Don't forget to disable Intel Bluetooth kexts, change the following code:
<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>