Problem with a v4l2 video camera

619 views
Skip to first unread message

Per Kjellander

unread,
Aug 26, 2011, 9:05:18 AM8/26/11
to Chromium-dev
Hi all.
There is a problem with a test when you use a Logitech 9000 camera on Linux. http://code.google.com/p/chromium/issues/detail?id=94134
The test passes fine with all other cameras I have tried and it also works sometimes with the Logitech 9000 camera.
Since this camera is heavily used it would be great to understand a little bit more of what is happening.

The problem is occurs (sometimes)  if you 
1. Open the v4l2 device
2. Start using the camera with a certain resolution.
3. Stop the the camera 
4. close the v4l2 device
5. open the v4l2 device again immediately
6. Start using the camera again but with a different resolution
... Here the camera might hang and never give you a camera frame.
If you abort the test and exit the process you will not be able to use the camera in any other programs either. Seems like you need to unplug the device and plug it in again.

The only, not so great , solution I have at the moment is to make sure there is a pause between step 4 and 5.

Another way to reproduce seems to be to
1. Plug it the device
2. Open the v4l2 device driver 
3. Start using the camera
4. Before the first video frame have been captured you stop the camera and close the v4l2 device.
....You will not be able to use this camera in another application...

Has anyone experienced anything like this or knows more of how the v4l2 drivers works?

Thanks
Per








Tien-Ren Chen

unread,
Aug 26, 2011, 3:14:20 PM8/26/11
to pe...@chromium.org, Chromium-dev
By Logitech 9000 do you mean Webcam Pro 9000? http://goo.gl/Q8sm5
I do have the exact device and I have some experience programming V4L2.

I don't have time to look at the problem right now, but could you post
me more information on this?
Such as which linux distribution and kernel version do you use,
the USB ID & device revision of your webcam, which kernel driver it's
running with (which I expect to be uvcvideo.ko),
and any suspicious outputs in dmesg?

Thanks.
Tien-Ren

Per Kjellander

unread,
Aug 29, 2011, 3:19:42 PM8/29/11
to Tien-Ren Chen, Chromium-dev
Yes- its the same camera. And I am pretty sure it's the same linux distro as you have :->
Thanks for the hints. 

I found the following information about a hardware defect in older Logitech cameras. It seems like some version of the Logitech 9000 camera also suffers from the same problem.

Do you know what BCD is and how I can find it? 

I found the following thread which suggest that the driver author is aware of this but have not been able to create a good workaround.


Here is my dmesg output.

[948649.682701] usb 2-2.1.3: USB disconnect, address 58
[948653.237711] usb 2-2.1.3: new high speed USB device using ehci_hcd and address 59
[948653.477165] usb 2-2.1.3: configuration #1 chosen from 1 choice
[948653.477338] uvcvideo: Found UVC 1.00 device <unnamed> (046d:0990)
[948653.509700] input: UVC Camera (046d:0990) as /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.1/2-2.1.3/2-2.1.3:1.0/input/input58
[948869.208452] usb 2-2.1.3: USB disconnect, address 59
[948871.993275] usb 2-2.1.3: new high speed USB device using ehci_hcd and address 60
[948872.251079] usb 2-2.1.3: configuration #1 chosen from 1 choice
[948872.251277] uvcvideo: Found UVC 1.00 device <unnamed> (046d:0990)
[948872.282410] input: UVC Camera (046d:0990) as /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.1/2-2.1.3/2-2.1.3:1.0/input/input59
[948882.504782] uvcvideo: Failed to set UVC probe control : -110 (exp. 26).
[948884.103478] uvcvideo: Failed to set UVC probe control : -110 (exp. 26).
[948885.399675] uvcvideo: Failed to set UVC probe control : -110 (exp. 26).
[948886.697414] uvcvideo: Failed to set UVC probe control : -110 (exp. 26).

After I reproduce the problem I see a new line
uvcvideo: Failed to set UVC probe control : -110 (exp. 26).
is added every time I run the tests.

The printout from modinfo uvcvideo
$ modinfo uvcvideo
filename:       /lib/modules/2.6.32-gg508-generic/kernel/drivers/media/video/uvc/uvcvideo.ko
version:        v0.1.0
license:        GPL
description:    USB Video Class driver
author:         Laurent Pinchart <laurent....@skynet.be>
srcversion:     B83AB743EF84D89ADB2BCDD
alias:          usb:v*p*d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v1C4Fp3000d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v19ABp1000d00*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v19ABp1000d01[0-1]*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v19ABp1000d012[0-6]dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v18ECp3290d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v18ECp3288d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v18CDpCAFEd*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v1871p0306d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v17EFp480Bd*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v174Fp8A34d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v174Fp8A33d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v174Fp8A31d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v174Fp8A12d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v174Fp5931d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v174Fp5212d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v0E8Dp0004d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v0AC8p3420d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v0AC8p3410d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v0AC8p332Dd*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v05E3p0505d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v05ACp8501d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v058Fp3820d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v046Dp08C7d*dc*dsc*dp*icFFisc01ip00*
alias:          usb:v046Dp08C6d*dc*dsc*dp*icFFisc01ip00*
alias:          usb:v046Dp08C5d*dc*dsc*dp*icFFisc01ip00*
alias:          usb:v046Dp08C3d*dc*dsc*dp*icFFisc01ip00*
alias:          usb:v046Dp08C2d*dc*dsc*dp*icFFisc01ip00*
alias:          usb:v046Dp08C1d*dc*dsc*dp*icFFisc01ip00*
alias:          usb:v045Ep0723d*dc*dsc*dp*ic0Eisc01ip00*
alias:          usb:v045Ep00F8d*dc*dsc*dp*ic0Eisc01ip00*
depends:        videodev,v4l1-compat
vermagic:       2.6.32-gg508-generic SMP mod_unload modversions 
parm:           nodrop:Don't drop incomplete frames (uint)
parm:           quirks:Forced device quirks (uint)
parm:           trace:Trace level bitmask (uint)


Regards
Per
Reply all
Reply to author
Forward
0 new messages