Ich habe ein USB-LED-Gerät, das als USB-HID-Gerät angezeigt wird. Wenn ich es an meinen Server anschließe, wird es als solches angezeigt /sys/class/leds/delcom2:{red,green,blue}
und ich kann es bedienen, indem ich die dort angezeigten Dateien manipuliere.
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
Mein Problem ist, dass sich der Name delcom2
von Maschine zu Maschine ändert. Auf einem anderen Computer heißt es delcom5
, und ich habe Angst, dass es noch einen anderen Namen bekommt, wenn ich es an einen USB-Hub oder ähnliches anschließe. Ich hätte gerne eine Artdauerhafte Benennungfür dieses Gadget, damit ich es zuverlässig über Skripte manipulieren kann.
Ich habe versucht, eine udev-Regel zu schreiben, aber es ist fehlgeschlagen. Die meisten Informationen, die ich zum Umbenennen finde, sprechen davon, SYMLINK+="..."
aber das scheint nicht zu funktionieren. Estutgib mir einen symbolischen Link zum Raw-USB-Gerät:
lrwxrwxrwx 1 root root 15 Apr 7 13:45 /dev/delcom -> bus/usb/003/003
Ich habe es auch mit der NAME="..."
Methode versucht, aber das schlägt auch fehl:
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="0fc5", ATTRS{idProduct}=="b080", NAME="delcom"
Die letzte Zeile des systemd-Journalprotokolls zeigt, warum es fehlschlägt:Kernel-Geräteknoten können nicht umbenannt werden
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
Frage
Wie kann ich in Linux einen dauerhaften Namen für ein USB-HID-LED-Gerät erstellen?