我有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设备可以插入或拔出,其他设备也可以插入...
答案 0 :(得分:0)
假设您拥有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路径和类。