`hcitool con` не находит никаких устройств при запуске в контексте сценария udev

368
stevesdj

Я пытаюсь автоматизировать задачу по настройке устройства Bluetooth, когда оно подключено к моей Raspberry Pi 3 под управлением Rasbian.

Предполагая, $xчто это адрес устройства, мне нужно выполнить следующие команды после подключения:

hcitool enc $x off hcitool sr $x slave 

Начальная информация о подключении Bluetooth (из запущенного hcitool con) выглядит следующим образом:

Connections: > ACL $x handle 11 state 1 1m MASTER AUTH ENCRYPT 

И после запуска вышеуказанных двух команд, hcitool conпоказывает желаемое состояние:

Connections: > ACL $x handle 11 state 1 1m SLAVE AUTH 

Мне удалось получить базовое правило udev для выполнения скрипта, но оно не дало желаемого эффекта.

Вот правило udev по адресу /etc/udev/rules.d/99-slave.rules

SUBSYSTEM=="hidraw", RUN+="/home/pi/fix-bluetooth.bash" 

И сценарий:

#!/bin/bash hcitool con >> /tmp/hello_world 

Затем я tail -f /tmp/hello_worldи подключить / отключить мое устройство Bluetooth, и это то, что я вижу:

Connections: Connections: Connections: ... 

и т.п.

Я пытался добавить sleepв течение нескольких секунд. Я пытался добавить sudo. Я пробовал это с несколькими подключенными устройствами Bluetooth. Я никогда не смогу hcitool conничего вывести, когда выполняется как часть правила udev.

1

0 ответов на вопрос

Похожие вопросы