我在我的树莓派上遇到了这个问题。
我的 python 程序运行一段时间后,似乎一个(或多个)蓝牙适配器将“锁定”并且 hciconfig -a 将输出:连接超时 (110)
root ~ # hciconfig -a
hci3: Type: BR/EDR Bus: USB
BD Address: 5C:F3:70:61:CA:D6 ACL MTU: 9000:8 SCO MTU: 64:1
UP RUNNING
RX bytes:5315773 acl:178107 sco:0 events:287995 errors:0
TX bytes:487424645 acl:527773 sco:0 commands:13454 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Can't read local name on hci3: Connection timed out (110)
当使用多个适配器时,该问题似乎更频繁地出现。
我正在从事的项目涉及使用多个(有时是单个)USB 蓝牙适配器将 obex 推送文件到手机。 python 程序执行以下操作:
1.自动检测适配器-#hciconfig -a
2.配置它们 -#hciconfig 命令
3.查询设备-#hcitool -i inq
4.Obex 推送文件(可能与其他线程和其他线程同时)-蓝色dbus
我的系统中的一些信息:
root ~ # modinfo btusb
filename: /lib/modules/3.12.29-1-ARCH/kernel/drivers/bluetooth/btusb.ko.gz
license: GPL
version: 0.6
description: Generic Bluetooth USB driver ver 0.6
author: Marcel Holtmann <[email protected]>
srcversion: 61D6539530170376DCAF49C
alias: usb:v*p*d*dcE0dsc01dp01ic*isc*ip*in*
...
depends: bluetooth
intree: Y
vermagic: 3.12.29-1-ARCH preempt mod_unload modversions ARMv6
...
root ~ # pacman -Q
...
bluez 5.24-1
bluez-utils 5.24-1
...
dbus 1.8.0-1
dbus-glib 0.102-1
...
libusb 1.0.18-1
...
linux-api-headers 3.13.2-1
linux-firmware 20140217.343e460-1
linux-raspberrypi 3.12.29-1
有什么想法/或建议吗?
btusb 有更新版本吗?我看了看,但几乎空手而归
...
PS:这些论坛似乎表明类似的问题可能已得到修复:
https://bbs.archlinux.org/viewtopic.php?id=183411
https://bbs.archlinux.org/viewtopic.php?id=183038
但所提到的问题似乎专门与 Atheros 适配器芯片组有关,而我正在使用 Broadcom 芯片组。另外,我可以获得的 rpi 最新版本的 linux 似乎是 13.13 标头和 linux-raspberrypi 13.12