Installing MacPPP-- TCP/IP Access Over Serial Lines University of Michigan Information Technology Division Step-by-step S4122 November 1993 Copyright 1993 by the Regents of the University of Michigan and the Merit Network, Inc. All rights reserved. This publication may be reproduced or reprinted without the permission of the Information Technology Division of the University of Michigan as long as the copyright and source are clearly acknowledged. 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. This documentation was prepared at the University of Michigan, and contains information that is specific to using MacPPP at U-M. Much of the information will also be of general interest to network users elsewhere. 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 1. About MacPPP 2. Getting Started 2.1 Copying MacPPP to Your Macintosh 2.2 Documentation 2.3 Installation and Configuration Overview 3. Installing and Configuring MacTCP 4. Tips for Using MacPPP 5. Installing and Configuring MacPPP 5.1 Config PPP Control Panel PPP Up/Down Open/Soft Close/Hard Close Statistics Port Name Idle Timeout Echo Interval Terminal Window Hangup on Close Quiet Mode PPP Server 5.2 Configure Server Dialog Box PPP Server Name Port Speed Flow Control Tone/Pulse Dial Phone number Modem Init Modem connect timeout 5.3 Connect Script Dialog Box Wait timeout 5.4 Authentication Dialog Box Authenticating UserID and Password Retries Timeout 5.5 LCP and IPCP Options Dialog Boxes 6. Hanging Up Your Modem 7. MichNet Dial-in Numbers 8. Getting Help 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) applications over asynchronous serial lines. This means that you can use telnet, FTP, Gopher and WAIS clients, and other services directly from your Macintosh. To use PPP on a Macintosh, you need three packages: MacTCP, which is Apple's control panel device that provides a standard network interface for TCP/IP applications; MacPPP; and software that supports MacTCP, such as NCSA Telnet or VersaTerm version 4.5.3 (and later versions). You must also be dialing into a terminal server that is capable of supporting PPP, such as a Merit/MichNet Secondary Communications Processor (SCP) or Network Access Server (NAS). For more information about NAS access with MacPPP, see Dialing In to the Network Access Server (NAS), Reference R1130. See Section 2.2 below, "Documentation," for information about obtaining a copy from ITD. MacPPP 2.0.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 MacTCP and MacPPP, as described below, your dial-in TCP/IP sessions will be handled automatically. You'll simply click the Open button on MacPPP's Config PPP Control Panel (the recommended method for starting a dial-in session) 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-in session. 2.1 Copying MacPPP to Your Macintosh MacPPP is available for anonymous FTP in the file /internet.tools/ppp/mac/macppp2.0.1.hqx on the nic.merit.edu host. 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. 2.2 Documentation There are four MacPPP documentation files. Two files are included when you download /internet.tools/ppp/mac/macppp2.0.1.hqx from nic.merit.edu and decompress the file: Release Notes, which contains information on changes included in the latest version of MacPPP, and /internet.tools/ppp/mac/macppp.txt, which contains an ASCII (plain text) version of the document you're reading now. Two PostScript versions of the document you're reading now are also available on nic.merit.edu. The file /internet.tools/ppp/mac/macppp.ps.hqx 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. The file macppp.ps.Z on nic.merit.edu contains a PostScript version of the documentation in a compressed Unix format. Additional copies of this documentation, Installing MacPPP, Step-by-Step S4122, are available at the larger Campus Computing Sites or from the ITD Documentation Support Staff. To request that a copy be sent to you through campus mail, send electronic mail to itd.doc@umich.edu or call 763-8961. 2.3 Installation and Configuration Overview To get MacPPP running on your Macintosh, follow the steps below to install and configure MacTCP and MacPPP. All you need to do to configure MacPPP is change several settings on the Config PPP control panel (see section 5.1) and the Configure Server dialog box (section 5.2.) If you are a MichNet user, you may also want to enter your authenticating userID in the Authorization dialog box (section 5.4). All the other settings are optional. 3. Installing and Configuring MacTCP Follow these steps to install and configure MacTCP for use with MacPPP. 1. To install MacTCP, select the MacTCP icon and drag it onto the System Folder on your hard disk. On System 7.x machines, a dialog box will ask if you want to put it in the Control Panels Folder. Click OK. 2. On System 7.x machines, select the MacTCP control panel icon. On System 6.x machines, under the Apple Menu, choose "Control Panel." Then choose MacTCP from the control panel window. 3. Select the PPP icon in the MacTCP control panel and then click "More ..." to bring up the MacTCP Configuration Information Box. 4. Choose "server" under "Obtain Address." You do not need to enter a gateway or IP address. Do not select dynamic or manual (static) addressing. If you are using a Merit/MichNet SCP or NAS, the SCP or NAS will assign you a TCP/IP address. If you are connecting to another type of terminal server and you need to statically assign an IP address, use MacPPP's IP Control Protocol (IPCP) Options 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. 4. In the Domain Name Server Information part of the MacTCP Configuration Information Box, on the first line, enter umich.edu for the domain and 35.1.1.90 for the IP address. Click the button in the Default column. On the second line, enter '.' (a period) for the domain and 35.1.1.91 for the IP address. 4. Tips for Using MacPPP Here are several tips that may be helpful when installing and using MacPPP: You must disable XON/XOFF flow control on your modem in order to use MacPPP, as explained below in section 5.2. If you have problems using a particular application along with MacPPP, try launching MacPPP with the Open button on MacPPP's Config PPP control panel, rather than from inside the application. If you enable CTS/RTS flow control in MacPPP, you must also enable CTS/RTS flow control in your modem, and you must be using a modem cable that supports "hardware handshaking." For more information, see section 5.2. 5. Installing and Configuring MacPPP Once decompressed, MacPPP consists of two programs: a System Extension called PPP and a control panel called Config PPP. To install MacPPP, you have to install both programs. Follow these steps: 1. Select the PPP icon and drag it onto the System Folder on your hard disk. Also, select the Config PPP icon and drag it onto the System Folder on your hard disk. On System 7.x machines, if the System Folder is closed when you selected the PPP and Config PPP icons, a dialog box will ask if you want to put these files into their special places in the system. Click OK. The files should go in the Extensions and Control Panels folders, respectively. On System 6.x machines, the 'PPP' and 'Config PPP' files should go in the System folder. 2. After you have installed PPP and Config PPP, reboot your machine. 3. Next, on System 7.x machines, select the Config PPP control panel icon. On System 6.x machines, under the Apple Menu, choose Control Panel. Then choose Config PPP from the control panel window to bring up the Config PPP control panel. Once you have opened the Config PPP control panel, MacPPP will create a file called 'PPP Preferences' in the System folder (System 7.x) or the Preferences folder (System 6.x). The PPP Preferences file is required for the PPP LAP driver. 5.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 Config PPP control panel to begin and end your PPP sessions. The only parameter you need to set is the Port Name, as explained below. To enter the phone number you want to dial, click "Config..." to go to the Configure Server dialog box, described in section 5.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 PPP 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/Soft Close/Hard Close Click these buttons to open and close your PPP session, once you've configured MacPPP. If you have problems using a particular application along with MacPPP, try opening MacPPP this way, rather than from inside the application. Click Hard Close to prevent MacTCP from reopening your connection after you've ended your PPP session, or to end your PPP session if you want to use your serial port to run a traditional asynchronous program, such as a terminal emulator. Click 'Open' to manually re-open your PPP session after you end it with Hard Close. Statistics When you click this button, a dialog box with a set of counters appears. Click 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.) 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. PowerBook 100 users should select Internal Modem or External Modem on the PowerBook control panel. External modem users should select the Printer/Modem Port option from MacPPP's Port Name menu, and internal modem users should select Modem Port. PowerBook 145, 160, and 180 users should select Internal Modem or External Modem on the PowerBook control panel, and select Modem Port from MacPPP's Port Name menu. PowerBook Duo users with an Apple Express internal modem or a standard Apple internal modem should select the Modem Port option on MacPPP's Port Name menu. PowerBook Duo users with a non-Apple internal modem should select Internal Modem or External Modem on the PowerBook control panel, and select the Internal Modem option on MacPPP's Port Name menu. Users with a PowerBook Duo that is not docked should select the Printer/Modem Port option from MacPPP's Port Name menu. Users with a PowerBook Duo that is docked should select the Modem Port option from MacPPP's Port Name menu. AppleTalk users should be sure to quit AppleTalk before using the Duo's serial port for MacPPP. 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 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 the pop-up menu to specify the interval at which MacPPP should send them out-from 2 to 20 seconds. Terminal Window Click 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 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 Click this box if you want MacPPP to send the modem a hangup string (+++ ATH) when you close your PPP session. Quiet Mode Click this box to disable notification of Password Authentication Protocol (PAP) messages and idle timeout conditions. PPP Server See the next section for information on this feature. 5.2 Configure Server Dialog Box Click 'Config ...' in the Config PPP control panel to display the Configure Server dialog box, which you'll use to set the port speed, phone type (tone dial or pulse dial), and phone number. 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 5.4. Several optional parameters can also be set on the Configure Server dialog box, as described below. In the preceding figure, '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 handy 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. If you will only be accessing one host, highlight 'Untitled' and replace it with a server name-MichNet in the figure above-and configure any desired options. Click "Done." The host's name will then appear on the PPP Server pop-up menu on the Config PPP control panel. Now you can simply click the name each time you want to access that server. MacPPP will automatically establish a connection using the configuration you specified. If you want to add other servers, click 'New' in the Config PPP control panel. MacPPP will prompt you for each name, and you can then configure any desired options. Click the 'Delete Server' option button to delete server entries. Port Speed Enter the speed in bits per second for the port being used for your PPP session. For NAS users, this should be at least as fast as your modem speed. See the NAS documentation for more information. Flow Control The Flow Control pop-up menu allows you to select among several hardware flow control options. Select CTS & RTS (Clear to Send/Ready to Send), if this option is supported by your modem. CTS flow control allows the modem to run at the higher speeds provided by data compression. If you select CTS & RTS, you must also enable CTS/RTS flow control in your modem, and configure the modem to ignore DTR (the Data Terminal Ready signal). In many modems, the command to ignore DTR is 'at &d0'. If you enable CTS/RTS flow control, you must be using a modem cable that supports "hardware handshaking." So that MacPPP can detect whether your cable supports hardware handshaking, configure your modem's DCD (Data Carrier Detect) signal so that it is only present when you are connected to the remote host. This is the default for many modems. If DCD is not set this way by default, the correct reset command for many modems is &C1. Be sure that your modem is not using XON/XOFF flow control on input or output. MacPPP does not support XON/XOFF flow control. 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. Tone/Pulse Dial Click the 'Tone dial' or 'Pulse dial' button to select your type of phone service. Phone number Click 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 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/RTS flow control, if supported by your modem (see the section titled "Flow Control" above.) 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. 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 the Modem connect timeout box to change the timeout interval; you can select any number of seconds. Click the option buttons on the bottom of the 'Configure server' dialog box to bring up the Connect Script, Authentication, and LCP/IPCP dialog boxes. 5.3 Connect Script Dialog Box If you are dialing into a Merit/MichNet SCP or NAS, you do not need to enter any information in the Connect Script dialog box. The SCP or NAS will automatically detect that you are initiating a PPP session; you will not need to supply a 'PPP' string. If you are accessing a non-University of Michigan terminal server and want to use the Connect Script dialog box to initiate your PPP session, 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 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 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. 5.4 Authentication Dialog Box The only information you need to enter in the Authentictaion Dialog Box is your authenticating userID. Authenticating UserID and Password Use the Authentication dialog box to enter the authenticating userID needed to identify you to the terminal server. MacPPP uses this information to authenticate with PPP's Password Authentication Protocol (PAP), which is supported by the University of Michigan's SCPs and NASs. If you are accessing other servers, which may use text-based authentication mechanisms, you should authenticate by using the Connect Script dialog box or the terminal window available on the Config PPP control panel, rather than the Authentication dialog box. If you have a University of Michigan uniqname, a userID on UM-MTS, or a MichNet Authorization Account, enter it here. For example, if your uniqname in the UMICH.EDU realm is abcuser, abcuser@umich.edu is your authenticating userID, as shown in the example above. Similarly, if your userID on UM-MTS is abcd, abcd@um.cc.umich.edu is your authenticating userID. If you don't know what an Authorization Account 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.' If you would like to obtain a MichNet Authorization Account, check with the computing center at your institution to see if it can provide one for you. If it cannot, send e-mail to acctmgr@merit.edu or call the MichNet Accounts Manager at (313) 764-9430. Merit and the University of Michigan recommend 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 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 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. 5.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. 6. Hanging Up Your Modem In order to hang up your modem and end your PPP session, you must hang up explicitly by clicking Hard Close on the Config PPP control panel or by turning off your modem. Simply quitting your TCP/IP application, such as NCSA Telnet or VersaTerm, will not hang up your modem. 7. MichNet Dial-in Numbers Here are the Ann Arbor dial-in numbers that support PPP: 1200 bps (Bell 212A compatibles 763-6520 such as the Hayes smartmodem) 2400 bps (V.22 bis compatibles) 998-1302 9600 bps (V.32 compatibles) 998-1303 Network Access Server (NAS) 998-1300 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. 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.' 8. Getting Help If you are a student, faculty member, or staff member at the University of Michigan and you have questions about using MacPPP, contact the ITD consultants by sending e-mail to online.consulting@umich.edu or by calling 764-HELP.