Logitech QuickCam Express (USB ID 046d:092f) on Ubuntu Edgy

I’ve just bought the webcam in the title of this post at Alcampo and had a hard time trying to set it working.

In the pkg-spca5xx-devel Debian mailing list, Dmitry Semyonov says that this camera model is supported by the spca5xx driver, but its ID isn’t added to the driver source code yet. He’s published a patch, and I tried to apply it, but the patch utility complained. That was because the tabs would have been replaced with spaces or something. Then I discovered the “-l” option, which solved my problem and I could finally apply the patch.

At help.ubuntu.com I found detailed instructions about how to build the spca5xx source code, so, finally I had the work done.

I’ve written a recipe to perform all the steps. At first, copy the patch into the file /tmp/qcexpress.patch. Next, execute these instructions:

apt-get install spca5xx-source
cd /usr/src
tar jxvf spca5xx-source.tar.bz2
cd modules
patch -lp1 < /tmp/qcexpress.patch
cd spca5xx
make
make install

That’s all!
And, at the end, a living proof: MSN video chat using Kopete 🙂
MSN video chat with Kopete

17 thoughts on “Logitech QuickCam Express (USB ID 046d:092f) on Ubuntu Edgy”

  1. make -C /lib/modules/`uname -r`/build SUBDIRS=/usr/src/modules/spca5xx CC=cc modules
    make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.19-7-generic’
    CC [M] /usr/src/modules/spca5xx/drivers/usb/spca5xx.o
    /usr/src/modules/spca5xx/drivers/usb/spca5xx.c:39:26: error: linux/config.h: File not found
    /usr/src/modules/spca5xx/drivers/usb/spca5xx.c: In function ‘spca50x_init_isoc’:
    /usr/src/modules/spca5xx/drivers/usb/spca5xx.c:1624: warning: assignment from incompatible pointer type
    make[2]: ** [/usr/src/modules/spca5xx/drivers/usb/spca5xx.o] Erro 1
    make[1]: ** [_module_/usr/src/modules/spca5xx] Erro 2
    make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.19-7-generic’
    make: ** [default] Erro 2

  2. I’m using Ubuntu Edgy with the latest version (2.6.17-10.33) of this packages installed:

    linux-headers-2.6.17-10
    linux-headers-2.6.17-10-386
    linux-headers-2.6.17-10-generic
    linux-headers-generic

    Try to apt-get install the latest kernel and header packages.

  3. touching the file linux/config.h did the trick.

    I am not able to make it work on feisty. Any ideas?

  4. Maybe the spca5xx source code is from a newer version than the one in Edgy, and the patch utility can’t find the right context lines to apply the differences.

    The only solution I can point is to look at the old source and where the patch applies the differences, and try to find the same places in the new source file, inserting the lines by hand.

    Could you try it?

  5. This did not work: ‘patch -lp1’
    But ‘patch -lp0’ worked.
    The camera is working, but not for long. I am using motion to capture the images and motion hangs after capturing a few hundreds of images. Besides that the images are very dark.
    Which source of the spca5xx driver did you use?

  6. The .deb package I use is the one that comes with Ubuntu Edgy: spca5xx-source_20060501-1_all.deb . I think the corresponding /etc/apt/sources.list line is this (change “es” for your appropiate mirror):

    deb http://es.archive.ubuntu.com/ubuntu/ edgy universe

    The most recent entry in the changelog says:

    Release 0.60.00 as spca5xx-v4l1-goodbye

    I must say that I’ve never used the webcam for a long runtime period, so maybe the hangs could happen to me also and I haven’t realized that yet.

  7. I have managed to install the “driver” spca5xx and expected it to work. It didn’t… When I followed your instructions I got as far as ar jxvf spca5xx-source.tar.bz2 which wouldnt work… then when I tried the command patch -lp1 and patch -lp10 it just made me lose the command prompt! and linux/config.h said no directory.

    I have the drivers, I have the programs. I just can’t seem to make them meet…

    Any help would be appreciated

  8. You must have tar and bzip2/bunzip2 installed for the command ‘tar jxvf spca5xx-source.tar.bz2’ to work. Install them with this command (of course, as root or using sudo):

    apt-get install tar bzip2

    Then, you should be able to see the contents of the archive:

    tar jtvf spca5xx-source.tar.bz2

    And unpack it:

    tar jxvf spca5xx-source.tar.bz2

    After that, be sure you have the linux-headers packages listed above, and the necessary building tools packages installed: build-essential

    If you find more problems, please, let me know.

  9. All I get is this:

    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    tar is already the newest version.
    bzip2 is already the newest version.

    leanne@leanne-laptop:~$ sudo tar jxvf spca5xx-source.tar.bz2
    tar: spca5xx-source.tar.bz2: Cannot open: No such file or directory
    tar: Error is not recoverable: exiting now
    tar: Child returned status 2
    tar: Error exit delayed from previous errors

    I’m guessing I need to make a directory? Still at a loss though… If I seem like a complete nOOb I’m sorry.

    I also read on another forum that the spca5xx is no longer valid for any webcam and gspcav1 is needed. Is this true?

    Leanne

  10. You need to work as root (with “sudo su”) and be in the same directory where “apt-get install spca5xx-source” has downloaded the tar.bz2 file, that is, at “/usr/src”.

    Look at this:

    enrique@compy:~$ sudo su
    Password:
    root@compy:/home/enrique# cd /usr/src
    root@compy:/usr/src# ls
    linux-headers-2.6.17-10-generic
    linux-headers-2.6.17-10
    linux-headers-2.6.17-10-386
    spca5xx-source.tar.bz2
    root@compy:/usr/src# file spca5xx-source.tar.bz2
    spca5xx-source.tar.bz2: bzip2 compressed data, block size = 900k
    root@compy:/usr/src# tar jxvf spca5xx-source.tar.bz2
    modules/
    modules/spca5xx/
    modules/spca5xx/debian/
    modules/spca5xx/debian/rules
    modules/spca5xx/debian/control.modules.in
    modules/spca5xx/debian/control
    modules/spca5xx/debian/compat
    modules/spca5xx/debian/copyright
    modules/spca5xx/debian/changelog
    modules/spca5xx/README-KERNEL-UPTO-2.6.16
    modules/spca5xx/Makefile
    modules/spca5xx/LICENSE
    modules/spca5xx/RGB-YUV%2fmodule-setting
    modules/spca5xx/README
    modules/spca5xx/drivers/
    modules/spca5xx/drivers/usb/
    modules/spca5xx/drivers/usb/spca500.dat
    modules/spca5xx/drivers/usb/spca501.dat
    modules/spca5xx/drivers/usb/spca505.dat
    modules/spca5xx/drivers/usb/spca508.dat
    modules/spca5xx/drivers/usb/spcagamma.h
    modules/spca5xx/drivers/usb/cx11646.h
    modules/spca5xx/drivers/usb/sn9cxxx.h
    modules/spca5xx/drivers/usb/pac207.h
    modules/spca5xx/drivers/usb/cxlib.h
    modules/spca5xx/drivers/usb/zc3xx.h
    modules/spca5xx/drivers/usb/cs2102.h
    modules/spca5xx/drivers/usb/jpeg_qtables.h
    modules/spca5xx/drivers/usb/pas106b.h
    modules/spca5xx/drivers/usb/spca506.h
    modules/spca5xx/drivers/usb/spca561.h
    modules/spca5xx/drivers/usb/mr97311.h
    modules/spca5xx/drivers/usb/sonix.h
    modules/spca5xx/drivers/usb/spca5xx.c
    modules/spca5xx/drivers/usb/spca5xx.h
    modules/spca5xx/drivers/usb/spcausb.h
    modules/spca5xx/drivers/usb/icm105a.h
    modules/spca5xx/drivers/usb/hv7131b.h
    modules/spca5xx/drivers/usb/hv7131c.h
    modules/spca5xx/drivers/usb/spca501_init.h
    modules/spca5xx/drivers/usb/pb0330.h
    modules/spca5xx/drivers/usb/ov7630c.h
    modules/spca5xx/drivers/usb/et61xx51.h
    modules/spca5xx/drivers/usb/sp5xxfw2.h
    modules/spca5xx/drivers/usb/jpeg_header.h
    modules/spca5xx/drivers/usb/spca508_init.h
    modules/spca5xx/drivers/usb/spcaCompat.h
    modules/spca5xx/drivers/usb/dummy_cam.h
    modules/spca5xx/drivers/usb/spcadecoder.c
    modules/spca5xx/drivers/usb/spcadecoder.h
    modules/spca5xx/drivers/usb/tas5130c.h
    modules/spca5xx/drivers/usb/sp5xxfw2.dat
    modules/spca5xx/drivers/usb/hdcs2020.h
    modules/spca5xx/drivers/usb/spca505_init.h
    modules/spca5xx/drivers/usb/spca500_init.h
    modules/spca5xx/drivers/usb/tv8532.h
    modules/spca5xx/CHANGELOG
    modules/spca5xx/README-SONIX
    modules/spca5xx/README-TV8532
    modules/spca5xx/INSTALL
    modules/spca5xx/cutlog.py
    root@compy:/usr/src# ls
    linux-headers-2.6.17-10-generic
    linux-headers-2.6.17-10
    linux-headers-2.6.17-10-386
    modules
    spca5xx-source.tar.bz2
    root@compy:/usr/src# ls modules
    spca5xx

    I don’t know if spca5xx is valid at this time. What I know is that the version I used when I wrote this post (November 12th, 2006) sure was.

  11. Hi. I solved it by extracting to the desktop and then moving it all to the correct place using automatix. Thanks for all you help. It is now working!

  12. Hmm for some reason it seems to have fallen on its bottom… I have no idea why. One day it just stopped working. I do not have the foggiest how to trouble shoot this one!!

  13. Maybe your Ubuntu updater has installed a new version of the kernel (with security fixes and so) and now the driver can’t work anymore with that kernel.

    Each time you install a new kernel version you’ve to recompile the driver, I guess…

  14. For everyone with Feisty:

    I tried this using gspca instead of the spca drivers and they seemed to have installed using this technique. Just replace ‘spca5xx’ with ‘gspca’. Oh yeah, and the ‘patch…’ line doesn’t work.

    Good Luck everyone!

Comments are closed.