gpt4 book ai didi

linux - UDEV-如何获取子设备属性的值

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:01:50 27 4
gpt4 key购买 nike

我正在编写一个 udev 规则来设置两个串口的名称。我想在符号链接(symbolic link)中使用属性 bInterfaceNumber 的值。

我的规则是:

SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", SYMLINK+="toto%s{bInterfaceNumber}"

规则与设备匹配,但从未找到属性值。

这是一个设备的分层 View :

console@host:udevadm info --name=/dev/ttyUSB0 --attribute-walk
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0':
KERNELS=="1-1:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="ftdi_sio"
ATTRS{bInterfaceNumber}=="00"

looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1':
KERNELS=="1-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{idVendor}=="0403"
ATTRS{idProduct}=="6010"

提前致谢

最佳答案

这是我为双端口 FTDI 芯片创建别名的规则:

# Internal serial ports
SUBSYSTEMS=="usb", ATTRS{interface}=="Dual RS232", SYMLINK+="sertest%s{bInterfaceNumber}"

根据这个post属性必须在一个级别上匹配。这就是 idVendoridProduct 不能与 bInterfaceNumber 一起使用的原因。下面你可以看到,interfacebInterfaceNumber 属于同一级别:

looking at parent device '/devices/platform/omap/musb-ti81xx/musb-hdrc.1/usb1/1-1/1-1.2/1-1.2:1.0':
KERNELS=="1-1.2:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="ftdi_sio"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bNumEndpoints}=="02"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceSubClass}=="ff"
ATTRS{bInterfaceProtocol}=="ff"
ATTRS{supports_autosuspend}=="1"
ATTRS{interface}=="Dual RS232"

关于linux - UDEV-如何获取子设备属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19273418/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com