{{tutorials/images/dialup_ubuntulogo.png}}

====== 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 [[http://sdf.org/?faq?DIALUP|FAQ&gt;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 [[http://linmodems.org/| linmodems.org]] to see if yours is supported.

===== Basic Setup: =====

Open a terminal window (click Applications&gt;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):

{{tutorials/images/dialup_ubuntu01.png}}

{{tutorials/images/dialup_ubuntu02.png}}

{{tutorials/images/dialup_ubuntu03.png}}

{{tutorials/images/dialup_ubuntu04.png}}

{{tutorials/images/dialup_ubuntu05.png}}

{{tutorials/images/dialup_ubuntu06.png}}

{{tutorials/images/dialup_ubuntu07.png}}

{{tutorials/images/dialup_ubuntu08.png}}

{{tutorials/images/dialup_ubuntu09.png}}

{{tutorials/images/dialup_ubuntu10.png}}

{{tutorials/images/dialup_ubuntu11.png}}

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 &lt;--&gt; /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: =====

  * pppconfig(8) - configure pppd to connect to the Internet
  * pon(1), poff(1), plog(1) - starts up, shuts down or lists the log of PPP connections
  * Ubuntu Community Documentation - [[https://help.ubuntu.com/community/DialupModemHowto/|Ubuntu Dialup HowTo]]
  * Debian Linux Modem Configuration - [[http://www.aboutdebian.com/modems.htm|Dial-up Modems]]

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