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 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 acctmgr@merit.edu 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.'