Linux 中的手动驱动程序绑定和解除绑定无法按预期工作

Linux 中的手动驱动程序绑定和解除绑定无法按预期工作

我正在尝试让刷卡器 (Brush Industries SideWinder) 与我的 Raspberry Pi 配合使用。我有一个 MagTek 迷你装置,使用一些稍加修改的Github 代码。(您可以查看类似的相关文章,其中展示了更多代码这里

问题似乎是,生产有问题的读卡器(SideWinder)的公司(Brush Industries)只生产适用于 Windows 和不是适用于 Linux。我以为我已经无计可施了,但后来我记起 Brush Industries 声称“Sidewinder 可轻松取代 IDTech、Magtek、Hamilton 和 IBC 型号的读卡器。”这让我想到“也许我可以在我的 Raspberry Pi 上使用 MagTek 驱动程序?”

但这就是我陷入困境的地方。

我遵循了本指南手动绑定和解除绑定驱动程序确实,当我到达“只需将您想要绑定的设备的总线 ID 写入该驱动程序的绑定文件中”的部分时,我得到了这个:

-bash: echo: write error: No such device

...即使在我的设备文件夹(/sys/bus/usb/drivers/usb/devices)中我看到一个1-1.2文件夹包含非工作读卡器的所有数据。

因此,我找到了另一个指南,告诉我应该使用sudo echo -n 1-1.2 | tee -a bind。如果我这样做,我会得到1-1.2tee: bind: No such device

现在我完全陷入困境,我希望我不必告诉我的老板我需要退回这些物品并重新开始。

答案1

这个问题很老了,但我遇到了同样的问题,并且找到了原因。

如果你的设备在列表中,/sys/bus/usb/drivers/usb/devices但在尝试将其与驱动程序绑定时出现错误,这是因为该设备已经与其他司机。

您可以使用 (Driver=btusb) 找到肇事司机

 lsusb -t 

...然后您就可以解除驱动程序的绑定。

例如,如果我的地址设备是1-1:2.0,而有问题的驱动程序是btusb,则可以使用以下命令解除绑定:

 echo "1-1:2.0" > /sys/bus/usb/drivers/btusb/unbind

下一个绑定命令将起作用:

 echo "1-1:2.0" > /sys/bus/usb/drivers/your_desired_driver/bind

相关内容