Espere - eu vejo isso. Duas coisas:
- Você usou
ATTRS{product}=="6011"quando quis dizerATTRS{idProduct}=="6011". Que faltaidvai quebrá-lo. Copie e cole deudevadm info --attribute-walkpara evitar erros de digitação como este. - Seu padrão está errado; deve ser
KERNEL=="ttyUSB[0-9]*". É uma expressão regular (muito limitada), por isso[0-15]*significa "qualquer um dos caracteres 0-1 ou 5, repetido qualquer número de vezes".
Além disso, você provavelmente deseja usar SYMLINK+= em vez de SYMLINK== para preservar os outros links. Você está certo de que precisa ser SUBSYSTEMS=="usb" para corresponder ao produto / fornecedor.
Para numerar seus dispositivos AMPM, você precisa fornecer udev do número. Infelizmente, isso faz parte do dispositivo usb-serial , não do usb one. Então você não pode simplesmente usar %s{port_number} / $attr{port_number} . Em vez disso, peça emprestado um truque de 60-persistent-serial.rules em versões mais recentes de udev e faça algo assim:
SUBSYSTEMS=="usb-serial", ENV{.LOCAL_PORT_NUM}="$attr{port_number}"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", SYMLINK+="AMPM$env{.LOCAL_PORT_NUM}"
Em udev mais antigo, talvez seja necessário usar %E{…} em vez de $env{…} .
Ou, como alternativa, se o udev for novo o suficiente, use apenas /dev/serial/by-id :
$ ls -l /dev/serial/by-id/
total 0
lrwxrwxrwx 1 root root 13 Jan 4 06:02 usb-067b_2303-if00-port0 -> ../../ttyUSB0
Você deve ver o código do seu fornecedor / produto e todas as suas portas.