D   A   T   A   W   O   K





Creation: November 26 2016
Modified: September 11 2018

AT Commands Reference


Short Introduction

The Hayes command set, also called the AT command set, is a specific command language originally developed by Dennis Hayes[1] for the Hayes Smartmodem 300 baud modem in 1981.

The command set consists of a series of short text strings which can be combined to produce commands for operations such as dialing, hanging up, and changing the parameters of the connection. The vast majority of dial-up modems use the Hayes command set in numerous variations.

Every Hayes command starts with the "AT" characters.

The Hayes command set can subdivide into four groups:

Conventions in this reference

> AT<cmd>[?]
[response]

Generic Commands

ATZ - Reset to Default Configuration

Set the modem to default values.

> ATZ

AT&F - Reset to Factory-Defined Configuration

Set modem parameters to the factory defalts.

> AT&F

ATE - Command Echo

Determines whether or not the modem echoes characters received from the DTE during command state.

> ATE?
E: <value>

Enable/Disable echo

> ATE<value>

value:

AT&V - Read the Configuration

Displays the stored and active modem profile settings

> AT&V
<settings>

AT+ICF - DTE to DCE Character Framing

This command determines the local serial port start-stop (asynchronous) character framing used by the DCE.

Get possible values

> AT+ICF=?

Get current values

> AT+ICF?

Set new values

> AT+ICF=[<format>[,<parity>]]

format:

parity:

AT+IPR - Boud Rate

Set the data rate on the GSM Data Module's serial interface

> AT+IPR=<rate>

Default rate is 9600

AT+IFC - Flow Control

This command controls the operation of local flow control between the DTE and DCE. Used when the modem is in Data Mode.

> AT+ICF=[<dce2dte>[,<dte2dce>]]

dce2dte/dte2dce:


Mobile Equipment Control

AT+CFUN - Set Phone Functionality

List of supported functionalities

> AT+CFUN=?
CFUN: (list of supported <fun>s)

Get current functionalities

> AT+CFUN?
CFUN: <fun>

Set new functinalities

> AT+CFUN=[<fun>]

fun:

AT+CPIN - Enter PIN

Used to query and enter a password which is necessary before the modem will operate.

Get current protection types

> AT+CPIN?
+CPIN: <code>

code:

Enter/Change PIN code

> AT+CPIN=<pin>[,<newpin>]
+CPIN: SIM PIN

PIN disable

Using the "Facility Lock" command.

> AT+CLCK="SC",0,"1234"

Generic DCE Control Commands

+++ - Changes from Online Data mode to Online Command mode

> <wait-for-0.5-second>+++<wait-for-0.5-second>

ATO - Back to data mode (after +++)

> ATO

ATH - Hang-up

Instructs the modem to disconnect from the line, terminating any call in progress.

> ATH

Used by the application to disconnect the remote use

ATD - Dial Command

To start a call to a destination number.

> ATD<number>
<result>

result:

AT+CREG - Network Registration

List of supported s

> AT+CREG=?
+CREG: (list of supported <n>s)

> AT+CREG?
+CREG: <n>,<stat>

n:

stat:

AT+COPS - Operator Selection

Registers/displays network operators available

> AT+COPS=?

> AT+COPS?

> AT+COPS=[<mode>[,<format>[,<oper>]]]

AT+CBST - Bearer type selection

Selects the bearer service for mobile originated calls.

List available options

> AT+CBST=?
+CBST: (list of supported <speed>s),(list of supported <name>s),
       (listed of supported <ce>s)

Get current values

> AT+CBST?
+CBST: <speed>,<name>,<ce>

Set new values

> AT+CBST=[<speed>[,<name>[,<ce>]]]

ce:

Select message service

AT+CSMS

0: SMS AT commands are compatible with GSM 07.05 Phase 2 version 4.7.0. 1: SMS AT commands are compatible with GSM 07.05 Phase 2 + version .

Response

+CSMS: 1,1,1

AT+CMGF - SMS Format

Controls the presentation format of shot messages, from the modem.

List supported modes

> AT+CMGF=?
+CMGF: (list of supported <mode>s)

Get current mode

> AT+CMGF?
+CMGF: <mode>

Set new mode

> AT+CMGF=<mode>

mode:

AT+CMGS - Send SMS

Send a short message from the modem to the network.

> AT+CMGS=<number><CR><message><CTRL-Z>
+CMGS: <mr>

ATS0 - Automatic Answer

List of supported values

> ATS0=?
S0(list of supported <values>)

Get current value

> ATS0?
<value>

Set new value

> ATS0=<value>

value:

davxy