add extra safety for linksys nvram fixup (should fix #56, though i haven't been able...
[openwrt.git] / target / linux / package / base-files / files / brcm-2.4 / etc / init.d / S05nvram
index b3b4997..728b284 100755 (executable)
@@ -21,9 +21,9 @@ nvram_default() {
 }
 
 nvram_set() { # for the linksys fixup part
-       [ "$(nvram get "$1")" = "$2" ] || {
+       [ "$(nvram get "$1")" = "$2" -a "$2" != "" ] || {
                COMMIT=1
-               nvram set "$1=$2"
+               /usr/sbin/nvram set "$1=$2"
        }
 }
 
@@ -35,7 +35,7 @@ adm_switch="$(( ($boardflags & 0x80) >> 7 ))"
 case "$(( $boardtype ))" in
        "$((0x708))")
                if [ "$adm_switch" = 0 ]; then
-                       nvram_set sdram_init 0x010b
+                       nvram_set sdram_init "$(printf 0x%04x $(( $(/usr/sbin/nvram get sdram_init) | 0x0100 )))"
                        [ "$COMMIT" = 1 ] && {
                                nvram_set sdram_config 0x0062
                                nvram_set clkfreq 216
@@ -49,7 +49,7 @@ case "$(( $boardtype ))" in
                fi
        ;;
        "$((0x467))")
-               nvram_set sdram_init 0x010c
+               nvram_set sdram_init "$(printf 0x%04x $(( $(/usr/sbin/nvram get sdram_init) | 0x0100 )))"
                [ "$COMMIT" = 1 ] && {
                        nvram_set sdram_config 0x0062
                        nvram_set sdram_ncdl 0x0
This page took 0.027298 seconds and 4 git commands to generate.