Hayes Command Set / Register Formats
+++ standard escape sequence (see S2 below) Comma standard pause character (see S8 below) AT standard attention sequence ATA force immediate answer ATC0 transmitter off ATC1 transmitter on ATD dial (ATD number) ATDP pulse dial (ATDP number) ATDT tone dial (ATDT number) ATE0 disable local character echo ATE1 enable local character echo ATF0 Half Duplex (modem echoes characters) ATF1 Full Duplex (modem does not echo characters) ATH0 force line on hook ATH1 force line off hook ATH2 force line special off hook (used for HAM radio) ATI0 request product code, formatted PPR, PP=prod., R=rev. ATI1 request ROM check sum ATL1 speaker volume low (modem specific) ATL2 speaker volume medium (modem specific) ATL3 speaker volume high (modem specific) ATM0 speaker always off ATM1 speaker on except while carrier present ATM2 speaker always on ATM3 speaker on except while dialing and carrier present ATO force modem into on-line state ATP sets modem to default pulse dial ATQ0 modem returns result codes ATQ1 modem does not return result codes ATR sets modem to answer mode after dialing out ATSn where Sn is S register number 'n' (see registers below) ATT sets modem to default tone dial ATV0 send numeric codes ATV1 send word result codes ATX0 basic result code set "CONNECT", no dial tone detect ATX1 extended result code set "CONNECT 1200", no dialtone detect ATX2 wait for dial tone, extended result codes ATX3 detect busy signal, extended result codes ATX4 wait for dial tone, detect busy, extended result codes ATZ reset to power up condition Hayes 2400 Compatible Modem Commands ATB0 CCITT V.22 at 1200 bps ATB1 BELL 212A at 1200 bps AT&C DCD always on AT&C1 DCD on while carrier present AT&D DTR ignored AT&D1 DTR fail disconnect enabled AT&D2 DTR fail disconnect enabled (auto answer off) AT&D3 DTR fail disconnect enabled (reset modem) AT&F restore to factory configuration AT&G no guard tone AT&G1 550 Hz guard tone AT&G2 1800 Hz guard tone AT&J RJ11/RJ41S/RJ45 jack AT&J2 RJ12/RJ13 jack AT&L regular phone line AT&L1 leased line AT&M async operation AT&M1 async/sync operation AT&M2 sync auto dial AT&M3 sync manual dial AT&P 39/61 pulse make/break ratio AT&P1 33/67 pulse make/break ratio AT&T4 grant RDL test request AT&T5 deny RDL test request AT&W write current registers to non-volatile memory AT&X sync clock internal AT&X1 sync clock external AT&X2 sync clock slaved AT&Z store dial command line Hayes Compatible Modem Registers Not all modems support all of these registers and some modems have registers other than those listed here. Also note, some are read only. to set a register use: AT Sr=## (cr) to read the register: AT Sr? (cr) Where "r" is the register and (cr) is a carriage return The following represent conventions used in the tables below: () indicates defaults for Smartmodem 1200 ** indicates possible inconsistencies across modems Reg Values Register function S0 0-255 ring to answer on (0=don't answer) S1 0-255 ring count (clear after 8 sec) (read only) S2 0-255 escape char, normally "+", 128-255 disable escape S3 0-127 end of line character (0x0D/CR) S4 0-127 line feed character (0x0A/LF) S5 0-32,127 backspace character (0x08/BS) S6 2-255 pause before dialing in seconds (2) S7 1-255 wait for carrier in seconds (30) S8 0-255 pause for comma in dial string in seconds (2) S9 1-255 carrier detect response time in 1/10 second (6) S10 1-255 carrier loss delay in 1/10 second, 255=ignore CD (7) S11 50-255 touch tone dial speed, in milliseconds (70) S12 20-255 escape guard time, in 1/50 second,0=no delay (50) │7│6│5│4│3│2│1│0│ S13 power up async data format │ │ │ │ │ │ │ └──── unused │ │ │ │ │ │ └───── result code, 0=basic, 1=extended │ │ │ │ │ └────── parity, 0=disabled, 1=enabled │ │ │ │ └─────── parity, 0=odd ,1=even │ │ │ └──────── data bits, 0=7 bits, 1=8 bits │ │ └───────── undefined │ └────────── buffer ovfw flag, 0=disabled,1=enabled └─────────── 8th bit, 0=space,1=mark (8 bit only) │7│6│5│4│3│2│1│0│ S14 option register status data format │ │ │ │ │ │ │ └──── unused ** │ │ │ │ │ │ └───── local echo, 0=disabled, 1=enabled │ │ │ │ │ └────── result codes, 0=enabled,1=disabled │ │ │ │ └─────── result codes, 0=numeric,1=word │ │ │ └──────── command recognition, 0=enable,1=disable │ │ └───────── dial method, 0=touch tone, 1=pulse │ └────────── unused ** └─────────── 0=answer, 1=originate ** S15 flag register ** │7│6│5│4│3│2│1│0│ S16 test status │ │ │ │ │ │ │ └──── analog loop, 0=inactive, 1=active │ │ │ │ │ │ └───── unused │ │ │ │ │ └────── digital loop, 0=inactive, 1=active │ │ │ │ └─────── remote req digital loop,0=inact.,1=active │ │ │ └──────── remote digital loop,0=inact.,1=active │ │ └───────── self test RDL, 0=inactive, 1=active │ └────────── self test analog loop,0=inactive,1=active └─────────── unused S18 0-255 remote test timer in seconds │7│6│5│4│3│2│1│0│ S21 option status │ │ │ │ │ │ │ └──── jack type, 0=RJ11,RJ41,RJ45,1=RJ12,RJ13 │ │ │ │ │ │ └───── unused │ │ │ │ │ └────── CTS state, 0=follows RTS, 1=forced on │ │ │ └─┴─────── DTR modem behavior (see below) │ │ └────────── DCD, 0=forced on, 1=follows carrier │ └─────────── DSR, 0=forced on, 1=behaves normally └──────────── long space disconnect,0=disabled,1=enabled Bits 43 DTR Modem Behavior Bits 00 ignore DTR 01 assume command state when DTR drops 10 assume command state and disable auto-answer when DTR drops 11 reset when DTR drops │7│6│5│4│3│2│1│0│ S22 option status │ │ │ │ │ │ └─┴──── speaker volume, 01=low,10=med,11=high │ │ │ │ └─┴─────── speaker setting (see below) │ └─┴─┴────────── X command in effect └─────────────── make/break ratio, 0=39/61, 1=33/67 Bits 32 S22 Speaker Setting 00 speaker always off 01 speaker on until carrier detected 10 speaker always on 11 speaker off during dialing, then on until CD Bits 654 S22 X Command in Effect 100 X1 command in effect 101 X2 command in effect 110 X3 command in effect 111 X4 command in effect │7│6│5│4│3│2│1│0│ S23 option status │ │ │ │ │ │ │ └──── remote dig.loop request,0=denied,1=ok │ │ │ │ │ └─┴───── baud rate (see table) │ │ │ │ └──────── unused │ │ └─┴───────── parity (see table) └─┴──────────── guard tone setting Bits 21 S23 Baud Rate Table 00 0-300 bps 01 600 bps 10 1200 bps 11 2400 bps Bits 54 S23 Parity Setting 00 even parity 01 parity bit always 0 10 odd parity 11 parity bit always 1 Bits 76 S23 Guard Tone Setting 00 no guard tones 01 550 hz guard tone 10 1800 hz guard tone S25 0-255 DTR detect delay in seconds (5) S26 0-255 RTS to CTS delay in milliseconds (1) │7│6│5│4│3│2│1│0│ S27 option status │ │ │ │ │ │ └─┴──── synch/async mode (see table) │ │ │ │ │ └─────── phone line, 0= public, 1=leased │ │ │ │ └──────── unused │ │ └─┴───────── clock type (see table) │ └──────────── protocol, 0=CCITT V.22, 1=Bell 212A └───────────── unused Bits 10 S27 Sync/Async mode 00 asynchronous mode 01 async/sync mode 10 sync auto-dial 11 sync manual dial Bits 45 S27 Clock Type 00 internal clock used 01 external clock used 10 slaved clock used