ftdi d2xx 与 linux 上的 ftdi_sio 冲突 - 如何自动删除 ftdi_sio
ftdi d2xx conflict with ftdi_sio on linux - How to remove ftdi_sio automatically
我有一个带有 ftdio usb 转串口芯片的 rf-reader。我能够使用 ftdi d2xx 库编写一个程序来控制它。到目前为止一切顺利。
问题是,当 reader 重新连接到 PC 时,我必须使用以下命令删除 ftdi_sio 和 usbserial 模块:
sudo rmmod ftdi_sio
sudo rmmod usbserial
如果我没有 运行 代码,我无法使用 ftdi d2xx 库连接到 reader。
我希望能够添加一个 udev 规则,这样每当 reader 连接时内核卸载 ftdi_sio 和 usbserial(或者不首先加载它们)
我添加了一个新的 udev 规则到 /etc/udev/rules.d,名称为 99-ftdi-sio.rule
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'"
我没有添加新文件 .rules,而是在 70-persistent-ipoib.rules 已经存在并且对我有用的文件中添加了新规则行。 :)
我能够通过使用不同的库来解决问题。
我开始使用基于 libftdi
的 pylibftdi
而不是 d2xx
库,它对 ftdi_sio
.
不敏感
我有一个带有 ftdio usb 转串口芯片的 rf-reader。我能够使用 ftdi d2xx 库编写一个程序来控制它。到目前为止一切顺利。
问题是,当 reader 重新连接到 PC 时,我必须使用以下命令删除 ftdi_sio 和 usbserial 模块:
sudo rmmod ftdi_sio
sudo rmmod usbserial
如果我没有 运行 代码,我无法使用 ftdi d2xx 库连接到 reader。
我希望能够添加一个 udev 规则,这样每当 reader 连接时内核卸载 ftdi_sio 和 usbserial(或者不首先加载它们)
我添加了一个新的 udev 规则到 /etc/udev/rules.d,名称为 99-ftdi-sio.rule
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'"
我没有添加新文件 .rules,而是在 70-persistent-ipoib.rules 已经存在并且对我有用的文件中添加了新规则行。 :)
我能够通过使用不同的库来解决问题。
我开始使用基于 libftdi
的 pylibftdi
而不是 d2xx
库,它对 ftdi_sio
.