Modem Questions Answered:
q: What is an initialization string?
a: An initialization string is a command sent to a modem
that affects its Active Profile.
q: What is an Active Profile?
a: An Active Profile is a list of settings that the modem
is currently using. These settings range from the
mundane, like Tone or Pulse dial, to the arcane,
like Enable Trellis Encoding.
q: Who cares?
a: It depends. If your modem is working fine, no one.
But if you are trying to Tone dial on a line that
only supports Pulse, you could change your Active
Profile by typing "atp" and pressing return. The
"p" stands for "pulse." The "at" stands for
"attention" and tells the modem you wish to
"tell" it something. If you type "at" by itself and
press return the modem should respond with "OK."
q: What's a good Initialization String?
a: Here are a few:
"atz" - equivilant to turning the modem off, and
back on again. Reloads the Active Profile
from the modem's RAM.
"at&f;" - "fetches" the factory default settings
from the modem's ROM and writes it to the
modem's RAM. This is a stronger reset than
"atz." Sometimes a modem's RAM can become
scrambled or changed, either on purpose or
by accident. "atz" will load the profile
from this hypothetically misconfigured RAM.
"at&f;" will load the profile from the modem's
ROM, so the modem will be configured as the
manufacturer intended for a default.
Click here for some modem specific init
strings that work well for Interport connections.
Communication Port Speeds
q: What should I set the speed at in my communications
Most modern modems use what's called Data Compression,
either MNP5 or V.42bis. The idea is that by squishing
down data, like putting trash in a compactor, it takes
less time to transmit over the phone line. The modem
handles this automatically. Because of this, it's a
good idea to set your speed as high as possible. But,
(of course), it's not as simple as setting it to the
highest number you can think of.
Your Serial Port is like a faucet. It only opens so
far. The water company can send huge ammounts of water
to you, but you can only fill a bucket as fast as your
faucet will allow. Some serial ports handle more
"water" than others.
q: Get to the point. What should I set my speed to?
a: You need to check something first. If you have an
external modem on a:
At DOS type "MSD".
You are now in Microsoft Diagnostics.
Press "c" for Communications.
You should see a list of your comm ports.
Check the comm port you are using for your modem.
Check what type of UART you have.
Use this chart -
8250 - the snail of UARTs. 19200 is the highest
speed you can use. Anything above that
will get garbage from your modem, and
cause you a world of headaches.
16450 - this is Joe UART, as is commonly found
in PC's. 57600 is its upper speed, but
sometimes errors occur at this speed.
To be safe, use 38400.
16550 - currently, the cheetah of UARTs, and
supports speeds up to 115200. See below for
setting up Windows for this kind of UART.
The world of Mac serial ports (called the Modem and
Printer port) is an odd one. This is what I've learned
Old (SE, Classic, etc.): 19200
Mac II, 68020 Macs: 38400
68030 Macs: 38400 (some 57600)
68040 Macs: 57600
Power Macs: 115200 (some 230400)
Powerbooks: 19200 external
(see below for internal modems)
If this chart doesn't help, try 1-800-SOS-APPLE and sit on
hold for a while. They are very friendly and helpful.
INTERNAL MODEM (Mac or PC):
You should be able to set your port speed for 57600 if it's a
14.4K modem, or 115200 if it's a 28.8K modem. But it's always
best to check with the modem manufacturer. Also, see below for
setting Windows for high data communication speeds.
SPECIAL WINDOWS SETUP FOR 16550 (FIFO) UARTS:
In order for Windows to be able to utilize high speed serial
connections, I recommend that you change your system.ini
file and add (or modify) the following:
(n) is your com port (i.e. Com2FIFO=1)
These settings allow windows to utilize the buffer (fancy word
for storage - like a reservoir) in this UART more efficiantly.
You can edit the system.ini file using notepad. It resides in
C:\WINDOWS directory. Please be careful not to change anything
else, unless you know what you're doing. I also recommend that
you save a backup of it first (i.e system.inh, or system.old).
q: What in the world is a UART?
a: Stands for Universal Asynchronous Receiver Transmitter.
Handles the transfer of information to and from your
serial port. Need to know more? Read a book. Try
checking under 'Serial Communications' in the computer
section of your local bookstore.
q: What is FIFO?
a: Stands for First in First Out. Think of the line at the grocery
store. The first person in line gets helped (and thus gets out)
first. Same idea. Except in a FIFO Buffer you can't take cuts.
q: What's all this 'v.something' stuff? What does it mean?
a: Once upon a time there was a committee called the CCITT that
created international standards for data communications.
Now they're called the ITU. All these 'v-dot' things are
standards. Here are some:
v.32 - the standard for 9600 full duplex Data Communications
v.32bis - the standard for 14.4K Data Comm.
v.32ter - the standard for 19.2K
v.34 - the standard for 28.8K
Most of these standards include intermediate speeds as well.
That's why you might get a 24K connection with a 28.8K modem.
They connect at the highest speed the phone line will allow.
To confuse us, the ITU sets standards for other aspects besides
data speeds. For example:
v.42 - the standard for ARQ error correction
v.42bis - the standard for LAPM data compression
v.17 - the standard for half-duplex 14.4K fax comm.
So you might have a modem that's a V.34 with V.42bis. Confused?
Hey, if it's a fax/data modem it would support V.34 with V.42bis
data communications, and V.17 Group III Class 2 fax. That, and
'Non-deterministic finite-state automata' make great conversation
q: Don't you have anything better to do than to think about modems?
a: Hey. Be nice.