我最近从 18.04 升级到了 19.04,开始遇到 Insignia 蓝牙鼠标无法维持连接的问题。查看后发现/var/log/syslog
,根本原因似乎是 HID 连接:
bluetoothd[1076]: connect error: Host is down (112)
据我所知,我正在使用最新的稳定 bluez 包(5.50
)。
我尝试过多次移除/配对/连接鼠标,但都bluetoothctl
无济于事。我多次重启bluetooth
服务(即使-d
已启用)。
不管怎样,我使用的是 Broadcom 无线网卡:
[ 1.366398] usb 1-1.4: Manufacturer: Broadcom Corp
[ 29.159656] wlan0: Broadcom BCM4359 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)
[ 31.421430] Bluetooth: hci0: Broadcom Bluetooth Device
我还安装了 BCM 文件(缺少):
[ 29.757341] Bluetooth: hci0: BCM20702A
[ 29.758337] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[ 31.405435] Bluetooth: hci0: BCM20702A1 (001.002.014) build 1465
/var/log/syslog
以下是根据鼠标设备 ID 过滤的最新子集:
Feb 26 15:48:45 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 31
Feb 26 15:48:45 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 15:48:45 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
Feb 26 15:48:46 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 31
Feb 26 15:48:46 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 15:48:46 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
Feb 26 15:48:46 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 5
Feb 26 15:48:46 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 15:48:46 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
Feb 26 15:50:24 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 31
Feb 26 15:50:24 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 15:50:24 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
Feb 26 15:50:24 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 31
Feb 26 15:50:24 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 15:50:24 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
Feb 26 15:50:49 glenn-Aspire-V5-571 bluetoothd[947]: src/service.c:change_state() 0x55bf4f4476b0: device 24:73:24:03:49:AD profile input-hid state changed: disconnected -> connecting (0)
Feb 26 15:50:55 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connect_failed_callback() hci0 24:73:24:03:49:AD status 4
Feb 26 15:50:55 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0x4
Feb 26 15:50:55 glenn-Aspire-V5-571 bluetoothd[947]: src/service.c:change_state() 0x55bf4f4476b0: device 24:73:24:03:49:AD profile input-hid state changed: connecting -> disconnected (-5)
Feb 26 15:59:53 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 31
Feb 26 15:59:53 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 15:59:53 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
Feb 26 15:59:55 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 31
Feb 26 15:59:55 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 15:59:55 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
Feb 26 15:59:55 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 31
Feb 26 15:59:55 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 15:59:55 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
Feb 26 16:00:03 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 31
Feb 26 16:00:03 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 16:00:03 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
Feb 26 16:00:04 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:connected_callback() hci0 device 24:73:24:03:49:AD connected eir_len 31
Feb 26 16:00:05 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:dev_disconnected() Device 24:73:24:03:49:AD disconnected, reason 3
Feb 26 16:00:05 glenn-Aspire-V5-571 bluetoothd[947]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr 24:73:24:03:49:AD type 0 status 0xe
关键在于它在 10 分钟内发生的次数以及device 24:73:24:03:49:AD disconnected, reason 3
。
我还连接了一个蓝牙扬声器,并且保持连接没有任何问题。
btmon
这是尝试连接鼠标时的输出:
< HCI Command: Create Connection (0x01|0x0005) plen 13 #75 [hci0] 122.833911
Address: 24:73:24:03:49:AD (OUI 24-73-24)
Packet type: 0xcc18
DM1 may be used
DH1 may be used
DM3 may be used
DH3 may be used
DM5 may be used
DH5 may be used
Page scan repetition mode: R2 (0x02)
Page scan mode: Mandatory (0x00)
Clock offset: 0x0000
Role switch: Allow slave (0x01)
> HCI Event: Command Status (0x0f) plen 4 #76 [hci0] 122.969527
Create Connection (0x01|0x0005) ncmd 1
Status: Success (0x00)
> HCI Event: Connect Complete (0x03) plen 11 #77 [hci0] 128.201078
Status: Page Timeout (0x04)
Handle: 12
Address: 24:73:24:03:49:AD (OUI 24-73-24)
Link type: ACL (0x01)
Encryption: Disabled (0x00)
@ MGMT Event: Connect Failed (0x000d) plen 8 {0x0002} [hci0] 128.201147
BR/EDR Address: 24:73:24:03:49:AD (OUI 24-73-24)
Status: Connect Failed (0x04)
@ MGMT Event: Connect Failed (0x000d) plen 8 {0x0001} [hci0] 128.201147
BR/EDR Address: 24:73:24:03:49:AD (OUI 24-73-24)
Status: Connect Failed (0x04)
= bluetoothd: connect error: Host is down (112)