AT command settings

u-blox modules provide at least one physical serial interface that is compliant to V.24 [8]. When the module is powered on, it enters the command mode. For more details on command mode, see Section 1.1.

For module and hyper terminal connection and settings see the corresponding evaluation kit user guide.

Definitions

In this document the following naming conventions are used:

  • MT (Mobile Terminal) or DCE (Data Communications Equipment): u-blox module

  • TE (Terminal Equipment) or DTE (Data Terminal Equipment): terminal that issues the command to the module

  • TA (Terminal Adaptor): the function, integrated in the MT, of supporting AT command interface according to the applicable standards

  • ME (Mobile Equipment): equivalent to MT, it is used to refer to the device itself regardless of the inserted SIM card

The terms DCE and DTE are used in the serial interface context.

u-blox modules can implement more than one interface between the DTE and the DCE, either virtual interfaces (multiplexer channels) or physical interfaces (UART, USB, SPI, etc., when available). Each interface works as specified by the followings definitions. If not differently stated, all the subsequent descriptions are applicable to each interface. Section B.3 describes the different behavior among the interfaces in reference to the AT command interface. It also describes the limitations (if any) in the concurrent use of more than one AT command interface.

See the corresponding module data sheet for the list of available AT command interfaces.

Where supported, two UART AT interfaces can be used at the same time (it is not the default behavior). See +USIO command description for details on how to set such behavior.

According to the terminology used in the data sheet, UART is the main asynchronous serial interface, while AUX UART is the auxiliary asynchronous interface. For more details on supported serial interfaces and their characteristics, see the corresponding module data sheet.

The same naming will be used in the rest of the document (when not clearly specified, the description shall be considered applicable to both the interfaces).

Operational mode of the AT interface

The DCE/MT interface can operate in these modes:

  • Command mode: the DCE waits for AT command instructions. The DCE interprets all the characters received as commands to execute. The DCE may send responses back to the DTE indicating the outcome of the command or further information without having received any commands by the DTE (e.g. unsolicited response code - URC). Any communication in the command mode (in both directions) is terminated by the command line termination character.

  • Data mode: the DCE transfers data after having sent the "CONNECT" string; all the characters sent to the DCE are intended to be transmitted to the remote party. Any further characters received over the serial link are deemed to be from the remote party, and any characters sent are transmitted to the remote party. The DCE enters data mode immediately after it makes a Circuit Switched Data (CSD) or Packet Switched Data (PSD) connection (PPP or DUN connection).

  • Online command mode: the DCE has a data connection established with a remote party, but treats signals from the DTE as command lines and sends back responses and unsolicited indications to the DTE.

  • Direct link mode: intermediate state where the DCE transfers data transparently over a connected TCP/UDP socket (e.g. by means of +USODL), after reporting the "CONNECT" string.

  • SMS mode: AT commands for writing or sending SMSs lead the AT interface into an intermediate state indicated by the ">" (greater-than sign) where SMS text/PDU can be entered. <Ctrl-Z> indicates that the SMS editing is completed, while <ESC> indicates aborting of the edited SMS.

  • Raw mode: special AT commands lead the AT interface into intermediate state where raw data is being exchanged (e.g. during file transfer).

  • AT commands over an IP connection: the DCE is accepting a TCP connection on a specific TCP port. The DTE can connect via TCP protocol to the port and can send commands over this TCP connection. The DCE may send responses back to the DTE via the same TCP connection. The communication over IP connection is denoted by a set of two ports:

    • AT command port;

    • binary data port. The binary data port is used for the exchange of binary data between the DCE and DTE.

The AT commands over IP connection is not supported.

To establish a PSD connection see the +CGDCONT and +CGACT AT commands.

Switch from data mode to online command mode

When a data connection is established it is possible to switch from data mode to online command mode (OLCM) in the following ways:

  • with the escape sequence "+++"

  • via a DTR transition: during data mode, the current DTR state is not important, but only its transition. Furthermore, only the DTR transition from ON to OFF is detected; it can be used to control the switch to OLCM, or to command mode (the data connection is released). For more details, see the &D AT command description

To switch back to data mode from OLCM the O AT command is used. For more details, see also the &D AT command.

When using the multiplexer and PPP combined, toggling the DTR line (of the physical serial interface where the multiplexer protocol is started) from ON to OFF state does not terminate the PPP session and return the device to the command mode. In this configuration, it is recommended that the host terminates the PPP session, which can be done by sending LCP_TERM REQ or deasserting the DTR virtual line (sending of specific MUX MSC command).

Command description

The AT commands configure and enable the module functionalities according to 3GPP normative and u-blox specifications. The AT commands are issued to the module via a hyper terminal through a command line and are described in the following sections. A general description of each command is provided including the functionalities, the correct syntax to be provided by the TE/DTE, the allowed responses and an example. The command description defines each named parameter with its type, its range (valid / acceptable values), the default value (when available) and the factory-programmed value (when applicable).

For default value it is intended the value automatically set if the parameter is omitted and at the module power-on (if the command setting is not stored in NVM/profile). For factory-programmed value it is intended the value set at the module power-on when the setting is not modified respect with the manufacturer setting; it is valid for the commands that store the setting in NVM/profile.

The summary table on the top of each command section and the Appendix B lists all the u-blox cellular modules that support that command.

The example provided in the command description refers only to the handling provided by the command. It may be not valid for all the products which the document is applied to. The list of allowed values for a specific product is provided in the corresponding "Defined values" section.

In this document <CR><LF> are intentionally omitted in the command syntax.

If a parameter is omitted, no value will be inserted between the two commas indicating the interested parameter in the command line sent by the DTE.

Default values

If the command parameters are optional, they can be left out in the command line. If not otherwise specified, the default values are assumed as follows:

  • For parameters of type Number, the default value is 0

  • For parameters of type String, the default value is an empty string

Command line

The AT commands are typically issued to the cellular modules using a command line with the following generic syntax:

"AT"<command_name><string><S3_character>

Where:

  • "AT": prefix to be set at the beginning of each command line

  • <command_name>: command name string; it can have a "+" character as prefix

  • <string>: string consisting of the parameters value following the syntax provided in this manual The following rules are used when describing the command syntax:

    • <…​>: the name in angle brackets is a parameter. The brackets themselves do not appear in the command line

    • […​]: the square brackets represent the optional parameters of a command or an optional part of the DCE information text response. Brackets themselves do not appear in the command line. When a parameter is not given, the value will be set to the default value provided in the command description

    Parameter types:

    • Number: positive and negative counting numbers, as well as zero {…​, -2, -1, 0, 1, 2,…​}.

    • String: sequence of characters enclosed within quotation marks (" ").

  • <S3_character>: command line termination character; the factory-programmed termination character is <CR>

The maximum length of the command line is the maximum number of characters which can be accepted on a single command line (including the command line termination character).

The command line is not case sensitive.

When writing or sending an SMS, Ctrl-Z or ESC terminates the command; <CR> is used between the two parts of the SMS (address and text).

The serial interface driver generally does not allow a new command until the previous one has been terminated by "OK" final result code or by an error result code. In specific cases (see the abortability attribute), the command execution may be aborted if a character is sent to DCE before the command has ended.

Concatenation of AT commands

More than one AT command can be entered on the same command line. The "AT" prefix must be provided only at the beginning of the command line. Each command must be separated by using a semicolon as delimiter only if the command has a "+" character as prefix.

Example: ATI;+CGATT?;+COPS?<CR>

If a command in the command line causes an error, or is not recognized as a valid command, then the execution is terminated, the remaining commands in the command line are ignored and an error result code is returned.

If all the commands are correctly executed, only the "OK" final result code of the last command is returned.

Not all the commands can be entered with other commands on the same command line: +UPSV, +IPR, +IFC, +ICF, &K, +UUARTCONF, +UUSBCONF, +UUSBSLPCONF, +CMGW, +CMGS, and all AT commands that bring the AT interface into data mode (e.g. +USOWR) must be used by themselves.

Notes

  • The maximum length of the command line is 8192 characters.

  • It is possible to issue AT commands during the execution of another command on the same terminal, but their proper execution cannot be always guaranteed. It is recommended to always wait for the pending AT command to end before entering new AT commands.

Information text responses and result codes

The AT command response comprises an optional information text string and a final result code that can assume the format as follows:

  • Verbose format:
    Information text response(s): <S3_character><S4_character><text><S3_character><S4_character>
    Final result code: <S3_character><S4_character><verbose code><S3_character><S4_character>

  • Numerical format:
    Information text response(s): <text><S3_character><S4_character>
    Final result code: <numerical_code><S3_character>

where

  • <S3_character> is the command line termination character

  • <S4_character> is the linefeed character

The V AT command configures the result code in numeric or verbose format.

Table 1 lists the allowed result codes.

Table 1. Allowed result codes
VerboseNumericResult code typeDescription

OK

0

Final

Command line successfully processed and the command is correctly executed

CONNECT

1

Intermediate

Data connection established

RING

2

Unsolicited

Incoming call signal from the network

NO CARRIER

3

Final

Connection terminated from the remote part or attempt to establish a connection failed

ERROR

4

Final

General failure. The +CMEE AT command configures the error result format

NO DIALTONE

6

Final

No dialtone detected

BUSY

7

Final

Engaged signal detected (the called number is busy)

NO ANSWER

8

Final

No hang up detected after a fixed network timeout

CONNECT<data rate>

9

Intermediate

Same as CONNECT including also the data rate (data call).

DELAYED

9

Final

Delayed

NOT SUPPORT

10

Final

Operation not supported

INVALID COMMAND LINE

11

Final

Invalid command line

CR

12

Final

Carriage return

SIM DROP

13

Final

SIM not inserted

Command aborted

3000

Final

Command execution aborted issuing a character to the DCE

DISCONNECT

14

Final

Data connection disconnected

ABORTED

18

Final

Aborted terminal

The following result codes are not supported:

  • CONNECT<data rate> , NO DIALTONE , BUSY , NO ANSWER , RING , DELAYED , Command aborted , ABORTED , NOT SUPPORT , INVALID COMMAND LINE , CR , and SIM DROP .

AT commands supporting the "Can be aborted" attribute (see the Preface section) can be aborted after having issued them if abortability is supported by the specific u-blox module series.

The abortability is not supported.

Intermediate outputs as well as descriptive outputs of a command are formatted as information text responses; if more than one string has to be printed out (see for example the +CGDCONT command description), additional command line termination and linefeed characters may be inserted for sake of readability.

If the command is not accepted by the MT an error result code will be displayed. The +CMEE AT command configures the error result code format as follows:

  • "+CMS ERROR: <err>" for SMS-related AT commands

  • "+CME ERROR: <err>" for any other AT commands

where <err> represents the verbose or numeric error result code depending on the +CMEE AT command setting.

The most typical error result codes are the following:

  • If the command is not supported or unknown, either "+CME ERROR: unknown" or "+CME ERROR: operation not supported" is sent

  • If the command syntax is wrong, "+CME ERROR: operation not supported" is sent ("+CMS ERROR: operation not supported" for SMS related commands)

The list of all the possible error result codes is available in Section A.1 and Section A.2. For some commands only the "ERROR" final result code is displayed and is documented in the command description.

The proprietary AT commands supporting the following features implement a different error management and provide different error result codes:

Storing of AT commands setting

Several user settings may be stored in the cellular module’s memory. Some are directly stored in the non volatile memory (NVM), while the others are organized into personal profiles. These settings, and how to store them, are listed in Section B.1.

The module does not store the AT commands setting in the personal profiles. Instead, for each AT interface there is a different configuration (AT channel configuration). These per channel configurations are volatile, unless storage into NVM is forced via AT&W.

However, for the sake of documentation uniformity, the term "(personal) profile" is used in the manual, and Section B.1 lists the complete settings stored in the profiles for each AT interface and the corresponding commands.

More details about loading, storing and updating these settings can be found in the command descriptions for: AT&F, AT&W, and AT&V.

+UDCONF AT command

The UDCONF AT commands constitute a group of u-blox proprietary AT commands that allow to configure some features belonging to i.e network services, internet suite, etc. They are indicated by the "+UDCONF=" string followed by an <op_code> (i.e. +UDCONF=20). The allowed <op_code> values depend on the module series.

The generic set command syntax is:

AT+UDCONF=<op_code>,<param1>,<param2>,....

while the generic read command syntax is

AT+UDCONF=<op_code>

The test command syntax is defined as follows:

+UDCONF: <op_code1>,(supported <op_code1_param1>),(supported <op_code1_param2>),..
+UDCONF: <op_code2>,(supported <op_code2_param1>),(supported <op_code2_param2>),..
+UDCONF: <op_code3>,(supported <op_code3_param1>),(supported <op_code3_param2>),..
OK

The test command syntax for <op_code>=110 (NVM RAM mode management) differs respect with the other <op_code> values:

+UDCONF: 110,"audio","+CLVL,+CRSL,+UMGC,+USGC,+UMSEL,+UMAFE,+USAFE,+UI2S,+USPM"

The string after the <at_group> parameter (i.e. "audio") lists the commands that are impacted by the corresponding "command class". The allowed values for the <at_group> parameter (i.e. AT+UDCONF=110,"audio") are provided by means of the corresponding read command.

Last updated: Jan 13, 2025
Need help?Contact Support
Questions?Contact us