Problema com a execução de regras do udev para o avr-usb-jtag do olimex

4

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

    
por Anton 06.06.2012 / 15:33

1 resposta

1

Se o primeiro funcionar, suspeito que o último deve ler

SUBSYSTEM=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", MODE="0666"
    
por RobotHumans 06.06.2012 / 16:01

Tags