linux - ftdi d2xx 与 Linux 上的 ftdi_sio 冲突 - 如何自动删除 ftdi_sio

标签 linux udev usbserial ftdi

我有一个带有 ftdio usb 转串口芯片的射频阅读器。我能够使用 ftdi d2xx 库编写一个程序来控制它。到目前为止一切顺利。

问题是,当读卡器重新连接到 PC 时,我必须使用以下命令删除 ftdi_sio 和 usbserial mod:

sudo rmmod ftdi_sio
sudo rmmod usbserial

如果不运行代码,我无法使用 ftdi d2xx 库连接到阅读器。

我希望能够添加一个 udev 规则,这样每当读取器连接时,内核就会卸载 ftdi_sio 和 usbserial(或者不首先加载它们)

我在/etc/udev/rules.d 中添加了一个名为 99-ftdi-sio.rule 的新 udev 规则

ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",  RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"

但它不起作用。有人知道如何解决这个问题吗?

最佳答案

idVendor 和 idProduct 是否正确?

然后尝试:

ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666",  RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"

如果您知道设备编号,您可以试试这个脚本:

RUN+="/bin/sh -c 'echo -n 1-1:1.0 > /sys/bus/usb/drivers/ftdi_sio/unbind'"

关于linux - ftdi d2xx 与 Linux 上的 ftdi_sio 冲突 - 如何自动删除 ftdi_sio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33981056/

相关文章:

linux - 如果无法 ping 通目的地,我如何获取网络延迟?

java - 我可以从远程服务器调试 Android 应用程序吗?

linux - 从 scsi_generic 获取 scsi_device

c - Arduino 电脑鼠标/输入设备

linux - XRUSB 树莓派

php - 使用 PHP 脚本加载测试服务器?

java - 为 Scala 创建一个 jailed 环境需要什么

linux - 执行从最新插入的 USB udev 设备读取的脚本

linux - libusb - 配置错误(未安装 libudev)

c - 为什么读取不终止我的 USB 设备?