You are not logged in.

#1 2015-07-17 08:37:57

Nazdravi
Member
Registered: 2003-03-20
Posts: 12

udev rules execution problem after update since a few weeks [SOLVED]

For my external USB-to-serial-devices I have a ruleset that worked for years:

cat /etc/udev/rules.d/99-adapter.rules 
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="0557", ENV{ID_MODEL_ID}=="2008", SYMLINK+="ttyPL2303%n"
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="0403", ENV{ID_MODEL_ID}=="6001", SYMLINK+="ttyFT232%n"
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="067b", ENV{ID_MODEL_ID}=="2303", SYMLINK+="ttyPL2303%n"
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="0403", ENV{ID_MODEL_ID}=="6010", SYMLINK+="ttyFT2232%n"
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="0403", ENV{ID_MODEL_ID}=="6015", ATTRS{serial}=="DA00FBIE", SYMLINK+="ttyFT_VNA%n"
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="0403", ENV{ID_MODEL_ID}=="6015", ATTRS{product}=="UMFT234XD", SYMLINK+="ttyFT234%n"

Since a few weeks (probably because arch update) the additional symlinks do not appear any more. Testing the attached devices with command seems all right (in this case for line 5 from above).

udevadm info -a -n /dev/ttyUSB1 | egrep -e "KERNEL|SUBSYSTEM|0403|6015|serial"
    KERNEL=="ttyUSB1"
    SUBSYSTEM=="tty"
    KERNELS=="ttyUSB1"
    SUBSYSTEMS=="usb-serial"
    KERNELS=="4-1.5.4.1:1.0"
    SUBSYSTEMS=="usb"
    KERNELS=="4-1.5.4.1"
    SUBSYSTEMS=="usb"
    ATTRS{idProduct}=="6015"
    ATTRS{idVendor}=="0403"
    ATTRS{serial}=="DA00FBIE"
    KERNELS=="4-1.5.4"
    SUBSYSTEMS=="usb"
    KERNELS=="4-1.5"
    SUBSYSTEMS=="usb"
    KERNELS=="4-1"
    SUBSYSTEMS=="usb"
    KERNELS=="usb4"
    SUBSYSTEMS=="usb"
    ATTRS{serial}=="0000:00:1d.0"
    KERNELS=="0000:00:1d.0"
    SUBSYSTEMS=="pci"
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
udevadm test $(udevadm info -q path -n /dev/ttyUSB1) 2>&1              
calling: test
version 221
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.

=== trie on-disk ===
tool version:          221
file size:         6999288 bytes
header size             80 bytes
strings            1754560 bytes
nodes              5244648 bytes
Load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/usr/lib/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
Skipping overridden file: /usr/lib/udev/rules.d/80-net-setup-link.rules.
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/25-gpsd-usb.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-gphoto.rules
Reading rules file: /usr/lib/udev/rules.d/40-hpet-permissions.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /etc/udev/rules.d/45-ft2232.rules
Reading rules file: /etc/udev/rules.d/45-jtagkey.rules
Reading rules file: /usr/lib/udev/rules.d/48-stm32dfu.rules
Reading rules file: /usr/lib/udev/rules.d/49-sane.rules
Reading rules file: /usr/lib/udev/rules.d/50-rbd.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/56-hpmud.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-ceph-partuuid-workaround.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-pcmcia.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-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/61-accelerometer.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/65-kvm.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
Reading rules file: /usr/lib/udev/rules.d/69-libftdi.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.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-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: /etc/udev/rules.d/73-beaglebone.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: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
Reading rules file: /etc/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /usr/lib/udev/rules.d/85-nm-unmanaged.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /usr/lib/udev/rules.d/90-libinput-model-quirks.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-ceph-osd-alt.rules
Reading rules file: /usr/lib/udev/rules.d/95-ceph-osd.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /etc/udev/rules.d/99-SaleaeLogic.rules
Reading rules file: /etc/udev/rules.d/99-adapter.rules
Reading rules file: /etc/udev/rules.d/99-android.rules
Reading rules file: /etc/udev/rules.d/99-arduino.rules
Reading rules file: /etc/udev/rules.d/99-avrtools.rules
Reading rules file: /usr/lib/udev/rules.d/99-gpusb.rules
Reading rules file: /etc/udev/rules.d/99-i2c-adapter.rules
Reading rules file: /usr/lib/udev/rules.d/99-laptop-mode.rules
Reading rules file: /etc/udev/rules.d/99-opticon.rules
Reading rules file: /etc/udev/rules.d/99-serverpanel.rules
Reading rules file: /etc/udev/rules.d/99-spi-adapter.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /etc/udev/rules.d/99-usb-ethernet.rules
Reading rules file: /usr/lib/udev/rules.d/wacom.rules
Reading rules file: /etc/udev/rules.d/z010_mchp_tools.rules
rules contain 196608 bytes tokens (16384 * 12 bytes), 29170 bytes strings
17227 strings (141097 bytes), 14479 de-duplicated (114676 bytes), 2749 trie nodes used
GROUP 14 /usr/lib/udev/rules.d/50-udev-default.rules:26
IMPORT builtin 'usb_id' /usr/lib/udev/rules.d/56-hpmud.rules:10
/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.4/4-1.5.4.1/4-1.5.4.1:1.0: if_class 255 protocol 0
IMPORT builtin 'hwdb' /usr/lib/udev/rules.d/60-serial.rules:7
IMPORT builtin skip 'usb_id' /usr/lib/udev/rules.d/60-serial.rules:8
IMPORT builtin 'hwdb' /usr/lib/udev/rules.d/60-serial.rules:8
IMPORT builtin 'path_id' /usr/lib/udev/rules.d/60-serial.rules:15
LINK 'serial/by-path/pci-0000:00:1d.0-usb-0:1.5.4.1:1.0-port0' /usr/lib/udev/rules.d/60-serial.rules:17
IMPORT builtin skip 'usb_id' /usr/lib/udev/rules.d/60-serial.rules:19
LINK 'serial/by-id/pci-FTDI_FT230X_Basic_UART_DA00FBIE-if00-port0' /usr/lib/udev/rules.d/60-serial.rules:24
handling device node '/dev/ttyUSB1', devnum=c188:1, mode=0660, uid=0, gid=14
preserve permissions /dev/ttyUSB1, 020660, uid=0, gid=14
preserve already existing symlink '/dev/char/188:1' to '../ttyUSB1'
found 'c188:1' claiming '/run/udev/links/\x2fserial\x2fby-id\x2fpci-FTDI_FT230X_Basic_UART_DA00FBIE-if00-port0'
creating link '/dev/serial/by-id/pci-FTDI_FT230X_Basic_UART_DA00FBIE-if00-port0' to '/dev/ttyUSB1'
preserve already existing symlink '/dev/serial/by-id/pci-FTDI_FT230X_Basic_UART_DA00FBIE-if00-port0' to '../../ttyUSB1'
found 'c188:1' claiming '/run/udev/links/\x2fserial\x2fby-path\x2fpci-0000:00:1d.0-usb-0:1.5.4.1:1.0-port0'
creating link '/dev/serial/by-path/pci-0000:00:1d.0-usb-0:1.5.4.1:1.0-port0' to '/dev/ttyUSB1'
preserve already existing symlink '/dev/serial/by-path/pci-0000:00:1d.0-usb-0:1.5.4.1:1.0-port0' to '../../ttyUSB1'
.ID_PORT=0
ACTION=add
DEVLINKS=/dev/serial/by-path/pci-0000:00:1d.0-usb-0:1.5.4.1:1.0-port0 /dev/serial/by-id/pci-FTDI_FT230X_Basic_UART_DA00FBIE-if00-port0
DEVNAME=/dev/ttyUSB1
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.4/4-1.5.4.1/4-1.5.4.1:1.0/ttyUSB1/tty/ttyUSB1
ID_BUS=pci
ID_MODEL=FT230X_Basic_UART
ID_MODEL_ENC=FT230X\x20Basic\x20UART
ID_MODEL_FROM_DATABASE=Bridge(I2C/SPI/UART/FIFO)
ID_MODEL_ID=0x1c26
ID_PATH=pci-0000:00:1d.0-usb-0:1.5.4.1:1.0
ID_PATH_TAG=pci-0000_00_1d_0-usb-0_1_5_4_1_1_0
ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
ID_PCI_INTERFACE_FROM_DATABASE=EHCI
ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
ID_REVISION=1000
ID_SERIAL=FTDI_FT230X_Basic_UART_DA00FBIE
ID_SERIAL_SHORT=DA00FBIE
ID_TYPE=generic
ID_USB_DRIVER=ftdi_sio
ID_USB_INTERFACES=:ffffff:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=FTDI
ID_VENDOR_ENC=FTDI
ID_VENDOR_FROM_DATABASE=Future Technology Devices International, Ltd
ID_VENDOR_ID=0x8086
MAJOR=188
MINOR=1
SUBSYSTEM=tty
TAGS=:systemd:
USEC_INITIALIZED=549923611
hotplugscript=/etc/.mplab_ide/mchplinusbdevice
Unload module index
Unloaded link configuration context.

Any Ideas? Is the syntax of my ruleset outdated and should be rewritten?

Last edited by Nazdravi (2015-07-20 17:11:55)

Offline

#2 2015-07-17 17:24:24

mauritiusdadd
Member
From: Benevento, Italy
Registered: 2013-10-27
Posts: 776

Re: udev rules execution problem after update since a few weeks [SOLVED]

It seems that ID_VENDOR_ID=0x8086 and ID_MODEL_ID=0x1c26 from your device do not match any entry of your rule, maybe you meant

KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="DA00FBIE", SYMLINK+="ttyFT_VNA%n"

?


About me - github

-- When you have eliminated the impossible, whatever remains, however improbable, must be the truth -- Spock | Sherlock Holmes

Offline

#3 2015-07-20 06:33:54

Nazdravi
Member
Registered: 2003-03-20
Posts: 12

Re: udev rules execution problem after update since a few weeks [SOLVED]

Thanks. You're right. After changing ENV{ID_VENDOR_ID} and ENV{ID_MODEL_ID} to ATTRS{idVendor} resp. ATTRS{idProduct} the devices are back again. Thanks again.

Offline

#4 2015-07-20 07:53:39

mauritiusdadd
Member
From: Benevento, Italy
Registered: 2013-10-27
Posts: 776

Re: udev rules execution problem after update since a few weeks [SOLVED]

You're welcome smile
Remember also to mark the thread a SOLVED: https://bbs.archlinux.org/viewtopic.php?id=130309


About me - github

-- When you have eliminated the impossible, whatever remains, however improbable, must be the truth -- Spock | Sherlock Holmes

Offline

Board footer

Powered by FluxBB