Attention! Modems are mostly stupid thinkies which produce bad sounds and help you successfully drop dial-up or even leased-line connection. If you're not interested in this, skip this section.
[ AT&T ]
[Dynamode]
[Forval]
[ GVC ]
[Hayes]
[Hornet]
[ IDC ]
[Motorola]
[Prolink]
[Rockwell]
Getting started
AT-commands
Command set
Needed settings
Preferable settings
V.34 Specials
Init-strings
The 'modem' word comes from "MOdulator-DEModulator", special kind of devices which were designed to transfer data over the telephone lines first. Today there are many types of modems which support many types of communication protocols and speeds. Here is the short guide about modem connection efficiency increasing presented.
AT
-commands
There are only few modems which can be configured directly from internal
keyboard and display, and much less modems that are not
"Hayes-compatible" (comes from the name of this basic command set
and first modem developer, Pedro Hayes), so you'll configure your
modem using "AT
-commands". The AT
-prefix must
be defined once for the whole command line at the begin. If your modem
responces OK
or 0 (if it is configured for numerical responces
instead of verbal ones), the last instructions you enter was applied. If
the modem reports ERROR
(4), last entered command line contains
some errors. The modem usually stops to apply entered commands at the first
error in line.
Any modem which even supports AT
-commands should response
OK(0) for the AT
with no instructions followed. If modem
doesn't response, there are possible conflicts in hardware and/or software.
Basically AT-commands contains of one letter (case isn't significant)
optionally prepended by one special signs (such as &, *, \, %, -, #, @,
$, ", ^, (, ) and :
) and optionally followed by the number. If the
number is required, but isn't defined, it supposes equal 0. Thus AT&W
and AT&W0 are equal commands except some special cases. There are
several AT-command sets which are shortly described at the page
related to Hayes-modems.
Usually every modem is supplied with the modem guide, which contains a few or
(sometimes) even a lot of words related to its command set.
Moreover, many modems has built-in HELP. That is why I
won't describe AT
-commands here, but only tell you some
important ones:
ATIn
-
Get some information about modem (n = 0...9). Once ATI7
told me
internal help :-/
AT$
-
Get an internal help in ZyXEL, USR modems (and probably some others)
AT&Hn
-
Get an internal help in some GVC modems (and also probably some others)
AT&Vn
-
Display an active and/or stored modem profile (in the most cases). U.S.
Robotics modems use ATI4(ATI5)
for this purpose and
one strange modem I know used AT*O
instead.
AT&Wn
-
Write current settings to the profile number n. Some modems have
only one profile and support only AT&W command with no digits
followed, otherwise they're reported ERROR
.
ATZn
-
Recall profile number n.
AT&Fn
-
Recall factory-defined profile number n.
There are some settings which are usual for the most hardware and software
configurations when operating in the modern communication programs. Some of
them are usually set by the modem factory defaults, other you'll need to set
by hand. They are:
8 data bits, no parity, 1 stop bit. These settings are
written sometimes as 8N1. Less common combination is 7E1 (7
data bits, even parity, 1 stop bit)
DCE-DCE flow control off - this setting probably would be better to
keep turned on but the today's software doesn't support it usually
DTE baudrate adjustment off - some data compression protocols (such
as v.42bis) can increase line performance up to 4:1, so the DTE baud
rate must be higher than DCE rate. Use 57600 or 38400 DTE speed fixed for v.34
(28800) and v.34+, v.evr, v.FC (33600) modems, 38400 for v.32terbo and ZyX
modems (19200) and 38400 or 19200 DTE speed for v.32bis modems (14400).
Asynchronous mode - only the special software works in synchronous
connection, usual dial-up clients all work in asynchronous connection.
There are some settings which are preferable if your hardware/software allows
you to use variants. These settings are:
Hardware (RTS/CTS) flow control instead of software (Xon/Xoff)
or none
MNP or V42(LAP-M) data link instead of normal or direct
link. It is recommended often to noisy lines to disable normal link at all
and establish only reliable (with error correction) one
MNP-4 (with no data compression) instead of MNP-5 protocol. The
MNP data compression is not intelligent and even decreases connection
efficiency when the connected computers are exchanging with compressed data,
such as ZIP archives. Sometimes MNP-5 is called MNP COMPRESSED
v.42bis (with data compression) instead of v.42 protocol. The
v.42bis data compression is intelligent and automatically turns off when
transferring compressed data. Sometimes v.42 and v.42bis are called
LAP-M and LAPM COMPRESSED respectively.
DTR off action - modem goes on-hook (disconnects) or reset from
defined profile. Some hardware and/or software knows nothing about
Escape sequence (+++) and DTR off-on is the one way to end the
session. Usual command for the DTR off action "disconnect" - &D2,
"modem reset" - &D3
DCD normal operations - the one way for the common software to detect
established connection is CD signal up and/or CONNECT
message. Usual command for the normal DCD operations is &C1
RTS follows CTS - this option required when the Hardware Flow
Control is used. Usually it is defined with &R(&R0) and
sometimes &R2
Break option expedited, non-destructive or queued - see your
modem guide for details
Timeout before disconnection 5-15 minutes - unfortunately some modems
can hang during connection or some software may turn into never-ending cycle
with no data transferred. In this case it would be better to break the line
after some timeout with no data transmission. If it is possible to set such
timeout for your modem, it probably will be the \T command or some
S-register.
Handshake timeout time extended to 90 or even 120 seconds - usually
it is defined with S7 register (in seconds) and set by default to
45 or 60 seconds.
Carrier loss time before retrain/disconnect extended to 3 seconds -
usually it is defined with S10 register (in tenth of seconds) and set
by default to 0.7 or 1.4 seconds.
The v.34 protocol and its extensions become the most popular for the today's dial-up connections. It has some features, which can be completely used only in some advanced modems which allow you to configure them. For instance, V.34 protocol allows you to use different baud rates, which are 2400, 2743, 3000, 3200 and 3429 Hz. The highest baud rate allows the highest speed. Some telephone lines won't let you establish connection at the baud rate 3429, but will work well at the 2743 for example.
The other feature which can be very useful is the Power Back-off request. If your modem allows to control this option, compare the efficiency of your connection with this one turned on and off. Some PTUs with auto-controlled volume level can play the bad trick with your connection when this option is turned on.
I developed some init-strings for the all modems I configured once. Any comments and suggestions are welcome. To get the index of init-strings click here.