fix nas compatibility and overrides for newer wla2-g54l units
[openwrt/svn-archive/archive.git] / openwrt / target / default / target_skeleton / etc / nvram.overrides
index acbba30a416ca8f9cfd5e52e4ea51372b7ea316e..f58f7ed7e651ca03b3d01bf554b1239d91017b6f 100644 (file)
@@ -3,30 +3,42 @@
 # This file handles the NVRAM quirks of various hardware.
 # THIS FILE IS NOT A REPLACEMENT FOR NVRAM
 
+# Load sysconf defaults
+[ -f /etc/sysconf ] && . /etc/sysconf
+
 # linksys bug; remove when not using static configuration for lan
 NVRAM_lan_proto="static"
 
+remap () {
+  for type in lan wifi wan pppoe
+  do
+    for s in '' s
+    do
+      eval NVRAM_${type}_ifname$s=\"$(nvram get ${type}_ifname$s|sed s/$1/$2/g)\" 
+    done
+  done
+}
+
 # hacks for wrt54g 1.x hardware
 [ "$(nvram get boardnum)"  = "42" ] && \
 [ "$(nvram get boardtype)" = "bcm94710dev" ] && {
-
-  # remap eth0 => vlan2, eth1 => vlan1
-  # for all *_ifname(s)
-
   debug "### wrt54g 1.x hack ###"
   NVRAM_vlan1hwname="et0"
   NVRAM_vlan2hwname="et0"
   FAILSAFE_ifnames="vlan1 vlan2 eth2"
+  remap eth0 vlan2
+  remap eth1 vlan1
+}
 
-  remap () {
-    eval NVRAM_$1=\"$(nvram get $1 | awk 'gsub("eth0","vlan2") gsub("eth1","vlan1")')\"
-  }
-
-  for type in lan wifi wan pppoe
-  do
-    remap ${type}_ifname
-    remap ${type}_ifnames
-  done
+# hacks for asus wl-500g deluxe
+[ "$(nvram get boardtype)" = "bcm95365r" ] && \
+[ "$(nvram get boardnum)" = "45" ] && {
+  debug "### wl-500g deluxe hacks ###"
+  NVRAM_vlan0hwname="et0"
+  NVRAM_vlan1hwname="et0"
+  FAILSAFE_ifnames="vlan0 eth1"
+  remap eth0.1 vlan0
+  remap eth0 vlan1
 }
 
 # hacks for wap54g hardware
@@ -37,10 +49,25 @@ NVRAM_lan_proto="static"
   FAILSAFE_ifnames="eth0 eth1"
 }
 
+# hacks for buffalo wla2-g54l
+[ "$(nvram get boardnum)" = "00" ] && \
+[ "$(nvram get product_name)" = "Product_name" ] || \
+[ "$(nvram get product_name)" = "WLA2-G54L" ] && {
+  debug "### wla2-g54l hacks ###"
+  NVRAM_wan_ifname="none"
+  NVRAM_lan_ifnames="vlan0"
+}
+
+# hack for asus wl-500g hardware
+[ "$(nvram get boardnum)"  = "asusX" ] && \
+[ "$(nvram get boardtype)"  = "bcm94710dev" ] && {
+  FAILSAFE_ifnames="eth0 eth2"
+}
+
 # defaults if lan_ifname is missing
 [ -z "$(nvram get lan_ifname)" ] && {
   NVRAM_lan_ifname="br0"
-  NVRAM_lan_ifnames="vlan0 vlan2 eth1 eth2 eth3"
+  NVRAM_lan_ifnames=${FAILSAFE_ifnames:-"vlan0 vlan2 eth1 eth2 eth3"}
 }
 
 # defaults if wan_ifname is missing
@@ -53,10 +80,10 @@ NVRAM_lan_proto="static"
 [ "$FAILSAFE" = "true" ] && {
   echo "### YOU ARE IN FAILSAFE MODE ####"
   NVRAM_lan_ifname="br0"
-  NVRAM_lan_ifnames=${FAILSAFE_ifnames:-"vlan0 vlan1 eth1"}
-  NVRAM_lan_ipaddr="192.168.1.1"
-  NVRAM_lan_netmask="255.255.255.0"
-  NVRAM_lan_hwaddr="00:0B:AD:0A:DD:00"
+  NVRAM_lan_ifnames=${FAILSAFE_ifnames:-"vlan0 vlan1 eth1 eth2 eth3"}
+  NVRAM_lan_ipaddr=${BR2_SYSCONF_FAILSAFE_IP:-"192.168.1.1"}
+  NVRAM_lan_netmask=${BR2_SYSCONF_FAILSAFE_NETMASK:-"255.255.255.0"}
+  NVRAM_lan_hwaddr=${BR2_SYSCONF_FAILSAFE_MAC:-"00:0B:AD:0A:DD:00"}
   NVRAM_wan_ifname="none"
   NVRAM_wifi_ifname="none"
 }