【问题标题】:FTDI Dual UART/FIFO: conflict with ftdi_sioFTDI Dual UART/FIFO:与 ftdi_sio 冲突
【发布时间】:2018-06-09 08:54:52
【问题描述】:

我有一块 FPGA 板,通过一个 USB 连接有两个串行连接。

问题: 如果加载了 ftdi_sio,则闪存 FPGA 程序所需的程序将不起作用。 该程序使用第一个连接。

另一个是 ttyUSB1,需要直接与 FPGA 通信(例如使用 Putty)

但这只有在加载了 ftdi_sio 并且 ttyUSB* 可用时才有效,如果我用这个 udev-rule 禁用了 ftdi_so,那就不行了:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", RUN+="/bin/sh -c 'echo $kernel > /sys/bus/usb/drivers/ftdi_sio/unbind'"

所以: 没有这个规则

  • 我有 ttyUSB0 和 ttyUSB1
  • 编程(Lattice Programmer)不起作用
  • ttyUSB1 到 FPGA 的串行连接工作正常

有了这条规则

  • 我没有 ttyUSB*
  • 使用 Programmer 进行编程工作
  • 到 FPGA 的串行连接不起作用(非 tty)

有没有办法只为一个连接禁用 ftdi_sio? 或者有没有办法在不重新连接 USB 电缆的情况下通过命令禁用/启用它?

目前我使用 Windows 虚拟机对 FPGA 进行编程,但这很烦人

如果您需要有关设备的更多信息,请告诉我。

鳄鱼

【问题讨论】:

  • 您的规则当前匹配两个接口。将其更改为仅匹配您要取消绑定的接口

标签: linux usb uart ftdi


【解决方案1】:

您可以使用modprobe 手动加载和卸载内核模块,即使用modprobe ftdi_sio 加载并使用modprobe -r ftdi_sio 卸载它

问题可能是您还需要加载依赖模块

检查ftdi_sio的依赖关系运行lsmod

(http://xmodulo.com/how-to-check-kernel-module-dependencies-on-linux.html)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 2013-04-29
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    • 2017-12-09
    相关资源
    最近更新 更多