[ LUGOS-PROG ] ppp

Metod Kozelj metod.kozelj at rzs-hm.si
Thu Aug 23 15:16:42 CEST 2001


Howdy!

On Thu, 23 Aug 2001 zoran.bosnjak at email.si wrote:

> Imam vec socasnih ppp sej, vsako na svojem serijskem portu (16 portna kartica).
> Rabim dva skripta:
> $ppp-up N (postavi ppp preko /dev/ttySN)
> $ppp-down N (rusi ppp na /dev/ttySN)

Najbrz bi rad, da ti ppp-up N klice vedno na eno cifro, ppp-up X pa na
drugo (zopet vedno isto)?

Potem bo tvoja ppp-up izgledala nekako takole

#!/bin/sh
PORT=$1
TELEPHONE=`cat << EOF | grep "^${PORT}" | awk '{ print $2 }'
0: 1234567
1: 9876543
EOF`
export TELEPHONE
DIALER_SCRIPT=/etc/ppp/ppp-dialer
exec /usr/sbin/pppd /dev/ttyS${PORT} connect ${DIALER_SCRIPT}


Pri tem moras napisati ustrezno skripto /etc/ppp/ppp-dialer (ki bo
uporabila env variablo TELEPHONE) ter uvpisati ostalo konfiguracijo v
/etc/etc/ppp/options in /etc/ppp/options.ttySxx

Za ppp-down N pa bos rabil knjigovodstvo, ki ga lahko delas s takole
skripto:

#!/bin/sh
INTERFACE=$1
TTY=$2
LOG="/etc/ppp/interfaces.inuse"
LOCK=${LOG}.lock
#
while [ -f ${LOCK} ]; do
    sleep 1
done
touch ${LOCK}
if [ -f ${LOG} ]; then 
    cat ${LOG} | grep -v ^${TTY} > ${LOG}.tmp
    mv ${LOG}.tmp ${LOG}
fi
echo "${TTY} ${INTERFACE}" >> ${LOG}
rm ${LOCK}


ppp-down bi potem izgledala nekaj takega:

#!/bin/sh
PORT=$1
LOG="/etc/ppp/interfaces.inuse"
INTERFACE=`grep "^/dev/ttyS${PORT} " ${LOG} | awk '{ print $2 }'`
kill -INT `cat /var/run/${INTERFACE}.pid`


Lahko seveda malo vse skupaj dodelas, bistveno pa je knjigovodstvo
mapiranj med /dev/ttySN in pppX v datoteki /etc/ppp/interfaces.inuse (v
mojem primeru).

Peace!
  Mkx

---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'




More information about the lugos-prog mailing list