Bluetooth speaker: preferred mode "High fidelity playback" (A2DP) is not getting saved

UPDATE Aug 2017: The solution marked as accepted by me apppears to have worked until Ubuntu 15.10. For 16.04+ choose one of the more recent solutions.

For 16.04+ the config file is /etc/bluetooth/main.conf NOT /etc/bluetooth/audio.conf .

I have a bluetooth speaker, Sony SRS-BTX300, which works in linux/ubuntu 13.04, but only after some fiddling. (Update Dec 2013: same problems remain in 13.10)

I have to set the preferred bandwidth mode to "High fidelity playback" (A2DP) each time after switching on the computer and reconnecting the speaker.

The mode resets itself to "telephony/duplex" (=low bandwidth) every time. It takes about 20 clicks to reset the speaker, (click through menu, disconnect, reconnects, select mode, test), and these are definitely too many clicks.

How can I make "A2DP" mode the default mode, an do so in a persistent manner?

A few screen shots will illustrate.

After choosing this menu by clicking on the bluetooth icon in the top panel in Unity...

Bluetooth Icon on panel

After setting up this...

A2DP

... the preferred mode will be reset to this after restarting/suspending the computer

Telephony Duplex


Solution 1:

There's an option in /etc/bluetooth/audio.conf called aAutoConnect=truewhich is hashed out.

sudo nano /etc/bluetooth/audio.conf

Delete the "#" at the start of the AutoConnect=true line

I found enabling this option by removing the # and got things connecting properly with my bluetooth headset

Restart the bluetooth service for the change to take effect:

sudo service bluetooth restart

Solution 2:

Add the following line to /etc/bluetooth/audio.conf:

[General]
Disable=Headset

and then run this command:

sudo service bluetooth restart

Thread: (Natty) Connect only A2DP profile for bluetooth headset.

Solution 3:

For those wondering, I found in Ubuntu 16.04 there is a slight difference to the answer:

sudo gedit /etc/bluetooth/main.conf

And update the following line

#AutoEnable=false

to

AutoEnable=true

Followed by

sudo service bluetooth restart

For me, this defaulted the audio profile to A2DP Sink when connecting a bluetooth audio device.