I have a webcam which worked on a previous installation of Manjaro, but I cannot get to work on my new installation of Arch.
The issue: cannot get video output in any application. Some applications (like Cheese and qv4l2) show errors timing out for getting properties like saturation, others (like qv4l2) just say "input/output error".
Steps I have taken:
- Followed the wiki suggestions
- Made sure my user is in the video group
- Unplug, plug the hardware
- Rebooting after ensuring all relevant kernel modules (e.g. uvcvideo) are loaded
Here is the relevant output from dmesg when I plug in the webcam:
[ 1314.099447] usb 1-3.2.2: new high-speed USB device number 9 using xhci_hcd
[ 1314.408606] usb 1-3.2.2: New USB device found, idVendor=046d, idProduct=0825, bcdDevice= 0.12
[ 1314.408611] usb 1-3.2.2: New USB device strings: Mfr=0, Product=0, SerialNumber=2
[ 1314.408613] usb 1-3.2.2: SerialNumber: 6FECC7D0
[ 1314.468377] usb 1-3.2.2: Found UVC 1.00 device <unnamed> (046d:0825)
[ 1314.583344] input: UVC Camera (046d:0825) as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-3/1-3.2/1-3.2.2/1-3.2.2:1.0/input/input26
[ 1316.132743] usb 1-3.2.2: set resolution quirk: cval->res = 384
Here is the output from
v4l2-ctl -d /dev/video1 --all
:
Driver Info:
Driver name : uvcvideo
Card type : UVC Camera (046d:0825)
Bus info : usb-0000:07:00.1-3.2.2
Driver version : 6.0.9
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 : UVC Camera (046d:0825)
Serial : 6FECC7D0
Bus info : usb-0000:07:00.1-3.2.2
Media version : 6.0.9
Hardware revision: 0x00000012 (18)
Driver version : 6.0.9
Interface Info:
ID : 0x03000002
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : UVC Camera (046d:0825)
Function : V4L2 I/O
Flags : default
Pad 0x01000007 : 0: Sink
Link 0x02000019: from remote pad 0x100000a of entity 'Extension 4' (Video Pixel Formatter): Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 640/480
Pixel Format : 'YUYV' (YUYV 4:2:2)
Field : None
Bytes per Line : 1280
Size Image : 614400
Colorspace : sRGB
Transfer Function : Rec. 709
YCbCr/HSV Encoding: ITU-R 601
Quantization : Default (maps to Limited Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 640, Height 480
Default : Left 0, Top 0, Width 640, Height 480
Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 640, Height 480, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 640, Height 480, Flags:
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
User Controls
brightness 0x00980900 (int) : min=0 max=255 step=1 default=128 value=128
contrast 0x00980901 (int) : min=0 max=255 step=1 default=32 value=32
saturation 0x00980902 (int) : min=0 max=255 step=1 default=32 value=32
white_balance_automatic 0x0098090c (bool) : default=1 value=1
gain 0x00980913 (int) : min=0 max=255 step=1 default=64 value=64
power_line_frequency 0x00980918 (menu) : min=0 max=2 default=2 value=2 (60 Hz)
0: Disabled
1: 50 Hz
2: 60 Hz
white_balance_temperature 0x0098091a (int) : min=0 max=10000 step=10 default=4000 value=4000 flags=inactive
sharpness 0x0098091b (int) : min=0 max=255 step=1 default=24 value=24
backlight_compensation 0x0098091c (int) : min=0 max=1 step=1 default=0 value=0
Camera Controls
auto_exposure 0x009a0901 (menu) : min=0 max=3 default=3 value=3 (Aperture Priority Mode)
1: Manual Mode
3: Aperture Priority Mode
exposure_time_absolute 0x009a0902 (int) : min=1 max=10000 step=1 default=166 value=166 flags=inactive
exposure_dynamic_framerate 0x009a0903 (bool) : default=0 value=1
This is the terminal output from launching cheese (once, I get different errors on different invocations):
(cheese:29425): cheese-WARNING **: 15:13:30.813: Internal data stream error.: ../gstreamer/subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstCameraBin:camerabin/GstWrapperCameraBinSrc:camera_source/GstBin:bin36/GstPipeWireSrc:pipewiresrc2:
streaming stopped, reason not-negotiated (-4)
This is the terminal output from using qv4l2 and setting the pixel format:
Error Sharpness (24): Connection timed out
libv4l2: error setting pixformat: Input/output error
I'm not sure how to debug this further, any advice would be welcome.
]]>