Skip to main content
 首页 » 编程设计

linux之多个批量 URB 接收数据到 USB LINUX 中的特定 URB

2026年05月17日29bonelee

我正在 linux 内核中开发小型 USB 驱动程序,我的设备有两个批量端点(IN 和 OUT)。

我有两个 URB(假设)urb A 和 urb B。我已经提交了许多来自 URB A 的接收请求,一段时间后我使用 usb_bulk_msg() 向设备发送命令并提交来自 URB B 的接收请求。

问题是我总是收到 URB A 的所有回复。

我的问题如何收到特定 URB 的回复。

是否可以为 USB 中的单个端点维护多个不同的 URB?

谢谢

请您参考如下方法:

当您为单个端点提交多个 URB 时,它们会被放入队列中,第一个数据传输将由第一个提交的 URB 处理。

如果您收到不同类型的数据,所有 URB 的完成处理程序都必须检查实际数据。