-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ubuntu 12.04, Kernel 3.19 - UVCIOC_CTRL_QUERY:UVC_SET_CUR error 5 #43
Comments
There are patches to the UVC driver that have been upstreamed in later versions of the kernel which is why we recommend upgrading. I suspect the absence of this patch is burning you: https://patchwork.linuxtv.org/patch/25668/ I recommend modifying our 3.19 uvcvideo script to apply this additional patch as well. Based on some anecdotal evidence, I think diff can still correctly apply it with the included pixel formats patch. Give it a go and let us know. |
I have a similar issue with Ubuntu 14.04.4, running Linux 3.19.0-51-generic. I also tried an older kernel that was mentioned in issue #1 as tested by @ddiakopoulos, 3.19.0-33-generic. I applied the patch above as well as the patch in the librealsense scripts directory.
I'm kinda stuck on this version of the kernel for my target application, unfortunately. Is there any chance that you, @mremir, have figured out what is going wrong? |
@emulvaney-aevena Sorry but we have not been able to solve the problem. |
Hmm, so you can use the camera at least once. I can't access it at all with the example programs. I get that error the first time I try any example. |
@emulvaney-aevena could you do the following: I would like to verify that the uvc driver has been correctly patched and loaded by the system. |
|
@ddiakopoulos, is that enough to demonstrate that the kernel is patched correctly? I actually didn't try it without the patch, so I'm not sure what the output would have been. Ubuntu doesn't provide the source for older patched kernels in the regular fashion. You can "apt-get source" for an older edition, but you'll always get the source for the latest patch. This is probably the safe way to go, but I wanted to reproduce your 3.19.0-33 experience. So I cloned their GitHub repository, I'm currently testing this on another machine running a variant of Linux 3.10.40, and I get the same error. Thanks again, Dimitri, for your help with this. I hope to get this camera working soon, so any random ideas would be appreciated. |
Yeah, it looks like the kernel is appropriately patched. I'm wondering about your hardware though (embedded system? if you're tied to a specific kernel). The USB host controller could be getting in the way. I don't often recommend this, but maybe you should try with the libuvc/libusb backend (can configure it in the makefile with a flag). Although this backend isn't as stable as the V4L2, you might actually be able to stream some data. |
Yeah, my main target is embedded, hence the restriction. But the system I've tried various 3.19 kernels on is just VirtualBox on a MacBook Air. Neither work, and they fail in the same way. I'll give libuvc a go, but I can't do without V4L2 since I have other cameras dependant on it. If I recall correctly from your instructions, these are mutually exclusive, but I'll tinker with it, anyway. Thanks for the tip, Dimitri. |
Hmm! I've tested in the past on Virtual Box and the USB 3.0 software translation layer is really buggy. It was a long time ago, but I believe I ran into the same issue. VMWare's hypervisor does at least work, but we still don't recommend it because of streaming timeouts after 30-60 seconds. Best bet is to try on the native hardware! |
@ddiakopoulos, libuvc does work for me. And after some consideration, I don't think I'll need the uvcvideo module for my other USB camera: I can use libuvc for that, too. Maybe @mremir could try that, too. Thanks for helping out. |
@mremir do you need any further assistance here, or can I close this issue? |
I would really like for the camera to work on a Ubuntu 12.04 but it does not. |
@mremir I will update this issue when we have a potential work around posted to the repository sometime in the next few weeks. There is rarely used software reset function which will cause the R200 to reset itself without the unplug/replug on the libuvc backend (known issue...) |
@ddiakopoulos That is really good news! Are there any chance that we can fix this ourself if you point us in the right direction?!? |
There's a half-complete branch in this repository called reconnect (the only other one besides Master that the moment). It introduces an entrypoint Slightly intuitively, you would call this right before your application exits. It's not clear to me how functional the branch is, but it boils down to calling this function: https://github.com/IntelRealSense/librealsense/blob/master/src/r200-private.cpp#L403 It basically causes the firmware to nuke itself and re-enumerate on the OS. Early in this project before the V4L2 backend existed, we would call the firmware_reset function in the destructor of the R200 device (!) |
Yep, @mremir, adding |
…forms Modified testTransform to get the latest available transform
Merge from Development to windows_hid_support
I have a R200 Realsense camera attached to a Linux box running Ubuntu 12.04, however I have upgrade the kernel to 3.19.
I have built librealsense using the Video4Linux backend and the camera sometimes works however often it fails with the following error (or similar errors):
Realsense Error: UVCIOC_CTRL_QUERY:UVC_SET_CUR error 5, Input/output error
According to this thread teknotus/depthview#1 the issue arises because the ioclt commands do not match video4linux commands, however the solutions provided there do not work.
Can anybody help?
(It is not a possibility to upgrade the system from 12.04 and Linux 3.19 is as far as I can go on a 12.04)
The text was updated successfully, but these errors were encountered: