Geralmente, uso idVendor
e idProduct
por exemplo, para o meu OpenLogic Sniffer eu tenho:
ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fc92", MODE="0666", SYMLINK+="OpenLogicSniffer"
Para meus Arduinos eu uso apenas o idVendor
para definir o modo; Eu não crio um symlink
ACTION=="add", ATTRS{idVendor}=="16d0", MODE="0666"
ACTION=="add", ATTRS{idVendor}=="1a86", MODE="0666"
ACTION=="add", ATTRS{idVendor}=="2341", MODE="0666"
Da mesma forma, para o meu Altera Blaster eu quero que seja visível para a minha instância do VirtualBox, então eu tenho
ATTR{idVendor}=="09fb", ATTRS{idProduct}=="6001", GROUP="vboxusers"
Estes valores são fáceis de obter de lsusb
por exemplo
Bus 003 Device 003: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
E podemos ver o dispositivo:
% ls -l /dev/ttyACM0
crw-rw-rw- 1 root dialout 166, 0 Aug 2 14:28 /dev/ttyACM0