Libfreenect2 USB连接失败
问题描述:
我一直在试图让libfreenect2库启动并运行在我的Windows 10机器上,并且遇到了一个我无法过去的问题。我已经建立了图书馆,这是一些例子。我遇到的问题是当我去运行“Protonect”示例代码时。我得到的输出列示如下:Libfreenect2 USB连接失败
$ ./install/bin/Protonect.exe
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: U:\Repositories\libfreenect2\build\install\bin\Protonect.exe [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
[-noviewer] [-norgb | -nodepth] [-help] [-version]
[-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 8 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @12:2 with serial 003370163847
[Info] [Freenect2Impl] found 1 devices
Pipeline Not-Used
libusb_open returned: -99
BLAH BLAH BLAH
[Error] [Freenect2Impl] failed to open Kinect v2: @12:2 LIBUSB_ERROR_OTHER Other error
failure opening device!
请忽略“BLAH BLAH BLAH”我使用的是作为print语句调试。我想我已经查明问题下降到的libusb库core.c文件libusb_open()函数本节的所有方式:
r = usbi_backend->open(_dev_handle);
if (r < 0) {
usbi_dbg("open %d.%d returns %d", dev->bus_number, dev->device_address, r);
libusb_unref_device(dev);
usbi_mutex_destroy(&_dev_handle->lock);
free(_dev_handle);
return r;
}
我找不到错误代码-99东西,这样是我的调试结束。从我的理解看来,示例代码由于某种原因无法将USB设备打开到Kinect。
我已经用Kinect Studio使用Windows SDK测试了Kinect Studio,并且在拾取Kinect Feed时没有问题。有没有人遇到过这个问题,你是如何解决它的?对于错误代码意味着什么或者我如何解决USB开放问题有什么建议?
答
问题最终导致解决问题。通过一系列的调试尝试,你可以在这里看到: https://github.com/OpenKinect/libfreenect2/issues/812#issuecomment-288143166
我结束了重新安装usbdk 1.0.17,神奇的一切都再次奏效。显然,usbdk 1.0.17存在一些问题,需要重新安装才能解决一些问题。 Idk为什么,但如果有人在将来遇到这个问题,这种方式我的修复。