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

Ami*_*n Y 6 linux usbserial udev ftdi

我有一个带有 ftdio USB 转串行芯片的射频读取器。我能够使用 ftdi d2xx 库编写一个程序来控制它。到目前为止,一切都很好。

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

sudo rmmod ftdi_sio
sudo rmmod usbserial
Run Code Online (Sandbox Code Playgroud)

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

我希望能够添加 udev 规则,以便每当读卡器连接时内核都会卸载 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'"
Run Code Online (Sandbox Code Playgroud)

但它不起作用。任何人有任何想法如何解决这个问题?

Ami*_*n Y 0

我能够通过使用不同的库来解决这个问题。d2xx我开始使用pylibftdi基于的库libftdi,而不是库,它对ftdi_sio.