Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 439670 - Integrated webcam in Thinkpad SL510 not working in kernels later than 3.5.x
Summary: Integrated webcam in Thinkpad SL510 not working in kernels later than 3.5.x
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-25 18:55 UTC by Stephan Menzel
Modified: 2012-11-05 05:36 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Config for the latest kernel with working camera (config_3.5.7,82.08 KB, text/plain)
2012-10-26 18:04 UTC, Stephan Menzel
Details
Config for 3.6.x with non-working camera (config_3.6.1,80.02 KB, text/plain)
2012-10-26 18:04 UTC, Stephan Menzel
Details
Diff of what's removed between working and not working kernel. (file_439670.txt,1.24 KB, text/plain)
2012-10-26 18:38 UTC, Tom Wijsman (TomWij) (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Menzel 2012-10-25 18:55:40 UTC
I have noticed the webcam on my SL510 Thinkpad to stop working in all applications such as cheese or skype. Tracked it down to the kernel. The last version it works with is 3.5.6.

I have already reported this in all detail on the LKML.
http://thread.gmane.org/gmane.linux.kernel/1378612

I don't think they're about to care but I thought for completeness' sake it should be documented here as well. Fully reproducable. Maybe someone has a better connection to the kernel developers than this ultra high traffic list offers.

Hoping for the best,

Stephan
Comment 1 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-10-26 17:35:33 UTC
It might be just me but I don't directly see your webcam in your PCI list, can you elaborate what entry that would be? Did you compile it as a module or into your kernel? What kernel option is that, which driver name is that? Does modprobing the kernel module works (if it's not built-in)? Are there any warnings / errors in the dmesg output?

Please tell us these details and attach the dmesg output.

--- --- --- ---

!!! Only in case it is really not loading or loaded and broken, and not just absent:

It might also worth it to place the bug report on http://bugzilla.kernel.org as that might get a bug wrangler or kernel developer there to look into it, whom might miss it or catch it too late in the LKML. Make sure you link to here as well as to the LKML, similarly you might link to both the Bugzilla bug and here on the LKML as well. And to make sure we can track upstream, you can link to Bugzilla here as well.

Putting the formality aside, if you can find the last kernel on which this still worked and the first kernel where it broke this seems like a good candidate for doing a git bisect to find the offending patch. This will make it much easier for them to solve the problem and also allows you to revert the patch till it is fixed upstream (patch -p1 -R < offending.patch).

Looking in LKML the most recent related patch I can find is http://thread.gmane.org/gmane.linux.kernel/1235158/focus=1238010 but that appears from the start of the year at around 3.1, so I guess the offending patch is going to be less obvious than something breaking in the webcam driver.

Thanks in advance for reporting in the upstream Bugzilla and good luck with the git bisect if you're going down that road.
Comment 2 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-10-26 17:38:08 UTC
Seems I forgot to paste the Kernel git-bisect instructions, here they are:

http://wiki.gentoo.org/wiki/Kernel_git-bisect
Comment 3 Stephan Menzel 2012-10-26 18:03:16 UTC
(In reply to comment #1)
> It might be just me but I don't directly see your webcam in your PCI list,
> can you elaborate what entry that would be? Did you compile it as a module
> or into your kernel? What kernel option is that, which driver name is that?
> Does modprobing the kernel module works (if it's not built-in)? Are there
> any warnings / errors in the dmesg output?
> 

Hi Tom,

thanks for the response.
The way I understand it, you don't see the cam in that output because it's not recognized. I thought it would be best to do the output of the kernel in question but was unsure if maybe it would be better to do it with a working one. Anyway, here's the modules loaded:

hal9001 ~ # lsmod
Module                  Size  Used by
uvcvideo               67819  1 
videobuf2_vmalloc       2260  1 uvcvideo
videobuf2_memops        2038  1 videobuf2_vmalloc
sdhci_pci               9851  0 
sdhci                  22835  1 sdhci_pci
iwlwifi               249347  0 
videobuf2_core         19732  1 uvcvideo
mmc_core               73626  1 sdhci
r8169                  51578  0 
videodev               94587  3 uvcvideo,videobuf2_core
lpc_ich                10529  0 
mfd_core                2689  1 lpc_ich
uhci_hcd               30618  0 

I believe the one in question is 'videodev'.

If I boot a non-working kernel those video related modules are not present. The config in those cases is pretty much the same. I use 'make oldconfig' to make sure. 

I will attach the current config and the one for 3.6.x

> Please tell us these details and attach the dmesg output.
> 
> --- --- --- ---
> 
> !!! Only in case it is really not loading or loaded and broken, and not just
> absent:
> 
> It might also worth it to place the bug report on http://bugzilla.kernel.org
> as that might get a bug wrangler or kernel developer there to look into it,
> whom might miss it or catch it too late in the LKML. Make sure you link to
> here as well as to the LKML, similarly you might link to both the Bugzilla
> bug and here on the LKML as well. And to make sure we can track upstream,
> you can link to Bugzilla here as well.

Arg, blast! And there was me thinking the kernel doesn't have a bugzilla. Shame on me. I was googling on how to report kernel bugs and found a page describing on how to do that on the lkml. I was astonished to find that they haven't got bugzilla but somehow bought it ;-)

I will report this there and add info here if something happens. The git-bisect is something for misty autumn days but I'm not sure I find the time. 

Thanks,
Stephan
Comment 4 Stephan Menzel 2012-10-26 18:04:18 UTC
Created attachment 327482 [details]
Config for the latest kernel with working camera
Comment 5 Stephan Menzel 2012-10-26 18:04:47 UTC
Created attachment 327484 [details]
Config for 3.6.x with non-working camera
Comment 6 Stephan Menzel 2012-10-26 18:11:40 UTC
All right, I have filed upstream under:

https://bugzilla.kernel.org/show_bug.cgi?id=49621

HTH,
Stephan
Comment 7 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-10-26 18:38:38 UTC
Created attachment 327486 [details]
Diff of what's removed between working and not working kernel.

> If I boot a non-working kernel those video related modules are not present.

See this attachment, it appears a lot of video related options are no longer selected in your kernel. For instance the lines explain the lack of modules:

-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_USB_VIDEO_CLASS=m

As these map to videodev, the three videobuf2 and the uvcvideo modules.
Comment 8 Stephan Menzel 2012-10-26 19:09:00 UTC
Indeed.
Gees, I feel stupid right now.
I always use 'make oldconfig'. Have been for many years and it never happened that stuff disappeared that I needed.
Something must have messed up.

Anyway, I just redid the make oldconfig step with 3.6.2 and build a kernel and the webcam is there. Everything as it should be. 

Please accept my apologies for not having checked the obvious. I close that one as invalid.

How I could fail a step like that which I've been doing so many times is a mystery to me. Maybe age or something.

Anyway, thanks a bunch for your help!

Stephan
Comment 9 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-10-26 20:47:49 UTC
I don't think it's just you as I don't have these options either, even not marked as "not set", so it _might_ have been removed in some way or it's a big that causes them to no longer be present. But well, time will tell.

At least we learned a slight bit, have used a `diff -u old new | grep -e '-config'` to obtain that difference.