Installing MacPPP --TCP/IP Access Over Serial Lines
 University of Michigan
 Merit Network, Inc.
 June 1993

(c) 1993 by Merit Network, Inc. and The Regents of the
University of Michigan.

MacPPP was developed at, and is copyrighted by, the Merit
Network, Inc. and the University of Michigan. Merit and the
University of Michigan grant an unlimited license for use and
redistribution of the executable program provided that it is not
sold for profit, either as is or as part of another product.
Charges to recover the cost of duplication and distribution are
permitted. MacPPP is offered "as is"-neither Merit nor the
University of Michigan make any guarantees about the performance
or reliability of the software.

Acknowledgements

The PPP core software engine is based on public domain code
written by William Allen Simpson, taken from KA9Q. All
modifications to the PPP core software engine necessary to
develop MacPPP and bring the implementation to compliance with
RFCs 1331, 1332, and 1334 have been performed by Merit Network,
Inc. and the University of Michigan.

In recognition of his original work, William Allen Simpson has
been granted copyright for the PPP core software engine. The TCP
header compression routines used in MacPPP were written by Van
Jacobsen and are Copyright 1989 Regents of the University of
California. These routines were heavily modified by Katie
Stevens and William Allen Simpson.

Primary development of MacPPP at Merit Network, Inc. and the
University of Michigan was performed by Larry J. Blunk. Eric
Schneider wrote many of the "LAP" interface routines necessary
for a MacTCP mdev, as well as additional support code. Glenn
McGregor provided additional code, as well as valuable input on
the project. Many other individuals also provided input, and
their support is appreciated.

Table of Contents

    Acknowledgements 3
    1. About MacPPP
    2. Getting Started
       2.1 Copying MacPPP to Your Macintosh
       2.2 Documentation
    3. Configuration
       3.1 Config PPP Control Panel
           PPP Up/Down
           Open/Close PPP
           Statistics
           Port Name
           Idle Timeout
           Echo Interval
           Terminal Window
           Hangup on Close
           Tone/Pulse Dial
           PPP Server
    3.2 Configure Server Dialog Box
           PPP Server Name
           Port Speed
           CTS (Clear To Send) Flow Control
           Phone number
           Modem Init
           Modem connect timeout
    3.3 Connect Script Dialog Box
           Wait timeout
    3.4 Authentication Dialog Box
           Authorization ID and Password
           Retries
           Timeout
    3. LCP and IPCP Options Dialog Boxes
    4. MichNet Dial-in Numbers

1. About MacPPP

MacPPP is a Macintosh implementation of PPP, the Point-to-Point
Protocol, which allows you to use TCP/IP (Transmission Control
Protocol/Internet Protocol) over asynchronous serial lines.
MacPPP makes it possible for your Mac to act as a host on the
Internet, and, therefore, as a peer with other host computers
around the world. This means that you can use telnet, FTP,
Gopher and WAIS clients, and other services directly from your
Macintosh.

To use MacPPP, you must be dialing into a terminal server that
is capable of supporting PPP, such as a Merit/MichNet Secondary
Communications Processor.

MacPPP works with applications that use MacTCP, such as NCSA
Telnet and VersaTerm 4.6 and higher. MacTCP is Apple's control
panel device that provides a standard network interface for
TCP/IP applications.

MacPPP 1.1 is a Line Access Protocol (LAP mdev) driver for
MacTCP. This version does not support AppleTalk over PPP.

MacPPP requires MacTCP 1.1 or higher, Macintosh System 6.0.5 or
higher, and a Hayes-compatible modem for dial-in connections.
You can also use MacPPP over hardwired, asynchronous
connections, but the University of Michigan discourages the use
of these connections in favor of connections to Ethernet local
area networks.

Note that using the TCP/IP protocols adds a certain amount of
overhead to your communications sessions. The additional
overhead isn't a problem when you are working at higher
communications speeds, but may slow down communications
considerably with slower modems, or when you are using certain
software applications.

2. Getting Started

Once you have finished installing and configuring MacPPP, as
described below, your dial-in TCP/IP sessions will be handled
automatically. You'll simply click on the 'Open PPP' button on
the Config PPP Control Panel or start up a software application
that uses MacTCP. Your modem will dial automatically. You can
then enter your password and proceed with your dial-up session.

To configure MacPPP, you must change several settings on the
Config PPP control panel and the Configure Server dialog box. If
you are a MichNet user, you may also want to enter your
authorization code in the Authorization dialog box. All the
other settings are optional.

2.1 Copying MacPPP to Your Macintosh

MacPPP is available for anonymous FTP on the host merit.edu in
the file:

     /pub/ppp/macppp1.1.hqx

This file is stored in an archived and compressed format, and
must be decompressed after you copy it to your Macintosh. The
file /mac/00introduction on the host mac.archive.umich.edu
explains how to decompress the file.

Once decompressed, MacPPP consists of a System Extension with
the filename 'PPP' and a control panel device with the filename
'Config PPP'. On System 7.0 machines, these files should go in
the Extensions and Control Panels folders, respectively. Once
you have opened the Config PPP control panel, MacPPP will create
a file called 'PPP Preferences' in the Preferences folder. The
PPP Preferences file is required for the PPP LAP driver.

On System 6.x machines, the 'PPP' and 'Config PPP' files should
go in the System folder. Once you have opened the Config PPP
control panel, MacPPP will create a file called 'PPP
Preferences' in the System folder.

After you have installed the system extension and the control
panel, reboot your machine.

2.2 Documentation

Two documentation files are included when you download the
file /pub/ppp/macppp1.1.hqx from merit.edu and decompress the
file. The first file, 'changes,' contains information on changes
included in the latest version of MacPPP. The second file,
/pub/ppp/macppp.txt, contains an ASCII (plain text) version of
the document you're reading now. A third file,
/pub/ppp/macppp.ps, contains a PostScript version of the
document you're reading now.

3. Configuration

Follow the steps below to configure MacPPP. Once you've
completed configuration, you can begin your PPP session either
by clicking on the 'Open PPP' button on the Config PPP Control
Panel or by launching an application that uses MacTCP.

  1. On System 7.0 machines, select the MacTCP control panel icon
  and click on 'More ...' On System 6.x machines, under the Apple
  Menu, select 'Control Panel.' Then select MacTCP from the
  control panel window, and click on 'More ...'

  Set up MacTCP for server addressing by selecting "server" under
  "Obtain Address". Do not select dynamic or manual (static)
  addressing. In most cases, the local terminal server will assign
  you a TCP/IP address. Click on the 'OK' button to save your
  changes. You do not need to enter a gateway or TCP/IP address.

  If for some reason you need to statically assign an IP address,
  use MacPPP's IP Control Protocol (IPCP) option button on the
  Configure Server dialog box. Note, however, that PPP will not
  open the connection if the terminal server is not willing to
  negotiate the address you have selected. In general, it is
  preferable to let the terminal server provide the IP address by
  leaving the address at the default setting, 0.0.0.0, in the IPCP
  dialog box.

  2. Select the PPP icon in the MacTCP control panel.

  3. On System 7.0 machines, select the Config PPP control panel
  icon. On System 6.x machines, under the Apple Menu, select
  Config PPP from the control panel window to bring up the Config
  PPP control panel.

3.1 Config PPP Control Panel

The Config PPP Control Panel leads to several dialog boxes and
windows that you'll use to configure MacPPP.

You can use the control panel to begin and end your PPP
sessions. The only parameters you need to set are the Port Name
and your phone type-tone dial or pulse dial. To enter the phone
number you want to dial, go to the Configure Server dialog box,
described in section 3.2.

Other parameters can also be used to customize MacPPP. These
optional settings are described below.

PPP Up/Down
  This icon indicates the current state of the driver-more
  specifically, the PPP IP Control Protocol. 'Open' indicates that
  PPP is ready for IP traffic. 'Down' indicates that it is not yet
  ready for TCP/IP traffic.

Open/Close PPP
  Click on these buttons to open and close your PPP session, once
  you've configured MacPPP.

  Click on 'Close' to close your PPP session if you want to use
  your serial port to run a traditional asynchronous program, such
  as a terminal emulator. Click on 'Open' to manually re-open your
  PPP session in order to use PPP again.

Statistics
  When you click on this button, a dialog box with a set of
  counters appears. Click on the Update button on the Statistics
  dialog box to show the current value of the counters and the
  current state of all supported PPP options. These options are
  documented in the PPP RFCs (e.g., RFC 1331). The RFC (Request
  for Comment) series is available for anonymous FTP on the host
  nic.merit.edu in the /documents/rfc directory.

  Most users will not need to use the Statistics dialog box.

Port Name
  The Port Name pop-up menu allows you to select the modem port,
  printer port, or any other serial ports registered with the
  Communications Toolbox. (The Communications Toolbox is included
  with System 7.0, and optional on System 6.x machines.) On some
  Macintoshes with an internal modem, you'll only be presented
  with an "internal modem" option on the pop-up menu.

  The default is the modem port. If you have registered other
  ports, MacPPP will use the Communications Toolbox to
  automatically obtain their names and the names of associated
  drivers.

Idle Timeout (minutes)
  You can use the Idle Timeout pop-up menu to configure MacPPP so
  that if your PPP session remains idle for a specified amount of
  time, MacPPP will bring up an alert box asking you if you want
  to close the session. You can either close the session or ignore
  the message.

  Leave the setting at None, the default, if you don't want to set
  a timeout interval. If you want to set a timeout interval, click
  on the pop-up menu and select a timeout interval from 5 to 120
  minutes.

Echo Interval (seconds)
  MacPPP uses a PPP packet called the "LCP (Line Control Protocol)
  echo request" to determine if your connection has been dropped.
  MacPPP sends the requests at the interval you specify; if the
  terminal server does not respond after 3 successive requests,
  MacPPP assumes that the link is down.

  If you leave the Echo Interval pop-up menu set off-the
  default-MacPPP will not send out any echo requests. If you want
  MacPPP to send out echo requests, click on the pop-up menu to
  specify the interval at which MacPPP should send out echo
  requests-from 2 to 20 seconds.

Terminal Window
  Click on this box to bring up a basic terminal emulator, which
  will appear when MacPPP is connecting with the local terminal
  server. You can then use the terminal emulator to manually type
  any commands needed to put the terminal server into PPP mode.
  Once you have entered these commands, click the 'OK' button to
  start your PPP session.

  If you click on the Terminal Window box, MacPPP will ignore the
  Phone number and Modem init fields in the Configure Server and
  Connect Script dialog boxes.

  Currently, the terminal emulator offers only basic features, and
  does not provide a cursor or scroll bar. Most users will not
  need to use the MacPPP terminal emulator.

Hangup on Close
  If this box is checked, MacPPP will send the modem a hangup
  string (+++ ATH) when you close your PPP session.

Tone/Pulse Dial
  Click on the 'Tone dial' or 'Pulse dial' button to select your
  type of phone service.

PPP Server
  See the next section for information on this feature.

3.2 Configure Server Dialog Box

Click on 'Configure server' in the Config PPP control panel to
display the Configure Server dialog box.

The only parameter you need to set on the Configure Server
dialog box are 'Phone number' and 'Port Speed.' If your modem
defaults are set up correctly, you can ignore the 'Modem Init'
field. If the defaults are not set up correctly, you'll need to
enter a modem initialization string, as described below. To
enter the information needed to identify you to the terminal
server, go to the Authentication dialog box, described in
section 3.4.

Several optional parameters can also be set on the Configure
Server dialog box. In the figure above, 'MichNet' has been
selected as the PPP Server Name. The port speed is 9600 bps, and
the phone number is MichNet's Ann Arbor 9600 bps dial-in number.

PPP Server Name
  This convenient feature allows you to set up a separate
  configuration for each host you access with MacPPP, assign a
  name to that host, and connect to it by selecting its name on a
  pop-up menu.

  Click on the 'Add Server' button to add a new server. Next,
  enter the server name-MichNet in the figure above-and configure
  any desired options. The name will then be displayed in the PPP
  Server box on the Config PPP control panel.

  Once you've finished adding servers, you can connect to any of
  them by clicking on the PPP Server pop-up menu on the Config PPP
  control panel and selecting the host you want to access. MacPPP
  will automatically establish a connection using the
  configuration you specified.

  Click on the 'Delete Server' option button to delete server
  entries.

Port Speed
  Enter the baud rate for the port being used for your PPP
  session.

CTS (Clear To Send) Flow Control
  Click on this box if you want MacPPP to use CTS for output flow
  control. CTS flow control allows a modem to run at the higher
  speeds provided by data compression. Your modem is responsible
  for providing the CTS signal.

  Currently, MacPPP does not support input flow control through
  RTS or XON/XOFF. Be sure that your modem is not using XON/XOFF
  flow control on input or output. If XON/XOFF flow control is
  enabled by default, check your documentation and use the
  appropriate modem initialization string in the Configure Server
  dialog box to disable it.

Phone number
  Click on this box to enter the phone number of the host you're
  dialing. Several MichNet dial-in numbers are listed at the end
  of this document.

Modem Init
  Click on this box to enter any initialization strings required
  by your modem. The string must be a Hayes 'AT' command. If your
  modem defaults are set up correctly, you may not need to enter a
  Modem Init string in order to use PPP.

  The Modem Init string is typically used to:

     Disable XON/XOFF flow control
     Enable CTS flow control, if your modem supports it

  MacPPP does not support XON/XOFF flow control. Be sure that your
  modem is not using XON/XOFF flow control on input or output. If
  XON/XOFF flow control is enabled by default, check your
  documentation and enter the appropriate modem initialization
  command in the Configure Server dialog box to disable it.

  CTS flow control allows a modem to run at the higher speeds
  provided by data compression. Your modem is responsible for
  providing the CTS signal.

  If you enter a Modem Init string but the phone number field is
  not set (either because you are not using a modem, or prefer to
  issue the dial command yourself), MacPPP will not send the Modem
  Init command.

  If the phone number field is set, MacPPP will automatically send
  the initialization command 'AT E0V1' to the modem. This will
  disable echoing and put the modem in verbose response mode. An
  'OK' response is expected from the modem. If you have not
  entered an additional modem initialization command in the Modem
  Init box, the phone number will then be dialed.

  If you have entered a modem initialization command in the Modem
  Init box, the command will be sent to the modem after the 'AT
  E0V1' command. MacPPP will again expect an 'OK' response from
  the modem. After MacPPP receives an 'OK' response, the phone
  number will be dialed. You may include any characters in the
  phone number that your modem will accept, e.g., a comma (,) for
  a pause between numbers.

Modem connect timeout
  By default, MacPPP will wait up to 90 seconds for a response
  from the modem before timing out. If it receives a CONNECT
  response, MacPPP will proceed to the next phase. If a BUSY
  response is received, MacPPP will attempt to redial. Click on
  the Modem connect timeout box to change the timeout interval;
  you can select any number of seconds.

  Click on the option buttons on the bottom of the 'Configure
  server' dialog box to bring up the Connect Script,
  Authentication, and LCP/IPCP dialog boxes.

3.3 Connect Script Dialog Box

If you are dialing into a Merit/MichNet SCP, you do not need to
enter any information in the Connect Script dial box. The SCP
will automatically sense that you are initiating a PPP session;
you will not need to supply a 'PPP' string to the SCP.

If you prefer to use the Connect Script dialog box, you can
enter up to eight dialog strings to establish the connection.
All of these fields are optional. Once you've established a
connection, your modem and the terminal server will exchange
information contained in the dialog strings to initiate your PPP
session.

Select the Out button in front of the seven dialog strings to
indicate that your modem should send out the string. Select the
Wait button to indicate that the string is expected to be
received from the terminal server. Control characters can be
entered using the ^ (caret) convention, e.g., '^m' for a
carriage return. The <CR> check boxes indicate that a carriage
return should be appended to the end of the dialog string.
Placing a '^m' at the end of the string also appends a carriage
return to the end of the dialog string.

The backslash (\) is a reserved character in the Connect Script
dialog box. It can be used as follows for both Out and Wait
strings:

    \r      carriage return
    \^      literal '^'
    \\      literal '\'
    \nnn    8-bit octal value

The following can be used only in Out strings:

    \b      send a break (100  milliseconds)
    \d      delay for one second
    \t     invoke the MacPPP  terminal emulator

Wait timeout (seconds)
  Click on this box to enter the number of seconds MacPPP will
  wait for each 'wait' string to be received from the local
  terminal server. The default is 40 seconds. By default, if more
  than 40 seconds elapse, MacPPP will abort the attempt to
  establish a connection. An alert box will appear, asking if you
  want to quit MacPPP or retry the connect script from the
  beginning.

3.4 Authentication Dialog Box

The only information you need to enter in the Authentication
dialog box is your authorization ID (authorization code).

Authorization ID and Password
  Use the Authentication dialog box to enter the information
  needed to identify you to the terminal server. If you have an
  authorization code, enter it here. If you don't know what an
  authorization code is, enter HELP at the Merit/MichNet "Which
  Host?" prompt to access MichNet's free Online Help System.
  Select 'ACCESS Information,' and then 'AUTHORIZATION server
  information.'

  Authorization codes comprise the host name, a forward slash, and
  your userID. For example, if you are a user at Oakland
  University and your userID is 1234, your authorization code
  would be VELA/1234.

  If you would like to obtain an authorization code, check with
  the computing center at your institution to see if it can
  provide one for you. If it cannot, send e-mail to
  [email protected] or call the MichNet Accounts Manager at (313)
  764-9430.

  Merit/MichNet recommends that you do not enter your password in
  the Authentication dialog box, even though your password will be
  blanked. Instead, leave this box blank-you'll be prompted for
  your password once you've connected to the local terminal
  server.

Retries
  Click on this box to specify how many times MacPPP should
  attempt to resend your ID and/or password, if it is unable to
  establish a connection with the local terminal server. The
  default is 10 retries. By default, MacPPP will abort the attempt
  to establish a connection after 10 retries.

Timeout (seconds)
  Click on this box to enter the number of seconds MacPPP should
  wait for the terminal server to respond to your ID and/or
  password authentication request. You can enter any number of
  seconds; the default is 3 seconds.

3.5 LCP and IPCP Options Dialog Boxes

  The LCP (Line Control Protocol) and IPCP (IP Control Protocol)
  Options dialog boxes allow you to configure the options that PPP
  negotiates with the local terminal server. In most cases, the
  defaults should work. Changing them is not recommended unless
  you are familiar with several of the documents about PPP in the
  Internet "Request for Comment" (RFC) series (RFC 1331, 1332, and
  1334). The RFCs are available for anonymous FTP on the host
  nic.merit.edu in the /documents/rfc directory.

4. MichNet Dial-in Numbers

You cannot use MacPPP on the current Ann Arbor 19,200 bps
dial-in lines. XON/XOFF is set on by default on these modems,
and MacPPP does not support XON/XOFF flow control.

Here are the Ann Arbor dial-in numbers that support PPP:

   1200 bps (Bell 212A compatibles such as the Hayes smartmodem)
        763-6520
   2400 bps (V.22 bis compatibles)         764-4800
   9600 bps (V.32 compatibles)             747-3400

MichNet's free Online Help System provides a complete listing of
MichNet access phone numbers. To access the help server, simply
enter HELP at the "Which Host?" prompt and select 'ACCESS
information.'