diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2010-05-17 21:39:04 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2010-05-17 21:39:04 +0000 |
commit | 0745a63313b58cb7aef7aa21840b7748e95dac1e (patch) | |
tree | 6cd4b5341fe7343173c90c2d870417a0cad54bda | |
parent | da55c9639aaae4c1997f40b223877c4c9321b82f (diff) | |
download | upstream-0745a63313b58cb7aef7aa21840b7748e95dac1e.tar.gz upstream-0745a63313b58cb7aef7aa21840b7748e95dac1e.tar.bz2 upstream-0745a63313b58cb7aef7aa21840b7748e95dac1e.zip |
brcm47xx: fix destroying of 128MB modded ASUS WL-500GP
This fixup was introduced in r11812 to correct settings for devices only showing 16MB RAM instead of 128MB.
That killed devices with 128MB RAM.
Now value is *set* 0x0009 and not ored.
The value is only corrected if it has less than 32 MB Ram.
This should fix the last problem in #3177
Thank you b.sander for the patch.
SVN-Revision: 21497
-rwxr-xr-x | package/nvram/files/nvram.init | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/package/nvram/files/nvram.init b/package/nvram/files/nvram.init index 9eae17fd8a..e6ef8619c0 100755 --- a/package/nvram/files/nvram.init +++ b/package/nvram/files/nvram.init @@ -52,7 +52,13 @@ fixup_linksys() { } ;; "1071") #0x042f - nvram_set sdram_init "$(printf 0x%04x $(( $(/usr/sbin/nvram get sdram_init) | 0x0009 )))" + # do sanity check first! max 0x0011 = 128mb + SDRAM_INIT=$(printf %d $(/usr/sbin/nvram get sdram_init)) + [ "$SDRAM_INIT" -lt "9" -o "$SDRAM_INIT" -gt "17" ] && { + # set this to default: 0x09 only if value is invaild like 16MB on Asus WL-500GP + echo "sdram_init is invaild: $(printf 0x%04x $SDRAM_INIT), force to default!" + $(/usr/sbin/nvram_set sdram_init "0x0009") + } [ "$COMMIT" = 1 ] && { nvram_set sdram_ncdl 0x0 } |