OSMKDOPS - CONFIGURING THE "DIAL OTHER INTERNET PROVIDERS" DIALER FOR ALTERNATE PROVIDERS 07/11/96 ====================================================================== Configuring the "Dial Other Internet Providers" Dialer for Alternate Providers ====================================================================== Please Read Entire Document for Full Explanation of Procedures -------------------------------------------------------------- DESCRIPTION The IBM Internet Connection for OS/2, when used with the default service provider, Advantis, provides easy-to-use hard-coded access to the Internet through the IBM Internet Dialer. This document is for those who have an alternate service provider and want to use the "Dial Other Internet Providers" dialer to access the Internet. This is a detailed document, describing the fields in the Add Entries notebook for the dialer and how to correctly add an entry to connect to an alternate provider. Also included is a section on common problems and their solutions. RESOLUTION What is SLIPPM? ---------------- SLIPPM is an OS/2 Warp object-oriented application that is designed to simplify connecting to a serial line Internet protocol (SLIP) or point-to-point (PPP) provider. Basically, a provider makes available a connection point for your modem so that you will have access to the Internet through the provider. SLIPPM saves the settings needed to connect to a provider. When you are ready to establish communications, it uses the SLATTACH command to dial the provider's phone number, and then sends your user ID and password. When requested, SLIPPM will send your mail ID and password, and other information such as your WWW server, news server, and gopher server. SLIPPM can use a response file (.rsp), a REXX program, or simply a wait-for and reply-with script in the login sequence area of the dialer to handle a static or dynamic SLIP or PPP connection. What Do I Need to Connect? ----------------------------- To establish a connection to an alternate provider, you will need to complete the following fields: Login Info --------- * Name: Enter the name of the provider * Description: Enter an optional description * Login ID: Enter your login ID Note: If your provider requires that you put a 'P' or 'S' in front of your login ID so that it will know to go into PPP or SLIP, then do not enter the 'P' or 'S' here. Don't forget that your provider's server may be case-sensitive. * Password: Enter your password Note: Ensure that your password does not contain any spaces. A space is an invalid character and will result in the dialer failing to dial. Again, don't forget that your provider's server may be case-sensitive. * Login Sequence: This is the most important part. Notes: See section on Forming A Login Sequence. There is no standard way to connect to a provider. This is where we need to determine what the server is expecting for their login. If the provider is using PAP (Password Authentication Protocol) or CHAP (Cryptographic Handshake Authentication Protocol), the login sequence must read NONE. * Connection Type: SLIP or PPP * Inactivity Timeout Option: This can be set to hang up after a specified time period or shut off so that the dialer will not hang up due to inactivity. Note that this does not mean the server can't terminate the connection due to inactivity. Connect Info ------------- * Your IP Address: Your IP address This is where you will enter your IP address if you have a static account. If you have a dynamic account, leave this entry blank. If a provider says that your IP address is X.X.X.X, then you have a dynamic connection. Leave the entry blank. Do not enter 0.0.0.0 as your dynamic IP. * Destination IP Address: The IP address of the provider's server Enter the IP address of the destination if the dial up is a static connection. Otherwise, leave this entry blank. * Netmask: The provider's netmask If you have a static dial up connection, enter the provider's netmask. For example, 255.255.255.0 is a standard class C network and this is the most common netmask. * MRU Size: Maximum Response Unit If you are using SLIP, default will be 1006; for PPP the default is 1500. * VJ (Van Jacobson) Compression: This is to enable header compression. This must be on if your provider uses header compression or the connection will fail. Your provider will provide this information. * Domain Nameserver (DNS): The address of your provider's nameserver * Your Host Name: The alias for your system on the Internet For a dynamic connection, this should be left blank. For a static connection, your dial up host name can be determined from your provider. * Your Domain Name: The domain name of your provider This is usually the second part of your e-mail address (just the domain). For example, your e-mail address is in the format: userID @ domain. Server Info ----------- * Default Servers / Hosts: Define default servers This is where you can define the default servers you want to connect to when you logon. Here, you define a news server, gopher server and WWW server. * Mail Server Information: Information to connect to your mail server - Mail Gateway: The name of the provider's SMTP (Simple Mail Transfer Protocol) mail server; can be the same as the POP server. - POP Mail Server: The name of the provider's POP server - Reply Domain: This is the second part of your e-mail address (the reply_domain), after the @ sign; for example, userID @ reply_domain. - Reply (Mail) ID: This is your user ID. Enter only the first part of your e-mail address without the @ sign. - POP Login ID: This is your login ID to access the mail server. Usually this is the same as your login ID, but can be different. - POP Password: This is your password to access the mail server. Modem Info ----------- * Modem Type: Select your modem from the list of modems. Note: If your modem is not listed, select Hayes Compatible. The correct modem setting is especially important if different classes of modems are involved in the connection. * Com Port: Select the COM port that your modem is on. * Speed: Select the baud rate that you will connect with. Note: If you are using a 14400 modem, it is recommended that you set this to 38400. If using a 28800, you'll want to set this to 57600. An Internet connection requires a minimum of a 9600 baud connection. Also, setting the baud rate higher may make the modem connection fail. * Databits, parity, Prefix: Leave these on their default values. * Init Strings 1 & 2: The init strings that will be passed to the modem before dialing. These can be modified manually if needed. * Call Waiting: Check this if your phone line has call waiting to disable it before calling out. Forming a Login Sequence --------------------------- Of all the information provided in the Settings notebook, the Login Sequence is one of the most important fields to fill in to establish an Internet Connection with an alternate provider. The default is NONE which assumes that the provider is starting a SLIP or PPP connection immediately after it passes the user ID and password. The default can be used for connections that prompt only for user ID and password and then start either a dynamic PPP or SLIP or a static SLIP. This cannot be used for a dynamic SLIP connection. If your provider is using PAP or CHAP, the login sequence must read NONE. You can also specify the path (in lowercase) to a response file or REXX program here. Elements of a Login Sequence ------------------------------ The SLATTACH command is very important when logging in, because it is SLATTACH and not SLIPPM that uses the script or login sequence. It supports the following six escape characters that can be used in forming a login sequence: \d - Forces a 2 second delay. This is useful to provide additional time for servers to handshake before trying to negotiate. \n - Generates a carriage return followed by a line feed \r - Generates a carriage return \q - Toggles to quiet mode \s - Generates a physical space when required ^ - Sends a control You can also use: [LOGINID] - Sends the contents of your login ID field entry [PASSWORD] - Sends the contents of your password field entry If your connection is dynamic SLIP, you will also have to use the following in your script: [$IPADDR] - Parses the text to get the IP ADDRESS returned [$IPDEST] - Parses the text to get the destination IP returned Example of How to Obtain Login Sequence Information from the Provider --------------------------------------------------------------------- You will need to use a terminal communications program such as HyperAccess Lite for OS/2, which comes with the BonusPak, or any other application that does VT100 or ANSI terminal emulation. If the provider is using PAP or CHAP to authenticate the connection, this type of login does not apply and will not work. 1. Dial up the provider's Internet dial up number. 2. When you connect, note whether it is necessary to press Enter to get a login prompt or whether it goes to a login prompt right away. If you need to press Enter, then you'll need to add a \r to the beginning of your login sequence. 3. Note what the prompts end with as you are logging in. For example, most prompts end with a colon ":" but if you are logging into a UNIX server, the prompts will end with a greater-than sign ">." 4. Take note of each prompt you see and how you have to satisfy the request. 5. At the end of the requests, the server will then attempt to start a PPP or SLIP connection. Since you are only using a terminal program to dial in, it will never complete. Go ahead and hang-up. 6. Once you have configured the login sequence for a dynamic PPP or SLIP connection or a static SLIP connection, the dialer will automatically fulfill these requests. Example Login Scripts ----------------------- For a dynamic/static PPP connection: ----------------------------------------------------------------- \d - A 2-second delay : - Waiting for a colon, for example, login: P[LOGINID] - Passing a "P" then the login ID : - Waiting for a colon, for example, password: [PASSWORD] - Passing the password ------------------------------------------------------------------- Another dynamic/static PPP connection: ----------------------------------------------------------------- \r - A carriage return : - Waiting for a colon, for example, login: [LOGINID] - Passing a "P" then the login ID : - Waiting for a colon, for example, password: [PASSWORD] - Passing the password > - Waiting for a ">" prompt ppp\sdefault - Sends "ppp default" ----------------------------------------------------------------- A dynamic SLIP connection: ---------------------------------------------------------------- \d - A 2-second delay : - Waiting for a colon, for example, login: [LOGINID] - Passing the login ID : - Waiting for a colon, for example, password: [PASSWORD] - Passing the password is\s[$IPDEST]\sis\s[$IPADDR] - Parsing in the IP addresses ----------------------------------------------------------------- The last line of the dynamic SLIP connection deserves a little more explanation; a dynamic SLIP connection is the hardest connection to properly configure. Note: It is required that the server echo back both the user's IP address and the remote/destination IP address. If this does not happen, you will not be able to establish a connection. This is what the last line is doing: At the end of the login, the server will reply with something like: "The destination address is (X.X.X.X) Your IP address is (X.X.X.X)" The last line of the login sequence serves to capture only the portions of the text that contains the IP addresses you want to configure to, and then parse them into the two variables [$IPDEST] and [$IPADDR]. It is looking for an "is" followed by a space; then the destination IP address. Then, it ignores a series of spaces and looks for another "is" followed by a space, then parses the user's IP address. Common Problems and Their Solutions ----------------------------------- Question 1 ---------- I try to dial and nothing happens...it changes the icon to hang up, and then right back to dial. Answer Either the PPP or SLIP driver cannot start, or there is an invalid entry in the settings that was not detected. A common invalid setting is the netmask. If you see something like 255.255.255.254, change it to 255.255.255.0. Another common problem is placing a physical space in the loginid or password. In the dialer, a physical space is an invalid character and will result in the dialer failing to parse the configuration information and not dial out. To represent a space, rem ember to use a "\s." Otherwise, you should try to initialize the SLIP or PPP driver from command line. For more information, type PPP -?, or SLIP -? at an OS/2 command prompt. Examples: PPP COM1 57600 should result in: PPP OS/2 TCP/IP Point-to-Point Protocol Driver 2.00 Copyright(c) IBM Corp. 1994, 1995 Revision: 1.17a 29 Mar 1996 14:00:00 notice : OS/2 ppp 2.00 Revision: 1.17a started by OS/2, pid 216 info : Using interface ppp0 info : Setting line characteristics info : Setting com port baud rate to 57600 notice : Linking: ppp0 <--> com1 and, SLIP should result in: SL/IP OS/2 TCP/IP Multiple Interface SLIP Drive 2.00 Copyright(c) IBM Corp. 1993,1994,1995 Revision: 1.28 20 Oct 1995 13:57:56 Current bit rate is 57600 MON ] SLIP Driver Running. Exit with Ctrl-C or Ctrl-Break Question 2 ---------- I tried to initialize PPP from command line and got the following message: "PPP not supported under this stack." Answer You have installed a networking product that has downleveled the MPTS (Multi-Protocol Transport Services) on the system. You need to install the MPTS from OS/2 Warp Connect to update the MPTS to support PPP. Question 3 ---------- The PPP driver has started, but I see errors that say "COMW, only 1 of 52 bytes written." Answer Your COM port drivers need to be updated. Updated drivers, with a filename of WARPCOM.ZIP, can be obtained from the following sites: SDM BBS: (512) 823-0345 in area 3 INTERNET: anonymous FTP site testcase.boulder.ibm.com in the /ps/fromibm/os2 directory Question 4 ---------- I attempt to start PPP from command line and I get: "Error 22 during DOSDEVIOCTL." Answer This indicates that the IBM TCP/IP protocol is not installed in the MPTS configuration for LAN Adapters and Protocols. This protocol must be installed here even if you are not doing TCP/IP over a LAN. Question 5 ---------- It appears that I have connected to the Internet Provider, but I saw "Invalid Protocol 2080" errors during the connection. What does that mean? Answer This notice is fine as long as the connection continues. Basically, it means that either the server or the client started the IP negotiation before the other was ready. If this notice results in losing the connection, then reexamine your login sequence. Question 6 ---------- It appears that I have connected to the Internet Provider, but I see "Invalid FCS" errors. What does that mean? Answer Basically, "Invalid FCS" equates to a bad packet received by either the server or client. FCS stands for Frame Check Sequence. A few of these usually implies a dirty phone line. If you are getting many of these, examine the COM port drivers used, or the modem initialization used to connect to your provider's modem pool. This could also be the result of an incorrect login sequence. ______________________________________________________________________ IBM disclaims all warranties, whether express or implied, including without limitation, warranties of fitness and merchantability with respect to the information in this document. By furnishing this document, IBM grants no licenses to any related patents or copyrights. Copyright (c) 1994, 1995 IBM Corporation. Any trademarks and product or brand names referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.