This content is no longer maintained. Please visit our new website.

ACCC Home Page Academic Computing and Communications Center  
Accounts / Passwords Email Labs / Classrooms Telecom Network Security Software Computing and Network Services Education / Teaching Getting Help

Modem Initialization String Command Codes


Often modem problems can be reduced or eliminated by using the proper modem initialization string. Unfortunately, there are literally hundreds of variations of the "Hayes AT Command Set" and "s-register" settings.

In general read your modem documentation carefully, and don't put more into the string than is necessary. As an example, with a Supra on a PC, the string AT&F2 is an adequate initialization string for many users; for a USR modem, AT&F1 is frequently adequate.

These two examples demonstrate using a "template" -- a pre-defined set of modem initialization codes which can be invoked with a single command. Most modems contain one or more default templates for different common situations, and also let you save your own custom "default" string. Many users use an init string that calls up a template, and then invokes a few custom commands to tailor the defaults. Read your modem documentations to see if one of your modem manufacturer's default templates will work for you (at least as a starting point).

The following are all the commands in the Hayes Extended Command Set. These are generally supported by all modems, in addition to each modem's specific command set.

For more on modem init strings for specific types of modems, see the Modem Resource Page.

Hayes Extended Command Set
AT Command line prefix. The ATtention command precedes all other commands listed below except for A/ and the escape code. For example, the command DT would be typed ATDT.
A/ Repeat last command(not to be preceded by AT)
A The modem is set to answer mode and goes offhook immediately. Answer without waiting for ring.
Bn Bell mode - set 1200 bps protocol compatibility Selects V.22 or Bell 212A in the 1200bps mode. n=0, CCITT V.22 with 2100Hz Answer Back Tone. n=1, Bell 212A with 2225Hz Answer Back Tone.
Cn Carrier state: n=0, OFF n=1, ON
ex. C1 = carrier state on
Dn Dial telephone number. Dial the number immedi- ately following this command, where n is the number combined with other dial subcommands as shown below. Any combination of the subcommands listed below may be strung together to perform the desired dialing sequence. The number is dialed in the call progress or blind mode depending on register S11.

Dial SubcommandFunction
T Touch Tone Dialing
P Pulse dialing (some modems use by default to Pulse if T or P not used
R Reverse mode. Puts modem in answer mode immediately after dialing. Use answer frequencies when origi- nating a call.
S=n Dial a stored number. The numbers are stored in the registers of the microcontroller.
n=0,1,2,3 - stored number that has been previously stored in non-volatile RAM, using &Zn command. (see &Zn command below)
W Wait (for seconds dial or access tone). Wait for a continuous tone before dialing the next number. Useful for dialing MCI or Sprint. The modem waits S7 seconds (see Appendix B about registers) for the tone. If the tone is not heard, BUSY or NO DIALTONE result code is issued.
@ Wait for a "quiet answer" - one or more rings followed by 5 seconds of silence - for the length of time defined by register S7. (see App.B)
, (comma) - Pause (a delay in dialing sequence). Pause the length of time specified by S8 (default time = 2s) Each comma equals the pause length specified. You may use as many commas as you like.
ex. To disable call waiting in most areas use, *70,,312-666-9000 to connect to UIC
! Flash(on-hook for 1/2 second). This character can be used to go temporarily on-hook in order to get a new dialtone.
; Return to command mode after dialing. This command can only be placed at the end of a dial command
Digits and characters that may be used in dialing. # * and ABCD may only be used when tone dialing.
En Echo modem command. Determines whether the mo- dem echoes the data received in the command mode back to the host.
n=0, echo OFF ( or NO)
n=1, echo ON ( or YES)
ex. E1 = echoing turned on
Fn Full or half duplex operation.
n=0, half duplex
n=1, full duplex
ex. F1 = full duplex operation
Hn Hook. Controls the modem on/off hook relay
n=0, on hook(disconnected or hang up)
n=1, off hook
In Request product code and ROM checksum. Return product ID/checksum.
n=0, Returns product ID. Modem sends its
3-digit product code.
n=1, Performs checksum, return checksum. Requ-
est numeric checksum of firmware ROM.
n=2, Performs checksum, returns result code.
Request OK or ERROR state of ROM checksum.
n=3, returns ROM part # and revision level.
Ln Loudness of speaker volume
n=0, low
n=1, low
n=2, medium
n=3, high
ex. L2 = this will give you the preferable medium setting
Mn Speaker control. Mode of speaker operation.
n=0, speaker always OFF
n=1, speaker ON when phone is off-hook speaker OFF when Carrier Detected
n=2, speaker always ON
n=3, speaker ON after dialing until Carrier Detected. Disable speaker when modem receives a carrier signal while modem is dialing.
ex. M1 = good way to listen in on a conversation without ever being noticed
On-line state. Puts modem in the online data mode.
n=0, Online. Modem returns to the on-line state
n=1, Online with equalizer retrain sequence. Modem returns on-line and retrains equali- zer. (2400 bps mode only)
Quiet command for result codes. Result codes ON/OFF.
n=0, codes are sent
n=1, codes are NOT sent
Sn? Reads the contents of status register Sn. Display value of S-register n.
ex. S7 contain how many seconds to wait after a ring
Sn=x S-register command. This command may be used to modify an S register of the modem. It assigns a value X to the status register N. They may be reset to the default values by issuing an '&F' or 'Z' command. See Appendix B for a list of S registers.
n=S-register number
x=value to set register to
Vn Sets result code format. Verbose mode for result codes.
n=0, use digits(numeric)
n=1, use words
Xn Sets dialing mode, result code format for dial command. Enable extended result code and mode setting.
n=0, basic(300bps).Dialtone and busy signal not recognized (blind dialing). Result codes 0-4 enabled.
n=1, extended(no dialtone or busy signal detec- tion). Dialtone and busy signal not recog- nized (blind dialing). Result codes 0-5 and 100 enabled.
n=2, extended(detects dialtone but not busy signals). Dialtone detected. Busy signal not detected. Result codes 0-6 and 10 enabled.
n=3, extended(no dialtone detect but detects busies). Busy signal detected. Dialtone not detected. Result codes 0-5,7 and 10 enabled.
n=4, extended(detects both dialtones and busies
Yn Long Space Disconnect Option
n=0, disabled
n=1, enabled; disconnects after receiving 1.6 sec break.
Z Causes a software reset with registers set to default values. Fetch configuration profile from non-volatile memory.
Basically resets the modem.
&Cn Data Carrier Detect handling. Enables DCD.
n=0, DCD always on. Modem keeps DCD (RS-232 pin 8) always on.
n=1, DCD set by modem when remote carrier detected. DCD tracks data carrier detected by modem.
&Dn Data Terminal Ready handling. Enables DTR. DTR ON/OFF time as specified by S25.
n=0, modem ignores DTR line (RS-232 pin 20)
n=1, switches to command mode when DTR goes off modem assumes asynch command state when DTR goes off.
n=2, same as n=1. Also hangs up, disables auto answer. DTR off switches modem off hook, out of answer mode and back to command state.
n=3, initializes modem when DTR goes off. DTR switching off initialized modem.
&F Fetch factory configuration profile from ROM. Sets values for S Registers and Commands to factory default. Same as powerup reset.
&Gn Guard tone selection (used only when in CCITT modes)
n=0, no guard tones
n=1, 550 Hz guard tone
n=2, 1800 Hz guard tone
This command need never be used when communica- ting over U.S. phone lines. Outside the U.S. the modem may need to generate an additional tone, along with its carrier, to disable echo suppressors in the central office. The guard tone varies by country.
&Jn Telephone jack selection
n=0, RJ-11/RJ-41S/RJ-45S
n=1, RJ-12/RJ-13
&ln Leased-line or dialin line selection
n=0, dialin operation
n=1, leased-line
You'll almost always use &l0
&Mn Asynchronous/Synchronous communication mode selection
n=0, asynchronous
n=1, synchronous mode 1 -async dialing, then switch to synchronous operation
n=2, synchronous mode 2 -stored number dialing
n=3, synchronous mode 3 -manual dialing
&Pn Pulse dial make/break pulse length selection
n=0, 39% make,61% break(US and Canada standard)
n=1, 33% make,67% break
&Qn Communications Mode Option
Idle StateOn-Line State
n=0Normal Asynchronous
n=2 Dial when DTR=1
Hangup when DTR=0
n=3Task/data, DTR=0/1Reserved
&Rn Request to Send/Clear to Send handling (sync mode only)
n=0, CTS (RS-232 pin 5) tracks RTS (pin4)
n=1, modem ignores RTS and turns CTS on when ready to receive synchronous data
&Sn Data Set Ready handling. Controls DSR. DRS ON indicates that the modem is connected to a communication channel and is ready.
n=0, DSR is always ON. Modem forces DSR ON whenever modem is turned on
n=1, DSR (RS-232 pin 6) operates according to EIA specs. DSR turned ON at start of hand- shaking, off in test mode, idle state, or when carrier is lost
&Tn Control Test mode(not available in 300bps mode)
n=0, terminate any test in progress when last command on a line. Ends current test and returns to command mode
n=1, initiates local analog loopback test
n=3, initiate local digital loopback test
n=4, conditions modem to perform remote digital loopback when requested by another modem
n=5, prohibits remote digital loopback
n=6, initiates remote digital loopback with another modem
n=7, initiates remote digital loopback with self-test
n=8, initiates local analog loopback with self-test
&V Displays active configuration profiles (S Re- gister settings, commands, and telephone numbers. Inputs from DTE are ignored while this information is being sent.
&Wn Write active configuration profile to memory. Sends and stores acceptable values for certain commands and S Registers to non-volatile RAM. The last DTE speed and parity are also stored Stored values are used on power-up or hard reset.
n=0, store active profile in location 0
n=1, store active profile in location 1
&Xn Select synchronous transmit clock source (sync mode only)
n=0, Internal clock, modem generates timing and sends through pin 15
n=1, modem's host computer generates timing and sends it to modem on pin 24, which modem routes to pin 15.
n=2, Receive clock, modem derives timing from incoming signal and supplies it to pin 15
&Yn Select Stored Profile on Power Up Option
n=0, Select profile 0 on power up or hard reset
n=1, Select profile 1 on power up or hard reset See, the &Wn command for particular commands and S Registers stored. The selected &Y command survives a power outage.
&Zn Stores telephone number. n=string of digits compatible with Dial command

2001-4-10  CSO
UIC Home Page Search UIC Pages Contact UIC