Linksys GPL software
Original GPL software package is avaliable at: ftp://ftp.linksys.com/opensourcecode/wag200g/1.00.07-EU/WAG200G-EU_v1.00.07.tgz
It builds without any problems on any modern linux distro ( I'm using clean install of slackware 11 as a building system ).
Distribution unpacks to wag200-gpl directory. Linksys included complete building environment with MontaVista Software AR7 cross compiler mips_fp_le-gcc. MontaVista compiler installs in /opt/hardhat/devkit/mips/fp_le/bin.
Space avaliable on the filesystem
target filesystem before squashing has 6,6 MB, after squashing it has about 1,7 MB. Maximum size of squashed filesystem according to the build script is about 2,8 MB - about 10 MB unsquashed, so we have about 4 MB for additional software.
Linksys image from inside
Interesting things about Linksys code :
- binary-olny wifi driver ( tiap kernel module ) is in the code/driver/wifi. There's also cli
program used to control wifi chipset from the command line there. It
does not seem to be included in the final image, though. The
TNETW1350A is probably similiar to ACX100/111 chips which have GPL'd driver , but it uses VLYNQ bus instead of USB/PCI, so acx100 driver will not work out of the box.
- binary-only ADSL driver ( tiatm kernel module ) is in the code/driver/atm.
- filesystem structure is contained in the code/target.tgz archive. It is unpacked during the build time to code/target directory. Compiled binaries are installed there, and then squashfs filesystem image is built out of it.
- code/target/usr/etc/ contains startup scripts, and other things that usually go in the /etc directory on unix-likes. code/target/usr/etc/rcS is the main startup script for the router.
- nvram command can be used to create and read new environment variables - very useful when you want to save some custom settings.
Downloading modified Linksys images for WAG200G-EU
PLEASE REMEMBER: YOU ARE USING THIS SOFTWARE AT YOUR OWN RISK !!!
Check MD5 checksum of the downloaded images ! Do not turn off or disconnect while flashing upgrade !
If you would like to try my rebuilds of the Linksys image, you can download it here:
0.2 - 0.3.1 are based on 1.00.07(Annex A) official Linksys release.
0.4 rebuild is based on 1.01.01 (Annex A) official Linksys release.
- woytekm build 0.2 (here) (MD5 checksum: 9892852830b26ca136f3875ecb0cea7b )
-utelnetd with empty password root login ( login: root, pass: <enter> )
-modified busybox config, including: top, traceroute, df, ftpput, ftpget, login cmdline utils.
-0.3.1 fixes http authentication problem that was introduced in 0.3
-dropbear sshd
-ssh and telnet services manageable from the WWW interface, with password same as the WWW password.
-kernel patched to work with QEMU AR7 emulation
-some new busybox and standalone utils (awk, vi, passwd, lutz - small nmap like network scanner )
-256KB of writable minix filesystem on /mnt/mtd5 (see the README for details)
- you can include your own startup and firewall script ( after enabling mtd5 filesystem )
- woytekm build 0.4 (here) (MD5 checksum: b388ade147627c0dcfab8bedcde7db8c )
-source upgraded to Linksys 1.01.01
-minor www interface changes
-static DHCP assignment functionality ( after enabling mtd5 filesystem ! See 0.3.1 README )
-listing of current DHCP leases on www
-additional WLAN statistics on www
(MAC addrs for static dhcp should be specified in xx:xx:xx:xx:xx:xx format)
- woytekm build 0.5 (here) (MD5 checksum: 7a2e702f041b2c427c9c7b9cce5ae965), source code (here). (To download source code you have to register on www.openlinksys.info)
-wakelan and arp tools added
-usable crontab - create your crontab in /mnt/mtd5/crontab
-auto reboot every n hours ( reboot_every shell command )
-quick fix for the 916/udp security hole
-hostname shell command will set your prompt to your chosen hostname
-added very basic graphic bandwidth monitor to the webpage (using PlotKit)
-source for this build is being released. To build - follow the readme included in the source archive.
- woytekm build 0.6.2 (another try at fixing static DHCP)
[ANNEX B (here)] (MD5:a1d6784c0391066b3fb986d7e8192d14) Warning: NOT tested on real hardware !
Source code (here). (To download source code you have to register on www.openlinksys.info)
-This is basicaly woytekm-0.5 upgraded to linksys source tree version 1.01.04a
-fixed some bugs
-lite version of tcpdump network packet decoder added (it can only analyze traffic routed via br0)
-published ANNEX B image. Not really tested on hardware (but runs ok in qemu), so - USE AT OWN RISK
- experimental build 0.6.2a is containing pppd 2.4.4+rp-pppoe instead of linksys original 2.4.1-pppoe4. It may fix some problems with pppd not reconnecting after the ppp session was disconnected. You can try this image if you have some ppp related problems. Download 0.6.2a: (here) (MD5:edf0c588091fd479e69cf9bfac04c9bd)
- woytekm build 0.7
[ANNEX A (here)] (MD5:a2ce51c8d09b8f10164f431c445e1995),
[ANNEX B (here)] (MD5:b6dd7ac0ec51e7328f7ae9b4c2e9ef3d)
-source updated to ftp://ftp.linksys.com/opensourcecode/wag200g/1.01.05/WAG200G_1.01.05.tar.gz
-no-ip.org support (thanks to Marcin Baliniak)
-fixed problem with crontab being overwritten by ppp-up script
(there won't be a 0.7a (version with pppd 2.4.4+rp-pppoe), due to ppp fix provided by linksys in 1.01.05.
- woytekm build 0.8
IMPORTANT NOTE: Shortly after releasing 0.8, I was alerted that one router was bricked after reflashing with the new firmware. I've conducted some tests to make sure that everything is in order, (7 times reflashing from different firmwares to 0.8 and back) and all of the tests was successfull. Also, I have confirmations from users that 0.8 firmware was flashed without problems. Regardless ofeverything, I would like to repeat all of the warnings: check MD5 checksums ! Do not flash via internet or wireless connection ! Do not switch off or reboot the router until it will reboot itself automatically (in a reasonable time - 5-10 minutes) ! And finally: if you are afraid of bricking your WAG200, or don't know how to install and use JTAG - DO NOT REFLASH WITH THIS FIRMWARE ! THIS IS EXPERIMENTAL, BETA QUALITY SOFTWARE !
Please use soruceforge.net wag200 project page to download this release.
- updated to Linksys 1.01.06
- added dnsmasq caching dns and dhcp server (optional).
thanks to Erwin Rohde and others for the suggestion.
more info about dnsmasq can be found here: http://www.thekelleys.org.uk/dnsmasq/doc.html
- added wake on LAN and autoreboot control to www interface.
- noip.org works with more than one host name.
- rc.myfirewall should work properly now
- remote management via ssh is working (access control settings of remote web management
are used to control ssh access).
- tcpdump was removed and it's place was taken by etherdump (19KB instead of 360KB).
etherdump is linked to tcpdump command name - use "tcpdump -i ppp0" or "tcpdump -i br0"
to look at packets flowing out of the interfaces (I'm not sure why pcap filter can't
catch incoming packets on wag200).
- you can generate your own sshd rsa key, using dropbearkey shell command.
(Place the key in the /mnt/mtd5/dropbear_rsa_host_key)
- you can change sshd TCP port to value other than 22.
- added netstat-nat utility - it can be used to display network connections routed/nated by wag200.
- added sysinfo.sh - shell script that gathers and displays various debug information about wag200.
- added nslookup busybox shell command.
Known problems
- there are problems with ipsec VPN passthru in wag200-woytekm software. This is being worked on.
- linksys DHCP client table is empty in woytekm 0.8.
Yuse MySetup->DHCP to display list of current DHCP leases.
- default gateway assignment fails when "RFC1483 Bridged" is chosen as encapsulation type on ADSL link.
This is being worked on.