为什么libusb_open总是在Windows 8上返回LIBUSB_ERROR_NOT_SUPPORTED?

时间:2014-09-15 20:38:17

标签: windows-8 libusb-1.0 openocd

我正在尝试在带有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也能正常工作。

1 个答案:

答案 0 :(得分:1)

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

在Zadig上,取消选中"选项::忽略中心或复合父母"并查看您的目标设备是否具有复合父级。

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

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

您可能希望尝试将WinUSB附加到libusb-1.0网站上所述的复合父级:http://www.libusb.org/wiki/windows_backend

  

"然而,可以用WinUSB替换复合父驱动程序来访问设备。"

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