Использование правил udev для создания символической ссылки на устройство, которое содержит номер порта USB, к которому он подключен - PullRequest
1 голос
/ 06 августа 2020

Мне нужно создать символическую ссылку на USB-устройство, которое содержит количество портов, к которым оно подключено

Это мой вывод udevadm info --name = / dev / ttyACM0 --attribute-walk

  looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:2.0/tty/ttyACM0':
KERNEL=="ttyACM0"
SUBSYSTEM=="tty"
DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:2.0':
KERNELS=="3-4.2:2.0"
SUBSYSTEMS=="usb"
DRIVERS=="cdc_acm"
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceClass}=="02"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceProtocol}=="01"
ATTRS{bInterfaceSubClass}=="02"
ATTRS{bNumEndpoints}=="01"
ATTRS{bmCapabilities}=="2"
ATTRS{iad_bFirstInterface}=="00"
ATTRS{iad_bFunctionClass}=="02"
ATTRS{iad_bFunctionProtocol}=="01"
ATTRS{iad_bFunctionSubClass}=="02"
ATTRS{iad_bInterfaceCount}=="02"
ATTRS{interface}=="CDC Abstract Control Model (ACM)"
ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2':
KERNELS=="3-4.2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="2"
ATTRS{bDeviceClass}=="02"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bMaxPower}=="2mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 2"
ATTRS{bcdDevice}=="0419"
ATTRS{bmAttributes}=="c0"
ATTRS{busnum}=="3"
ATTRS{configuration}=="CDC ACM config"
ATTRS{devnum}=="6"
ATTRS{devpath}=="4.2"
ATTRS{idProduct}=="a4a7"
ATTRS{idVendor}=="0525"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 4.19.58 with 20980000.usb"
ATTRS{maxchild}=="0"
ATTRS{product}=="Gadget Serial v2.4"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{rx_lanes}=="1"
ATTRS{speed}=="480"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="118"
ATTRS{version}==" 2.00"

В этом случае мое устройство должно называться «Device_3-4.2». Возможно, мне нужно каким-то образом извлечь атрибут KERNELS родительского устройства, но я не знаю, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...