ASUS WL-500gx/WL-550gE/WL-500gp/WL-500W/WL-320gE/WL-320gP/WL-330gE/WL-500gp V2/WL-520gU custom firmware page
WARNING: DON'T TRY CUSTOM FIRMWARES UNLESS YOU KNOW WHAT YOU ARE DOING,
YOU COULD DESTROY YOUR UNIT BY DOING THIS! I'M NOT RESPONSIBLE TO ANY DAMAGE CAUSED
TO YOUR UNIT BY USING IT! USE ON YOUR OWN RISK!
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 wl500g.info
WL-500g/WL-300g/WL-500b/WL-500bv2/WL-HDD units are no longer supported in new firmware builds: use 1.9.2.7-9 as latest.
1.7.5.9 based firmwares are here, Printing how-to is
here, 1.8.1.9 vs 1.8.1.7 diffs are here,
Broadcom toolchain diffs are here, LZMA squashfs patches
Download latest (1.9.2.7-10), 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!
- Port numbers used for RAW printing are changed: use 9100 for USB and 9101 for LPT
- Root fs is now ext3
- All scripts should now have
#!/bin/sh
line, otherwise they will not work
- post & pre scripts are now stored in the /usr/local/sbin directory; there is no
/usr/local/init anymore
- 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
- Client mode is not supported by the WL-500bv2 units
Custom 1.8.1.7 based firmware
This firmware contains feature appeared in the 1.7.5.9-1: 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 1.7.5.6 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).
Booting
- 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.
- /sbin/init launches is in fact a link to /sbin/rc application which performs all
things on startup
- /sbin/init in turn performs the following:
- mounts procfs and ramfs and copies /usr/etc/ to the /etc directory created ramfs
- it then creates number of required files in the /etc directory
- calls &qout;flashfs start&qout; which compares boot_local nvram variable content with
current version number (now stored in the file named .version) and if they matches,
then extracts "local" pseudo file system from flash. This measure was taken to prevent
data prepared for one firmware to run after the firmware upgrade. You need to explicitly
enable boot_local in this case (see below).
- If /usr/local/sbin/pre-boot exists and is executable, then this file is
launched
- Once startup is finished /usr/local/sbin/post-boot script is executed,
if it's executable
WARNING: Incorrect files could prevent your wl500g from booting. Double check
your changes before committing. If you wl500g failed to boot flash it with other firmware
version and execute these commands:
nvram set boot_local
nvram commit
After that you can reflash your wl500g back to the latest firmware and boot normal
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 1.7.5.6 modifications
- /usr/local/sbin/post-firewall is now executed at the end of the default firewall script.
If you need any customizations place them here (this scripts also receives all the args passed
to the original firewall script, i.e. $1/$2 are WAN_IF/WAN_IP, $3/$4 are LAN_IF/LAN_IP, $5/$6 are
$DMZ_IF/$DMZ_IP
- /usr/local/etc/hosts is now copied by rc.dnsmasq script to the bottom of the /etc/hosts file (obsoletes nvram
etc_hosts)
- /usr/local/etc/ethers is now copied by rc.dnsmasq script to the bottom of the /etc/ethers file
Ssh and telnet daemons
Since 1.6.5.3-? 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 1.7.5.9-4 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:
- Connect to router using telnet
- Create required dir in the flashfs space using
mkdir -p /usr/local/etc/dropbear
- Generate the DSS key by typing
dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
- Generate the RSA key by typing
dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
- 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:
- 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
- Save to flashfs and enable it
flashfs save && flashfs commit && flashfs enable
Root file system on the external USB drive
Since 1.7.5.6-1 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
- 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
- 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
- Set the right boot device using
nvram set boot_dev="/dev/scsi/host0/bus0/target0/lun0/part1"
- 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:
#!/bin/sh
[ -d /mnt/dev ] && umount /mnt/dev && umount /mnt/proc && umount /mnt
Raw printing
Since 1.7.5.6-2 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 1.8.1.7-1 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: 1.7.5.9-3 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 1.7.5.6-5 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 1.7.5.9-4 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 1.7.5.9 firmware
- Support for specifying the static address for the external interface in PPPoE mode.
Useful for management of the external ethernet modem.
- Replaced dproxy & udhcpd with dnsmasq to support both static leases and
dhcp/dns integration (so you can resolve host names based on their dhcp
names)
- Updated pwc (Philips webcams) kernel module to 8.12 version
- Update ov511 kernel module to 1.65 version, support for ov518 cameras (compression)
- Fixed errors in the ASUS modified printer.o to resolve problems with kernel oopses
when printer is connected to the wl500g (thanks to ebakke for testing)
- Added an ability to change Administator's name
- Enabled log rotation, so your logs should not be bigger than 200K.
- Flashed rootfs is now squash fs (the resultant image is now smaller than official firmwares)
- Added access to 64k "config" partition in the flash (/dev/mtblock/4, /dev/mtd/4)
for storing anything you need (use flash/erase for write/erase)
- Added ether-wake utility for wake-on-lan functinality
- New timezone (Azores Islands)
- uClibc is now included fully, so there is no need to link external apps statically
- Added LAN Hostname field
- Simple hostnames are now resolved properly when LAN domain specified
- Fixed Telstra BigPond support(credits to rwhitby)
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)
#!/bin/sh
# 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
/usr/local/sbin/post-firewall
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)
#!/bin/sh
# 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.
To recompile firmware you need to download GPL source code available at
ASUS site for firmware version 1.8.1.7 (GPL_1817.zip). 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-1.8.1.7-1.tar.bz2
Preparing the kernel
You will need to prepare kernel sources for this. wl500g-1.8.1.7-1 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-1.8.1.7-1 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-1.8.1.7-1 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.
Starting with 1.9.2.7-4 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.
Downloads
Download 1.8.1.7-1 (2004-10-10)
No longer available for download, use 1.8.1.7-2a
Download 1.8.1.7-2 (2004-10-18)
Changes:
- Fixed a problem with firewall not working correctly, when logging was active
- Fixed a bug in the stock firmware causing time synchronization fail with dyndns service active
- Applied a patch to fix problem with Genesys Logic usb chipset
- Telstra BigPond changes (thanks to Rod Whitby)
- Australian timezones patch (thanks to Rod Whitby)
- Added new option "Number of connections to track" to Internet Firewall | Basic Settings
No longer availbale for download.
Download 1.8.1.7-2a (2004-10-19)
Changes: this is a bug fix release. Dropbear was inoperational in the 1.8.1.7-2.
Download 1.8.1.7-3 (2004-11-15)
Changes:
- 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)
- Fixed firewall rules with virtual servers enabled
- Added 802.11g LRS mode
- Updated samba to 1.9.18p10 (latest from the old 1.9 series)
- Fixed 1.8.1.7-2a second NTP server field problem
- Changed makefiles, so firmware could be now recompiled with no root privileges, fixed various things
to enable faster compiling and reliable packaging
- Added nls support for russian codepages 866 and 1251
(use nvram set usb_vfat_options=codepage=866,iocharset=cp1251 for correct filenames handling)
- Changed pppoe daemon behaviour - it's should now try reconnect as many times as needed
- Updated dnsmasq to 2.17, probably static leases (manual IP assignment) will work better
- Updated busybox to 1.00, added 2 new applets: fdisk and wget
- Added mke2fs and e2fsck programs from the e2fsprogs package
- Optimized stupid-ftpd performance for both upload and download
- 1.8.1.7-3 firmwares (browse directory to find out yours)
- 1.8.1.7-3 sources (7320957 bytes)
Download 1.9.2.7-1 (2004-12-17)
Changes:
- Used GPL 1.9.2.7 sources, WPA2 & WME disabled for now
- WL-500gx support
- Hopefully, dnsmasq-"starcraft" issue fixed (in fact it looks like race condition)
- Syslog is now also running in AP mode
- Fixed 1.8.1.7-3 samba problems
- Added new busybox applet: crond
- Web interface shows decoded uptime now
- Changed PPPoE behaviour to be compatible with stock firmware, added 2 new nvram variables:
- wan0_pppoe_maxfail - terminate after wan0_pppoe_maxfail consecutive failed
connection attempts. A value of 0 means no limit. The default value is 10.
- wan0_pppoe_holdoff - specifies how many seconds to wait before re-initiating the
link after it terminates.
- Removed PPPoE mru/mtu 1500 warnings
- Several new USB HP OfficeJet printers are supported now
- 1.9.2.7-1 firmwares (browse directory to find out yours)
- 1.9.2.7-1 sources (7458046 bytes)
Download 1.9.2.7-2 (2004-12-26)
Changes:
- WPA2 & WME enabled, but WPA is not fully functional
- Fixed WL-500gx USB 1.1 devices support
- Fixed ASUS firmware firewall problems (PPTP passthrough should work now)
- Fixed wshaper problems (was not functional in the 1.9.2.7-1)
- Added WL-500gx rootfs support
- 1.9.2.7-2 firmwares (browse directory to find out yours)
- 1.9.2.7-2 sources (7459300 bytes)
Download 1.9.2.7-3 (2005-01-08)
Changes:
- Fixed problems with 1.9.2.7 radius authentication
- Fully functional client mode support, just like 1.7.5.9-5 had (i.e. WAN and WLAN interfaces roles are exchanged)
- Workaround for broken ISP DHCP servers configurations (solves problem with renewing IP addresses)
- 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)
- Updated dropbear to latest 0.44test4, which includes client ssh now
- 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)
- Various pptp/pppoe related fixes, Tx only option is now functional
- 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)
- Added support for invocation of ppp custom ip-up, ip-down scripts (should be placed
to the /usr/local/sbin/
- Fixed problems with "PRINTER: bla-bla-bla" printed to the printer attached
to the parallel port
- Added simple samba configuration from the web (remember to set LAN hostname, otherwise samba will not work!)
No longer available for download.
Download 1.9.2.7-3a (2005-01-10)
This is a bug fix release.
- Fixed problems with FTP home directories
- Fixed PPPoE/PPTP connection issues
No longer available for download.
Download 1.9.2.7-3b (2005-01-13)
This is a bug fix release.
- Fixed minor problem with Samba: setting Hostname in the Special Requiremnt from ISP is no longer affects hostname
- Fixed PPPoE connection issues - moved to ppp-2.4.2. Added experimental support for MPPE over PPTP connections.
- Fixed kbps/kbits thing in the ASUS Bandwidth Management (thanks to yato to figuring this out)
- Manual DHCP assignment list is now limited to 32 entries (vs 8 in stock)
- 1.9.2.7-3b firmwares (browse directory to find out yours)
- 1.9.2.7-3b sources (8347221 bytes)
Download 1.9.2.7-3c (2005-01-31)
Changes:
- First publically available firmware with LZMA compresses squashfs. 7zip SDK is used
- Fully functional MPPE over PPTP connections, updated pptp-linux to 1.5.0 (thanks to Posader for testing and suggestions)
- Tx-Only Idle option for PPTP
- Added an ability to specify custom pppd options (nomppe-stateful is usefull with MPPE)
- Ntp synch interval is now configurable
- Added an ability to view syslog messages in the AP mode, added Syslog/NTP configuration page (use IP addresses,
names ae not supported yet)
- New busybox applets (halt, mkswap, swaponoff, crontab)
- Fixed stupid-ftpd bug, causing incorrect rights specified for newely created files, as well as
file is now truncated before upload
- Added support for WL-HDD rootfs (thanks to Ulrich for initial patch)
- Stupid-ftp should now work with some linux ftp clients (thanks to Ulrich for patch)
- 1.9.2.7-3c firmwares (browse directory to find out yours)
- 1.9.2.7-3c sources (8759953 bytes)
Download 1.9.2.7-4 (2005-03-15)
Changes:
- First publically available firmware with LZMA compressed kernel
- Fixed bug in the stupid-ftpd code, which prevented NTFS files to be downloaded
- Fixed Telstra Bigpond support (including auto auth server selection)
- Updated dropbear to 0.45, fixed several scp related problems
- Included nfs server functionality (web integrated)
- Several new busybox applets added, including support for mounting nfs shares
- Fixed a bug, which is prevented to work client mode then SSID contains spaces
- 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
- Removed debug output from the kernel PPTP/GRE modules and lowered loglevel for PPTP client
- Added several new iptables targets, including REDIRECT
- WL-HDD should now mount ide disk automagically, as well as any other units with extenal rootfs
- 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)
- Added color support in the rcamd refresh mode (thanks to benlau for patch)
- Added basic IPv6 support (tunneled and static IP address mode) (thanks to phedny for patch)
- Update uClibc toolchain to enable RPC and IPv6 support
- Added support for installable packages (thanks to Rod Whitby for help)
- Replaced both trx and addver binaries with modified openwrt trx (thanks to Kitsok for helping)
- Basic Microsoft MN-700 support
Download 1.9.2.7-5 (2005-05-05)
Changes:
- Used wireless module from the 1.9.3.6 beta, should improve stability
- Rewrote ethernet driver "WAN port dies workaround" completely. This
should fix random reboots caused by 1.9.2.7 firmwares
- Fixed ppp never ending loop, caused by pressing Disconnect button
- Connect and Disconnect button should work better now in the PPTP/PPPoE mode
- Removed never ending ping done by firmware, notifying guys from Taiwan of your
router, when you press Connect
- Updated PPTP client to 1.6.0
- Fixed "Idle 0" as well as probably other settings
in the web interface which are allowing 0 to be specified
- Add usb serial support to the kernel, included an updated pl2303 version (thanks to
Rod Whitby for porting this to the current kernel)
- Added chat ppp program
- USB services are get started now even if NFS only is enabled (thanks to Rod Whitby for figuring this out)
- Finally, WAN Hostname no longer prevents samba from working
- WL500g Deluxe now supports MAC cloning
- WL500g Deluxe with an updated bootloader now correctly enables WAN port in the AP mode
- ASUS test program is no longer installed, so busybox version is now used
- ipkg.sh should now correctly create /opt/tmp/ipkg
- NFS max block size is now 32K (use with care)
- Added codepages 860, 861, 865, 866, 869, cp1250, cp1251 (use usb_vfat_options
to pass additional mount flags to mount)
- Old upnp entries should not have any effect then upnp is disabled
- Added new network type - MAN on the static routes page, should be used with PPTP/PPPoE
connections to access internal networks
- Changed maximum number of routes - 16 vs 6
- Fixed a PATH problem in the telnet sessions
- RAW printing is now bidirectional (used p910nd 0.7)
- 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
- Added System Command page, which is well known as Hidden Admin Page
- 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.
- Replaced /usr/local/sbin/ip-ip and ip-down with ip-up-script/ip-down-script ppp options
- Added /usr/local/sbin/pre-shutdown script support - called before reboot/halt
- Other usefull things
No longer available for download, use 1.9.2.7-5a.
Download 1.9.2.7-5a (2005-05-12)
Changes:
- Fixed RAW printing bugs, switched to unidirectional transfers by default
- Fixed support for the WPA-PSK in the Client Mode, thanks to miraculix for findings
- Fixed ftp server bug, which prevented files to be uploaded to subdirectories
- CET Timezone update by engy, added Czech Republic
- Increased number of entries on the Bandwidth page up to 32, patch from engy
Internals:
- Added awk applet, applied mktime patch from engy
- Applied timezones uClibc patch prepared by engy
- Applied tomilius patches adding several new iptables targets
- Updated WL500g Deluxe to use latest ethernet module, removed closed source binaries
- 1.9.2.7-5a firmwares (browse directory to find out yours)
- 1.9.2.7-5a sources (11255050 bytes)
- toolchain is now should be build by typing make uClibc before any other tasks
Download 1.9.2.7-6 (2005-06-18)
Changes:
- Timezones fixes, affecting ppp reconnect issues
- Fixed pppoe/pptp mss clamping (thanks to Ark+ for reporting)
- Added various busybox applets
- Fixed UPnP crashes (thanks to tomilius for finding this out)
- Yet another WAN port dies fixes
- Added snmp support
- Updated samba to patched 2.0.10
- WL500g Deluxe VLANs completely reworked
- Restore to defaults/shutdown are now called using RESTORE/RESET button as follows:
- first 3 seconds - power LED on: release button to do nothing
- next 5 seconds - power LED off: release button to "shutdown"
- next 5 seconds - power LED blinking: release button to reset to defaults
- start over
No longer available for download.
Download 1.9.2.7-6a (2005-06-19)
Fixed WPA not working bug, and changed WAN port dies workaround to safer one.
- 1.9.2.7-6a firmwares (browse directory to find out yours)
- 1.9.2.7-6a sources (14212533 bytes)
- toolchain is now should be build by typing make uClibc before any other tasks
Download 1.9.2.7-6b (2005-06-30)
Changes:
- Changed WAN port dies workaround (perhaps this one would be the last)
- Samba now properly deals with large (> 2gb) files
- Fixed ASUS usb printer model parsing bug
- 1.9.2.7-6b firmwares (browse directory to find out yours)
- 1.9.2.7-6b sources (14215020 bytes)
- toolchain is now should be build by typing make uClibc before any other tasks
Download 1.9.2.7-7 (2006-01-06)
Changes:
- Fixed issues with samba writes using large buffers
- pppoe ac name and service name are now in effect
- Add a workaround for default gateway with non-local address
- Updated to busybox-1.1.0-pre1 (new applets, including nice nohup stty ether-wake)
- Updated to dropbear-0.47
- Added flashfs backup (done by engy)
- Fixed firewall internal 80 wan accept (done by engy)
- PPPoE connections are now forced to be nomppe nomppc
- Proper NAT handling for different netmasks (techno report)
- Poweroff is working now
- Hidden page enter key fix (engy)
- Added System Setup | Services Page
- Added support for samba cp1251
- Url filter page is removed, as it was not functional
- kernel-syn-recv.patch (ported by oleo)
- new firewall rules layout (done by unaiur)
- WL300g is now working in Home Gateway mode too (reset to defaults is required after upgrading)
- Apply button is now does not jump to next page
- Added L2TP WAN connection type support (demand dialing/idle timeouts are not supported)
No longer available for download.
Download 1.9.2.7-7a (2006-01-06)
Fixed a bug in tar, which prevented flashfs save to work.
No longer available for download.
Download 1.9.2.7-7b (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.
- 1.9.2.7-7b firmwares (browse directory to find out yours)
- 1.9.2.7-7b sources (14401182 bytes)
- toolchain is now should be build by typing make uClibc before any other tasks
Download 1.9.2.7-7c (2006-03-08)
Changes:
- All Save/Finish buttons are functional again
- Small lease time should not cause problems with dhcp client anymore
- PPTP peer address could now be the same as PtP address
- 1.9.2.7-7c firmwares (browse directory to find out yours)
- 1.9.2.7-7c sources (14402435 bytes)
- toolchain is now should be build by typing make uClibc before any other tasks
Download 1.9.2.7-7d (2006-06-07)
Changes:
- Wi-Fi module updated to 3.90.37
- MTU clamping is fixed once again (should solve lags problems)
- USB updates (should improve stability)
- PPTP/PPPoE allows now DHCP to be used on the WAN port - just specify 0.0.0.0 as static address
- Built-in SSH server should now correctly call sftp installed using ipkg
- Webcam drivers update: ov51x-1.65-1.12, pwc 9.0.2 (incl. compression and 640x480)
- Kernel support for IPSec NAT-T
- WL550gE is supported now
No longer available for download.
Download 1.9.2.7-7e (2006-06-11)
PPPoE with empty WAN IP address issue fixed.
- 1.9.2.7-7e firmwares (browse directory to find out yours)
- 1.9.2.7-7e sources (16200754 bytes)
- toolchain is now should be build by typing make uClibc before any other tasks
Download 1.9.2.7-7f (2006-11-06)
Changes:
- Switched to Busybox 1.1.3
- VT6212 USB 2.0 patch (10-15% speedup)
- USB sticks without MBR should be also now mounted
- Storage devices are using async options by default
-
- 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 !!!
- Additional pppd options field is now 255 chars long
- PPP now defaults to unlimited number of connection attempts
- PPTP connections now use MTU 1400 by default
- DHCP+PPTP (0.0.0.0 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)
- Fixed MAN->LAN firewall issue (be sure to enable WAN to LAN filter and set default action to DROP!)
- Fixed some firewall defaults (WAN->LAN is now enabled and DROPs)
- "Apply to routing table" option is now in effect
- Default gateway is no longer appears in the nameserver list in the AP mode
- WL550gE radio on/off feature should work better now (added missing nvram variables)
- SIGALRM is no longer blocked in the post-mount
- Minor bugs...
- 1.9.2.7-7f firmwares (browse directory to find out yours)
- 1.9.2.7-7f sources (11814593 bytes)
Download 1.9.2.7-7g (2007-04-06)
Changes:
- New Busybox applets (env, cmp, wc, md5sum sha-1)
- IGMP proxy added (multicast routing [IPTV]) (IP Config | Route > Enable multicast routing?)
- Added an option to specify 802.11 multicast rate (Wireless | Advanced > Multicast rate)
- New kernel features (incl. advanced router, new iptables targets)
- Fixed compile problems with newer Linux ditributions
- Web interface should no longer show Cable Disconnected status
- There is now an option to enable/disable DoS protection (Internet Firewall | Basic Config > Enable DoS protection?)
- Built-in ftp server should now work fine in PASV mode
- Updated Dropbear to 0.49
- Updated WiFi to 3.90.38.00
- Added support for the 128MB of onboard RAM
- hiddev support
- FPU emulator fixes
- WL-HDD IDE fixes - SMART should work now
- Onboard flash type diagnostic messages
- Fixed flashfs to respect comment signs
- flash command now has progress indicator
- Station/Ethernet Bridge mode should now associate faster to AP after reboot
- WL500g Deluxe/Premium/WL550gE now rescpect WAN port settings from the web
- WL500g Premium/WL550gE now better handles OFDM transmitter power setting
- Added support for /etc/fstab before automount
- Fixed problems then upgradinf via WiFi using WPA/WPA-PSK
- Disabled "power off" for all units except WL-HDD
- Pressing EZ SETUP button for 3 seconds would cause /usr/local/sbin/ez-setup to be executed
- 1.9.2.7-7g firmwares (browse directory to find out yours)
- 1.9.2.7-7g sources (12009495 bytes)
Changes:
- Patched to WL-500W 1.9.8.5 firmware base code (New drivers for wl and et: 4.108.9.0)
- Added support for WL500W
- Added support for WL320gE/gP, additional lights are not supported (use WL550gE firmware)
- Added a handling for DHCP supplied routes (Use Route page to enable/disable)
- Multicast/IPTV: no longer need routes to be specified, cleaned up igmp logs
- It's now possible to specify DNS server IP address in the AP mode (added to IP Config page)
- Added new flashfs option: try 'flashfs enabled' to enable flashfs loading forever
- Added new http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable repository: use 'ipkg.sh install ipkg-opt' during initial ipkg installation
- Fixed PPPoE clamping code (set Maximum Segment Size to actual MTU)
- L2TP: server name resolution, persist/reconnect fixes
- NFS: added statd for proper locking
- SMB: Server string, new r/w share mode
- /etc/fstab: swapon and post-mount called now properly
- USB storage detection should work correctly for Philips mass storage devices
- /proc/cpuinfo now reports CPU model, revision and packaging options
- Changed connection tracking TCP timeout to 6 hours vs. 5 days
- Some WL-HDD IDE fixes
- Yet more fixes for built-in flash support (WL-500gP, WL-500W)
- Some minor kernel fixes
- 1.9.2.7-8 firmwares (browse directory to find out yours)
- 1.9.2.7-8 sources (12657397 bytes)
Download 1.9.2.7-9 (2008-03-14)
Changes:
- Added RTC support for the WL-HDD/WL-700g boards
- Fixed a bug causing lockups during reboot
- SNMP: uptime values no longer depends on the system time
- 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
- UPnP: additionally protected by built-in firewall in case when multicast forwards enabled
- IPTV: added udpxy (check IP Config - Miscellaneous: IPTV UDP Multicast to HTTP Proxy Port) to enable-disable it
- Added Get IP automatically option to the WAN & LAN page
- DHCP: added support for some broken DHCP servers (e.g. Golden Telecom)
- Manual DNS server entries are no longer added to routing table
- Fixed Redirects in the web-iface (it should no longer redirect to internal address);
- Enabled Idle Disconnect functionality for PPPoE/PPTP. It's recomended to turn this feature off by typing zero in this field.
- L2TP speed increase (up to 2.5 times compared to previous versions) and correct tunnel termination
- PPTP sync option is now correctly handled and enabled by default, improved overall stability, cleared up logs;
- Updated QuickSetup to recent PPPoE, PPTP and L2TP changes
- 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).
- 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).
- Virtual Servers has now separate default action in the WAN to LAN firewall.
- Added Host Name field to the Manual DHCP MAC list.
- Added Comment field to Wireless - Access list.
- FTP: switched to vsftpd, reworked web-iface.
- Samba: extended web-iface, new share modes - all partitions, manual share list.
- Samba: Windows Vista support, W2K3SP1 compatibility
- Added utf8 as default encoding of the hard/flash drive (enabled by default).
- NFS: fixed some /etc/exports problems
- Kernel modules are now stored in single directory
- Added ftdi_sio usb to serial converter module
- Some other modules are now available as separate download (modules-1.9.2.7-9.tgz), includes HID, input, Bluetooth. Unpack them to /opt
- Added modprobe, which is looking for /opt/lib/modules/... by default.
- USB updates
- VLAN support fixes, updated robocfg
- dropbear 0.50 (credits to lly), enabled inetd support
- busybox_httpd fixes: new cgi environment vars (HTTP_HOST, CGI_*)
- Changed a way how automount works: everything is mounted to /tmp/mnt now, while /tmp/harddisk is just a symbolic link to first partition
- Samba/FTP/NFS relative paths are against /tmp/harddisk
- Added /usr/local/sbin/pre-mount to be called before automount (suitable to manual mounts, disk checks, etc).
- Added Enable USB Storage selection to the System Setup - Services page to enable usb storage modules to load automatically
- Added filesystem type autodetection to automount portition
- 1.9.2.7-9 firmwares (browse directory to find out yours)
- 1.9.2.7-9 sources (12 MBytes)
Windows XP users: check this MS KB 893357 article if you've delays/problems with WiFi connection.
IMPORTANT: This firmware no longer supports original WL-500g/b/bv2/WL-300g/WL-HDD units: hardware vendor no longer support BCM4702 CPU. Use 1.9.2.7-9 instead.
Changes:
- Updated WiFi module to latest (4.150.10.16) (from the WL-500W 2.0.0.1 firmware)
- Added support for WL-500g Premium V2, WL-520gU, WL-330gE units and added separate firmware builds for WL-320gE/320gP
- Updated udpxy to support udpxrec
- Fixed station/ethernet bridge mode for WL-3*
- e2fsck no longer takes in account last check time (when invoked with -p)
- 1.9.2.7-10 firmwares (browse directory to find out yours)
- 1.9.2.7-10 sources (15 MBytes)
oleg