Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python在LINUX上识别USB调制解调器/dev_Python_Linux_Usb - Fatal编程技术网

如何使用Python在LINUX上识别USB调制解调器/dev

如何使用Python在LINUX上识别USB调制解调器/dev,python,linux,usb,Python,Linux,Usb,如果我有一个使用Python pyserial模块访问的USB调制解调器,它需要标识设备“/dev/ttyACM0”。如果调制解调器连接到USB集线器,它将不再显示在/dev/tty 如何从我的Python代码中以编程方式识别它,以便无论它是否已更改,或机器是否已重新启动,我都可以找到调制解调器 注: 我总是可以看到使用lsusb的设备,但是如果它连接到USB集线器,它不会显示为/dev/tty。。。设备这听起来像是linux内核中的一个bug。如果可以,请尝试更新的版本 如果失败,请检查dme

如果我有一个使用Python pyserial模块访问的USB调制解调器,它需要标识设备“/dev/ttyACM0”。如果调制解调器连接到USB集线器,它将不再显示在/dev/tty

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

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

这听起来像是linux内核中的一个bug。如果可以,请尝试更新的版本

如果失败,请检查
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中使用伏都教,而是尝试编写一个更有用的名称,如
/dev/my serial thingy
。从Python中使用它更容易。

很难尝试并自动找到正确的调制解调器。例如,如果您有两个已连接的?可以将设备路径放入某种配置变量(配置文件和/或命令行参数)中,以便轻松更改。谢谢您的回答。是-这是一个字符设备。我试过制作前后的文件并加以区分,也尝试过制作模型编号。当连接到集线器时,调制解调器肯定不在那里。我打算买另一个集线器试试。在i686上运行Ubuntu10.10和2.6.35-22-generic内核,首先尝试另一个集线器。它们有时确实有虫子。如果这没有帮助,考虑升级到11.10或11.04 -除非你正在运行LTS.DMESG认识到调制解调器连接,但我得到一个消息“拒绝1配置,由于可用的总线电源不足”-故障集线器I思想家:啊!您需要一个带电源的集线器(一个带电源的集线器),因为调制解调器使用它为自己供电!