WRT54GL

From Segfault
Jump to navigation Jump to search

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

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

Links