【问题标题】:USB host recognitionUSB主机识别
【发布时间】:2013-05-04 22:45:19
【问题描述】:

我正在开发一个嵌入式 USB 设备,它需要可供两个不同的主机使用。 第一个是普通 PC,它将用作 MSC(大容量存储)设备,第二个是 USB 设备需要与 CDC 配置文件通信的特定硬件。

在枚举期间,USB 设备发送描述符表,在其中声明其功能。

枚举过程中有没有办法知道设备连接到哪个主机?

【问题讨论】:

  • 平台?语言?你试过什么?
  • @Niels 没关系,这是一个协议问题,但如果你真的想知道... Msp430f5529, C.
  • 如果您可以控制特定硬件,您可以在其连接到 GND/VBUS 的连接器上添加一个额外的 GPIO,并在外围设备上拉入相反的方向。然后通过读取 GPIO,您可以确定带外主机类型。

标签: embedded usb microcontroller usb-mass-storage


【解决方案1】:

最简单的解决方案可能是实现“USB 复合设备”,其中单个设备同时提供 MSC 和 CDC 类接口。主机 PC 会同时看到这两个接口,但您可以简单地留下一个不使用。如果“特定硬件”不支持 MSC 类,它可能会简单地忽略它。

【讨论】:

  • 想到了,就是想知道枚举时是否也传递了主机信息。
  • 不多 - 有时通过对主机执行的操作序列进行指纹识别来尝试识别主机,以针对观察到的行为的数据库。在这种情况下,您可能会根据实际使用的接口学到足够的知识。并且可能使用这种方法,您甚至不需要“知道”,而只是连接到使用过的接口的代码可以获取任何数据。
猜你喜欢
  • 2014-07-08
  • 1970-01-01
  • 2011-01-30
  • 1970-01-01
  • 2013-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-05
相关资源
最近更新 更多