[pulseaudio-discuss] Problems trying to connecf HFP device

Franz Glauber franzec05 at gmail.com
Tue Feb 8 01:58:05 PST 2011


I'm cross-posting this from bluez, since I got no reply there and I'm
not sure wether this is a pulseaudio issue or a bluez.

I have a new HFP (mono headset). I can pair it, it recognizes the
services Audio and Headset. I am also able to connect the Headset
service using D-Feet. When it does, Pulseaudio is notified and attempt
to configure it for use. The revelant part seems to be this
negotiation:

On bluetoothd:

bluetoothd[9596]: audio/unix.c:server_cb() Accepted new client
connection on unix socket (fd=24)
bluetoothd[9596]: audio/unix.c:client_cb() Audio API: BT_REQUEST <-
BT_GET_CAPABILITIES
bluetoothd[9596]: audio/unix.c:unix_ipc_sendmsg() Audio API:
BT_RESPONSE -> BT_GET_CAPABILITIES
bluetoothd[9596]: audio/unix.c:client_cb() Audio API: BT_REQUEST <-
BT_GET_CAPABILITIES
bluetoothd[9596]: audio/unix.c:unix_ipc_sendmsg() Audio API:
BT_RESPONSE -> BT_GET_CAPABILITIES
bluetoothd[9596]: audio/unix.c:client_cb() Audio API: BT_REQUEST <- BT_OPEN
bluetoothd[9596]: audio/unix.c:handle_sco_open() open sco -
object=/org/bluez/9596/hci0/dev_88_88_00_B9_CC_DD source=ANY
destination=ANY lock=readwrite
bluetoothd[9596]: audio/unix.c:unix_ipc_sendmsg() Audio API:
BT_RESPONSE -> BT_OPEN
bluetoothd[9596]: audio/unix.c:client_cb() Audio API: BT_REQUEST <-
BT_SET_CONFIGURATION
bluetoothd[9596]: audio/unix.c:unix_ipc_sendmsg() Audio API:
BT_RESPONSE -> BT_SET_CONFIGURATION
bluetoothd[9596]: audio/unix.c:client_cb() Audio API: BT_REQUEST <-
BT_START_STREAM
bluetoothd[9596]: audio/headset.c:headset_set_state() State changed
/org/bluez/9596/hci0/dev_88_88_00_B9_CC_DD: HEADSET_STATE_CONNECTED ->
HEADSET_STATE_PLAY_IN_PROGRESS
bluetoothd[9596]: audio/headset.c:handle_event() Received AT+CLIP=1

On pulseaudio:

D: module-bluetooth-discover.c: Loading module-bluetooth-device
address="88:88:00:B9:CC:DD"
path="/org/bluez/9596/hci0/dev_88_88_00_B9_CC_DD"
I: card.c: Created 1 "bluez_card.88_88_00_B9_CC_DD"
D: module-bluetooth-device.c: Connected to the bluetooth audio service
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_GET_CAPABILITIES
D: module-bluetooth-device.c: Trying to receive message from audio service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_GET_CAPABILITIES
D: module-bluetooth-device.c: Payload size is 9 6
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_GET_CAPABILITIES
D: module-bluetooth-device.c: Trying to receive message from audio service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_GET_CAPABILITIES
D: module-bluetooth-device.c: Payload size is 9 6
D: module-bluetooth-device.c: Got device capabilities
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_OPEN
D: module-bluetooth-device.c: Trying to receive message from audio service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_OPEN
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_SET_CONFIGURATION
D: module-bluetooth-device.c: Trying to receive message from audio service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_SET_CONFIGURATION
D: module-bluetooth-device.c: Connection to the device configured
D: module-bluetooth-device.c: Got the stream socket
I: sink.c: Created sink 1 "bluez_sink.88_88_00_B9_CC_DD" with sample
spec s16le 1ch 8000Hz and channel map mono
I: sink.c:     bluetooth.protocol = "sco"
I: sink.c:     device.intended_roles = "phone"
I: sink.c:     device.description = "G688"
I: sink.c:     device.string = "88:88:00:B9:CC:DD"
I: sink.c:     device.api = "bluez"
I: sink.c:     device.class = "sound"
I: sink.c:     device.bus = "bluetooth"
I: sink.c:     device.form_factor = "headset"
I: sink.c:     bluez.path = "/org/bluez/9596/hci0/dev_88_88_00_B9_CC_DD"
I: sink.c:     bluez.class = "0x200404"
I: sink.c:     bluez.name = "G688"
I: sink.c:     device.icon_name = "audio-headset-bluetooth"
I: source.c: Created source 2 "bluez_sink.88_88_00_B9_CC_DD.monitor"
with sample spec s16le 1ch 8000Hz and channel map mono
I: source.c:     device.description = "Monitor of G688"
I: source.c:     device.class = "monitor"
I: source.c:     device.string = "88:88:00:B9:CC:DD"
I: source.c:     device.api = "bluez"
I: source.c:     device.bus = "bluetooth"
I: source.c:     device.form_factor = "headset"
I: source.c:     bluez.path = "/org/bluez/9596/hci0/dev_88_88_00_B9_CC_DD"
I: source.c:     bluez.class = "0x200404"
I: source.c:     bluez.name = "G688"
I: source.c:     device.icon_name = "audio-headset-bluetooth"
I: source.c:     device.intended_roles = "phone"
I: source.c: Created source 3 "bluez_source.88_88_00_B9_CC_DD" with
sample spec s16le 1ch 8000Hz and channel map mono
I: source.c:     bluetooth.protocol = "hsp"
I: source.c:     device.intended_roles = "phone"
I: source.c:     device.description = "G688"
I: source.c:     device.string = "88:88:00:B9:CC:DD"
I: source.c:     device.api = "bluez"
I: source.c:     device.class = "sound"
I: source.c:     device.bus = "bluetooth"
I: source.c:     device.form_factor = "headset"
I: source.c:     bluez.path = "/org/bluez/9596/hci0/dev_88_88_00_B9_CC_DD"
I: source.c:     bluez.class = "0x200404"
I: source.c:     bluez.name = "G688"
I: source.c:     device.icon_name = "audio-headset-bluetooth"
D: module-bluetooth-device.c: IO Thread starting up
I: core-util.c: Successfully enabled SCHED_RR scheduling for thread,
with priority 4, which is lower than the requested 5.
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_START_STREAM
D: module-bluetooth-device.c: Trying to receive message from audio service...


After this, pulseaudio keeps waiting, but nothing is sent from the
device/bluez except thta AT+CLIP=1 signal, so it gives up and die.

bluetoothd[9596]: HUP or ERR on socket
bluetoothd[9596]: headset_resume_complete: resume failed
bluetoothd[9596]: audio/unix.c:unix_ipc_error() sending error
Input/output error(5)
bluetoothd[9596]: audio/unix.c:unix_ipc_sendmsg() Audio API: BT_ERROR
-> BT_START_STREAM

on pulseaudio:

D: module-bluetooth-device.c: Received BT_ERROR <- BT_START_STREAM
E: module-bluetooth-device.c: Received error condition: Input/output
error *translated back to english
D: module-bluetooth-device.c: IO thread failed
D: module-suspend-on-idle.c: Sink bluez_sink.88_88_00_B9_CC_DD becomes
idle, timeout in 5 seconds.
D: module-suspend-on-idle.c: Source bluez_source.88_88_00_B9_CC_DD
becomes idle, timeout in 5 seconds.
I: module.c: Loaded "module-bluetooth-device" (index: #18; argument:
"address="88:88:00:B9:CC:DD"
path="/org/bluez/9596/hci0/dev_88_88_00_B9_CC_DD"").
D: module-console-kit.c: dbus: interface=org.bluez.Audio,
path=/org/bluez/9596/hci0/dev_88_88_00_B9_CC_DD,
member=PropertyChanged
I: module-device-restore.c: Storing volume/mute/port for device
sink:bluez_sink.88_88_00_B9_CC_DD.
I: module-device-restore.c: Storing volume/mute/port for device
source:bluez_sink.88_88_00_B9_CC_DD.monitor.
I: module-device-restore.c: Storing volume/mute/port for device
source:bluez_source.88_88_00_B9_CC_DD.
I: module.c: Unloading "module-bluetooth-device" (index: #18).
D: module-rescue-streams.c: No sink inputs to move away.
D: module-rescue-streams.c: No source outputs to move away.
D: module-rescue-streams.c: No source outputs to move away.
D: module-bluetooth-device.c: IO thread shutting down
I: sink.c: Freeing sink 1 "bluez_sink.88_88_00_B9_CC_DD"
I: source.c: Freeing source 2 "bluez_sink.88_88_00_B9_CC_DD.monitor"
I: source.c: Freeing source 3 "bluez_source.88_88_00_B9_CC_DD"
I: card.c: Freed 1 "bluez_card.88_88_00_B9_CC_DD"
I: module.c: Unloaded "module-bluetooth-device" (index: #18).
D: bluetooth-util.c: dbus: interface=(null), path=(null), member=(null)
D: module-console-kit.c: dbus: interface=(null), path=(null), member=(null)
D: bluetooth-util.c: dbus: interface=(null), path=(null), member=(null)
D: module-console-kit.c: dbus: interface=(null), path=(null), member=(null)
I: module-device-restore.c: Synced.


Any ideas?

--
Franz

http://ciudaddelpico.com



More information about the pulseaudio-discuss mailing list