ASUS WL-500gx/WL-550gE/WL-500gp/WL-500W/WL-320gE/WL-320gP/WL-330gE/WL-500gp V2/WL-520gU custom firmware page

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
Link to the discussion forum at
WL-500g/WL-300g/WL-500b/WL-500bv2/WL-HDD units are no longer supported in new firmware builds: use as latest. based firmwares are here, Printing how-to is here, vs diffs are here, Broadcom toolchain diffs are here, LZMA squashfs patches
Download latest (, Read the tips and tricks, recompile everything yourself, download new toolchain

Custom firmware features

Important changes

To reset username/password you've to reset to defaults using a RESET/RESTORE button!
  1. Port numbers used for RAW printing are changed: use 9100 for USB and 9101 for LPT
  2. Root fs is now ext3
  3. All scripts should now have
    line, otherwise they will not work
  4. post & pre scripts are now stored in the /usr/local/sbin directory; there is no /usr/local/init anymore
  5. post-firewall script should be adjusted, be carefull when adding rules with -A - this will no longer work correctly, due to unconditional rule. Check the iptables -L -v output
  6. Client mode is not supported by the WL-500bv2 units

Custom based firmware

This firmware contains feature appeared in the it's now possible to completely customize your boot scripts using the "local" pseudo file system. It's built on top of ramfs and 64k flash space introduced in the custom firmwares. The idea is as follows: once you've made the changes to the ramfs system (/usr/local/ now also mapped to ramfs, you need to launch special command to store modified files permanently in the flash. During the next boot wl500g will extract these files for you. So, you can store whatever you need just like in real non-volatile file system. Consider using /usr/local/etc for files which is normally resides in /etc, /usr/local/sbin for "ASUS style" init scripts and /usr/local/sbin for executables files/scripts (it's now added to the default PATH).


  1. Once kernel is loaded, wl500g starts with /linuxrc boot script which is in fact acts like initrd init. This script checks for boot_dev device specified in the nvram for USB drive with root file system. If ext3 file system is recognized in the specified USB drive and it contains /sbin/init and /mnt directory then linuxrc execs init from this drive (just like linuxrc in initrds does). Otherwise flashed /sbin/init is being execed.
  2. /sbin/init launches is in fact a link to /sbin/rc application which performs all things on startup
  3. /sbin/init in turn performs the following:

Saving your changes

Custom firmware contains script called flashfs (/sbin/flashfs). It's specially designed for manipulating with persistent files. This script should be launched with one of the following arguments:

Post modifications

Ssh and telnet daemons

Since custom firmwares contains telnet daemon enabled by default from the LAN side of your router. Use login/password from the web interface to gain root access.
Also, there is a dropbear ssh daemon (password only auth, ssh v2) which is not enabled by default. Update: since dropbear ssh daemon was recompiled with support for both RSA and DSS keys, and public key autentication. Authorized keys are supposed to be stored in the /usr/local/root/.ssh/authorized_keys (i.e. in the flashfs area). Keys handling was also changed: it's no longer stored in the nvram, but in flashfs space /usr/local/etc/dropbear/. In order to use ssh you will need to perform this steps once:
  1. Connect to router using telnet
  2. Create required dir in the flashfs space using
    mkdir -p /usr/local/etc/dropbear
  3. Generate the DSS key by typing
    dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
  4. Generate the RSA key by typing
    dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
  5. At this point keys are created and you can launch daemon by typing dropbear
    If everything goes well, you need to add dropbear to the startup script and commit changes to the flashfs:
  1. Adding lines to the post-boot:
    # you do not need to enter 3 lines below if you've post-boot already
    mkdir -p /usr/local/sbin/
    echo "#!/bin/sh" >> /usr/local/sbin/post-boot
    chmod +x /usr/local/sbin/post-boot
    echo "dropbear" >> /usr/local/sbin/post-boot
  2. Save to flashfs and enable it
    flashfs save && flashfs commit && flashfs enable

Root file system on the external USB drive

Since custom firmwares support booting with root fs on the external usb storage drive. In order to make you unit from usb drive partition 1 you will need to
  1. Create and format an ext3 partition on the usb drive using
    # play with fdisk if you need to repartition drive
    fdisk /dev/scsi/host0/bus0/target0/lun0/disc
    # "format" partition
    mke2fs -j /dev/scsi/host0/bus0/target0/lun0/part1
  2. Create an initial image for the root fs
    # mount it
    mount -t ext3 /dev/scsi/host0/bus0/target0/lun0/part1 /mnt
    # copy everything
    tar cvO -C / .version bin/ etc/ lib/ sbin/ usr/ www/ var/ | tar x -C /mnt
    # create required dirs
    mkdir -p /mnt/tmp && mkdir -p /mnt/dev && mkdir -p /mnt/proc && mkdir -p /mnt/mnt
    # unmount
    umount /mnt
  3. Set the right boot device using
    nvram set boot_dev="/dev/scsi/host0/bus0/target0/lun0/part1"
  4. Commit the changes using
    nvram commit
After that wl500g on each reboot will try mounting the external device and if this succeeds boot from it, otherwise it will using the flashed root fs. Once you've booted from external storage you can remount your fs read-write using
mount -o remount,rw,noatime /dev/scsi/host0/bus0/target0/lun0/part1 /
(use noatime option to minimize the number of writes), make the changes and remount it read-only using
mount -o remount,ro /dev/scsi/host0/bus0/target0/lun0/part1 /
You can also put remount command to the post-boot script.

To free up unused ram space add this lines to your pre-boot script:

[ -d /mnt/dev ] && umount /mnt/dev && umount /mnt/proc && umount /mnt

Raw printing

Since ASUS supplied printing solution was replaced with p910nd daemon which implements Raw port printning with Socket API protocol (also known as HP JetDirect). In order to use new printing facility from Windows you will need to change the port seetings to use "Raw" protocol instead of "LPR" and specify port number for the port. Since port numbers are changed to be wl-500gx comaptible: use 9100 for printer connected to the USB port or 9101 for LPT connection. Please note, it's now possible to use two printers at the same time. The port settings dialog should look like the following:
Complete Windows 2000 printing how-to is available here.

Update: firmware use both printing methods - LPR (used by ASUS) and RAW, so you can use both protocols. Please note, LPR does not allow you to access second printer, due to fixed queue name used by ASUS - "LPRServer".

Limited samba support

Since Samba 1.9.17p5 is included but, not enabled by default.
Important notice: the samba is totally unsupported, use on your own risk!

Small how-to:

Once you've rebooted your wl500g should appear in workgroup called WORKGROUP and present you a share named "share". This share is read-only view of your usb drive (/tmp/harddisk/). There is also second invisible share called "share$" which is in the fact the read/write view of /tmp/harddisk/. No other access restriction present.

There are log files available for samba - /var/log/nmb and /var/log/smb, they could be examined if something does not work.


Starting with there is a QoS support compiled into the kernel. Wondershaper script is called /sbin/wshaper, and should be started as follows (play with download & upload values to find optimal one, they should be something lesser than your modem/isp speed).
wshaper start   
Preferred place for this is the /usr/local/sbin/post-firewall script. Mine line looks like this:
wshaper start "$1" 1000 220

Other changes made to stock firmware

Tips and tricks

Customizing firewall

The simplest way to customize your firewall is to write the /usr/local/sbin/post-firewall script. This script is executed right after the built-in firewall script finishes executing. For general firewall questions please visit netfilter site. If you've examined the filesystem right after the initial firmware installation you will notice that /usr/local directory is empty. You will need to manually create both /usr/local/sbin directory and then create /usr/local/sbin/post-firewall script. So, the sequence could be as following (lines, starting with # are comments, except the first line which is REQUIRED)
# create directory
mkdir -p /usr/local/sbin
# edit file using vi editor
vi /usr/local/sbin/post-firewall
# make this file executable (very important)
chmod +x /usr/local/sbin/post-firewall
After that you need to "activate" your changes. It's a good idea to test post-firewall before committing changes. So, if your script does not expect any args, just type
Check output for errors. And verify that iptables state is something you've expected by typing
iptables -L -v
iptables -L -v -t nat
Once you've done you can proceed with committing changes like this
# prepare image
flashfs save
# commit it to flash once you've checked, that file size does not exceed 64k
flashfs commit
# if you have not enabled flashfs yet type this as well
flashfs enable
Reboot your router and it should then use your file.

Here is the /usr/local/sbin/post-firewall sample (which I've used in my setup)

# set default policy
iptables -P INPUT DROP
# remove last default rule
iptables -D INPUT -j DROP
# deny ftp access from WAN
iptables -D INPUT -p tcp -m tcp -d "$2" --dport 21 -j ACCEPT
# Allow access to ssh server from WAN
iptables -A INPUT -p tcp --syn --dport 22 -j ACCEPT
# start wshaper
wshaper start "$1" 1000 220

Customizing samba config

That's very simple. If you need to change /etc/smb.conf only, then you just need to add this file to /usr/local/.files using this command (this command should be executed only once)
echo /etc/smb.conf >> /usr/local/.files
To list the files which is already in the list to be saved type this command
cat /usr/local/.files
Once you've finished editing /etc/smb.conf commit your changes using
# prepare image
flashfs save
# commit it to flash once you've checked, that file size does not exceed 64k
flashfs commit
# if you have not enabled flashfs yet type this as well
flashfs enable

Re-enabling flashfs load after the firmware upgrade

Once you've upgraded/downgraded your firmware you could notice, that /usr/local becomes empty on boot. Don't worry, everything is here, but was not loaded to prevent errors. If you feel it's ok to re-enable it, then just type the following
flashfs enable
to re-enable flashfs. After that you need to reboot for changes to take effect.

Recompiling firmware

To recompile firmware you need to download GPL source code available at ASUS site for firmware version ( Althought file extension is zip, it's in fact tar.gz archive, so untar the sources and then install toolchain according to README files. You need to be root to recompile firmware, otherwise files ownership would be incorrect. Also you will need to download custom firmware sources from this page and untar them to the broadcom/src directory of ASUS firmware:
tar -C broadcom/src/ -xjf wl500g-

Preparing the kernel

You will need to prepare kernel sources for this. wl500g- contains 2 patches in the kernel subdirectory: which adds bunch of stuff from custom firmware - squashfs, updated pwc an ov511 modules, fixes for usb printing, QoS updates and something I can't even remember. To patch sources execute this line in the wl500g- directory:
make kernel
This should produce number of strings saying "patching file bla-bla-bla" and no error messages. If you got errors then check your kernel source tree.

Preparing the firmware dir

Original firmware are supposed to be build in the router directory, custom firmware makes parallel directory called gateway (in the src dir). So, prepare it just type make in the wl500g- directory.

Compiling firmware

Jump to the src/gateway and type make. This should start compiling. If everything is went well type make install and it should produce file named mipsel-uclibc/linux.trx which is your new firmware.

Updated uClibc 0.9.19 toolchain

Starting with an updated uClibc toolchain is needed to compile firmware. This new toolchain is based on the original one, but recompiled with IPv6 and RPC support. You still need to install original toolchain (from the GPL tarball) to use this one, as uClibc 0.9.19 depends on the glibc toolchain. To install updated toolchain you will need to grab this binary archive and then type the following:
tar -C / -xjf hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
rm -f /opt/brcm/hndtools-mipsel-uclibc
ln -s hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc 
Toolchain sources are available here. Grab them if you want to build it yourself. You will need to extract sources, apply patches, copy config and build it using "make oldconfig all install CROSS=mipsel-linux-". Your millage could vary, as I'm typing this from the memory.


Download (2004-10-10)

No longer available for download, use

Download (2004-10-18)

  1. Fixed a problem with firewall not working correctly, when logging was active
  2. Fixed a bug in the stock firmware causing time synchronization fail with dyndns service active
  3. Applied a patch to fix problem with Genesys Logic usb chipset
  4. Telstra BigPond changes (thanks to Rod Whitby)
  5. Australian timezones patch (thanks to Rod Whitby)
  6. Added new option "Number of connections to track" to Internet Firewall | Basic Settings
No longer availbale for download.

Download (2004-10-19)

Changes: this is a bug fix release. Dropbear was inoperational in the

Download (2004-11-15)

  1. Preliminarily WL-HDD support, www pages credits are going to Antiloop (ide partitions does not get mounted automatically, except when USB drive is attached; most of the wl500g functionality is included).Thanks to Antiloop for performing various ide related testing (16 test versions evaluated)
  2. Fixed firewall rules with virtual servers enabled
  3. Added 802.11g LRS mode
  4. Updated samba to 1.9.18p10 (latest from the old 1.9 series)
  5. Fixed second NTP server field problem
  6. Changed makefiles, so firmware could be now recompiled with no root privileges, fixed various things to enable faster compiling and reliable packaging
  7. Added nls support for russian codepages 866 and 1251 (use nvram set usb_vfat_options=codepage=866,iocharset=cp1251 for correct filenames handling)
  8. Changed pppoe daemon behaviour - it's should now try reconnect as many times as needed
  9. Updated dnsmasq to 2.17, probably static leases (manual IP assignment) will work better
  10. Updated busybox to 1.00, added 2 new applets: fdisk and wget
  11. Added mke2fs and e2fsck programs from the e2fsprogs package
  12. Optimized stupid-ftpd performance for both upload and download

Download (2004-12-17)

  1. Used GPL sources, WPA2 & WME disabled for now
  2. WL-500gx support
  3. Hopefully, dnsmasq-"starcraft" issue fixed (in fact it looks like race condition)
  4. Syslog is now also running in AP mode
  5. Fixed samba problems
  6. Added new busybox applet: crond
  7. Web interface shows decoded uptime now
  8. Changed PPPoE behaviour to be compatible with stock firmware, added 2 new nvram variables:
  9. Removed PPPoE mru/mtu 1500 warnings
  10. Several new USB HP OfficeJet printers are supported now

Download (2004-12-26)

  1. WPA2 & WME enabled, but WPA is not fully functional
  2. Fixed WL-500gx USB 1.1 devices support
  3. Fixed ASUS firmware firewall problems (PPTP passthrough should work now)
  4. Fixed wshaper problems (was not functional in the
  5. Added WL-500gx rootfs support

Download (2005-01-08)

  1. Fixed problems with radius authentication
  2. Fully functional client mode support, just like had (i.e. WAN and WLAN interfaces roles are exchanged)
  3. Workaround for broken ISP DHCP servers configurations (solves problem with renewing IP addresses)
  4. Added checks to mount code to not mount the same partitions twice (so, you could now manually mount whatever you want in the post-boot script, and these partitions will not be mounted twice by firmware itself)
  5. Updated dropbear to latest 0.44test4, which includes client ssh now
  6. Replaced default ppp/pppoe stuff with ppp-2.4.3 (includes mschap/mschap v2 authentication support, should work with PPTP servers configured for mschap only)
  7. Various pptp/pppoe related fixes, Tx only option is now functional
  8. Added Idle timeout support, broken in the ASUS firmwares. For now, for this to work you need to manually specify DNS server addresses! To make connection permanent either specify idle timeout of 0 or use auto DNS (this way idle is ignored)
  9. Added support for invocation of ppp custom ip-up, ip-down scripts (should be placed to the /usr/local/sbin/
  10. Fixed problems with "PRINTER: bla-bla-bla" printed to the printer attached to the parallel port
  11. Added simple samba configuration from the web (remember to set LAN hostname, otherwise samba will not work!)
No longer available for download.

Download (2005-01-10)

This is a bug fix release.
  1. Fixed problems with FTP home directories
  2. Fixed PPPoE/PPTP connection issues
No longer available for download.

Download (2005-01-13)

This is a bug fix release.
  1. Fixed minor problem with Samba: setting Hostname in the Special Requiremnt from ISP is no longer affects hostname
  2. Fixed PPPoE connection issues - moved to ppp-2.4.2. Added experimental support for MPPE over PPTP connections.
  3. Fixed kbps/kbits thing in the ASUS Bandwidth Management (thanks to yato to figuring this out)
  4. Manual DHCP assignment list is now limited to 32 entries (vs 8 in stock)

Download (2005-01-31)

  1. First publically available firmware with LZMA compresses squashfs. 7zip SDK is used
  2. Fully functional MPPE over PPTP connections, updated pptp-linux to 1.5.0 (thanks to Posader for testing and suggestions)
  3. Tx-Only Idle option for PPTP
  4. Added an ability to specify custom pppd options (nomppe-stateful is usefull with MPPE)
  5. Ntp synch interval is now configurable
  6. Added an ability to view syslog messages in the AP mode, added Syslog/NTP configuration page (use IP addresses, names ae not supported yet)
  7. New busybox applets (halt, mkswap, swaponoff, crontab)
  8. Fixed stupid-ftpd bug, causing incorrect rights specified for newely created files, as well as file is now truncated before upload
  9. Added support for WL-HDD rootfs (thanks to Ulrich for initial patch)
  10. Stupid-ftp should now work with some linux ftp clients (thanks to Ulrich for patch)

Download (2005-03-15)

  1. First publically available firmware with LZMA compressed kernel
  2. Fixed bug in the stupid-ftpd code, which prevented NTFS files to be downloaded
  3. Fixed Telstra Bigpond support (including auto auth server selection)
  4. Updated dropbear to 0.45, fixed several scp related problems
  5. Included nfs server functionality (web integrated)
  6. Several new busybox applets added, including support for mounting nfs shares
  7. Fixed a bug, which is prevented to work client mode then SSID contains spaces
  8. Added support for PPTP configuration when PPTP server is located in the different net: use default gateway field to specify gateway address and "Hearbeat server" field to specify PPTP server address
  9. Removed debug output from the kernel PPTP/GRE modules and lowered loglevel for PPTP client
  10. Added several new iptables targets, including REDIRECT
  11. WL-HDD should now mount ide disk automagically, as well as any other units with extenal rootfs
  12. Added a support for /usr/local/sbin/post-mount script (it's launched once external drives are get mounted, consider moving dependent stuff from post-boot)
  13. Added color support in the rcamd refresh mode (thanks to benlau for patch)
  14. Added basic IPv6 support (tunneled and static IP address mode) (thanks to phedny for patch)
  15. Update uClibc toolchain to enable RPC and IPv6 support
  16. Added support for installable packages (thanks to Rod Whitby for help)
  17. Replaced both trx and addver binaries with modified openwrt trx (thanks to Kitsok for helping)
  18. Basic Microsoft MN-700 support

Download (2005-05-05)

  1. Used wireless module from the beta, should improve stability
  2. Rewrote ethernet driver "WAN port dies workaround" completely. This should fix random reboots caused by firmwares
  3. Fixed ppp never ending loop, caused by pressing Disconnect button
  4. Connect and Disconnect button should work better now in the PPTP/PPPoE mode
  5. Removed never ending ping done by firmware, notifying guys from Taiwan of your router, when you press Connect
  6. Updated PPTP client to 1.6.0
  7. Fixed "Idle 0" as well as probably other settings in the web interface which are allowing 0 to be specified
  8. Add usb serial support to the kernel, included an updated pl2303 version (thanks to Rod Whitby for porting this to the current kernel)
  9. Added chat ppp program
  10. USB services are get started now even if NFS only is enabled (thanks to Rod Whitby for figuring this out)
  11. Finally, WAN Hostname no longer prevents samba from working
  12. WL500g Deluxe now supports MAC cloning
  13. WL500g Deluxe with an updated bootloader now correctly enables WAN port in the AP mode
  14. ASUS test program is no longer installed, so busybox version is now used
  15. should now correctly create /opt/tmp/ipkg
  16. NFS max block size is now 32K (use with care)
  17. Added codepages 860, 861, 865, 866, 869, cp1250, cp1251 (use usb_vfat_options to pass additional mount flags to mount)
  18. Old upnp entries should not have any effect then upnp is disabled
  19. Added new network type - MAN on the static routes page, should be used with PPTP/PPPoE connections to access internal networks
  20. Changed maximum number of routes - 16 vs 6
  21. Fixed a PATH problem in the telnet sessions
  22. RAW printing is now bidirectional (used p910nd 0.7)
  23. Afterburner setting is now accessible on the wl300g/wl500g/wlhdd units (enabled for the supported devices only). You still need to enable it in the hardware by executing wlan_update once in the telnet session/hidden page, this should also fix "range" problem
  24. Added System Command page, which is well known as Hidden Admin Page
  25. Added support for system shutdown - press RESTORE/RESET button until power led turns off completely and release it, your unit should go "down" in several seconds. Use halt from the command line to do the same.
  26. Replaced /usr/local/sbin/ip-ip and ip-down with ip-up-script/ip-down-script ppp options
  27. Added /usr/local/sbin/pre-shutdown script support - called before reboot/halt
  28. Other usefull things
No longer available for download, use

Download (2005-05-12)

  1. Fixed RAW printing bugs, switched to unidirectional transfers by default
  2. Fixed support for the WPA-PSK in the Client Mode, thanks to miraculix for findings
  3. Fixed ftp server bug, which prevented files to be uploaded to subdirectories
  4. CET Timezone update by engy, added Czech Republic
  5. Increased number of entries on the Bandwidth page up to 32, patch from engy
  6. Internals:
  7. Added awk applet, applied mktime patch from engy
  8. Applied timezones uClibc patch prepared by engy
  9. Applied tomilius patches adding several new iptables targets
  10. Updated WL500g Deluxe to use latest ethernet module, removed closed source binaries

Download (2005-06-18)

  1. Timezones fixes, affecting ppp reconnect issues
  2. Fixed pppoe/pptp mss clamping (thanks to Ark+ for reporting)
  3. Added various busybox applets
  4. Fixed UPnP crashes (thanks to tomilius for finding this out)
  5. Yet another WAN port dies fixes
  6. Added snmp support
  7. Updated samba to patched 2.0.10
  8. WL500g Deluxe VLANs completely reworked
  9. Restore to defaults/shutdown are now called using RESTORE/RESET button as follows:
No longer available for download.

Download (2005-06-19)

Fixed WPA not working bug, and changed WAN port dies workaround to safer one.

Download (2005-06-30)

  1. Changed WAN port dies workaround (perhaps this one would be the last)
  2. Samba now properly deals with large (> 2gb) files
  3. Fixed ASUS usb printer model parsing bug

Download (2006-01-06)

  1. Fixed issues with samba writes using large buffers
  2. pppoe ac name and service name are now in effect
  3. Add a workaround for default gateway with non-local address
  4. Updated to busybox-1.1.0-pre1 (new applets, including nice nohup stty ether-wake)
  5. Updated to dropbear-0.47
  6. Added flashfs backup (done by engy)
  7. Fixed firewall internal 80 wan accept (done by engy)
  8. PPPoE connections are now forced to be nomppe nomppc
  9. Proper NAT handling for different netmasks (techno report)
  10. Poweroff is working now
  11. Hidden page enter key fix (engy)
  12. Added System Setup | Services Page
  13. Added support for samba cp1251
  14. Url filter page is removed, as it was not functional
  15. kernel-syn-recv.patch (ported by oleo)
  16. new firewall rules layout (done by unaiur)
  17. WL300g is now working in Home Gateway mode too (reset to defaults is required after upgrading)
  18. Apply button is now does not jump to next page
  19. Added L2TP WAN connection type support (demand dialing/idle timeouts are not supported)
No longer available for download.

Download (2006-01-06)

Fixed a bug in tar, which prevented flashfs save to work.
No longer available for download.

Download (2006-01-07)

Rolled back to busybox-1.01. Added http_lanport patch (credits to Leon Kos), SoundBlaster Audigy 2 NX soundcard support (credits to Daniel Pustka) and enabled irq sharing for the serial ports.

Download (2006-03-08)

  1. All Save/Finish buttons are functional again
  2. Small lease time should not cause problems with dhcp client anymore
  3. PPTP peer address could now be the same as PtP address

Download (2006-06-07)

  1. Wi-Fi module updated to 3.90.37
  2. MTU clamping is fixed once again (should solve lags problems)
  3. USB updates (should improve stability)
  4. PPTP/PPPoE allows now DHCP to be used on the WAN port - just specify as static address
  5. Built-in SSH server should now correctly call sftp installed using ipkg
  6. Webcam drivers update: ov51x-1.65-1.12, pwc 9.0.2 (incl. compression and 640x480)
  7. Kernel support for IPSec NAT-T
  8. WL550gE is supported now
No longer available for download.

Download (2006-06-11)

PPPoE with empty WAN IP address issue fixed.

Download (2006-11-06)

  1. Switched to Busybox 1.1.3
  2. VT6212 USB 2.0 patch (10-15% speedup)
  3. USB sticks without MBR should be also now mounted
  4. Storage devices are using async options by default
  5. WL500g Premium support (MirrorBit Flash support, nvram validation, 32mb enabled) !!! The firmware is totally different from the stock one: no DM, different FTP server and Samba! Do not flash if in doubt - you would miss some features !!!
  6. Additional pppd options field is now 255 chars long
  7. PPP now defaults to unlimited number of connection attempts
  8. PPTP connections now use MTU 1400 by default
  9. DHCP+PPTP ( gateway support in the MAN routes, DNS and default gateway options now could be acquired from DHCP too, symbolic PPTP name support, PPTP client now adds route to the server)
  10. Fixed MAN->LAN firewall issue (be sure to enable WAN to LAN filter and set default action to DROP!)
  11. Fixed some firewall defaults (WAN->LAN is now enabled and DROPs)
  12. "Apply to routing table" option is now in effect
  13. Default gateway is no longer appears in the nameserver list in the AP mode
  14. WL550gE radio on/off feature should work better now (added missing nvram variables)
  15. SIGALRM is no longer blocked in the post-mount
  16. Minor bugs...

Download (2007-04-06)

  1. New Busybox applets (env, cmp, wc, md5sum sha-1)
  2. IGMP proxy added (multicast routing [IPTV]) (IP Config | Route > Enable multicast routing?)
  3. Added an option to specify 802.11 multicast rate (Wireless | Advanced > Multicast rate)
  4. New kernel features (incl. advanced router, new iptables targets)
  5. Fixed compile problems with newer Linux ditributions
  6. Web interface should no longer show Cable Disconnected status
  7. There is now an option to enable/disable DoS protection (Internet Firewall | Basic Config > Enable DoS protection?)
  8. Built-in ftp server should now work fine in PASV mode
  9. Updated Dropbear to 0.49
  10. Updated WiFi to
  11. Added support for the 128MB of onboard RAM
  12. hiddev support
  13. FPU emulator fixes
  14. WL-HDD IDE fixes - SMART should work now
  15. Onboard flash type diagnostic messages
  16. Fixed flashfs to respect comment signs
  17. flash command now has progress indicator
  18. Station/Ethernet Bridge mode should now associate faster to AP after reboot
  19. WL500g Deluxe/Premium/WL550gE now rescpect WAN port settings from the web
  20. WL500g Premium/WL550gE now better handles OFDM transmitter power setting
  21. Added support for /etc/fstab before automount
  22. Fixed problems then upgradinf via WiFi using WPA/WPA-PSK
  23. Disabled "power off" for all units except WL-HDD
  24. Pressing EZ SETUP button for 3 seconds would cause /usr/local/sbin/ez-setup to be executed

Download (2007-10-30)

  1. Patched to WL-500W firmware base code (New drivers for wl and et:
  2. Added support for WL500W
  3. Added support for WL320gE/gP, additional lights are not supported (use WL550gE firmware)
  4. Added a handling for DHCP supplied routes (Use Route page to enable/disable)
  5. Multicast/IPTV: no longer need routes to be specified, cleaned up igmp logs
  6. It's now possible to specify DNS server IP address in the AP mode (added to IP Config page)
  7. Added new flashfs option: try 'flashfs enabled' to enable flashfs loading forever
  8. Added new repository: use ' install ipkg-opt' during initial ipkg installation
  9. Fixed PPPoE clamping code (set Maximum Segment Size to actual MTU)
  10. L2TP: server name resolution, persist/reconnect fixes
  11. NFS: added statd for proper locking
  12. SMB: Server string, new r/w share mode
  13. /etc/fstab: swapon and post-mount called now properly
  14. USB storage detection should work correctly for Philips mass storage devices
  15. /proc/cpuinfo now reports CPU model, revision and packaging options
  16. Changed connection tracking TCP timeout to 6 hours vs. 5 days
  17. Some WL-HDD IDE fixes
  18. Yet more fixes for built-in flash support (WL-500gP, WL-500W)
  19. Some minor kernel fixes

Download (2008-03-14)

  1. Added RTC support for the WL-HDD/WL-700g boards
  2. Fixed a bug causing lockups during reboot
  3. SNMP: uptime values no longer depends on the system time
  4. UPnP: it's now possible to select interface for which interface address reported back to clients (IP Config - Misc), port-forwards are working just like other virtual servers
  5. UPnP: additionally protected by built-in firewall in case when multicast forwards enabled
  6. IPTV: added udpxy (check IP Config - Miscellaneous: IPTV UDP Multicast to HTTP Proxy Port) to enable-disable it
  7. Added Get IP automatically option to the WAN & LAN page
  8. DHCP: added support for some broken DHCP servers (e.g. Golden Telecom)
  9. Manual DNS server entries are no longer added to routing table
  10. Fixed Redirects in the web-iface (it should no longer redirect to internal address);
  11. Enabled Idle Disconnect functionality for PPPoE/PPTP. It's recomended to turn this feature off by typing zero in this field.
  12. L2TP speed increase (up to 2.5 times compared to previous versions) and correct tunnel termination
  13. PPTP sync option is now correctly handled and enabled by default, improved overall stability, cleared up logs;
  14. Updated QuickSetup to recent PPPoE, PPTP and L2TP changes
  15. Added fine grained WPA control on the Wireless page: added separate WPA Enterprise, WPA2 Enterprise, WPA Personal, WPA2 Personal and WPA-Auto-Personal (which is wpa-psk + wpa2-psk for TKIP+AES, wpa-psk for TKIP and wpa2-psk for AES).
  16. Added Regulatory Mode field (802.11d/802.11h/off) to the Wireless - Advanced page. This should fix some problems with Intel WiFi cards (select 802.11d mode).
  17. Virtual Servers has now separate default action in the WAN to LAN firewall.
  18. Added Host Name field to the Manual DHCP MAC list.
  19. Added Comment field to Wireless - Access list.
  20. FTP: switched to vsftpd, reworked web-iface.
  21. Samba: extended web-iface, new share modes - all partitions, manual share list.
  22. Samba: Windows Vista support, W2K3SP1 compatibility
  23. Added utf8 as default encoding of the hard/flash drive (enabled by default).
  24. NFS: fixed some /etc/exports problems
  25. Kernel modules are now stored in single directory
  26. Added ftdi_sio usb to serial converter module
  27. Some other modules are now available as separate download (modules-, includes HID, input, Bluetooth. Unpack them to /opt
  28. Added modprobe, which is looking for /opt/lib/modules/... by default.
  29. USB updates
  30. VLAN support fixes, updated robocfg
  31. dropbear 0.50 (credits to lly), enabled inetd support
  32. busybox_httpd fixes: new cgi environment vars (HTTP_HOST, CGI_*)
  33. Changed a way how automount works: everything is mounted to /tmp/mnt now, while /tmp/harddisk is just a symbolic link to first partition
  34. Samba/FTP/NFS relative paths are against /tmp/harddisk
  35. Added /usr/local/sbin/pre-mount to be called before automount (suitable to manual mounts, disk checks, etc).
  36. Added Enable USB Storage selection to the System Setup - Services page to enable usb storage modules to load automatically
  37. Added filesystem type autodetection to automount portition

Windows XP users: check this MS KB 893357 article if you've delays/problems with WiFi connection.

Download (2008-03-30)

IMPORTANT: This firmware no longer supports original WL-500g/b/bv2/WL-300g/WL-HDD units: hardware vendor no longer support BCM4702 CPU. Use instead. Changes:
  1. Updated WiFi module to latest ( (from the WL-500W firmware)
  2. Added support for WL-500g Premium V2, WL-520gU, WL-330gE units and added separate firmware builds for WL-320gE/320gP
  3. Updated udpxy to support udpxrec
  4. Fixed station/ethernet bridge mode for WL-3*
  5. e2fsck no longer takes in account last check time (when invoked with -p)