97 lines
2.4 KiB
Plaintext
97 lines
2.4 KiB
Plaintext
# 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
|
|
|
|
[ "$(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"
|
|
}
|
|
|
|
# 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
|
|
[ $asus ] && {
|
|
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_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"
|
|
}
|