OpenWrt Forum Archive

Topic: Logitech Quickcam Connect E2500 on Kamikaze 8.09RC2 on NSLU2

The content of this topic has been archived on 14 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I would like to install a Logitech Quickcam Connect E2500 on openwrt Kamikaze 8.09RC2, r14395 on an NSLU2.  To use a QuickCam Deluxe and QuickCam 9000 I have previously used the method and pre-compiled binaries described here: http://johnarthur.wordpress.com/2008/03 … ip-webcam/

Searches show that on other linux systems, people have had success with gspca.  I found a gspca package at http://ipkg.nslu2-linux.org/feeds/openw … ble/armeb/ I used Luci to put this in opkg-configuration and updated the package list.  I tried to install with

opkg install kmod-video-gspca

but got the following error message:

Installing kmod-video-gspca (2.6.26.8+20071224-ixp4xx-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/openw … _armeb.ipk
Connecting to ipkg.nslu2-linux.org (140.211.169.169:80)
kmod-video-gspca_2.6 100% |*******************************|   105k --:--:-- ETA
Not downgrading package kernel on root from 2.6.28.2-ixp4xx-1 to 2.6.26.8-ixp4xx-1.
An error ocurred, return value: 14.

Is there an incompatability between the unstable feeds and Kamikaze 8.09RC2, e.g. 2.6.28 vs 2.6.26?  What needs to happen to make this work?

You cannot mix kernel and kernel modules from different versions. Either build your own kmod-video-gspca package, or reflash the router with a kernel where the required module does exist. Additionally, I would not recommend mixing kernel and kernel modules from different ebmedded distributions like openwrt, dd-wrt, and others.

The helpful Kamikaze overview document here -- http://downloads.openwrt.org/kamikaze/docs/openwrt.html -- appears to be out of date in its description of the package directory structure.  My intent is to install the Logitech Quickcam E2500 webcam by including the gspca module and patching it as required.

In line with a suggestion by Yanira here -- http://forum.openwrt.org/viewtopic.php?pid=81296#p81296 (post # 2) -- I did this: ./scripts/feeds install kmod-video-gspca

In K809rc1 this gave me "gspcav1" directories in trunk/package/feeds/packages and trunk/feeds/packages/multimedia.  Each directory contains a Makefile--they appear to be identical.  (These directories are not the ones which the overview document says are used.)

I ran make menuconfig, was able to select kmod-video-gspca under kernal modules, ran make and flashed the NSLU2.  The gspca components appeared to be set up properly, lsusb reported the the camera, but no /dev/video_ was created.  I modified /etc/modules.d/90-video-gspca to append a line: vendor=0x046d product=0x089d, and rebooted, but no /dev/video_.

This was not altogether unexpected because others who have reported success with the E2500 (e.g., on ubuntu, here -- http://nepbabu.livejournal.com/15650.html ) have had to apply a QuickcamTeam patch from here:  wget http://forums.quickcamteam.net/attachment.php?aid=86 -O patch.tar.gz

I have gotten that patch and untarred it to get the file, quickcamE2500.diff

The question now is how do I apply that patch?  The overview document originally cited states that there is an optional "patches" directory along with the Makefile, but doesn't describe the contents.  Do I make a script which contains "patch -p1 < ../quickcamE2500.diff" or some variation?  Which of the two directories which contain the Makefile do I put it in?

The file, quickcamE2500.diff, is as follows:

diff -u -r gspcav1-20071224/gspca_core.c gspcav1-20071224_e2500//gspca_core.c
--- gspcav1-20071224/gspca_core.c    2007-12-24 17:56:47.000000000 +0100
+++ gspcav1-20071224_e2500//gspca_core.c    2008-07-23 12:38:56.000000000 +0200
@@ -422,6 +422,7 @@
     Lenovo,
     LogitechQC4Notebooks,
     PhilipsSPC220NC,
+    LogitechQuickCamE2500,
     LastCamera
 };
 static struct cam_list clist[] = {
@@ -620,6 +621,7 @@
     {Lenovo,"lenovo MI1310_SOC"},
     {LogitechQC4Notebooks,"Logitech QuickCam for Notebooks"},
     {PhilipsSPC220NC,"Philips SPC220NC PAC207"},
+    {LogitechQuickCamE2500,"Logitech QuickCam E2500"},
     {-1, NULL}
 };
 static __devinitdata struct usb_device_id device_table[] = {
@@ -834,6 +836,7 @@
     {USB_DEVICE(0x046d, 0x08af)},    /* Logitech QuickCam Cool */
     {USB_DEVICE(0x093a, 0x2472)},    /* PAC207 Genius VideoCam ge110 */
     {USB_DEVICE(0x093a, 0x2463)},    /* Philips spc200nc pac207 */
+    {USB_DEVICE(0x046d, 0x089d)},    /* Logitech QuickCam E2500 */
     {USB_DEVICE(0x0000, 0x0000)},    /* MystFromOri Unknow Camera */
     {}            /* Terminating entry */
 };
@@ -3334,6 +3337,16 @@
         };
         break;
     case 0x046d:        /* Logitech Labtec */
+        switch (product) {
+        case 0x089d:
+            spca50x->desc = LogitechQuickCamE2500;
+            spca50x->bridge = BRIDGE_ZC3XX;
+            spca50x->sensor = SENSOR_MC501CB;
+            break;
+        default:
+            goto error;
+        };
+        break;
     case 0x041E:        /* Creative cameras */
         switch (product) {
         case 0x400A:

Is there a simple example available of how I put this in the patches directory in trunk in order to have the patches made when I do make menuconfig and make so that I can test it on my NSLU2?  I want to be able to insert it into the Kamikaze build system.

The discussion might have continued from here.