If you want driver for "classic" Oleg FW 1.9.2.7-10, it compiled already - http://translate.google.com/translat...n&hl=&ie=UTF-8 (google autotranslate).
If you want to compile it for 1.9.2.7-d, you should:
- build firmware from SVN first
- setup proper LINUX_DIR
- replace CC = mipsel-linux-gcc to CC = mipsel-linux-gcc-3.4.6
NB! Anyway, driver can be buggy
Please,
can enyone built spca5xx driver for 1.9.2.7-d ?
WL-500gPv2 - 1.9.2.7-d-r2381
Hello,
I read from a lot of threads on different forums about
spca5xx but no results... I think I have 3 choices:
1st: compile the module onto router using actual compiler
2nd: cross-compilling the module on a pc machine
3rd: compile using same gcc version 3.2.3 with Broadcom
modifications from Asus directly to router
I attached here the makefile from 2nd and the result (spca5xx.o).
1st: I tried also to compile on the router the drivers:
http://mxhaard.free.fr/spca50x/Downl...goodbye.tar.gz
- system: Broadcom BCM4704 chip rev 9 pkg 0;
- cpu: BCM3302 V0.6;
- Linux version 2.4.20 (gcc version 3.2.3 with Broadcom modifications) #109;
- firmware 1.9.2.7-10-USB-1.71 (from koppel.cz);
- webcam Logitech, Inc. QuickCam Communicate STX; ID: 046d:08d7;
- compiler: gcc version 4.1.1;
- linker: gnu ld version 2.17.50.0.8 20061201
(both installed with ipkg on /opt/ [compact flash, 16gb card])
At compilation process everything seems to stuck at /opt/include/asm/softirq.h
The output of `make` is:
-------------------------
Compiling drivers/usb/spcadecoder.c
In file included from /opt/include/linux/interrupt.h:46,
from /opt/include/linux/usb.h:139,
from drivers/usb/spca5xx.h:14,
from drivers/usb/spcadecoder.h:5,
from drivers/usb/spcadecoder.c:36:
/opt/include/asm/softirq.h: In function 'cpu_bh_disable':
/opt/include/asm/softirq.h:18: error: invalid lvalue in increment
/opt/include/asm/softirq.h: In function '__cpu_bh_enable':
/opt/include/asm/softirq.h:25: error: invalid lvalue in decrement
drivers/usb/spcadecoder.c: In function 'fun_D':
drivers/usb/spcadecoder.c:809: warning: value computed is not used
drivers/usb/spcadecoder.c: In function 'decode_spca561':
drivers/usb/spcadecoder.c:1422: warning: pointer targets in passing argument 4 of 'internal_spca561_decode' differ in signedness
drivers/usb/spcadecoder.c: In function 'spca50x_outpicture':
drivers/usb/spcadecoder.c:2161: warning: pointer targets in passing argument 2 of 'decode_spca561' differ in signedness
drivers/usb/spcadecoder.c: In function 'yuv_decode':
drivers/usb/spcadecoder.c:2270: warning: cast increases required alignment of target type
drivers/usb/spcadecoder.c: In function 'jpeg_decode411':
drivers/usb/spcadecoder.c:2622: warning: cast increases required alignment of target type
drivers/usb/spcadecoder.c: In function 'jpeg_decode422':
drivers/usb/spcadecoder.c:3001: warning: cast increases required alignment of target type
drivers/usb/spcadecoder.c: In function 'bayer_decode':
drivers/usb/spcadecoder.c:3356: warning: cast increases required alignment of target type
make: *** [drivers/usb/spcadecoder.o] Error 1
-------------------------
2nd: I downloaded that version from the Asus's site
(and also the source of firmware: GPL_WL500GP_1.9.7.7.tar.gz and toolschain323.tar.gz),
extracted into pc#2 with CentOS 5.5, and configured in Makefile from spca5xx-v4l1goodbye.tar.gz
I compiled it after many struggles. Only few warnings and no error (see below):
----------------------------------------------------------------
# make
Compiling drivers/usb/spcadecoder.c
In file included from /opt/firmware/broadcom/src/linux/linux/include/linux/net.h:22,
from /opt/firmware/broadcom/src/linux/linux/include/linux/fs.h:15,
from /opt/firmware/broadcom/src/linux/linux/include/linux/capability.h:17,
from /opt/firmware/broadcom/src/linux/linux/include/linux/binfmts.h:5,
from /opt/firmware/broadcom/src/linux/linux/include/linux/sched.h:9,
from /opt/firmware/broadcom/src/linux/linux/include/asm/uaccess.h:13,
from drivers/usb/spca5xx.h:11,
from drivers/usb/spcadecoder.h:5,
from drivers/usb/spcadecoder.c:36:
/opt/firmware/broadcom/src/linux/linux/include/linux/socket.h: In function `__cmsg_nxthdr':
/opt/firmware/broadcom/src/linux/linux/include/linux/socket.h:107: warning: cast increases required alignment of target type
drivers/usb/spcadecoder.c: In function `yuv_decode':
drivers/usb/spcadecoder.c:2270: warning: cast increases required alignment of target type
drivers/usb/spcadecoder.c: In function `jpeg_decode411':
drivers/usb/spcadecoder.c:2622: warning: cast increases required alignment of target type
drivers/usb/spcadecoder.c: In function `jpeg_decode422':
drivers/usb/spcadecoder.c:3001: warning: cast increases required alignment of target type
drivers/usb/spcadecoder.c: In function `bayer_decode':
drivers/usb/spcadecoder.c:3356: warning: cast increases required alignment of target type
Compiling drivers/usb/spca5xx.c
In file included from /opt/firmware/broadcom/src/linux/linux/include/linux/net.h:22,
from /opt/firmware/broadcom/src/linux/linux/include/linux/fs.h:15,
from drivers/usb/spca5xx.c:45:
/opt/firmware/broadcom/src/linux/linux/include/linux/socket.h: In function `__cmsg_nxthdr':
/opt/firmware/broadcom/src/linux/linux/include/linux/socket.h:107: warning: cast increases required alignment of target type
In file included from drivers/usb/spca5xx.c:847:
drivers/usb/spcausb.h: In function `spca50x_reg_read_with_value':
drivers/usb/spcausb.h:335: warning: cast increases required alignment of target type
drivers/usb/spcausb.h:341: warning: cast increases required alignment of target type
drivers/usb/spca5xx.c: At top level:
drivers/usb/spca5xx.c:5660: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5661: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5662: warning: initialization from incompatible pointer type
drivers/usb/spca5xx.c:5663: warning: braces around scalar initializer
drivers/usb/spca5xx.c:5663: warning: (near initialization for `spca5xx_driver.disconnect')
drivers/usb/spca5xx.c:5663: warning: excess elements in scalar initializer
drivers/usb/spca5xx.c:5663: warning: (near initialization for `spca5xx_driver.disconnect')
drivers/usb/spca5xx.c:150: warning: `bright' defined but not used
drivers/usb/spca5xx.c:151: warning: `contrast' defined but not used
Linking spca5xx.o
----------------------------------------------------------------
Also there are few interesting results:
- on router, after /sbin/insmod videodev and
/sbin/insmod /opt/lib/webcam/spca5xx.o
there are no complains;
- some weird characters appear when the camera is loaded;
- appeared the message: `[b]vlan1: dev_set_allmulti(master, 1)`;
- no video0 in /dev (nor /dev/4l/video0);
- no other errors, no tained, no unresolved symbols;
- there are no files in /proc/video nor /proc/spca50x
and some informations in files from /proc/bus/usb (see attached);
----------------------------------------------------------------
dmesg output:
----------------------------------------------------------------
usb.c: registered new driver audio
usb.c: audio driver claimed interface 81e304d0
usbaudio: device 2 audiocontrol interface 1 has 1 input and 0 output AudioStreaming interfaces
usbaudio: device 2 interface 2 altsetting 1 channels 1 framesize 2 configured
usbaudio: valid input sample rate 8000
usbaudio: device 2 interface 2 altsetting 1: format 0x00000010 sratelo 8000 sratehi 8000 attributes 0x00
usbaudio: device 2 interface 2 altsetting 2 channels 1 framesize 2 configured
usbaudio: valid input sample rate 16000
usbaudio: device 2 interface 2 altsetting 2: format 0x00000010 sratelo 16000 sratehi 16000 attributes 0x00
usbaudio: registered dsp 14,3
usbaudio: constructing mixer for Terminal 3 type 0x0101
usbaudio: warning: found 1 of 0 logical channels.
usbaudio: assuming the channel found is the master channel (got a Philips camera?). Should be fine.
usbaudio: registered mixer 14,0
usb_audio_parsecontrol: usb_audio_state at 81c66dc0
usb.c: audio driver claimed interface 81e304b8
audio.c: v1.0.0:USB Audio Class driver
vlan1: dev_set_allmulti(master, 1)
Linux video capture interface: v1.00
usb.c: registered new driver Ðÿ½',
usb.c: Ðÿ½', driver claimed interface 81e304a0
drivers/usb/spca5xx.c: spca5xx driver 00.60.00.1 registered
------------------------------------------------------
3rd: very slow (you know already the deal with the router's limited cpu, ram)...
so: no problem at `configure`, errors at `make`... still working at it...
don't know if I will see it finaly and properly compiled
I really don't still want to get to 2.6.x kernel; after few months maybe.
I appreciate every single advice in this problem.