I want to enumerate my USB-UART bridges with my own script. The script shall be called with some attributes and return a new devfs node name.I tested the script on console:./rc3e.py -d get-devfs-node tty --vendor 10C4 --product EA60 --driver cp210x --serial Board=KC705;Serial=5081a76781f40229d39e6c9802400fd2KC705_0/ttyUSBI implemented a static udev rule:# Silicon Labs - CP2103 USB to UART Bridge ControllerSUBSYSTEM==tty, SUBSYSTEMS==usb, ATTRS{idProduct}==ea60, ATTRS{idVendor}==10c4, ATTRS{serial}==Board=KC705;Serial=5081a76781f40229d39e6c9802400fd2, SYMLINK+=KC705_0/ttyUSBI'm testing the udev rule with /usr/bin/logger:SUBSYSTEM==tty, SUBSYSTEMS==usb, PROGRAM=/usr/bin/logger -p user.error 'product=%attr{idProduct} vendor=$attr{idVendor} drivers=$driver serial=$attr{serial}'Here I'm stuck.The reported line in /var/log/syslog is this:Sep 23 15:12:26 xxxxxx root: product= vendor= drivers=cp210x serial=$driver gets replaced, but $att{key} is always empty.This is my udevadm info -a -n /dev/ttyUSB2 output:udevadm info -a -n /dev/ttyUSB2Udevadm info starts with the device specified by the devpath and thenwalks up the chain of parent devices. It prints for every devicefound, all possible attributes in the udev rules key format.A rule to match, can be composed by the attributes of the deviceand the attributes from one single parent device.  looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/ttyUSB2/tty/ttyUSB2':    KERNEL==ttyUSB2    SUBSYSTEM==tty    DRIVER==  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/ttyUSB2':    KERNELS==ttyUSB2    SUBSYSTEMS==usb-serial    DRIVERS==cp210x                                      <-- key of interrest    ATTRS{port_number}==0  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0':    KERNELS==1-3:1.0    SUBSYSTEMS==usb    DRIVERS==cp210x    ATTRS{bAlternateSetting}== 0    ATTRS{bInterfaceClass}==ff    ATTRS{bInterfaceNumber}==00    ATTRS{bInterfaceProtocol}==00    ATTRS{bInterfaceSubClass}==00    ATTRS{bNumEndpoints}==02    ATTRS{interface}==CP2103 USB to UART Bridge Controller    ATTRS{supports_autosuspend}==1  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-3':    KERNELS==1-3    SUBSYSTEMS==usb    DRIVERS==usb    ATTRS{authorized}==1    ATTRS{avoid_reset_quirk}==0    ATTRS{bConfigurationValue}==1    ATTRS{bDeviceClass}==00    ATTRS{bDeviceProtocol}==00    ATTRS{bDeviceSubClass}==00    ATTRS{bMaxPacketSize0}==64    ATTRS{bMaxPower}==100mA    ATTRS{bNumConfigurations}==1    ATTRS{bNumInterfaces}== 1    ATTRS{bcdDevice}==0100    ATTRS{bmAttributes}==80    ATTRS{busnum}==1    ATTRS{configuration}==    ATTRS{devnum}==2    ATTRS{devpath}==3    ATTRS{idProduct}==ea60                               <-- key of interrest    ATTRS{idVendor}==10c4                                <-- key of interrest    ATTRS{ltm_capable}==no    ATTRS{manufacturer}==Silicon Labs    ATTRS{maxchild}==0    ATTRS{product}==CP2103 USB to UART Bridge Controller    ATTRS{quirks}==0x0    ATTRS{removable}==unknown    ATTRS{serial}==Board=KC705;Serial=5081a76781f40229d39e6c9802400fd2    <-- key of interrest    ATTRS{speed}==12    ATTRS{urbnum}==258427    ATTRS{version}== 1.10What should I change to pass these parameters to my script?EDIT 1:root@fpga-cloud:/dev# udevadm info /dev/ttyUSB2P: /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/ttyUSB2/tty/ttyUSB2N: ttyUSB2S: KC705_0/ttyUSBS: serial/by-id/usb-Silicon_Labs_CP2103_USB_to_UART_Bridge_Controller_Board=KC705_Serial=5081a76781f40229d39e6c9802400fd2-if00-port0S: serial/by-path/pci-0000:00:14.0-usb-0:3:1.0-port0S: ttyUSB.KC705E: DEVLINKS=/dev/KC705_2/ttyUSB /dev/serial/by-id/usb-Silicon_Labs_CP2103_USB_to_UART_Bridge_Controller_Board=KC705_Serial=5081a76781f40229d39e6c9802400fd2-if00-port0 /dev/KC705_1/ttyUSB /dev/ttyUSB.KC705 /dev/serial/by-path/pci-0000:00:14.0-usb-0:3:1.0-port0E: DEVNAME=/dev/ttyUSB2E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/ttyUSB2/tty/ttyUSB2E: ID_BUS=usbE: ID_MM_CANDIDATE=1E: ID_MODEL=CP2103_USB_to_UART_Bridge_ControllerE: ID_MODEL_ENC=CP2103\x20USB\x20to\x20UART\x20Bridge\x20ControllerE: ID_MODEL_FROM_DATABASE=CP210x UART Bridge / myAVR mySmartUSB lightE: ID_MODEL_ID=ea60E: ID_PATH=pci-0000:00:14.0-usb-0:3:1.0E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_3_1_0E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controllerE: ID_PCI_INTERFACE_FROM_DATABASE=XHCIE: ID_PCI_SUBCLASS_FROM_DATABASE=USB controllerE: ID_REVISION=0100E: ID_SERIAL=Silicon_Labs_CP2103_USB_to_UART_Bridge_Controller_Board=KC705_Serial=5081a76781f40229d39e6c9802400fd2E: ID_SERIAL_SHORT=Board=KC705_Serial=5081a76781f40229d39e6c9802400fd2E: ID_TYPE=genericE: ID_USB_DRIVER=cp210xE: ID_USB_INTERFACES=:ff0000:E: ID_USB_INTERFACE_NUM=00E: ID_VENDOR=Silicon_LabsE: ID_VENDOR_ENC=Silicon\x20LabsE: ID_VENDOR_FROM_DATABASE=Cygnal Integrated Products, Inc.E: ID_VENDOR_ID=10c4E: MAJOR=188E: MINOR=2E: SUBSYSTEM=ttyE: TAGS=:systemd:E: USEC_INITIALIZED=7849322
udev: Passing parameters via $attr{key} does not work. How to solve it?
debian;udev;devices