Modem Strings


The right modem string can mean the difference between connecting/staying connected and sitting there staring at a window saying "Unable to connect"/"You have been disconnected". Most people treat initialization strings as magical incantations that are summond from unknown dimensions. In actuality, they can be fairly easy to create - if you know the commands used by the modem.


Modem Commands

Before going any further, we should go over what modem commands actually are in more detail. Putting it simply, they are instructions that tell the modem to do something a specific way.

The most basic command is AT, which is the ATtention command. It tells the modem that the rest of the characters on the line are supposed to be additional commands.

Take the following string for example:

AT DT 9184700
The AT gets the modem's attention. The D tells the modem to dial. The T means the modem should dial using tones (instead of pulse--from the days of old rotary phones). The 9184700 is the number the modem is supposed to dial.

All these commands are pretty simple and straight-forward, right? And they were, up to when the fastest modems were 2400 baud modems. At that point almost all the modems used the same commands (called the "command set") as the Hayes SmartModem 300. these modems stated that they were "Hayes-compatible". Thus if a modem says it's Hayes-compatible, all it means is that that modem's 2400 baud commands are the same as any generic 2400 baud modem. Unfortunately, that's a minor portion of the commands used by modems today; thus that phase doesn't mean anything.

Commands and More Commands

Even before 9600 modems, modem designers started to run out of alphabet for commands and thus needed to expand the command set. Certain characters (such as "&", "*" and "%") were combined with letters to make new commands. With few exceptions, these commands stayed universal as well.

Then came the 9600 baud modems, quickly followed by the 14.4s. As the number of features grew, so did the number of new commands. On top of this, modem manufacturers increased one-upmanship with everyone trying to do something new, better or faster. As a result, whole new sets of commands were born without one becoming a standard. And the process continues right up through today's 56K modems.

Mr. Chips

On the plus side, despite there being a seemingly endless number of modem manufacturers, there are only a handful of companies that produce the microchips used on modems. Of these Rockwell and Texas Instruments account for 70-80% of the chips used in modems. This situation helps in determining an initialization string in that the commands used by the mode mare contained on those chips. (The modem manufacturer can change the command set, but most don't.) Most of the modems on the market use Rockwell chips. Texas Instruments chips are used by USRobotics (the largest modem manufaturer in the world) and USR clones.

Building a String

The first thing is to get into a program that allows you to send commands to the modem and see the responses.
Windows 3.1
In the Accessories program group should be Terminal. Double click on it and go to Settings and down to Communications. In the lower right-hand corner of the window that comes up, set the Connector to the com port the modem is using. Then click on Ok.
Windows 95
Under Start--Programs--Accessories should be HyperTerminal; click on that. In the HyperTerminal window is the icon HyperTerm; double click on it. Go ahead and set up a connection to StarNet. Once done, click on Dial. Cancel the dial.
Macintosh
You'll need to use some third-party communications program, assuming one is installed.

Looking for Mr. Chips

You can determine which chipset the modem has with a few simple commands. Type in ATI6 and hit Enter on the keyboard. If the line that comes back with a string of 8-10 characters starting with RC, then the modem is using a Rockwell chipset. If you type in ATI3 and it comes back with USRobotics, USR, or TI, then it's a Texas Instruments chipset.


Rockwell Chipset Modem Strings

If the modem has a Rockwell chipset, you can create a string by comparing what the modem uses by default vs. what things need to be.

To see what the modem is using, type in AT&V and hit Enter. That will print out a long list of data. There should be a section titled "Stored Profile 0". Underneath that will be a list of commands the modem uses when given the &F command (sets the modem to factory default settings). In that list, you want to compare the command settings given against the following:

E1 Q0 V1 Y0 X4 &C1 &D2 &K3 &Q5
(Note: the &Q command can mean different things to different modems, so a particular Rockwell chipset modem may not support &Q5.)

Make note of where the modem's default settings differ from the above. Once all the commands above have been compared, the string would be &F plus any of the above commands that differed from the modem's settings.

Now you've created an intialization string.


TI Chipset Modem Strings

These modems are a bit harder to get the information on, but not much so. Type in AT&F and then enter ATI4. The first line should say something about the fax/modem settings. Beneath that should be a listing of the modem commands currently used by the modem. Since the &F command was given before ATI4, it's displaying the commands set by the &F command. Compare the following commands to the ones in the list below and note any differences:
E1 V1 X4 &A3 &B1 &C1 &D2 &H1 &M4 &R2
Once all the commands have been checked, the string would &F followed by any of the commands which differed from what the modem reported.

Now you're created an initialization string.


Back to the Modem page