Page 1 of 1

'Failed to open video device /dev/video0: Permission denied'

Posted: Fri Aug 14, 2015 2:38 pm
by swulf
Hello,

I have Zoneminder V1.28.1 installed under Ubuntu Server 14.04.3 LTS. I'm testing with a single Logitech USB camera. Zoneminder runs, I can access the web interface and I've set up a monitor with the camera, but I get no video from it. The Zoneminder console displays (under the Source column) '/dev/video0 (0)' in orange.

1) lsusb shows the camera:

Bus 001 Device 004: ID 046d:08dd Logitech, Inc. QuickCam for Notebooks

2) zmu -d /dev/video0 -q -v returns something odd:

Error, failed to enumerate standard 0: Success

3) Permissions on /dev/video0:

ls -al /dev/video0
crwxrwxrwx 1 root video 81, 0 Aug 14 07:02 /dev/video0

4) cat /etc/group contains this (amongst others):

video:x:44:www-data

5) v4l-info returns info about the camera:

### v4l2 device info [/dev/video0] ###
general info
VIDIOC_QUERYCAP
driver : "gspca_zc3xx"
card : "USB Camera (046d:08dd)"
bus_info : "usb-0000:00:14.0-3"
version : 3.19.8
capabilities : 0x85200001 [VIDEO_CAPTURE,?,READWRITE,STREAMING,(null)]

standards

inputs
VIDIOC_ENUMINPUT(0)
index : 0
name : "gspca_zc3xx"
type : CAMERA
audioset : 0
tuner : 0
std : 0x0 []
status : 0x0 []

video capture
VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
index : 0
type : VIDEO_CAPTURE
flags : 1
description : "JPEG"
pixelformat : 0x4745504a [JPEG]
VIDIOC_G_FMT(VIDEO_CAPTURE)
type : VIDEO_CAPTURE
fmt.pix.width : 640
fmt.pix.height : 472
fmt.pix.pixelformat : 0x4745504a [JPEG]
fmt.pix.field : NONE
fmt.pix.bytesperline : 640
fmt.pix.sizeimage : 113870
fmt.pix.colorspace : JPEG
fmt.pix.priv : 4276996862

6) I turned on debugging and looked at the log files. One zm_debug log shows:

08/14/15 06:00:03.429537 zmc_dvideo0[15892].FAT-zm_local_camera.cpp/673 [Failed to open video device /dev/video0: Permission denied]

I'm at a loss. =( Could anyone offer some advice on how to proceed from here?

Thanks.

Re: 'Failed to open video device /dev/video0: Permission den

Posted: Fri Aug 14, 2015 10:34 pm
by PacoLM
Try to run this commands as root:

adduser www-data video
usermod -a -G video www-data

Post results

Hope it helps,

PacoLM

Re: 'Failed to open video device /dev/video0: Permission den

Posted: Sat Aug 15, 2015 6:14 am
by swulf
Here is what I did.

x@y:~$ adduser www-data video
adduser: Only root may add a user or group to the system.
x@y:~$ sudo adduser www-data video
[sudo] password for x:
The user `www-data' is already a member of `video'.
x@y:~$ usermod -a -G video www-data
usermod: Permission denied.
usermod: cannot lock /etc/passwd; try again later.
x@y:~$ sudo usermod -a -G video www-data
x@y:~$

Did not make any difference, even after restarting the Zoneminder service.

Re: 'Failed to open video device /dev/video0: Permission den

Posted: Sat Aug 15, 2015 3:38 pm
by PacoLM
Try to run also this other command:
sudo chmod 777 /dev/video0
and
sudo a2enmod cgi
Restart Zoneminder, good luck

PacoLM

Re: 'Failed to open video device /dev/video0: Permission den

Posted: Sat Aug 15, 2015 11:25 pm
by swulf
x@y:~$ sudo chmod 777 /dev/video0
[sudo] password for x:
x@y:~$ sudo a2enmod cgi
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Enabling module cgi.
To activate the new configuration, you need to run:
service apache2 restart
x@y:~$ service apache2 restart
* Restarting web server apache2 [fail]

Not sure why this failed.

Followed this restarting Zoneminder from the Zoneminder console page. No change.

Next, I rebooted the PC on which Zoneminder runs. When it came back, I restarted Zoneminder from the console (it didn't start automatically) and this time opening the Monitor-1 link on the console page shows me a video feed!

It looks like the missing link was enabling the Apache cgi module.

Fantastic, thanks very much for your help PacoLM!

Re: 'Failed to open video device /dev/video0: Permission den

Posted: Sun Aug 16, 2015 5:48 pm
by PacoLM
Congratulations!

Re: 'Failed to open video device /dev/video0: Permission denied'

Posted: Sat Sep 30, 2017 1:03 pm
by bminty
Had the same problem I just ran sudo chmod 777 /dev/video0 and restarted the camera and it worked.

Re: 'Failed to open video device /dev/video0: Permission denied'

Posted: Sat Sep 30, 2017 4:55 pm
by mikb
Directly setting permissions on /dev/anything can work short term, and fail as soon as you replug (for a USB device) or reboot (for PCI cards etc.)

If you find this fix is only temporary, then you may need to look at udev rules, or whatever your system uses, to enforce the correct permissions.

Re: 'Failed to open video device /dev/video0: Permission den

Posted: Sat Apr 10, 2021 1:15 pm
by DennisFaucher
PacoLM wrote: Fri Aug 14, 2015 10:34 pm Try to run this commands as root:

adduser www-data video
usermod -a -G video www-data

Post results

Hope it helps,

PacoLM
Thank you so much. Perfect.

Re: 'Failed to open video device /dev/video0: Permission denied'

Posted: Fri Jul 01, 2022 10:18 pm
by Benjamin7845
I disabled SELinux solving this issue for me. I then ran the sealert command on the SELinux log file. Implemented the changes generated by the report. Next I enable SELinux with the new rules and modules configured. Everything works great. RHEL 8.6