Bluetooth Headset: Can't set A2DP (High Fidelity Playback). Poor sound quality

I've managed to fix it. Even though I'm not sure if the following steps are in the exactly order to do it, I'm pretty sure it was the combination of them that fixed it. Here they are:

  1. I've installed Blueman: sudo apt-get install blueman

  2. I've edited the /etc/bluetooth/audio.conf file: sudo -H gedit /etc/bluetooth/audio.conf and add this line in the end of it: Disable=Headset. Users on Ubuntu 17.04 and above may not have audio.conf, but can instead use main.conf.

Note: I've also installed something called "pavucontrol" via terminal with the command sudo apt-get install pavucontrol, but I'm really not sure if it was this or the Blueman that solved it. I suspect it was the Blueman, but if it doesn't help, try the pavucontrol and see if it solves.

Hope this helps!


  1. Install Blueman:

    sudo apt-get install blueman
    
  2. Add Disable=headset to /etc/bluetooth/main.conf.

  3. Restart the bluetooth daemon:

    sudo service bluetooth restart
    

If you still have poor sound quality go to pavucontrol and under Configuration set the profile of your device to off and then to A2DP and it should work now.


I also had the same problem with automatic change back to HSP/HFP.

I solved this by editing /etc/bluetooth/main.conf and uncommenting the line

Name = BlueZ

in the section [General].

Though, it might be not available, when the bluez package is not installed.

Thanks anyway for the tip with the file.


Get the index of your card:

pacmd list-cards

Set the cards profile to a2dp (example: index 2):

pacmd set-card-profile 2 a2dp_sink

Credit to develmusa of the ArchLinux forums: https://bbs.archlinux.org/viewtopic.php?pid=1720877#p1720877