diff options
Diffstat (limited to 'openwrt/target/default/target_skeleton/etc/nvram.overrides')
-rw-r--r-- | openwrt/target/default/target_skeleton/etc/nvram.overrides | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/openwrt/target/default/target_skeleton/etc/nvram.overrides b/openwrt/target/default/target_skeleton/etc/nvram.overrides new file mode 100644 index 000000000..acbba30a4 --- /dev/null +++ b/openwrt/target/default/target_skeleton/etc/nvram.overrides @@ -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" +} |