【发布时间】: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 进行编程,但这很烦人
如果您需要有关设备的更多信息,请告诉我。
鳄鱼
【问题讨论】:
-
您的规则当前匹配两个接口。将其更改为仅匹配您要取消绑定的接口