El problema

El problema

El problema

Hola, tengo una cámara USB Sunplus (Siri A9 UVC) y estoy intentando usarla como cámara web para PC. No importa lo que intente, es visible en v4l2, sin embargo, interrumpe las aplicaciones que lo usan. Ej., Cheese se detiene cuando cambio a la cámara USB.

Como prueba, utilicé fswebcam para tomar una fotografía. Se detiene por un momento y luego genera esto:

karol@karol-hp2:~$ fswebcam --jpeg 85 -d /dev/video2 web-cam-shot.jpg
--- Opening /dev/video2...
Trying source module v4l2...
/dev/video2 opened.
No input was specified, using the first. (here stalls)
Unable to find a compatible palette format.

En Win10 (en la misma computadora portátil), la cámara funciona sin problemas. Sin embargo, aquí no sólo daña las aplicaciones que lo usan, sino que también dañapulsoaudio. Cuando la cámara está conectada, todos mis dispositivos de audio desaparecen de la configuración.

Sistema

Estoy usandoubuntu 21.04;
Versión del núcleo -5.11.0-34-genérico

Especificaciones del dispositivo/controlador:


Dispositivo USB( lsusb):

Bus 001 Device 008: ID 04fc:6333 Sunplus Technology Co., Ltd Siri A9 UVC chipset

Especificaciones de hardware( lshf):

*-usb:1
                   description: Video
                   product: Mass Storage
                   vendor: iCatchtek Co Ltd
                   physical id: 2
                   bus info: usb@1:2
                   version: 1.00
                   serial: 01.00.00
                   capabilities: usb-2.00
                   configuration: driver=snd-usb-audio maxpower=100mA speed=480Mbit/s

Dispositivos v4l2 ( v4l2-ctl --list-devices):

'OBS (platform:v4l2loopback-000):
    /dev/video13

Mass Storage (usb-0000:00:14.0-2):
    /dev/video2
    /dev/video3
    /dev/media1

HP Wide Vision HD Camera: HP Wi (usb-0000:00:14.0-5):
    /dev/video0
    /dev/video1
    /dev/media0

Finalmente, detalles de la cámara v4l2 ( v4l2-ctl -d 2 -D):

Driver Info:
    Driver name      : uvcvideo
    Card type        : Mass Storage
    Bus info         : usb-0000:00:14.0-2
    Driver version   : 5.11.22
    Capabilities     : 0x84a00001
        Video Capture
        Metadata Capture
        Streaming
        Extended Pix Format
        Device Capabilities
    Device Caps      : 0x04200001
        Video Capture
        Streaming
        Extended Pix Format
Media Driver Info:
    Driver name      : uvcvideo
    Model            : Mass Storage
    Serial           : 01.00.00
    Bus info         : usb-0000:00:14.0-2
    Media version    : 5.11.22
    Hardware revision: 0x00000100 (256)
    Driver version   : 5.11.22
Interface Info:
    ID               : 0x03000002
    Type             : V4L Video
Entity Info:
    ID               : 0x00000001 (1)
    Name             : Mass Storage
    Function         : V4L2 I/O
    Flags         : default
    Pad 0x01000007   : 0: Sink
      Link 0x02000010: from remote pad 0x100000a of entity 'Extension 3': Data, Enabled, Immutable

Respuesta1

Muchos problemas de acceso a dispositivos se pueden resolver mediante cambios de membresía en el grupo.

Específicamente, si ls -l muestra que los permisos del grupo (el segundo " rwx" triplete) son " rw" (por ejemplo, " -rw-rw----"), entonces, agregarse al grupo propietario del dispositivo otorgará rwacceso.

Así es cómo:

device="/dev/whatever"
sudo adduser $USER $(stat -c "%G" $device)

Esto le permite ser miembro del grupo que puede controlar rwel dispositivo,pero hay un paso más.

Para que todos sus procesos sean miembros del nuevo grupo, cierre sesión e inicie sesión. Las membresías grupales se configuran en el loginmomento.

Para crear un proceso único en el nuevo grupo (para probar, antes de cerrar sesión/iniciar sesión):

newgrp $(stat -c "%G" $device)  

o simplemente escriba el nombre del grupo. Ver man newgrp.

información relacionada