我有 USB 产品的供应商和产品代码: 0403:6001
我想知道如何轻松地将 lsusb 命令的结果与 /dev/ttyUSB*
上的设备确定联系起来
lsusb 给我
Bus 001 Device 004: ID 065a:a001 First device
Bus 001 Device 003: ID 0403:6001 Second device FT232 USB-Serial (UART)
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
我怎么知道这个设备是在 /dev/ttyUSB0
还是 1 或 2
如果我的 PC 上有多个 USB 设备
提前致谢
背景定义: 每次的配置都不一样
USB 设备可以插入或拔出,其他设备也可以...
最佳答案
假设你有 udev:
shopt -s nullglob
for i in /dev/ttyUSB*; do
udevadm info -r -q all "$i" | awk -F= '
/DEVNAME/{d=$2}
/ID_VENDOR_ID/{v=$2}
/ID_MODEL_ID/{m=$2}
d&&v&&m{print d,v":"m;d=v=m=""}
'
done
udevadm
是获取USB设备所有信息的命令。 awk 命令只是过滤 USB 路径和类。
关于c - 如何将 lsusb 设备的结果链接到/dev/ttyUSB*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58132133/