【问题标题】:How to use "control endpoint" (default endpoint) in client application?如何在客户端应用程序中使用“控制端点”(默认端点)?
【发布时间】:2015-02-22 23:38:33
【问题描述】:

我有 USB HID 设备,它只有控制端点。 Microsoft 的“USB 设备查看器”指示 0 个端点,因为它从不计算控制端点。
我对这个设备了解不多——对我来说它基本上是个黑匣子。我所知道的是,它是 HID 类,并且能够进行简单的串行通信(“电缆的另一端”有 1-Wire)。
至于硬件,有 AVR MCU(帮助不大)。至于FW,它使用VID,PID,对谷歌没有说什么(显然是编造的)。

我红色here 表示配置USB设备后,可以使用控制端点进行设备特定用途。
我的问题是:
在 Windows 7 下使用 WDK 是否可以在用户空间应用程序中使用控制端点?

如果不能,还有其他方法吗?
如果是,怎么做?

HidD_GetHidGuid(&guid);甚至没有列出我的设备。可能是因为设备不仅在设备描述符中声称是 0x00 类:
*bDeviceClass: 0x00 -> This is an Interface Class Defined Device*
但也在接口描述符中:

bInterfaceClass:                   0x00
*!*CAUTION:  0 is a Reserved USB Device Interface Class

【问题讨论】:

    标签: c windows usb hid wdk


    【解决方案1】:

    你运行过 Wireshark 吗? (虽然我相信 Wireshark 不会在 Windows 上监控 USB - 不确定。周围还有其他 USB 数据包嗅探器)

    使用wireshark,您可以监控与设备的所有通信。

    虽然我不了解 WDK,但我的印象是,即使不是大多数人,也有很多人使用 libusb (http://libusb.info/)。有一个 Windows 版本可以在 32 位和 64 位版本上运行。这个库相当容易使用,并且可以访问所有端点。

    【讨论】:

    • 我不知道 Wireshark 可以使用 USB 原始通信。谢谢你指出这一点。但这对我的问题没有帮助。我的问题与 WDK 更相关。
    猜你喜欢
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 2013-09-04
    • 2019-05-11
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    相关资源
    最近更新 更多