简而言之,我正在开发一种嵌入式系统,除了其他功能之外,还需要从USB主机端口到设备端口的桥接(这只是第一步,以后传输的信息将被过滤和更改)
考虑到这基本上是一个USB狙击手/嗅探器,我认为有人应该编写一个能够做到这一点的模块,但我的搜索被证明是徒劳的。
那么,问题是:在Linux中将USB主机重定向到USB设备的最简单方法是什么?数据必须相同,所有描述符和端点必须匹配。它必须是Linux友好的,我可以用C / C ++编写代码,并且具有编译内核模块,驱动程序等的一些经验。
答案 0 :(得分:5)
我在http://www.elinux.org/BeagleBoard/GSoC/2010_Projects/USBSniffer
找到了以前的工作在Linux中,将USB主机重定向到USB设备的最简单方法是使用Linux的外围USB堆栈和Linux小工具USB堆栈。这些堆栈负责低级别,因此您的代码应仅涉及这两个堆栈之间的高级接口。额外的奖励是嗅探器(通过usbmon)几乎是免费的。
由于这种方式将处理Linux内核,它必须是Linux友好的。两个堆栈的接口(至少)在C中可用。因此,您的条件得到满足。