# NVRAM overrides # # 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" # 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" } # hacks for buffalo wla2-g54l [ "$(nvram get boardnum)" = "00" ] && \ [ "$(nvram get product_name)" = "Product_name" ] && { debug "### wla2-g54l hacks ###" NVRAM_lan_ifnames="vlan0" NVRAM_wan_ifname="none" } # hack for asus wl-500g hardware [ "$(nvram get boardnum)" = "asusX" ] && \ [ "$(nvram get boardtype)" = "bcm94710dev" ] && { FAILSAFE_lan_ifnames="eth0 eth2" } # 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" NVRAM_lan_ifnames="vlan0 eth1" [ "$(nvram get wan_ifname)" = "eth0.1" ] && { NVRAM_wan_ifname="vlan1" } } # 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=${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" }