Native handsfree backend (backend-native.c) cannot emulate HSP/HFP device, but ofono backend can
Submitted by ar...@..il.com
Assigned to pul..@..op.org
Description
Hello,
I use
- Debian Jessie/Experimental
- kernel 3.16
- pulseaudio 5.99-2
- bluez 5.27
when I connect my Android4.4-based smartphone to PC via bluetooth, I get A2DP profile only, not HSP/HFP
Pulseaudio debug log contains this lines:
D: [pulseaudio] bluez5-util.c: Adapter: /org/bluez/hci0 D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Properties found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.MediaControl1 found, skipping D: [pulseaudio] backend-native.c: Bluetooth Headset Backend API support using the native backend D: [pulseaudio] backend-native.c: Registering Profile /Profile/HSPAGProfile
then there is no message from backend-native.c source even I connect my smartphone.
Bluez debug log contains follow info after pulseaudio started:
bluetoothd[19688]: src/profile.c:ext_device_probe() Headset Voice gateway probed with UUID 00001108-0000-1000-8000-00805f9b34fb bluetoothd[19688]: src/service.c:change_state() 0xadd800: device 00:02:5B:00:13:5B profile Headset Voice gateway state changed: unavailable -> disconnected (0) bluetoothd[19688]: src/adapter.c:dev_class_changed_callback() Class: 0x180104 bluetoothd[19688]: src/attrib-server.c:attrib_db_update() handle=0x0008 bluetoothd[19688]: src/adapter.c:dev_class_changed_callback() Class: 0x1c0104 bluetoothd[19688]: src/attrib-server.c:attrib_db_update() handle=0x0008
then, when I connect my smartphone, bluez writes this:
bluetoothd[19688]: src/device.c:connect_profiles() /org/bluez/hci0/dev_00_02_5B_00_13_5B (all), client :1.206 bluetoothd[19688]: src/service.c:btd_service_ref() 0xad31d0: ref=2 bluetoothd[19688]: src/service.c:change_state() 0xad31d0: device 00:02:5B:00:13:5B profile Headset Voice gateway state changed: disconnected -> connecting (0) bluetoothd[19688]: src/adapter.c:connect_failed_callback() hci0 00:02:5B:00:13:5B status 4 bluetoothd[19688]: plugins/policy.c:conn_fail_cb() status 4 bluetoothd[19688]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 00:02:5B:00:13:5B type 0 status 0x4 bluetoothd[19688]: src/device.c:device_bonding_complete() bonding (nil) status 0x04 bluetoothd[19688]: src/device.c:device_bonding_failed() status 4 bluetoothd[19688]: src/adapter.c:resume_discovery() bluetoothd[19688]: Unable to get Headset Voice gateway SDP record: Host is down bluetoothd[19688]: src/service.c:change_state() 0xad31d0: device 00:02:5B:00:13:5B profile Headset Voice gateway state changed: connecting -> disconnected (-112) bluetoothd[19688]: src/device.c:device_profile_connected() Headset Voice gateway Host is down (112) bluetoothd[19688]: src/device.c:device_profile_connected() returning response to :1.206
But with ofono backend (without any other changes), my smartphone connects via HSP/HFP and can use PC as headset device perfectly.