diff --git a/openwrt/package/ppp/files/ifup.pppoa b/openwrt/package/ppp/files/ifup.pppoa index 8928366364..5f42a39d08 100644 --- a/openwrt/package/ppp/files/ifup.pppoa +++ b/openwrt/package/ppp/files/ifup.pppoa @@ -15,29 +15,35 @@ for module in slhc ppp_generic pppoatm; do done while :; do - VPI=$(nvram get atm_vpi) - VCI=$(nvram get atm_vci) - USERNAME=$(nvram get ppp_username) - PASSWORD=$(nvram get ppp_passwd) - REDIAL=$(nvram get ppp_redialperiod) - REDIAL=${REDIAL:+lcp-echo-interval $REDIAL} - IDLETIME=$(nvram get ppp_idletime) - IDLETIME=${IDLETIME:+lcp-echo-failure $IDLETIME} - MTU=$(nvram get ppp_mtu) - MTU=${MTU:-1500} + VPI=$(nvram get atm_vpi) + VCI=$(nvram get atm_vci) + USERNAME=$(nvram get ppp_username) + PASSWORD=$(nvram get ppp_passwd) + KEEPALIVE=$(nvram get ppp_redialperiod) + KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 10 lcp-echo-failure $KEEPALIVE} + DEMAND=$(nvram get ppp_demand) + case "$DEMAND" in + on|1|enabled) + DEMAND=$(nvram get ppp_idletime) + DEMAND=${IDLETIME:+demand idle $IDLETIME} + ;; + *) DEMAND="";; + esac + MTU=$(nvram get ppp_mtu) + MTU=${MTU:-1500} - /usr/sbin/pppd nodetach \ + /usr/sbin/pppd nodetach \ plugin pppoatm.so ${VPI:-8}.${VCI:-35} \ - usepeerdns \ - defaultroute \ - linkname $type \ - ipparam $type \ - user "$USERNAME" \ - password "$PASSWORD" \ - mtu $MTU mru $MTU \ - $IDLETIME \ - $REDIAL - - # Read settings again (might have changed) - [ -e /etc/config/network ] && . /etc/config/network + usepeerdns \ + defaultroute \ + linkname $type \ + ipparam $type \ + user "$USERNAME" \ + password "$PASSWORD" \ + mtu $MTU mru $MTU \ + $DEMAND \ + $KEEPALIVE + + # Read settings again (might have changed) + [ -e /etc/config/network ] && . /etc/config/network done & diff --git a/openwrt/package/ppp/files/ifup.pppoe b/openwrt/package/ppp/files/ifup.pppoe index da9a441ad9..36bbe30299 100644 --- a/openwrt/package/ppp/files/ifup.pppoe +++ b/openwrt/package/ppp/files/ifup.pppoe @@ -15,31 +15,37 @@ for module in slhc ppp_generic pppox pppoe; do done while :; do - IFNAME=$(nvram get pppoe_ifname) - USERNAME=$(nvram get ppp_username) - PASSWORD=$(nvram get ppp_passwd) - REDIAL=$(nvram get ppp_redialperiod) - REDIAL=${REDIAL:+lcp-echo-interval $REDIAL} - IDLETIME=$(nvram get ppp_idletime) - IDLETIME=${IDLETIME:+lcp-echo-failure $IDLETIME} - MTU=$(nvram get ppp_mtu) - MTU=${MTU:-1492} + IFNAME=$(nvram get pppoe_ifname) + USERNAME=$(nvram get ppp_username) + PASSWORD=$(nvram get ppp_passwd) + KEEPALIVE=$(nvram get ppp_redialperiod) + KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 10 lcp-echo-failure $KEEPALIVE} + DEMAND=$(nvram get ppp_demand) + case "$DEMAND" in + on|1|enabled) + DEMAND=$(nvram get ppp_idletime) + DEMAND=${IDLETIME:+demand idle $IDLETIME} + ;; + *) DEMAND="";; + esac + MTU=$(nvram get ppp_mtu) + MTU=${MTU:-1492} - ifconfig $IFNAME up - /usr/sbin/pppd nodetach \ - plugin rp-pppoe.so \ - connect /bin/true \ - usepeerdns \ - defaultroute \ - linkname $type \ - ipparam $type \ - user "$USERNAME" \ - password "$PASSWORD" \ - mtu $MTU mru $MTU \ - $IDLETIME \ - $REDIAL \ - nic-$IFNAME - - # Read settings again (might have changed) - [ -e /etc/config/network ] && . /etc/config/network + ifconfig $IFNAME up + /usr/sbin/pppd nodetach \ + plugin rp-pppoe.so \ + connect /bin/true \ + usepeerdns \ + defaultroute \ + linkname $type \ + ipparam $type \ + user "$USERNAME" \ + password "$PASSWORD" \ + mtu $MTU mru $MTU \ + $DEMAND \ + $KEEPALIVE \ + nic-$IFNAME + + # Read settings again (might have changed) + [ -e /etc/config/network ] && . /etc/config/network done &