AT
Command Basics
AT
commands are used to control the modem. They
can be issued manually (user) or by communications
software. AT commands perform a variety of
tasks, from setting the modem’s speaker volume
to displaying result codes. To issue AT commands
directly to the modem, you must be in terminal mode
(ex: Terminal, HyperTerminal). The prefix
AT (ATtention) must start each command except A/
(re-execute last command). Some modems require
that AT commands be in all caps, although most modern
modems will accept lower case. Spaces between
commands are not necessary but can be used to improve
readability.
There are two states the modem can be in when power
is on: command state and online state. When
the computer is first turned on, the modem is in command
state. After the modem is connected to another
modem, it is in online state. To send AT commands
to the modem it must be in command state. Use
the escape sequence +++ to enter command state from
online state. The escape sequence can be typed
at any time during a connection to enter command state.
+++ is used without a carriage return. It should
be typed quickly followed by ~one second guard time
(where no input is sent). The modem will send
the response OK. Now, the modem will accept commands.
Other than +++, each command statement should be followed
by a Carriage Return. After the modem receives
a command, it returns a result code. Result
codes can be numeric or verbose depending on the setting.
If the modem understands the command issued, it returns
OK or another informative word (or corresponding numeric
value ex: 0,1, 2). If the modem could not accept
the command it returns ERROR (or corresponding numeric
value ex: 3,4). Consult the modem's manual for
explanation of numeric results.
Different chip sets have some variation in the commands
used to perform specific tasks, although you will
find the basic structure and many basic commands to
be standardized. Knowing which command set to
use and the values associated with particular parameters
requires consulting the modem’s manual or an
online information source (usually the manufacturer’s
web site). The manual here in the office contains
examples of Rockwell, Lucent, and USR chipset AT commands
and s-register values.
There is more than one form of AT command. Two
common command forms are:
1)
[AT]<command>[<number>] (ex: ATA, ATW2,
AT&V1)
-if
no numeric value is given, default value of 0 is assigned.
2)
[AT]+[command]=<parameters> (ex: AT+MS=v34,1,9600,33600)
-default
values can be used by leaving blank, or substituting
commas
-ex:
AT+MS=V34,,9600,33600
Modem Configurations
Default
Configuration
Before a modem leaves the factory, it is set up to
operate in a certain way. This is the factory
default. Factory configurations differ depending
on what computer the modem is being used with and
whether the modem is intended to be used with error
correction and data compression. Consult the
modem's manual or the manufacturers web page for the
associated settings for each default configuration.
To load the default configuration on a modem issue:
AT&F0 or AT&F1. Once again, the
command you use will depend on the modem, computer
and the necessary settings. For example, here
are the factory configurations for the Rockwell chipset:
-
AT&F0 – used on IBM compatible computers
with non-USR modems - Sets the modem to use automode,
hardware flow control, and other settings including:
/N3, &K3, &Q5, &D2 = error control mode
selection (V.42, MNP, or buffer), enables RTS/CTS
flow control, error control mode (same as /N3),
modem disconnects if DTR signal is not detected
while in online data mode.
-
AT&F1 – (USR modems) loads factory configuration
with Hardware Flow Control (and other settings)
or used with Macintosh computers. Loads error
correction/data compression configuration with hardware
flow control.
-
ATZ – resets the modem and restores the default
configuration.
-
AT&V or AT\S – displays the active configuration.
* specific to Rockwell, for example to display active
configuration for USR enter ati5
Active
Configuration
Issuing AT commands change the modem’s active
configuration. The configuration will be in effect
until the modem is reset or turned off. The AT
command and S-register settings can be stored for future
use as a profile. Most modems permit the storing
of a profile with the command AT&Wn (where n is
profile 0 or 1). To load the profile issue the
command ATZn (where n is the stored profile).
By default, ATZ alone (which is the same as ATZ0) resets
the modem and loads the default profile, unless one
has be stored as 0.
Commonly
Requested AT-Commands
The following AT commands are useful for a variety
of modem configurations. For example, many people
want to turn their modem's speaker off. Or, maybe
they want to force the modem to connect at a different
protocol. The best source for this information is
the modem's manufacturer. But, that can be time consuming.
In an effort to speed things up I will provide those
most commonly requested. Keep in mind that AT commands
are specific to a modem or more commonly a chipset.
So, don't expect commands for a 3COM sportster to
work with your Rockwell chipset modem. Although, some
commands are standardized and will work with almost
any modem.
Using
AT-Commands with your modem.
Although there are other ways to use
AT-Commands with your modem, I will give the most
simple method in a Windows 95/98 operating system.
Follow these instructions:
Click
My Computer>Dialup Networking>Find the icon
for the connection to your ISP.
Next,
highlight the icon, click on File>Properties.
Click
the configure button>Connection Tab>Advanced
button>in the extra settings box put the AT-Command(s)
For
example, in the extra settings box I would type:
M0 to turn of the modem's speaker
Speaker
Control
M0
speaker always off
M1
speaker on during connection
M2
speaker always on
L0
lowest volume
L2
medium volume
L3
maxium volume
Enable/Disable
K56flex or v.90
If
your Rockwell chipset modem does not support both K56flex
and V.90 protocols, use +MS=11,1 to disable K56flex
protocol. This will then negotiate using V.34 protocol
(max connect 33600bps). Many older K56flex modems do
not have built in support for V.90. Most of these modems
can be Flash Upgraded to V.90. But, the ROM is not large
enough (memory) to support both protocols. If your modem
support both protocols, see the table below for more
information on AT commands you can use.
Rockwell Chipset Modems
| For
Rockwell modems excluding PCI (HCF) modems |
| V.90
preferred |
+MS=12,1 |
| V.90
only, no K56flex or V.34 |
+MS=12,1,34667,56000 |
| K56flex
preferred |
+MS=56,1
|
| K56flex,
V.90 and V.34 disabled |
+MS=56,1,34000,56000 |
| Disable
V.90 and K56flex, use V.34 (33600bps or less) |
+MS=11,1 |
| Rockwell
HCF chipset (PCI card modems) |
| V.90
preferred, K56flex will still work |
+MS=V90 |
| K56flex
preferred, V.90 will still work |
+MS=K56FLEX |
| Disable
V.90 and K56flex, use V.34 (336000bps max) |
+MS=V34 |
Lucent
chipset modems (internal)
| For
LT Winmodem and LT PCI Winmodem |
| Enable
V.90 |
-V90=1
|
| Disable
V.90 |
-V90=0
|
| Enable
K56flex |
S38=1
|
| Disable
K56flex |
S38=0
|
These
commands should work with modems built with USR/3Com
chipsets.
| X2
only modems |
| Sportster:
disables X2 |
S32=32 |
| Sportster:
disables X2 & enables V.8 mode |
S32=34 |
| Courier:
disables X2 |
S58=1 |
| Modems
that support both X2 and V.90 |
| Sportster:
X2 on, V.90 off |
S32=66 |
| Sportster:
V.90 on, X2 off |
S32=34 |
| Sportster:
both protocols off |
S32=98 |
| Sportster:
both protocols on |
S32=2 |
| Courier:
X2 on, V.90 off |
S58=32 |
| Courier:
V.90 on, X2 off |
S58=1 |
| Courier:
both protocols off |
S58=33 |
| Courier:
both protocols on |
S58=0 |
Error
Correction/Data Compression
When
establishing a connection, the modem first negotiates
the highest rate supported. Next, if error correction
and data compression are enabled, the modem tries
to first negotiate error correction, and then data
compression. During the negotiation, the modem
will attempt the most powerful protocols first and
fall back to a mutually supported protocol if necessary.
If no protocol is supported by the remote host, a
connection will be made without error correction and
data compression.
Error correction is necessary for high speed communications.
When two modems establish an error controlled connection,
they are said to have a reliable link and are capable
of filtering out garbage characters caused by line
noise. Error correction functions by using a
sophisticated algorithm to make sure that data received
is identical to data sent. If the checksum does
not match, the corrupt data must be resent.
There are two standards of error correction:
V.42 which incorporates LAP-M (primary) and MNP-4
(secondary), and MNP 2 to 4. Using V.42 the
modem will attempt an error free connection first
with LAP-M, if this is not supported on the remote
modem a connection using MNP-4 will be established
if available. Error correction is not required
to connect, but is required for error free data communications.
Data compression increases the data throughput on
a limited bandwidth connection. The sending
modem analyzes outgoing data for repetitions.
These repetitions are assigned a shorter data code
that transmits faster than the original data.
The receiving modem decompresses the data to its original
form. A modem cannot perform data compression
without utilizing error control. It is possible
to use error control without data compression but
not the converse.
There are two standards for data compression:
V.42bis and MNP-5. V.42bis is capable of a maximum
compression ratio of 4:1. MNP-5 has a peak compression
ratio of 2:1. V.42bis and MNP-5 cannot compress
a file that is already compressed by software.
Connection
Rates
The rate or speed of a connection can be reported
in two ways. One, the Data Terminal Equipment
(DTE), is the rate the computer and modem communicate.
The other, Data Communications Equipment (DCE), reports
the data rate between the two communicating modems.
The DTE can be set as the bits per second rate of
a communications port or as the maximum speed in the
configuration of the modem. In Windows 3.x,
and 95/98 the communications port speed can be changed
in the win.ini file under ports. The port speed
is the first of the four listed values (ex: COM2:=9600,n,8,1).
In Windows 95/98 set the port speed using the maximum
speed. Maximum speed is located in Dialup Networking,
Properties of the connection, Config of the modem,
general tab. If the modem uses compression,
set the maximum speed to approximately 2 times the
speed of the modem. The max speed can be set
to greater than 2 times the modem, but if it is too
high it can cause overflows and create errors.
If you are using a 56k modem and are consistently
connecting to the internet at 115200 bps, you are
not necessarily connecting to the remote modem at
a high rate. Instead, your result code is set
to report the DTE rate rather than the DCE.
The DTE will always report as the rate the port bps
is set. To change this to see what the DCE connection
is, or what is considered the internet connection
rate, modify the init string. Most modems will
report the DCE with this setting: ATW2.
Related
Terminology
Automode
when enabled, the modem attempts to connect at the
highest possible rate and protocol using either V.8
or V.32bis annex. If modem cannot make a connection
at that speed, it automatically negotiates the rate
downward until the connection is established.
Data
Compression the sending modem analyzes the
outgoing data for often repeated patterns. It
then assigns a shorter data code that transmits faster
than the original data. The more often the pattern
occurs, the better compression the modem can achieve.
Compressed files do not benefit from additional compression
(.zip)
DCE
Data Communications Equipment. The modem.
DTE
Data Terminal Equipment. The computer.
DTR
(Data Terminal Ready) A Data Terminal Ready
(DTR) signal is sent by the computer to the modem
to indicate that the computer (the “data terminal”)
is ready to communicate with the modem. DTR
can also be used for other purposes, such as signaling
the modem to hang up the phone (called “hardware
hang-up”).
Echoing
When the modem is in command mode, it can transmit
characters it receives back to the computer.
This is called command echoing. For example,
if you enter a modem command in a telecommunications
application, your keystrokes appear in the application
window if echoing is turned on.
Error
Correction the modem breaks your transmission
down into blocks of data (frames) and calculates a
checksum (sum of all data bytes in the block).
The block and checksum are transmitted. The
receiving modem calculates a checksum on the received
data block and compares it with the received checksum.
If these numbers are different a request is sent for
the transmitting modem to resend the data.
Handshaking
handshaking is a method of controlling the speed of
data transfer by signaling when each side of the connection
is ready to receive data. This ensures that
both sides can keep up and no data is lost.
Hardware
Flow Control prevents data from being lost
by regulating when a device is ready to receive or
transmit data.
LAP-M
Link Access Procedure for Modems. Primary error
control scheme used by V.42.
Off-hook
When a modem goes off-hook, it claims the telephone
line to which it is connected. Taking a modem
off-hook is equivalent to picking up a telephone to
make or answer a call.
On-hook
When a modem goes on-hook, it releases the telephone
line to which it is connected, freeing the telephone
line for other uses. This action, which is equivalent
to hanging up a telephone, terminates the current
data connection.
On-line
mode In on-line mode, data sent from the
computer to the modem is transmitted to the remote
modem, instead of being interpreted as AT commands.
MNP
4 protocol MNP 4 is an error-correction
protocol, providing a standard way of correcting errors
that can occur as data is transmitted or received.
MNP 4 provides less efficient error correction than
V.42.
MNP
5 protocol MNP 5 is an error-correction
and data-compression protocol, providing a standard
way of correcting errors in transmitted data and of
compressing data for transmission in order to save
transfer time. MNP 5 provides less efficient
error correction and data compression than V.42bis.
Parameter
A parameter is an additional value that you must provide
along with a command.
Result
codes A result code is a message the modem
sends to the computer, indicating the result of an
AT command or the status of a connection. Result
codes are reported as number (numeric) or words (verbose).
RTS
(Request to Send) & CTS (Clear to Send)
Request to Send (RTS) and Clear to Send (CTS) are
hardware-handshaking signals. The computer sends
a Request to Send (RTS) signal to the modem to determine
whether the modem is ready to receive data.
When the modem is ready to receive data, it sends
a Clear to Send (CTS) signal to the computer.
S-registers
S-registers are memory locations in the modem where
modem settings are stored. You use the Sn=x
command to change the setting in an S-register.
V.42
protocol V.42 is an error-correction protocol
that provides a standard way of correcting errors
that can occur as data is transmitted or received.
V.42 provides more efficient error correction than
MNP 4.
V.42bis
protocol V.42bis is an error-correction
and data-compression protocol. As an error-correction
protocol, V.42bis provides a standard way of correcting
errors that can occur as data is transmitted or received.
As a data-compression protocol, V.42bis provides a
standard way of compressing data before it is transmitted
and decompressing data after it is received.
V.42bis provides more efficient error correction and
data compression than MNP 5.
Taken
from Webopedia
|