Crazy Bluetooth issues on Linux with Bose QC35 headphones

For a while, I simply could not get my Bose QC35 headphones to connect to my Thinkpad while running Ubuntu Linux. I had the hack some crap to get them working. I'm not quite sure why Bluetooth is still a pain in the ass on Linux, but it is by far the worst experience ever for me. I thought Apple was bad with handling Bluetooth, but Linux wanted to prove me wrong.

I actually have forgotten most of what I did, as it was over weeks of working on it that I finally got the stuff working properly. So, I will post here what I have changed and edit this post as I remember crap. I'm sure I'll need to remember how I did this in the future as well.

Change the bluetooth config files

Get on over to /etc/bluetooth and edit main.conf. The sections I added under the [General] section are as follows:

ControllerMode = bredr
AutoEnable=true    
Disable=Socket    
Enable=Gateway,Source    
Master=true    
AutoConnect=true    

[Headset]    
HFP=true    
MaxConnected=2 

Once you do that, run systemctl restart bluetooth or just reboot your system completely if you're so inclined. Once that's done, you should be able to pair your bluetooth headset with a tool of your choice. Try blueman or the Gnome bluetooth setup tool. Make absolutely sure when you pair that the headphones have the profile of A2DP Sink or they won't work correctly.

Your headphones should pair when you turn them on from here on out and work with audio properly. I remember, at some point, I had to disable loading module-bluetooth-discover at bootup and load it after everything else was loaded by running pactl load-module module-bluetooth-discover. I just added it to my init section in my i3 config file. However, as of the latest from Ubuntu 16.10, that doesn't appear to be a necessity anymore. In 16.04.1, it was.

Notes

  • If you're having issues where your headphones say "Connecting to..." over and over and then give up, turn them off and back on again and it should connect the second time. I have this issue sometimes after I reboot my computer.
  • There may be other things I did, but I'm forgetting. If you're having issues, leave a note and I'll track down some more things, or update this post when I remember.