I bought a new webcam, a Logitech E 3500 and it works great on Skype. Unfortunately, on my Ubuntu Intrepid box, Cheese and other GStreamer based programs are not able to make the webcam work.
At the beginning, since it was working with Skype and not working with GStreamer, it seemed a GStreamer bug. It is not. It is a bug with the uvcvideo module loaded in the kernel. As soon as you compile the SVN version of uvcvideo the webcam start working with all the programs which can interface with Video4Linux2.
Here a few steps to make it working.
First of all: you need to install some build tools and the kernel headers:
sudo apt-get install linux-headers-`uname -r` build-essential subversion
Create a folder on which you will work (let’s say it’s in your home, but you can change it):
mkdir ~/uvcvideo
cd ~/uvcvideo
Now download the latest source from the SVN server:
svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
cd trunk
and build it:
make
Now you are ready to load the brand-new module, but first unload the old one:
sudo rmmod uvcvideo
sudo insmod ./uvcvideo.ko
Now start Cheese and smile! In my case the resolution selection is still not working, but that’s a minor problem.
Please note that now you are using a module that is hand-loaded. If you want your kernel to load the new uvcvideo module automatically instead of the old one, enter the following commands:
sudo cp ./uvcvideo.ko /lib/modules/`uname -r`/kernel/drivers/media/video/uvc/uvcvideo.ko
sudo rmmod uvcvideo
sudo modprobe uvcvideo
This will overwrite the old module. The classic make install won’t work, since it will install the module in a different folder from the default tree of the kernel in Ubuntu Intrepid.
Personally I hope Ubuntu will soon provide a correct patch: even this worked for me, I don’t really like quick&dirty ways
linux