Cyberwizzard.nl

Welcome to my world

QuickCam Communicate STX on Linux

Looking for instructions to get your latest Logitech webcam to work on linux? Your in the right place! Need a replacement for gspcav1 or spca5xx? Have no clue what I just said but you need a new webcam driver? Please, read on...


If you are running linux and have had the QuickCam Communicate STX for a while (like me) you would probably have started out with the GSPCAV1 package - from 2007.

2007 you ask? Yes, that piece of kit is antique and I couldn't get it to compile anymore on any modern kernel (which you pretty much should have if you are running Gentoo). Not surprisingly though, I was not the only one. Besides, a driver for a common camera should be updated more often and even better: it should be in the kernel tree.

Guess what? It is!

It sounds so simple but if nobody tells you how to upgrade from the gspcav1 driver to the new driver in the 2.6.27+ kernel tree - you'd be stuck, just like I was.

According to the page of the maintainer, pretty much all new Logitech and webcams from other producers work with the new gspcav driver. In my case, my Logitech identifies as 'ID 046d:08d7 Logitech, Inc. QuickCam Communicate STX'.


Instructions:

  • Find your camera on the driver list
  • Grab a recent kernel (2.6.27+ will do)
  • Remember the subdriver name that matches your webcam, mine is zc3xx.
  • Configure your kernel:
    • Device Drivers --->
      • Multimedia devices --->
        • <*> Video For Linux
        • [*] Video capture adapters --->
          • V4L USB devices --->
            • <M> GSPCA based webcams --->
              • <M> ZC3XX USB Camera Driver
  • Decide whether you want it build in or as a module and compile the kernel
  • Check using ' dmesg'  after plugging in if it worked:
    gspca: main v2.4.0 registered
    usbcore: registered new interface driver zc3xx
    zc3xx: registered
    usb 4-2.3: new full speed USB device using uhci_hcd and address 9
    usb 4-2.3: configuration #1 chosen from 1 choice
    gspca: probing 046d:08d7
    zc3xx: probe 2wr ov vga 0x0000
    zc3xx: probe sensor -> 11
    zc3xx: Find Sensor HV7131R(c)
    gspca: probe ok
    gspca: probing 046d:08d7
    gspca: probing 046d:08d7
    

 

If you see a similar output to the above, everything *should* work.

 


But as always, there is a catch: if you use the latest Nvidia drivers (if you have an Nvidia card of course) you probably have no DGA support because it got dropped (something with DGA needing a static frame buffer address and dynamic memory management on a graphics card - whatever) ad when you try to run something like 'xawtv' you get a warning and only a black image.

 

 

This is xawtv-3.95, running on Linux/x86_64 (2.6.29-gentoo-r1)
WARNING: v4l-conf is compiled without DGA support.
/dev/video0 [v4l2]: no overlay support
v4l-conf had some trouble, trying to continue anyway
Warning: Cannot convert string "-*-ledfixed-medium-r-*--39-*-*-*-c-*-*-*" to type FontStruct
no way to get: 384x288 32 bit TrueColor (LE: bgr-)

 

The reason for this is the fact that xawtv and some others try to get the data through the V4L interface which most of the time comes with a DGA display method... which doesn't work... which means your webcam is working but you can't see it...

This is silly ofcourse and luckely, players like mplayer can use the V4L2 interface as well which allows it to display the feed without a DGA interface. For example to test using V4L2 and mplayer type:

 

mplayer tv:// -tv driver=v4l2:width=352:height=288:device=/dev/video0 -fps 15

 

Have fun with your webcam on linux! ^^