I am using Ubuntu 17.10 along a tty-to-USB adapter (adding more in future), thus intending to create a unique udev identifyier to the adapter.
I did lsusb:
Bus 007 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
udevadm info -a -n /dev/ttyUSB0 | grep '{serial}' | head -n1 leads to
ATTRS{serial}=="**0000:00:16.0**"
thus I did sudo vi /etc/udev/rules.d/99-usb-serial.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", ATTRS{serial}=="0000:00:16.0", SYMLINK+="ttyUSBComfoAir"
after a sudo udevadm control –reload-rules && sudo udevadm trigger I expected some /dev/ttyUSB…., but a ll /dev/ttyUSB* leads to
crw-rw---- 1 root dialout 188, 0 Nov 20 18:04 /dev/ttyUSB0
ONLY if I omit ATTRS{serial} it works…..
ANY IDEA?? – as adding more of these adapters will require the serial number to differentiate the adapters…
Hi!
as I am not so clear what the relevant parts are: I am adding the complete output…
looking at device '/devices/pci0000:00/0000:00:16.0/usb7/7-1/7-1:1.0/ttyUSB0/tty/ttyUSB0':
KERNEL=="ttyUSB0"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:16.0/usb7/7-1/7-1:1.0/ttyUSB0':
KERNELS=="ttyUSB0"
SUBSYSTEMS=="usb-serial"
DRIVERS=="pl2303"
ATTRS{port_number}=="0"
looking at parent device '/devices/pci0000:00/0000:00:16.0/usb7/7-1/7-1:1.0':
KERNELS=="7-1:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="pl2303"
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceProtocol}=="00"
ATTRS{bInterfaceSubClass}=="00"
ATTRS{bNumEndpoints}=="03"
ATTRS{supports_autosuspend}=="1"
looking at parent device '/devices/pci0000:00/0000:00:16.0/usb7/7-1':
KERNELS=="7-1"
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}=="0400"
ATTRS{bmAttributes}=="80"
ATTRS{busnum}=="7"
ATTRS{configuration}==""
ATTRS{devnum}=="2"
ATTRS{devpath}=="1"
ATTRS{idProduct}=="2303"
ATTRS{idVendor}=="067b"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Prolific Technology Inc. "
ATTRS{maxchild}=="0"
ATTRS{product}=="USB-Serial Controller D"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{speed}=="12"
ATTRS{urbnum}=="258959"
ATTRS{version}==" 1.10"
looking at parent device '/devices/pci0000:00/0000:00:16.0/usb7':
KERNELS=="usb7"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{authorized_default}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="0mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0413"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="7"
ATTRS{configuration}==""
ATTRS{devnum}=="1"
ATTRS{devpath}=="0"
ATTRS{idProduct}=="0001"
ATTRS{idVendor}=="1d6b"
ATTRS{interface_authorized_default}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 4.13.0-16-generic ohci_hcd"
ATTRS{maxchild}=="4"
ATTRS{product}=="OHCI PCI host controller"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="0000:00:16.0"
ATTRS{speed}=="12"
ATTRS{urbnum}=="36"
ATTRS{version}==" 1.10"
looking at parent device '/devices/pci0000:00/0000:00:16.0':
KERNELS=="0000:00:16.0"
SUBSYSTEMS=="pci"
DRIVERS=="ohci-pci"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0310"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{d3cold_allowed}=="0"
ATTRS{device}=="0x4397"
ATTRS{dma_mask_bits}=="32"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="18"
ATTRS{local_cpulist}=="0-1"
ATTRS{local_cpus}=="3"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{revision}=="0x00"
ATTRS{subsystem_device}=="0x8496"
ATTRS{subsystem_vendor}=="0x1043"
ATTRS{vendor}=="0x1002"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
Best Answer
As far as I know you can only combine the information of one particular child with the parent. In your line
you combine information from this child
AND this child
If you look at the former, there's no ATTRS(serial) included and if you look at the latter there's no ATTRS(idVendor/idProduct) included.