[Cube] [Bar]


PPP Troubleshooting on the BeOS Preview Release

 

This document is a troubleshooting guide which attempts to answer some of the major questions that people have been having surrounding PPP under the BeOS Preview Release. It is quite incomplete, but hopefully it will give you some guidance in solving your problem with PPP.

This document is aimed at people using the BeOS Preview Release. If you are still using the DR8 release of the BeOS, check the guidelines for troubleshooting PPP under DR8 instead.

This page was last updated on July 23, 1997.


Please note that this document does not attempt to explain creating a PPP interface under the BeOS. The BeOS User's Guide, in the section titled "Network Interfaces for Modem Connections" explains this process.

If, after using the instructions to create a PPP Network interface, you are still having problems, it's time to start working on troubleshooting. Generally, PPP problems (and solutions) can be broken down to these areas:

Note: Some of the suggestions below require you to edit various network settings files manually. Whenever you edit any of these files, you need to open the Network settings application, and click the "Restart Networking" button for the changes you've made to the settings to actually take effect.

Caution: More importantly, you need to back up any network settings file whenever you make manual changes. This is because if you ever make and save changes using the Network preferences application, the settings file may be overwritten, and your manual changes will be lost.

 

You're Not Sure How to Use PPP


The BeOS User's Guide for the Preview Release is available on the Be web site, in the Documentation section:

http://www.be.com/documentation/index.html

The relevant section to read for details of connecting your BeOS system to the Internet, including via a PPP connection, are in chapter 4 "Connecting the BeOS to the Internet," in the section "Network Interfaces for Modem Connections." You should definitely read the entire chapter, and particularly that section, to understand certain concepts about connecting BeOS systems to the Internet.

Here are a few quick tips about PPP that you might miss in the new User's Guide:

  • The Connect application has nothing to do with PPP, and in fact can cause contention with PPP over the use of the serial (modem) port. See the FAQ on Connect for details.

  • You initiate a PPP connection by using a network tool to connect to a non-local service, for example, clicking the Be Home Page link in NetPositive.

  • If your service provider is using the CHAP authentication protocol (their documentation should tell you this), you cannot use PPP on the BeOS with that provider. The BeOS is not compatible with CHAP at this time. Ask your provider if they can support the PAP protocol in addition or instead.

 

Bad or Incorrect Modem Cable


It is possible that your modem cable is bad, or not wired correctly. A modern modem cable is required for PPP to work properly. The cable should wire the RTS, CTS, and DTR lines. Many older cables do not correctly wire all of these lines.

If you suspect that your modem cable could be bad, or incorrectly wired, borrow a friend's cable, or buy a new one at a store on the condition that you can return it if it doesn't solve your problem. Connect your modem using the new cable, and try your PPP connection again.

 

Unsupported Modem


The following modems are unsupported on the BeOS:

  • Apple GeoPort Telecom Adapter Pod (GeoPort "Modem")
  • Apple Express Modem
  • Global Village TelePort Gold II

If you are trying to use PPP with any of these modems, you will be unable to make it work. These are not true modems in the sense that portions of the modem hardware are emulated in software. This software runs under the Mac OS, but equivalent software has not (yet) been written for the BeOS.

Further details regarding why these modems do not work under the BeOS can be found in the FAQ section of the web site, if you're interested.

 

Serial Port Busy


If you received a message like "can't open /serial/dev1", this means your serial port is in use by something else on your system, and so cannot be used by PPP. There are several possible reasons why this might be the case:
  • You tried to use Connect to start PPP (which it won't do), and now Connect has tied up the serial port.

    In this case, you can try quitting Connect and attempt to connect using NetPositive. If that doesn't work, try restarting your machine, and then attempt the connection in NetPositive.

  • Your serial port is being tied up by the serial debug output.

    In this case, you should try connecting your modem to the other serial port on your Mac. After plugging the modem into the other serial port, try your connection using NetPositive.

 

Unresponsive Modem


If you are not getting a dial tone when you try to initiate a PPP connection, or if your modem cannot connect to your ISP's modem, the problem is most likely an incorrect modem initialization string.

Different modems require different initialization strings. These strings set the modem to the correct configuration for establishing the connection with the service at the other end of the phone line. You choose the modem string by selecting your modem (brand and model) from the Modem pop-up menu in the PPP configuration panel dialog of the Network preferences application.

If you do not find your modem in the pop-up menu, or if your modem is there but does not seem to work, you will need to edit the file that contains the initialization strings, and add a new modem/string combination to the file. This process is very simple:

  1. Open the /boot/beos/etc/modems.ppp text file by opening it with the StyledEdit application.

  2. Add a new blank line to the file. Putting it at the beginning makes it easy to get to in the (very long) menu.

  3. Type the name of the modem/string combo, without spaces (for example, "Global_Village_Custom_288").

  4. Type a space.

  5. Type the initialization string for this modem (say, "AT&F1", which works on my GVC TelePort Platinum).

  6. Save your changes and close the file.

  7. Return to the Network preferences application and choose the new modem in the Modem pop-up menu.

  8. Restart networking.

  9. Attempt your connection.

To help you determine what initialization string to use, details regarding the settings which must be enabled or disabled on your modem can be found in the BeOS User's Guide: Changing the Modem Initialization String (even if the instructions for how to do it are incorrect, the string you build will be the same).

If you cannot find the initialization string for your modem in the modem string listing file, or the one you found doesn't work correctly, try using an initialization string for a different modem made by the same manufacturer.

If even that fails, try looking for the initialization string in a connection script that successfully uses the modem on the Mac OS side (or on a Mac or PC using that modem temporarily, should you be using a BeBox).

 

Modems Connect, Authentication Fails


If your modem is in fact connecting to your ISP's modem pool, but the connection is not getting past the authentication process, then you most likely have an incorrect (for your ISP's particular PPP server) PPP connection script. This script is chosen by the Server Type pop-up menu of the PPP connection settings dialog.

The PPP connection script handles sending your name and password (and sometimes a connection protocol request) to the remote PPP server, in response to the server's prompts. It works quite simply, waiting for the server to send particular strings, and then sending other strings back to the server.

The first thing to try is changing the Server Type to either "Standard PPP" or "Unix login", whichever one you don't have chosen now. "Standard PPP" tells the BeOS to use PAP to log you in; "Unix login" uses a more traditional Unix style method to log in. If neither of those works, try any other options you see, in order, except for the "Manual" option.

Unfortunately, there is no universal script that will work with all PPP servers. The default scripts that come with the BeOS will work for many PPP servers, but not all. If none of the scripts work with your service provider, you can use the "Manual" option, and log in manually every time, or you can write your own PPP connection script.

There are no easy steps to follow to do this, so we can only give you guidance regarding writing a PPP connection script. You will need to either learn a fair amount about PPP login procedures, or work with your ISP's technical support group, to determine the exact script to use.

You will probably find checking the "Display chat when connecting" checkbox to be extremely helpful in determining what your PPP connection script should be. This will give you a small terminal window that appears when you connect, which will let you see exactly what the server is sending, and what the BeOS is sending back (which might not be working), and more importantly, it will let you figure out what the BeOS should be sending.

PPP connection scripts are stored in a text file, located at /boot/beos/etc/servers.ppp, and can be modified by using the StyledEdit application. Each line of the servers.ppp file is a single PPP connection script, and each script contains space-separated strings (send-string expect-string send-string expect-string...). For example, the "Unix login" PPP connection script is:

\T\e ogin:\s \d\u assword: \d\w\r\S

Explanation:

  1. \T\e -- display the terminal window, and don't send a return, this is a do-nothing line
  2. ogin:\s -- wait for the string "ogin:<space>" to be sent from the server
  3. \d\u -- delay one second, then send the username (and the implied carriage return)
  4. assword: -- wait for the string "assword:"
  5. \d\w\r\S -- delay one second, then send the password, a carriage return, and then start the actual PPP session

Here are the special "escape codes", or tokens, which let you insert special characters or character strings into the modem initialization string or the PPP connection script (case matters with these, beware the upper and lower case "s"/"S" and "n"/"N" tokens!):

\s  --  a space
\n  --  a newline (linefeed)
\r  --  a carriage return
\e  --  don't enter a carriage return after the send string
\d  --  delay for one second
\S  --  end login sequence and start PPP protocol
\N  --  do nothing, go to next item in script
\T  --  start up a terminal window (display and write)
\#  --  a hashmark (reserved to allow comments in the
servers.ppp file)
\p  --  inserts the PHONE_NUMBER into the string
\u  --  inserts the USERNAME into the string
\w  --  inserts the PASSWORD into the string

\T starts up a terminal window. This window will show you the login sequence as it happens, and it accepts keyboard input and has a "Start PPP" button, so you can manually start up PPP. This is extremely useful, for example, if you need to enter a security code which changes for each login.

The \e token might seem unnecessary, but you need this sometimes because normally a carriage return will be sent automatically after a send string (for example, after the USERNAME), and sometimes you don't want that (though that is unusual).

Likewise the \N token, but it is sometimes useful if you are expecting two strings from the server, for example, and you don't want to send anything in between.

Note: The modem initialization string and the PPP connection script both separate each string with a space. If you need to actually send a command that includes spaces, you need to "escape" them using the \s!

 

Other Problems and Problem-Solving Techniques


It is possible that your ISP is using dial-up hardware which does not implement its PPP support completely to the specification. In this case, your modems would connect, but then nothing would happen.

Or perhaps you are having other problems that are not dealt with specifically here. Before you send in a request to Be's customer support department, you might try the following (we'll ask you to try it when you contact us):

  • After making sure that you have no network connections active or transfers in progress, click the Restart Networking button in the Network preferences application. If the BeOS tells you networking cannot be restarted, you need to reboot your machine. Then try your PPP connection again.

  • Try different baud rate settings for your modem (the Speed pop-up menu in the Serial Settings for a PPP connection). 19200 is a good one to try first. Trying speeds faster and slower than your modem can support is a good idea.

  • Check the "Display chat when connecting" checkbox in the Debug Settings for a PPP connection. This will open a small terminal window where you can see the progress of your connection. You may see an obvious mistake, or more likely, you'll find information that will help you modify your Server Settings script, or help us track down your problem.

  • If all else fails, we will probably ask you to check the "Log all bytes sent/received" checkbox in the Debug Settings for a PPP connection, and then have you send us the resulting log files to look at. These log files will be located at /boot/var/log/ppp-read.log and /boot/var/log/ppp-write.log, and they will tell us everything that happened between your modem and your ISP, which may help us diagnose the difficulty.


Copyright ©1997 Be, Inc. Be is a registered trademark, and BeOS, BeBox, BeWare, GeekPort, the Be logo and the BeOS logo are trademarks of Be, Inc. All other trademarks mentioned are the property of their respective owners.
Icons used herein are the property of Be Inc. All rights reserved.
Comments about this site? Please write us at webmaster@be.com.