Eu tenho um dispositivo USB LED que aparece como um dispositivo USB HID. Quando eu o conecto ao meu servidor, ele aparece /sys/class/leds/delcom2:{red,green,blue}
e posso operá-lo manipulando os arquivos que aparecem lá.
lrwxrwxrwx 1 root root 0 Apr 7 13:22 /sys/class/leds/delcom2:blue -> ../../devices/pci0000:00/0000:00:1d.2/usb8/8-1/8-1:1.0/0003:0FC5:B080.0007/leds/delcom2:blue
lrwxrwxrwx 1 root root 0 Apr 7 13:22 /sys/class/leds/delcom2:green -> ../../devices/pci0000:00/0000:00:1d.2/usb8/8-1/8-1:1.0/0003:0FC5:B080.0007/leds/delcom2:green
lrwxrwxrwx 1 root root 0 Apr 7 13:22 /sys/class/leds/delcom2:red -> ../../devices/pci0000:00/0000:00:1d.2/usb8/8-1/8-1:1.0/0003:0FC5:B080.0007/leds/delcom2:red
Meu problema é que o nome delcom2
muda de máquina para máquina. Em outro computador ele se chama delcom5
, e temo que ele receba outro nome se eu conectá-lo a um hub USB ou similar. Eu gostaria de algum tipo denomenclatura persistentepara este gadget para que eu possa manipulá-lo de forma confiável a partir de scripts.
Tentei escrever uma regra do udev, mas falhei. A maior parte das informações que encontro sobre renomeação falam sobre isso, SYMLINK+="..."
mas isso não parece funcionar. Istofazforneça-me um link simbólico para o dispositivo USB bruto:
lrwxrwxrwx 1 root root 15 Apr 7 13:45 /dev/delcom -> bus/usb/003/003
Também tentei com o NAME="..."
método, mas também falhou:
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="0fc5", ATTRS{idProduct}=="b080", NAME="delcom"
A última linha do log do diário do systemd mostra por que está falhando:nós de dispositivos do kernel não podem ser renomeados
usb 5-1: new low-speed USB device number 2 using uhci_hcd
usb 5-1: New USB device found, idVendor=0fc5, idProduct=b080
usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 5-1: Product: USB IO Controller
usb 5-1: Manufacturer: Delcom Products Inc.
hid-led 0003:0FC5:B080.0008: hidraw2: USB HID v1.00 Device [Delcom Products Inc. USB IO Controller ] on usb-0000:00:1a.2-1/input0
hid-led 0003:0FC5:B080.0008: Delcom Visual Signal Indicator G2 initialized
systemd-udevd[17574]: NAME="delcom" ignored, kernel device nodes cannot be renamed; please fix it in /etc/udev/rules.d/99-usb-led.rules:1
Pergunta
Como posso criar um nome persistente para um dispositivo USB HID LED no Linux?