Skip to content

Instantly share code, notes, and snippets.

@ehzawad
Forked from xbeta/README.md
Created July 8, 2021 02:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ehzawad/e4c48939f5eb7bc9bcd955e23f71885c to your computer and use it in GitHub Desktop.
Save ehzawad/e4c48939f5eb7bc9bcd955e23f71885c to your computer and use it in GitHub Desktop.
Macbook Pro Bluetooth + WiFi 2.4GHz interference fix for Mavericks

http://stackoverflow.com/questions/24380159/corebluetooth-and-wifi-interference

http://lists.apple.com/archives/bluetooth-dev/2013/Aug/msg00023.html

This is a well known issue, and it has a solution that is confirmed to work for the Mac side.

sudo defaults write /Library/Preferences/com.apple.airport.bt.plist bluetoothCoexMgmt Hybrid

After you run this script, the issue will go away and BT connections will remain stable.

And here is the explanation:

Background: after a lot of snooping and head scratching, here's what I found: the issue here seems to be that the system isn't using the same Bluetooth/Airport coexistance mode for BLE as it uses for BT Classic. One tell tale sign: if you have any BT Classic devices connected and active, the bug won't repro (neither for the Classic device nor any connected BLE device). The moment the Classic device disconnects, the bug repros (ie all the BLE connections are also dropped).

Further, I was able to find reference in the symbol table of an airport configd agent to an override setting for the coexistance mode. If you set the mode manually as above to 'hybrid' (the same mode that is usually invoked when a classic device is connected), the bug no longer repros.

All credits go to William Henderson from Knock for this trick.

There were cases when the same effect was perceived on iOS devices as well. This some times happens when the Core Bluetooth connections are not stable. Sometimes this can lead to the WiFi connection being unusable. But it's hard to reproduce, at least I wasn't able to, and your question does not concern it either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment