rfkill 잠금 해제 블루투스 시간 초과

rfkill 잠금 해제 블루투스 시간 초과

저는 헤드폰 블루투스 경험의 다양한 측면을 제어하는 ​​블루투스 스크립트를 만들고 있습니다.

그 일환으로 Bluetooth 어댑터를 재설정하고 싶습니다. 나는 다음을 사용하고 있습니다 :

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

이 작업은 몇 초 밖에 걸리지 않습니다. 조정하고 도움이 되는지 확인하세요.

관련 정보