.\" This manual is published under the GPL.
.\" All guidelines specified in the GPL apply here.
.\" To get an ascii file:
.\" groff -man -Tascii pon.1 > pon.txt
.\"
.TH PON 1 "July 2000" "Debian Project" "Debian PPPD"
.SH NAME
pon, poff, plog \- starts up, shuts down or lists the log of PPP connections
.SH SYNOPSIS
.B pon
[ isp\-name [ options ] ]
.br
.B poff
[ \-r ] [ \-d ] [ \-c ] [ \-a ] [ \-h ] [ isp\-name ]
.br
.B plog
[ arguments ]
.SH DESCRIPTION
This manual page describes the \fBpon\fP, \fBplog\fP and \fBpoff\fP
scripts, which allow users to control PPP connections.
..
.SS pon
\fBpon\fP, invoked without arguments, runs the \fI/etc/ppp/ppp_on_boot\fP
file, if it exists and is executable. Otherwise, a PPP connection will be
started using configuration from \fI/etc/ppp/peers/provider\fP.
This is the default behaviour unless an \fBisp\-name\fP argument is given.
.PP
For instance, to use ISP configuration "myisp" run:
.IP
pon myisp
.PP
\fBpon\fP will then use the options file \fI/etc/ppp/peers/myisp\fP.
You can pass additional \fBoptions\fP after the ISP name, too.
\fBpon\fP can be used to run multiple, simultaneous PPP connections.
..
.SS poff
\fBpoff\fP closes a PPP connection. If more than one PPP connection exists,
the one named in the argument to \fBpoff\fP will be killed, e.g.
.IP
poff myprovider2
.PP
will terminate the connection to myprovider2, and leave the PPP connections
to e.g. "myprovider1" or "myprovider3" up and running.
.PP
\fBpoff\fP takes the following command line options:
.RS
.TP
.B "\-r"
causes the connection to be redialed after it is dropped.
.TP
.B "\-d"
toggles the state of pppd's debug option.
.TP
.B "\-c"
causes
.BR pppd (8)
to renegotiate compression.
.TP
.B "\-a"
stops all running ppp connections. If the argument \fBisp\-name\fP
is given it will be ignored.
.TP
.B "\-h"
displays help information.
.TP
.B "\-v"
prints the version and exits.
.PP
If no argument is given, \fBpoff\fP will stop or signal pppd if and only
if there is exactly one running. If more than one connection is active,
it will exit with an error code of 1.
..
.SS plog
\fBplog\fP shows you the last few lines of \fI/var/log/ppp.log\fP. If that
file doesn't exist, it shows you the last few lines of your
\fI/var/log/syslog\fP file, but excluding the lines not generated by pppd.
This script makes use of the
.BR tail (1)
command, so arguments that can be passed to
.BR tail (1)
can also be passed to \fBplog\fP.
.PP
Note: the \fBplog\fP script can only be used by root or another system
administrator in group "adm", due to security reasons. Also, to have all
pppd-generated information in one logfile, that plog can show, you need the
following line in your \fI/etc/syslog.conf\fP file:
.PP
local2.*		\-/var/log/ppp.log
.RE
.SH FILES
.TP
.I /etc/ppp/options
PPPd system options file.
.TP
.I /etc/ppp/pap\-secrets
System PAP passwords file.
.TP
.I /etc/ppp/chap\-secrets
System CHAP passwords file.
.TP
.I /etc/ppp/peers/
Directory holding the peer options files. The default file is called
\fIprovider\fP.
.TP
.I /etc/chatscripts/provider
The chat script invoked from the default \fI/etc/ppp/peers/provider\fP.
.TP
.I /var/log/ppp.log
The default PPP log file.
.SH AUTHORS
The p-commands were written by Christoph Lameter <clameter@debian.org>.
Updated and revised by Philip Hands <phil@hands.com>.
.br
This manual was written by Othmar Pasteka <othmar@tron.at>. Modified
by Rob Levin <lilo@openprojects.net>, with some extensions taken from
the old p-commands manual written by John Hasler <jhasler@debian.org>.
.SH "SEE ALSO"
.BR pppd (8),
.BR chat (8),
.BR tail (1).
