Whether you’re trying to access the Internet, dial into an RAS server, or establish a remote session with the PC at your office, having an uncooperative modem can put a stop to your plans very quickly. Due to the complexity of establishing a session through your modem, modem problems can be a little confusing to diagnose. In this Daily Drill Down, I’ll walk you through a variety of troubleshooting procedures that you can try the next time that your modem doesn’t work.

Before we begin
Before I start exploring all of the various troubleshooting procedures, I need to explain a little bit about how modems work. The word “modem” comes from a combination of the words “modulate” and “demodulate,” which refer to the ways in which a modem works. A modem takes the digital signal that comes out of your computer and converts it into an analog signal. This signal is the very audible buzzing and whistling that you hear when you try to use your modem. Another modem receives these analog signals and converts them into a digital signal that another computer can understand.

There are two basic types of analog modems: internal and external. Personally, I prefer external modems. They cost a little more, but they offer easier configuration than some internal modems, universal compatibility, and a series of lights that you can use to help you diagnose any problems that may occur.

Modems communicate between computers via a COM port. In the case of external modems, you must plug the modem into a serial port. The serial port is preconfigured within your system to use a designated IRQ and memory address, which makes configuration a breeze because Windows already knows the address of your serial ports.

If you’re using an internal modem, configuration can become a bit trickier. Older internal modems require you to set jumpers in order to determine which COM port the modem can use. Therefore, you have to know the IRQ and memory address that are associated with the desired COM port. If the COM port that you want to use exists on your system’s motherboard, you have to disable it in order to keep it from interfering with the modem.

Newer internal modems are plug and play. You simply insert the modem and load the driver. Then, Windows will assign a COM port and the IRQ and memory address. The big disadvantage to this method, however, is that Windows often assigns unconventional resources. For example, standard COM ports are numbered one through four. They use either the number three or the number four for their IRQs, and they use either 2F8 or 3F8 for their I/O memory ranges. A plug-and-play modem might get assigned to COM 5 at IRQ 7 and memory address 2BF. Obviously, this situation would cause some problems, especially if Windows 98 isn’t your only operating system. Other OSs, such as DOS and Windows NT, are limited to accessing modems at the standard locations that I mentioned earlier. Thus, you usually can’t force either of these operating systems to work with a plug-and-play modem. Even if you use Windows 98 all of the time, you’ll run into the same problem when you use any DOS-based communications software through Windows. The only times that having an internal modem can be beneficial are if you are out of COM ports or if you’re in a financial crunch and need to save money.

The basics
Now that you know something about the way in which modems work, let’s discuss some methods of troubleshooting modems. First, you should make sure that your modem is connected to a phone line. If you’re using an external modem, you should make sure that it’s turned on, plugged into a power outlet, and attached to a serial port on your computer.

Modem diagnostics
When your modem doesn’t appear to be working correctly but you’ve checked all of the cords, the first thing that you should do is to check the Modem Diagnostics program that’s built into Windows. This program can detect most of the serious modem problems. Open the Control Panel and double-click on the Modems icon. You’ll see the Modem Properties sheet appear. Your modem should be displayed within the window at the top of the dialog box. Now, select the Diagnostics tab, and you should see a list of all of the COM ports in your computer. Next to each COM port is a reference to any modem that Windows has detected on that COM port. Select your modem and click the More Info button. Windows will establish a communications session with the modem.

If Windows is unable to communicate with the modem, you’ll receive an error message. The most likely problem is that the modem is no longer on the selected COM port. If such is the case, it’s best to try to get Windows to redetect your modem. We’ll talk more about that solution later.

If the Modem Diagnostics program is able to communicate with your modem, you’ll see a summary screen that lists the results of the various AT commands that were run on the modem. On some modems, it may be normal to see an error around ATI 14 or higher. Usually, those errors are no cause for concern. If you see an error in ATI1, ATI2 or ATI3, however, you’ve got a big problem, and it may be time for a new modem.

The log file
If the Modem Diagnostics program doesn’t give you enough information, you can always build a log file to see what’s really going on. Return to the Modem Properties sheet, go to the General tab, select the malfunctioning modem, and click the Properties button. When you see the modem’s Properties sheet, go to the Connection tab and click the Advanced button to access the Advanced Connection Settings dialog box. Now, select the Append to Log check box and click OK.

Now, each time that you attempt to make a call with that modem, Windows will build a log file. The log file’s name is the same as the modem’s name. For example, if the modem is named MODEM1, the log file will be named MODEM1.LOG. You can view the log file either by opening it with a text editor, such as Notepad, or by clicking the View Log button that appears below the Append to Log check box on the Advanced Connection Settings dialog box.

Re-detecting the modem
If you haven’t been able to communicate with your modem and can’t perform the tests that we’ve been discussing so far, your computer may be looking on the wrong COM port for the modem. If you suspect that this is the case, you can remove references to the modem and have Windows 98 redetect it.

To do so, open Control Panel and double-click on the System icon. When you see the System Properties sheet, select the Device Manager tab and click the plus sign next to the Modems section. This action will expand the section and reveal the modems that are installed on your system. Select all of the listed modems (one at a time) and delete them by clicking the Remove button. Then, click OK and reboot your computer.

When the computer boots back up, go to the Control Panel and double-click on the Modems icon. When you see the Modem Properties sheet, click the Add button to launch the Install New Modem Wizard. The first screen of this wizard contains a check box that’s marked Don’t Detect My Modem, I Will Select It From A List. Make sure that this check box isn’t checked and continue with the Wizard. Now, Windows will attempt to detect your modem. If it’s unable to detect the modem, your modem may not be turned on, or it may be conflicting with another device. If you’re using an internal modem and Windows can’t detect it, try rerunning the Wizard. This time, select the check box. Then, when it’s available, click the Have Disk button to supply the driver that came with the modem.

Checking for device conflicts
Earlier, I had you go through the Device Manager to remove references to any modems that were in your system. However, you also can use the Device Manager to correct conflicting resources. Go to the Device Manager, select your modem, and click the Properties button. The modem’s properties sheet will appear. If you’re using an internal modem, the properties sheet may contain a Resources tab. If this tab exists, select it and write down the resources that your modem is using. Once you know these resources, check each of the other devices in the Device Manager to see if they’re using the same resources that your modem uses. (Employ the same method to check these resources that you did for checking the modem’s resources.)

If you find two devices sharing common resources, you must either disable the conflicting device or change its resources. To disable a hardware component, go to the General tab on its properties sheet and select the Disable In This Hardware Profile check box. If you’d rather change the settings, go to the Resources tab in the device’s properties sheet and remove the check from the Use Automatic Settings check box. Now, select the resource that you want to modify and click the Change Settings button. When you’re done, reboot your computer.

Other types of problems
If all of the tests that you’ve performed so far seem to work, it’s probably safe to say that the modem is functioning properly. Therefore, your problem may be a phone line problem or a problem with the way in which the modem’s hooked up. In the sections that follow, I’ll discuss some other circumstances that can prevent your modem from working correctly.

Windows works with the modem, but DOS doesn’t
Sometimes, you may encounter a situation in which the modem works through Windows—but not through DOS or through a DOS-based program within Windows. If you’re using an internal modem, the first thing that you should do is to switch to an external modem for the reasons that I gave earlier. You also should remember that DOS-based programs maintain their own driver set, which works independently of Windows. Just because Windows is set up correctly doesn’t mean that the program in question is configured correctly. Check the COM port settings within your program to make sure that they match what Windows was set up to use.

Can’t dial out
If the Modem Diagnostics program seems to work but you still can’t dial out, there are several things that you can check. The most common cause of this problem is an incorrectly configured modem. Modems have two phone jacks on their backs. One of these jacks connects the modem to the wall. The other jack is designed to allow you to plug a telephone into the modem for voice calls. If the phone cord that plugs into the phone jack in the wall is plugged into the wrong port on the modem, you won’t be able to make or receive calls with the modem.

Another cause of not being able to dial out is plugging the modem into the wrong type of phone line. Many businesses use digital phone lines. You can’t connect an analog modem to a digital phone line and expect it to work. Plugging a modem into a digital phone line can damage the modem because of the differences in voltage on digital and analog phone lines. One way to determine if your business is using a digital phone line is to plug in a regular phone and see if you can get a dial tone. Don’t use a phone from the office; if digital lines are in use, then the phone probably is digital, too. Instead, use a phone from home. If you don’t have a spare phone that you can use to test the line, check to see if the phone in your office has an LCD screen on it. If your office phone has a screen that lists such information as the date, time, or telephone number of an inbound call, then there’s a good chance that it uses a digital phone line.

An incorrectly wired phone jack also can keep your modem from working correctly. It’s possible that an incorrectly wired phone jack will allow a modem to dial out but not to receive calls (or vice versa).

When it comes to diagnosing such problems, your best bet is to plug an analog phone into the back of the modem. Try dialing out. If you can dial out with the phone, then the line is OK, and you should be able to dial out with the modem. You also can try calling the modem number to see if the phone that’s plugged into the modem rings and can answer a voice call.

Plug a phone into the modem, and pick up the receiver. A lack of a dial tone may indicate that the line is dead, that the line is digital, or that another extension on the line may have been left off of the hook. Obviously, if you don’t hear a dial tone on the voice phone, your modem won’t be able to dial out, either. Before you jump to conclusions, however, try plugging the phone directly into the wall instead of into the modem. If you get a dial tone when the phone is plugged into the wall but not when it’s plugged into the modem, the modem may be damaged.

Another option is to get a phone line tester. A phone line tester will test the wiring of the phone line to see if it’s reversed. These testers are simple to use, and they’re available at any hardware store for about five dollars.

The modem on the other end never answers
If your modem dials out but the other modem (the one to which you’re dialing) never answers, you need to verify that you’re dialing the correct phone number. If the number is correct, you should have the host reset the other modem. Once the host has done that, have the host make sure that the relevant communication software is set to wait for a call. If the host is using an external modem, the AA (Auto Answer) light should be illuminated.

Busy signal
If you get a busy signal when you’re dialing the host, it usually means that someone else is tying up the phone line. However, it’s possible for a modem not to disconnect completely from a previous call. In such situations, the modem believes that it’s disconnected, but the phone line is still in use. If this happens, you should have the host reset the other modem and reboot that PC.

Perhaps the most complicated problem to troubleshoot occurs when you connect to a host PC and receive only gibberish on your screen. Often, the modem speed is set too high, or the communications parameters are set incorrectly. If you’re trying to connect to a host but are getting gibberish, try setting your communication parameters to N81 (that is, No Parity, 8 bits, 1-stop bit). You can set these parameters by opening the Control Panel and double-clicking on the Modems icon. When you see the Modem Properties sheet, select the malfunctioning modem and click the Properties button. When you see the properties sheet for the malfunctioning modem, check the speed on the General tab. Try setting the speed to something lower. You might try 9600 and, if that works, work your way up. Even if the modems on both ends are rated for higher speeds (like 56 K), such factors as the quality of the phone line and the number of phone switches through which the signal must pass may limit the actual speed at which you can connect.

Once you’ve checked the speed, go to the Connections tab. Set the Data Bits to 8, the Parity to None, and the Stop Bits to 1. You also should make sure that the Wait For Dial Tone Before Dialing check box is selected.

If you’ve checked these parameters but you still have no luck, then there are a few more things that you can try. First, check the software that you’re using to make the call. Depending on the software, the settings sometimes are set statically within the software. Just because you’ve made a change through Control Panel doesn’t mean that the communications software will be updated to reflect that change automatically.

Once you’ve checked your software, return to the Connection tab of the malfunctioning modem’s properties sheet. Click the Port Settings button. You should see the Advanced Port Settings dialog box. If you’re having connection trouble, try setting the receive buffers and transmit buffers to a lower number. Doing so will degrade performance, but it may correct your connection problem.

Once you’ve checked the port settings, return to the same Connection tab and click the Advanced button. This time, you should see the Advanced Connection Settings dialog box. This dialog box contains several settings that you can use to make your connection more reliable. First, make sure that Use Error Control is turned on. (It shouldn’t be used to connect, however.) You also can try turning off the option to compress data, though this action will slow down your connection. Use Flow Control should be turned on and set to Hardware (RTS / CTS). Finally, modulation type should be set to Standard.

Won’t accept incoming calls
So far, I’ve discussed problems with trying to connect to other computers. Sometimes, however, someone else may be trying to connect to you. The diagnostic techniques that I’ve already discussed still apply. The only difference is that you’ll perform most of these techniques on the other computer. On your end, you’ll want to make sure that your modem is functional and that the Auto Answer light is on (if you have an external modem). Usually, you can solve this problem by telling your software to wait for a call.

If your modem still doesn’t work
If you’ve tried using all of the techniques that I’ve described so far but you still aren’t having any luck, it’s possible that either your modem or the modem to which you’re dialing has been damaged by a power surge on the phone line. The best way to test for this condition is to set up a friend’s PC exactly like your own and ask them to try connecting to the host. If they’re able to connect, you may have a damaged modem. Try plugging your friend’s modem into your PC to see if the problem goes away. If you’re able to connect, it’s safe to say that you need to replace your damaged modem.

If your friend is unable to connect to the host, the host may have a damaged modem, or there may be a problem with your configuration. Your best bet is to contact the host via a voice line and ask what’s wrong.

If you determine that your modem was damaged, it was probably due to a surge on the phone line. As you may know, phone lines carry electricity. Sometimes this electricity is subject to surges, especially during storms. The best thing that you can do to protect your PC is to get a surge protector that contains a modem port. A surge protector should contain two phone lines. One connects to the modem, and the other connects to the phone jack on the wall. The surge protector will absorb most surges that come through the phone line before they can damage your modem. Surge protectors also tend to clean up some types of line noise, and they sometimes help you get a faster connection to the host.

Brien M. Posey is an MCSE who works as a freelance technical writer and as a network engineer for the Department of Defense. If you’d like to contact Brien, send him an e-mail. (Because of the large volume of e-mail he receives, it’s impossible for him to respond to every message. However, he does read them all.)

The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.