/sbin/insmod $module 2>&- >&-
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 1 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="persist";;
+esac
+MTU=$(nvram get ppp_mtu)
+MTU=${MTU:-1500}
- /usr/sbin/pppd nodetach \
+/usr/sbin/pppd \
plugin pppoatm.so ${VPI:-8}.${VCI:-35} \
- usepeerdns \
- defaultroute \
- linkname $type \
- user "$USERNAME" \
- password "$PASSWORD" \
- mtu $MTU mru $MTU \
- $IDLETIME \
- $REDIAL
-
- # Read settings again (might have changed)
- [ -e /etc/config/network ] && . /etc/config/network
-done &
+ usepeerdns \
+ defaultroute \
+ linkname $type \
+ ipparam $type \
+ user "$USERNAME" \
+ password "$PASSWORD" \
+ mtu $MTU mru $MTU \
+ $DEMAND \
+ $KEEPALIVE