Ubuntu – How to set default profile for bluetooth headset


Kubuntu 20.04 on Lenovo Thinkpad.

I recently bought an entry level Sony Bluetooth headset (WH-CH500) for the express purpose of audio- and video-conferencing.

It all works flawlessly except for one thing: when the headset connects, it always uses the "A2DP" high quality profile, which is fine to listen to music, but disables the microphone. I can change it to "headset HSP/HFP" in the bluetooth device manager. But next time I reconnect the headset, e.g. after switching it off, rebooting or putting the PC to sleep, I have to change the profile manually again.

Of course, sometimes I will forget to, so will enter a meeting without a microphone. Annoying!

enter image description here

Is there a way to make it remember a default profile to use, so the given headset will always connect using this profile (or, simply use the last profile used) ?

There are many questions and threads here and elsewhere about the opposite problem (force A2DP mode), but I could not find anything to force the "headset" profile.

Best Answer

You can consider this as a workaround, as here The profile will be switched to HSP/HFP once you start an activity that requires a microphone but the profile initially is set to a2dp_sink.

Modify /etc/pulse/default.pa

Add the following lines or modify them

### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy auto_switch=2

The magic here in auto_switch=2 which will make the pulse audio switch the profile based on requirements.

For more information and options you can refer to this reference wiki : https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-bluetooth-policy


These are some of the pre-conditions that may affect the method.