From 130f078b37256d39fc38c7703d36aa8ec3391cfe Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 16 Jan 2006 02:54:34 +0000 Subject: [PATCH] change pp{tp,poe}_ifname to wan_device and add some code to webif and S05nvram so that it automagically gets the whole wan_ifname stuff right without screwing up weird custom settings SVN-Revision: 2992 --- .../base-files/default/etc/init.d/S05nvram | 26 ++++++++++++------- openwrt/package/base-files/default/sbin/ifup | 2 +- openwrt/package/ppp/files/ifup.pppoe | 2 +- openwrt/package/pptp/files/ifup.pptp | 2 +- .../webif/files/www/cgi-bin/webif/wan.sh | 9 ++++--- 5 files changed, 25 insertions(+), 16 deletions(-) diff --git a/openwrt/package/base-files/default/etc/init.d/S05nvram b/openwrt/package/base-files/default/etc/init.d/S05nvram index debf839b02..d293bfc0a8 100755 --- a/openwrt/package/base-files/default/etc/init.d/S05nvram +++ b/openwrt/package/base-files/default/etc/init.d/S05nvram @@ -104,6 +104,14 @@ case "$(nvram get productid)" in nvram set lan_ifnames="eth1 eth2" nvram set wan_ifname="none" ;; + *) + # wl-500g defaults. these are placed here, because WL-HDD and WL-300g + # might have the same nvram settings. + [ "$(nvram get boardnum)" = "asusX" \ + -a "$(nvram get boardtype)" = "bcm94710dev" ] && { + nvram_default wan_device "eth1" + } + ;; esac # hacks for wap54g hardware @@ -127,21 +135,12 @@ esac nvram_default wl0id 0x4320 } -WAN_PROTO="$(nvram get wan_proto)" -[ "$WAN_PROTO" = "pptp" \ --o "$WAN_PROTO" = "pppoe" ] && { - WAN_IFNAME="$(nvram get wan_ifname)" - [ "${WAN_IFNAME%%[0-9]*}" = "ppp" ] || { - nvram set wan_ifname=ppp0 - nvram set ${WAN_PROTO}_ifname="$WAN_IFNAME" - } -} - # defaults nvram_default lan_ifname "br0" nvram_default lan_ifnames "$FAILSAFE_ifnames" nvram_default wan_ifname "vlan1" +nvram_default wan_device "vlan1" nvram_default wan_proto "dhcp" nvram_default wl0_ssid OpenWrt @@ -149,6 +148,13 @@ nvram_default wl0_mode ap nvram_default wl0_infra 1 nvram_default wl0_radio 1 +WAN_PROTO="$(nvram get wan_proto)" +WAN_IFNAME="$(nvram get wan_ifname)" +case "$WAN_PROTO" in + pp*) [ "${WAN_IFNAME%%[0-9]*}" = "ppp" ] || nvram set wan_ifname=ppp0;; + *) [ "${WAN_IFNAME%%[0-9]*}" = "ppp" ] && nvram set wan_ifname="$(nvram get wan_device)";; +esac + [ "$(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| diff --git a/openwrt/package/base-files/default/sbin/ifup b/openwrt/package/base-files/default/sbin/ifup index 3e01f31a2c..fbf8e07bed 100755 --- a/openwrt/package/base-files/default/sbin/ifup +++ b/openwrt/package/base-files/default/sbin/ifup @@ -6,7 +6,7 @@ debug "### ifup $type ###" if_proto=$(nvram get ${type}_proto) if=$(nvram get ${type}_ifname) -[ "${if%%[0-9]}" = "ppp" ] && if=$(nvram get ${if_proto}_ifname) +[ "${if%%[0-9]}" = "ppp" ] && if=$(nvram get ${type}_device) if_valid $if || [ "$if_proto" = "pptp" ] || exit mac=$(nvram get ${type}_hwaddr) diff --git a/openwrt/package/ppp/files/ifup.pppoe b/openwrt/package/ppp/files/ifup.pppoe index 176ef9015f..1003535184 100644 --- a/openwrt/package/ppp/files/ifup.pppoe +++ b/openwrt/package/ppp/files/ifup.pppoe @@ -13,7 +13,7 @@ for module in slhc ppp_generic pppox pppoe; do done (while :; do - IFNAME=$(nvram get pppoe_ifname) + IFNAME=$(nvram get wan_device) USERNAME=$(nvram get ppp_username) PASSWORD=$(nvram get ppp_passwd) KEEPALIVE=$(nvram get ppp_redialperiod) diff --git a/openwrt/package/pptp/files/ifup.pptp b/openwrt/package/pptp/files/ifup.pptp index daede50ba6..715b6d17c6 100644 --- a/openwrt/package/pptp/files/ifup.pptp +++ b/openwrt/package/pptp/files/ifup.pptp @@ -34,7 +34,7 @@ done # hack for some buggy ISPs NETMASK=$(nvram get ${type}_netmask) - IFNAME=$(nvram get pptp_ifname) + IFNAME=$(nvram get wan_device) [ -z "$NETMASK" -o -z "$IFNAME" ] || ifconfig $IFNAME netmask $NETMASK /usr/sbin/pppd nodetach \ diff --git a/openwrt/package/webif/files/www/cgi-bin/webif/wan.sh b/openwrt/package/webif/files/www/cgi-bin/webif/wan.sh index 557fce95d5..f506c2ddda 100755 --- a/openwrt/package/webif/files/www/cgi-bin/webif/wan.sh +++ b/openwrt/package/webif/files/www/cgi-bin/webif/wan.sh @@ -93,8 +93,6 @@ EOF save_setting network ppp_mtu "$FORM_ppp_mtu" save_setting network wan_ifname "ppp0" - save_setting network pptp_ifname "vlan1" - save_setting network pppoe_ifname "vlan1" case "$FORM_ppp_redial" in demand) @@ -106,7 +104,12 @@ EOF esac ;; *) - save_setting network wan_ifname "vlan1" + wan_ifname=${wan_ifname:-$(nvram get wan_ifname)} + [ -z "$wan_ifname" -o "${wan_ifname%%[0-9]*}" = "ppp" ] && { + wan_device=${wan_device:-$(nvram get wan_device)} + wan_device=${wan_device:-vlan1} + save_setting network wan_ifname "$wan_device" + } ;; esac } -- 2.30.2