Concordo que fazer correspondência de regras usando VID / PID não é uma solução definitiva. Mas você pode ter vários dispositivos na mesma regra sem segmentar todos os dispositivos USB da maneira que você fez. Exemplo usando DRIVER
name ( usb-storage
, usbhid
, ..) ou KERNEL
name ( tty*
, sd*
, ..) mesmo usando regex mínima ( sd[a-z][0-9]*
, usb*
). / p>
Você deve procurar semelhanças em seus atributos.
- Remover todos esses dispositivos
-
Salve a lista atual de dispositivos em
/dev
ls /dev > /tmp/dev_list0.txt
-
Conecte um dos dispositivos de destino
-
Salve a lista de dispositivos em outro arquivo
ls /dev > /tmp/dev_list.txt
-
Comparar arquivos,
>
dispositivo adicionado,<
dispositivo removido$ colordiff /tmp/dev_list0.txt /tmp/dev_list.txt 85a86,87 > sdc > serial 89a92,93 > sg4 > sg5 93a98 > sr1 194a200,201 > ttyUSB0 > ttyUSB1
Este é um modem 3G.
-
Verifique o atributo de todas as interfaces de que você precisa, por exemplo:
udevadm info --attribute-walk --name=/dev/ttyUSB0
Faça o mesmo para todos os dispositivos desejados. Se você não conseguir descobrir como, por favor, faça o upload da saída udevadm info --attribute-walk --name=...
e vincule-os à sua pergunta.
Observe que nem todos os dispositivos USB criam um nó em /dev
. Alguns você procura por eles na árvore SYSFS /sys
. Em seguida, verifique seus atributos usando --path
udevadm info --attribute-walk --path=...
Usando as mesmas etapas acima, você pode verificar quais nós de dispositivos foram criados monitorando udev
events:
udevadm monitor