【问题标题】:How to know which device is connected in which /dev/ttyUSB port如何知道哪个设备连接在哪个 /dev/ttyUSB 端口
【发布时间】:2012-12-04 13:16:00
【问题描述】:

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

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

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

【问题讨论】:

  • 设置udev 规则以一劳永逸地分配持久的tty 端口名称要容易得多,而不必每次都查找它们

标签: linux ubuntu usb tty udev


【解决方案1】:

您可以从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 稳定的,而某些部分则不是。如需更多信息,请参阅official sysfs rules

【讨论】:

  • 非常感谢...这真的很有帮助。
  • @Mayur- 不客气!如果您认为这回答了您的问题,请将其标记为正确并关闭。
  • 完成了..!!使用 udev 库和您的答案实现了我的目标。@_@
猜你喜欢
  • 2023-03-21
  • 2016-08-03
  • 1970-01-01
  • 1970-01-01
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多