Как сделать, чтобы устройство имело разрешения на чтение / запись при подключении?

У меня есть самодельное устройство, и я написал программу для получения данных с него. Но каждый раз, когда я подключаю устройство, я должен изменить разрешения для /dev/ttyACM0, так что порт можно использовать для передачи данных. Как сделать так, чтобы это устройство имело права на чтение / запись по умолчанию. lsusb Выход для этого устройства:

Bus 003 Device 005: ID ffff:0005

2 ответа

Решение

Если вы являетесь членом dialout группа вы можете получить доступ к последовательным устройствам, в том числе ttySx, ttyUSBx, а также ttyACMx устройства, без изменения разрешений.

$ sudo adduser myusername dialout

В качестве альтернативы вы можете создать правило udev для установки разрешений при подключении устройства. См. /questions/676854/kak-razreshit-polzovatelyu-ne-yavlyayuschemusya-polzovatelem-po-umolchaniyu-ispo/676873#676873

Я добавлю ответ на свой вопрос для всех, кому это понадобится в будущем. Я последовал за ответом @Adam Lussier и создал /etc/udev/rules.d/50-ttyusb.rules файл с этим содержанием (предложенный @Sneetsher):

ACTION=="add", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0005", MODE="0666"

Таким образом, только этому конкретному устройству предоставляются разрешения на чтение / запись. Ссылка для тех, кто хочет узнать больше о написании файла правил.

Другие вопросы по тегам