Se o primeiro funcionar, suspeito que o último deve ler
SUBSYSTEM=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", MODE="0666"
Estou usando o Ubuntu 12.04 para fins de programação e recentemente decidi trazer os projetos de micro-controladores do meu atmel anteriores do Win para o Linux. Ou seja, AVR.
Eu instalei a cadeia de ferramentas, tudo bem. Inclui: avrdude binutils-avr gcc-avr avr-libc gdb avr.
Para testar minha conexão com o micro controlador usei um programador olimex avr-usb-jtag. Quando eu conectá-lo e é visto como / dev / ttyUSB0 (sendo um chip usb-com FTDI). O programador é compatível com Atmel JTAGICE.
Agora, quando tentamos
avrdude -p c128 -c jtag1 -P /dev/ttyUSB0 -t
E nós temos
avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied
Até agora, parece que, sem as permissões do root, não podemos escrever nem ler a partir do dispositivo. E isso prova ser verdade quando realmente tentamos
sudo avrdude -p c128 -c jtag1 -P /dev/ttyUSB0 -t
A resposta é:
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9781
Agora, quero permitir que usuários comuns (como, por exemplo, programar IDEs) acessem o programador sem conceder a eles permissões de root. A PRIMEIRA PERGUNTA para mim é como fazer isso melhor?
Eu tentei a abordagem do udev e queria que o sistema distinguisse o dispositivo conectado e aplicasse permissões ao arquivo do dispositivo (ttyUSB0 por padrão para mim). Mas a única opção que funcionava era criar um novo arquivo:
/etc/udev/rules.d/10-usb-avr-jtag.rules
Continha
KERNEL=="ttyUSB*" MODE="0666"
Esta configuração funciona, mas estou curioso para saber por que algo assim abaixo não funciona para mim (o padrão ttyUSB0 está aparecendo, nenhuma regra é aplicada ao arquivo)?:
SUBSYSTEM=="usb", ATTR{idProduct}=="6001", ATTR{idVendor}=="0403", MODE="0666"
Alguma idéia de como fazer isso funcionar ou por que não funciona?
Aqui está minha saída udevadm
Se o primeiro funcionar, suspeito que o último deve ler
SUBSYSTEM=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", MODE="0666"
Tags udev