rfkill 解锁蓝牙超时

rfkill 解锁蓝牙超时

我正在创建一个蓝牙脚本,用于控制耳机蓝牙体验的各个方面。

作为其中的一部分,我想重置蓝牙适配器。我在用着:

rfkill block bluetooth
rfkill unblock bluetooth

这应该会切换并且确实有效,只是不是每次都有效。当它不起作用时也没有模式。有时(通常大约 60% 的时间)会超时。

检查日志显示:

好案例:

Product: Bluetooth USB Host Controller
Manufacturer: Atheros Communications
SerialNumber: Alaska Day 2006
Adapter /org/bluez/4100/hci0 has been enabled
Endpoint registered: sender=:1.25 path=/MediaEndpoint/HFPAG
Endpoint registered: sender=:1.25 path=/MediaEndpoint/HFPHS
Endpoint registered: sender=:1.25 path=/MediaEndpoint/A2DPSource
Endpoint registered: sender=:1.25 path=/MediaEndpoint/A2DPSink

坏情况(超时时):

Product: Bluetooth USB Host Controller
Manufacturer: Atheros Communications
SerialNumber: Alaska Day 2006
Bluetooth: hci0 command 0x1003 tx timeout
Bluetooth: hci0 command 0x1001 tx timeout

有什么方法可以增加这个超时,使用 BASH 失败,检查超时,然后循环 - 只要继续重试直到它起作用 - 因为最终它会起作用,如果使用 rfkill 块再次完全重置适配器。

答案1

为什么不在这两个rfkill命令之间添加一个 sleep 语句。

rfkill block bluetooth
sleep 5
rfkill unblock bluetooth

这只需几秒钟,调整一下看看是否有帮助。

相关内容