MacOS – Choppy Bluetooth audio: How to persist Bluetooth bitpool settings on Mavericks

audiobluetoothmacos

I am using a Bluetooth 3.0/aptX Audio Device. Pairing the device leads to choppy audio, due to bad default bitpool settings in OSX.

The issue has been widely documented, e.g. here on stackexchange.

There used to be a fix on Yosemite by setting new defaults:

defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Max (editable)" 80 
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" 48 
defaults write com.apple.BluetoothAudioAgent "Apple Initial Bitpool (editable)" 40 
defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool" 58 
defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool Max" 58 
defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool Min" 48

This does not work on Mavericks though:

# defaults read com.apple.BluetoothAudioAgent
2015-01-29 17:28:12.522 defaults[80133:934404]
Domain /Users/jottr/Library/Preferences/com.apple.BluetoothAudioAgent does not exist

Writing new settings to com.apple.BluetoothAudioAgent does not affect the actual bitpool settings on Mavericks.

I am able to set Bluetooth bitpool settings in the Bluetooth Explorer App (which is part of Xcode):

Bluetooth Explorer

These settings are not persisted across reboots though.

How can I persist the desired Bluetooth Audio Bitpool settings across reboots on Mavericks?

Best Answer

To force the system to use USB Bluetooth by default, try the following command:

sudo nvram bluetoothHostControllerSwitchBehavior=always

This will modify your boot kernel arguments.

To do opposite, use never. The change would be applied after the reboot. To return to the default, run:

sudo nvram -d bluetoothHostControllerSwitchBehavior