8

简而言之,我正在开发一个嵌入式系统,除其他外,它需要从 USB 主机端口到设备端口的桥接(这只是第一步,稍后传输的信息将被过滤和更改)。

考虑到这基本上是一个 USB 窥探器/嗅探器,我认为应该有人编写了一个能够做到这一点的模块,但我的搜索证明是徒劳的。

那么,对于这个问题:在 Linux 中将 USB 主机重定向到 USB 设备的最简单方法是什么?数据必须相同,所有描述符和端点必须匹配。它必须是 Linux 友好的,我可以用 C/C++ 编写代码,并且在编写内核模块、驱动程序等方面有一些经验。

4

1 回答 1

5

我在http://www.elinux.org/BeagleBoard/GSoC/2010_Projects/USBSniffer找到了以前的工作

在我看来,在 Linux 中将 USB 主机重定向到 USB 设备的最简单方法是同时使用 Linux 的外围 USB 堆栈和 Linux 的小工具 USB 堆栈。这些堆栈负责低级别,因此您的代码应该只关注这两个堆栈之间的高级接口。额外的好处是嗅探器(通过 usbmon)几乎是免费的。

由于这种方式将处理 Linux 内核,因此它必须是 Linux 友好的。两个堆栈的接口(至少)在 C 中可用。因此,您的条件得到满足。

于 2012-11-28T09:12:04.933 回答