这个问题有两个方面:
1-您如何手动从 USB 设备上分离驱动程序并连接另一个驱动程序?例如,我有一个设备在连接时会自动使用 usb-storage 驱动程序。
// usbview 输出
Vendor Id: xxxx
Product Id: xxxx
...
Number of Interfaces: 2
Interface Number: 0
Name: usb-storage
Number of Endpoints: 2
...
Interface Number: 1
Name: (none)
Number of Endpoints: 2
...
我不想使用 usb-storage 驱动程序,所以我在主机上运行了一个应用程序,我使用 libusb 库来分离 usb-storage 驱动程序,然后我声明了接口。然后,我可以在我的 USB 设备和我的主机 Linux 系统上运行的应用程序之间发送数据。
如何在应用程序之外手动分离驱动程序?
2-如何自动分配驱动程序以附加到设备插件上。我目前有一个 udev 规则设置来自动设置设备权限。
SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", MODE="0666"
我可以使用 udev 规则将驱动程序分配给 USB 设备上的特定接口吗?例如,如果我希望在接口 0 上自动使用 usbnet 模块而不是 usb-storage,这在 udev 中是否可行?
谢谢,
(我有点困惑 StackExchange 如何与不同的站点一起工作,或者它们是否都相同。这是一个 Linux 问题,因此它也发布在 Unix 和 Linux 上。如果不应该在这里发布,请原谅我,但 StackOverflow 也处理 Linux,所以......)