Public bug reported:

udevadm info prints properties with names that aren't recognized in udev
rules files. This makes it difficult to write rules using this
information. For instance, to print infomation fo a particular serial
device one might do the following

    udevadm info /dev/ttySCM0

producing

P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/tty/ttyACM0
N: ttyACM0
S: serial/by-id/usb-Seeed__www.seeed.cc__Seeeduino_v4_95635333131351F0A1B2-if00
S: serial/by-path/pci-0000:00:1a.0-usb-0:1.3:1.0
S: ttyARD1
E: 
DEVLINKS=/dev/serial/by-id/usb-Seeed__www.seeed.cc__Seeeduino_v4_95635333131351F0A1B2-if00
 /dev/serial/by-path/pci-0000:00:1a.0-usb-0:1.3:1.0 /dev/ttyARD1
E: DEVNAME=/dev/ttyACM0
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/tty/ttyACM0
E: ID_BUS=usb
E: ID_MM_CANDIDATE=1
E: ID_MODEL=Seeeduino_v4
E: ID_MODEL_ENC=Seeeduino\x20v4
E: ID_MODEL_FROM_DATABASE=6 Series/C200 Series Chipset Family USB Enhanced Host 
Controller
E: ID_MODEL_ID=0004
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.3:1.0
E: ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_3_1_0
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_INTERFACE_FROM_DATABASE=EHCI
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_REVISION=0001
E: ID_SERIAL=Seeed__www.seeed.cc__Seeeduino_v4_95635333131351F0A1B2
E: ID_SERIAL_SHORT=95635333131351F0A1B2
E: ID_TYPE=generic
E: ID_USB_CLASS_FROM_DATABASE=Communications
E: ID_USB_DRIVER=cdc_acm
E: ID_USB_INTERFACES=:020201:0a0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Seeed__www.seeed.cc_
E: ID_VENDOR_ENC=Seeed\x20\x28www.seeed.cc\x29
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_VENDOR_ID=2886
E: MAJOR=166
E: MINOR=0
E: SUBSYSTEM=tty
E: TAGS=:systemd:
E: USEC_INITIALIZED=64897955420

The properties that are needed to write a rule for this device to create
a stable symbolic link are

E: ID_MODEL_ID=0004
E: ID_SERIAL_SHORT=95635333131351F0A1B2
E: ID_VENDOR_ID=2886

To use these in a udev rule one needs to write

SUBSYSTEM=="tty", ATTRS{idVendor}=="2886", ATTRS{idProduct}=="0004",
ATTRS{serial}=="95635333131351F0A1B2", SYMLINK+="ttyARD0"

If one enters

     udevadm info -a /dev/ttyACM0

one gets the whole tree of devices from /dev/ttyACM0 to the PCI device
for the USB host controller (more that 150 lines of babble for 7
devices). These parameter/property names are all printed in rules file
format (e.g. ATTRS{serial}="95635333131351F0A1B2") but it's impossible
to know which are the correct ones.

In fact if one tries to filter just the parameters needed for the rule
with

     udevadm info -a /dev/ttyACM0 | grep -e vendor -e product -e serial

you get

    ATTRS{product}=="Seeeduino v4"
    ATTRS{serial}=="95635333131351F0A1B2"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1a.0"
    ATTRS{subsystem_vendor}=="0x1028"
    ATTRS{vendor}=="0x8086"

which doesn't even list the values needed for the rule: idVendor
(corresponding to ID_VENDOR_ID) is missing as is idProduct
(corresponding to ID_MODEL_ID) and there are multiple "serial"
parameters.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: udev 229-4ubuntu21.1
ProcVersionSignature: Ubuntu 4.13.0-36.40~16.04.1-generic 4.13.13
Uname: Linux 4.13.0-36-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.15
Architecture: amd64
CurrentDesktop: Unity
CustomUdevRuleFiles: 56-hpmud.rules 60-vboxdrv.rules .swp 99-usb-serial.rules
Date: Sat Mar  3 13:14:52 2018
EcryptfsInUse: Yes
InstallationDate: Installed on 2018-01-30 (31 days ago)
InstallationMedia: Ubuntu 16.04.3 LTS "Xenial Xerus" - Release amd64 (20170801)
MachineType: Dell Inc. OptiPlex 790
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.13.0-36-generic 
root=UUID=c43d6f43-8845-4b4c-9311-3826e5aae32e ro quiet splash vt.handoff=7
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/28/2011
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A05
dmi.board.name: 0HY9JP
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 6
dmi.chassis.vendor: Dell Inc.
dmi.modalias: 
dmi:bvnDellInc.:bvrA05:bd05/28/2011:svnDellInc.:pnOptiPlex790:pvr01:rvnDellInc.:rn0HY9JP:rvrA00:cvnDellInc.:ct6:cvr:
dmi.product.name: OptiPlex 790
dmi.product.version: 01
dmi.sys.vendor: Dell Inc.

** Affects: systemd (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug xenial

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1753145

Title:
  udevadm info prints unuseful property names

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1753145/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to