As we all know Amarok is the best music player in the world, and it’s free. It’s only available on Linux at the moment but the devs are working hard to port it to Windows. Anyway I digress. I wanted to explain how I got Amarok playing on my laptop, accessing my music collection on my media server, through my bluetooth dongle, picked up by my Sony MBR-100 bluetooth audio receiver and finally terminating joyfully in my trusty Sennheisers.

I’ll begin at the noisy end. The Sennheisers are simply a great pair of headphones. The Sony MBR 100 was a free gift with my mobile phone which I initially dismissed as a gimmick. I mean, who honestly uses their phone as an MP3 player? However, quite separately I discovered that my new phone connects far better to Ubuntu over bluetooth than with the USB cable, so I bought a cheap dongle and indeed, after some futzing around it connects very well. It subsequently occurred to me that I may be able to press that gimmick into service around the home.

Here’s the tricky bit. I figured that connecting the MBR-100 to my laptop was going to prove a bit of a pain, and indeed the initial pairing with the device was the stumbling block. Normally pairing can be achieved by right-clicking on the bluetooth icon in the system tray, but it doesn’t seem to work with the MBR-100. I managed to overcome the difficulty by doing the following:

Install the old btsco module:

sudo apt-get install bluez-btsco

Load the module:

sudo modprobe snd-bt-sco

get the address of the MBR-100 using hcitool:

hcitool scan

At this point the MBR-100 needs to be allowing pairing. Turn off, then on again until the LED flashes green/red/green/red etc. Now we can attempt connection:

sudo btsco -v aa:bb:cc:dd:ee:ff

Where aa:bb:cc:dd:ee:ff is the address of the device as revealed by the scan. The bluetooth symbol in the system tray should now spit out a dialogue about entering a passcode – click and enter the default pairing number, on mine it is 0000.

If you’ve got this far then the rest should be a doddle. If not, it may be of use to restart bluetooth services and try again:

sudo /etc/init.d/bluetooth restart

Once paired, the MBR-100 doesn’t appear to need the snd-bt-sco module any longer, and will accept broadcast audio from my laptop without any extra intervention even after a restart. There are two things remaining to do. First we need to create a config file for alsa (advanced linux sound architecture if you were wondering!):

gedit ~/.asoundrc

Copy this into the file:

pcm.bluetooth {
type bluetooth
device aa:bb:cc:dd:ee:ff

replacing aa:bb:cc:dd:ee:ff as before with the address of the MBR-100. We need to restart alsa now:

sudo /etc/init.d/alsa-utils restart

In Amarok we can browse to (hey a GUI at last :)) Settings > Configure Amarok > Engine then, selecting alsa as our output plugin and by hitting “Apply”, we can type bluetooth in the stereo box, apply again and that’s it. Play a song!

More info at the bluez wiki.