finally fix the /etc/config/network bug on wgt634u (#214, #215, #219)
[openwrt/svn-archive/archive.git] / openwrt / target / linux / package / base-files / files / brcm-2.4 / etc / init.d / S05nvram
index 728b2847b19b3ffe9b3660eb2ae256921426d783..b985948d78f1ba1372ca505fe3a900766b18f52a 100755 (executable)
@@ -6,6 +6,9 @@
 . /etc/network.overrides
 alias debug=${DEBUG:-:}
 
+# WGT634u
+grep 'mtd0: 00060000' /proc/mtd 2>&- >&- && exit
+
 remap () {
        for type in lan wifi wan pppoe
        do
@@ -30,7 +33,7 @@ nvram_set() { # for the linksys fixup part
 # work around braindead CFE defaults in linksys routers
 boardtype=$(nvram get boardtype)
 boardflags=$(($(nvram get boardflags)))
-[ "$boardtype" = "bcm4710dev" ] && boardtype="0xdeadbeef"
+[ "$boardtype" = "bcm94710dev" ] && boardtype="0xdeadbeef"
 adm_switch="$(( ($boardflags & 0x80) >> 7 ))"
 case "$(( $boardtype ))" in
        "$((0x708))")
@@ -104,6 +107,14 @@ case "$(nvram get productid)" in
                nvram set lan_ifnames="eth1 eth2"
                nvram set wan_ifname="none"
        ;;
+       *)
+               # wl-500g defaults. these are placed here, because WL-HDD and WL-300g
+               # might have the same nvram settings.
+               [ "$(nvram get boardnum)" = "asusX" \
+               -a "$(nvram get boardtype)" = "bcm94710dev" ] && {
+                       nvram_default wan_device "eth1"
+               }
+       ;;
 esac
 
 # hacks for wap54g hardware
@@ -127,21 +138,12 @@ esac
        nvram_default wl0id 0x4320
 }
 
-WAN_PROTO="$(nvram get wan_proto)"
-[  "$WAN_PROTO" = "pptp" \
--o "$WAN_PROTO" = "pppoe" ] && {
-       WAN_IFNAME="$(nvram get wan_ifname)"
-       [ "${WAN_IFNAME%%[0-9]*}" = "ppp" ] || {
-               nvram set wan_ifname=ppp0
-               nvram set ${WAN_PROTO}_ifname="$WAN_IFNAME"
-       }
-}
-
 # defaults
 nvram_default lan_ifname "br0"
 nvram_default lan_ifnames "$FAILSAFE_ifnames"
 
 nvram_default wan_ifname "vlan1"
+nvram_default wan_device "vlan1"
 nvram_default wan_proto "dhcp"
 
 nvram_default wl0_ssid OpenWrt
@@ -149,6 +151,13 @@ nvram_default wl0_mode ap
 nvram_default wl0_infra 1
 nvram_default wl0_radio 1
 
+WAN_PROTO="$(nvram get wan_proto)"
+WAN_IFNAME="$(nvram get wan_ifname)"
+case "$WAN_PROTO" in
+       pp*) [ "${WAN_IFNAME%%[0-9]*}" = "ppp" ] || nvram set wan_ifname=ppp0;;
+       *) [ "${WAN_IFNAME%%[0-9]*}" = "ppp" ] && nvram set wan_ifname="$(nvram get wan_device)";;
+esac
+
 [ "$(nvram get il0macaddr)" = "00:90:4c:5f:00:2a" ] && {
        # if default wifi mac, set two higher than the lan mac
        nvram set il0macaddr=$(nvram get et0macaddr|