# NVRAM overrides # # This file handles the NVRAM quirks of various hardware. # THIS FILE IS NOT A REPLACEMENT FOR NVRAM [ "$(nvram get boardnum)" = "asusX" ] && \ [ "$(nvram get boardtype)" = "bcm94710dev" ] && { asus=1 } # 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" } # hack for asus wl-500g hardware [ $asus ] && { FAILSAFE_lan_ifnames="eth0 eth2" } # defaults if lan_ifname is missing [ -z "$(nvram get lan_ifname)" ] && { NVRAM_lan_ifname="br0" NVRAM_lan_ifnames=${FAILSAFE_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" [ "$asus" ] && { NVRAM_wan_ifname="eth1" } } # 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" }