将USB主机与设备桥接

8
简单来说,我正在开发一个嵌入式系统,需要将USB主机端口连接到设备端口(这只是第一步,稍后传输的信息将被过滤和修改)。
考虑到这基本上是一个USB监听器,我想应该有人写过一个能够胜任的模块,但我的搜索证明是徒劳无功的。
那么问题来了:在Linux中重定向USB主机到USB设备的最简单方法是什么?数据必须完全相同,所有描述符和端点都必须匹配。它必须对Linux友好,我可以用C/C++编码,并且有一些编写内核模块、驱动程序等方面的经验。

基本上,您需要编写自己的驱动程序来处理数据输入/输出。 您应该开始学习如何在Linux上开发USB驱动程序。 - garzanti
1个回答

5

我在这里找到了之前的工作。

在Linux中,将USB主机重定向到USB设备的最简单方法是使用Linux的外围USB堆栈和Linux的 gadget USB 堆栈。这些堆栈负责底层处理,因此您的代码只需关注这两个堆栈之间的高级接口。额外的好处是嗅探器(通过usbmon)几乎是免费的。

由于这种方式将涉及Linux内核,因此必须对Linux友好。至少以 C 为接口连接两个堆栈。因此,您的条件已满足。


谢谢你提供的链接,我稍后会去查看。基本上是的,我走了一个更高级别的路线。虽然不太灵活,但我受到了一些严重的时间限制。如果我有机会改进它,我也会选择那个方向。 - user1783395

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接