[Eisfair] [e64] udev Regeln
Holger Bruenjes
holgerbruenjes at gmx.net
Fr Jan 12 18:32:07 CET 2024
Hallo Fabian
Am 12/01/2024 um 18.01 schrieb Fabian Törner:
> ich beschäftige mich gerade mit udev Regeln.
> Wie ich feststellen musste hängt das Thema mit den durchgewürfelten
> USB-Ports nicht an dem USB-Drucker oder an CUPS (anderes Thema) sondern
> an der unterschiedlichen Erkennung meines Serial2USB devices :(
>
> Ich habe es ein paar mal ein und ausgestöpselt. Es wird mal so und mal
> so erkannt und deswegen bekommt es dann auch unterschiedliche ttyUSB*
> Nummern.
du musst dich von ttyUSB frei machen
> Dazu wollte ich nun eine udev Regel erstellen was aber leider nicht so
> richtig klappt, es scheint so als wenn meine Regel von einer anderen
> überschrieben wird :/
>
> folgend die komplette Ausgabe - unten habe ich versucht die beiden
> Zeilen wo mein Symlink removed wird zu markieren.
> --- [ hier start ] ----
> ttyUSB0: Removing/updating old device symlink '/dev/plus-test', which is
> no longer belonging to this device.
> ttyUSB0: No reference left for '/dev/plus-test', removing
> --- [ hier Ende ] ----
>
> ttyUSB0: Successfully created symlink
> '/dev/serial/by-path/pci-0000:00:14.0-usb-0:4:1.0-port0' to '/dev/ttyUSB0'
> ttyUSB0: Successfully created symlink
> '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A800dw2t-if00-port0' to
> '/dev/ttyUSB0'
> ttyUSB0: Successfully created symlink '/dev/char/188:0' to '/dev/ttyUSB0'
> ttyUSB0: sd-device: Created db file '/run/udev/data/c188:0' for
> '/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/ttyUSB0/tty/ttyUSB0'
> DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/ttyUSB0/tty/ttyUSB0
> DEVNAME=/dev/ttyUSB0
> MAJOR=188
> MINOR=0
> ACTION=add
> SUBSYSTEM=tty
> TAGS=:systemd:
> ID_BUS=usb
> ID_MODEL=FT232R_USB_UART
> ID_MODEL_ENC=FT232R\x20USB\x20UART
> ID_MODEL_ID=6001
> ID_SERIAL=FTDI_FT232R_USB_UART_A800dw2t
> ID_SERIAL_SHORT=A800dw2t
> ID_VENDOR=FTDI
> ID_VENDOR_ENC=FTDI
> ID_VENDOR_ID=0403
> ID_REVISION=0600
> ID_TYPE=generic
> ID_USB_MODEL=FT232R_USB_UART
> ID_USB_MODEL_ENC=FT232R\x20USB\x20UART
> ID_USB_MODEL_ID=6001
> ID_USB_SERIAL=FTDI_FT232R_USB_UART_A800dw2t
> ID_USB_SERIAL_SHORT=A800dw2t
> ID_USB_VENDOR=FTDI
> ID_USB_VENDOR_ENC=FTDI
> ID_USB_VENDOR_ID=0403
> ID_USB_REVISION=0600
> ID_USB_TYPE=generic
> ID_USB_INTERFACES=:ffffff:
> ID_USB_INTERFACE_NUM=00
> ID_USB_DRIVER=ftdi_sio
> ID_VENDOR_FROM_DATABASE=Future Technology Devices International, Ltd
> ID_MODEL_FROM_DATABASE=FT232 Serial (UART) IC
> .ID_PORT=0
> ID_PATH=pci-0000:00:14.0-usb-0:4:1.0
> ID_PATH_TAG=pci-0000_00_14_0-usb-0_4_1_0
> DEVLINKS=/dev/serial/by-path/pci-0000:00:14.0-usb-0:4:1.0-port0
> /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A800dw2t-if00-port0
> CURRENT_TAGS=:systemd:
> USEC_INITIALIZED=1961156102
> Unload kernel module index.
> Unloaded link configuration context.
> eis #
>
> Mein udev-Regel schaut so aus:
> eis # cat /usr/lib/udev/rules.d/85-usb.rules
> SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403",
> ATTRS{idProduct}=="6001", ATTRS{serial}=="A800?", SYMLINK+="plus-test"
da hast du nichts zu suchen ;-)
user Regeln gehoeren nach '/etc/udev/rules.d/' dann haben sie auch
Vorrang
>
> Wie gesagt, die Regel scheint zu funktionieren, da "plus-test" oben in
> der Testausgabe auftaucht, sie wird dann nur von einer anderen Regel
> überschrieben ?! - oder wie seht ihr das?
>
> Was kann ich tun um das USB-Gerät fest an /dev/plus-test zu binden?
fuer die genaue Syntax bin ich abe auch gerade ueberfragt
wohl sowas
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",
SYMLINK+="tty%E{ID_MODEL}"
Holger
Mehr Informationen über die Mailingliste Eisfair