[opensuse] Chicony internal USB webcam too dark

When the camera first initializes it looks right for about one second, then goes dark. In Cheeze I can adjust the brightness, but this of course doesn't work in Skype or Google Hangouts. Also Cheeze hangs when trying to record video. I'd like to fix this of course. Bus 001 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd USB 2.0 Camera -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

El 28/12/12 20:37, Roger Luedecke escribió:
When the camera first initializes it looks right for about one second, then goes dark. In Cheeze I can adjust the brightness, but this of course doesn't work in Skype or Google Hangouts. Also Cheeze hangs when trying to record video. I'd like to fix this of course.
Bus 001 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd USB 2.0 Camera
what kernel driver is the camera using ? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

El 28/12/12 20:37, Roger Luedecke escribió:
When the camera first initializes it looks right for about one second, then goes dark. In Cheeze I can adjust the brightness, but this of course doesn't work in Skype or Google Hangouts. Also Cheeze hangs when trying to record video. I'd like to fix this of course.
Bus 001 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd USB 2.0 Camera
apparently it is uvcvideo try echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf modprobe -r uvcvideo modprobe uvcvideo report success or fail. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Fri, 2012-12-28 at 23:47 -0300, Cristian Rodríguez wrote:
El 28/12/12 20:37, Roger Luedecke escribió:
When the camera first initializes it looks right for about one second, then goes dark. In Cheeze I can adjust the brightness, but this of course doesn't work in Skype or Google Hangouts. Also Cheeze hangs when trying to record video. I'd like to fix this of course.
Bus 001 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd USB 2.0 Camera
apparently it is uvcvideo try
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
modprobe -r uvcvideo modprobe uvcvideo
report success or fail.
No change in behavior. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

El 29/12/12 19:35, Roger Luedecke escribió:
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
modprobe -r uvcvideo modprobe uvcvideo
report success or fail.
No change in behavior.
OK, what kernel version are you using ? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Sat, 2012-12-29 at 20:07 -0300, Cristian Rodríguez wrote:
El 29/12/12 19:35, Roger Luedecke escribió:
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
modprobe -r uvcvideo modprobe uvcvideo
report success or fail.
No change in behavior.
OK, what kernel version are you using ?
I fixed the error in your line. It is /modprobe.d Hippie:/etc/modprobe.d # >> echo "options uvcvideo quirks=0x00000200"
/etc/modprobe.d/99-local.conf Hippie:/etc/modprobe.d # modprobe -r uvcvideo WARNING: All config files need .conf: /etc/modprobe.d/echo, it will be ignored in a future release. Hippie:/etc/modprobe.d # modprobe uvcvideo WARNING: All config files need .conf: /etc/modprobe.d/echo, it will be ignored in a future release. FATAL: Error inserting uvcvideo (/lib/modules/3.7.1-16-desktop/kernel/drivers/media/usb/uvc/uvcvideo.ko): Invalid argument Hippie:/etc/modprobe.d #
-- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Sat, 2012-12-29 at 20:45 -0300, Cristian Rodríguez wrote:
El 29/12/12 20:42, Roger Luedecke escribió:
(/lib/modules/3.7.1-16-desktop/kernel/drivers/media/usb/uvc/uvcvideo.ko): Invalid argument
Yeah, use 512 not 0x00000200
Also an invalid argument. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Sat, 29 Dec 2012 15:42:45 -0800 Roger Luedecke <roger.luedecke@gmail.com> wrote: --------------------------------------------------------------------- Hippie:/etc/modprobe.d # >> echo "options uvcvideo quirks=0x00000200"
/etc/modprobe.d/99-local.conf
Check what is in a file /etc/modprobe.d/echo and /etc/modprobe.d/99-local.conf . Your liberal use of ">>" could be source of trouble, like: --------------------------------------------------------------------- FATAL: Error inserting uvcvideo (/lib/modules/3.7.1-16-desktop/kernel/drivers/media/usb/uvc/uvcvideo.ko): Invalid argument --------------------------------------------------------------------- Also, you can check what uvc driver used in your system supports with: modinfo uvcvideo -- Regards, Rajko. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Sun, 2012-12-30 at 20:09 -0600, Rajko wrote:
On Sat, 29 Dec 2012 15:42:45 -0800 Roger Luedecke <roger.luedecke@gmail.com> wrote:
--------------------------------------------------------------------- Hippie:/etc/modprobe.d # >> echo "options uvcvideo quirks=0x00000200"
/etc/modprobe.d/99-local.conf
Check what is in a file /etc/modprobe.d/echo and /etc/modprobe.d/99-local.conf .
Your liberal use of ">>" could be source of trouble, like: --------------------------------------------------------------------- FATAL: Error inserting uvcvideo (/lib/modules/3.7.1-16-desktop/kernel/drivers/media/usb/uvc/uvcvideo.ko): Invalid argument ---------------------------------------------------------------------
Also, you can check what uvc driver used in your system supports with: modinfo uvcvideo
-- Regards, Rajko. Hippie:/home/roger/Downloads # modinfo uvcvideo filename: /lib/modules/3.7.1-16-desktop/kernel/drivers/media/usb/uvc/uvcvideo.ko version: 1.1.1 license: GPL description: USB Video Class driver author: Laurent Pinchart <laurent.pinchart@ideasonboard.com> srcversion: F834619E77C5712906B77C0 alias: usb:v*p*d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v1C4Fp3000d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v1B3Bp2951d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v19ABp1000d00*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v19ABp1000d01[0-1]*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v19ABp1000d012[0-6]dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v199Ep8102d*dc*dsc*dp*icFFisc01ip00in* alias: usb:v18ECp3290d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v18ECp3288d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v18ECp3188d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v18CDpCAFEd*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v1871p0306d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v17EFp480Bd*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v17DCp0202d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v174Fp8A34d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v174Fp8A33d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v174Fp8A31d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v174Fp8A12d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v174Fp5931d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v174Fp5212d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v152Dp0310d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v13D3p5103d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v0E8Dp0004d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v0BD3p0555d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v0AC8p3420d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v0AC8p3410d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v0AC8p332Dd*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v06F8p300Cd*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v05E3p0505d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v05C8p0403d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v05ACp8501d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v05A9p2640d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v058Fp3820d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v04F2pB071d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v046Dp08C7d*dc*dsc*dp*icFFisc01ip00in* alias: usb:v046Dp08C6d*dc*dsc*dp*icFFisc01ip00in* alias: usb:v046Dp08C5d*dc*dsc*dp*icFFisc01ip00in* alias: usb:v046Dp08C3d*dc*dsc*dp*icFFisc01ip00in* alias: usb:v046Dp08C2d*dc*dsc*dp*icFFisc01ip00in* alias: usb:v046Dp08C1d*dc*dsc*dp*icFFisc01ip00in* alias: usb:v045Ep0723d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v045Ep00F8d*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v0458p706Ed*dc*dsc*dp*ic0Eisc01ip00in* alias: usb:v0416pA91Ad*dc*dsc*dp*ic0Eisc01ip00in* depends: videodev,videobuf2-core,videobuf2-vmalloc intree: Y vermagic: 3.7.1-16-desktop SMP preempt mod_unload modversions parm: clock:Video buffers timestamp clock parm: nodrop:Don't drop incomplete frames (uint) parm: quirks:Forced device quirks (uint) parm: trace:Trace level bitmask (uint) parm: timeout:Streaming control requests timeout (uint)
-- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

El 01/01/13 20:41, Roger Luedecke escribió:
On Sun, 2012-12-30 at 20:09 -0600, Rajko wrote:
On Sat, 29 Dec 2012 15:42:45 -0800 Roger Luedecke <roger.luedecke@gmail.com> wrote:
--------------------------------------------------------------------- Hippie:/etc/modprobe.d # >> echo "options uvcvideo quirks=0x00000200"
/etc/modprobe.d/99-local.conf
Check what is in a file /etc/modprobe.d/echo and /etc/modprobe.d/99-local.conf .
Your liberal use of ">>" could be source of trouble, like: --------------------------------------------------------------------- FATAL: Error inserting uvcvideo (/lib/modules/3.7.1-16-desktop/kernel/drivers/media/usb/uvc/uvcvideo.ko): Invalid argument ---------------------------------------------------------------------
Also, you can check what uvc driver used in your system supports with: modinfo uvcvideo
Your webcam is supported but seems to be buggy and needs some quirks I could not figure out from this side of the planet. Please report your issues to the linux-uvc-devel mailing list, that will be certainly more helpful. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

Grepping source with: grep -i quirk /usr/src/linux/drivers/media/video/uvc/* gives a lot of hits in uvc_video.c and uvcvideo.h, but few below have some values: ./uvcvideo.h:/* Devices quirks */ ./uvcvideo.h:#define UVC_QUIRK_STATUS_INTERVAL 0x00000001 ./uvcvideo.h:#define UVC_QUIRK_PROBE_MINMAX 0x00000002 ./uvcvideo.h:#define UVC_QUIRK_PROBE_EXTRAFIELDS 0x00000004 ./uvcvideo.h:#define UVC_QUIRK_BUILTIN_ISIGHT 0x00000008 ./uvcvideo.h:#define UVC_QUIRK_STREAM_NO_FID 0x00000010 ./uvcvideo.h:#define UVC_QUIRK_IGNORE_SELECTOR_UNIT 0x00000020 ./uvcvideo.h:#define UVC_QUIRK_FIX_BANDWIDTH 0x00000080 ./uvcvideo.h:#define UVC_QUIRK_PROBE_DEF 0x00000100 ./uvcvideo.h:#define UVC_QUIRK_RESTRICT_FRAME_RATE 0x00000200 Hex numbers in the list appear to me as flags that enable certain behavior. That means there can be valid combinations that enable few functions at once. With 9 unique flags that makes a lot of combinations to try. In other words someone on linux-uvc-devel ML, that Cristian mentioned, should be able to help. -- Regards, Rajko. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

El 01/01/13 22:53, Rajko escribió:
Grepping source with: grep -i quirk /usr/src/linux/drivers/media/video/uvc/*
gives a lot of hits in uvc_video.c and uvcvideo.h, but few below have some values:
./uvcvideo.h:/* Devices quirks */ ./uvcvideo.h:#define UVC_QUIRK_STATUS_INTERVAL 0x00000001 ./uvcvideo.h:#define UVC_QUIRK_PROBE_MINMAX 0x00000002 ./uvcvideo.h:#define UVC_QUIRK_PROBE_EXTRAFIELDS 0x00000004 ./uvcvideo.h:#define UVC_QUIRK_BUILTIN_ISIGHT 0x00000008 ./uvcvideo.h:#define UVC_QUIRK_STREAM_NO_FID 0x00000010 ./uvcvideo.h:#define UVC_QUIRK_IGNORE_SELECTOR_UNIT 0x00000020 ./uvcvideo.h:#define UVC_QUIRK_FIX_BANDWIDTH 0x00000080 ./uvcvideo.h:#define UVC_QUIRK_PROBE_DEF 0x00000100 ./uvcvideo.h:#define UVC_QUIRK_RESTRICT_FRAME_RATE 0x00000200
Hex numbers in the list appear to me as flags that enable certain behavior. That means there can be valid combinations that enable few functions at once. With 9 unique flags that makes a lot of combinations to try.
In other words someone on linux-uvc-devel ML, that Cristian mentioned, should be able to help.
The quirk is most likely UVC_QUIRK_RESTRICT_FRAME_RATE + (?????) as webcams from the same manufacturer use it according to the list.. UVC_QUIRK_RESTRICT_FRAME_RATE "Ignore all frame intervals reported by the device but the first one. This quirk is used for a specific device that reports buggy frame intervals, **making the image severely underexposed when selected**" -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

El 28/12/12 23:47, Cristian Rodríguez escribió:
El 28/12/12 20:37, Roger Luedecke escribió:
When the camera first initializes it looks right for about one second, then goes dark. In Cheeze I can adjust the brightness, but this of course doesn't work in Skype or Google Hangouts. Also Cheeze hangs when trying to record video. I'd like to fix this of course.
Bus 001 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd USB 2.0 Camera
apparently it is uvcvideo try
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
modprobe -r uvcvideo modprobe uvcvideo
report success or fail.
make that echo "options uvcvideo quirks=512" >> /etc/modprobe/99-local.conf instead of echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf (remember to remove the old line from the file as well) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Sat, 2012-12-29 at 20:18 -0300, Cristian Rodríguez wrote:
El 28/12/12 23:47, Cristian Rodríguez escribió:
El 28/12/12 20:37, Roger Luedecke escribió:
When the camera first initializes it looks right for about one second, then goes dark. In Cheeze I can adjust the brightness, but this of course doesn't work in Skype or Google Hangouts. Also Cheeze hangs when trying to record video. I'd like to fix this of course.
Bus 001 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd USB 2.0 Camera
apparently it is uvcvideo try
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
modprobe -r uvcvideo modprobe uvcvideo
report success or fail.
make that
echo "options uvcvideo quirks=512" >> /etc/modprobe/99-local.conf
instead of
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
(remember to remove the old line from the file as well)
Linux Hippie.Linux 3.7.1-16-desktop #1 SMP PREEMPT Mon Dec 17 20:23:18 UTC 2012 (5e9fe70) x86_64 x86_64 x86_64 GNU/Linux Looking in the file, the old line is not even present. Perhaps it didn't take? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

El 29/12/12 20:37, Roger Luedecke escribió:
On Sat, 2012-12-29 at 20:18 -0300, Cristian Rodríguez wrote:
El 28/12/12 23:47, Cristian Rodríguez escribió:
El 28/12/12 20:37, Roger Luedecke escribió:
When the camera first initializes it looks right for about one second, then goes dark. In Cheeze I can adjust the brightness, but this of course doesn't work in Skype or Google Hangouts. Also Cheeze hangs when trying to record video. I'd like to fix this of course.
Bus 001 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd USB 2.0 Camera
apparently it is uvcvideo try
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
modprobe -r uvcvideo modprobe uvcvideo
report success or fail.
make that
echo "options uvcvideo quirks=512" >> /etc/modprobe/99-local.conf
instead of
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
(remember to remove the old line from the file as well)
Linux Hippie.Linux 3.7.1-16-desktop #1 SMP PREEMPT Mon Dec 17 20:23:18 UTC 2012 (5e9fe70) x86_64 x86_64 x86_64 GNU/Linux
Looking in the file, the old line is not even present. Perhaps it didn't take?
aw.. the correct path is /etc/modprobe.d/99-local.conf (note the missing ".d") -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Sat, 2012-12-29 at 20:40 -0300, Cristian Rodríguez wrote:
El 29/12/12 20:37, Roger Luedecke escribió:
On Sat, 2012-12-29 at 20:18 -0300, Cristian Rodríguez wrote:
El 28/12/12 23:47, Cristian Rodríguez escribió:
El 28/12/12 20:37, Roger Luedecke escribió:
When the camera first initializes it looks right for about one second, then goes dark. In Cheeze I can adjust the brightness, but this of course doesn't work in Skype or Google Hangouts. Also Cheeze hangs when trying to record video. I'd like to fix this of course.
Bus 001 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd USB 2.0 Camera
apparently it is uvcvideo try
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
modprobe -r uvcvideo modprobe uvcvideo
report success or fail.
make that
echo "options uvcvideo quirks=512" >> /etc/modprobe/99-local.conf
instead of
echo "options uvcvideo quirks=0x00000200" >> /etc/modprobe/99-local.conf
(remember to remove the old line from the file as well)
Linux Hippie.Linux 3.7.1-16-desktop #1 SMP PREEMPT Mon Dec 17 20:23:18 UTC 2012 (5e9fe70) x86_64 x86_64 x86_64 GNU/Linux
Looking in the file, the old line is not even present. Perhaps it didn't take?
aw..
the correct path is /etc/modprobe.d/99-local.conf
(note the missing ".d")
Hippie:/etc/modprobe.d # >> echo "options uvcvideo quirks=0x00000200"
/etc/modprobe.d/99-local.conf Hippie:/etc/modprobe.d # modprobe -r uvcvideo WARNING: All config files need .conf: /etc/modprobe.d/echo, it will be ignored in a future release. Hippie:/etc/modprobe.d # modprobe uvcvideo WARNING: All config files need .conf: /etc/modprobe.d/echo, it will be ignored in a future release. FATAL: Error inserting uvcvideo (/lib/modules/3.7.1-16-desktop/kernel/drivers/media/usb/uvc/uvcvideo.ko): Invalid argument Hippie:/etc/modprobe.d # >> echo "options uvcvideo quirks=0x00000200" /etc/modprobe.d/99-local.conf Hippie:/etc/modprobe.d # modprobe -r uvcvideo WARNING: All config files need .conf: /etc/modprobe.d/echo, it will be ignored in a future release. Hippie:/etc/modprobe.d # modprobe uvcvideo WARNING: All config files need .conf: /etc/modprobe.d/echo, it will be ignored in a future release. FATAL: Error inserting uvcvideo (/lib/modules/3.7.1-16-desktop/kernel/drivers/media/usb/uvc/uvcvideo.ko): Invalid argument Hippie:/etc/modprobe.d # more 99-local.conf # # please add local extensions to this file # options uvcvideo quirks=0x00000200: command not found options uvcvideo quirks=0x00000200: command not found Hippie:/etc/modprobe.d # > echo "options uvcvideo quirks=512" /etc/modprobe.d/99-local.conf Hippie:/etc/modprobe.d # modprobe -r uvcvideo WARNING: All config files need .conf: /etc/modprobe.d/echo, it will be ignored in a future release. Hippie:/etc/modprobe.d # modrobe uvcvideo If 'modrobe' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf modrobe Hippie:/etc/modprobe.d # modprobe uvcvideo WARNING: All config files need .conf: /etc/modprobe.d/echo, it will be ignored in a future release. FATAL: Error inserting uvcvideo (/lib/modules/3.7.1-16-desktop/kernel/drivers/media/usb/uvc/uvcvideo.ko): Invalid argument Hippie:/etc/modprobe.d # lsmod grep | uvcvideo If 'uvcvideo' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf uvcvideo
and now the cam doesn't work at all. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

El 29/12/12 20:49, Roger Luedecke escribió:
and now the cam doesn't work at all.
sure... remove the line and try modprobe -r uvcvideo modprobe uvcvideo quirks=512 does that also returns invalid arguments ? (works here) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (3)
-
Cristian Rodríguez
-
Rajko
-
Roger Luedecke