add config file /etc/config/network, add board-specific network.overrides (instead of nvram.overrides)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1519 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
Felix Fietkau
2005-07-21 14:02:53 +00:00
parent 6b386ef312
commit 2afc4e3e66
18 changed files with 131 additions and 62 deletions

View File

@@ -42,7 +42,7 @@ echo "done"
echo -n "setting up symlinks... "
for file in $(cd /rom; find * -type f; find * -type l;)
do {
[ "${file%/*}" = "usr/lib/ipkg/info" ] && {
[ "${file%/*}" = "usr/lib/ipkg/info" -o "${file%/*}" = "etc/config" ] && {
cp -f /rom/$file $file
} || {
ln -sf /rom/$file $file

View File

@@ -0,0 +1,9 @@
# Network configuration file
# Uncomment the following statements to override the default or nvram config
# lan_ifame="br0"
# lan_proto="static"
# lan_ipaddr="192.168.1.1"
# lan_netmask="255.255.255.0"
# lan_gateway=""
# lan_dns=""

View File

@@ -4,12 +4,18 @@ alias debug=${DEBUG:-:}
# allow env to override nvram
nvram () {
case $1 in
get) eval "echo \${NVRAM_$2:-\$(command nvram get $2)}";;
*) command nvram $*;;
esac
if [ -x /usr/sbin/nvram ]; then
case $1 in
get) eval "echo \${$2:-\$(command nvram get $2)}";;
*) command nvram $*;;
esac
else
case $1 in
get) eval "echo \${$2:-\${DEFAULT_$2}}";;
*);;
esac
fi
}
. /etc/nvram.overrides
# valid interface?
if_valid () (

View File

@@ -6,20 +6,22 @@ mkdir -p /var/log
touch /var/log/wtmp
touch /var/log/lastlog
[ "$(nvram get il0macaddr)" = "00:90:4c:5f:00:2a" ] && {
# if default wifi mac, set two higher than the lan mac
nvram set il0macaddr=$(nvram get et0macaddr|
awk '{OFS=FS=":";for(x=7,y=2;--x;){$x=sprintf("%02x",(y+="0x"$x)%256);y/=256}print}')
}
[ -x /usr/sbin/nvram ] && {
[ "$(nvram get il0macaddr)" = "00:90:4c:5f:00:2a" ] && {
# if default wifi mac, set two higher than the lan mac
nvram set il0macaddr=$(nvram get et0macaddr|
awk '{OFS=FS=":";for(x=7,y=2;--x;){$x=sprintf("%02x",(y+="0x"$x)%256);y/=256}print}')
}
# set up the vlan*ports variables for the asus wl-500g deluxe
# if they don't already exist
[ "$(nvram get boardtype)" = "bcm95365r" \
-a "$(nvram get boardnum)" = "45" \
-a -z "$(nvram get vlan0ports)"
-a -z "$(nvram get vlan1ports)" ] && {
nvram set vlan0ports="1 2 3 4 5*"
nvram set vlan1ports="0 5"
# set up the vlan*ports variables for the asus wl-500g deluxe
# if they don't already exist
[ "$(nvram get boardtype)" = "bcm95365r" \
-a "$(nvram get boardnum)" = "45" \
-a -z "$(nvram get vlan0ports)"
-a -z "$(nvram get vlan1ports)" ] && {
nvram set vlan0ports="1 2 3 4 5*"
nvram set vlan1ports="0 5"
}
}
sed 's/^[^#]/insmod &/' /etc/modules /etc/modules.d/* 2>&-|ash

View File

@@ -1,4 +1,5 @@
#!/bin/sh
[ -e /etc/config/network] && . /etc/config/network
case "$1" in
start|restart)
ifup lan

View File

@@ -4,6 +4,8 @@
${FAILSAFE:+exit}
. /etc/functions.sh
. /etc/network.overrides
[ -e /etc/config/network] && . /etc/config/network
WAN=$(nvram get wan_ifname)
LAN=$(nvram get lan_ifname)

View File

@@ -1,5 +1,7 @@
#!/bin/sh
. /etc/functions.sh
. /etc/network.overrides
[ -e /etc/config/network] && . /etc/config/network
# interface to use for DHCP
iface=lan

View File

@@ -1,96 +0,0 @@
# 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"
remap () {
for type in lan wifi wan pppoe
do
for s in '' s
do
eval NVRAM_${type}_ifname$s=\"$(nvram get ${type}_ifname$s|sed s/$1/$2/g)\"
done
done
}
# hacks for wrt54g 1.x hardware
[ "$(nvram get boardnum)" = "42" \
-a "$(nvram get boardtype)" = "bcm94710dev" ] && {
debug "### wrt54g 1.x hack ###"
NVRAM_vlan1hwname="et0"
NVRAM_vlan2hwname="et0"
FAILSAFE_ifnames="vlan1 vlan2 eth2"
remap eth0 vlan2
remap eth1 vlan1
}
# hacks for asus wl-500g deluxe
[ "$(nvram get boardtype)" = "bcm95365r" \
-a "$(nvram get boardnum)" = "45" ] && {
debug "### wl-500g deluxe hacks ###"
NVRAM_vlan0hwname="et0"
NVRAM_vlan1hwname="et0"
FAILSAFE_ifnames="vlan0 eth1"
remap eth0.1 vlan0
remap eth0 vlan1
}
# hacks for asus wl-300g
[ "$(nvram get productid)" = "WL300g" ] && {
debug "### wl-300g hacks ###"
NVRAM_lan_ifnames="eth0 eth2"
NVRAM_wan_ifname="none"
}
# hacks for wap54g hardware
[ "$(nvram get boardnum)" = "2" \
-o "$(nvram get boardnum)" = "1024" ] && {
debug "### wap54g hack ###"
NVRAM_wan_ifname="none"
FAILSAFE_ifnames="eth0 eth1"
}
# hacks for buffalo wla2-g54l
[ "$(nvram get boardnum)" = "00" \
-a "$(nvram get product_name)" = "Product_name" \
-o "$(nvram get product_name)" = "WLA2-G54L" ] && {
debug "### wla2-g54l hacks ###"
NVRAM_wan_ifname="none"
NVRAM_lan_ifnames="vlan0"
}
# hack for asus wl-500g hardware
[ "$(nvram get boardnum)" = "asusX" \
-a "$(nvram get boardtype)" = "bcm94710dev" ] && {
FAILSAFE_ifnames="eth0 eth2"
}
# defaults if lan_ifname is missing
[ -z "$(nvram get lan_ifname)" ] && {
NVRAM_lan_ifname="br0"
NVRAM_lan_ifnames=${FAILSAFE_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 eth2 eth3"}
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"
}

View File

@@ -1,6 +1,8 @@
#!/bin/ash
[ $# = 0 ] && { echo " $0 <group>"; exit; }
. /etc/functions.sh
. /etc/network.overrides
[ -e /etc/config/network ] && . /etc/config/network
type=$1
debug "### ifdown $type ###"
if=$(nvram get ${type}_ifname)

View File

@@ -1,6 +1,9 @@
#!/bin/ash
[ $# = 0 ] && { echo " $0 <group>"; exit; }
. /etc/functions.sh
. /etc/network.overrides
[ -e /etc/config/network ] && . /etc/config/network
type=$1
debug "### ifup $type ###"