[Eisfair] [e64] udev Regeln

Fabian Törner fabian at toerners.eisfair.net
Fr Jan 12 18:01:55 CET 2024


Hallo zusammen,

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.

---[schnipp]---
[ 1684.323050] ftdi_sio *ttyUSB1*: FTDI USB Serial Device converter now 
disconnected from *ttyUSB1*
[ 1684.323080] ftdi_sio 1-4:1.0: device disconnected
[ 1687.105677] usb 1-4: new full-speed USB device number 8 using xhci_hcd
[ 1687.259599] usb 1-4: New USB device found, idVendor=0403, 
idProduct=6001, bcdDevice= 6.00
[ 1687.259610] usb 1-4: New USB device strings: Mfr=1, Product=2, 
SerialNumber=3
[ 1687.259616] usb 1-4: Product: FT232R USB UART
[ 1687.259619] usb 1-4: Manufacturer: FTDI
[ 1687.259623] usb 1-4: SerialNumber: A800dw2t
[ 1687.262894] ftdi_sio 1-4:1.0: FTDI USB Serial Device converter detected
[ 1687.262944] usb 1-4: Detected FT232RL
[ 1687.263385] usb 1-4: FTDI USB Serial Device converter now attached to 
*ttyUSB1*
[ 1722.938954] ftdi_sio *ttyUSB1*: use of SPD flags is deprecated
[ 1724.474133] ftdi_sio *ttyUSB1*: use of SPD flags is deprecated
[ 1943.370413] usb 1-4: USB disconnect, device number 8
[ 1943.370677] ftdi_sio *ttyUSB1*: error from flowcontrol urb
[ 1943.370987] ftdi_sio *ttyUSB1*: FTDI USB Serial Device converter now 
disconnected from *ttyUSB1*
[ 1943.371012] ftdi_sio 1-4:1.0: device disconnected
[ 1946.233360] usb 1-4: new full-speed USB device number 9 using xhci_hcd
[ 1946.395300] usb 1-4: New USB device found, idVendor=0403, 
idProduct=6001, bcdDevice= 6.00
[ 1946.395312] usb 1-4: New USB device strings: Mfr=1, Product=2, 
SerialNumber=3
[ 1946.395317] usb 1-4: Product: FT232R USB UART
[ 1946.395321] usb 1-4: Manufacturer: FTDI
[ 1946.395324] usb 1-4: SerialNumber: A800dw2t
[ 1946.398506] ftdi_sio 1-4:1.0: FTDI USB Serial Device converter detected
[ 1946.398552] usb 1-4: Detected FT232RL
[ 1946.399041] usb 1-4: FTDI USB Serial Device converter now attached to 
*ttyUSB0*
[ 1958.361319] usb 1-4: USB disconnect, device number 9
[ 1958.361675] ftdi_sio *ttyUSB0*: FTDI USB Serial Device converter now 
disconnected from *ttyUSB0*
[ 1958.361705] ftdi_sio 1-4:1.0: device disconnected
[ 1961.406879] usb 1-4: new full-speed USB device number 10 using xhci_hcd
[ 1961.568925] usb 1-4: New USB device found, idVendor=0403, 
idProduct=6001, bcdDevice= 6.00
[ 1961.568937] usb 1-4: New USB device strings: Mfr=1, Product=2, 
SerialNumber=3
[ 1961.568943] usb 1-4: Product: FT232R USB UART
[ 1961.568946] usb 1-4: Manufacturer: FTDI
[ 1961.568950] usb 1-4: SerialNumber: A800dw2t
[ 1961.572176] ftdi_sio 1-4:1.0: FTDI USB Serial Device converter detected
[ 1961.572224] usb 1-4: Detected FT232RL
[ 1961.572687] usb 1-4: FTDI USB Serial Device converter now attached to 
*ttyUSB0*
---[schnapp]---

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.

eis # udevadm test $(udevadm info -q path -n /dev/ttyUSB0)
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          253
file size:        10200757 bytes
header size             80 bytes
strings            2500501 bytes
nodes              7700176 bytes
Loading kernel module index.
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Found container virtualization none.
Using default interface naming scheme 'v253'.
Parsed configuration file "/usr/lib/systemd/network/99-default.link"
Created link configuration context.
Reading rules file: /usr/lib/udev/rules.d/01-md-raid-creating.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /etc/udev/rules.d/55-lfs.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-scdaemon.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
Reading rules file: 
/usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /usr/lib/udev/rules.d/70-fido2.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-printers.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /etc/udev/rules.d/80-net-name-slot.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /usr/lib/udev/rules.d/85-usb.rules
Reading rules file: /usr/lib/udev/rules.d/90-haveged.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
sd-device: Failed to chase symlinks in 
"/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/ttyUSB0/tty/ttyUSB0".
ttyUSB0: /usr/lib/udev/rules.d/50-udev-default.rules:29 GROUP 16
ttyUSB0: /usr/lib/udev/rules.d/60-serial.rules:6 Importing properties 
from results of builtin command 'usb_id'
1-4:1.0: if_class:255 protocol:0
ttyUSB0: /usr/lib/udev/rules.d/60-serial.rules:6 Importing properties 
from results of builtin command 'hwdb --subsystem=usb'
ttyUSB0: hwdb modalias key: 
"usb:v0403p6001d0600dc00dsc00dp00icFFiscFFipFFin00"
ttyUSB0: /usr/lib/udev/rules.d/60-serial.rules:16 Importing properties 
from results of builtin command 'path_id'
ttyUSB0: /usr/lib/udev/rules.d/60-serial.rules:18 Added SYMLINK 
'serial/by-path/pci-0000:00:14.0-usb-0:4:1.0-port0'
ttyUSB0: /usr/lib/udev/rules.d/60-serial.rules:24 Added SYMLINK 
'serial/by-id/usb-FTDI_FT232R_USB_UART_A800dw2t-if00-port0'
ttyUSB0: Preserve permissions of /dev/ttyUSB0, uid=0, gid=16, mode=0660

--- [ 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"

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?

Vielen Dank & viele Grüße
Fabian


-- 
Diese E-Mail wurde von AVG-Antivirussoftware auf Viren geprüft.
www.avg.com


Mehr Informationen über die Mailingliste Eisfair