如何将lsusb设备的结果链接到/ dev / ttyUSB *

时间:2019-09-27 09:52:07

标签: c bash hyperlink tty lsusb

我有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设备可以插入或拔出,​​其他设备也可以插入...

1 个答案:

答案 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路径和类。