Como fazer um dispositivo ter permissões de leitura / gravação quando conectado?

6

Eu tenho um dispositivo caseiro e escrevi um programa para aquisição de dados a partir dele. Mas cada vez que eu plug-in o dispositivo eu tenho que mudar as permissões para /dev/ttyACM0 , para que a porta possa ser usada para transferência de dados. Como posso fazer com que este dispositivo tenha permissões de leitura / gravação por padrão? A saída lsusb deste dispositivo é:

Bus 003 Device 005: ID ffff:0005

    
por NonStandardModel 05.05.2016 / 17:26

2 respostas

4

Se você for um membro do grupo dialout , poderá acessar dispositivos seriais, incluindo ttySx , ttyUSBx e ttyACMx devices, sem alterar as permissões.

$ sudo adduser myusername dialout

Como alternativa, você pode criar uma regra do udev para definir as permissões conforme o dispositivo é anexado. Veja link

    
por Adam Lussier 05.05.2016 / 17:37
1

Adicionaremos uma resposta à minha própria pergunta para qualquer pessoa que precise disso no futuro. Eu segui uma resposta do @Adam Lussier e criei o arquivo /etc/udev/rules.d/50-ttyusb.rules com este conteúdo (proposto por @Sneetsher):

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

Assim, apenas este dispositivo específico recebe as permissões de leitura / gravação. Referência para qualquer pessoa que queira saber mais sobre como escrever o arquivo de regras.

    
por NonStandardModel 11.06.2016 / 20:58