`hcitool con` ไม่พบอุปกรณ์ใด ๆ เมื่อทำงานในบริบทของสคริปต์ udev


1

ฉันพยายามทำให้งานกำหนดค่าอุปกรณ์บลูทู ธ โดยอัตโนมัติเมื่อมันเชื่อมต่อกับราสเบอร์รี่ pi 3 ของฉันกำลังรันราสเบียน

ทะลึ่ง $x เป็นที่อยู่ของอุปกรณ์ฉันต้องดำเนินการคำสั่งต่อไปนี้หลังจากเชื่อมต่อ:

hcitool enc $x off
hcitool sr $x slave

ข้อมูลการเชื่อมต่อบลูทู ธ เริ่มต้น (จากการทำงาน 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 rule พื้นฐานเพื่อรันสคริปต์ได้

นี่คือกฎ 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 และเสียบ / ถอดปลั๊กอุปกรณ์บลูทู ธ ของฉันและนี่คือสิ่งที่ฉันเห็น:

Connections:
Connections:
Connections:
...

เป็นต้น

ฉันพยายามเพิ่ม sleep สองสามวินาที ฉันลองเพิ่ม sudo แล้ว ฉันลองด้วยอุปกรณ์บลูทู ธ หลายตัว ฉันไม่เคยได้รับ hcitool con เพื่อเอาท์พุทอะไรเมื่อดำเนินการเป็นส่วนหนึ่งของกฎ udev

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.