【问题标题】:Why does libusb_open always returns LIBUSB_ERROR_NOT_SUPPORTED on Windows 8?为什么 libusb_open 在 Windows 8 上总是返回 LIBUSB_ERROR_NOT_SUPPORTED?
【发布时间】:2015-03-12 17:20:58
【问题描述】:

我正在尝试在具有 x64 架构的 Windows 8 上使用 OpenOCD。我通过 Zadig 安装了 WinUSB 驱动程序。我尝试以管理员权限运行 OpenOCD,并且在 WinUSB 安装期间禁用了 Windows 8 驱动程序签名强制。每当我尝试运行程序时,libusb_open 都会返回 LIBUSB_ERROR_NOT_SUPPORTED (-12)。

如何在 Windows 8 上正确运行 libusb-1.0?

P.S.:顺便说一下,我也尝试了与 Windows 7 x64 相同的配置,并且 OpenOCD 工作正常。

【问题讨论】:

    标签: windows-8 libusb-1.0 openocd


    【解决方案1】:

    您的设备可能是 USB 复合设备(例如最近带有 ST-LINKv2 加密狗的 STM32 开发板?)

    在 Zadig 上,取消选中“Options::Ignore Hubs or Composite parents”并查看您的目标设备是否具有复合父项。

    如果是这样,那可能是 Windows8/libusb-1.0 的限制。

    @见http://www.emblocks.org/forum/viewtopic.php?f=19&t=478

    您可能想尝试将 WinUSB 附加到复合父级,如 libusb-1.0 站点上所述:http://www.libusb.org/wiki/windows_backend

    “但是可以用 WinUSB 替换复合父驱动程序来访问设备。”

    但这意味着所有复合设备都连接了 WinUSB,这可能是其他问题的根源。

    【讨论】:

    • 我正在尝试通过 OpenOCD 对 Stellaris LM4F120 LaunchPad 评估板进行编程/调试。
    • 非常感谢,我尝试使用作为复合设备出现的 FT2232H 芯片,但不知道 Zadig 中有显示复合设备的选项。将 libusbk 安装到复合设备上后,它并没有替换所有复合设备的驱动程序 - 只是那个设备。所以也许这是一个有效的解决方案。
    • 谢谢!在复合设备上安装 libusbK 终于解决了 Win10 上 OpenOCD 和 USB Blaster 的问题
    猜你喜欢
    • 2013-06-25
    • 2012-10-06
    • 2012-02-27
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 2021-01-24
    相关资源
    最近更新 更多