如何知道哪个设备连接在哪个/ dev/ttyUSB端口

May*_*yur 10 linux usb ubuntu udev tty

我正在使用两个Wavecom 16端口调制解调器.当我将调制解调器连接到我的系统时,我能够列出所有/dev/ttyUSB端口名称,但我也想知道,哪个调制解调器包含端口0到16,哪个包含端口17到32?

调制解调器可以在一天内连接和删除多次,因此我还希望在调制解调器断开连接并再次连接时保留日志.

知道怎么用c/c ++/php script/node.js吗?

rod*_*igo 18

您可以从sys文件系统获取此信息.很容易从shell检查,然后做一个相同的程序:

  1. cd /sys/devices
  2. 找到第一个端口的目录:find -name "ttyUSB0".它可能会在类似的东西中找到它们./pci0000:00/0000:00:1d.0/usb2/2-2/2-2.1/2-2.1:1.0/...
  3. pci*部分是USB控制器.有趣的2-2.1是USB设备.在该目录中,有许多文件可识别您的设备:

    • serial:序列号.可能你想要什么.
    • idVendoridProduct:设备的USB标识符.

步骤1和2的一个简单方法是:

  1. cd /sys/class/tty/
  2. readlink ttyUSBn 将为您提供设备目录的完整路径.

作为脚注,请注意,某些部分sysfs被认为是API稳定的,而某些部分则不是.有关更多信息,请参阅官方sysfs规则.