我有一个带有 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/