aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2010-09-11 18:37:09 +0000
committerFlorian Fainelli <florian@openwrt.org>2010-09-11 18:37:09 +0000
commit3237da2e58f504ca6bb5c4b28ec859bfa6dd01fb (patch)
tree4361002a5758ccce41d05c385502615e31ae46b5
parentd98d8388e93f547204d04c02cf92d54f3ce9ba77 (diff)
downloadupstream-3237da2e58f504ca6bb5c4b28ec859bfa6dd01fb.tar.gz
upstream-3237da2e58f504ca6bb5c4b28ec859bfa6dd01fb.tar.bz2
upstream-3237da2e58f504ca6bb5c4b28ec859bfa6dd01fb.zip
[package] 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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23007 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/nvram/Makefile2
-rwxr-xr-xpackage/nvram/files/nvram.init6
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
}