Webcam Image Dark + Grainy

Webcam Image Dark + Grainy

I have a laptop I've been running Ubuntu 18.04 on for quite a while, and it has a built-in webcam that has historically worked pretty well. I hadn't used the camera for anything for a couple of months, and today when I launched OBS the image initially showed up fine, but after a few seconds became very dark and grainy, as though it had a filter applied. Looks the same in cheese. I've tried rebooting, reloading the uvcvideo module, adjusting settings in guvcview and via several other tools, but it looks the same everywhere and nothing actually fixes it. The only time I see a change at all is when I toggle "Exposure, auto priority" off and back on again - it fades to the normal view, but after a second or two goes dark again.

I can't think of any changes that I've made recently that would have caused this, so I'm guessing something recently updated and messed it up, but thus far trawling the web has not yielded any clues about what that would be or how to fix it. I would appreciate any insight.

lsusb output:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 1e7d:2cee ROCCAT 
Bus 001 Device 004: ID 8087:0025 Intel Corp. 
Bus 001 Device 006: ID 04f2:b649 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 0d8c:0005 C-Media Electronics, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

sudo lsmod | grep video output:

uvcvideo               86016  0
videobuf2_vmalloc      16384  1 uvcvideo
videobuf2_memops       16384  1 videobuf2_vmalloc
videobuf2_v4l2         24576  1 uvcvideo
videobuf2_core         40960  2 videobuf2_v4l2,uvcvideo
videodev              184320  3 videobuf2_core,videobuf2_v4l2,uvcvideo
media                  40960  2 videodev,uvcvideo
video                  45056  1 i915

EDIT: Immediately after posting this, I moved my laptop to another room and relaunched guvcview... and the problem is gone. I am baffled, since the only thing I did was run the above commands... here's some more output, this time from dmesg | grep video, duplicate messages trimmed for brevity:

[    3.977130] Linux video capture interface: v2.00
[    4.028284] uvcvideo: Found UVC 1.00 device Chicony USB2.0 Camera (04f2:b649)
[    4.032604] uvcvideo 1-4:1.0: Entity type for entity Extension 3 was not initialized!
[    4.032607] uvcvideo 1-4:1.0: Entity type for entity Processing 2 was not initialized!
[    4.032608] uvcvideo 1-4:1.0: Entity type for entity Camera 1 was not initialized!
[    4.032916] usbcore: registered new interface driver uvcvideo
[  825.512696] uvcvideo: Failed to query (SET_CUR) UVC control 10 on unit 2: -32 (exp. 2).
[  825.516505] uvcvideo: Failed to query (SET_CUR) UVC control 10 on unit 2: -32 (exp. 2).
...
[  896.441307] uvcvideo: Failed to query (SET_CUR) UVC control 10 on unit 2: -32 (exp. 2).
[  896.445849] uvcvideo: Failed to query (SET_CUR) UVC control 10 on unit 2: -32 (exp. 2).
[ 1575.232905] uvcvideo: Failed to resubmit video URB (-19).
[ 1575.236928] uvcvideo: Failed to resubmit video URB (-19).
[ 1575.240902] uvcvideo: Failed to resubmit video URB (-19).
[ 1575.244903] uvcvideo: Failed to resubmit video URB (-19).
[ 1575.248904] uvcvideo: Failed to resubmit video URB (-19).
[ 1612.760969] uvcvideo: Found UVC 1.00 device Chicony USB2.0 Camera (04f2:b649)
[ 1612.765552] uvcvideo 1-4:1.0: Entity type for entity Extension 3 was not initialized!
[ 1612.765558] uvcvideo 1-4:1.0: Entity type for entity Processing 2 was not initialized!
[ 1612.765561] uvcvideo 1-4:1.0: Entity type for entity Camera 1 was not initialized!
[ 2804.103537] uvcvideo: Failed to query (SET_CUR) UVC control 10 on unit 2: -32 (exp. 2).
[ 2804.106589] uvcvideo: Failed to query (SET_CUR) UVC control 10 on unit 2: -32 (exp. 2).
...
[ 3024.013832] uvcvideo: Failed to query (SET_CUR) UVC control 10 on unit 2: -32 (exp. 2).
[ 3086.971099] uvcvideo: Failed to query (SET_CUR) UVC control 10 on unit 2: -32 (exp. 2).
[ 3705.754061] usbcore: deregistering interface driver uvcvideo
[ 3705.842181] uvcvideo: Found UVC 1.00 device Chicony USB2.0 Camera (04f2:b649)
[ 3705.846558] uvcvideo 1-4:1.0: Entity type for entity Extension 3 was not initialized!
[ 3705.846559] uvcvideo 1-4:1.0: Entity type for entity Processing 2 was not initialized!
[ 3705.846560] uvcvideo 1-4:1.0: Entity type for entity Camera 1 was not initialized!
[ 3705.846791] usbcore: registered new interface driver uvcvideo

I remain stumped as to what happened and how to avoid this problem in the future.

1
Elena Rostova
Author

Elena Rostova

Elena Rostova holds a Master's degree in Public Health Journalism. She covers groundbreaking medical research, holistic wellness trends, mental health awareness, and nutritional science.