OpenWrt Forum Archive

Topic: Asus WL600g

The content of this topic has been archived between 19 Sep 2015 and 3 May 2018. Unfortunately there are posts – most likely complete pages – missing.

ah - and to get to a shell prompt from the menu:
echo '' && sh

echo && <any command>  is an alternative to using backticks ...

well i posted a little quickly there ... it seems to throw me back to the menu system after about a minute when i've started an sh shell.

Heh. Sometimes, things are too obvious to try.

Just type 'sh' as command from the menu ;-)

Geezz... with the stock firmware, my modem never could get a dhcp lease when configured as a router.
Now that I managed to get the shell access, I figured I could try to cross-compile another dhcplient using the toolchain from the firmware source on the wl600g download page. I put the client binary on a harddisk, attached it to the usb port of the modem, and ran the client from the shell. Bingo! Now I finally can use the modem!

Although it would still be nice if the thing just worked out of the box..

Has someone made progress getting OpenWrt installed on this baby? I'm new to all this cross-compiling stuff, so the best I could do to date was configuring ext2 support into the stock firmware smile I'd really love to have a Samba server running on it, which doesn't seem possible (at least for me) with the image from asus.. my only hope is OpenWrt as it seems

I try to compile the Asus 1.0.2.8A firmware using this command:

make PROFILE=96348GW

but i obtain this error:

/var/abs/local/bcm963xx/hostTools/scripts/gendefconfig /var/abs/local/bcm963xx/targets/96348GW/96348GW
cd /var/abs/local/bcm963xx/kernel/linux; \
        cp -f /var/abs/local/bcm963xx/kernel/linux/arch/mips/usb_defconfig /var/abs/local/bcm963xx/kernel/linux/.config; \
        make oldconfig; make
make[1]: Entering directory `/var/abs/local/bcm963xx/kernel/linux'
  HOSTCC  scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91: error: static declaration of 'current_menu' follows non-static declaration
scripts/kconfig/lkc.h:63: error: previous declaration of 'current_menu' was here
make[2]: *** [scripts/kconfig/mconf.o] Error 1
make[1]: *** [oldconfig] Error 2
make[1]: Leaving directory `/var/abs/local/bcm963xx/kernel/linux'
make[1]: Entering directory `/var/abs/local/bcm963xx/kernel/linux'
find . -lname "*" -name "bcm96348" -print -exec rm -f "{}" ";"
./char/serial/bcm96348
./char/board/bcm963xx/bcm96348
/bin/sh -c " ln -sn impl1 char/board/bcm963xx/bcm96348; ln -sn impl1 char/serial/bcm96348;"
find . -lname "*" -name "bcm96348" -print -exec rm -f "{}" ";"
/bin/sh -c " ln -sn impl1 atm/bcm96348; ln -sn impl1 char/atmapi/bcm96348; ln -sn impl1 char/adsl/bcm96348; ln -sn impl1 char/bcmprocfs/bcm96348; ln -sn impl2 net/enet/bcm96348; ln -sn impl2 net/usb/bcm96348; ln -sn impl1 net/wl/bcm96348;"
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  SYMLINK include/asm -> include/asm-mips
  HOSTCC  scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91: error: static declaration of 'current_menu' follows non-static declaration
scripts/kconfig/lkc.h:63: error: previous declaration of 'current_menu' was here
make[3]: *** [scripts/kconfig/mconf.o] Error 1
make[2]: *** [silentoldconfig] Error 2
make[1]: *** [include/linux/autoconf.h] Error 2
make[1]: Leaving directory `/var/abs/local/bcm963xx/kernel/linux'
make: *** [kernelbuild] Error 2

Someone succeeded to compile it ? I want to have like a linux machine on router.
Thanks

Yes, I got this, on Mandrake Linux 10 without any problems...
But it's really does not work as router. Maybe this mode does not supported in this firmware?

(Last edited by axis on 6 Dec 2006, 02:42)

Hello wink

Sorry for my english, I'm french !

I wish to update my WL-600g but I does not manage to compile the firmware sad
You could do that for me ? Here is the firmware : ftp://dlsvr02.asus.com/pub/ASUS/wireles … _1028A.zip

Thanks wink

From France,
Jonat.

Sorry for MY english, I'm russian smile

I don't think you really need it. I don't see any difference between  1024 and 1028A.
My problem is still not solved...
So, give me your mail if you wish to try it.

I am also interested to know how to compile the new firmware; please can to write how to compile here? Thanks.

It's very easy.
Download firmware tarball.
Untar it.
Run 'consumer_install' script.
Then go to /opt/bcm963xx.
There is README file. Or run: 'make PROFILE=96348GW'.
Then go to /opt/bcm963xx/images and take your firmware.

And I want to say that I found solution for DHCP client.
You just need to delete interface nas_0_33 (for me, yours maybe nas_0_35 or ..) from bridge br0.
Run from shell:
# brctl delif br0 nas_0_33

It work for me. Router can get IP address.

Me too on Mandriva 2007 :

[root@localhost bcm963xx]# make PROFILE=96348GW
/opt/bcm963xx/hostTools/scripts/gendefconfig /opt/bcm963xx/targets/96348GW/96348GW
cd /opt/bcm963xx/kernel/linux; \
        cp -f /opt/bcm963xx/kernel/linux/arch/mips/usb_defconfig /opt/bcm963xx/kernel/linux/.config; \
        make oldconfig; make
make[1]: entrant dans le répertoire « /opt/bcm963xx/kernel/linux »
  HOSTCC  scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91: error: static declaration of ‘current_menu’ follows non-static declaration
scripts/kconfig/lkc.h:63: error: previous declaration of ‘current_menu’ was here
make[2]: *** [scripts/kconfig/mconf.o] Erreur 1
make[1]: *** [oldconfig] Erreur 2
make[1]: quittant le répertoire « /opt/bcm963xx/kernel/linux »
make[1]: entrant dans le répertoire « /opt/bcm963xx/kernel/linux »
find . -lname "*" -name "bcm96348" -print -exec rm -f "{}" ";"
./char/serial/bcm96348
./char/board/bcm963xx/bcm96348
/bin/sh -c " ln -sn impl1 char/board/bcm963xx/bcm96348; ln -sn impl1 char/serial/bcm96348;"
find . -lname "*" -name "bcm96348" -print -exec rm -f "{}" ";"
./atm/bcm96348
./char/adsl/bcm96348
./char/atmapi/bcm96348
./char/bcmprocfs/bcm96348
./net/enet/bcm96348
./net/usb/bcm96348
./net/wl/bcm96348
/bin/sh -c " ln -sn impl1 atm/bcm96348; ln -sn impl1 char/atmapi/bcm96348; ln -sn impl1 char/adsl/bcm96348; ln -sn impl1 char/bcmprocfs/bcm96348; ln -sn impl2 net/enet/bcm96348; ln -sn impl2 net/usb/bcm96348; ln -sn impl1 net/wl/bcm96348;"
  HOSTCC  scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91: error: static declaration of ‘current_menu’ follows non-static declaration
scripts/kconfig/lkc.h:63: error: previous declaration of ‘current_menu’ was here
make[3]: *** [scripts/kconfig/mconf.o] Erreur 1
make[2]: *** [silentoldconfig] Erreur 2
make[1]: *** [include/linux/autoconf.h] Erreur 2
make[1]: quittant le répertoire « /opt/bcm963xx/kernel/linux »
make: *** [kernelbuild] Erreur 2

Can you compile the firmware with make PROFILE=96348GW and post him please ?

Thanks ;-)

The fix is easy;

edit /opt/bcm963xx/kernel/linux/scripts/kconfig/mconf.c

Replace all occurrences of "current_menu" with "cur_menu"

save the file

Restart the compilation process. It will now build!

That builds approximately one minute and that ends with error2 sad

Can you build the firmware for me please ?

I'm running 1.0.2.8A now (the image I built and linked above) and the built-in DHCP client now works by default. Finally!

Dear Developers,

Can anyone please upload a compiled 1.0.2.8B or 1.0.2.9B?
This would be really nice.
By the way: Sorry i am german and i need annexB but cant find any firmware on the internet.
A few days ago i hat 1.0.2.9B but i "updated" to 1.0.2.4 smile

Thank you.

1.0.2.9 ? It is not on Asus website...

Yeah, i know but i was on my router big_smile

But 1.0.2.8_B_ would be ok too i think

Oh, i found the CD wink

Going to compile my self lol

(Last edited by maulbear on 5 Jan 2007, 13:44)

Hej,

do you also know how to include alsa in the firmware when doing a custom compilation?

Thanks in advance.

What would interest me is: HOW to compile a custom image. I just want to make some changes to the kernel.
I have the sources installed under /opt/bcm963xx. Now, in the beginning there is no .config file in /opt/bcm963xx/kernel/linux. When I compile with 'make PROFILE=96348GW' that is created in the process. When I change this according to what I want and compile again, this is just replaced by the former version and my changes ignored. I did look at the Makefiles but haven't been able to find anything.
Does anyone know how /opt/bcm963xx/kernel/linux/.config is created in the process initiated by 'make PROFILE=96348GW'? 
Thank you for considering this.

(Last edited by antonix on 15 Feb 2007, 12:46)

antonix wrote:

What would interest me is: HOW to compile a custom image. I just want to make some changes to the kernel.
I have the sources installed under /opt/bcm963xx. Now, in the beginning there is no .config file in /opt/bcm963xx/kernel/linux. When I compile with 'make PROFILE=96348GW' that is created in the process. When I change this according to what I want and compile again, this is just replaced by the former version and my changes ignored. I did look at the Makefiles but haven't been able to find anything.
Does anyone know how /opt/bcm963xx/kernel/linux/.config is created in the process initiated by 'make PROFILE=96348GW'? 
Thank you for considering this.

See /opt/bcm963xx/Makefile, line 493 and following: the .config file is simply copied from opt/bcm963xx/kernel/linux/arch/mips/usb_config, which is pregenerated by ASUS.

Please let us know if you manage to build custom firmware with tweaked .config.

Daniel Fiser wrote:

See /opt/bcm963xx/Makefile, line 493 and following: the .config file is simply copied from opt/bcm963xx/kernel/linux/arch/mips/usb_config, which is pregenerated by ASUS.

This was great.
In my sources - 1.0.2.8.B from the CD - the file is actually called  opt/bcm963xx/kernel/linux/arch/mips/usb_defconfig, So I backed this up, then changed it to support reiserfs. I then recompiled the sources from /opt/bcm963 - no 'make clean', that just produces an error - just  type in once more: 'make PROFILE=96348GW'. That leads to some questions by 'make config', which is called up in the process. It goes on to compile perfectly. The new image automatically gets a new name and is copied into /opt/bcm963xx/images/, slightly larger than the standard one I had compiled before.
I then used the web interface to upload the new image to the router, somewhat nervously. But the thing reboots without problems and everything still works, even the configuration changes I had previously made via the web interface are still there.
I login via telnet 192.168.1.1, and open a shell: sh.
Then I plugin my usb-harddisk which has one partition in reiserfs format.
dmesg shows:

SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB)
sda: assuming drive cache: write through
/dev/scsi/host0/bus0/target0/lun0: p1 < p5 >
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
USB Mass Storage device found at 2

which looks good, but then:

FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev sda1.
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev sda5

Well, of course not. Where does this come from, who or what is looking for a fat filesystem?
Anyway, I might try to mount the device, what is it called? -  /dev/scsi/host0/bus0/target0/lun0/something?
I look into it, but /dev/scsi/host0/bus0/target0 is empty.
lsmod gives me the list of modules, I find usb_storage. I do:

rmmod usb_storage

and

insmod usb_storage

The latter doesent work, I look into /lib/modules/2.6.8.1/kernel/drivers/usb/storage/.
The module is called usb-storage.ko.

insmod usb-storage

that works. 
I find my reiserfs partition which is normally /dev/sda5 under /dev/scsi/host0/bus0/target0/lun0/part5.
The /mnt directory is empty, so I do

mount /dev/scsi/host0/bus0/target0/lun0/part5 /mnt
cd /mnt
ls /mnt

It's really there.
However, this is as yet only a proof of concept, as I still can't connect to the ftp-Server which is - not running.
Inserting a usb-disk with fat partition causes stupid-ftpd to be started on port 1111. The partition is mounted on /var/harddisk.
I mounted my reiserfs partition on /var/harddisk, then tried to start stupid-ftpd. But it fails with

Cannot find /var/stupid-ftpd.conf

Using a disk with fat partition on the other hand creates /var/stupid-ftpd.conf automatically.  How?
Any suggestions?

(Last edited by antonix on 17 Feb 2007, 21:26)

antonix - I've recently got a wl600g and have been taking a look in this area.

From what I gather, /var is the rw part of the memory where runtime settings are stored.
When the usb drive is plugged in, the kernal calls '/bin/hotplug', which in the wl600g simply calls '/bin/asushotplug'.
asushotplug is an alias for the 'cfm' precompiled binary, which seems to configure all the runtime devices, start and stop the ftp/telnet/ssh services and run the webui.

Looking through the cfm binary, it contains  lots of text files which are written to /var when services are started, including stupid-ftpd. So the /var/stupid-ftp.conf file is written to /var whenever a suitable device is plugged in, which is why the file isn't there when you manually mount the hard drive.

Anyway, it writes the file as follows:

mode=daemon
serverroot=/var/harddisk
changeroottype=real
motd=/var/stupid-ftpd.motd
byemsg=/var/stupid-ftpd.bye
banmsg=You have no permission
log=/tmp/stupid-ftpd.log
port=%s
maxusers=%s
login-timeout=%s
timeout=%s
user=%s %s // 0 A
user=anonymous * // 5 A

The %s will be replaced at runtime with suitable values, so for now you could just copy this to the harddrive, then copy it into /var after manually mounting the drive.

Sorry, I don't have a usb drive here to see what values are actually written to the file, but I'm sure you can come up with something that will work.

For the record, cfm only seems to know about ext2, vfat, msdos and ntfs formats.

Hi guys,

I'm sorry for posting this offtopic question in your discussion. But there's just so little information to find on the WL 600g and doing some extra stuff with it.

I just ordered the 600g and a usb 250Gb harddrive. What I would like to know is: am I able to somehow run SABnzbd (that's a linux newsreader) on it and to send nzb download url's to it from outside. I read the device runs on linux so I figured this might work. The thing is I know nothing about linux or the WL 600g yet and I have no idea how it compares to the WL 500g. Could you please give me some directions to were to start reading/learning about these modifications.