【问题标题】:Setting USB configuration fails设置 USB 配置失败
【发布时间】:2009-02-09 15:26:50
【问题描述】:

我正在尝试使用 libusb 与 USB 设备通信,但我觉得我在第一站比赛中绊倒了。我确切地知道我需要与之交谈的端点等,但我什至无法做到这一点。本质上,我有:

usb_device *dev = ...; // opened from get_busses()
usb_set_configuration(dev, dev->config[0].bConfigurationValue); // bConfigVal = 1

现在,我可以在调试模式下查看设备信息,我知道当前配置为 0(未初始化/刚刚重启),并且正好有 1 个有效配置,其配置编号为 1。但是当我将配置设置为 1,我得到一个返回值 -22,它(通过字符串化)转换为“windows api 错误:错误参数。

我找不到其他人有类似的问题,这似乎是一件很简单的事情——我什至无法声明接口,或设置 alt-interface,或类似的东西,因为我必须先设置配置。我错过了什么? (如果重要:这是在 WinXP 上)

【问题讨论】:

    标签: usb device-driver libusb


    【解决方案1】:

    查看libusb-win32\src\driver\set_configuration.c,返回STATUS_INVALID_PARAMETER似乎有很多不同的原因。

    使用libusb_set_debug(来自您的用户模式应用程序)设置详细调试级别,然后运行Sysinternals DebugView 以查看驱动程序的错误消息。希望您能找到有关set_configuration 调用失败原因的线索。

    【讨论】:

      猜你喜欢
      • 2020-07-18
      • 2017-02-23
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多