wvdial - PPP dialer with built-in intelligence.
SYNOPSIS
wvdial --help | --version | section...
DESCRIPTION
wvdial is an intelligent PPP dialer, which means that it
dials a modem and starts PPP in order to connect to the
Internet. It is something like the chat(8) program,
except that it uses heuristics to guess how to dial and
log into your server rather than forcing you to write a
login script.
When wvdial starts, it first loads its configuration from
/etc/wvdial.conf, which contains basic information about
the modem port, speed, and init string, along with infor
mation about your Internet Service Provider (ISP), such as
the phone number, your username, and your password.
Then it initializes your modem and dials the server and
waits for a connection (a CONNECT string from the modem).
It understands and responds to typical connection problems
(like BUSY and NO DIALTONE).
Any time after connecting, wvdial will start PPP if it
sees a PPP sequence from the server. Otherwise, it tries
to convince the server to start PPP by doing the follow
ing:
- responding to any login/password prompts it sees;
- interpreting "choose one of the following"-style menus;
- eventually, sending the word "ppp" (a common terminal
server command).
If all of this fails, wvdial just runs pppd(8) and hopes
for the best.
OPTIONS
Three options are recognized by wvdial.
--chat Run wvdial as a chat replacement from within pppd,
instead of the more normal method of having wvdial
negotiate the connection and then call pppd.
--help Prints a short message describing how to use wvdial
and exits.
Displays wvdial's version number and exits.
wvdial is normally run without command line options, in
which case it reads its configuration from the [Dialer
Defaults] section of /etc/wvdial.conf. (The configuration
file is described in more detail later.)
One or more sections of /etc/wvdial.conf may be specified
on the command line. Settings in these sections will
override settings in [Dialer Defaults].
For example, the command:
wvdial phone2
will read default options from the [Dialer Defaults] sec
tion, then override any or all of the options with those
found in the [Dialer phone2] section.
If more than one section is specified, they are processed
in the order they are given. Each section will override
all the sections that came before it.
For example, the command:
wvdial phone2 pulse shh
will read default options from the [Dialer Defaults] sec
tion, then override any or all of the options with those
found in the [Dialer phone2] section, followed by the
[Dialer pulse] section, and lastly the [Dialer shh] sec
tion.
Using this method, it is possible to easily configure
wvdial to switch between different internet providers,
modem init strings, account names, and so on without spec
ifying the same configuration information over and over.
CONFIGURATION FILE
The configuration file /etc/wvdial.conf is in Windows
"ini" file format, with sections named in square brackets
and a number of variable = value pairs within each sec
tion.
Here is a sample configuration file:
[Dialer Defaults]
Modem = /dev/ttyS2
Baud = 57600
Init = ATZ
Init2 = AT S11=50
Phone = 555-4242
Username = apenwarr
Password = my-password
Phone = 555-4243
[Dialer shh]
Init3 = ATM0
[Dialer pulse]
Dial Command = ATDP
The sample configuration file above contains all of the
options necessary to run the two sample command lines
given above. Here is a complete list of settings that
wvdial understands:
Inherits
Normally, all sections inherit from the [Dialer
Defaults] section. You can make a section explic
itly inherit from another section by naming it in a
Inherits = InheritedSection line.
Modem The location of the device that wvdial should use
as your modem. The default is /dev/modem.
Baud The speed at which wvdial will communicate with
your modem. The default is 57600 baud.
Init1 ... Init9
wvdial can use up to nine initialization strings to
set up your modem. Before dialing, these strings
are sent to the modem in numerical order. These
are particularly useful when specifying multiple
sections. See above for an example that uses Init3
to turn the modem's speaker off. The default is
"ATZ" for Init1.
Phone The phone number you want wvdial to dial.
Area Code
wvdial inserts the area code between the dial pre
fix and the phone number. In general, you will
probably wish to leave this out for dialing from
home and put into a Area Code string any additional
characters you may need to dial remotely. In most
of North America, your Phone entry will be 7 digits
(555-1234) and your Area Code will be 4 digits
(1-818). In local areas with multiple area codes,
your Phone entry will be 10 digits (818-555-1234)
and your Area Code will be 1 digit (1). In most of
europe, your Phone entry will not include your city
code, and you might want several different sections
with different "Area Code" entries; one with your
city code, another with your country code and city
code, or whatever else you need to do.
wvdial will insert this string after the dial com
mand and before the phone number (including area
code, if any). For example, to disable call wait
ing (in North America, anyway) set this to "*70".
Or in a hotel, you might have to use "9" to get an
outside line. A "," character is automatically
appended to the dial prefix, which causes a slight
pause in dialing.
Dial Command
wvdial will use this string to tell the modem to
dial. The default is "ATDT".
Login You must set this to the username you use at your
ISP.
Login Prompt
If your ISP has an unusual login procedure that
wvdial is unable to figure out, you can use this
option to specify a login prompt. When this prompt
is received from your ISP, wvdial will send the
Login string.
Password
You must set this to the password you use at your
ISP.
Password Prompt
If your ISP has an unusual login procedure that
wvdial is unable to figure out, you can use this
option to specify a password prompt. When this
prompt is received from you ISP, wvdial will send
the Password string.
PPPD Path
If your system has pppd somewhere other than
/usr/sbin/pppd, you will need to set this option.
Force Address
This option only applies if you have a static IP
address at your ISP, and even then you probably
don't need it. Some ISP's don't send the IP
address as part of the PPP negotiation. This
option forces pppd to use the address you give it.
Remote Name
If your ISP uses PAP or CHAP authentication, you
might need to change this to your ISP's authentica
tion name. In most cases, however, it's safe to
use the default value, "*".
Carrier Check
wvdial checks your modem during the connection
you have a weird modem that insists its carrier
line is always down, you can disable the carrier
check by setting this option to "no".
Stupid Mode
When wvdial is in Stupid Mode, it does not attempt
to interpret any prompts from the terminal server.
It starts pppd immediately after the modem con
nects. Apparently there are ISP's that actually
give you a login prompt, but work only if you start
PPP, rather than logging in. Go figure. Stupid
Mode is (naturally) disabled by default.
New PPPD
If you have pppd version 2.3.0 or newer, you'll
need to enable this, because new versions require a
file /etc/ppp/peers/wvdial. Enabling this options
tells pppd to look for this file.
Default Reply
When wvdial detects a prompt, and it hasn't seen
any clues that indicate what it should send as a
response to the prompt, it defaults to sending
"ppp". Sometimes this is inadequate. Use this
option to override wvdial's default prompt
response.
Auto Reconnect
If enabled, wvdial will attempt to automatically
reestablish a connection if you are randomly dis
connected by the other side. This option is "on"
by default.
The wvdialconf(1) program can be used to detect your modem
and fill in the Modem, Baud, and Init/Init2 options auto
matically.
BUGS
"Intelligent" programs are frustrating when they don't
work right. This version of wvdial has only minimal sup
port for disabling or overriding its "intelligence", with
the "Stupid Mode", "Login Prompt", and "Password Prompt"
options. So, in general if you have a nice ISP, it will
probably work, and if you have a weird ISP, it might not.
Still, it's not much good if it doesn't work for you,
right? Don't be fooled by the fact that wvdial finally
made it to version 1.00; it could well contain many bugs
and misfeatures. Let us know if you have problems by
sending e-mail to <wvdial@worldvisions.ca>.
Also, there is now a mailing list for discussion about
to say, send e-mail to <wvdial-list@worldvisions.ca>.
You may encounter some error messages if you don't have
write access to /etc/ppp/pap-secrets and /etc/ppp/chap-
secrets. Unfortunately, there's really no nice way around
this yet.
FILES
/etc/wvdial.conf
Configuration file which contains modem, dialing,
and login information.
/dev/ttyS*
Serial port devices.
/etc/ppp/peers/wvdial
Required for correct authentication in pppd version
2.3.0 or newer.
/etc/ppp/{pap,chap}-secrets
Contains a list of usernames and passwords used by
pppd for authentication. wvdial maintains this
list automatically.
AUTHORS
Dave Coombs and Avery Pennarun for Worldvisions Computer
Technology, as part of the Worldvisions Weaver project.
SEE ALSO
wvdialconf(1), pppd(8), chat(8)
Man(1) output converted with
man2html