12

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

调制解调器可能在一天内多次连接和移除,所以我还想在调制解调器断开连接并再次连接时保留日志。

知道如何使用 c/c++/php script/node.js 这样做吗?

4

1 回答 1

22

您可以从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 规则

于 2013-01-04T07:53:55.123 回答