udev 规则未执行

jya*_*ard 1 linux udev

我有以下udevadm列出的设备:

查看设备'/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2/6-2:1.0/ttyUSB0/tty/ttyUSB0':KERNEL==“ttyUSB0”子系统==“tty”驱动程序==“”

查看父设备 '/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2/6-2:1.0/ttyUSB0': KERNELS=="ttyUSB0" SUBSYSTEMS== “usb 串行”驱动程序==“pl2303”ATTRS{port_number}==“0”

查看父设备 '/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2/6-2:1.0': KERNELS=="6-2:1.0" SUBSYSTEMS ==“usb”驱动程序==“pl2303”ATTRS{bInterfaceNumber}==“00”ATTRS{bAlternateSetting}==“0”ATTRS{bNumEndpoints}==“03”ATTRS{bInterfaceClass}==“ff”ATTRS{bInterfaceSubClass }==“00”ATTRS{bInterfaceProtocol}==“00”ATTRS{supports_autosuspend}==“1”

所以我创建了规则:

内核==“ttyUSB0”,子系统==“tty”,子系统==“usb串行”,驱动程序==“pl2303”,内核==“6-2:1.0”,SYMLINK + =“cc128serial”

这是行不通的。

但是如果我这样做:

内核==“ttyUSB0”,子系统==“tty”,子系统==“usb串行”,驱动程序==“pl2303”,SYMLINK + =“cc128serial”

然后就可以了。我尝试过KERNELS=="6*"等等,但没有可用

有任何想法吗 ?

谢谢

小智 5

这篇关于编写 udev 脚本的文章(查找“无效”)表明您想要使用的规则无效,因为您尝试匹配来自两个不同父级别的属性:(SUBSYSTEMS=="usb-serial"父级)和KERNELS=="6-2:1.0"(祖级)。

...虽然将相关设备和单个父设备的属性组合起来是合法的,但您不能混合匹配多个父设备的属性 - 您的规则将不起作用。