[ SDF Public Access UNIX System .. Est. 1987 ]

join welcome faq status members projects store tour gopher abuse dialup dsl minecraft social
tilde nihongo europa webmail gallery usermap teach irc tutorials software telnet ssh

SDF Dial-up via pppconfig and pon|poff|plog on Ubuntu

Introduction:

There are several ways to setup a PPP-based dial-up network connection on Linux. This tutorial illustrates setting up such a connection using pppconfig on Ubuntu Linux. Once set up, regular users can start, stop and monitor the network connection via pon, poff and plog. All of these tools are console-based and the initial setup requires the user to invoke superuser privileges via the sudo command.

Prerequisites:

Verify that the modem is installed correctly and that pppconfig, pon, poff and plog are present on your system (all should be part of the base Ubuntu install). The which command is useful for this: ie. which pppconfig should return /usr/sbin/pppconfig. Also have your SDF Dial-up account information at hand: username, password, local access number. See FAQ>DIALUP for details.

A word about modems: most internal modems are "WinModems" (MS Windows only) and will not likely work with Linux; the best option is an external "hardware modem" that connects via a serial or USB port. Such modems contain their own controller chip (hence the term "hardware modem") and do not rely on special drivers to function. That said, if all you have is a WinModem it is possible that someone has created a Linux driver for it; check at linmodems.org to see if yours is supported.

Basic Setup:

Open a terminal window (click Applications>Terminal ; maximize window) and invoke pppconfig using the sudo command:

# mr_retro@rustbucket:~$  sudo pppconfig
[sudo] password for mr_retro:

pppconfig should launch ; it's a curses-based application that uses the TAB and Up/Down Arrows to move between fields, SPACE to toggle fields on/off and ENTER to select. The following screens show an account call SDF_dialup being set up for a 56K external modem installed on serial port /dev/ttyS1 for fictional SDF user mr_retro authenticating via PAP to tenex.org (the SDF radius server):

If you made a mistake anywhere you can re-start pppconfig and edit your newly created account. Use the "Advanced Options" for making tweaks to your modem's initialization settings.

Starting, Stopping and Monitoring the Dial-up Network Connection:

Startup:

pon gets your dial-up network connection going:

# mr_retro@rustbucket:~$  pon SDF_dialup

You should hear the modem initiating the handshake. If all goes well you should be connected; use ping to test:

# mr_retro@rustbucket:~$  ping -c1 sdf.org
PING sdf.org (192.94.73.15) 56(84) bytes of data.
64 bytes from SDF.ORG (192.94.73.15): icmp_seq=1 ttl=248 time=72.7 ms

--- sdf.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 72.726/72.726/72.726/0.000 ms

Monitoring:

plog provides a simple PPP log file interface. It accepts the same options as tail(1) ; use -f to provide an on-going dump of events in a separate terminal:

# mr_retro@rustbucket:~$  plog -f
Jan 12 15:16:05 rustbucket pppd[2039]: pppd 2.4.5 started by mr_retro, uid 1001
Jan 12 15:16:06 rustbucket chat[2042]: abort on (BUSY)
Jan 12 15:16:06 rustbucket chat[2042]: abort on (NO CARRIER)
Jan 12 15:16:06 rustbucket chat[2042]: abort on (VOICE)
Jan 12 15:16:06 rustbucket chat[2042]: abort on (NO DIALTONE)
Jan 12 15:16:06 rustbucket chat[2042]: abort on (NO DIAL TONE)
Jan 12 15:16:06 rustbucket chat[2042]: abort on (NO ANSWER)
Jan 12 15:16:06 rustbucket chat[2042]: abort on (DELAYED)
Jan 12 15:16:06 rustbucket chat[2042]: send (ATZ^M)
Jan 12 15:16:06 rustbucket chat[2042]: expect (OK)
Jan 12 15:16:08 rustbucket chat[2042]: ATZ^M^M
Jan 12 15:16:08 rustbucket chat[2042]: OK
Jan 12 15:16:08 rustbucket chat[2042]:  -- got it
Jan 12 15:16:08 rustbucket chat[2042]: send (ATDT5551234567^M)
Jan 12 15:16:08 rustbucket chat[2042]: expect (CONNECT)
Jan 12 15:16:08 rustbucket chat[2042]: ^M
Jan 12 15:16:41 rustbucket chat[2042]: ATDT5551234567^M^M
Jan 12 15:16:41 rustbucket chat[2042]: CONNECT
Jan 12 15:16:41 rustbucket chat[2042]:  -- got it
Jan 12 15:16:41 rustbucket chat[2042]: send (\d)
Jan 12 15:16:42 rustbucket pppd[2039]: Script /usr/sbin/chat -v -f /etc/chatscripts/SDF_dialup finished ...
Jan 12 15:16:42 rustbucket pppd[2039]: Serial connection established.
Jan 12 15:16:42 rustbucket pppd[2039]: using channel 6
Jan 12 15:16:42 rustbucket pppd[2039]: Using interface ppp0
Jan 12 15:16:42 rustbucket pppd[2039]: Connect: ppp0 <--> /dev/ttyS1
...

Stopping:

poff shuts down your dial-up network connection:

# mr_retro@rustbucket:~$  poff SDF_dialup

You should hear the modem drop the connection ; verify with plog:

# mr_retro@rustbucket:~$  plog
...
Jan 12 15:16:45 rustbucket pppd[2039]: Script /etc/ppp/ip-up finished (pid 2046), status = 0x0
Jan 12 15:30:18 rustbucket pppd[2039]: Terminating on signal 15
Jan 12 15:30:18 rustbucket pppd[2039]: Connect time 13.6 minutes.
Jan 12 15:30:18 rustbucket pppd[2039]: Sent 39110 bytes, received 406951 bytes.
Jan 12 15:30:18 rustbucket pppd[2039]: Script /etc/ppp/ip-down started (pid 2083)
Jan 12 15:30:18 rustbucket pppd[2039]: sent [LCP TermReq id=0x2 "User request"]
Jan 12 15:30:18 rustbucket pppd[2039]: Script /etc/ppp/ip-down finished (pid 2083), status = 0x0
Jan 12 15:30:18 rustbucket pppd[2039]: rcvd [LCP TermAck id=0x2]
Jan 12 15:30:18 rustbucket pppd[2039]: Connection terminated.
Jan 12 15:30:20 rustbucket pppd[2039]: Exit.

References:

$Id: dialup_ubuntu.html,v 1.2 2011/01/16 09:43:09 jgw Exp $

©1987-2065 SDF Public Access UNIX System, Inc. 501(c)(7)
(this page was generated using ksh, sed and awk)