Eu estava tentando resolver meu problema olhando para outros segmentos, como Por que a porta USB que está corrigindo as regras do udev não está funcionando e As regras do udev não funcionam com um pequeno número entre outras publicações relacionadas às regras do udev, mas nenhuma das postagens que eu verifiquei está me ajudando a descobrir por que estou tendo esse problema.
A regra do udev com bInterfaceNumber não funciona é muito muito semelhante problema para o que eu tenho, essencialmente o mesmo, mas não tem uma resposta desde 2013 e acho que está esquecido até agora.
Eu tenho as seguintes regras que funcionam perfeitamente:
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="mos7840", ATTRS{port_number}=="0", SYMLINK+="USB-RS232-0", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="mos7840", ATTRS{port_number}=="1", SYMLINK+="USB-RS232-1", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="ftdi_sio", ATTRS{port_number}=="0", SYMLINK+="USB-TTL-0", MODE="0777"
O problema é que eu tenho 2 dispositivos que são iguais e a única diferença entre os atributos dos dois é o número de série, eles ainda têm o mesmo VID / PID, portanto eu preciso adicionar ATTRS {serial } para as regras para ter:
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="mos7840", ATTRS{port_number}=="0", SYMLINK+="USB-RS232-0", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="mos7840", ATTRS{port_number}=="1", SYMLINK+="USB-RS232-1", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="ftdi_sio", ATTRS{port_number}=="0", ATTRS{serial}=="AFYS1HLQ", SYMLINK+="USB-TTL-0", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="ftdi_sio", ATTRS{port_number}=="0", ATTRS{serial}=="FTV8IUSR", SYMLINK+="USB-TTL-1", MODE="0777"
Então, depois de adicionar ATTRS {serial} às duas últimas regras, as duas deixarão de funcionar.
Por que isso acontece?
Obrigado !!