[FSO] Any luck with bluetooth headsets?

Paul Fertser fercerpav at gmail.com
Sun Feb 22 15:43:20 CET 2009

Carl Lobo <carllobo at gmail.com> writes:
> I'm really not too sure about this either, but I did manage to find a
> few manuals on the wolfson site and read up on the sound systems on
> the wiki, but from what I've been able to understand we need to setup
> the control connection using the regular bluez stack and bluez+alsa
> should be sending the sound directly through to the DAI connected to
> the bluetooth device (I think that's the voice ADC). 

Not possible at all. DAI connected to the bluetooth device is
inaccessible for SoC. The most you can do is set Voice DAC/ADC
parameters (rate, format) and set up routing accordingly. That's the
way GSM over BT headset (SCO) works currently, afaik.

> From what I gather getting BT working on a phone call should be
> easier using this method... 

Only for GSM without ability to record the call or playback something.

> Using SCORouting=HCI is what you would do on a standard laptop to
> get the headset working. 

Bluez has this setting by default and most laptop bluetooth modules
are pre-configured like this anyway. Moreover, this config option has
no impact on routing itself at all, it's just a hint to the other
applications about what they can and what they can't do (obviously,
they can't transfer sound over HCI when it's routed via PCM). I'm not
sure it has any effect in current versions at all.

The chip used in freerunner (CSR) has a special config memory option
to select how to route SCO. Please look up AN107 from CSR for
details. [1]

> After setting up using ~/.asoundrc using
> bluetooth as the name for the headset config I can use the headset
> on my laptop with something like arecord -D bluetooth -f S16_LE |
> aplay -D bluetooth -f S16_LE works - as in I could hear my own voice
> through the earplug of the bluetooth headset (I had tried this a
> long while back with bluez 3.3[63] I think). 

Works with laptop obviously because it routes over HCI by default.

> The same thing did not work on the FR. 

Because the chip is preconfigured to route over PCM it's impossible to
do otherwise unless this eeprom setting changed (csr calls it ps

>  With SCORouting=PCM I did get static and some sought of noise once
> the control connection was established...

Probably you'd get sound if you routed any source inside WM8753 to the
bluetooth DAI.

> I tried playing a 8kHz 16 bit mono track and if I select DAI 0,2,3 it
> plays through the speakers. But if I select DAI 1 aplay simply hangs
> and even Control-C can't kill it.

DAI 1 is currently broken. And i can't imagine a case when it can be
needed at all. Please see the new routing diagrams of the wiki, they
make routing and DAI modes more clear.

[1] http://case.cs.mnsu.edu/NSM%20Technology/141_HCI%20Implementation%20on%20BlueCore%20(AN107d).pdf
Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
mailto:fercerpav at gmail.com

More information about the community mailing list