连接到蓝牙 LE 设备时连接超时

连接到蓝牙 LE 设备时连接超时

我在 Dell XPS 13" 9360 上连接蓝牙 LE 设备时遇到问题。以前它工作正常,但突然连接设备总是因连接超时而失败。我已经测试了 10 多个设备,连接总是因相同的错误而失败。设备可以正常工作,可以从另一台计算机连接到它们。

我正在使用BlueZ 5.50 (bluetoothctl)Ubuntu 16.04(刚刚升级到 18.04 但问题仍然存在)。

bluetoothctl 的输出:

[bluetooth]# connect D6:37:A6:25:93:E6
Attempting to connect to D6:37:A6:25:93:E6
[CHG] Device D6:37:A6:25:93:E6 Connected: yes
Connection successful
[CHG] Device D6:37:A6:25:93:E6 Connected: no

断开连接“连接成功后约 1 秒出现:否”。

hcidump -i hci0连接时的输出:

> HCI Event: Command Status (0x0f) plen 4
    LE Create Connection (0x08|0x000d) status 0x00 ncmd 1
> HCI Event: Command Status (0x0f) plen 4
    LE Read Remote Used Features (0x08|0x0016) status 0x00 ncmd 1
> HCI Event: Disconn Complete (0x05) plen 4
    status 0x00 handle 5 reason 0x08
    Reason: Connection Timeout

输出自hciconfig -a

hci0:   Type: Primary  Bus: USB
BD Address: 9C:B6:D0:D5:AF:B6  ACL MTU: 1024:8  SCO MTU: 50:8
UP RUNNING PSCAN ISCAN 
RX bytes:14656 acl:16 sco:0 events:1504 errors:0
TX bytes:17087 acl:17 sco:0 commands:1001 errors:0
Features: 0xff 0xfe 0x8f 0xfe 0xd8 0x3f 0x5b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
Link policy: RSWITCH HOLD SNIFF 
Link mode: SLAVE ACCEPT 
Name: 'foo'
Class: 0x1c010c
Service Classes: Rendering, Capturing, Object Transfer
Device Class: Computer, Laptop
HCI Version: 4.1 (0x7)  Revision: 0x0
LMP Version: 4.1 (0x7)  Subversion: 0x25a
Manufacturer: Qualcomm (29)

我迄今已测试过的内容:

  • 重新启动计算机
  • 在 bluetoothctl 中关闭/打开电源
  • 连接扫描开启和扫描关闭
  • 移除设备 -> 再次扫描/发现
  • 清除缓存(sudo rm -rf /var/lib/bluetooth/[controllerid]随后sudo service restart bluetooth
  • 将监管超时时间从 42 改为 2000(/sys/kernel/debug/bluetooth/hci0/supervision_timeout
  • 修改后的链接模式从SLAVE ACCEPTMASTER
  • 尝试连接hcitool lecc,但出现同样的错误
  • 从 Ubuntu 16.04 升级到 18.04
  • 将我的 BIOS 升级到最新版本

没有修改蓝牙配置文件/etc/bluetooth/

问题一开始只出现在一两台设备上,然后突然就无法再连接到任何设备了。

是否还有其他缓存需要清除?是否有任何值/超时长度或操作模式可以更改?

相关内容