Chapter 7. Modem Troubleshooting
What is an adequate level of documentation for my Modem?
I cant stress this point enough: Most modems come with documentation that describes that particular modems features. You need all that documentation, and you may need more. Included in this documentation is the AT command list. Although many modems contain similar command sets, there are variations from manufacturer to manufacturer, and from model to model, and even from one product revision level to another. That means you need to be extremely aware of what youre dealing with, and keep all the information for every modem you will every have to support in an easily accessible place.
Sometimes even the printed information that comes with a modem is not really enough for you to really understand that modem and support it. In that case, the company web site and the included CD-ROMS may contain additional information.
Its not all that bad, though. Some modems, like the US Robotics Sportster and Courier support the AT$ command that lists the supported AT commands and what they do. AT&$ lists the commands starting in "&" and what they do. Some other modems have similar "help" features, but for most modems you will need external documentation to help you when configuring a modem.
What If I Dont Know What Kind of Modem it Is?
Most modems support the ATI command to return information about the modem. Try typing in ATI0, then ATI1, ATI2, etc, until the modem returns error. Each of these strings is configuration information about the modem, hopefully including details of the model, and its configuration.
Checking Flash and SRAM Configuration Storage
A modems configuration settings are usually stored inside the modem in flash memory, or in battery backed SRAM memory, and are kept when the modem is turned off. In most modems you write the current Setup to the flash with the AT&W command. If the settings in the flash are not working, you can return to factory defaults with the AT&F command.
Its a good idea to have a printout of a working configuration from the modem by gathering the current configuration, and printing it out. Your modem may have a different method of gathering this
information, but on many modems you use the ATI commands:
ATI1
ATI2
ATI3
Etc.
On some modems the command is AT\S. You need your manuals to find this information.
Checking S Registers
One of the most arcane parts of a modem configuration is the S Registers. S Registers are a catch-all area for various parameters of modem configuration. There are usually 255 of these registers, or less, and they usually hold a value from 0 to 255. By standard agreement S0, the first S Register, holds the systems auto answer setup. If it is set to zero the modem will not automatically answer. If it is set to a number other than zero, the modem will answer after that many rings. For example ATS0=1 means auto-answer after the first ring, and ATS0=3 means auto-answer after three rings.
Some of these registers are actually not supposed to be modified directly. Hopefully your modem manual will explain this. Other registers might be very difficult to change, for example, a register with 8 bit mapped options requiring you to convert from decimal to binary in your head to change the value.
Checking DIP Switches and Jumpers
DIP Switches are the little toggle switches on your modem. Often on the back or side of a device, and sometimes inside a device, and requiring you to open them up to change them. Sometimes you need the manual just to know what a dip switch or jumper even does.
Troubleshooting External Versus Internal Modems
Internal modems are really the same as external modems, but with a few different parts. Rather than connecting using a more open standard such as an RS-232 port, internal modems plug right into your computer.
Most IBM PC Compatible machines use ISA card slots, although the PCI bus standard is slowly replacing ISA for most purposes. PCI modem cards are not widely available, yet.
Whats a UART?
Onboard the internal modem card there is a complete modem, and an interface circuit called a UART. A UART is the hardware that does RS-232. You probably would refer to it as a COM Port. There are two UART chips, or else a single UART chip containing two com ports in most PCs. These are usually referred to as COM1 and COM2. When you are installing an internal modem, you need to set up the UART hardware as well as the modem. This means a few additional dip switches have to be set on the modem card. Getting into IO addresses and IRQ Conflicts is beyond the scope of this manual, but remember when troubleshooting to think about this sort of thing.
What kind of UART do you have?
Your modem probably has a 16550A UART. Any recent model PC also probably has this upgraded model of serial chip. The older chips including the original 16550 which was defective, and the 16450 and 8250 UART chip do not have the very important buffers. Without these buffers there are a variety of conditions which can occur, usually resulting in lost data and corrupted communications.
To check what kind of UART chip you have, you can check in your Ports section of the Control Panel in Windows, or use the MSD utility included in DOS 6 or Windows 3.1.
Hint: Dont Use Plug & Play
You can use "Plug And Play" configuration if you have Windows 95 or 98, and if it works, but if you are using Windows 3.x or Windows NT, you shouldnt use Plug & Play.
Internal modems are usually a little cheaper. This is because they dont include a power supply, a plastic case, or status LEDs. They are a little cheaper to build. One advantage of external modems is that you have the status LEDs to help you if you have a problem. If you are having problems with an internal modem, its a good idea to try an external one and see if you can duplicate the problem. If not, then assume your internal modem is having a problem. If you are still having the problem, see if you can learn anything from the lights on the outside of the external modem.
You also have an additional debugging tool with external modems: The RS-232 LED Tester. This can be plugged into any standard DB-25 port and it gives you even more insight into whats going on than the lights on the outside of a modem will give you.
Phone Line Simulators
These devices can be lifesavers if you are trying to troubleshoot a problem with a landline phone call and determine if there is a problem with your hardware or with the phone companys hardware. These boxes are like a "phone-company-in-a-box." You can plug two devices into it, dial a phone number on the one extension and the other extension rings. You can get them in two and four line varieties. See the appendixes for a list of manufacturers.
Loop Current Checkers and Limiters
You should have a loop-current tester to tell you what the loop-current of the phone line is. Some modem equipment will not operate with loop currents higher than 25 mA, and some phone lines run their loop current as high as 70 mA. FCC limits are 80 or 90 mA, however the technical specification for modems is 22 to 25 mA. See the equipment sources appendix for a source for current limiting boxes used to cure this problem once detected.
Adaptors and Patch Wiring Boxes
When working in the field, you dont need to run into problems with cables, connectors, and wiring of serial cables. For this reason it is a good idea to be prepared for anything with a set of adapters and other accessories designed to get you connected properly and quickly. 9 to 25 pin adapters, and Gender changers (also referred to as gender-benders) get you plugged in where you otherwise couldnt, and patch wiring boxes let you set up custom wiring arrangements required to get some devices communicating.
What if I cant get two modems to connect?
There are a lot of reasons why modems wont connect. The negotiation procedure described at the beginning of this chapter is the method that all modern modems use to decide if a connection is possible, and if so, what set of communication standards and what baud rate will be used for communications.
There are many factors to be considered. Following is a reasonable order of things to check. You should be in a terminal program ready to type in commands to the modem. You can do this in Windows 3.1 using the Terminal program provided, in MSDOS using any terminal program such as Telix or ProComm, or in Windows 95 or NT in Hyper-Terminal, by choosing "DIRECT TO COMn" instead of choosing the modem when prompted to choose what to connect to. If you cant get a connection using a terminal programs, you should not be trying to get connecting using dial up networking, or any other application program. Note that these steps assume you are using a regular modem. See the special chapter for cellular communications.