NSLU2-Linux
view · edit · print · history

The Logitech Quickcam Messenger family of cameras are not supported by any of the pre-built binary modules which are available for the NSLU2, so the driver must be manually compiled. If you haven't yet purchased a webcam, don't get one of these - get one that's supported by the binary drivers.

These are instructions for compiling and installing the Logitech Quickcam Messenger & Communicate driver by Christian Magnusson. They have been tested with version 1.0 of the driver on OpenDebianSlug on the NSLU2. The process should be very similar on OpenSlug/Unslung. There's nothing special about Logitech Quickcam cameras - they're just pretty cheap.

Be advised that this HOWTO involves compiling a kernel module using a kernel source different in many ways to the one used to compile the kernel you're running, with a different version of GCC (if you're runnning OpenDebianSlug), using a dirty hack to make the driver work. It could eat your installation, your NSLU2 and/or your webcam - use it at your own risk! You could of course mess about with cross-compilation and build things properly, but this way is easier.

  • Install all the development packages you'll need to compile a kernel module
(GCC 3.4, make, automake, autoconf, etc. etc.)
You may need to create symbolic links from /usr/bin/gcc to /usr/bin/gcc-3.4 and the same for g++, cpp and related binaries.
  • Get some extra kernel modules
You'll need the videodev and evdev modules. Install them using Openslug then copy them over to OpenDebianSlug.
  • Install lsusb
Just apt-get it in OpenDebianSlug.
  • Get a copy of the vanilla kernel source for the kernel you're running (2.6.12.2 is current in OpenSlug)
Unfortunately it's pretty much impossible to get a copy of the actual kernel source for the running kernel - you'd need to add the OpenEmbedded patches then add the NSLU2-specific patches. You can try if you like, but my experience is that the patches are broken/just don't apply.
  • Configure it with make menuconfig
You're not going to compile the kernel, so don't worry about configuring everything - keeping 90% defaults is fine.
You should however make the following changes to the configuration:
Enable General Setup -> Configure standard kernel features
For System Type -> ARM system type, select IXP4xx?-based
Enable System Type -> Build big-endian kernel - very important!
Under System Type -> Intel IXP4xx? Implementation Options -> IXP4xx? Platforms, select all the options
  • Run make modules_prepare in the kernel source
  • Get a copy of the driver
From http://home.mag.cx/messenger/(approve sites)
  • Patch the driver
Although the driver will compile fine on ARM, there's a bug which prevents it from detecting cameras. Apply my patch from http://www.david-web.co.uk/download/qc-driver.patch(approve sites) using patch (which you may need to install). This patch is just a dirty hack around the problem - not a proper fix. It could well fail to work with some cameras. The author of the driver has been notified of the problem and will hopefully fix it properly soon.
  • Run the Quickcam config/compilation script
./quickcam.sh
Make sure you have all the dependencies before continuing, apart from xawtv and xdpyinfo.
The script will probably complain that you're using a different GCC to the one the kernel was compiled with. Continue.
It will almost certainly claim to have found no compatible cameras - it always does this for some reason.
If there's been no major errors, continue to the compilation and let it do it.
Once compiled, it will load the driver. See if it found your webcam. You're looking for a line like the following:
quickcam: Registered device: /dev/video0
It will next try to test the driver with xawtv - just keep pressing enter ignoring the errors. You want it to continue to install the driver.
  • Test it
If that worked, let's test it. Enter the testquickcam directory in the driver source tree and type make. If it complains about not being able to find cc, run export CC=gcc then try again.
Now run ./testquickcam /dev/video0 -r. That should give you some information and create a file called pic.ppm. This is an image with a single-frame captured from your webcam. If that worked, your webcam is ready for use.
  • Use it
The webcam is now accessible as a standard Video4Linux? device - what you do with it is up to you. You may wish to use motion (available in OpenDebianSlug's repository) which incorporates a built-in web server allowing users to view an automatically updating image from your webcam over a network/the Internet using only a web browser (no Java, Flash or other such nonsense required).

Success reports

  • Please add your name here if you manage to follow through this HOWTO.

Alternative method

I have successfully installed a Logitech Quickcam Messenger Camera on NSLU2 with Debian Etch (http://www.nslu2-linux.org/wiki/Debian/HomePage).

  • Install module-assistant
Just apt-get install module-assistant
  • Install spca5xx driver
Just m-a auto-install spca5xx

(For my Labtec Webcam Pro I had better results with m-a auto-install gspca)

(For my LegoCam? (Logitech 0x046d, 0x0850) m-a auto-install qc-usb)

Now plug the camera on an USB port of the NSLU2

  • Load the driver
modprobe spca5xx

That's all! Now you can test your installation with the motion software.

view · edit · print · history · Last edited by ImS.
Based on work by ImS, tnitsche, ZerO, and Nobody.
Originally by David Johnson.
Page last modified on March 01, 2008, at 07:35 PM