python - 如何使用 Python 在 LINUX 上识别 USB 调制解调器/开发

标签 python linux usb

如果我有一个使用 Python pyserial 模块访问的 USB 调制解调器,它需要识别设备 '/dev/ttyACM0 例如。如果调制解调器连接到 USB 集线器,它不再出现在/dev/tty...

如何从我的 Python 代码中以编程方式识别它,以便无论它是否已更改,或者机器是否重新启动,我都可以找到调制解调器?

注意: 我总能看到使用 lsusb 的设备,但如果它连接到 USB 集线器,它不会显示为/dev/tty... 设备

最佳答案

这听起来像是 Linux 内核中的错误。如果可以,请尝试更新的版本。

如果失败,请检查 dmesg 或文件 /var/log/messages 输出的最后几行(后者取决于您的发行版;如果该文件不存在或不包含您要查找的内容,然后检查 /var/log 中的其他文件;使用 ls -rt 按时间排序有帮助)。

识别设备后,您可能会看到一个图案。

另一种方法是主要和次要数字。如果您运行 ls -l/dev,您将看到如下输出:

crw--w----   1 root tty         4,   0 2011-12-19 09:15 tty0

c 表示“字符设备”,4, 0 表示它是控制台设备单元 0。

4 是标识设备类型的主编号。请参阅 /proc/devices 以获取主要编号和相应设备驱动程序的列表。

如果直接插入模型,请记下主要编号。将其插入集线器后,尝试查找具有相同编号的设备。

关于python - 如何使用 Python 在 LINUX 上识别 USB 调制解调器/开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561577/

相关文章:

database - Postgres 不占用系统资源

c++ - 有没有一种简单的方法可以使用可互操作的代码在 CLI 中清理屏幕/保持输出窗口,避免 conio.h 和 ncurses.h?

c++ - Linux 新手 : C++ opening and closing usb port issues

android - 如何通过 USB 获取 Android 手机的 IMEI 和颜色

python - 无法使用 Python 3.7 的 pip 安装 pygame - 命令 "python setup.py egg_info"失败,错误代码 1

python - 如果多个列上的条件, Pandas 数据框中的新列无法获得预期值基础

linux - Teradata DBS 状态为 7 : System is operational without PEs - Sessions are not allowed

python - 通过python脚本部署到artifactory

python - 如果行不是以列表中的项目开头

c# - 如何挂接到 WPF 窗口句柄以监听 USB 事件