Compile the firmware from Gpl 1.0.4.2
I see that noone was able to compile the firmware from the source. Why not to share our expierence? Here is mine.
Enviorment: Fedora Core 4
1) be sure you have ash shell. if not, install it:
ftp://rpmfind.net/linux/fedora/core/....8-20.i386.rpm
2) download and prepare the kernel tree, toolchain and environment:
Download ftp://dlsvr02.asus.com/pub/ASUS/wire...3/GPL_1927.zip
File is not a regular pkzip file but a .tar.gz archive. Rename it to GPL_1927.tar.gz and unpack:
# tar -C /whatever/you/want -xzf /path/to/GPL_1927.tar.gz
This will create a /whatever/you/want/broadcom/... tree
Move entire /whatever/you/want/broadcom/opt to /opt:
# cd /whatever/you/want/broadcom/ && mv opt /
Add toolchain to your path:
# export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin
3) download GPL source from ftp://dlsvr01.asus.com/pub/ASUS/wire...gE_1042tar.zip
extract file GPL_WL700gE_1.0.4.2.tar.gz from the archive and unpack it:
# tar xvfz GPL_WL700gE_1.0.4.2.tar.gz
go to proper directory "WL700g/nasoc/src/apps"
# cd WL700g/nasoc/src/apps
To generate the image for the first time, type:
# make rebuild
Here I got an error::mad:
make[2]: *** No rule to make target `/opt/brcm/hndtools-mipsel-linux/lib/gcc-lib/mipsel-linux/3.0/include/stddef.h', needed by `popt.o'. Stop.
make[2]: Leaving directory `/root/WL700g/nasoc/src/apps/popt'
make[1]: *** [popt] Error 2
make[1]: Leaving directory `/root/WL700g/nasoc/src/apps'
make: *** [rebuild] Error 2
Any comments?
if the result is succefull, you can make an image by typing:
# make image-WL700gE
make[2]: *** No rule to make target stddef.h
To overcome this problem, delete directory .deps (or its content) in /root/WL700g/nasoc/src/apps/popt directory and run ./configure again.
Maybe its a good idea to delete all .deps in whole project ... I have tried it and it seems nothing was broken.
Another issue was unreferenced errno.h, fixed by some manual includes (my system is Debian 3.1)
#include <errno.h>
This is the last point of my compilation attempt:
[ ! -f raidtools/Makefile ] || make -C raidtools
make[2]: Entering directory `/root/WL700g/nasoc/src/apps/raidtools'
mipsel-linux-gcc -o raidstart raidstart.o parser.o raidlib.o version.o raid_io.o scsi.o reconfiguration.o rrc_common.o rrc_raid0.o rrc_raid5.o rrc_single.o ../popt/libpopt.a
raid_io.o: In function `raidseek':raid_io.c: (.text+0x3d4) : undefined reference to `_llseek'
:raid_io.c: (.text+0x3e8) : undefined reference to `_llseek'
collect2: ld returned 1 exit status
make[2]: *** [raidstart] Error 1
make[2]: Leaving directory `/root/WL700g/nasoc/src/apps/raidtools'
make[1]: *** [raidtools] Error 2
make[1]: Leaving directory `/root/WL700g/nasoc/src/apps'
make: *** [rebuild] Error 2
I am not able to resolve this error.
raidtools compilation problem solved
Before I saw your post, I was trying different things. And made some progress.
Good news are that raidtools compiles succsefully!!!
1) I created the new enviorment as I described here.
2) I created 2 links:
# ln -s /root/WL700g/nasoc/src/linux/linux/include/linux /opt/brcm/hndtools-mipsel-linux/lib/gcc-lib/mipsel-linux/3.0
# ln -s /opt/brcm/hndtools-mipsel-linux/lib/gcc-lib/mipsel-linux/3.2.3/include /opt/brcm/hndtools-mipsel-linux/lib/gcc-lib/mipsel-linux/3.0
then I did:
# cd WL700g/nasoc/src/apps
# make rebuild
everything was compiling until I got an error:
make[2]: Entering directory `/root/WL700g/nasoc/src/apps/rtc.asus'
mipsel-linux-gcc -O2 -mips2 -mcpu=r4600 -Wa,--trap -m4710a0kern -pipe -mno-abica lls -G 0 -fomit-frame-pointer -fno-strict-aliasing -shared -fno-PIC -I../../linu x/linux/include/linux -I../../linux/linux/include/asm-mips -I../../linux/linux/i nclude -I/opt/brcm/hndtools-mipsel-linux/mipsel-linux/include -I../../include -I ./ -DMODULE -D__KERNEL__ -mlong-calls -DLinux -c rtcrv5c386a.c -o bcmrtc5c386.o
mipsel-linux-ld -r ./bcmrtc.o ./bcmrtc5c386.o -o asusrtc5c386.o
mipsel-linux-ld: ./bcmrtc5c386.o: uses different e_flags (0x0) fields than previous modules (0x100)
Bad value: failed to merge target specific data of file ./bcmrtc5c386.o
make[2]: *** [asusrtc5c386.o] Error 1
make[2]: Leaving directory `/root/WL700g/nasoc/src/apps/rtc.asus'
make[1]: *** [rtc.asus] Error 2
make[1]: Leaving directory `/root/WL700g/nasoc/src/apps'
make: *** [rebuild] Error 2
It sems that rtc.asus also compiles, but the problem is with linker:
mipsel-linux-ld -r ./bcmrtc.o ./bcmrtc5c386.o -o asusrtc5c386.o
mipsel-linux-ld: ./bcmrtc5c386.o: uses different e_flags (0x0) fields than previous modules (0x100)
It seems that asusrtc5c386.o is created by make, but bcmrtc.o is binary only and there is a problem with e_flags:(
Any ideas how to resolve this?
another interesting directory
there is a directory /root/WL700g/nasoc/src/apps/mipsel-uclibc
I'm thinking if it is also some linking directory?!:rolleyes:
good and not so good things
I'm making progress.
That is good:)
A lot of views in this thread but noone is willing to help me.
That is sad:rolleyes: