So it’s been a while since I last blogged about anything and today I’ve had a hell of a time with PulseAudio and Bluetooth and trying to find an actual solution to my woes (Jump to the guide).
I recently bought an Intel 7260AC Wireless and Bluetooth PCIe card for my laptop and also decided to try Linux as my main OS again. Now I prefer Debian as a distro but have found it to be a little stale in some aspects mainly surrounding it’s stable repos. I have in the past tried Ubuntu but it’s such a hassle removing the default crap like the horrid Unity Amazon integration and I dislike unity so that’s totally out of the question. I have however decided to try Linux Mint Debian Edition (LMDE) as it’s 100% Debian testing compatible which is nice and actually cinnamon is a nice DM/GUI which has finally matured sufficiently.
Everything installed perfectly fine via the DVD and I was greeted with a very nice login manager (although I can see the screen refresh which I can’t be bothered to fix as its only a minor annoyance) and then a very simple and nice Cinnamon desktop manager. Cinnamon is a fork of GTK3+3 / GNOME developed for Mint with the classic gnome look and feel. The default layout is a single pane on the bottom of the screen and a menu bar, a few launcher icons, the task bar, notifications and a clock.
Everything surprisingly worked out of the box, including the WiFi, graphics and Bluetooth which are all things I’ve had issues with in the past.
The Problem…
But here comes my problem, I went to use one of my bluetooth speakers from my laptop to have a play around. I could pair the devices perfectly fine but then the laptop refused to use the bluetooth speakers as an output.
Now audio in linux isn’t an entirely simple affair and tracking down at what stage the fault was at was hard but I was fairly certain it was between PulseAudio and the bluetooth (Bluez), there is a packaged lib for pulseaudio and bluetooth called ‘pulseaudio-module-bluetooth’ which is reported to fix issues but it was already installed which meant the issue wasn’t with pulseaudio directly but something was meaning the modules were not being loaded correctly after the bluetooth was paired which wasn’t enabling the A2DP Sink, I tried manually loading the modules with no success.
I then stumbled across some posts about that discussed editing the way the bluetooth stack connects this involved editing a couple of core config files for bluetooth. I tried a couple of different configurations, some of which caused bluetooth to stop pairing all together but I finally found a working config.
The Solution…
So if you’re struggling to get a bluetooth speaker or headset to work after pairing it then try the following:
su nano /etc/bluetooth/audio.conf
add the following underneath [General]
Disable=Socket Enable=Media,Source,Sink,Gateway
Save & exit
service bluetooth restart
This allowed me to re-pair my device and have it show up correctly in PulseAudio.