我有一个rf-reader,带有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上添加了一个新的udev rul,名称为99-ftdi-sio.rule
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"
但它没有用。任何人都有任何想法如何解决这个问题?
答案 0 :(得分:1)
是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'"
答案 1 :(得分:0)
我能够通过使用不同的库来解决问题。
我开始使用基于d2xx
的{{1}}而不是pylibftdi
来代替libftdi
库。
答案 2 :(得分:-1)
添加了一个新文件.rules,我添加了70-persistent-ipoib.rules中的新规则行已经存在并为我工作。 :)