This is a set of tools to unpack and repack firmware files for the Asus WL-500g
wireless router. The tools should run on any Linux system. The license for the
programs is at the end of this file.
See the scripts, source, and make file for setup and usage instructions. You
will need to download the Linksys source. For example, get wrt54gv2.2.02.2.tgz
from
http://www.linksys.com/support/gpl.asp.
The procedure is as follows:
wlextract old-firmware-file.trx
uncram
[Modify the root file system in the ./build directory.]
mktrx
Afterward, you can use the WL-500g's web interface to upload the new firmware
file ("firmware.trx")
The trx file consists of 2 segments: the kernel and cramfs image with appended
Asus trailer.
The uncram program uses the sudo command to allow non-root users to mount the
cramfs file system.
The root file system directory ("build") will be owned by root. Modified and
additional files should be owned by root and be in the root group.
After loading modified firmware with router's upgrade web page (wait for
transfer to complete), connections may not be allowed. Power off and on the
router to recover.
If you load bad firmware (power LED blinking, unable to connect) power off,
hold down reset button, and turn power back on. Then use the Asus
"Firmware Restoration" tool to reload good firmware.
Thanks to Oleg at the
www.chupa.nl forums for discovering the structure of the
firmware files and documenting them on the forums. Thanks too to the Antiloop
at
www.chupa.nl for providing the forums for exchange of WL-500g technical
info.