Article View: pl.comp.os.linux
Article #895975Re: Reguły dla udev bierzecie z udevadm?
From: Pszemol
Date: Tue, 17 May 2016 21:44
Date: Tue, 17 May 2016 21:44
413 lines
14095 bytes
14095 bytes
SLX <nomail@nomail> wrote:
> Użyj numeru seryjnego urządzeń USB do ich rozróżnienia, np:
> SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="04e2",
> ATTRS{idProduct}=="1422", ATTRS{serial}=="E528498121", SYMLINK+="ttySerial"
>
Dzięki, to akurat nie zadziała, ten chip w moim przypadku to DUART, a więc
dwa porty na każdej płytce będą mieć ten sam numer seryjny. Ale przyda sie
innym razem ;-)
> A do tworzenia reguł bradziej nadaje się polecenie:
> udevadm info -a /dev/ttyXRUSB1
O, super... Więcej info.
Ale nie bardzo widzę tu zależności pomiędzy ATTRS{} od numery portu na
ostatnim USB hubie...
Dam Ci przykład, chcę rozróżnić dwa identyczne urządzenia wetknięte do
różnych portów huba i chce uzyc numeru portu huba do utworzenia nazwy pliku
(nie numeru seryjnego).
Oto te dwa urzadzenia, pelna sciezka do nich...
Ten jest w porcie 1 huba:
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2/tty/ttyXRUSB1'
Ten jest w porcie 3 huba:
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.2/tty/ttyXRUSB5'
A to jest to co wypluwa dla nich obu udevadm -a, ktorego atrybutu użyłbyś:
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2/tty/ttyXRUSB1':
KERNEL=="ttyXRUSB1"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.2':
KERNELS=="1-1.4.1:1.2"
SUBSYSTEMS=="usb"
DRIVERS=="cdc_xr_usb_serial"
ATTRS{bInterfaceClass}=="02"
ATTRS{iad_bFunctionClass}=="02"
ATTRS{bmCapabilities}=="6"
ATTRS{iad_bFirstInterface}=="02"
ATTRS{bInterfaceSubClass}=="02"
ATTRS{bInterfaceProtocol}=="01"
ATTRS{bNumEndpoints}=="01"
ATTRS{iad_bFunctionSubClass}=="02"
ATTRS{iad_bFunctionProtocol}=="01"
ATTRS{supports_autosuspend}=="1"
ATTRS{iad_bInterfaceCount}=="02"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="02"
looking at parent device
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.1':
KERNELS=="1-1.4.1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="02"
ATTRS{bDeviceProtocol}=="01"
ATTRS{devpath}=="1.4.1"
ATTRS{idVendor}=="04e2"
ATTRS{speed}=="12"
ATTRS{bNumInterfaces}==" 4"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{busnum}=="1"
ATTRS{devnum}=="81"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="100mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="a0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="0"
ATTRS{bcdDevice}=="0002"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{serial}=="E340598121"
ATTRS{version}==" 2.00"
ATTRS{urbnum}=="202"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Exar Corp."
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="1422"
ATTRS{bDeviceClass}=="ef"
ATTRS{product}=="Exar USB UART"
looking at parent device
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4':
KERNELS=="1-1.4"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="01"
ATTRS{devpath}=="1.4"
ATTRS{idVendor}=="1a40"
ATTRS{speed}=="480"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{busnum}=="1"
ATTRS{devnum}=="67"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="100mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="4"
ATTRS{bcdDevice}=="0111"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{version}==" 2.00"
ATTRS{urbnum}=="252"
ATTRS{ltm_capable}=="no"
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="0101"
ATTRS{bDeviceClass}=="09"
ATTRS{product}=="USB 2.0 Hub"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1':
KERNELS=="1-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="01"
ATTRS{devpath}=="1"
ATTRS{idVendor}=="1a40"
ATTRS{speed}=="480"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{busnum}=="1"
ATTRS{devnum}=="2"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="100mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="4"
ATTRS{bcdDevice}=="0111"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{version}==" 2.00"
ATTRS{urbnum}=="1408"
ATTRS{ltm_capable}=="no"
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="0101"
ATTRS{bDeviceClass}=="09"
ATTRS{product}=="USB 2.0 Hub"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
KERNELS=="usb1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="01"
ATTRS{devpath}=="0"
ATTRS{idVendor}=="1d6b"
ATTRS{speed}=="480"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{authorized_default}=="1"
ATTRS{busnum}=="1"
ATTRS{devnum}=="1"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="0mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="6"
ATTRS{bcdDevice}=="0319"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{serial}=="0000:00:14.0"
ATTRS{version}==" 2.00"
ATTRS{urbnum}=="40"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 3.19.0-39-generic xhci-hcd"
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="0002"
ATTRS{bDeviceClass}=="09"
ATTRS{product}=="xHCI Host Controller"
looking at parent device '/devices/pci0000:00/0000:00:14.0':
KERNELS=="0000:00:14.0"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{irq}=="261"
ATTRS{subsystem_vendor}=="0x8086"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0330"
ATTRS{driver_override}=="(null)"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{dma_mask_bits}=="64"
ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f"
ATTRS{device}=="0x0f35"
ATTRS{enable}=="1"
ATTRS{msi_bus}=="1"
ATTRS{local_cpulist}=="0-3"
ATTRS{vendor}=="0x8086"
ATTRS{subsystem_device}=="0x0f35"
ATTRS{numa_node}=="-1"
ATTRS{d3cold_allowed}=="1"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.2/tty/ttyXRUSB5':
KERNEL=="ttyXRUSB5"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.2':
KERNELS=="1-1.4.3:1.2"
SUBSYSTEMS=="usb"
DRIVERS=="cdc_xr_usb_serial"
ATTRS{bInterfaceClass}=="02"
ATTRS{iad_bFunctionClass}=="02"
ATTRS{bmCapabilities}=="6"
ATTRS{iad_bFirstInterface}=="02"
ATTRS{bInterfaceSubClass}=="02"
ATTRS{bInterfaceProtocol}=="01"
ATTRS{bNumEndpoints}=="01"
ATTRS{iad_bFunctionSubClass}=="02"
ATTRS{iad_bFunctionProtocol}=="01"
ATTRS{supports_autosuspend}=="1"
ATTRS{iad_bInterfaceCount}=="02"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="02"
looking at parent device
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.3':
KERNELS=="1-1.4.3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="02"
ATTRS{bDeviceProtocol}=="01"
ATTRS{devpath}=="1.4.3"
ATTRS{idVendor}=="04e2"
ATTRS{speed}=="12"
ATTRS{bNumInterfaces}==" 4"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{busnum}=="1"
ATTRS{devnum}=="79"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="100mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="a0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="0"
ATTRS{bcdDevice}=="0002"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{serial}=="E778498121"
ATTRS{version}==" 2.00"
ATTRS{urbnum}=="202"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Exar Corp."
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="1422"
ATTRS{bDeviceClass}=="ef"
ATTRS{product}=="Exar USB UART"
looking at parent device
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4':
KERNELS=="1-1.4"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="01"
ATTRS{devpath}=="1.4"
ATTRS{idVendor}=="1a40"
ATTRS{speed}=="480"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{busnum}=="1"
ATTRS{devnum}=="67"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="100mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="4"
ATTRS{bcdDevice}=="0111"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{version}==" 2.00"
ATTRS{urbnum}=="252"
ATTRS{ltm_capable}=="no"
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="0101"
ATTRS{bDeviceClass}=="09"
ATTRS{product}=="USB 2.0 Hub"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1':
KERNELS=="1-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="01"
ATTRS{devpath}=="1"
ATTRS{idVendor}=="1a40"
ATTRS{speed}=="480"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{busnum}=="1"
ATTRS{devnum}=="2"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="100mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="4"
ATTRS{bcdDevice}=="0111"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{version}==" 2.00"
ATTRS{urbnum}=="1408"
ATTRS{ltm_capable}=="no"
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="0101"
ATTRS{bDeviceClass}=="09"
ATTRS{product}=="USB 2.0 Hub"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
KERNELS=="usb1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="01"
ATTRS{devpath}=="0"
ATTRS{idVendor}=="1d6b"
ATTRS{speed}=="480"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{authorized_default}=="1"
ATTRS{busnum}=="1"
ATTRS{devnum}=="1"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="0mA"
ATTRS{authorized}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="6"
ATTRS{bcdDevice}=="0319"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{quirks}=="0x0"
ATTRS{serial}=="0000:00:14.0"
ATTRS{version}==" 2.00"
ATTRS{urbnum}=="40"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 3.19.0-39-generic xhci-hcd"
ATTRS{removable}=="unknown"
ATTRS{idProduct}=="0002"
ATTRS{bDeviceClass}=="09"
ATTRS{product}=="xHCI Host Controller"
looking at parent device '/devices/pci0000:00/0000:00:14.0':
KERNELS=="0000:00:14.0"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{irq}=="261"
ATTRS{subsystem_vendor}=="0x8086"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0330"
ATTRS{driver_override}=="(null)"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{dma_mask_bits}=="64"
ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f"
ATTRS{device}=="0x0f35"
ATTRS{enable}=="1"
ATTRS{msi_bus}=="1"
ATTRS{local_cpulist}=="0-3"
ATTRS{vendor}=="0x8086"
ATTRS{subsystem_device}=="0x0f35"
ATTRS{numa_node}=="-1"
ATTRS{d3cold_allowed}=="1"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
Technical Details
Message-ID:
<nhg34v$6gg$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed2.plix.pl!goblin2!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mailReferences:
<nhf1or$3dn$1@dont-email.me> <nhfbtt$8r7$1@dont-email.me> <573b4899$0$701$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed2.plix.pl!goblin2!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Pszemol <Pszemol@PolBox.com> Newsgroups: pl.comp.os.linux Subject: Re: Reguły dla udev bierzecie z udevadm? Date: Tue, 17 May 2016 16:44:21 -0500 Organization: A noiseless patient Spider Lines: 415 Message-ID: <nhg34v$6gg$1@dont-email.me> References: <nhf1or$3dn$1@dont-email.me> <nhfbtt$8r7$1@dont-email.me> <573b4899$0$701$65785112@news.neostrada.pl> Mime-Version: 1.0 Injection-Info: mx02.eternal-september.org; posting-host="fd7e1ec8352f882d075725601cce64b0"; logging-data="6672"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18uWGmjJNJei5oij2YXvD2n" User-Agent: NewsTap/5.1.8 (iPhone/iPod Touch) Cancel-Lock: sha1:INYvKLxClNJnBL/ZBqYY3jqAaOs= sha1:C0Aom0lYPg2avUXJBkV6oVGWJCM= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit