Section 4 - Modems         Return to Home Page

1.   Testing a Modem from the DOS Prompt 
2.  Configuring Dial Modems 
3.  Using Dial Modems 
4.  Troubleshooting Dial Modems 
5.  Connecting a Dial Modem 
6.  UARTs and high speed data 
7.  What does MNP mean? 
8.  Make a Stand-Alone Modem Answer
9.  ZOOM Modem Initialization String

Subject:  Testing a modem from the DOS Prompt

This is a quick way to test a modem to see if you have interrupt
or software conflicts. Boot DOS using F5 (loads nothing).

At the DOS prompt ENTer: (the following assumes the modem is on com 2).

echo ATDT > com2 (you should hear dial tone)

echo ATH > com2 (should make the modem hang up)

NOTE: On some Pentium systems with the on-board serial ports, you may
have to issue the first command twice (the first time will just
wake up the port).

Go to top 

Subject: Configuring your Dial Modem 

Updated: Jul 90

In the early days of modems, when they ran at speeds of 300 to 1200 baud,
all you had to do was connect them and use them. Those simple days
are gone. Now we have to worry about all sorts of parameters. Now there's
Command Mode, Configuration, and Registers. Although this is a bit
frustrating, don't let it defeat you. It's actually pretty easy if you
take the time to read the manual. 

Command Mode comes from the "Hayes" Commands or "AT" ATtention codes.

Configuration is how you set your modem up to work best for you.

S-Registers store some of the configuration information and perhaps some
phone numbers you set up.

It doesn't matter if you have an internal or an external modem, this
information applies to both types.

Some early 2400 baud modems had dip switches you had to set to configure
the board or modem. All the newer modems can be configured from your
terminal using the "AT" commands.

The ability to change the configuration from your terminal is called
"Software Configurable". Some modems are also configurable from the
front panel such as the Penrils.

There are two modes of operation with a dial modem, Command Mode and
On-Line. When you power up, or drop a connection, you are in the
Command Mode. This is where your key strokes are talking to the modem.
Once you dial another modem and connection is made, you are put into an
On-Line Mode. Your key strokes are passed onto the other end, or
the host computer you called.

When you are in the Command Mode, all communications with the modem
must start with the "AT" attention code except for "A/", which means
repeat the last command. If you just enter "AT", the modem will reply
with "OK", a quick test to make sure you are communicating with your modem.

After the attention prefix, commands can start with "&", "$", "/", or "S".
Commands starting with "&" are your basic Hayes Commands. Commands
starting with "$" or "/" are your Extended Hayes Commands. And commands
starting with "S" are for your S-Registers. They usually include
an equal sign such as S0=5 which means S-Register zero holds the value of
five, or answer on the fifth ring.

Below is an example of a complete setup string (for the Bullet E2400M Modem)


$E1 = Level 5 MNP
$F1 = Xon/Xoff Flow Control pass-thru enabled
$C1 = Data Compression enabled
$S2 = DTE at 9600
S0=0 means to disable auto-answer

The "&W" at the end stores this info into nonvolatile memory

You'll notice it starts with the "AT" attention code and then just lists
all the configuration parameters one right after another. It ends with
an "&W" which tells the modem to save this configuration. By entering
"AT&F" we can reset the modem to the Factory Default Configuration.

Every modem is a little different. I would like to discuss the parameters
used in the example above, then should be able to configure the modem you have.

To start with all commands should be issued in capital or upper case
letters. Always tell the modem this is a command by starting with
"AT". You can send one command or chain them altogether.

If your modem has MNP Error Correction, you should turn it on to
its automatic mode which on this modem is "$E1". Be careful
with your "$" and "&", "&En" has to do with Modem Echo.

If you have MNP Level 5 which also includes data compression, then you
need to get the data to the modem at a rate that is at least twice
as fast as the modem. This is called DTE speed or Data Terminal
Equipment speed. This is rate that data will be passed between your
Terminal Emulation Program and the modem. You need to set your
program configuration to the same speed. Some modems have an auto-sense
mode where it will automatically sync up to your terminal speed. In this
case you don't have to set this speed; However, if your program is
set at 9600 and you call a system that does not have MNP at its end,
you may have to change your program speed to 2400 to have it work.
So on this modem we use "$C1" to turn on data compression and "$S2"
to set the DTE speed to 9600.

On the some networks use Xon/Xoff flow control. See the document
"RS-232 Made Easy" for an explanation of flow control. To turn this
on use "$F1" on this modem.

The last item here is to disable the auto answer feature. Otherwise
your modem will try to answer your regular incoming phone calls.
On most modems this is kept in Register 0. Loading a value of "0",
or no value will disable the modem's ability to answer calls. To
do this we say "S0=0", or load zero into the zero S register.

Now that we have configured the modem, we need to save it. If we
don't we will loose the configuration when we turn the power off.
Again this is pretty standard for most modems. Just end your
setup string with "&W" to write to battery backed memory.

Once you enter the setup string, the modem will let you know how you
did. If everything was entered in a fashion the modem will accept,
it will come back and say "OK". If there was a problem anywhere in
the string, it will come back and say "ERROR".

Go to top 

Subject: Using Your Modem 

Updated: Jul 90

General Info: This Document is for how to place a call using a Dial Modem.
If you are having problems, see the following documents:

Connecting a Dial Modem
Configuring a Dial Modem
Dial Modem Troubleshooting


There are a few basic "Hayes" commands you should become aware of:

AT - Attention Modem, I'm talking to you
ATDT - Dial this using tone signaling (like Touch Tone Phone)
ATDP - Dial this using pulses (like older rotary dial phones)
A/ - Repeat last command
+++ - Go from "ON LINE" mode to "COMMAND" mode (3 ONLY!)
ATO - Return to "ON LINE" mode
AT&H - Hang up (sometimes just ATH)
, - Each comma (,) causes a two second delay. May be chained together
for longer time periods (9,,,,,Number)

Until you are comfortable with using your dial modem, you might want to start
each session by entering "AT". You should get an "OK" back from the modem.
This will tell you that the modem is ready to go.

If you have a Touch Tone Phone, start all your dialing commands with "ATDT".
If you have a Rotary Phone, start all your dialing commands with "ATDP".

In the following example we are assuming that you must first dial a '9' to
get an outside dial tone, and then are calling the a Computer Center
Modem at 805 484-6534. We are also assuming that you have a Touch Tone
Phone. So the command to dial is;


The comma after the '9' gives you a two second pause to let the outside dial
tone become active before we send the number we are dialing out. Some places
might also require you to dial something like '88' before you can dial a '9'.

Then the command would look like this; ATDT88,9,18054846534

If it takes five seconds to get the second dial tone, then the command would
look like: ATDT88,,,9,18054846534

Go to top 

Subject: Modem Troubleshooting 

This is a listing of common problems associated with using Dial Modems.

Updated: Jul 90

1. External modem won't respond at all, or modem is dead.

No front panel lights - check power cord, is it plugged into wall?
Is power cord plugged into modem? Is power switch on? Is there
power at the outlet (try something else like a light)?
Have front panel lights - is modem cable connected at both ends?
Is Terminal Emulation Program properly configured for the right port
and speed.  Try this test: Remove modem
cable from PC, short out pins 2 & 3 of the connector on the PC.
This is transmit and receive. Type a few characters. They should
show up on the screen. If not, either your program or the port is 
misconfigured. See "Connecting a Dial Modem". Try modem on a
different PC.
Modem misconfigured - Reset modem to "Factory Default" and then
reconfigure. See "Configuring Your Modem"

2. Internal modem won't respond at all, or modem is dead.

Is Terminal Emulation Program properly configured for the right port
and speed?  Is modem misconfigured?
See "Connecting a Dial Modem". Try modem in a different PC.
Modem misconfigured - Reset modem to "Factory Default" and then
reconfigure. See "Configuring Your Modem"

3. Modem responds "OK" when I type in "AT", but sometimes won't 
respond to my dialing commands.

Be sure all commands are typed in CAPITAL or upper case letters.

4. Modem responds with a "?" when I issue a dialing command.

Check Terminal Program's speed and parity settings.

5. I can dial a number and connect, but I get garbage or nothing on my screen.

Terminal speed needs adjusting to speed of modem at other end. If you
have an auto-sense DTE modem with DTE speed set at 4800 or 9600, drop
your terminal speed to 2400 or 1200. If you still get garbage,
change the bits and parity. Most sites use 8 bits and no parity.

6. Sometimes when I use ProComm or sometimes after I use ProComm, things
just don't seem right with the modem.

Many Terminal Emulation Programs such as ProComm "Initialize" the
modem when you load the software. You need to modify or delete this
setup string so it won't change your desired configuration.

7. Every time I strike a key I get two of that letter back on my screen.

Local Echo has been turned ON either in the modem or in your terminal
program. Local Echo should always be off. 

8. I get intermittent garbage on my screen.

This is noise on the phone line. Get yourself an MNP Error Correcting

9. Sometimes I get disconnected in the middle of a session.

Do you have "Call Waiting"? - Disable it while you're on line 
or perhaps someone picked up an extension phone somewhere. Try
to use an "Isolated" line.

Go to top 

Subject: Connecting a Dial Modem 

Updated: Jul 90

Part 1 - Do you have an available Serial Port?
Part 2 - External or Internal Modem?
Part 3 - Installing your Internal Modem
Part 4 - Connecting your External Modem
Part 5 - Configuring and testing your Modem

Part 1:

What's your PC's Configuration?

Before you run out and buy a Modem, you need to know a little about the PC
you want to connect it to. Such as do you have an available Serial Port?
And if you do, what kind of connector does it have on it? If you don't
have a spare serial port, should you buy a I/O card (Input/Output) or just
buy an internal modem?

Start by looking at the back of your PC. You will see a number of cables
connected and, perhaps, a few connectors without anything attached. You
should see:

1. Power cord - left hand side
2. Keyboard cord - usually near the center
3. Video or Monitor cord - usually right hand side
4. Sometimes Monitor power cord - plugs in near power cord
5. Printer cable - can be just below video cord or on separate
6. Depending on any additional equipment you might have connected,
you could have additional cables

What you are looking for now are connectors with nothing attached. You need
to note the number of pins each connector has and it's gender, male or
female. On a male you can see the pins; on a female you just see holes.

9-Pin Female connectors are usually for video or a mouse
9-Pin Male connectors are usually serial ports
15-Pin Female connectors are usually game ports for a Joy Stick.
25-Pin Male connectors are usually serial ports
25-Pin Female connectors can be Parallel Printer Port or a Serial Port

Now that you have an idea of what you have or don't have, you must figure
out if these ports are active.

The first option is easy. If you don't have any spare connectors, then you
know you need to buy something to go inside your PC. Go to Part 2.

There are a couple of different ways to determine what is active. First you
need to find out if your printer is serial or parallel. You can look at
the connector on the rear of the printer. If it is a 25-pin female, it is
a serial printer. If it is a bigger, strange looking plug with clip
wires to hold it in place instead of screws, then it's a parallel printer.

Also you can check the autoexec.bat file (at C:>, enter "Type autoexec.bat").
If there are any "mode" statements like "MODE LPT1:96,N,8,1,P", then you
know you have a serial printer. Otherwise it uses the default printer port
LPT1, or parallel.

If you have any other equipment such as a scanner or plotter, you need to
find out what they are, also.

To determine if you have an available serial port, you need to find out if
DOS or your computer says it can find it. There are a number of ways to
figure this out. The easiest is to run Norton's SI or Mace's SYSTAT
programs; they will list on screen what you have. If you can't find
someone with either of those programs, you can then use the DOS MODE command
to help you. Just get into your DOS sub-directory and enter "MODE COM1:96".
If you have a Com1, it will come back and show you the parameters. If you
don't have a Com1, you will get an error message and maybe a beep. Do
the same for Com2, Com3, and Com4. If you only have the same number of
active serial ports as you have serial equipment, then you know you need
to buy something for the inside of that computer. You should probably
reboot after doing this test to clear the ports.

If you are still having a problem identifying which port is what connector
on the back of the PC, try this. Get a communications program such as
 ProComm: Short out pins 2 and 3 of a port that you want
to test. A paperclip works well on a female plug. Load up the program.
When you configure it for the correct port, everything you type will be
echoed back to the screen. Pins 2 and 3 are transmit and receive, so
everything you type or transmit gets received right back.

You're almost there, but there's one more hurtle to cross. A dial modem has
to be on Com1 or Com2. If you already have two serial devices and two
serial ports, you are going to have to reconfigure one of those ports to
Com3 or Com4 to get a modem to work. This is done with dip switches on
the I/O card. This should be done by someone who knows what they are

Part 2:

By now you should know if you have a spare Com1 or Com2 port available.
If you do all you need is an external modem and a cable. If you don't
you need to get an accessory card with a com port on it or buy an
internal modem.

What are the pros and cons of an internal modem? On the positive side
they cost less (no power supply or case to pay for), they don't take up
room on your desk, and you don't have to buy a cable for it. On the
negative side they are harder to move from PC to PC and they don't
have any front panel lights for monitoring line status. Are the lights
all that important? To some people they are, but these days modems are
pretty reliable and after a few days most lights usually get covered
up anyway. It's up to you.

If you don't have a spare serial port, and you want to use an external
modem, then you will need to get an I/O serial card. You can buy these
as just one or two serial ports, or one serial and one parallel, or you
can get one with a serial and a game port. Prices start as low as $10
at computer swap meets to over a hundred. It should be addressable
as Com1 or Com2. The better ones can be addressed as Com1 through Com4.

Because every serial card is a little different, it is hard to explain
what to do. The best I can say is follow the instructions that will come
with the card. Zenith sells a Com2 card (cannot be changed to any other
port) for about $35 (Zenith Z-404-SD). It is easy to install and works
well. The cheaper cards sometimes have instructions in broken English/Korean
and are not easy to interpret. Don't feel bad if you have to ask the
computer wizard over in the corner for help.

If you already have something on Com1 and Com2, then one of them needs to
be reconfigured for Com3 because as the modem needs to be Com1 or Com2. If you
don't understand this part, it's OK. Just find someone who can help you.

Part 3:

Installing an Internal Modem. The modem will have "dip switches" or
"jumpers" that you need to set, to tell it to be Com1, or Com2. Most
modems come preset from the factory as com2. The instruction manual
that comes with it should clearly explain this.

If you have never been inside your PC before, there are a few precautions
you should take. If you have your computer plugged into a multiple
outlet strip, leave it plugged in but turn the strip off. This leaves
the chassis grounded. When you get the cover off, grab the chassis
for a moment to discharge any static electricity that might be on you.
If you notice that it's pretty dusty in there and you want to clean it,
use air to blow out the dust. Don't use a vacuum because a the brush can
create static electricity and damage the chips.

Pick a slot where you want to install your modem. Remove the slot cover,
don't loose that screw! Insert the Modem in that slot and secure it
with the screw you removed to get the cover off.

The side of the modem that you can see from the back of the PC has two
RJ-11 Plugs. One will say "Line", the other will say "Phone". Plug your
Phone into the one that says "Phone". With the Modem you should have gotten
a six foot cable with modular connectors on the end. Plug one end of this
into the jack marked "Line" and the other end into the wall where your
phone was connected.

Replace the cover and you're done. Go to Part 5.

Part 4:

Connecting an External Modem. There are three main types of modem cables.
The Modem end will always be a 25-pin male. The cable end that connects to 
your PC could be a 9-pin female, a 25-pin female, or a 25-pin male. If you 
don't know and you skipped Part 1, go to Part 1 now.

Once you know what connector you need at your computer, you can pick these
cables up almost anywhere. They range from $4 to $20 so if you have the
time, shop around a little.

Once you have the cable, just connect it up! You will also have a power cord
to hook up, usually the kind where the transformer is part of the plug
and just a small wire runs up to the unit. Also, on the back are two
RJ-11 plugs. One will say "Line" and the other will say "Phone". Plug your
phone into the one that says "Phone". With the modem you should have gotten
a six foot cable with modular connectors on the end. Plug one end of this
into the jack marked "Line" and the other end into the wall where your
phone was connected.

If there are any front panel switches such as RESET or VOICE/DATA, make sure
they are in the released position. Now, power it up and you're ready to go.

Part 5: Configuring and testing your Modem.

Please see the following documentation for help in these areas. These
documents can be found in this section.

RS-232 Made Easy - Explains signaling and cables
MNP - Info on Error Correction Protocol
Configuring your Modem - Using Setup Strings
Using your Modem - Hayes "AT" Commands
Modem Troubleshooting - Trouble Resolving Guide

Go to top 

Subject: UART's

UARTS or Universal Asynchronous Receiver Transmitters are wonderful
little devices that convert parallel data to serial and serial data
to parallel. The most common use is the serial ports on your PC.
There are different UART Chips around and some are better that others.

The reason we're into this is because if you have ideas of running high
speed data through a modem (up to 115 Kb), you should have a good UART.
There are utilities out that can tell you what you have in your PC.
Below are the results of a small utility call UART.EXE.


Copyright - CyberGuild Technology Inc. 1992 - 16550 Detector Utility
Tel: (416) 420-9225 Fax: (416) 420-5924 

Com 1 detected using a 16450 uart 
Com 2 detected using a 16450 uart 
Com 3 detected using a 16450 uart 
Com 4 detected using a 16450 uart 

Quick and dirty Uart explanation 

6250 is usually used in PC and XT class machines. Slow uart. 
16450 is generally used in AT type machines. Standard uart. 
16550 was the first version. Its FIFO buffer doesn't work. 
16550A !!! Congratulations top of the line uart with working FIFO buffer. 

Give us a call if you are interested in our AT I/O board. 
It features the equivalent of TWO 16550A uarts (com ports) and 
one parallel port. The serial ports can run as RS-232 or RS-422. 


Some I/O Cards have plug in UART Chips. If you have problems running
serial communications at high speeds but it's OK at lower speeds, you
might want to buy a 16550A UART chip and plug it in.

There are a number of I/O Cards you can buy with one or two of these
UARTs. Dual port boards are currently running about $35.

Go to top 

Subject: MNP Error Correction Protocol 

Updated: Jun 90

MNP stands for Microcom Network Protocol (Microcom, Norwood, MA).

This is an error correcting and data compression protocol that is used
with asynchronous (terminal and/or dial modems) type data communication
connections. Because it works so well, it has become the current
standard. Basically it causes data to be retransmitted until an
error free string or packet is received. With a poor quality connection,
you will still get good data but it will appear slower than normal.

Another significant feature of MNP is its "sliding windows" capability.
When communicating through a satellite link or X.25 Networks, where there
are significant transmission delays, MNP is able to transmit up to eight
packets before it receives an acknowledgment on the first packet. This
allows the error correction features to work without slowing down the
transmitting of data.

Below is a brief description of the different classes or
levels of MNP. AWIS currently supports Class 5.

Percent Thru-put
CLASS 1 Thru-put at 2400
-------- ----------
Asynchronous byte-oriented half-duplex. No longer used. 70% 1690


Asynchronous byte-oriented full-duplex. 84% 2000

CLASS 3 (appeared 87)

Synchronous bit-oriented full-duplex. More efficient 108% 2600
overhead - no start and stop bits required.


Continued reduced overhead with Data Phase Optimization 120% 2900
and increased throughput by using varible size packets
(groups of bits) depending on line quality.

CLASS 5 (appeared late 88)

Data Compression using real-time adaptive algorithms is 200% 4800
introduced. Adapts to user data-types.

CLASS 6 (appeared mid 89)

Allows the use of MNP on modems speeds from 300 to 9600 200% 4800
baud. Most 2400 baud modems use V.29 and 9600 baud modems
use V.32 transmission protocols. MNP 6 can switch between
V.22 (300 to 1200 baud), V.29, and V.32. This is called
Universal Link Negotiation. MNP 6 also incorporates
Statistical Duplexing. Converts lower speed half-duplex
to a psuedo full-duplex to deliver full-duplex speeds.

CLASS 7 (appeared mid 89)

Class 5 MNP with enhanced data compression technique. 300% 7200

CLASS 9 & 10 (appeared late 89)

Microcom proprietary protocol. Available on 9600 V.32 modems only with a
rated throughput of 33,333 bps (tested throughput of 24,884 bps,
Dec 89 PC World)

NOTE: In order to take advantage of data compression, the DTE connection
between the modem and your terminal must be set to a speed higher
than the highest data compression speed. If you are using an
MNP Class 5 modem running 2400 baud, set your terminal speed at
4800 or 9600 baud. This will transfer your data to and from the
modem at a speed fast enough for the MNP to use advantageously.

THE FUTURE AND V.42 (LAP-M protocol, and MNP)

There has been a lot of talk about a new error correcting and data
compression protocol, V.42 (not to be confused with transmission protocols
such as V.32, or V.29). V.42 is like MNP 4 but from another source. 
V.42 uses LAP-M, or Link Access Procedure for Modems. V.42 includes MNP 4
as a back up so it will work as V.42 or MNP 4.

V.42bis is the data compression protocol that works with V.42 compression.
Unlike V.42 which includes MNP 4, V.42Bis does not include MNP 5 and will
not work if V.42 is not running.

MNP 5s best data compression ratio is 2 to 1, while V.42bis is 4 to 1. This
is why you'll see 9600 baud modems that claim throughput up to 38,400 bps.

Which of the two do the best file transfers? Depending on the type of
file, you'll get different responses. If you're downloading a compressed
file using data compression, it can actually slow down the file transfer. On 
text files V.42 will probably be faster. On regular binary files it will
probably be a toss up. The bottom line here is don't dump your MNP 5
modem for a V.42bis. You'll probably waste your money. If you're
upgrading from a 2400 baud to a 9600 or 14400 baud modem, then by all
means get a modem that supports both MNP 4/5, and V.42/V.42bis.

Note: V.32 is a 9600 protocol, V.32bis is a 14,400 protocol.

Go to top 

Subject: Make a Stand-Alone Modem Answer

Ever want to set up a modem so it would answer all calls with out
a computer connected (kills unwanted calls fast).

It's easy. Program the modem, via dip switches or a setup string,
to be in the auto-answer mode, then add this easy to make plug.

Take a DB-25 male connector and solder together pins 2 & 3, and then
solder pins 4, 6, & 20 together.

That should do it!

Go to top 

Subject: ZOOM Modem Initialization String

If you have an external ZOOM Modem and have trouble staying connected, try this Initialization String:


        Go to top            Return to Home Page