【问题标题】:USB-to-serial driver for Linux适用于 Linux 的 USB 转串口驱动程序
【发布时间】:2018-05-13 02:45:21
【问题描述】:

我有一个 USB 设备,我需要在 Linux 中使用 Python串行命令 来控制它,它适用于 ASCII 命令。

在 Windows 中,安装供应商驱动程序后它工作正常,在设备管理器中,我将其视为 COM3 端口,并使用 pyserialpyvisa 模块进行通信。

在 Linux 中,我将其视为 /dev/ttyUSB1,但我无法使用 pyserialpyvisa 与它通信。问题是供应商不提供 Linux 驱动程序。

如何让设备在 Linux 中充当串行端口?

【问题讨论】:

  • Linux 内核中必须已经有您设备的驱动程序;这就是您看到/dev/ttyS0 条目的原因。所以这不是缺少驱动程序的问题。我建议结束这个问题,并提出一个更好的问题来正确解释问题所在(“无法沟通”并没有给我们太多信息)。
  • 插入东西并执行'dmesg |尾巴',看看发生了什么。此外,Linux 中最常见的问题是您可能没有串行端口的权限。确保您在拨出组中。
  • /dev/ttyS0 不是您的 USB2Serial 适配器。所以找到合适的设备文件来使用。
  • @electrogas 'dmesg | tail' 输出以下内容:
  • @electrogas [53301.615703] ftdi_sio 3-3:1.0: 设备已断开 [55579.152079] usb 3-3: 使用 xhci_hcd 的新全速 USB 设备编号 6 [55579.284933] usb 3-3: 新 USB找到设备,idVendor=104d,idProduct=3000 [55579.284939] usb 3-3:新的 USB 设备字符串:Mfr=1,Product=2,SerialNumber=3

标签: python usb pyserial usbserial pyvisa


【解决方案1】:

尝试python -m serial.tools.miniterm /dev/ttyUSB1 并阅读https://github.com/pyserial/pyserial/issues/67 上的问题,尤其是pyserial 的版本

如果这个问题与你的问题有关,这可能也有效:

通过将dsrdtr=Truertscts=True 传递给 serial.Serial() ... 如此处所述

您的设备基于 FTDI 芯片,内置的 linux 内核模块是 ftdi_siousb_serial 参见 http://www.ftdichip.com/Support/Documents/AppNotes/AN_220_FTDI_Drivers_Installation_Guide_for_Linux.pdf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-09
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2011-04-15
    • 2015-05-08
    相关资源
    最近更新 更多