c++ - 桥接 USB 主机到设备

标签 c++ c linux usb

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

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

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

最佳答案

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

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

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

关于c++ - 桥接 USB 主机到设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13125459/

相关文章:

c++ - 为什么 Visual C++ 不在特定函数中命中断点或单步执行?

c - 有谁知道为什么必须在函数顶部定义变量的原因

c++ - 如何将枚举类型变量转换为字符串?

linux - 无法检测 Amazon EC2 实例上的核心

c++ - 如何将 QMessageBox 文本重定向到文本文件

c++ - 比较 Rcpp 中的两个值而不强制转换为特定类型

c++ - 给奶牛的款待——自下而上的动态规划

linux - 如何加快提取包含大量小文件的大 tgz 文件的速度?

linux - Bash 历史范围

c++ - Windows 安装程序,在 C++ 中的自定义操作中访问自定义属性