victorprad / InfiniTAM

A Framework for the Volumetric Integration of Depth Images
http://www.infinitam.org
Other
918 stars 351 forks source link

realsense f200: getting error ioctl failed on UVC_GET_MAX #68

Open shomedas opened 7 years ago

shomedas commented 7 years ago

My platform: Ubuntu 16.04, NVidia GT740, Intel realsense f200. Instaled with all dependencies except libuvc. Librealsense examples work fine.

If I connect Primsense carmine 1.09 infiniTAM works fine. However when i connect Intel Realsense F200 it quits with message:

trying UVC device compiled without LibUVC support trying RealSense device ioctl failed on UVC_GET_MAX

Detailed Output: InfiniTAM/build$ ./InfiniTAM ... initialising ... using calibration file: trying OpenNI device: OpenNI: Initialization ...

OpenNI: Device open failed! DeviceOpen using default: no devices found trying UVC device compiled without LibUVC support trying RealSense device ioctl failed on UVC_GET_MAX

sgolodetz commented 7 years ago

Is this helpful at all?

https://communities.intel.com/thread/113571

shomedas commented 7 years ago

LOL thats also my post.

sgolodetz commented 7 years ago

@shomedas: Haha whoops didn't spot that :)

shomedas commented 7 years ago

The idea of using powered usb hub to connect the f200 camera(as in the post you mentioned) is not relevant as the librealsense samples for RGBD viewing ran out of the box. So I dont see any power issues.

sgolodetz commented 7 years ago

The thing that's slightly weird is that in the librealsense code, the UVC_GET_MAX query is not the first one there: to get to it, you have to have first been able to successfully run the UVC_GET_LEN and UVC_GET_MIN queries. See e.g. http://docs.ros.org/kinetic/api/librealsense/html/uvc-v4l2_8cpp_source.html. Perhaps try looking at errno after the ioctl call as a starting point? Also, maybe have a look here in case anyone's come across a similar problem: https://github.com/IntelRealSense/librealsense/issues. (Sorry I don't have an immediate answer!)

Just out of curiosity, what happens if you try hacking librealsense by commenting out the offending call and setting *max manually? Does the next ioctl call then fail? Also, what happens if you move the UVC_GET_MAX query before the UVC_GET_MIN one?

shomedas commented 7 years ago

Intel guys are looking into the issue