Linux USB 探针顺序可以更改或控制吗?

发布于 2024-12-03 13:54:10 字数 405 浏览 2 评论 0原文

我是 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白首有我共你 2024-12-10 13:54:10

看来 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文