我有 3 个 USB 转串口设备通过 USB 集线器连接到 PC。它们根据插入顺序分配设备路径(即 /dev/ttyUSB0 或 /dev/ttyUSB1 或 /dev/ttyUSB2 )。我的应用程序将如果给定 USB 设备的设备路径保持静态,则使用起来会容易得多。
\n\n计划是编写 udev 规则,使用唯一的串行属性来标识设备,然后将其符号链接到静态名称下。该设备的属性是:
\n\nuser->/dev:udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB1)\n\n looking at device \'/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2/3-1.2:1.0/ttyUSB1/tty/ttyUSB1\':\n KERNEL=="ttyUSB1"\n SUBSYSTEM=="tty"\n DRIVER==""\n\n looking at parent device \'/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2/3-1.2:1.0/ttyUSB1\':\n KERNELS=="ttyUSB1"\n SUBSYSTEMS=="usb-serial"\n DRIVERS=="ftdi_sio"\n ATTRS{port_number}=="0"\n ATTRS{latency_timer}=="1"\n...\n\n looking at parent device \'/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2\':\n KERNELS=="3-1.2"\n SUBSYSTEMS=="usb"\n DRIVERS=="usb"\n ATTRS{bDeviceSubClass}=="00"\n ATTRS{bDeviceProtocol}=="00"\n ATTRS{devpath}=="1.2"\n ATTRS{idVendor}=="0403"\n ATTRS{speed}=="12"\n ATTRS{bNumInterfaces}==" 1"\n ATTRS{bConfigurationValue}=="1"\n ATTRS{bMaxPacketSize0}=="8"\n ATTRS{busnum}=="3"\n ATTRS{devnum}=="18"\n ATTRS{configuration}==""\n ATTRS{bMaxPower}=="90mA"\n ATTRS{authorized}=="1"\n ATTRS{bmAttributes}=="a0"\n ATTRS{bNumConfigurations}=="1"\n ATTRS{maxchild}=="0"\n ATTRS{bcdDevice}=="0600"\n ATTRS{avoid_reset_quirk}=="0"\n ATTRS{quirks}=="0x0"\n ATTRS{serial}=="AL01QGTY" ===> This attribute …
Run Code Online (Sandbox Code Playgroud)