小编eng*_*r14的帖子

具有多个接口的设备的 Udev 规则

所以,我正在深入研究 udev 并遇到了一个问题。

我认为我理解了基本前提(如果我错了,请纠正我)。由于您的系统启动或之后的某个时间,设备已连接。Udev 遍历所有规则寻找匹配项。一旦找到匹配项,它就会执行请求的任何操作,并继续沿规则列表向下移动,直到到达最后一个。然后它在下一个设备上开始。

现在,我有一个创建 2 个接口的 USB 设备。当我附加它时,当我查看/sys/class/net/. 但是在/dev,下只有一个条目/dev/bus/usb/002/00X

现在,这就是我的问题所在。我想为这些接口中的每一个命名一些特定的东西。我知道一个总是在另一个之前出现。如果我什么都不做,他们得到命名can0can1。如果我放入 udev 规则,出现的第一个规则会被正确重命名,但是查看dmesg日志,第二个会出错,因为内核名称也是can0(因为没有can1)。

如何解决这个问题?udevadm没有帮助,因为 中只列出了一个设备/dev,所以我似乎无法通过属性来区分它们。

lsusb -v以下输出:

Bus 001 Device 011: ID 0c72:0011 PEAK System 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0c72 PEAK System
  idProduct          0x0011 
  bcdDevice            0.00
  iManufacturer           1 PEAK-System Technik GmbH …
Run Code Online (Sandbox Code Playgroud)

usb udev

5
推荐指数
1
解决办法
3239
查看次数

标签 统计

udev ×1

usb ×1