首页 > 解决方案 > 如何将 lsusb 设备的结果链接到 /dev/ttyUSB*

问题描述

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

标签: cbashhyperlinkttylsusb

解决方案


假设你有 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 路径和类。


推荐阅读