[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