The A2DP bluetooth profile allows high quality audio to be transferred from the phone.
This page describes how to setup A2DP on the Freerunner.
This information is mostly taken from this mail thread. It has been tested on FDOM and FSO milestone 5, but should also work on 2008.12.
First check that you have the correct package versions installed with grep blue. The versions should be these:
bluez-audio - 3.33-r3 bluez-utils - 3.33-r3 bluez-utils-alsa - 3.33-r3 bluez-utils-compat - 3.33-r3 libbluetooth2 - 3.33-r0
For user with bluez4 (SHR-unstable ecc.) bluez-audio 3.33 and bluez-utils-alsa 3.33 are not compatible with bluez4
bluez4 - 4.30-r1 connman-plugin-bluetooth - 0.10-r0 - kernel-module-bluetooth - 2.6.28-oe1+xxxxx libasound-module-bluez - 4.30-r0 libbluetooth2 - 3.33-r0
If you are willing to risk your installationand want to stay on bluez3, you can remove bluez4 to resolve this issue by doing
opkg remove -recursive bluez4
(will also remove connman-plugin-bluetooth). After that you need to edit /etc/init.d/bluetooth and replace DAEMON_NAME=bluetoothd with DAEMON_NAME=hcid. This has been tested and works on FSO MS5.
Your /etc/asound.conf should contain these:
pcm.!default { type plug slave.pcm "dmix" } ctl.mixer0 { type hw card 0 } pcm.bluetooth { type bluetooth device "XX:XX:XX:XX:XX:XX" profile "auto" }
XX:XX:XX should be replaced with your device ID.
Turn on bluetooth in the GUI and then do
export DEVICE=XX:XX:XX:XX:XX:XX /etc/init.d/bluetooth stop /etc/init.d/bluetooth start passkey-agent --default 0000 & dbus-send --system --type=method_call --print-reply --dest=org.bluez \ /org/bluez/hci0 org.bluez.Adapter.CreateBonding string:$DEVICE dbus-send --system --print-reply --dest=org.bluez \ /org/bluez org.bluez.Manager.ActivateService string:audio dbus-send --system --type=method_call --print-reply --dest=org.bluez \ /org/bluez/audio org.bluez.audio.Manager.CreateDevice string:$DEVICE dbus-send --system --type=method_call --print-reply --dest=org.bluez \ "/org/bluez/audio/device0" org.bluez.audio.Sink.Connect
If the last step fails, see to it that the device returned in the step before is device0 - otherwise use the other number.
Turn on bluetooth in the GUI and then pair with simple-agent (passkey-agent from bluez-utils 3.33 won't work) simple-agent is included in bluez4 source package (test folder)
/etc/init.d/bluetooth stop /etc/init.d/bluetooth start python simple-agent hci0 XX:XX:XX:XX:XX:XX
Response is something like this :
RequestPinCode (/org/bluez/XXXX/hci0/dev_XX_XX_XX_XX_XX_XX) Enter PIN Code: XXXX Release New device (/org/bluez/XXXX/hci0/dev_XX_XX_XX_XX_XX_XX)
Now you can start playing, no need to connect manualy.
To play a file with mplayer use the following command:
mplayer -ao alsa:device=bluetooth /path/to/file.ogg