2009-01-13 08:25:45

by Thierry Pierret

[permalink] [raw]
Subject: BlueZ 4.26 : headset profile

Hi,

I wish my computer to play the role of a headset, with the aim to play
music from my bluetooth-capable player onto the computer soundcard.

First I had to enable the "Gateway" option in the "audio.conf" file in
order to get the Headset service exposed. By the same way, you must
enable the "Headset" option in order to be an audio gateway). It
sounds already weird to me.

Then I have to configure the .asoundrc file for the alsa-plugin
configuration. How do I specify my own bluetooth adapter as the music
source ? I tried this :

pcm.bluetooth {
type bluetooth
device XX:XX:XX:XX:XX:XX
profile hifi
}

where the specified address is the local address. But it did not work,
of course :

$ arecord -D bluetooth -f S16_LE /var/tmp/record.wav &
bluetoothd[1826]: Accepted new client connection on unix socket (fd=13)
bluetoothd[1826]: Audio API: BT_REQUEST <- BT_GET_CAPABILITIES
bluetoothd[1826]: Audio API: BT_ERROR -> BT_GET_CAPABILITIES
ALSA lib pcm_bluetooth.c:1561:(audioservice_expect)
BT_GET_CAPABILITIES failed : Input/output error(5)
bluetoothd[1826]: Unix client disconnected (fd=13)
arecord: main:552: audio open error: Input/output error


May I ask some help at this point ?

Regards.

Thierry Pierret


2009-01-13 09:03:25

by Johan Hedberg

[permalink] [raw]
Subject: Re: BlueZ 4.26 : headset profile

Hi,

On Jan 13, 2009, at 9:25, Thierry Pierret wrote:
> I wish my computer to play the role of a headset, with the aim to play
> music from my bluetooth-capable player onto the computer soundcard.

That's not implemented right now so it won't work. There's an
experimental patch available (with the misleading subject "Gateway
profile") on this list which hasn't been accepted upstream yet (since
there are just too many issues with it).

> First I had to enable the "Gateway" option in the "audio.conf" file in
> order to get the Headset service exposed. By the same way, you must
> enable the "Headset" option in order to be an audio gateway). It
> sounds already weird to me.

Yeah, I know it's a little bit counterintuitive. The reason is mainly
historical. What the option is referring to is which D-Bus interfaces
should be enabled for remote devices objects. I.e. "Headset" enables
support for the org.bluez.Headset interface on remote device objects
(i.e. allows remote devices that support the Headset/Handsfree role to
be used).

Johan