openwrt root filesystem
[openwrt/staging/dedeckeh.git] / openwrt / target / default / target_skeleton / etc / nvram.overrides
diff --git a/openwrt/target/default/target_skeleton/etc/nvram.overrides b/openwrt/target/default/target_skeleton/etc/nvram.overrides
new file mode 100644 (file)
index 0000000..acbba30
--- /dev/null
@@ -0,0 +1,62 @@
+# NVRAM overrides
+#
+# This file handles the NVRAM quirks of various hardware.
+# THIS FILE IS NOT A REPLACEMENT FOR NVRAM
+
+# linksys bug; remove when not using static configuration for lan
+NVRAM_lan_proto="static"
+
+# 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 () {
+    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 wap54g hardware
+[ "$(nvram get boardnum)"  = "2" ] || \
+[ "$(nvram get boardnum)"  = "1024" ] && {
+  debug "### wap54g hack ###"
+  NVRAM_wan_ifname="none"
+  FAILSAFE_ifnames="eth0 eth1"
+}
+
+# defaults if lan_ifname is missing
+[ -z "$(nvram get lan_ifname)" ] && {
+  NVRAM_lan_ifname="br0"
+  NVRAM_lan_ifnames="vlan0 vlan2 eth1 eth2 eth3"
+}
+
+# defaults if wan_ifname is missing
+[ -z "$(nvram get wan_ifname)" ] && {
+   NVRAM_wan_ifname="vlan1"
+   NVRAM_wan_proto="dhcp"
+}
+
+# failsafe if reset is held
+[ "$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_wan_ifname="none"
+  NVRAM_wifi_ifname="none"
+}