Skip to content
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

Permissions issue? uvc_open2(...) returned Access denied #81

Closed
peci1 opened this issue Mar 21, 2016 · 2 comments
Closed

Permissions issue? uvc_open2(...) returned Access denied #81

peci1 opened this issue Mar 21, 2016 · 2 comments

Comments

@peci1
Copy link

peci1 commented Mar 21, 2016

Required Info
Camera Model R200
Firmware Version 1.0.0.64
Operating System & Version Ubuntu 14.04.4 64bit
Kernel Version (Linux Only) 4.5 patched
Build System Makefile

I built librealsense using the installation guide with the UVC backend (I assume this is needed to get ROS support?).

Running the demo apps from within QT creator works.

When I try running them from the command line, I get this error:

RealSense error calling rs_create_context(api_version:4):
uvc_open2(...) returned Access denied

Running the app as root works around this issue, but I'd like to know why this happens. It also makes ROS usage difficult, because ROS is not intended to run as root.

$ ll /dev/video*
crw-rw----+ 1 root video 81, 0 bře 21 16:52 /dev/video0
crw-rw----+ 1 root video 81, 1 bře 21 16:52 /dev/video1
crw-rw----+ 1 root video 81, 2 bře 21 16:52 /dev/video2
crw-rw----+ 1 root video 81, 3 bře 21 16:52 /dev/video3
@ddiakopoulos
Copy link
Contributor

Lots of little issues but luckily this shouldn't be too difficult to fix:

  1. The libuvc backend isn't supported on Linux due to an unresolved issue with releasing devices.
  2. librealsense shouldn't require root permissions. Rather than tracking down the specific issue with the libuvc backend, I recommend installing the V4L2 backend.
  3. Our installation guide instructs you to install a blacklist file for libuvc which will specifically need to be removed before you can install the V4L2 backend. This is partially our fault for not having an uninstaller script (the file in question is uvc.conf in /etc/modprobe.d)
  4. Somewhere the documentation for the ROS node needs to indicate that you should have installed the V4L2 backend.
  5. Do you already have a custom kernel installed? You might need to modify our own uvcvideo patching script to handle this new kernel version (I tried to make the script future-proof so it could be as easy as changing the argument from v4.4-wily to v4.5-wily

Last but not least, the 1.0.0.64 firmware is almost 2 years old! We don't have a supported firmware upgrade path on Linux systems, but installing the Intel RealSense DCM on a Windows 10 system while a camera is plugged in will flash your firmware to the latest recommended release, 1.0.72.06

After all that, your camera should be able to work perfectly in ROS using the V4L2 backend with no permissions implications.

@peci1
Copy link
Author

peci1 commented Mar 21, 2016

  1. Well, the libuvc backend works for me both in QT creator and when running the programs as root. Maybe the issue has been fixed? :)

2+3) Tried it, it works :)

  1. Created an issue for that: State explicitly whether this needs UVC or V4L backend for librealsense. realsense-ros#16

  2. Yes, I've used the newest development kernel for Ubuntu and patched it using your script. The patches applied seamlessly, so I assume it still works. Do I actually need to do this when using the V4L backend?

  3. Yes, I know the firmware is old, but currently we have no Win8.1 machine at hand, so it's gonna take some time to upgrade the FW.

Thanks for your help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants