Linux USB 探针顺序可以更改或控制吗?
我是 Linux 新手,我需要为具有 2 个接口的设备编写 USB 驱动程序。一个接口是 HID 类 (3/0/0),在端点中具有一个中断和一个报告描述符。另一个接口是供应商定义的,具有 3 个批量端点。在我的 usb_device_id 表中,我有一个带有 VID 和 PID 的 USB_DEVICE 条目。
当我插入设备时,我的 xxx_probe 函数会为供应商定义的接口调用,但不会为 HID 接口调用。相反,似乎是一个名为“generic-usb”的内置驱动程序正在控制 HID 接口。
有没有办法确保首先调用我的驱动程序探测函数?
为什么 Linux 不首先多次寻找更具体的驱动程序(就像 Windows 那样)?
或者,是否可以使用“generic-usb”驱动程序在中断端点上接收数据并在控制管道上设置报告和功能?
I am new to Linux and I need to write a USB driver for a device with 2 interfaces. One interface is HID class (3/0/0) with one interrupt in endpoint and a report descriptor. The other interface is vendor defined with 3 bulk endpoints. In my usb_device_id table I have a USB_DEVICE entry with the VID and PID.
When I plug in the device, my xxx_probe function is called for the vendor defined interface but not for the HID interface. Instead, it appears that a built-in driver called 'generic-usb' is taking control of the HID interface.
Is there a way to ensure that my driver probe function is called first?
Why doesn't Linux make multiple passes looking for a more specific driver first (like Windows does)?
Alternatively, can the 'generic-usb' driver be used to receive data on the interrupt endpoint and to set reports and features on the control pipe?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看来 libusb-1.0.8 允许应用程序控制连接设备上的接口,而无需自定义驱动程序。到目前为止,它似乎提供了我需要的所有支持。
It appears that libusb-1.0.8 allows an application to take control of interfaces on an attached device without the need of a custom driver. So far it appears to provide all the support that I need.