Por que não adicionar uma instrução de suspensão entre os comandos 2 rfkill
?
rfkill block bluetooth
sleep 5
rfkill unblock bluetooth
Isso é em segundos, ajuste e veja se isso ajuda.
Estou criando um script Bluetooth que controla todos os aspectos da experiência do Bluetooth com fones de ouvido.
Como parte disso, quero redefinir o adaptador Bluetooth. Estou usando:
rfkill block bluetooth
rfkill unblock bluetooth
Isso deve alternar e funciona, mas não o tempo todo. Também não há um padrão para quando não funciona. Às vezes (e muitas vezes cerca de 60% do tempo), ele expira.
Verificando os registros revelam:
BOM CASO:
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
MAU CASO (QUANDO ACONTECE):
Product: Bluetooth USB Host Controller
Manufacturer: Atheros Communications
SerialNumber: Alaska Day 2006
Bluetooth: hci0 command 0x1003 tx timeout
Bluetooth: hci0 command 0x1001 tx timeout
Existe alguma maneira de aumentar esse tempo limite, falhar usando BASH, verificar o tempo limite e em um loop - apenas continue tentando até que funcione - porque, eventualmente, isso ocorre, se o adaptador for completamente redefinido novamente usando o bloco rfkill .
Por que não adicionar uma instrução de suspensão entre os comandos 2 rfkill
?
rfkill block bluetooth
sleep 5
rfkill unblock bluetooth
Isso é em segundos, ajuste e veja se isso ajuda.