我需要您帮助解决Bluez5.7耳机连接问题。
目标是使用兼容WBS的耳机实现宽带语音。 为了支持宽带语音,我理解应该集成HFP1.6。为了支持HFP 1.6 Profile,我们集成了Bluez 5.7(或5.5.7)和Ofono 1.16,dBus v 1.4.16。
主机处理器使用UART(用于信令)和TDM(用于I2S / PCM接口中的音频数据)连接到BT芯片
我能够启动hci接口,如下所示: •bccmd -t bcsp -d / dev / ttyS1 -b 115200 psload -r /etc/bluetooth/platform_8810.psr(固件下载) •hciattach -s 115200 ttyS1 bcsp 115200 noflow •hciconfig hci0 noauth •hciconfig hci0 up •hciconfig hci0 noauth
扫描也成功使用:“hcitool scan”
配对也很成功使用:“hcitool cc&& hcitool auth“
对于连接,我使用Bluez5-7 / usr / lib / bluez / test /
中提供的测试设备脚本以下是我们正在使用的耳机支持的UUID(我使用bluetoothctl工具看到了这个)
[蓝牙] #info 48:C1:AC:29:7F:27 装置48:C1:AC:29:7F:27 分类:0x240404 图标:音频卡 配对:是的 信任:是的 被阻止:没有 连接:没有 LegacyPairing:没有 UUID:耳机(00001108-0000-1000-8000-00805f9b34fb) UUID:音频接收器(0000110b-0000-1000-8000-00805f9b34fb) UUID:A / V遥控器(0000110e-0000-1000-8000-00805f9b34fb) UUID:免提(0000111e-0000-1000-8000-00805f9b34fb) UUID:PnP信息(00001200-0000-1000-8000-00805f9b34fb) Modalias:蓝牙:v0055p001Bd0610
如果我给: ./test-device connect 48:C1:AC:29:7F:27" hsp"
在BluezDaemon上下文中,它转到
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,客户端:1.6
然后转到src / device.c:find_connectable_service()
通过此函数中的已注册服务进行循环。 (我已经打印并看到了这个)
Bluez注册了2项服务,即 音频接收器(0000110b-0000-1000-8000-00805f9b34fb)和 A / V遥控器(0000110e-0000-1000-8000-00805f9b34fb)。
在此服务列表中,HFP或HSP不存在,因此它返回时不执行任何连接功能。
在我执行测试脚本的控制台中,我收到以下错误:
/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
请帮忙!
答案 0 :(得分:0)
导出执行测试设备脚本的DBUS_SYSTEM_BUS_ADDRESS
路径。
export DBUS_SYSTEM_BUS_ADDRESS=unix:path=/usr/local/bluez/dbus-1.8.6/var/run/dbus/system_bus_socket