2005-08-26 18:52:12 +03:00
|
|
|
#!/bin/sh
|
|
|
|
[ $# = 0 ] && { echo " $0 <group>"; exit; }
|
|
|
|
. /etc/functions.sh
|
|
|
|
. /etc/network.overrides
|
|
|
|
[ -e /etc/config/network ] && . /etc/config/network
|
|
|
|
type=$1
|
|
|
|
|
|
|
|
[ "$(nvram get ${type}_proto)" = "pppoa" ] || {
|
|
|
|
echo "$0: ${type}_proto isn't pppoa"
|
|
|
|
exit
|
|
|
|
}
|
|
|
|
|
2005-08-31 00:49:35 +03:00
|
|
|
for module in slhc ppp_generic pppoatm; do
|
2005-08-26 18:52:12 +03:00
|
|
|
/sbin/insmod $module 2>&- >&-
|
|
|
|
done
|
|
|
|
|
|
|
|
while :; do
|
2005-11-11 22:51:58 +02:00
|
|
|
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}
|
2005-08-26 18:52:12 +03:00
|
|
|
|
2005-11-11 22:51:58 +02:00
|
|
|
/usr/sbin/pppd nodetach \
|
2005-08-26 18:52:12 +03:00
|
|
|
plugin pppoatm.so ${VPI:-8}.${VCI:-35} \
|
2005-11-11 22:51:58 +02:00
|
|
|
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
|
2005-08-26 18:52:12 +03:00
|
|
|
done &
|