Modems
Commands
BASIC
AT COMMANDS
The standard AT command set is sometimes referred to as Hayes
compatible modem commands. A modem that is Hayes compatible can use this standard
Hayes command set. Don't buy a modem if it isn't Hayes compatible. Almost all
modems sold today support these AT commands. The command letters AT wake up
the modem and initialize it. The AT means ATTENTION modem. This list of commands
is for reference only; please don't feel you need to memorize them! If you do,
your cohorts will presume you're a nerd (and correctly so).
COMMAND FUNCTION
A/ | Repeats the last AT command (this command does not need to be preceded by the letters AT); |
+++ | Switches the modem from online mode to command mode (this command does not need to be preceded by the letters AT); |
AT | Attention modem--(wakes up the modem); |
The following
commands require an AT to precede the command (such as ATA for the first one
on the list):
A | Sets the modem in answer mode |
DT | Dials a touch-tone phone |
DP | Dials a pulse (rotary) phone |
Dial modifiers
R | Originate call in answer mode (to call originate only modems) |
S=n | Dial the stored numbers where n= 0,1,2,3 |
W | Wait for dial tone prior to dialing--the time period of the pause is determined by an S register setting |
, | Pause 2 seconds before continuing to dial |
/ | Pause .125 second before continuing to dial |
; | Remain in command mode after connection |
! | Flash hook--hangs up then reconnects in .5 second |
@ | Wait for silence before continuing to dial--the time period of the pause is determined by an S register setting |
COMMAND FUNCTION
E or E0 | Turns character echo off |
E1 | Turns character echo on |
F or F0 | Sets modem to half-duplex |
F1 | Sets modem to full-duplex |
H or H0 | Hangs up the phone |
I or I0 | Shows the modem product code |
I1 | ROM check |
I2 | ROM test |
L1 | Sets modem speaker volume to low |
L2 | Sets modem speaker volume to medium |
L3 | Sets modem speaker volume to high |
M2 | Turns modem speaker on for the entire connection (don't do it!) |
M0 | Turns modem speaker off |
M1 | Turns modem speaker off when connection is established |
O0 | Returns online after entering command mode |
Q0 | Turns on result code display |
Q1 | Turns off result code display |
Sxn | Sets the S register x to the value of n; note that both x and n are variable numbers |
Sx? | Displays value of register Sx |
V0 | Sets modem to display numeric result codes |
V1 | Sets modem to display verbose codes (words) |
Xn | Modem response sets (note that n is a variable number) |
X0 | =minium responses |
X1 | =minium responses--don't wait for dialtone before dialing |
X2 | =like X1 but do wait for dialtone before dialing |
X3 | =like X1 but adds call progress messages and tone detection |
X4 | =call progress messages--tone detection and wait for dialtone |
Z | Resets modem |
& | Advanced commands prefix (not all modems support these) |
&F | Resets modem to factory default |
AT
COMMAND SET USAGE
AT commands need to be issued in upper or lower case letters.
You can't mix upper and lower case letters when issuing an AT command. When
loaded, most telecommunications programs start in the command mode. This means
you can issue AT commands from the keyboard as soon as you load your telecommunications
program. Try loading yours. Then type:
atz <ENTER>
If your modem is connected to the serial port you designated
when you set up your telecommunications software and it is working properly,
you should see OK on your screen.
OK
Next, you can try dialing a BBS number using an AT command.
If you have a touch-tone phone (most people do), try issuing a command while
in the command mode of your telecommunications program:
atdt0040745129711 <ENTER>
The dashes are optional. Suppose you were at a phone where
you had to dial 9 before you got an outside line. Start up your telecommunications
software, then from the command mode type:
at dt 9 , 0040745129711 <ENTER>
In this example spaces were used. AT commands ignore spaces and dashes.
The first AT command got the modem's attention. The following DT told it to
dial using touch-tone dialing. The 9 is to get an outside line. A commad then
instructs the modem to pause two seconds before continuing (see the dial modifiers
in the basic AT commands). The 0040745129711 is the phone number you want to
dial. Note that you only need the AT (attention modem) at the beginning of an
AT command statement and that AT commands can be strung together.
Perhaps you have a burning desire to check the value of your
S7 register. This will show the number of seconds that your modem waits for
a carrier before hanging up. Start up your telecommunications software, then
from the command mode type:
at s7? <ENTER>
The above command will show you the value of your modem's
S7 register.
Your
telecommunications software manual will probably mention the modem initialization
string. This is the string of commands that initializes your modem. The AT command
section combined with the S registers section should help you understand your
modem's initialization string. See your particular modem manual for more details
on AT commands and initialization strings. Different modems require different
modem initialization strings. The better telecommunications software programs
will have a modem pick-list feature. With such a feature, the software will
automatically set your modem for optimum use with pre-defined setup initialization
strings. When newer modems come out, telecommunications software manufactures
have to keep adding the new modems to their pick-list. If your modem is not
on their pick-list, you can often contact the company that makes the telecommunications
program for a software update. For example, if you are using Telix, you would
contact deltaComm Development, the company that makes Telix. Many of these companies
maintain a BBS where customers can download updates.
You can also send AT commands to your modem from the DOS command
line. Suppose you have your modem connected to COM2 (serial port) and a speaker
phone connected to your modem. Go to the DOS prompt. With your modem on, you
can dial a number by using the ECHO command. First,
press the button to activate your speaker phone. Then, at the DOS prompt type:
echo atdt0040745129711>com2 <ENTER>
That's dialing from DOS!