WRT54GL
Hard Reset
From the dd-wrt.com wiki:
You can HARD RESET by holding down the reset button on the back of the router for 30 seconds, then pulling the power cord for 30 seconds while STILL holding the reset button, and then plugging in the power cord for a final 30 seconds while STILL holding the reset button. You will hold the reset button in for 90 seconds without releasing it. Then release the reset button and wait for the router to finish doing whatever it's going to do. Usually the WLAN light will come on close to last in the boot sequence. Sometimes, however, the POWER light will keep flashing for a good while. Either way, once you're sure the router has done its thing, power cycle the router, by unplugging and replugging the power connector in the back of the router. There's no need to wait between unplugging and replugging.
Upgrade
There are different upgrade paths possible:
↓ From / To → | Linksys | OpenWrt | DD-WRT |
---|---|---|---|
Linksys | - | Installing OpenWrt | Installation process from a stock Linksys firmware |
OpenWrt | ? | - | From OpenWrt to DD-WRT |
DD-WRT | ? | OpenWrt: openwrt over dd-wrt on WRT54GL v1.1 | - |
DD-WRT → OpenWrt
Upgrading from DD-WRT (v24-sp2, 10/10/09, vpn) to OpenWrt 10.03.1 (Backfire) went just fine. Wifi had to be enabled manually though. Here's the procedure for the whole process
- Download openwrt-wrt54g-squashfs.bin from http://downloads.openwrt.org/backfire/10.03.1/brcm-2.4/
- In DD-WRT, go to the Firmware upgrade interface and insert openwrt-wrt54g-squashfs.bin
The WRT54GL should come online with OpenWrt running now:
_______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M Backfire (10.03.1, r29592) ------------------------ * 1/3 shot Kahlua In a shot glass, layer Kahlua * 1/3 shot Bailey's on the bottom, then Bailey's, * 1/3 shot Vodka then Vodka. --------------------------------------------------- root@OpenWrt:~# uname -a Linux OpenWrt 2.4.37.9 #12 Wed Dec 21 03:33:39 CET 2011 mips GNU/Linux
Set a few NVRAM parameters to enable tftp, in case the router gets bricked:
nvram set boot_wait=on nvram set wait_time=10 nvram commit && reboot
The brcm47xx will offer a newer kernel (2.6.32.27 for OpenWrt 10.03.1). Let's upgrade:
$ sysupgrade /tmp/openwrt-brcm47xx-squashfs.trx Saving config files... Switching to ramdisk... Performing system upgrade... Unlocking linux ... Writing from <stdin> to linux ... Appending jffs2 data from /tmp/sysupgrade.tgz to linux... Upgrade completed Rebooting system...
Note: WiFi appears to be unstable when the router is under load!
Also, WiFi was disabled and could not be enabled via LuCI. Apparently /etc/config/wireless has to be updated first:
$ opkg install kmod-b43 Package kmod-b43 (2.6.32.27+2011-11-15-1) installed in root is up to date. $ /sbin/wifi detect > /etc/config/wireless
Now WiFi can be configured via the web frontend. After this, /etc/config/wireless should look somewhat like this:
config 'wifi-device' 'radio0' option 'type' 'mac80211' option 'channel' '11' option 'macaddr' '00:11:4d:1c:12:a3' option 'hwmode' '11g' option 'txpower' '20' option 'country' '00' config 'wifi-iface' option 'device' 'radio0' option 'network' 'lan' option 'mode' 'ap' option 'ssid' 'myssid' option 'encryption' 'psk2+ccmp' option 'key' 's3cr3tk3y'
OpenWrt brcm-2.4 vs. brcm47xx
As mentioned above, WiFi was indeed unstable with the brcm47xx version. So we're going back to the brcm-2.4 version:
$ sysupgrade /tmp/openwrt-brcm-2.4-squashfs.trx Saving config files... Switching to ramdisk... Performing system upgrade... Unlocking linux ... Writing from <stdin> to linux ... Appending jffs2 data from /tmp/sysupgrade.tgz to linux... Upgrade completed Rebooting system...
After this is done and the WRT54GL has booted (now again on Linux 2.4.37.9), our /etc/config/wireless has to be updated again, otherwise the interface would not come back online:
$ /sbin/wifi detect > /etc/config/wireless
Now the WiFi connection can be configure via LuCI (the web frontend) and /etc/config/wireless should look somewhat like this:
config 'wifi-device' 'wl0' option 'type' 'broadcom' option 'channel' '11' option 'txpower' '18' option 'hwmode' '11bg' config 'wifi-iface' option 'device' 'wl0' option 'network' 'lan' option 'mode' 'ap' option 'ssid' 'myssid' option 'encryption' 'psk2+ccmp' option 'key' 's3cr3tk3y'
SecureEasySetup LED
After upgrading to OpenWrt brcm47xx, the so called SecureEasySetup LED was not orange any more, but yellow, almost white. But after downgrading to brcm-2.4, the LED was completely off! What was going on? Not that the LED did anything now, as OpenWrt (or DD-WRT) would not support this feature anyway. From the manual:
- orange: SecureEasySetup is OFF
- white: SecureEasySetup is ON
But now the LED itself is off! Here's how to turn it on again:
$ grep . /proc/diag/led/* /proc/diag/led/dmz:0 /proc/diag/led/power:1 /proc/diag/led/ses_orange:0 /proc/diag/led/ses_white:0 /proc/diag/led/wlan:0 $ echo 1 > /proc/diag/led/ses_orange
When added to /etc/rc.local, the LED turns orange on every reboot :-)
Files
- WRT54GL User Guide
- WRT54GL Datasheet
- Router Firmware Upgrade Instructions
- Linksys Firmware 4.30.14.005
- Linksys Firmware 4.30.15.002