view · edit · print · history

This article pertains to:

Welcome to SlugOS 5! More information can be found in the release notes: ReleaseNotes5x3

Note the heading at the top of this page; this color-coded annotation will be used to help readers of the wiki to determine the specific firmware and version to which the article applies.

WebCam support

In order to use a Logitech E3500 WebCam I needed to have the file uvccapture also under SlugOS5. Because it was not included in the standard distribution I had to build it myself. The version from SlugOS 4.8 dit not work because of library problems. With the help of Jon Barber I got it to work.

Create uvc kernel module

For using this uvc (USB_VIDEO_CLASS) device under Video4Linux you also need an uvc driver which is not yet included in the distribution. This is a kernel module and must be enabled in the kernel config list with the letter "M" for Module.

type "make ARCH=arm menuconfig" to set uvc <M> flag in path:
Title: Linux Kernel Configuration
/Device Drivers/Multimedia Devices/Video capture adapters/V4L USB devices/USB Video Class (UVC) <M>
/Device Drivers/Multimedia Devices/Video for Linux <M>
  Output of menuconfig = ".config"

Next step is to build your kernel module uvccapture:

cd /home/*user*/slug
make slugosbe-image

The file kernel-module-uvcvideo_2.6.27.8+svnr1085-r2_nslu2be.ipk is found in path: slug/slugos/tmp/deploy/ipk/nslu2be.


The purpose of this software is to capture an image from a USB webcam at a specified interval, and save it to a JPEG file, no other formats are supported. For more details have a look at http://packages.debian.org/en/lenny/uvccapture.

HowTo build an openembedded package

Because uvccapture was not included in the openembedded packages, I had to build it myself. This can be done with the MasterMakefile. Once you have setup the cross toolchain on a PC Linux system (I use Ubuntu 08.10) you can setup a BitBake file to build the package. Please note that in order to exclude/include a package in the distribution you have to edit list SLUGOS_PACKAGES in file slugos-packages.bb in path openembedded/packages/meta.

To setup the environment do the following:

cd /home/*user*/slug/openembedded/packages
mkdir uvccapture
cd uvccapture
mkdir files
  create/edit the file uvccapture_0.5.bb from the box below.
cd files
  create/edit the file Makefile.patch from the box below.
  edit file slugos-packages.bb in openembedded/packages/meta.
  add to SLUGOS_PACKAGES uvccapture \ (in alphabetic order).
  I added also gnuplot to SLUGOS_PACKAGES.

Next step is to build your package uvccapture:

cd /home/*user*/slug
make slugosbe-packages

After about 19 hours later (1st time build only, because all packages are build, 2nd time is much quicker) you have:


Make a cd to that folder and copy uvccapture-0.5/uvccapture to /usr/bin/uvccapture on your NSLU2 box.

In order to build the package uvccapture you need a BitBake file uvccapture_0.5.bb:

# uvccapture_0.5.bb  2009-03-06 RudolfReuter
DESCRIPTION = "USB UVC Video Class Snapshot Software for V4L2 driver."
SECTION = "console/multimedia"
PRIORITY = "optional"
PR = "r0"

SRC_URI = "http://ftp.de.debian.org/debian/pool/main/u/uvccapture/uvccapture_0.5.orig.tar.gz \

do_compile() {

do_install() {
        install -d ${D}${bindir}
        install -m 0755 ${S}/uvccapture ${D}${bindir}/uvccapture

The original Makefile needs a patch Makefile.patch:

--- uvccapture-0.5/Makefile	2008-08-01 04:26:18.000000000 +0200
+++ Makefile	2009-03-09 10:46:22.000000000 +0100
@@ -1,13 +1,13 @@
-VERSION = 0.4
+VERSION = 0.5



 OBJECTS= uvccapture.o v4l2uvc.o
view · edit · print · history · Last edited by RudolfReuter.
Originally by RudolfReuter.
Page last modified on March 16, 2009, at 09:00 AM