diff options
author | Florian Fainelli <florian@openwrt.org> | 2010-09-11 18:37:09 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2010-09-11 18:37:09 +0000 |
commit | a1264431fe478faee913768b582ae148a8a077e6 (patch) | |
tree | 9a43fe208d6bcfd932c98de8fe01f9ed0cc8bb91 | |
parent | 4b7536d3c79c3a3b3bb3fd9b8f2d57e6b9ed727b (diff) | |
download | upstream-a1264431fe478faee913768b582ae148a8a077e6.tar.gz upstream-a1264431fe478faee913768b582ae148a8a077e6.tar.bz2 upstream-a1264431fe478faee913768b582ae148a8a077e6.zip |
nvvram: no checksum error recording on WRT54G3GV2(-VF)
The CFE of the WRT54G3GV2 expects two firmware images, if one of them
produces a CRC error (which is the case after you installed OpenWrt, as
there is no second image), it writes one of three consecutive bytes to
the flash. (Look for "Image Status : IMG2_BAD" during boot.)
After the third boot with a CRC error, it stops and waits for a new
firmware image. To prevent this 'noset_try_flag' must be set to 1 on boot.
Tested with my own box.
Signed-off-by: Niclas Koeser <nks at informatik.uni-kiel.de>
SVN-Revision: 23007
-rw-r--r-- | package/nvram/Makefile | 2 | ||||
-rwxr-xr-x | package/nvram/files/nvram.init | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/package/nvram/Makefile b/package/nvram/Makefile index 7fc9cc8a41..5ff3791c5e 100644 --- a/package/nvram/Makefile +++ b/package/nvram/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nvram -PKG_RELEASE:=8 +PKG_RELEASE:=9 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) diff --git a/package/nvram/files/nvram.init b/package/nvram/files/nvram.init index 0267a80c5a..467ab28195 100755 --- a/package/nvram/files/nvram.init +++ b/package/nvram/files/nvram.init @@ -59,6 +59,12 @@ fixup_linksys() { echo "sdram_init is invaild: $(printf 0x%04x $SDRAM_INIT), force to default!" nvram_set sdram_init 0x0009 } + # on WRT54G3GV2 set flag, so checksum errors of firmware image 2 don't stop the boot process + noset_try_flag=$(nvram get noset_try_flag) + [ "$noset_try_flag" = 0 ] && { + echo "setting noset_try_flag to 1." + nvram_set noset_try_flag 1 + } [ "$COMMIT" = 1 ] && { nvram_set sdram_ncdl 0x0 } |