I need your help in solving Bluez5.7 headset connect issue.
Goal is to implement Wideband speech with a WBS compatible headset. To support Wideband speech, I understand HFP1.6 should be integrated. To support HFP 1.6 Profile, we have integrated Bluez 5.7 (or 5.5.7) and Ofono 1.16, dBus v 1.4.16.
The host Processor is interfaced to BT chip using UART (for signaling) and TDM (for audio data in I2S/PCM Interface)
I’m able to power on the hci interface as following: • bccmd -t bcsp -d /dev/ttyS1 -b 115200 psload -r /etc/bluetooth/platform_8810.psr (Firmware Download) • hciattach -s 115200 ttyS1 bcsp 115200 noflow • hciconfig hci0 noauth • hciconfig hci0 up • hciconfig hci0 noauth
Scan is also successful using: “hcitool scan”
Pairing is also successful using: “hcitool cc && hcitool auth ”
For connect, Im using test-device script provided in Bluez5-7 /usr/lib/bluez/test/
Following are the UUIDs supported by the Headset we are using (I saw this using bluetoothctl tool)
[bluetooth]# info 48:C1:AC:29:7F:27 Device 48:C1:AC:29:7F:27 Class: 0x240404 Icon: audio-card Paired: yes Trusted: yes Blocked: no Connected: no LegacyPairing: no UUID: Headset (00001108-0000-1000-8000-00805f9b34fb) UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: Handsfree (0000111e-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) Modalias: bluetooth:v0055p001Bd0610
if I give: ./test-device connect 48:C1:AC:29:7F:27 "hsp"
In BluezDaemon context, it goes to
bluetoothd[523]: src/device.c:connect_profiles()
bluetoothd[523]: src/device.c:connect_profiles() /org/bluez/hci0/dev_48_C1_AC_29_7F_27 00001108-0000-1000-8000-00805f9b34fb, client :1.6
Then it goes to src/device.c:find_connectable_service()
Its looping thru the registered services in this function. (I have put prints and saw this)
There are 2 services registered with Bluez, ie, audio-sink(0000110b-0000-1000-8000-00805f9b34fb) and A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb).
In this services list, HFP or HSP is not present, so it is returning without executing any Connect function.
And in the console where Im executing the test-script, Im getting the following error:
/usr/lib/bluez/test# ./test-device connect 48:C1:AC:29:7F:27 "hsp"
Traceback (most recent call last):
File "./test-device", line 102, in <module>
device.ConnectProfile(args[2])
File "/usr/lib/python2.7/site-packages/dbus/proxies.py", line 70, in __call__
return self._proxy_method(*args, **keywords)
File "/usr/lib/python2.7/site-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.bluez.Error.InvalidArguments: Invalid arguments in method call
Please help !