我不时会在奇怪的状态下使用蓝牙低功耗连接,我无法断开连接:
$ sudo hcitool con
Connections:
< LE F1:11:52:84:77:25 handle 70 state 1 lm MASTER
$ sudo hcitool ledc F1:11:52:84:77:25
Could not disconnect: Input/output error
我无法获得有关连接的任何信息:
$ sudo hcitool leinfo F1:11:52:84:77:25
Requesting information ...
Could not create connection: Input/output error
我也无法重新连接(检查代码:错误来自l2cap_connect(),它尝试打开这个远程地址的套接字而无法)。
$ sudo gatttool -t random -b F1:11:52:84:77:25 -I
[F1:11:52:84:77:25][LE]> connect
Attempting to connect to F1:11:52:84:77:25
Error: connect: Device or resource busy (16)
我到目前为止唯一的解决方案是拔下并重新插上我的BLE加密狗;(但这不是很令人满意......
是否有命令或其他东西可以删除那个错误的连接?
这是在Linux(Mint 18)上,使用bluez 5.37。
答案 0 :(得分:2)
sudo hcitool ledc <handle>
ledc将handle作为参数而不是mac。
键入sudo hcitool con找出要断开连接的句柄。然后使用该句柄作为ledc的参数。
示例:
sudo hcitool con
输出:
连接:
要断开此连接类型:
sudo hcitool ledc 64
答案 1 :(得分:1)
我可以使用BlueZ 5.40和5.43在Ubuntu 14.04上确认这个问题。
解决方法1:断开与另一方的连接。
解决方法2:使用
sudo hciconfig hciX down
sudo hciconfig hciX up
其中hciX是你的控制器(例如hci0)。不幸的是,这将删除所有连接。