7.3.3.6. A ordem de nomenclatura do dispositivo muda aleatoriamente após a reinicialização
Isso se deve ao fato de que o Udev, por design, manipula uevents e carrega módulos em paralelo e, portanto, em uma ordem imprevisível. Isto nunca será “consertado”. Você não deve confiar que os nomes de dispositivos do kernel sejam estáveis. Em vez disso, crie suas próprias regras que criam links simbólicos com nomes estáveis baseados em alguns atributos estáveis do dispositivo, como um número de série ou a saída de vários utilitários * _id instalados pelo Udev. Veja Seção 7.4, “Gerenciando Dispositivos” e Seção 7.5, “Configuração Geral de Rede” para exemplos.
Fonte: Linux From Scratch: 7.3. Visão geral do manuseio de dispositivos e módulos
-
Verifique os atributos do nó de destino e seus nós principais
udevadm info -a /dev/lirc1
-
Verifique as variáveis de ambiente do nó de destino (algo diferente que pode ser usado para correspondência de regras)
udevadm info /dev/lirc1
-
Criar novo arquivo de regras UDEV
sudo nano /etc/udev/rules.d/99-lirc-symlinks.rules
#2 or only setup link for usb device ACTION=="add", KERNEL=="lirc?", ATTRS{idVendor}=="1934", ATTRS{idProduct}=="5168", SYMLINK+="lirc90"
lirc90
, que está longe de ser alcançado de qualquer maneira. -
Recarregue as regras
sudo udevadm control -R
-
Solicitação de evento de acionador, reconecte o dispositivo USB ou talvez seja necessário reinicializá-lo.
sudo udevadm trigger
-
Configure seu aplicativo para usar
/dev/lirc90
Notas:
-
Existem muitas maneiras de implementar uma regra para o mesmo dispositivo. Então eu posso escrever outro para dongle USB:
ACTION=="add", KERNEL=="lirc?", DRIVERS="mceusb", SYMLINK+="lirc90"
-
KERNELS
,SUBSYSTEMS
,DRIVERS
,ATTRS
pesquisa o devpath para cima para uma correspondência. vejaman udev
.