O problema
Olá, tenho uma câmera Sunplus USB (Siri A9 UVC) e estou tentando usá-la como webcam de PC. Não importa o que eu tente, ele é visível na v4l2, mas quebra os aplicativos que o utilizam. Ex., o Cheese trava quando mudo para a câmera USB.
Como teste, usei fswebcam para tirar uma foto. Ele para por um tempo e depois gera o seguinte:
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.
No Win10 (no mesmo laptop), a câmera funciona sem problemas. No entanto, aqui, ele não apenas quebra os aplicativos que o utilizam, mas também quebrapulsoáudio. Quando a câmera está conectada, todos os meus dispositivos de áudio desaparecem das configurações.
Sistema
estou a usarUbuntu 21.04;
Versão do kernel -5.11.0-34-genérico
Especificações do dispositivo/driver:
Dispositivo USB( lsusb
):
Bus 001 Device 008: ID 04fc:6333 Sunplus Technology Co., Ltd Siri A9 UVC chipset
Especificações 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
Por fim, detalhes da câmera 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
Responder1
Muitos problemas de acesso a dispositivos podem ser resolvidos através de alterações nos membros do grupo.
Especificamente, se ls -l
mostrar que as permissões do grupo (o segundo " rwx
" trigêmeo) são " rw
" (por exemplo, " -rw-rw----
"), então, adicionar-se ao grupo que possui o dispositivo concederá rw
acesso.
Veja como:
device="/dev/whatever"
sudo adduser $USER $(stat -c "%G" $device)
Isso permite que você seja membro do grupo que pode usar rw
o dispositivo,mas há mais um passo.
Para tornar todos os seus processos membros do novo grupo, efetue logout e login. As associações ao grupo são configuradas no login
momento.
Para criar um único processo no novo grupo (para teste, antes do logout/login):
newgrp $(stat -c "%G" $device)
ou apenas digite o nome do grupo. Ver man newgrp
.