1

我需要您帮助解决 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”</p>

配对也成功使用:“hcitool cc && hcitool auth”</p>

对于连接,我使用 Bluez5-7 /usr/lib/bluez/test/ 中提供的测试设备脚本

以下是我们正在使用的耳机支持的 ​​UUID(我使用 bluetoothctl 工具看到了这个)

[蓝牙]# 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:否 UUID:耳机 (00001108-0000-1000-8000-00805f9b34fb) UUID:音频接收器 (0000110b-0000-1000-8000-00805f9b34fb) UUID:A/V 遥控器 (0000110e-0000-100500-8000-0b34fb) UDUID:免提 (0000111e-0000-1000-8000-00805f9b34fb) UUID:PnP 信息 (00001200-0000-1000-8000-00805f9b34fb) 模式:蓝牙:v0055p001Bd0610

如果我给:./test-device connect 48:C1:AC:29:7F:27 "hsp"

在 BluezDaemon 上下文中,它转到

蓝牙 [523]: src/device.c:connect_profiles()

蓝牙 [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个服务,即audio-sink(0000110b-0000-1000-8000-00805f9b34fb)和A/V Remote Control(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

请帮忙 !

4

1 回答 1

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
于 2016-09-29T06:00:21.977 回答