Bug 13682

Summary: The webcam stopped working when upgrading from 2.6.29 to 2.6.30
Product: v4l-dvb Reporter: Nathanael Schaeffer (nathanael.schaeffer)
Component: webcamAssignee: webcam (v4l-dvb_webcam)
Status: CLOSED CODE_FIX    
Severity: normal CC: erik.andren, laurent.pinchart+bugzilla-kernel, mchehab, nathanael.schaeffer, rjw, sebstrand, vorione
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.30 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 13070    
Attachments: uvcvideo kernel log
lsusb -v output for camera
result of lsusb -v
messages from uvcvideo
modified patch

Description Nathanael Schaeffer 2009-06-30 13:34:25 UTC
Several archlinux users with a samsung nc10 netbook experience this problem.
The webcam stopped working with the latest kernel upgrade.

Precisions :
- the module is loaded (uvcvideo)
- solid black is displayed instead of the picture.
- this happens with skype, and also with "xawtv -c /dev/video0" and any other webcam capture tested so far.

A bug has also been filed to the archlinux team :
http://bugs.archlinux.org/task/15319

And a discussion has started here :
http://bbs.archlinux.org/viewtopic.php?id=74828
Comment 1 Nathanael Schaeffer 2009-06-30 13:44:50 UTC
Another user reported :

with xawtv -c /dev/video0 i get a black screen. but when i close it i see one second the right image.

And yet another say that it's not working with xawtv but works with aMSN.
Comment 2 Rafael J. Wysocki 2009-07-07 11:08:31 UTC
On Tuesday 07 July 2009, Oliver Neukum wrote:
> Am Dienstag, 7. Juli 2009 02:01:07 schrieb Rafael J. Wysocki:
> > This message has been generated automatically as a part of a report
> > of regressions introduced between 2.6.29 and 2.6.30.
> >
> > The following bug entry is on the current list of known regressions
> > introduced between 2.6.29 and 2.6.30.  Please verify if it still should
> > be listed and let me know (either way).
> >
> >
> > Bug-Entry   : http://bugzilla.kernel.org/show_bug.cgi?id=13682
> > Subject             : The webcam stopped working when upgrading from 2.6.29
> to 2.6.30
> > Submitter   : Nathanael Schaeffer <nathanael.schaeffer@gmail.com>
> > Date                : 2009-06-30 13:34 (7 days old)
> 
> This is caused by selecting a format (no longer / not) supported. Please make
> an strace of the failing programm so we know what it requests.
Comment 3 Mauro Carvalho Chehab 2009-07-07 11:23:21 UTC
Hmm... if you're getting a right image for a small moment, this doesn't seem to be related to the webcam driver, but, instead, to some problems with xv extension. Have you upgraded your X version, or are you using ATI or NVIDIA drivers?

You may use v4l2grab program, available at v4l2-apps/test dir, at the development tree:
    http://linuxtv.org/hg/v4l-dvb

This small test utility will take 20 snapshots from your cam, saving them at the disk, as out001.pbm to out019.pbm. 

You can take a look on each one and see if they are ok. In general, the first ones are black, due to bright/contrast adjustments that may happen when you turn on your camera.

If the images are OK, then, the issue is at X or with xawtv.
Comment 4 Sebastian Strand 2009-07-07 18:34:34 UTC
I have the same computer and the same problem. I am currently running 2.6.31-rc2. I did some testing and discovered that, at least in my case, only the 640x480 resolution causes problems. I got both mplayer and ffmpeg to work at 320x240 and 1280x1024.

Testing with v4l2grab confirms this: by default it uses 640x480. When I ran it it wrote out000.ppm and then appeared to hang. Killing it caused the computer to lock hard, forcing a reset. In the out000.ppm that it produced the top 30 pixels appeared correct, but the rest of the image was bright green with some random colors.

I modified v4l2grab to use resolutions 320x240 and 1280x1024, and in both cases it produced 20 correct output images.
Comment 5 Laurent Pinchart 2009-07-10 21:34:55 UTC
Could anyone who experiences the problem post

- the output of 'lsusb -v' (using usbutils 0.72 or newer) for the camera
- all the messages printed by the uvcvideo driver to the kernel log, from driver load time to after starting acquisition in 640x480

Please make sure you load the driver with the option trace=15.
Comment 6 Sebastian Strand 2009-07-12 10:32:17 UTC
Created attachment 22317 [details]
uvcvideo kernel log
Comment 7 Sebastian Strand 2009-07-12 10:34:02 UTC
Created attachment 22318 [details]
lsusb -v output for camera
Comment 8 Nathanael Schaeffer 2009-07-14 14:02:52 UTC
Created attachment 22340 [details]
result of lsusb -v
Comment 9 Nathanael Schaeffer 2009-07-14 14:03:35 UTC
Created attachment 22341 [details]
messages from uvcvideo
Comment 10 Fortunato Ventre 2009-07-14 17:17:23 UTC
I'm experiencing the same problem on ubuntu with kernel 2.6.31-3 (based on vanilla 2.6.31-rc3).

I'm using cheese for testing, it hangs when using 640x480 and 352x288 resolutions, it works good with all the other ones.

When the 'uvcvideo' module is loaded with the option 'nodrop=1', cheese does not hang but the image is corrupted at both 640x480 and 352x288 resolutions.

Trying to load 'uvcvideo' module with any quirk enabled makes no difference at all.
Comment 11 Laurent Pinchart 2009-07-19 22:17:39 UTC
I've committed a patch to the uvcvideo repository on http://linuxtv.org/hg/~pinchartl/uvcvideo that should fix the problem. I'll push it upstream.
Comment 12 Sebastian Strand 2009-07-26 14:17:40 UTC
I tried the patch and it still didn't work. However, I spotted what I assume is a mistake in the patch: surely USB_DEVICE_ID_MATCH_VENDOR should be replaced with something that matches the product as well? I changed it to USB_DEVICE_ID_MATCH_DEVICE and now it works (2.6.31-rc4 + modified patch).
Comment 13 Fortunato Ventre 2009-07-26 15:10:40 UTC
The uvcvideo repository is currently not available, can you attach here the patch?
Thanks.
Comment 14 Sebastian Strand 2009-07-26 15:18:12 UTC
Created attachment 22496 [details]
modified patch
Comment 15 Laurent Pinchart 2009-07-26 15:27:43 UTC
Oops, my bad. As the previous patch has already been committed to the v4l-dvb hg repository, I'll prepare a patch on top of that tree and I'll ask Mauro to fold the two together when pushing them to mainline. Sebastian, do you want to be credited for this ? If so I'll need you to send me your Signed-off-by line on a patch on top of the current v4l-dvb hg tree (which should be available again in a few hours). I'll then forward it to Mauro.
Comment 16 Sebastian Strand 2009-07-26 15:44:48 UTC
(In reply to comment #15)
> Sebastian, do you want to be credited for this ?

Thanks, but that's not necessary.
Comment 17 Fortunato Ventre 2009-07-26 22:27:10 UTC
I can confirm everything works flawless on kernel 2.6.31-rc4 with the modified patch applied, thank you :)
Comment 18 Rafael J. Wysocki 2009-09-10 22:29:42 UTC
On Monday 07 September 2009, Nathanaƫl Schaeffer wrote:
> Hello,
> 
> No, the webcam still does not work properly with latest kernel 2.6.30.5
> 
> On Sun, Sep 6, 2009 at 20:11, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> 
> > This message has been generated automatically as a part of a report
> > of regressions introduced between 2.6.29 and 2.6.30.
> >
> > The following bug entry is on the current list of known regressions
> > introduced between 2.6.29 and 2.6.30.  Please verify if it still should
> > be listed and let me know (either way).
> >
> >
> > Bug-Entry       : http://bugzilla.kernel.org/show_bug.cgi?id=13682
> > Subject         : The webcam stopped working when upgrading from 2.6.29 to
> > 2.6.30
> > Submitter       : Nathanael Schaeffer <nathanael.schaeffer@gmail.com>
> > Date            : 2009-06-30 13:34 (69 days old)
Comment 19 Nathanael Schaeffer 2009-10-12 08:42:49 UTC
Hello,

Today I switched to linux kernel 2.6.31.3 and the webcam works well.
Thank you all for your work.

cheers
Comment 20 Erik Andr 2009-12-29 19:00:11 UTC
Close?
Comment 21 Rafael J. Wysocki 2009-12-29 20:50:38 UTC
Apparently.