nrf91 at Commands v2.1
nrf91 at Commands v2.1
1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2 AT command syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1 Set command <CMD>[=...] . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Read command <CMD>? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Test command <CMD>=? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1 Manufacturer identification +CGMI . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Model identification +CGMM . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3 Revision identification +CGMR . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4 Product serial number identification +CGSN . . . . . . . . . . . . . . . . . . . . . 20
4.5 Short software identification %SHORTSWVER . . . . . . . . . . . . . . . . . . . . 21
4.6 Hardware identification %HWVERSION . . . . . . . . . . . . . . . . . . . . . . . 22
4.7 Modem build UUID %XMODEMUUID . . . . . . . . . . . . . . . . . . . . . . . . 22
4.8 Set and read ODIS fields +ODIS . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.9 ODIS notification +ODISNTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.10 SiP 2DID %2DID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4418_963 v2.1 ii
5.25 Modem trace activation %XMODEMTRACE . . . . . . . . . . . . . . . . . . . . . 58
5.26 Fallback to SMS only %XSMSFALLBACK . . . . . . . . . . . . . . . . . . . . . . . 60
5.27 System mode %XSYSTEMMODE . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.28 PTW setting %XPTW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.29 Extra maximum TX power reduction %XEMPR . . . . . . . . . . . . . . . . . . . . 66
5.30 Write content to file %XFILEWRITE . . . . . . . . . . . . . . . . . . . . . . . . 67
5.31 Coverage enhancement mode notification +CEINFO . . . . . . . . . . . . . . . . . 68
5.32 Factory reset %XFACTORYRESET . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.33 Modem sleep notification %XMODEMSLEEP . . . . . . . . . . . . . . . . . . . . 71
5.34 Periodic TAU notification %XT3412 . . . . . . . . . . . . . . . . . . . . . . . . 73
5.35 Country-specific search optimization %XCOUNTRYDATA . . . . . . . . . . . . . . . . 74
5.36 Modem domain event notification %MDMEV . . . . . . . . . . . . . . . . . . . . 75
5.37 Neighboring cell measurement and notification %NCELLMEAS . . . . . . . . . . . . . 77
5.38 Stop neighboring cell measurement %NCELLMEASSTOP . . . . . . . . . . . . . . . . 82
5.39 Evaluating connection parameters %CONEVAL . . . . . . . . . . . . . . . . . . . 83
4418_963 v2.1 iv
12.8 Credential storage management %CMNG . . . . . . . . . . . . . . . . . . . . . 214
12.9 Attestation token generation %ATTESTTOKEN . . . . . . . . . . . . . . . . . . . 217
12.10 Key generation %KEYGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
12.11 Key injection %KEYINJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
12.12 Creating JWT %JWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
12.13 Certificate expiry information %CERTEXPIRY . . . . . . . . . . . . . . . . . . . 225
4418_963 v2.1 v
Revision history
Date Version Description
May 2022 2.1 Updated to match modem firmware v1.3.2
• Added the following commands:
• Reduced mobility feature configuration %REDMOB on page
169
• Certificate expiry information %CERTEXPIRY on page 225
• UICC suspend and deactivate control +SSRDA on page 239
• Updated the following commands:
• Set and read ODIS fields +ODIS on page 23
• Functional mode +CFUN on page 26
• Band lock %XBANDLOCK on page 44
• Data profile %XDATAPRFL on page 46
• Battery voltage low level notification %XVBATLVL on page
49
• Battery voltage low level %XVBATLOWLVL on page 50
• High level for internal temperature %XTEMPHIGHLVL on page
55
• Modem trace activation %XMODEMTRACE on page 58
• Fallback to SMS only %XSMSFALLBACK on page 60
• System mode %XSYSTEMMODE on page 60
• PTW setting %XPTW on page 63
• Extra maximum TX power reduction %XEMPR on page 66
• Coverage enhancement mode notification +CEINFO on page
68
• Factory reset %XFACTORYRESET on page 70
• Modem sleep notification %XMODEMSLEEP on page 71
• Periodic TAU notification %XT3412 on page 73
• Country-specific search optimization %XCOUNTRYDATA on
page 74
• Neighboring cell measurement and notification
%NCELLMEAS on page 77
• SiP pin configuration on page 89
• COEX0 pin control configuration %XCOEX0 on page 89
• MAGPIO configuration %XMAGPIO on page 91
• SiP-external MIPI RFFE device introduction %XMIPIRFFEDEV
on page 93
• SiP-external MIPI RFFE device control configuration
%XMIPIRFFECTRL on page 95
• Alternative configuration of SiP antenna switch %XANTCFG
on page 99
• COEX2 pin timing configuration %XCOEX2 on page 100
• Usage of ePCO/PCO in PDN connection establishment
%XEPCO on page 117
• APN class access %XAPNCLASS on page 118
4418_963 v2.1 vi
Revision history
4418_963 v2.1 ix
Revision history
4418_963 v2.1 x
Revision history
4418_963 v2.1 xi
Revision history
4418_963 v2.1 14
2 AT command syntax
The AT Commands have standardized syntax rules.
Words enclosed in <angle brackets> are references to syntactical elements. Words enclosed in [square
brackets] represent optional items which may be left out from the command line at the specified point.
The brackets are not used when the words appear in the command line.
<CR>, <LF>, and terminating NUL are allowed in an AT command sent by an application, but are not
mandatory when using an interface where both the command string and length of command string are
provided.
All standard AT commands for controlling a phone or a modem or managing the SMS feature begin with a
plus sign (+), whereas Nordic-proprietary commands begin with a percent sign (%).
A string type parameter input should be enclosed between quotation marks ("").
For more information, see 3GPP 27.007 AT command set for User Equipment (UE) and 3GPP 27.005 Use
of Data Terminal Equipment - Data Circuit terminating Equipment (DTE - DCE) interface for Short Message
Service (SMS) and Cell Broadcast Service (CBS).
AT+CMD=1
where
• AT is the command line prefix
• + is the prefix for extended commands
• CMD is the body of a basic command
• 1 is a subparameter (multiple subparameters are separated by commas)
AT+CMD?
where
• AT is the command line prefix
• + is the prefix for extended commands
• CMD is the body of a basic command
• ? represents a read command
4418_963 v2.1 15
AT command syntax
AT+CMD=?
where
• AT is the command line prefix
• + is the prefix for extended commands
• CMD is the body of a basic command
• =? represents a test command for checking possible subparameter values
2.4 Response
AT responds to all commands with a final response.
The response is one of the following:
OK<CR><LF>
ERROR<CR><LF>
+CME ERROR: <cause_value><CR><LF>
+CMS ERROR: <cause_value><CR><LF>
"CMS ERROR:" is used as an error response for SMS related commands specified in 3GPP 27.005.
Some commands may also produce a varying number of information response lines before the final
response. An information response can be received only when a command-specific response syntax is
specified. An information response line usually starts with a prefix, which is the command entered:
+CMD: [...]<CR><LF>
Some commands may also produce notifications, which do not start with the command prefix:
AT+CGSN
490154203237518
OK
4418_963 v2.1 16
3 Modem firmware versions
This document describes AT commands used in all versions of the nRF91 Series modem firmware.
The modem firmware versions that support a command are marked in the command description with the
following version tag: vx.x.x
If a parameter is not supported by all versions of the modem firmware that support the command, the
modem firmware versions that support the parameter are marked after the parameter with the version
tag.
Production Test Image (PTI) is a modem firmware version that supports a subset of AT commands for test
purposes in non-signaling mode. The AT commands that are supported by the PTI modem firmware are
marked with the following version tag: pti_vx.x.x .
The version tags are read as follows:
• If a command or parameter is marked v1.0.x , it is supported by modem firmware versions where the
first two digits are 1 and 0.
• If a command is marked v1.0.x v1.1.x v1.2.x , it is supported by modem firmware versions where
the first two digits are 1 and 0, 1 and 1, or 1 and 2.
• If a command or parameter is marked v1.1.x≥3 , it is supported by modem firmware versions where
the first two digits are 1 and 1 and the third digit is greater than or equal to 3.
• If a command or parameter is marked v1.1.3 , it is supported only by modem firmware version 1.1.3.
• If a command or parameter is marked pti_v1.1.x≥2 , it is supported by PTI modem firmware versions
where the first two digits are 1 and 1 and the third digit is greater than or equal to 2.
For nRF9160 modem firmware releases, see nRF9160 product page.
4418_963 v2.1 17
4 General
The general commands are for the identification of the device.
For reference, see 3GPP 27.007 Ch. 5.
+CGMI
Response syntax:
<manufacturer>
AT+CGMI
Nordic Semiconductor ASA
OK
+CGMM
4418_963 v2.1 18
General
Response syntax:
<model>
AT+CGMM
nRF9160-SICA
OK
+CGMR
Response syntax:
<revision>
AT+CGMR
mfw_nrf9160_1.1.1
OK
4418_963 v2.1 19
General
+CGSN[=<snt>]
The set command parameters and their defined values are the following:
<snt>
0 – Respond with <sn> (default)
1 – Respond with +CGSN: <imei>
2 – Respond with +CGSN: <imeisv>
3 – Respond with +CGSN: <svn>
<sn>
Information text determined by the manufacturer. Up to 2048 characters. Electronic
Serial Number (ESN) returned if available. International Mobile (Station) Equipment
Identity (IMEI) returned if ESN not available.
<imei>
String in decimal format indicating the IMEI. Composed of Type Allocation Code
(TAC) (8 digits), Serial Number (SNR) (6 digits), and Check Digit (CD) (1 digit).
<imeisv>
String in decimal format indicating the International Mobile (Station) Equipment
Identity, Software Version (IMEISV). The 16 digits of IMEISV are composed of TAC (8
digits), SNR (6 digits), and Software Version Number (SVN) (2 digits).
<svn>
String in decimal format indicating the current SVN which is part of IMEISV.
Response syntax when <snt>=0 (or omitted):
<sn>
+CGSN: <string>
AT+CGSN
352656100367872
OK
4418_963 v2.1 20
General
AT+CGSN=1
+CGSN: "352656100367872"
OK
The test command parameter and its defined values are the following:
<snt>
0 – Respond with <sn> (default)
1 – Respond with +CGSN: <imei>
2 – Respond with +CGSN: <imeisv>
3 – Respond with +CGSN: <svn>
The following command example reads the supported types of product serial number identifications:
AT+CGSN=?
+CGSN: (0-3)
OK
%SHORTSWVER
Response syntax:
%SHORTSWVER: <version_string>
The response parameter and its defined value are the following:
<version_string>
String without double quotes. Short software identification.
4418_963 v2.1 21
General
AT%SHORTSWVER
%SHORTSWVER: nrf9160_1.1.2
OK
%HWVERSION
Response syntax:
%HWVERSION: <version_string>
The response parameter and its defined value are the following:
<version_string>
String without double quotes. Hardware version.
The following command example requests hardware identification:
AT%HWVERSION
%HWVERSION: nRF9160 SICA B0A
OK
4418_963 v2.1 22
General
%XMODEMUUID
Response syntax:
%XMODEMUUID: <UUID>
The response parameter and its defined value are the following:
<UUID>
String without double quotes. UUID of the modem build.
The following command example requests the UUID of a modem build:
AT%XMODEMUUID
%XMODEMUUID: 25c95751-efa4-40d4-8b4a-1dcaab81fac9
OK
Syntax:
+ODIS=<HDID>,<HDMAN>,<HDMOD>,<HDSW>
The set command parameters and their defined values are the following:
<HDID>
String in alphanumeric format. Host device ID.
<HDMAN>
String in alphanumeric format. Host device manufacturer.
<HDMOD>
String in alphanumeric format. Host device model.
4418_963 v2.1 23
General
<HDSW>
String in alphanumeric format. Host device software version.
The following command example sets host device ID to HDID01, host device manufacturer to HDMAN01,
host device model to HDMOD01, and host device software version to HDSW01:
AT+ODIS="HDID01","HDMAN01","HDMOD01","HDSW01"
OK
+ODIS: <HDMAN>,<HDMOD>,<HDSW>
AT+ODIS?
+ODIS: "HDMAN01","HDMOD01","HDSW01"
OK
+ODISNTF=<reporting>
Notification syntax:
+ODISNTF: <HDID>,<HDMAN>,<HDMOD>,<HDSW>
The set command parameter and its defined values are the following:
<reporting>
0 – Unsubscribe unsolicited notifications
1 – Subscribe unsolicited notifications
4418_963 v2.1 24
General
AT+ODISNTF=1
OK
+ODISNTF: "HDID01","HDMAN01","HDMOD01","HDSW01"
%2DID
The following command example reads the 2DID when a 2DID exists on the device:
AT%2DID
%2DID: "F1413BQF072303"
OK
The following command example reads the 2DID when a 2DID does not exist on the device:
AT%2DID
%2DID: ""
OK
4418_963 v2.1 25
Mobile termination control and
5 status commands
Mobile termination control and status commands are used for mobile-terminated power and indicator
handling. Commands are listed for accessing Subscriber Identity Module (SIM)/Universal Integrated Circuit
Card (UICC) database records.
+CFUN=<fun>
The set command parameter and its defined values are the following:
4418_963 v2.1 26
Mobile termination control and status commands
<fun>
0 – Sets the device to minimum functionality. Disables both transmit and receive RF
circuits and deactivates LTE and GNSS services.
CAUTION: CFUN=0 causes writing to NVM. When using CFUN=0, take NVM
wear into account.
Note:
• The response to changing to Normal mode could be ERROR if the SIM card has failed.
• Commanding the device to Power off or to Offline mode might take some time if signaling with
the network is needed.
• CFUN=41 is allowed only when LTE-M or Narrowband Internet of Things (NB-IoT) is enabled by
%XSYSTEMMODE.
• UICC initialization is started in modes CFUN=1, CFUN=21, and CFUN=41. %XSIM indications
shall be followed for the UICC state.
• Transition from modes CFUN=1 and CFUN=21 to mode CFUN=2 is not supported.
4418_963 v2.1 27
Mobile termination control and status commands
AT+CFUN=1
OK
+CFUN: <fun>
The read response parameter and its defined value are the following:
<fun>
0 – Power off and store. RF circuits are disabled by deactivating LTE and GNSS
services.
1 – Normal mode. The active mode is either LTE or GNSS, or both. Full functional
mode. Active modes depend on %XSYSTEMMODE setting.
2 – Receive only mode in active system mode. Active modes depend on
%XSYSTEMMODE setting.
4 – Flight mode. RF circuits are disabled by deactivating LTE and GNSS services.
The following command example reads the current functional mode:
AT+CFUN?
+CFUN: 1
OK
The response parameters and their defined values are the following:
4418_963 v2.1 28
Mobile termination control and status commands
<fun>
0 – Sets the device to minimum functionality. Disables both transmit and receive RF
circuits and deactivates LTE and GNSS services.
CAUTION: CFUN=0 causes writing to NVM. When using CFUN=0, take NVM
wear into account.
AT+CFUN=?
+CFUN: (0,1,4,20,21,30,31,40,41,44)
OK
4418_963 v2.1 29
Mobile termination control and status commands
Syntax:
+CLAC
Response syntax:
AT+CLAC
AT+CFUN
AT+COPS
...
OK
Note: When NB-IoT system mode is used and the device is in RRC connected state, old signal
quality parameter values are reported. The values are recorded and reported from the previous idle
state. v1.0.x v1.1.x v1.2.x≤1 v1.3.x
+CESQ
Response syntax:
+CESQ: <rxlev>,<ber>,<rscp>,<ecno>,<rsrq>,<rsrp>
The set command parameters and their defined values are the following:
<rxlev>
99 – Not known or not detectable
<ber>
99 – Not known or not detectable
4418_963 v2.1 30
Mobile termination control and status commands
<rscp>
255 – Not known or not detectable
<ecno>
255 – Not known or not detectable
<rsrq>
0 rsrq < −19.5 dB
1 – When −19.5 dB ≤ RSRQ < −19 dB
2 – When −19 dB ≤ RSRQ < −18.5 dB
...
32 – When −4 dB ≤ RSRQ < −3.5 dB
33 – When −3.5 dB ≤ RSRQ < −3 dB
34 – When −3 dB ≤ RSRQ
255 – Not known or not detectable
The index value of RSRQ can be converted to decibel with the following formula:
Index x ½ – 19,5 = dB. For example, (32 x ½) – 19,5 = –3,5 dB.
<rsrp>
0 – RSRP < −140 dBm
1 – When −140 dBm ≤ RSRP < −139 dBm
2 – When −139 dBm ≤ RSRP < −138 dBm
...
95 – When −46 dBm ≤ RSRP < −45 dBm
96 – When −45 dBm ≤ RSRP < −44 dBm
97 – When −44 dBm ≤ RSRP
255 – Not known or not detectable
The index value of RSRP can be converted to decibel with the following formula:
Index – 140 = dBm. For example, 95 – 140 = –45 dBm.
The following command example reads the current signal quality, mapped Reference Signal Received
Quality (RSRQ) 31, and Reference Signal Received Power (RSRP) 62:
AT+CESQ
+CESQ: 99,99,255,255,31,62
OK
4418_963 v2.1 31
Mobile termination control and status commands
Response syntax:
AT+CESQ=?
+CESQ: (99),(99),(255),(255),(0-34,255),(0-97,255)
OK
Note: When NB-IoT system mode is used and the device is in RRC connected state, old signal
quality parameter values are reported. The values are recorded and reported from the previous idle
state. v1.0.x v1.1.x v1.2.x≤1 v1.3.x
%CESQ=<n>
Notification syntax:
%CESQ: <rsrp>,<rsrp_threshold_index>,<rsrq>,<rsrq_treshold_index>
The set command parameters and their defined values are the following:
<n>
0 – Unsubscribe signal quality notifications
1 – Subscribe signal quality notifications
<rsrp>
0 – RSRP < −140 dBm
1 – When −140 dBm ≤ RSRP < −139 dBm
2 – When −139 dBm ≤ RSRP < −138 dBm
...
95 – When −46 dBm ≤ RSRP < −45 dBm
96 – When −45 dBm ≤ RSRP < −44 dBm
97 – When −44 dBm ≤ RSRP
255 – Not known or not detectable
The index value of RSRP can be converted to decibel with the following formula:
Index – 140 = dBm. For example, 95 – 140 = –45 dBm.
4418_963 v2.1 32
Mobile termination control and status commands
<rsrp_threshold_index>
Index of RSRP threshold which is below measured RSRP value.
0 – RSRP is below the first threshold. 0–20 (–140 dBm to –121 dBm).
1 – RSRP is between the first and second threshold. 20–39 (–120 dBm to –101
dBm).
2 – RSPR is between the second and third threshold. 40–59 (–100 dBm to –81 dBm).
3 – RSRP is between the third and fourth threshold. 60–79 (–80 dBm to –61 dBm).
4 – RSRP is above the fourth threshold. 80–97 (–60 dBm to –44 dBm).
255 – Unknown.
With default thresholds 20, 40, 60, and 80, the measured value 70 leads to index 3.
<rsrq>
0 rsrq < −19.5 dB
1 – When −19.5 dB ≤ RSRQ < −19 dB
2 – When −19 dB ≤ RSRQ < −18.5 dB
...
32 – When −4 dB ≤ RSRQ < −3.5 dB
33 – When −3.5 dB ≤ RSRQ < −3 dB
34 – When −3 dB ≤ RSRQ
255 – Not known or not detectable
The index value of RSRQ can be converted to decibel with the following formula:
Index x ½ – 19,5 = dB. For example, (32 x ½) – 19,5 = –3,5 dB.
<rsrq_threshold_index>
Index of RSRQ threshold which is below the measured RSRQ value.
0 – RSRQ is below the first threshold. 0–7 (–19.5 dB to –16.5 dB).
1 – RSRQ is between the first and second threshold. 7–13 (–16 dB to –13 dB).
2 – RSRQ is between the second and third threshold. 14–20 (–12.5 dB to –9.5 dB).
3 – RSRQ is between the third and fourth threshold. 21–27 (–9 dB to –6 dB).
4 – RSRQ is above the fourth threshold. 28–34 (–5.5 dB to –3 dB).
255 – Unknown
With the default thresholds 7, 14, 21, and 28, the measured value 17 leads to index
2.
The following command example subscribes Evolved Universal Terrestrial Radio Access (E-UTRA) signal
quality notifications:
AT%CESQ=1
OK
The following notification example indicates a change in the measured average RSRP. The average RSRP is
62 and mapped to threshold 3, the measured RSRQ average has been 12 and mapped to threshold index
1.
%CESQ: 62,3,12,1
4418_963 v2.1 33
Mobile termination control and status commands
+CSQ
Response syntax:
+CSQ: <rssi>,<ber>
Note: Not detectable, RAT not supported. Use +CESQ and %CESQ for E-UTRA signal quality.
The set command parameters and their value are the following:
<rssi>, <ber>
99 – Not detectable
The following command example reads signal quality:
AT+CSQ
+CSQ: 99,99
OK
The test command parameters and their defined value are the following:
<rssi>, <ber>
99 – Not detectable
4418_963 v2.1 34
Mobile termination control and status commands
The following command example lists the supported signal quality values:
AT+CSQ=?
+CSQ: (99),(99)
OK
Note: When NB-IoT system mode is used and the device is in RRC connected state, old signal
quality parameter values are reported. The values are recorded and reported from the previous idle
state. v1.0.x v1.1.x v1.2.x≤1 v1.3.x
%XSNRSQ=<n>
Notification syntax:
%XSNRSQ: <snr>,<threshold_index>,<srxlev>,<ce_level>
<n>
0 – Unsubscribe SNR signal quality notifications
1 – Subscribe SNR signal quality notifications
<snr>
0 – SNR < −24 dB
1 – When −24 dB ≤ SNR < −23 dB
2 – When −23 dB ≤ SNR < −22 dB
...
47 – When 22 dB ≤ SNR < 23 dB
48 – When 23 dB ≤ SNR < 24 dB
49 – When 24 dB ≤ SNR
127 – Not known or not detectable
The index value of SNR can be converted to decibel with the following formula:
Index – 24 = dB. For example, 1 – 24 = –23 dB and 47 – 24 = 23 dB.
4418_963 v2.1 35
Mobile termination control and status commands
<threshold_index>
The index of the SNR threshold which is below the measured SNR value.
0 – SNR is below the first threshold
1 – SNR is between the first and second threshold
2 – SNR is between the second and third threshold
3 – SNR is between the third and fourth threshold
4 – SNR is above the fourth threshold
With default thresholds 16, 24, 32, and 40, the measured value 35 leads to index 3.
<srxlev>
0 – SRXLEV –127 or below –127
1 to 254 – SRXLEV –126 to 127
255 – SRXLEV above 127
32767 – Invalid or not know
<ce_level>
0 – CE Level 0. Normal coverage.
1 – CE Level 1. Enhanced coverage, according to LTE cell access criteria specified in
3GPP TS 36.304.
255 – Invalid or not known
The following command example subscribes E-UTRA signal quality notifications:
AT%XSNRSQ=1
OK
The following notification example indicates that the measured average SNR has changed to 39 and is
mapped to threshold 3:
%XSNRSQ: 39,3,130,1
%XSNRSQ: <snr>,<srxlev>,<ce_level>
The read command parameters and their defined values are the following:
4418_963 v2.1 36
Mobile termination control and status commands
<snr>
0 – SNR < −24 dB
1 – When −24 dB ≤ SNR < −23 dB
2 – When −23 ≤ SNR < −22 dB
...
47 – When 22 ≤ SNR < 23 dB
48 – When 23 ≤ SNR < 24 dB
49– When 24 ≤ SNR
127 – Not known or not detectable
<srxlev>
0 – SRXLEV –127 or below –127
1 to 254 – SRXLEV –126 to 126
255 – SRXLEV 127 or above
32767 – Invalid or not know
<ce_level>
0 – CE Level 0. Normal coverage.
1 – CE Level 1. Enhanced coverage.
255 – Invalid or not known
The following command example reads SNR signal quality:
AT%XSNRSQ?
%XSNRSQ: 39,168,0
OK
+CPAS
Response syntax:
+CPAS: <pas>
The set command parameter and its defined value are the following:
4418_963 v2.1 37
Mobile termination control and status commands
<pas>
Activity status.
0 – Ready (Mobile Termination (MT) allows commands from Terminal Adapter
(TA)/Terminal Equipment (TE))
The following command example checks the activity status:
AT+CPAS
+CPAS: 0
OK
+CIND=[<ind>[,<ind>[,...]]]
Response syntax:
+CIND: <descr>,<value>
The set command parameters and their defined values are the following:
<ind>
Integer. 0 – Off.
Other values are <descr>-specific.
"service": 1 – On
"roam": 1 – On
"message": 1 – On
<descr>
"service" – Service availability
"roam" – Roaming indicator
"message" – Message received
4418_963 v2.1 38
Mobile termination control and status commands
<value>
Integer. Values are <descr>-specific.
"service": 0 – Not registered, 1 – Registered
"roam": 0 – Not roaming, 1 – Roaming
"message": 1 – Message received
The following command example enables service and message indicators:
AT+CIND=1,0,1
OK
+CIND: "service",1
+CIND: <ind>[,<ind>[,...]]
The read command parameters and their defined values are the following:
<ind>
Integer. 0 – Off.
Other values are <descr>-specific.
"service": 1 – On
"roam": 1 – On
"message": 1 – On
<descr>
"service" – Service availability
"roam" – Roaming indicator
"message" – Message received
The following command example reads the indicator states:
AT+CIND?
+CIND: 1,0,1
OK
The test command parameters and their defined values are the following:
4418_963 v2.1 39
Mobile termination control and status commands
<ind>
Integer. 0 – Off.
Other values are <descr>-specific.
"service": 1 – On
"roam": 1 – On
"message": 1 – On
<descr>
"service" – Service availability
"roam" – Roaming indicator
"message" – Message received
The following command example reads the indicator states:
AT+CIND=?
+CIND: ("service",(0,1)),("roam",(0,1)),("message",(0,1))
OK
+CGPIAF:
<IPv6_AddressFormat>,<IPv6_SubnetNotation>,<IPv6_LeadingZeros>,<IPv6_CompressZeros>
The read command parameters and their defined values are the following:
<IPv6_AddressFormat>
1 – Use IPv6-like colon notation
<IPv6_SubnetNotation>
1 – Use / (forward slash) subnet prefix Classless Inter-domain Routing (CIDR)
notation
<IPv6_LeadingZeros>
1 – Leading zeros are included
<IPv6_CompressZeros>
0 – No zero compression
4418_963 v2.1 40
Mobile termination control and status commands
The following command example reads the current IPv6 address format:
AT+CGPIAF?
+CGPIAF: 1,1,1,0
OK
The test command parameters and their defined values are the following:
<IPv6_AddressFormat>
1 – Use IPv6-like colon notation
<IPv6_SubnetNotation>
1 – Use / (forward slash) subnet prefix CIDR notation
<IPv6_LeadingZeros>
1 – Leading zeros are included
<IPv6_CompressZeros>
0 – No zero compression
The following command example reads the current IPv6 address format:
AT+CGPIAF=?
+CGPIAF: (1),(1),(1),(0)
OK
%XCBAND
Response syntax:
%XCBAND: <band>
The set command parameter and its defined values are the following:
4418_963 v2.1 41
Mobile termination control and status commands
<band>
Integer, 1–71. See 3GPP 36.101.
0 when current band information not available
The following command example reads the current band:
AT%XCBAND
%XCBAND: 13
OK
Response syntax:
AT%XCBAND=?
%XCBAND: (1,2,3,4,12,13)
OK
%NBRGRSRP
Response syntax:
%NBRGRSRP: <phys_cellID>1,<EARFCN>1,<RSRP>1,<phys_cellID>2,
<EARFCN>2,<RSRP>2,<phys_cellID>n, <EARFCN>n,<RSRP>n
4418_963 v2.1 42
Mobile termination control and status commands
The set command parameters and their defined values are the following:
<phys_cellID>
Integer. Physical cell ID.
<EARFCN>
Integer. E-UTRA Absolute Radio Frequency Channel Number (EARFCN) for a given
cell where EARFCN is according to 3GPP TS 36.101.
<rsrp>
0 – RSRP < −140 dBm
1 – When −140 dBm ≤ RSRP < −139 dBm
2 – When −139 dBm ≤ RSRP < −138 dBm
...
95 – When −46 dBm ≤ RSRP < −45 dBm
96 – When −45 dBm ≤ RSRP < −44 dBm
97 – When −44 dBm ≤ RSRP
255 – Not known or not detectable
The index value of RSRP can be converted to decibel with the following formula:
Index – 140 = dBm. For example, 95 – 140 = –45 dBm.
Syntax:
+CEMODE=[<mode>]
The set command parameter and its defined values are the following:
<mode>
0 – PS mode 2 of operation
2 – CS/PS mode 2 of operation
4418_963 v2.1 43
Mobile termination control and status commands
AT+CEMODE=0
OK
+CEMODE: <mode>
The read command parameter and its defined values are the following:
<mode>
0 – PS mode 2 of operation
2 – CS/PS mode 2 of operation
The following command example reads the current operating mode:
AT+CEMODE?
+CEMODE: 2
OK
+CEMODE: <mode>
The test command parameter and its defined values are the following:
<mode>
0 – PS mode 2 of operation
2 – CS/PS mode 2 of operation
The following command example returns the supported modes of operation:
AT+CEMODE=?
+CEMODE: (0,2)
OK
The band lock should be set before activating modem with the +CFUN command.
4418_963 v2.1 44
Mobile termination control and status commands
Supported bands are masked with permanent and runtime masks. A logical AND operation is performed to
%XBANDLOCK commands. If a permanent or runtime mask has been given, it is required that the second
mask has at least one band in common with the first mask. Otherwise, the command returns ERROR. The
command returns ERROR at an attempt to disable all supported bands.
Permanent mask is stored to NVM approximately every 48 hours and when the modem is powered off
with the +CFUN=0 command.
Active %XPOFWARN warning blocks the storing to NVM. v1.3.x≥2
Syntax:
%XBANDLOCK=<operation>[,<band_mask>]
<operation>
0 – Remove band locks
1 – Set permanent band mask
2 – Set runtime band mask
<band_mask>
String. Bit string where LSB is band 1. Leading zeros can be omitted. Maximum
length 88 characters.
The following command example sets permanent band 4 lock:
AT%XBANDLOCK=1,"1000"
OK
AT%XBANDLOCK=2,"1000000001000"
OK
%XBANDLOCK: <permanent_lock>,<run-time_lock>
The read response parameter and its defined value are the following:
<permanent_lock>,<run-time_lock>
Bit string, 88 bits.
An empty string is returned if bandlock is not set.
4418_963 v2.1 45
Mobile termination control and status commands
The following command example reads the locked bands. No permanent lock, runtime lock for bands 13,
4, and 1:
AT%XBANDLOCK?
%XBANDLOCK:
"","0000000000000000000000000000000000000000000000000000000000000000000000000001000000001001"
OK
Note: This command is for future releases and will be extended with new parameters later. In the
current software release, the use of this command has limited impact on power consumption.
The power saving level has an effect on the shutdown of the UICC during Extended Discontinuous
Reception (eDRX) cycles. On power level 0, the modem deactivates the UICC if the eDRX period is longer
than 60 seconds and UICC deactivation is allowed through EF-AD under USIM ADF. The modem activates
the UICC and performs the necessary checks before setting up any signaling or data connections with the
network. Otherwise, the UICC is not activated because of modem functionality.
On power levels 1–4, the modem deactivates the UICC if the eDRX cycles are longer than 5 minutes. The
UICC is activated before any signaling or data connections are set up with the network and when waking
up from eDRX. This means that the UICC is deactivated and activated at every eDRX cycle.
An application accessing data on USIM or UICC through the AT command interface might lead to UICC
activation if the UICC has been shut down to save power.
Note: Consider UICC NVM wear when setting power saving levels.
Syntax:
%XDATAPRFL=<power_level>
The set command parameter and its defined values are the following:
4418_963 v2.1 46
Mobile termination control and status commands
<power_level>
0 – Ultra-low power
1 – Low power
2 – Normal
3 – Performance
4 – High performance
The modem uses specific periodic search patterns for each power level. For details, see Periodic cell search
configuration %PERIODICSEARCHCONF on page 164.
The following command example sets a low power level:
AT%XDATAPRFL=1
OK
%XDATAPRFL: <power_level>
The read command parameter and its defined values are the following:
<power_level>
0 – Ultra-low power
1 – Low power
2 – Normal
3 – Performance
4 – High performance
The following command example reads the power level:
AT%XDATAPRFL?
AT%XDATAPRFL: 2
OK
Note: Do not use %XCONNSTAT in applications which use the LwM2M carrier library. The
application's use of %XCONNSTAT causes incorrect measurements in the carrier's device
management solution.
4418_963 v2.1 47
Mobile termination control and status commands
%XCONNSTAT=<command>
The set command parameter and its defined values are the following:
<command>
0 – Stop
1 – Start
The following command example makes the application start and stop connectivity statistics:
AT%XCONNSTAT=1
OK
AT%XCONNSTAT=0
OK
%XCONNSTAT: <SMS_Tx>,<SMS_Rx>,<Data_Tx>,<Data_Rx>,<Packet_max>,<Packet_average>
The read command parameters and their defined values are the following:
<SMS_Tx>
Indicate the total number of SMSs successfully transmitted during the collection
period
<SMS_Rx>
Indicate the total number of SMSs successfully received during the collection period
<Data_Tx>
Indicate the total amount of data (in kilobytes) transmitted during the collection
period
<Data_Rx>
Indicate the total amount of data (in kilobytes) received during the collection period
<Packet_max>
The maximum packet size (in bytes) used during the collection period
<Packet_average>
The average packet size (in bytes) used during the collection period
The following command example makes the application read the connectivity statistics:
AT%XCONNSTAT?
%XCONNSTAT=2,3,45,60,708,650
OK
4418_963 v2.1 48
Mobile termination control and status commands
When the modem is active (either LTE communication or GNSS receiver), the %XVBAT command returns
the latest voltage measured automatically during modem wakeup or reception. The voltage measured
during transmission is not reported. During modem inactivity, the modem measures battery voltage when
the %XVBAT command is received.
Note: Longer sleeps, such as eDRX and Power Saving Mode (PSM), are modem active time.
Therefore, in those cases the %XVBAT value returned is from the time just before entering
the sleep or from previous GNSS reception during the eDRX/PSM gap. v1.0.x v1.1.x v1.2.x
pti_v1.1.x≥1
%XVBAT
Response syntax:
+XVBAT: <vbat>
<vbat>
Integer. Battery voltage in mV, with a resolution of 4 mV.
The following command example reads the battery voltage and the response is for a successful case:
AT%XVBAT
%XVBAT: 3600
OK
4418_963 v2.1 49
Mobile termination control and status commands
The notification is sent when the battery voltage level is under the currently set low level. The voltage is
the latest voltage measured automatically during wakeup or reception.
The battery voltage low level is set using the %XVBATLOWLVL command.
Syntax:
%XVBATLVL=<n>
Notification syntax:
%XVBATLOWLVL: <battery_voltage>
The set command parameter and its defined values are the following:
<n>
0 – Unsubscribe unsolicited notifications of battery voltage low level
1 – Subscribe unsolicited notifications of battery voltage low level
The notification parameter and its defined values are the following:
<battery_voltage>
Integer, 3000–5000 mV.
0 – No valid battery voltage available
The following command example subscribes unsolicited notifications of battery voltage low level:
AT%XVBATLVL=1
OK
The following notification example indicates that the battery voltage level is under the currently set
battery voltage low level when the level has been set to 3750 mV:
%XVBATLOWLVL: 3700
4418_963 v2.1 50
Mobile termination control and status commands
in connected mode. The default period is 60 seconds. If the temperature or voltage gets close to the set
threshold, a shorter period is used. v1.1.x v1.2.x v1.3.x
The notifications are subscribed using the %XVBATLVL command.
Syntax:
%XVBATLOWLVL=<battery_level>
The set command parameter and its defined value are the following:
<battery_level>
Integer, 3100–5000 mV. Factory default 3300 mV.
The following command example sets the battery voltage low level to 3500 mV:
AT%XVBATLOWLVL=3500
OK
%XVBATLOWLVL?
The following command example reads the current value of the battery voltage low level:
AT%XVBATLOWLVL?
%XVBATLOWLVL: 3500
OK
4418_963 v2.1 51
Mobile termination control and status commands
CAUTION: Configuring and enabling the external power failure warning described in External
power failure warning in nRF9160 Product Specification is supported by modem firmware. v1.3.x≥1
%XPOFWARN=<state>[,<voltage>]
The set command parameters and their defined values are the following:
<state>
0 – Disable power off warnings
1 – Enable power off warnings
<voltage>
The voltage level when the Power off warning is sent. Mandatory when enabling
Power off warnings. Optional when disabling Power off warnings.
30 – 3000 mV
31 – 3100 mV
32 – 3200 mV
33 – 3300 mV
The following command example enables the Power off warning in 3000 mV:
AT%XPOFWARN=1,30
OK
4418_963 v2.1 52
Mobile termination control and status commands
Note: The %XRFTEST test and %XEMPR TX power reduction features can be used with the PTI
modem firmware even if they have been disabled with %XPRODDONE. pti_v1.1.x≥3
Syntax:
%XPRODDONE=[<value>]
The set command parameter and its defined values are the following:
<value>
0 – Permanently disable %XRFTEST and %XEMPR
1 – Leave %XRFTEST and %XEMPR usable
The following command example sets the customer production to done and permanently disables the
%XRFTEST command:
AT%XPRODDONE
OK
or
AT%XPRODDONE=0
OK
The following command example sets customer production to done and leaves %XRFTEST usable:
AT%XPRODDONE=1
OK
CAUTION: In modem firmware versions 1.0.x (x ≥ 2) and 1.1.0, downgrade prevention is enabled
after first modem firmware update after issuing %XPRODDONE. In modem firmware versions 1.1.x
(x ≥ 1) and 1.2.x, downgrade prevention becomes active immediately after the command is issued.
4418_963 v2.1 53
Mobile termination control and status commands
%XTEMP=<n>
Notification syntax:
%XTEMP: <temperature_level>,<temperature>
The set command parameter and its defined values are the following:
<n>
0 – Unsubscribe unsolicited temperature indications
1 – Subscribe unsolicited temperature indications
The notification parameters and their defined values are the following:
<temperature_level>
1 – Normal temperature
2 – High temperature. Factory default 55. This can be changed with
%XTEMPHIGHLVL.
3 – Critical temperature. TX/RX disabled. Factory default 90.
<temperature>
Integer. Celsius degrees between −40 and 125.
The following command example subscribes notifications:
AT%XTEMP=1
OK
The following example shows an unsolicited notification for an internal temperature level:
%XTEMP: 1,37
%XTEMP: 2,56
%XTEMP: 3,91
4418_963 v2.1 54
Mobile termination control and status commands
%XTEMP?
Response syntax:
%XTEMP: <temperature>
AT%XTEMP?
%XTEMP: 50
OK
Syntax:
%XTEMPHIGHLVL=<temperature>
The set command parameter and its defined value are the following:
<temperature>
Integer.
Celsius degrees between 1 and 85. Factory default 55.
Celsius degrees between 1 and 90. Factory default 55. v1.3.x≥1
AT%XTEMPHIGHLVL=60
OK
4418_963 v2.1 55
Mobile termination control and status commands
%XTEMPHIGHLVL?
The following command example reads the current internal high temperature level:
AT%XTEMPHIGHLVL?
%XTEMPHIGHLVL: 60
OK
+CCLK=<time>
The set command parameter and its defined value are the following:
<time>
String. Current time in the format "yy/MM/dd,hh:mm:ss±zz", where the characters,
from left to right, indicate year, month, day, hour, minutes, seconds, and time zone.
Time zone indicates the difference, expressed in quarters of an hour, between the
local time and GMT (value range from −48 to +48).
The following command example sets the real-time clock:
AT+CCLK="18/12/06,22:10:00+08"
OK
+CCLK: <time>
If time is not received or set with the +CCLK command, the response is ERROR.
4418_963 v2.1 56
Mobile termination control and status commands
Note: The device clock updates are based on network time when available. The time can be
requested using the read command, but not all networks provide the information, nor can the
highest accuracy requirements be guaranteed, either.
The read response parameters and their defined values are the following:
<time>
String. Current time in the format "yy/MM/dd,hh:mm:ss±zz", where the characters,
from left to right, indicate year, month, day, hour, minutes, seconds, and time zone.
Time zone indicates the difference, expressed in quarters of an hour, between the
local time and GMT (value range from −48 to +48).
The following command example reads the real-time clock:
AT+CCLK?
+CCLK: "18/12/06,22:10:00+08"
OK
%CCLK=<time>,<daylight_saving_time>
The set command parameters and their defined values are the following:
<time>
String. Current time in the format "yy/MM/dd,hh:mm:ss±zz", where the characters,
from left to right, indicate year, month, day, hour, minutes, seconds, and time zone.
Time zone indicates the difference, expressed in quarters of an hour, between
the local time and GMT (value range from −48 to +48 and 99 for "not set" or
"unknown").
<daylight_saving_time>
0 – No adjustment of daylight saving time
1 – +1 hour adjustment of daylight saving time
2 – +2 hours adjustment of daylight saving time
The following command example sets the real-time clock:
AT%CCLK="02/05/07,14:08:17+00",2
OK
4418_963 v2.1 57
Mobile termination control and status commands
%CCLK: <time>[,<daylight_saving_time>]
If time is not received or set with the %CCLK command, the response is ERROR.
Note: The device clock updates are based on network time when available. The time can be
requested using the read command, but not all networks provide the information, nor can the
highest accuracy requirements be guaranteed, either.
The read command parameters and their defined values are the following:
<time>
String. Current time in the format "yy/MM/dd,hh:mm:ss±zz", where the characters,
from left to right, indicate year, month, day, hour, minutes, seconds, and time zone.
Time zone indicates the difference, expressed in quarters of an hour, between the
local time and GMT (value range from −48 to +48).
<daylight_saving_time>
Optional. Present if received from the network or if the user has set it in %CCLK.
0 – No adjustment of daylight saving time
1 – +1 hour adjustment of daylight saving time
2 – +2 hours adjustment of daylight saving time
The following command example reads the current date, time, and daylight saving time:
AT%CCLK?
%CCLK: "02/05/07,14:08:17+00",2
OK
Traces can be captured using Trace Collector in the nRF Connect toolset.
4418_963 v2.1 58
Mobile termination control and status commands
Syntax:
%XMODEMTRACE=<oper>[,<set_id>[,<bitmap_id>,<bitmap>]]
%XMODEMTRACE: <bitmap>
The set command parameters and their defined values are the following:
<oper>
Operation
0 – Deactivate traces
1 – Activate predefined trace set
2 – Activate trace bitmap. To be used only on request by Nordic customer support.
3 – Read trace bitmap. To be used only on request by Nordic customer support.
<set_id>
Integer. Predefined trace set identifier.
1 – Coredump only
2 – Generic
3 – LWM2M
4 – IP only
5 – LWM2M_Generic
<bitmap_id>
Integer. Trace bitmap identifier. Used only with the assistance of Nordic customer
support.
<bitmap>
String in hexadecimal International Reference Alphabet (IRA) format. Used only with
the assistance of Nordic customer support.
The following command example activates trace set 1 (Coredump only):
AT%XMODEMTRACE=1,1
OK
AT%XMODEMTRACE=0
OK
4418_963 v2.1 59
Mobile termination control and status commands
Syntax:
%XSMSFALLBACK=<fallback_status>
The set command parameter and its defined values are the following:
<fallback_status>
0 – Fallback is not performed
1 – Fallback is performed
The following command example sets SMS fallback in NB-IoT:
AT%XSMSFALLBACK=1
OK
4418_963 v2.1 60
Mobile termination control and status commands
Note:
• Only one supported LTE mode is allowed at a time. v1.0.x v1.1.x v1.2.x pti_v1.1.x≥1
• With modem firmware version 1.3.x, both the LTE-M and NB-IoT system modes can be
configured and enabled. v1.3.x
• This command is allowed only before activating the modem using the CFUN=1 command. If the
mode needs to be changed, do the following:
• Power off the modem using the CFUN=0 command. v1.0.x v1.1.x v1.2.x
• Power off the modem using the CFUN=0 command or set it to flight mode using the
CFUN=4 command. v1.3.x
• Operator configurations can override values set by the user.
Syntax:
%XSYSTEMMODE=<LTE_M_support>,<NB_IoT_support>,<GNSS_support>,<LTE_preference>
<LTE_M_support>
0 – LTE-M not supported
1 – LTE-M supported
<NB_IoT_support>
0 – NB-IoT not supported
1 – NB-IoT supported
<GNSS_support>
0 – GNSS not supported
1 – GNSS supported
<LTE_preference>
0 – No preference. Initial system selection is based on history data and Universal
Subscriber Identity Module (USIM). v1.1.x v1.2.x v1.3.x
1 – LTE-M preferred. v1.3.x
3 – Network selection priorities override system priority, but if the same network or
equal priority networks are found, LTE-M is preferred. v1.3.x
4 – Network selection priorities override system priority, but if the same network or
equal priority networks are found, NB-IoT is preferred. v1.3.x
4418_963 v2.1 61
Mobile termination control and status commands
The following command example sets LTE-M and GNSS as the system modes. No preferred LTE mode set:
AT%XSYSTEMMODE=1,0,1,0
OK
%XSYSTEMMODE: <LTE_M_support>,<NB_IoT_support>,<GNSS_support>,<LTE_preference>
The read response parameters and their defined values are the following:
<LTE_M_support>
0 – LTE-M not supported
1 – LTE-M supported
<NB_IoT_support>
0 – NB-IoT not supported
1 – NB-IoT supported
<GNSS_support>
0 – GNSS not supported
1 – GNSS supported
<LTE_preference>
0 – No preference. Initial system selection is based on history data and USIM.
v1.1.x v1.2.x v1.3.x
3 – Network selection priorities override system priority, but if the same network or
equal priority networks are found, LTE-M is preferred. v1.3.x
4 – Network selection priorities override system priority, but if the same network or
equal priority networks are found, NB-IoT is preferred. v1.3.x
AT%XSYSTEMMODE?
%XSYSTEMMODE: 1,0,0,0
OK
4418_963 v2.1 62
Mobile termination control and status commands
Note: Use the command with caution. The requested values must be compliant with the eDRX
cycle values configured using the +CEDRXS command. The modem uses the configured value in
eDRX cycle/PTW length negotiation with the network when eDRX is enabled using the +CEDRXS
command.
When eDRX parameters are changed using the +CEDRXS command, the PTW value is set as default. The
default values can vary between different modem firmware releases. If the application needs to use a
certain value, it must be set. If other than the default PTW has to be used, the %XPTW command shall be
sent after the +CEDRXS command.
Syntax:
%XPTW=<AcT-type>[,<Requested_ptw_value>]
The set command parameters and their defined values are the following:
<AcT-type>
4 – Evolved Terrestrial Radio Access Network (E-UTRAN) (WB-S1 mode)
5 – E-UTRAN (NB-S1 mode)
4418_963 v2.1 63
Mobile termination control and status commands
<Requested_ptw_value>
String. Half a byte in 4-bit format. The PTW value refers to bits from 8 to 5 of octet
3 of the eDRX parameters information element (see 3GPP TS 24.008, subclause
10.5.5.32). Optional. If not present, the value of the requested AcT-type is reset to
the manufacturer-specific default.
LTE-M mode
Bit
4 3 2 1 – PTW length
0 0 0 0 – 1.28 seconds
0 0 0 1 – 2.56 seconds
0 0 1 0 – 3.84 seconds
0 0 1 1 – 5.12 seconds
0 1 0 0 – 6.4 seconds
0 1 0 1 – 7.68 seconds
0 1 1 0 – 8.96 seconds
0 1 1 1 – 10.24 seconds
1 0 0 0 – 11.52 seconds
1 0 0 1 – 12.8 seconds
1 0 1 0 – 14.08 seconds
1 0 1 1 – 15.36 seconds
1 1 0 0 – 16.64 seconds
1 1 0 1 – 17.92 seconds
1 1 1 0 – 19.20 seconds
1 1 1 1 – 20.48 seconds
NB-IoT mode
Bit
4 3 2 1 – PTW length
0 0 0 0 – 2.56 seconds
0 0 0 1 – 5.12 seconds
0 0 1 0 – 7.68 seconds
0 0 1 1 – 10.24 seconds
0 1 0 0 – 12.8 seconds
0 1 0 1 – 15.36 seconds
0 1 1 0 – 17.92 seconds
0 1 1 1 – 20.48 seconds
1 0 0 0 – 23.04 seconds
1 0 0 1 – 25.6 seconds
4418_963 v2.1 64
Mobile termination control and status commands
1 0 1 0 – 28.16 seconds
1 0 1 1 – 30.72 seconds
1 1 0 0 – 33.28 seconds
1 1 0 1 – 35.84 seconds
1 1 1 0 – 38.4 seconds
1 1 1 1 – 40.96 seconds
The following command example sets the requested PTW value:
AT%XPTW=4,"1000"
OK
%XPTW: <AcT-type>,<Requested_ptw_value>
The read response parameters and their defined values are the following:
<AcT-type>
4 – E-UTRAN (WB-S1 mode)
5 – E-UTRAN (NB-S1 mode)
<Requested_ptw_value>
String. Half a byte in 4-bit format. The PTW value refers to bits from 8 to 5 of octet
3 of the eDRX parameters information element (see 3GPP TS 24.008, subclause
10.5.5.32).
The following command example reads the requested PTW value(s):
AT%XPTW?
%XPTW: 4,"0110"
%XPTW: 5,"1110"
OK
Note:
• If the device supports many access technologies, each access technology is included in a
separate line as illustrated in the example above.
• The negotiated PTW value can be checked with the +CEDRXRDP command.
4418_963 v2.1 65
Mobile termination control and status commands
Note:
• The use of this command can be permanently prevented with the %XPRODDONE command.
• The %XEMPR TX power reduction feature can be used with the PTI modem firmware even if the
%XEMPR feature has been disabled with %XPRODDONE. pti_v1.1.x≥3
Syntax:
%XEMPR=<system_mode>,<k>,<band0>,<pr0>,<band1>,<pr1>,…,<bandk-1>,<prk-1>
or
%XEMPR=<system_mode>,0,<pr_for_all_bands>
The set command parameters and their defined values are the following:
<system_mode>
0 – NB-IoT
1 – LTE-M
<k>
The number of bands to which EMPR is set. If <k> is 0, the next parameter
<pr_for_all_bands> is applied to all supported 3GPP bands. The %XEMPR command
supports listing the power reduction for all the supported bands of nRF9160 in one
command for both NB-IoT and LTE-M.
<bandn>
The number of the 3GPP band to which the following <prn> is applied.
4418_963 v2.1 66
Mobile termination control and status commands
<prn>
EMPR for <bandn>
0 – 0 dB
1 – Maximum power reduced 0.5 dB
2 – Maximum power reduced 1.0 dB
> 2 is not allowed
The following command example reduces the maximum TX power on all bands in the NB-IoT mode by 1
dB:
AT%XEMPR=0,0,2
OK
The following command example reduces the maximum TX power on three (<k>=3) bands in the LTE-M
mode (<system_mode>=1). The maximum TX power is reduced by 1 dB on bands 5 and 8 and by 0.5 dB
on band 13:
AT%XEMPR=1,3,5,2,8,2,13,1
OK
The following command example deletes the existing configuration by sending the command without any
parameters:
AT%XEMPR
OK
%XEMPR?
The following command example reads the currently active configuration after both examples of the set
command have been given:
AT%XEMPR?
%XEMPR:
0,0,2
1,3,5,2,8,2,13,1
OK
4418_963 v2.1 67
Mobile termination control and status commands
Syntax:
%XFILEWRITE=<file>,<content>[,<checksum>]
The set command parameters and their defined values are the following:
<file>
1 – GNSS almanac
<content>
Hexadecimal numbers containing two IRA characters per octet.
<checksum>
Checksum of the content calculated over the sha256 algorithm. Mandatory for
GNSS almanac file.
The following command example requests to write the GNSS almanac to a file:
AT%XFILEWRITE=1,
“f0ea0200312a080000000031...”,”bf38c845eab79f459f7b3ef4393f1a2860d309952832a0073b990f12a7274e64”
OK
+CEINFO=<reporting>
Notification syntax:
+CEINFO: <reporting>,<CE_Enabled>,<UE_State>,<Downlink_Repetition_Factor>,
<Uplink_Repetition_Factor>,<RSRP>,<CINR>
4418_963 v2.1 68
Mobile termination control and status commands
<reporting>
0 – Unsubscribe unsolicited notifications
1 – Subscribe unsolicited notifications
<CE_Enabled>
0 – Serving cell does not support CE mode A/B
1 – Serving cell supports CE mode A/B
<UE_State>
UE state at the time of the report.1
I – Idle
R – RACH
C – Connected
<Downlink_Repetition_Factor>
Downlink repetition factor.
If <UE_State> is Idle or RACH, it is set to mpdcch-NumRepetition according to the
current radio condition (that is, RSRP) and prach-ParametersListCE-r13 in SIB2 if the
access technology is LTE-M. It is set to npdcch-NumRepetitions according to the
current radio condition and NPRACH-Parameters-NB-r13 in SIB2-NB if the access
technology is NB-IoT.
If <UE_State> is Connected, it is set to mpdcch-NumRepetition for the radio bearer
if the access technology is LTE-M. It is set to npdcch-NumRepetitions for the radio
bearer if the access technology is NB-IoT.
<Uplink_Repetition_Factor>
Uplink repetition factor.
If <UE_State> is Idle, it is set to numRepetitionPerPreambleAttempt accordig to the
current radio condition.
If <UE_State> is RACH, it is set to numRepetitionPerPreambleAttempt selected by
UE.
If <UE_State> is Connected, it is set to repetition number for PUSCH if the
access technology is LTE-M. It is set to repetition number for NPUSCH if the
access technology is NB-IoT.
<RSRP>
Current RSRP level at the time of the report.1 Numerical range in dBm.
255 – Not known or not detectable.
1
The value corresponds to the last value that has been stored before the time of report. For example,
when releasing an RRC connection, the transition from connection to idle state and the next
<UE_State> being stored and reported can take several seconds.
4418_963 v2.1 69
Mobile termination control and status commands
<CINR>
Current CINR level at the time of the report1. Numerical range in dBm.
127 – Not known or not detectable.
The following command example subscribes unsolicited CE notifications:
AT+CEINFO=1
OK
+CEINFO: 1,1,C,5,3,-50,10
+CEINFO: <Reporting>,<CE_Enabled>,<UE_State>,<Downlink_Repetition_Factor>,
<Uplink_Repetition_Factor>,<RSRP>,<CINR>
AT+CEINFO?
+CEINFO: 1,1,C,5,3,-50,10
OK
Syntax:
%XFACTORYRESET=<reset_type>
The set command parameter and its defined values are the following:
4418_963 v2.1 70
Mobile termination control and status commands
<reset_type>
0 – Reset all modem data to factory settings
1 – Reset user-configurable data to factory settings
The following command example resets all modem data to factory settings:
AT%XFACTORYRESET=0
AT%XFACTORYRESET=1
Note: There are no sleep notifications if only GNSS is activated with the %XSYSTEMMODE
command.
For more information on the use of the %XMODEMSLEEP command, see nWP041 - nRF9160 Modem
Sleep Notifications.
4418_963 v2.1 71
Mobile termination control and status commands
Syntax:
%XMODEMSLEEP=<n>[,<warning_time>,<threshold>]
The set command parameters and their defined values are the following:
<n>
0 – Unsubscribe modem sleep notifications
1 – Subscribe modem sleep notifications
<warning_time>
Advance warning time in ms. A notification is sent as a prewarning of modem
wakeup.
Range 500–3600000 ms.
Value 0 can be used if advance warning is not needed.
The <warning_time> parameter is required when <n> is 1.
<threshold>
The shortest sleep time indicated to application in ms.
Range 10240–3456000000 ms.
The <threshold> parameter is required when <n> is 1.
Notification syntax:
%XMODEMSLEEP: <type>[,<time>]
The notification parameters and their defined values are the following:
<type>
Type of modem sleep
1 – PSM. Modem is in power saving mode.
2 – RF inactivity. Modem sleeps due to RF inactivity, including eDRX.
3 – Limited service. Modem sleeps due to being out of coverage.
4 – Flight mode. Modem has been set to flight mode.
5 – Sleep interrupted. Indicated sleep is interrupted.
6 – Sleep resumed. Indicated sleep has been resumed.
<time>
Sleep time in ms. If the <time> parameter is not present, sleep time is considered
infinite. If the <time> parameter is 0, the sleep has ended. The value might exceed
the 32-bit maximum value.
The following command example subscribes modem sleep notifications. The shortest indicated sleep time
is 60 seconds, and a notification is sent 1 second before the end of sleep:
AT%XMODEMSLEEP=1,1000,60000
%XMODEMSLEEP: 1,1152000000
4418_963 v2.1 72
Mobile termination control and status commands
%XT3412=<n>[,<warning_time>,<threshold>]
The set command parameters and their defined values are the following:
<n>
0 – Unsubscribe periodic TAU notifications
1 – Subscribe periodic TAU notifications
<warning_time>
Advance warning time in ms.
Range 500–3600000 ms.
A notification is sent as a prewarning of periodic TAU.
0 – No prewarning
The <warning_time> parameter is required when <n> is 1.
<threshold>
Shortest periodic TAU time indicated to application in ms.
Range 10240–3456000000 ms.
The <threshold> parameter is required when <n> is 1.
Notification syntax:
%XT3412: <time>
The notification parameter and its defined value are the following:
<time>
Remaining timer T3412 time in ms. If the <time> parameter is 0, timer T3412 has
expired. The value might exceed the 32-bit maximum value.
4418_963 v2.1 73
Mobile termination control and status commands
The following command example subscribes periodic TAU notifications. The shortest indicated period is 30
seconds, and a notification is sent 2 seconds before TAU:
AT%XT3412=1,2000,30000
%XT3412: 1200000
Syntax:
%XCOUNTRYDATA= <oper>,[<country_1>][,country_2>]…|,country_70]
<oper>
0 – Delete stored country data
1 – Store country data
4418_963 v2.1 74
Mobile termination control and status commands
<act>
4 – E-UTRAN (WB-S1 mode)
5 – E-UTRAN (NB-S1 mode)
<mcc>
Integer. Mobile Country Code (MCC)s defined by ITU-T.
<band>
Integer, 1–71. See 3GPP 36.101.
<earfcn>
Integer. EARFCN as defined in 3GPP TS 36.101.
0 – EARFCN not specified
The following command example writes two country elements. In the first country element, <act> is LTE-
M, <mcc> is 244, <band> is 3, and <earfcn> is 1207. In the second country element, <act> is NB-IoT, <mcc>
is 212, <band> is 20, and <earfcn> is 6150, <band> is 13, without specific <earfcn>:
AT%XCOUNTRYDATA=1,”4,244,3,1207”, “5,242,20,6175,13,0”
OK
The following command example deletes existing country data from the modem:
AT%XCOUNTRYDATA=0
OK
%XCOUNTRYDATA: [<country_1>][,country_2>]…|,country_70]
OK
AT%XCOUNTRYDATA?
%XCOUNTRYDATA: ”4,244,3,1207”, “5,242,20,6175,13,5180”
4418_963 v2.1 75
Mobile termination control and status commands
Syntax:
%MDMEV=<n>
The set command parameter and its defined values are the following:
<n>
0 – Unsubscribe modem domain event notifications
1 – Subscribe modem domain events notifications
The unsolicited notification syntax descriptions are as follows:
Mobile Equipment (ME) is overheated and therefore modem is deactivated:
%MDMEV: ME OVERHEATED
SEARCH STATUS 1 indicates light search performed. This event gives the application a chance to
stop the modem from using more power on searching networks from possibly weaker radio condition.
Before sending this event, the modem searches the cells based on previous cell history, measures the
radio conditions, and makes assumptions on where networks might be deployed. This event means that
the modem has not found a network that it could select based on the 3GPP network selection rules
from those locations. It does not mean that there are no networks to be found in the area. The modem
continues more thorough searches automatically after sending this status. The modem can be deactivated,
for example, with +CFUN=4, to stop it from using more power on the search.
Modem indicates completed status of search:
SEARCH STATUS 2 indicates search performed. The modem has found a network that it can select
according to the 3GPP network selection rules or all frequencies have been scanned and a suitable cell
has not been found. In the latter case, the modem enters normal limited service state functionality and
performs scans for service periodically.
Modem has detected a reset loop:
RESET LOOP indicates that the modem restricts Attach attempts for the next 30 minutes. The timer
does not run when the modem has no power or while it stays in the reset loop. The modem counts all the
resets where the modem is not gracefully deinitialized with +CFUN=0.
If there are more than five resets, reset loop restriction is activated. v1.3.0
If there are more than seven resets, reset loop restriction is activated. v1.3.x≥1
For more information on reset loop, see nWP042 - nRF9160 Modem Reset Loop Restriction.
4418_963 v2.1 76
Mobile termination control and status commands
AT%MDMEV=1
OK
%NCELLMEAS[=<search_type>]
Notification syntax:
%NCELLMEAS: status
[,<cell_id>,<plmn>,<tac>,<timing_advance>,<current_earfcn>,<current_phys_cell_id>,
<current_rsrp>,<current_rsrq>,<measurement_time>,]
[,<n_earfcn>1,<n_phys_cell_id>1,<n_rsrp>1,<n_rsrq>1,<time_diff>1]
[,<n_earfcn>2,<n_phys_cell_id>2,<n_rsrp>2,<n_rsrq>2,<time_diff>2]
...
[,<n_earfcn>17,<n_phys_cell_id>17,<n_rsrp>17,<n_rsrq>17,<time_diff>17]
[,<timing_advance_measurement_time>]
4418_963 v2.1 77
Mobile termination control and status commands
Note: The optional part is included in the response only when <status> is 0 (measurement
successful).
<search_type>
0 – Modem searches RPLMN based on previous cell history.
1 – Modem starts with the same search method as in option 0.
If a suitable cell is not found, the modem performs a light search where it continues
the search by measuring the radio conditions and makes assumptions on where
networks might be deployed. If RPLMN is not found based on previous cell history,
the modem accepts any found PLMN.
2 – Modem uses otherwise the same search method as in option 1, except that it
performs a complete search for all supported bands.
The modem uses the <search_type> parameter only when cell search is required to
complete the requested measurement.
<status>
0 – Measurement successful
1 – Measurement failed, no cell available
<cell_id>
String in hexadecimal format. The cell ID the UE is camped on. 4-byte E-UTRAN cell
ID.
<plmn>
String. MCC and Mobile Network Code (MNC) values.
<tac>
String in hexadecimal format. 2-byte Tracking Area Code (TAC).
<timing_advance>
Integer. Timing advance value (Ts). Time units as specified in 3GPP TS 36.211.
0–20512 – When timing advance is valid
65535 – When timing advance is not valid
<current_earfcn>
Integer. EARFCN of the current cell where the EARFCN is as defined in 3GPP TS
36.101.
4418_963 v2.1 78
Mobile termination control and status commands
<measurement_time>
Measurement time of the serving cell in ms calculated from modem boot time.
Range 0–18 446 744 073 709 551 614 ms.
<n_earfcn>
Integer. EARFCN of the neighboring cell where the EARFCN is as defined in 3GPP TS
36.101.
<current_phys_cell_id>
Integer. Physical cell ID of the current cell.
<n_phys_cell_id>
Integer. Physical cell ID of the neighboring cell.
<current_rsrp>
RSRP of the current cell.
–17 – When RSRP < –156 dBm
–16 – When –156 ≤ RSRP < –155 dBm
………
–3 – When –143 ≤ RSRP < –142 dBm
–2 – When –142 ≤ RSRP < –141 dBm
–1 – When –141 ≤ RSRP < –140 dBm
0 – When RSRP < –140 dBm
1 – When –140 ≤ RSRP < –139 dBm
2 – When –139 ≤ RSRP < –138 dBm
………
95 – When –46 ≤ RSRP < –45 dBm
96 – When –45 ≤ RSRP < –44 dBm
97 – When –44 ≤ RSRP dBm
255 – Not known or not detectable
The index value of RSRP can be converted to decibel with the following formula:
Index – 140 = dBm. For example, 95 – 140 = –45 dBm and –16 – 140 = –156 dBm.
4418_963 v2.1 79
Mobile termination control and status commands
<n_rsrp>
RSRP of the neighboring cell.
–17 – When RSRP < –156 dBm
–16 – When –156 ≤ RSRP < –155 dBm
………
–3 – When –143 ≤ RSRP < –142 dBm
–2 – When –142 ≤ RSRP < –141 dBm
–1 – When –141 ≤ RSRP < –140 dBm
0 – When RSRP < –140 dBm
1 – When –140 ≤ RSRP < –139 dBm
2 – When –139 ≤ RSRP < –138 dBm
………
95 – When –46 ≤ RSRP < –45 dBm
96 – When –45 ≤ RSRP < –44 dBm
97 – When –44 ≤ RSRP dBm
255 – Not known or not detectable
<current_rsrq>
RSRQ of the current cell.
–30 – When RSRQ < –34 dB
–29 – When –34 ≤ RSRQ < –33.5 dB
………
–2 – When –20.5 ≤ RSRQ < –20 dB
–1 – When –20 ≤ RSRQ < –19.5 dB
0 – When RSRQ < –19.5 dB
1 – When –19.5 ≤ RSRQ < –19 dB
2 – When –19 ≤ RSRQ < –18.5 dB
………
32 – When –4 ≤ RSRQ < –3.5 dB
33 – When –3.5 ≤ RSRQ < –3 dB
34 – When –3 ≤ RSRQ dB
35 – When –3 ≤ RSRQ < –2.5 dB
36 – When –2.5 ≤ RSRQ < –2 dB
………
45 – When 2 ≤ RSRQ < 2.5 dB
46 – When 2.5 ≤ RSRQ dB
255 – Not known or not detectable
The index value of RSRQ can be converted to decibel with the following formula:
Index x ½ – 19,5 = dB. For example, (32 x ½) – 19,5 = –4 dB and (–29 x ½) – 19,5 = –
34 dB.
4418_963 v2.1 80
Mobile termination control and status commands
<n_rsrq>
RSRQ of the neighboring cell.
–30 – When RSRQ < –34 dB
–29 – When –34 ≤ RSRQ < –33.5 dB
………
–2 – When –20.5 ≤ RSRQ < –20 dB
–1 – When –20 ≤ RSRQ < –19.5 dB
0 – When RSRQ < –19.5 dB
1 – When –19.5 ≤ RSRQ < –19 dB
2 – When –19 ≤ RSRQ < –18.5 dB
………
32 – When –4 ≤ RSRQ < –3.5 dB
33 – When –3.5 ≤ RSRQ < –3 dB
34 – When –3 ≤ RSRQ dB
35 – When –3 ≤ RSRQ < –2.5 dB
36 – When –2.5 ≤ RSRQ < –2 dB
………
45 – When 2 ≤ RSRQ < 2.5 dB
46 – When 2.5 ≤ RSRQ dB
255 – Not known or not detectable
<time_diff>
Difference in ms between the latest performed serving cell measurement and
neighboring cell measurement.
–99999 ms < time_diff < 99999 ms
0 – Value not valid
<timing_advance_measurement_time>
0 – 18 446 744 073 709 551 614 ms
Measurement time of timing advance in milliseconds calculated from modem boot
time.
The following command example starts neighboring cell measurement:
AT%NCELLMEAS
OK
The following notification example indicates a finished measurement. The result contains the serving cell
and two neighboring cells:
%NCELLMEAS: 0,"00011B07","26295","00B7",10512,2300,7,63,31,150344527,
2300,8,60,29,0,2400,11,55,26,184,9034
4418_963 v2.1 81
Mobile termination control and status commands
%NCELLMEASSTOP
The following command example starts neighboring cell measurement and stops the measuring
successfully:
AT%NCELLMEAS
OK
AT%NCELLMEASSTOP
%NCELLMEAS: 1
OK
The following command example starts neighboring cell measurement and tries to stop the measurement,
but the measurement has been done before the stop command is given. The response can contain, for
example, the serving cell and two neighboring cells:
AT%NCELLMEAS
OK
AT%NCELLMEASSTOP
%NCELLMEAS:0,"00011B07","26295","00B7",2300,7,63,31,2300,8,60,29,0,2400,11,55,26,0
OK
The following command example stops neighboring cell measurement when the neighboring cell
measurement command %NCELLMEAS has been given but the modem has not started the measurement
due to other prioritized activities:
AT%NCELLMEAS
OK
AT%NCELLMEASSTOP
OK
4418_963 v2.1 82
Mobile termination control and status commands
The evaluation is based on a cell that would likely be used for RRC connection by the current state. The
cell used for RRC connection can be different than the one that is used for the evaluation. Changing radio
conditions and mobility procedures can affect the LTE cell selection.
The connection evaluation is possible in +CFUN modes 1, 2, and 21. The cell selection and evaluation are
based on information in the latest detected UICC and collected cell history.
Note:
• The accuracy of the evaluation result can be affected by factors, such as network configuration,
current modem and RRC state, signal quality, and movement of the device.
• Coverage Enhancement (CE) levels 0–2 are supported in NB-IoT. CE levels 0–1 (CE mode A) are
supported in LTE-M. CE level 3 is not supported in the current modem firmware version.
• In +CFUN mode 2, evaluation is possible only if cell history is available.
%CONEVAL
Response syntax:
%CONEVAL: <result>[,<rrc_state>,<energy_estimate>,<rsrp>,<rsrq>,<snr>,<cell_id>,<plmn>,
<phyc_cell_id>,<earfcn>,<band>,<tau_triggered>,<ce_level>,<tx_power>,<tx_repetitions>,
<rx_repetitions>,<dl-pathloss>]
The response parameters and their defined values are the following:
4418_963 v2.1 83
Mobile termination control and status commands
<result>
0 – Connection pre-evaluation successful
1 – Evaluation failed, no cell available
2 – Evaluation failed, UICC not available
3 – Evaluation failed, only barred cells available
4 – Evaluation failed, busy (for example, GNSS activity)
5 – Evaluation failed, aborted because of higher priority operation
6 – Evaluation failed, not registered
7 – Evaluation failed, unspecified
<rrc_state>
0 – RRC connection in idle state during measurements
1 – RRC connection in connected state during measurements
<energy_estimate>
Relative estimated energy consumption of data transmission compared to nominal
consumption. A higher value means smaller energy consumption.
5 – Bad conditions. Difficulties in setting up connections. Maximum number of
repetitions might be needed for data.
6 – Poor conditions. Setting up a connection might require retries and a higher
number of repetitions for data.
7 – Normal conditions for cIoT device. No repetitions for data or only a few
repetitions in the worst case.
8 – Good conditions. Possibly very good conditions for small amounts of data.
9 – Excellent conditions. Efficient data transfer estimated also for larger amounts of
data.
4418_963 v2.1 84
Mobile termination control and status commands
<rsrp>
Current RSRP level at the time of the report
–17 – When RSRP < –156 dBm
–16 – When –156 ≤ RSRP < –155 dBm
………
–3 – When –143 ≤ RSRP < –142 dBm
–2 – When –142 ≤ RSRP < –141 dBm
–1 – When –141 ≤ RSRP < –140 dBm
0 – When RSRP < –140 dBm
1 – When –140 ≤ RSRP < –139 dBm
2 – When –139 ≤ RSRP < –138 dBm
………
95 – When –46 ≤ RSRP < –45 dBm
96 – When –45 ≤ RSRP < –44 dBm
97 – When –44 ≤ RSRP dBm
255 – Not known or not detectable
The index value of RSRP can be converted to decibel with the following formula:
Index – 140 = dBm. For example, 95 – 140 = –45 dBm and –16 – 140 = –156 dBm.
4418_963 v2.1 85
Mobile termination control and status commands
<rsrq>
Current RSRQ level at the time of the report
–30 – When RSRQ < –34 dB
–29 – When –34 ≤ RSRQ < –33.5 dB
………
–2 – When –20.5 ≤ RSRQ < –20 dB
–1 – When –20 ≤ RSRQ < –19.5 dB
0 – When RSRQ < –19.5 dB
1 – When –19.5 ≤ RSRQ < –19 dB
2 – When –19 ≤ RSRQ < –18.5 dB
………
32 – When –4 ≤ RSRQ < –3.5 dB
33 – When –3.5 ≤ RSRQ < –3 dB
34 – When –3 ≤ RSRQ dB
35 – When –3 ≤ RSRQ < –2.5 dB
36 – When –2.5 ≤ RSRQ < –2 dB
………
45 – When 2 ≤ RSRQ < 2.5 dB
46 – When 2.5 ≤ RSRQ dB
255 – Not known or not detectable
The index value of RSRQ can be converted to decibel with the following formula:
Index x ½ – 19,5 = dB. For example, (32 x ½) – 19,5 = –4 dB and (–29 x ½) – 19,5 = –
34 dB.
<snr>
Current SNR level at the time of the report
0 SNR < -24 dB
1 – When –24 dB <= SNR < –23 dB
2 – When –23 dB <= SNR < –22 dB
::::
snr
47 – When 22 dB <= SNR < 23 dB
48 – When 23 dB <= SNR < 24 dB
49 – When 24 dB <= SNR
127 – Not known or not detectable
The index value of SNR can be converted to decibel with the following formula:
Index – 24 = dB. For example, 1 – 24 = –23 dB and 47 – 24 = 23 dB.
<cell_id>
String in hexadecimal format. 4-byte E-UTRAN cell ID.
4418_963 v2.1 86
Mobile termination control and status commands
<plmn>
String. MCC and MNC values.
<phys_cell_id>
Integer, 0–503. Physical cell ID of evaluated LTE cell.
<earfcn>
Integer. EARFCN of a cell where the EARFCN is as defined in 3GPP TS 36.101.
<band>
Integer, 1–88. See 3GPP 36.101.
0 when current band information is not available.
<tau_triggered>
0 – UE is registered on the evaluated cell. Therefore, TAU is not needed before
sending user data.
1 – UE is not registered on the evaluated cell. Therefore, the TAU procedure is
initiated before sending user data.
255 – Not known.
<ce_level>
0 – CE Level 0. No repetitions or small number of repetitions.
1 – CE Level 1. Medium number of repetitions.
2 – CE Level 2. Large number of repetitions.
3 – CE Level 3. Very large number of repetitions (not supported).
255 – Invalid or not known.
If <rrc_state> is 0, the CE level is estimated based on RSRP and network
configuration.
If <rrc_state> is 1, the CE level corresponds to the currently used CE level.
<tx_power>
Integer, –45 to +23 dBm.
The estimate of TX power depends on the RRC state in which the measurement is
done.
If <rrc_state> is 0, the value corresponds to the estimated TX power level of the first
preamble transmission in (N)PRACH.
If <rrc_state> is 1, the value corresponds to the latest physical data channel
(N)PUSCH transmission power level.
See 3GPP 36.101 and 3GPP 36.213.
4418_963 v2.1 87
Mobile termination control and status commands
<tx_repetitions>
Integer, 1–2048.
The estimate of TX repetitions depends on the RRC state in which the measurement
is done.
If <rrc_state> is 0, the value corresponds to the initial preamble repetition level in
(N)PRACH based on <ce_level> and network configuration.
If <rrc_state> is 1, the value corresponds to the latest physical data channel
(N)PUSCH transmission repetition level.
See 3GPP TS 36.331 and 3GPP TS 36.213.
<rx_repetitions>
Integer, 1–2048.
The estimate of RX repetitions depends on the RRC state in which the measurement
is done.
If <rrc_state> is 0, Initial Random Access control channel (M/NPDCCH) reception
repetition level based on <ce_level> and network configuration.
If <rrc_state> is 1, the latest physical data channel (N)PDSCH reception repetition
level.
See 3GPP TS 36.331 and 3GPP TS 36.213.
<dl-pathloss>
Integer. Reduction in power density in dB.
The following command example requests the pre-evaluation of a connection:
AT%CONEVAL
%CONEVAL: 0,1,5,8,2,14,"011B0780”,"26295",7,1575,3,1,1,23,16,32,130
OK
4418_963 v2.1 88
6 SiP pin configuration
SiP pin configuration commands can be used to configure the behavior of selected pins of the nRF91 SiP.
The pins that can currently be configured are COEX0, MAGPIO[0:2], and MIPI RFFE.
For more information on the nRF9160 SiP pins, see Pin assignments in nRF9160 Product Specification.
The control of these pins is tied to the modem operations, that is, the pins are controllable only when the
modem is active. For example, if the modem goes to a long PSM sleep mode, the supply voltage for the
pins is removed for power saving reasons and the pin state goes low until the modem wakes up again. The
pin configuration can be made dependent on the modem’s RF frequency. This means that instead of using
the cell’s static center frequency for decision-making, the dynamically changing center frequency of the
current narrowband is used. Downlink or uplink direction does not affect the decision.
The commands in this chapter are intended to be given only once at boot or, alternatively, for example, in
device production if you want to store the configurations to NVM. This can be done with the +CFUN=0
command.
Active %XPOFWARN warning blocks the storing to NVM. v1.3.x≥2
When the PTI modem firmware is used, the configuration can be stored to NVM with the %XFSSYNC
command. After giving the commands, the modem software automatically toggles the pins, depending on
RF frequency and modem state. In other words, the application does not need to send these commands
during modem active usage.
Syntax:
%XCOEX0=<count>,<state_0>,<freqlo_0>,<freqhi_0>,...
<state_count-1><freqlo_count-1><freqhi_count-1>
The set command parameters and their defined values are the following:
4418_963 v2.1 89
SiP pin configuration
<count>
The number of frequency ranges. Valid values are 1, 2, 3, and 4.
<state_x>
The state of COEX0 with the following frequency range. Valid values are 0 and 1.
<freqlo_x>
Low limit for the frequency range in MHz.
<freqhi_x>
High limit for the frequency range in MHz.
The following command example sets COEX0 to 1 when GNSS is enabled (and 0 when GNSS is turned off).
COEX0 is not used with other frequencies (or LTE):
AT%XCOEX0=1,1,1570,1580
OK
The following command example sets COEX0 to 1 when GNSS is enabled, or LTE frequency is 600–800
MHz or 2000–2180 MHz:
AT%XCOEX0=3,1,1570,1580,1,2000,2180,1,600,800
OK
If the command is given without any parameters, it deletes the previously written values:
AT%XCOEX0
OK
%XCOEX0: <count>,<state_0>,<freqlo_0>,<freqhi_0>,...
<state_count-1><freqlo_count-1><freqhi_count-1>
The read response parameters and their defined values are the following:
<count>
The number of frequency ranges. Valid values are 1, 2, 3, and 4.
<state_x>
The state of COEX0 with the following frequency range. Valid values are 0 and 1.
<freqlo_x>
Low limit for the frequency range in MHz.
<freqhi_x>
High limit for the frequency range in MHz.
4418_963 v2.1 90
SiP pin configuration
AT%XCOEX0?
AT%XCOEX0: 3,1,1570,1580,1,2000,2180,1,600,800
OK
The MAGPIO pins can be used, for example, to control an external antenna tuner, or any other General-
Purpose Input/Output (GPIO)-controlled device, whose state depends on modem's RF frequency.
The %XMAGPIO command needs to be sent before any modem activity occurs. Based on the given
configuration, the modem applies the MAGPIO state corresponding to the RF frequency range
automatically during runtime.
This command has been updated in v0.7.1 of this document. The earlier format described in v0.7 of this
document is still valid, but the new format is recommended.
Syntax:
%XMAGPIO=<gpio_0>,<gpio_1>,<gpio_2>,<num_ranges>,<state_0>,<flo_0>,<fhi_0><state_1>,<flo_1>,
<fhi_1>,...
<gpio_x>
0 – MAGPIO_x is not used
1 – MAGPIO_x used
<num_ranges>
The number of frequency ranges, maximum value 12
<state_y>
Settings of the MAGPIO pins for the range x that follows
<flo_y>
Frequency range low value when the setting is active, in MHz
4418_963 v2.1 91
SiP pin configuration
<fhi_y>
Frequency range high value when the setting is active, in MHz
The following table contains an example configuration for an antenna tuner:
AT%XMAGPIO=1,1,1,7,1,746,803,2,698,746,2,1710,2200,3,849,894,4,894,960,6,803,849,7,
1574,1577
OK
AT%XMAGPIO=1,1,1,3,0,1574,1577,1,705,747,6,748,804
OK
AT%XMAGPIO
OK
%XMAGPIO:
<gpio_0>,<gpio_1>,<gpio_2>,<num_ranges>,<state_0>,<flo_0>,<fhi_0><state_1>,<flo_1>,
<fhi_1>,...
The read response parameters and their defined values are the following:
<gpio_x>
0 – MAGPIO_x is not used
1 – MAGPIO_x used
4418_963 v2.1 92
SiP pin configuration
<num_ranges>
The number of frequency ranges, maximum value 12
<state_y>
Settings of the MAGPIO pins for the range x that follows
<flo_y>
Frequency range low value when the setting is active, in MHz
<fhi_y>
Frequency range high value when the setting is active, in MHz
The following command example returns the stored configuration:
AT%XMAGPIO?
AT%XMAGPIO: 1,1,1,3,0,1574,1577,1,705,747,6,748,804
OK
Syntax:
%XMIPIRFFEDEV=<dev_id>,<def_usid>,<prod_id>,<man_id>,<pm_trig>
The set command parameters and their defined values are the following:
4418_963 v2.1 93
SiP pin configuration
<dev_id>
Selectable identification number for the device. Non-zero. Valid range 1–255.
The given <dev_id> is used with the %XMIPIRFFECTRL and %XMIPIRFFEDBG
commands.
<def_usid>
A 4-bit default Unique Slave Identifier (USID) for the MIPI RFFE device. Typically, 7
for antenna tuners (as suggested by MIPI).
<prod_id>
An 8-bit PRODUCT_ID of the MIPI RFFE device. Only used if automatic
reprogramming of the USID is needed. EXT_PRODUCT_ID is not supported.
<man_id>
A 10-bit MANUFACTURER_ID of the MIPI RFFE device. Only used if automatic
reprogramming of the USID is needed.
<pm_trig>
An 8-bit content for PM_TRIG (address 0x1C = 28 dec) register. This is for setting the
default power and triggering mode. Note that the setting of PM_TRIG can be also
changed in the ON phase. See %XMIPIRFFECTRL.
All numbers should be given as decimals, that is, not as hexadecimals. Currently, nRF91 supports only one
SiP-external MIPI RFFE-controlled device.
%XMIPIRFFEDEV?
%XMIPIRFFEDEV: <dev_id>,<def_usid>,<prod_id>,<man_id>,<pm_trig>
INIT:
ON:
OFF:
PWROFF:
OK
The read response parameters and their descriptions for the “%XMIPIRFFEDEV” row are as defined in Set
command on page 93 if a valid %XMIPIRFFEDEV command has been given earlier. Otherwise, the
row is empty. The phase-specific rows that follow (INIT, ON, OFF, PWROFF) contain the parameters given
for that phase or they are empty.
In the following command example, the following commands have been given:
AT%XMIPIRFFEDEV=1,7,171,331,184
OK
AT%XMIPIRFFECTRL= 1,1,1,28,56,6,1,2,2,3,750,3,8,850,18,9,1000,20,12,1700,35,19,1900,37,
25,2200
OK
4418_963 v2.1 94
SiP pin configuration
AT%XMIPIRFFEDEV?
%XMIPIRFFEDEV: 1,7,171,331,184
INIT:
ON: 1,1,1,28,56,6,1,2,2,3,750,3,8,850,18,9,1000,20,12,1700,35,19,1900,37,25,2200
OFF:
PWROFF:
OK
%XMIPIRFFEDEV=<dev_id>
The following command deletes the device whose <dev_id>=1 and all related phase controls that have
been given using the %XMIPIRFFECTRL command:
AT%XMIPIRFFEDEV=1
OK
CAUTION: The combined load of Printed Circuit Board (PCB) routing, the input load of the MIPI
RFFE-controlled device, and any parasitic load from application shall not exceed 15 pF at SCLK
or SDATA pins. This load translates roughly to narrow transmission line length of less than 10 cm
at the application board but it is dependent on the actual PCB design. A load higher than 15 pF at
SCLK or SDATA pin increases the risk of unwanted behavior of the nRF91 SiP itself and of MIPI
RFFE control.
4418_963 v2.1 95
SiP pin configuration
The %XMIPIRFFEDBG command can be used to debug MIPI RFFE configurations by reading or writing to
device registers when using PTI image. pti_v1.1.x≥6
The phases are defined as follows:
INIT
Applied when RF is waking up. INIT is frequency-agnostic. Controls up to four MIPI RFFE device
registers. The main purpose is to allow preparation or activation of the MIPI RFFE device if activation
requires long settling.
ON
Applied when RF is starting for a specific frequency or when LTE-M frequency hopping is performed
by the modem RF. Controls a maximum of two frequency-agnostic registers that can be used for
device activation, for instance. This phase also controls a maximum of two registers whose value can
be defined to depend on the RF frequency of the modem. The table for the frequency-dependent
control can have a maximum of 64 frequencies.
OFF
Applied when RF is stopping. The configuration is frequency-agnostic. Controls up to four MIPI RFFE
device registers.
PWROFF
Applied when RF is going to sleep. The configuration is frequency-agnostic. Controls up to four MIPI
RFFE device registers. The main purpose is to deactivate the MIPI RFFE device.
For detailed examples of using the commands in different phases, see nWP034 - nRF9160 Hardware
Verification Guidelines.
The command is given separately for each phase. It is not necessary to send the command for each phase,
which means it is possible to configure only one phase.
Syntax:
%XMIPIRFFECTRL=<dev_id>,<phase#>,<variable_number_of_phase_specific_parameters>
The set command parameters and their defined values are the following:
<dev_id>
The identification number of the MIPI RFFE device given when it was introduced
using the %XMIPIRFFEDEV command.
<phase#>
Number of the phase INIT = 0, ON = 1, OFF = 2, PWR_OFF = 3. All numbers must be
given as decimals (hexadecimals are not allowed).
The following figure illustrates the RFFE device control in different phases:
4418_963 v2.1 96
SiP pin configuration
50-100 µs
50-100 µs
>200 µs ON ON
Modem state e.g. LTE RX or GNSS e.g. LTE TX
OFF OFF
Sleep/ OFF Sleep/
PWROFF PWROFF
time
RFFE
device pm_trig ON (1) OFF (2) ON (1) OFF (2)
initial
phase (#) config PWROFF (3)
INIT (0) Activate
device. Set
device Set
Triggers Write device
to Activate Disable
Typical RFFE disabled, PAC/
LowPwr device. to device
reset Switch LowPwr
device control registers Write
Set PAC/Switch
device to
LowPwr
In the figure, PAC/Switch refers to a register in an example antenna tuner that controls the tunable
capacitors and/or switches.
INIT (0)
%XMIPIRFFECTRL=<dev_id>,0,<n>,<address_0>,<data_0>,…,<address_n-1>,<data_n-1>
OFF (2)
%XMIPIRFFECTRL=<dev_id>,2,<n>,<address_0>,<data_0>,…,<address_n-1>,<data_n-1>
PWROFF (3)
%XMIPIRFFECTRL=<dev_id>,3,<n>,<address_0>,<data_0>,…,<address_n-1>,<data_n-1>
<n>
The number of address/data pairs. Valid values are 0, 1, 2, 3, 4. If the value is 0, all
the following fields must be omitted.
<address_x>
The 8-bit address of the internal register in MIPI RFFE device. x = 0, ..., n−1.
<data_x>
The 8-bit data to be written to <address_x>. x = 0, ..., n−1.
For command examples, see nWP034 - nRF9160 Hardware Verification Guidelines.
4418_963 v2.1 97
SiP pin configuration
Syntax:
%XMIPIRFFECTRL=<dev_id>,1,<n>,<act_addr_0>,<act_data_0>,<act_addr_n-1>,<act_data_n-1>,<k>,
<addr_0>,<addr_1>,<data_0_0>,<data_1_0>,<freq_0>,...,<data_0_k-1>,<data_1_k-1>,<freq_k-1>
<n>
The number of activation register address-data pairs. Valid values are 0, 1, 2. If n =
0, act_addr_0/1 and act_data_0/1 must be omitted.
<act_addr_x>
8-bit address of the first register whose value is set to, for example, activate device.
This is written each time RF starts. Must be given if <n> is greater than 0.
<act_data_x>
Optional 8-bit data for the register in <act_addr_x>.
Must be given if <n> is greater than 0.
<k>
The number of frequencies in the configuration. Valid values are 0−64. If k = 0, all
the following fields must be omitted.
<addr_0>
The 8-bit address of the first register, whose value is changed on the basis of RF
frequency.
<addr_1>
The 8-bit address of the other register, whose value is changed on the basis of RF
frequency. If addr_1 == addr_0, then only <data_0_y> is written.
<data_0_y>
The 8-bit data for the register in <addr_0>, if frequency is smaller than or equal to
<freq_y>.
<data_1_y>
The 8-bit data for the register in <addr_1>, if frequency is smaller than or equal to
<freq_y>. Note that data_1_y must be given (for example, as 0) even if addr_1 ==
addr_0.
<freq_y>
Integer. The frequency in MHz to which the current RF frequency is compared.
If current RF frequency is smaller than or equal to <freq_y>, then <data_0_y>
is written to <addr_0> and <data_1_y> is written to <addr_1>. Note that if the
RF frequency is greater than <freq_k−1> (the last given frequency), then neither
<addr_0> nor <addr_1> is written.
For command examples, see nWP034 - nRF9160 Hardware Verification Guidelines.
4418_963 v2.1 98
SiP pin configuration
AT%XMIPIRFFECTRL=<dev_id>,1,0,0
AT%XMIPIRFFECTRL==<dev_id>,3,0
Syntax:
%XANTCFG=<cfg>
The set command parameter and its defined values are the following:
<cfg>
0 – Reserved, no action
1 – ANT input directed to AUX output in the GNSS mode
2 – Reserved, no action
...
7 – Reserved, no action
The following command example directs ANT input to AUX output:
AT%XANTCFG=1
OK
AT%XANTCFG
OK
4418_963 v2.1 99
SiP pin configuration
Syntax:
%XANTFCG?
AT%XANTCFG?
%XANTCFG: 1
OK
By default, the COEX2 pin is enabled automatically when LTE/GNSS RF is used and disabled when RF is
powered down. The default timing of the COEX2 pin has approximately 1 ms anticipation to the first
sample in the antenna.
In addition to the default mode, the %XCOEX2 command has two alternative anticipation times of
approximately 400 μs and 50-100 μs before the first sample in the antenna. The pin toggling can also be
disabled.
The COEX2 pin can also be set to toggle at only RF transmission or only RF reception. v1.3.x≥1
The %XCOEX2 command must be sent before any modem activity occurs. Based on the given
configuration, the modem toggles the COEX2 pin automatically during runtime.
Syntax:
%XCOEX2[=<ctrl>]
The set command parameter and its defined values are the following:
<ctrl>
Not set – Clears the current configuration and uses default values (1).
0 – COEX2 pin toggling disabled, pin OFF.
1 – COEX2 pin toggling enabled, default timing, 1 ms anticipation.
2 – COEX2 pin toggling enabled, mid-timing, approximately 400 μs anticipation.
3 – COEX2 pin toggling enabled, as late as possible timing, approximately 50–100
μs anticipation.
4 – COEX2 pin toggling enabled, TX indicator. Pin ON when RF is transmitting.
v1.3.x≥1
The following command example sets the mid-timing of the COEX2 pin:
AT%XCOEX2=2
OK
%XCOEX2?
Response syntax:
%XCOEX2: <ctrl>
The read command parameter and its defined values are the following:
<ctrl>
Not set – Clears the current configuration and uses default values (1).
0 – COEX2 pin toggling disabled, pin OFF.
1 – COEX2 pin toggling enabled, default timing, 1 ms anticipation.
2 – COEX2 pin toggling enabled, mid-timing, approximately 400 μs anticipation.
3 – COEX2 pin toggling enabled, as late as possible timing, approximately 50–100
μs anticipation.
4 – COEX2 pin toggling enabled, TX indicator. Pin ON when RF is transmitting.
v1.3.x≥1
The following command example reads the current configuration of the COEX2 pin.
AT%XCOEX2?
%XCOEX2: 2
OK
Note: +CGDCONT=<cid> causes the values for context number <cid> to become undefined.
A maximum of four contexts can be defined. In some network configurations, the maximum can be less
than four.
The set command parameters and their defined values are the following:
<cid>
Integer, 0–10 (mandatory). Specifies a particular Packet Data Protocol (PDP) Context
definition. The parameter is local to the device and is used in other PDP context-
related commands.
<PDP_type>
String
IP – Internet Protocol
IPV6 – Internet Protocol version 6
IPV4V6 – Virtual type of dual IP stack
Non-IP – Transfer of non-IP data to external packet data network (see 3GPP TS
23.401 [82])
<APN>
String. Access Point Name (APN).
<PDP_addr>
Ignored
<d_comp>
Ignored
<h_comp>
Ignored
<IPv4AdrAlloc>
0 – IPv4 address via Non-access Stratum (NAS) signaling (default)
1 – IPv4 address via Dynamic Host Configuration Protocol (DHCP)
<request_type>
Ignored
<P-CSCF_discovery>
Ignored
<IM_CN_SignallingFlag>
Ignored
<NSLPI>
0 – Non-access Stratum (NAS) Signalling Low Priority Indication (NSLPI) value from
configuration is used (default)
1 – Value "Not configured" for NAS signaling low priority
<securePCO>
0 – Protected transmission of Protocol Configuration Options (PCO) is not requested
(default)
1 – Protected transmission of PCO is requested
The following command example configures CID 1 to use IPv4 and access point "IOT_apn":
AT+CGDCONT=1,"IP","IOT_apn"
OK
+CGDCONT: <cid>,<PDP_type>,<APN>,<PDP_addr>,<d_comp>,<h_comp>
The read command parameters and their defined values are the following:
<cid>
Integer, 0–10.
<PDP_type>
String
IP – Internet Protocol
IPV6 – Internet Protocol version 6
IPV4V6 – Virtual type of dual IP stack
Non-IP – Transfer of non-IP data to external packet data network (see 3GPP TS
23.401 [82])
<APN>
String. APN.
<PDP_addr>
String. IP address.
<d_comp>
0 – Compression not supported
<h_comp>
0 – Compression not supported
The following command example reads configured default bearers:
AT+CGDCONT?
+CGDCONT: 0,"IP","internet","10.0.1.1",0,0
+CGDCONT: 1,"IP","IOT_apn","10.0.1.2",0,0
OK
+CGEREP=[<mode>]
The set command parameter and its defined values are the following:
<mode>
0 – Unsubscribe unsolicited result codes
1 – Subscribe unsolicited result codes
The following command example subscribes CGEV notifications:
AT+CGEREP=1
OK
Response syntax:
+CGEREP: <mode>,<bfr>
The read command parameters and their defined values are the following:
<mode>
0 – Unsubscribe unsolicited result codes
1 – Subscribe unsolicited result codes
<bfr>
0 – MT buffer of unsolicited result codes is cleared when <mode> 1 is entered.
The following command example reads the current mode:
AT+CGEREP?
+CGEREP: 1,0
OK
The test command parameters and their defined values are the following:
<mode>
0 – Unsubscribe unsolicited result codes
1 – Subscribe unsolicited result codes
<bfr>
0 – MT buffer of unsolicited result codes is cleared when <mode> 1 is entered.
The following command example lists supported modes and buffering settings:
AT+CGEREP=?
+CGEREP: (0,1),(0)
OK
+CGEV: NW DETACH
ME detach:
+CGEV: ME DETACH
+CGEV: ME OVERHEATED
<cid>
Integer, 0–10.
<reason>
0 – Only IPv4 allowed
1 – Only IPv6 allowed
2 – Only single access bearers allowed
3 – Only single access bearers allowed and context activation for a second address
type bearer was not successful.
<change_reason>
Integer. A bitmap that indicates what kind of change has occurred. The
<change_reason> value is determined by summing all the applicable bits.
Bit 1 – TFT changed
Bit 2 – Quality of Service (QoS) changed
Bit 3 – WLAN offload changed
<cid_other>
Integer, 0–10. Indicates the context identifier allocated for an MT-initiated context
of a second address type. This parameter is included only if the <reason> parameter
indicates that only single address bearers are allowed.
<p_cid>
Integer, 0–10. Context identifier for an associated default context.
<event_type>
0 – Informational event
1 – Information request. Acknowledgement is required, and it can be either accept
or reject.
<cause>
Restriction cause
1 – Radio Policy Manager (RPM). Procedure restricted by RPM.
2 – Throttling. Procedure restricted by 3GPP or operator-specific throttling.
3 – Invalid configuration. Procedure restricted by invalid context configuration.
<validity>
Validity of restriction
1 – Permanent restriction. Enabling requires, for example, a power-off, UICC
change, or a configuration change.
2 – Temporary restriction. Enabling requires, for example, back-off timer expiry.
<number_of_packets> v1.3.x≥1
0–16 777 215 – Number of data packets that the UE is allowed to send during the
time period indicated in <time_window>.
Values 0,0 of <number_of_packets>,<time_window> indicate that APN rate control
is not configured.
<time_window> v1.3.x≥1
<status> v1.3.x≥1
<remaining_time> v1.3.x≥1
0–604 800 – Remaining uplink data blocking time in seconds when status is 1.
Might be 0 if less than a full second remains.
The following notification example shows that an initial Packet Data Network (PDN) connection is
activated:
The following notification example shows that the device is detached from network:
+CGEV: ME DETACH
The following notification example shows a restriction caused by throttling with temporary validity.
First, the Packet Data Protocol (PDP) Context needs to be defined with the +CGDCONT command.
Syntax:
+CGACT=<state>,<cid>
The set command parameters and their defined values are the following:
<state>
0 – Deactivate
1 – Activate
<cid>
Integer, 0–10.
The following command example activates a bearer configured with CID 1:
AT+CGACT=1,1
OK
+CGACT: <cid>,<state>
The read command parameters and their defined values are the following:
<state>
0 – Deactivate
1 – Activate
<cid>
Integer, 0–10.
The following command example returns a list of connections with states:
AT+CGACT?
+CGACT: 0,1
+CGACT: 1,1
OK
The test command parameter and its defined values are the following:
<state>
0 – Deactivate
1 – Activate
The following command example returns a list of supported states:
AT+CGACT=?
+CGACT: (0,1)
OK
%XNEWCID: <cid>
The read command parameter and its defined value are the following:
<cid>
Integer, 0–10.
The following command example requests the allocation of a new context identifier:
AT%XNEWCID?
%XNEWCID: 2
OK
%XGETPDNID=<cid>
Response syntax:
%XGETPDNID: <pdn_id>
The set command parameters and their defined values are the following:
<cid>
Integer, 0–10.
<pdn_id>
Integer, 0–10.
The following command example maps the context identifier to PDN ID 0:
AT%XGETPDNID=0
%XGETPDNID: 1
OK
+CGEQOSRDP[=<cid>]
Response syntax:
[+CGEQOSRDP: <cid>,<QCI>,[<DL_GBR>,<UL_GBR>],[<DL_MBR>,<UL_MBR>][,<DL_AMBR>,<UL_AMBR>]]
The set command parameters and their defined values are the following:
<cid>
Integer, 0–10. If the parameter <cid> is omitted, the QoS parameters for all active
Packet Data Protocol (PDP) Contexts are returned.
<QCI>
Integer. Specifies a class of EPS QoS (see 3GPP TS 23.203 and 3GPP TS 24.301).
<DL_AMBR>
Integer. Specifies downlink APN aggregate maximum bitrate. Value range 0–
65280000 kbps.
<UL_AMBR>
Integer. Specifies uplink APN aggregate maximum bitrate. Value range 0–65280000
kbps.
The following command example returns a list of contexts with QoS parameters:
AT+CGEQOSRDP
+CGEQOSRDP: 0,0,,
+CGEQOSRDP: 1,2,,
+CGEQOSRDP: 2,4,,,1,65280000
OK
+CGPADDR[=<cid>]
[+CGPADDR: <cid>[,<PDP_addr_1>[,<PDP_addr_2>]]]
The set command parameters and their defined values are the following:
<cid>
Integer, 0–10.
<PDP_addr_1>
String. For IPv4 given as a dot-separated numeric (0–255) parameter. For IPv6 given
as a colon-separated hexadecimal (0x0000–0xFFFF) parameter.
<PDP_addr_2>
String. Given as a colon-separated hexadecimal (0x0000–0xFFFF) parameter.
Included when both IPv4 and IPv6 addresses are assigned.
The following command example returns the IP address for context 1:
AT+CGPADDR=1
+CGPADDR: 1,"10.0.0.130","1050:0000:0000:0000:0005:0600:300c:326b"
OK
The test command parameter and its defined value are the following:
<cid>
Integer, 0–10.
The following command example returns a list of defined <cid> values:
AT+CGPADDR=?
+CGPADDR: (0,1)
OK
+CGCONTRDP=<cid>
Response syntax:
+CGCONTRDP: <cid>,<bearer_id>,<apn>[,<local_addr_and_subnet_mask>[,<gw_addr>[,
<DNS_prim_addr>[,<DNS_sec_addr>[,,,,,<IPv4_MTU]]]]]
The set command parameters and their defined values are the following:
<cid>
Integer, 0–10 (mandatory).
<bearer_id>
Integer. Not supported.
<apn>
String. A logical name for the network.
<local_addr_and_subnet_mask>
String. Not supported.
<gw_addr>
String. Not supported.
<DNS_prim_addr>, <DNS_sec_addr>
String. DNS server IP address.
IPv4_MTU
IPv4 Maximum Transmission Unit (MTU) size.
Note: If the PDN connection has dual stack capabilities, at least one pair of lines with information
is returned per <cid>: First one line with the IPv4 parameters followed by one line with the IPv6
parameters.
The following command example reads dynamic parameters for an initial PDN connection:
AT+CGCONTRDP=0
+CGCONTRDP: 0,,"internet","","","10.0.0.1","10.0.0.2",,,,,1028
OK
Note: The UE performs an attach automatically when activated. In normal operation there is no
need to issue the +CGATT command.
Syntax:
+CGATT=<state>
The set command parameter and its defined values are the following:
<state>
0 – Detached
1 – Attached
The following command example performs an EPS attach:
AT+CGATT=1
OK
+CGATT: <state>
The response parameters and their defined values are the following:
<state>
0 – Detached
1 – Attached
The following command example reads the state in EPS attach state:
AT+CGATT?
+CGATT: 1
OK
The test command parameter and its defined values are the following:
<state>
0 – Detached
1 – Attached
AT+CGATT=?
+CGATT: (0,1)
OK
+CEPPI=<power_preference>
The set command parameter and its defined values are the following:
<power_preference>
0 – Normal
1 – Low power consumption
The following command example selects the power saving preference:
AT+CEPPI=1
OK
The test command parameter and its defined values are the following:
<power_preference>
0 – Normal
1 – Low power consumption
The following command example lists the supported power saving preferences:
AT+CEPPI=?
+CEPPI: (0,1)
%XPCO=<n>
Notification syntax:
%XPCO: <id>,<container_data>
The set command parameter and its defined values are the following:
<n>
0 – Unsubscribe PCO notifications
1 – Subscribe PCO notifications
The notification parameters and their defined values are the following:
<id>
PCO identifier in decimal format
<container_data>
String in hexadecimal IRA format. An empty container data string indicates that PCO
container has not been received.
The following command example subscribes E-UTRA signal quality notifications:
AT%XPCO=1
OK
%XPCO: 65280,"A1B1C1D1"
Syntax:
%XEPCO=<epco>
The set command parameter and its defined values are the following:
<epco>
0 – Use PCO
1 – Use ePCO
The following command example disables ePCO and selects PCO:
AT%XEPCO=0
OK
Response syntax:
%XEPCO=<epco>
AT%XEPCO?
%XEPCO: 1
OK
Syntax:
%XAPNCLASS=<oper>,<class>[,<apn>]
%XAPNCLASS: <class>,<apn>,<addr_type>
The set command and response parameters and their defined values are the following:
<oper>
0 – Read
<class>
APN class
<apn>
APN name string
<addr_type>
String
IP – Internet Protocol
IPV6 – Internet Protocol version 6
IPV4V6 – Virtual type of dual IP stack
The following command example reads APN class 3:
AT%XAPNCLASS=0,3
%XAPNCLASS: 3,"VZWAPN","IPV4V6"
OK
%XIPV6FAIL=<cid>,<failure_type>
The set command parameters and their defined values are the following:
<cid>
Integer, 0-10.
<failure_type>
0 – IPv6 address refresh failure
1 – IPv6 address resolution failure
The following command example indicates the modem an IPv6 address resolution failure in the default
context identifier 0:
AT%XIPV6FAIL=0,1
OK
+CGAUTH=<cid>[,<auth_prot>[,<userid>[,<password>]]]
The set command parameters and their defined values are the following:
<cid>
Integer, 0–10.
<auth_prot>
0 – None. Username and password are removed if they have been specified.
1 – PAP
2 – CHAP
<userid>
String
<password>
String
The following command example sets authentication parameters for CID=1 context:
AT+CGAUTH=1,1,"username","password"
OK
+CSCON=[<n>]
The set command parameter and its defined values are the following:
<n>
0 – Unsubscribe unsolicited indications
1 – Subscribe <mode>
2 – Subscribe <mode>[,<state>]
3 – Subscribe <mode>[,<state>[,<access>]]
Notification syntax:
+CSCON: <mode>[,<state>[,<access]]
The response parameters and their defined values are the following:
<mode>
0 – Idle
1 – Connected
<state>
7 – E-UTRAN connected
<access>
4 – Radio access of type E-UTRAN FDD
AT+CSCON=3
OK
+CSCON: 1,7,4
+CSCON: <n>,<mode>[,<state>[,<access]]
The read command parameters and their defined values are the following:
<n>
0 – Unsubscribe unsolicited indications
1 – Subscribe <mode>
2 – Subscribe <mode>[,<state>]
3 – Subscribe <mode>[,<state>[,<access>]]
<mode>
0 – Idle
1 – Connected
<state>
7 – E-UTRAN connected
<access>
4 – Radio access of type E-UTRAN FDD
When reading the current signaling connection status, the following response indicates that unsolicited
indications are disabled, and the modem is an idle state:
AT+CSCON?
+CSCON: 0,0
OK
The following response indicates that unsolicited indications are enabled, the modem mode is 1, E-UTRAN
is connected and the radio access type is E-UTRAN FDD:
AT+CSCON?
+CSCON: 3,1,7,4
OK
Response syntax:
The test command parameter and its defined values are the following:
<n>
0 – Unsubscribe unsolicited indications
1 – Subscribe <mode>
2 – Subscribe <mode>[,<state>]
3 – Subscribe <mode>[,<state>[,<access>]]
The following command example returns the supported values:
AT+CSCON=?
+CSCON: (0,1,2,3)
OK
Syntax:
%XAPNSTATUS=<status>,<APN>
The set command parameters and their defined values are the following:
<status>
0 – Disable APN
1 – Enable APN
<APN>
String. APN.
The following command example disables the use of an Internet APN:
AT%XAPNSTATUS=0,"internet"
AT%XAPNSTATUS=1,"internet"
Response syntax:
%XAPNSTATUS: [<apn_1>[,…<apn_n>]]
The read command parameter and its defined value are the following:
<apn_x>
String. APN.
The following command example reads a list of disabled APNs:
AT%XAPNSTATUS?
%XAPNSTATUS: ”APN_1”,”APN_2”
OK
Syntax:
%XPDNCFG=<lifetime>
The set command parameter and its defined values are the following:
<lifetime>
0 – Default PDN lifetime
1 – Always-on PDN. The initial PDN connection is automatically reactivated.
The following command example sets an always-on PDN for the initial PDN connection:
AT%XPDNCFG=1
OK
The following command example removes the setting of the always-on PDN of the initial PDN connection:
AT%XPDNCFG=0
OK
%XPDNCFG?
The following command example reads the initial PDN configuration when an always-on PDN has been
configured:
AT%XPDNCFG?
%XPDNCFG: 1
OK
%APNRATECTRL=<mode>[,<cid>]
%APNRATECTRL: <mode>,<cid>,<status>[,<remaining_time>]
%APNRATECTRL: <mode>,<cid>,<number_of_packets>,<time_window>
The set command parameters and their defined values are the following:
<mode>
0 – Request APN rate control status for a CID.
1 – Request APN rate control configurations.
<cid>
Integer, 0 – 10.
Mandatory in mode 0. Not used in mode 1.
<status>
0 – OFF. APN rate control is configured and currently not blocking uplink data.
1 – ON. APN rate control is configured and currently blocking uplink data.
2 – APN rate control is not configured for this CID.
<remaining_time>
0–604 800 – Remaining uplink data blocking time in seconds when status is 1.
Might be 0 if less than a full second remains, but blocking is still ON.
<number_of_packets>
0–16 777 215 – Number of data packets that the UE is allowed to send during the
time period indicated in <time_window>.
Values 0,0 of <number_of_packets>,<time_window> indicate that APN rate control
is not configured.
<time_window>
60–604 800 – Time window in seconds (1 minute to 1 week).
The following command example requests the status of CID 1. APN rate control is ON with one minute
remaining:
AT%APNRATECTRL=0,1
%APNRATECTRL: 0,1,1,60
OK
The following command example requests the status of CID 2. APN rate control is OFF:
AT%APNRATECTRL=0,2
%APNRATECTRL: 0,2,0
OK
The following command example requests APN rate control configurations. APN rate control is configured
for CID 1 and 2:
AT%APNRATECTRL=1
%APNRATECTRL: 1,1,10,180
%APNRATECTRL: 1,2,100,60
OK
The following command example requests APN rate control configurations. Only CID 0 is active. APN rate
control is not configured:
AT%APNRATECTRL=1
%APNRATECTRL: 1,0,0
OK
Syntax:
+COPS=[<mode>[,<format>[,<oper>]]]
The set command parameters and their defined values are the following:
<mode>
0 – Automatic network selection
1 – Manual network selection
3 – Set <format> of +COPS read command response
<format>
0 – Long alphanumeric <oper> format. Only for <mode> 3.
1 – Short alphanumeric <oper> format. Only for <mode> 3.
2 – Numeric <oper> format
<oper>
String of digits. MCC and MNC values.
For manual selection, only the numeric string format is supported and <oper> is mandatory.
The following command example selects the automatic network selection:
AT+COPS=0
OK
AT+COPS=1,2,"24407"
OK
+COPS: <mode>[,<format>,<oper>,[AcT>]]
The read command parameters and their defined values are the following:
<mode>
0 – Automatic network selection
1 – Manual network selection
2 – Deregistered. Only for the read command.
<format>
0 – Long alphanumeric <oper> format
1 – Short alphanumeric <oper> format
2 – Numeric <oper> format
<oper>
String in double quotes. Operator name or MCC and MNC values.
<AcT>
7 – E-UTRAN
9 – E-UTRAN (NB-S1 mode)
The following command example reads the current selection mode and network:
AT+COPS?
+COPS: 0,2,"26201",7
OK
The following command example reads the current selection mode and network with the operator name
in alphanumeric format:
AT+COPS?
+COPS: 0,0,"RADIOLINJA",7
OK
<oper>
String of digits. MCC and MNC values.
<stat>
0 – Unknown
1 – Available
2 – Current
3 – Forbidden
<AcT>
7 – E-UTRAN
9 – E-UTRAN (NB-S1 mode)
Note:
• The command fails if the device has an active radio connection. It returns ERROR or +CME
ERROR: 516.
• The time needed to perform a network search depends on device configuration and network
conditions.
AT+COPS=?
+COPS: (2,"","","26201",7),(1,"","","26202",7)
OK
The test command parameters and their defined values are the following:
<oper>
String of digits. MCC and MNC values.
<stat>
0 – Unknown
1 – Available
2 – Current
3 – Forbidden
<AcT>
7 – E-UTRAN
9 – E-UTRAN (NB-S1 mode)
The following command example is used for a manual network search:
AT%COPS=?
%COPS: (2,"","","26201",7),(1,"","","26202",7)
OK
Syntax:
+CPSMS=[<mode>[,<Requested_Periodic-RAU>,<Requested_GPRS-READY-timer>
,<Requested_Periodic-TAU>[,<Requested_Active-Time>]]]
The command can be given as +CPSMS= (with all parameters omitted). In this form, the parameter
<mode> is set to 0, the use of PSM is disabled, and data for all parameters is set to the manufacturer-
specific default values.
The set command parameters and their defined values are the following:
<mode>
0 – Disable power saving mode
1 – Enable power saving mode
<Requested_Periodic-RAU>
Ignored
<Requested_GPRS-READY-timer>
Ignored
<Requested_Periodic-TAU>
String. 1 byte in 8-bit format.
Optional. Timer value updated if present. If not present, the value of the requested
Periodic-TAU is set to the manufacturer-specific default. For the coding and value
range, see the GPRS Timer 3 IE in 3GPP TS 24.008 Table 10.5.163a/3GPP TS 24.008.
Bits 5 to 1 represent the binary coded timer value.
Bits 8 to 6 define the timer value unit for the General Packet Radio Services (GPRS)
timer as follows:
Bits
876
0 0 0 – Value is incremented in multiples of 10 minutes
0 0 1 – Value is incremented in multiples of 1 hour
0 1 0 – Value is incremented in multiples of 10 hours
0 1 1 – Value is incremented in multiples of 2 seconds
1 0 0 – Value is incremented in multiples of 30 seconds
1 0 1 – Value is incremented in multiples of 1 minute
1 1 0 – Value is incremented in multiples of 320 hours
Note: If the USIM profile in use is a Verizon one, the minimum value for
<Requested_Periodic-TAU> is 190 minutes.
<Requested_Active-Time>
String. 1 byte in 8-bit format.
Optional. Timer value updated if present. If not present, the value of the requested
Active-Time is set to the manufacturer-specific default. For the coding and value
range, see the GPRS Timer 2 IE in 3GPP TS 24.008 Table 10.5.163/3GPP TS 24.008.
Bits 5 to 1 represent the binary coded timer value.
Bits 8 to 6 define the timer value unit for the GPRS timer as follows:
Bits
876
0 0 0 – Value is incremented in multiples of 2 seconds
0 0 1 – Value is incremented in multiples of 1 minute
0 1 0 – Value is incremented in multiples of 6 minutes
1 1 1 – Value indicates that the timer is deactivated
The following command example enables power saving mode and set timer values. Set Periodic-TAU timer
to 10 minutes and Active-Time to 1 minute:
AT+CPSMS=1,"","","10101010","00100001"
OK
AT+CPSMS=0
OK
The following command example disables power saving mode and sets timer to default values:
AT+CPSMS=
OK
+CPSMS: <mode>,[<Requested_Periodic-RAU>],[<Requested_GPRS-READY-timer>],
[<Requested_Periodic-TAU>],[<Requested_Active-Time>]
The read command parameters and their defined values are the following:
<mode>
0 – Disable power saving mode
1 – Enable power saving mode
<Requested_Periodic-RAU>
Ignored
<Requested_GPRS-READY-timer>
Ignored
<Requested_Periodic-TAU>
String. 1 byte in 8-bit format.
Optional. Timer value updated if present. If not present, the value of the requested
Periodic-TAU is set to the manufacturer-specific default. For the coding and value
range, see the GPRS Timer 3 IE in 3GPP TS 24.008 Table 10.5.163a/3GPP TS 24.008.
Bits 5 to 1 represent the binary coded timer value.
Bits 8 to 6 define the timer value unit for the GPRS timer as follows:
Bits
876
0 0 0 – Value is incremented in multiples of 10 minutes
0 0 1 – Value is incremented in multiples of 1 hour
0 1 0 – Value is incremented in multiples of 10 hours
0 1 1 – Value is incremented in multiples of 2 seconds
1 0 0 – Value is incremented in multiples of 30 seconds
1 0 1 – Value is incremented in multiples of 1 minute
1 1 0 – Value is incremented in multiples of 320 hours
Note: If the USIM profile in use is a Verizon one, the minimum value for
<Requested_Periodic-TAU> is 190 minutes.
<Requested_Active-Time>
String. 1 byte in 8-bit format.
Optional. Timer value updated if present. If not present, the value of the requested
Active-Time is set to the manufacturer-specific default. For the coding and value
range, see the GPRS Timer 2 IE in 3GPP TS 24.008 Table 10.5.163/3GPP TS 24.008.
Bits 5 to 1 represent the binary coded timer value.
Bits 8 to 6 define the timer value unit for the GPRS timer as follows:
Bits
876
0 0 0 – Value is incremented in multiples of 2 seconds
0 0 1 – Value is incremented in multiples of 1 minute
0 1 0 – Value is incremented in multiples of 6 minutes
1 1 1 – Value indicates that the timer is deactivated
The following command example reads the current power saving mode settings:
AT+CPSMS?
+CPSMS: 1,,,"10101111","01101100"
OK
When an eDRX parameter is changed, the default Paging Time Window (PTW) is set. If other than the
default PTW has to be used, the %XPTW command shall be sent after the +CEDRXS command.
Syntax:
+CEDRXS=[<mode>,[,<AcT-type>[,<Requested_eDRX_value>]]]
+CEDRXP: <AcT-type>[,<Requested_eDRX_value>[,<NW-provided_eDRX_value>
[,<Paging_time_window>]]]
The set command parameters and their defined values are the following:
<mode>
0 − Disable the use of eDRX
1 − Enable the use of eDRX
2 − Enable the use of eDRX and enable the unsolicited result code
3 − Disable the use of eDRX and discard all parameters for eDRX or, if available,
reset to the manufacturer-specific default values
<ActT-type>
4 − E-UTRAN (WB-S1 mode)
5 − E-UTRAN (NB-S1 mode)
2
The value is applicable only in WB-S1 mode. If received in NB-S1 mode it is interpreted as if the
Extended DRX parameters IE were not included in the message by this version of the protocol.
3
The value is applicable only in WB-S1 mode. If received in NB-S1 mode it is interpreted as 0010 by
this version of the protocol.
4
The value is applicable only in NB-S1 mode. If received in WB-S1 mode it is interpreted as 1101 by
this version of the protocol.
<Requested_eDRX_value>
String. Half a byte in 4-bit format. The eDRX value refers to bit 4 to 1 of octet 3 of
the Extended DRX parameters information element (see 3GPP TS 24.008, subclause
10.5.5.32). Optional. If not present, the value of the requested eDRX period is set to
the manufacturer-specific default.
Bit
4 3 2 1 – E-UTRAN eDRX cycle length duration
0 0 0 0 – 5.12 seconds2
0 0 0 1 – 10.24 seconds2
0 0 1 0 – 20.48 seconds
0 0 1 1 – 40.96 seconds
0 1 0 0 – 61.44 seconds3
0 1 0 1 – 81.92 seconds
0 1 1 0 – 102.4 seconds3
0 1 1 1 – 122.88 seconds3
1 0 0 0 – 143.36 seconds3
1 0 0 1 – 163.84 seconds
1 0 1 0 – 327.68 seconds
1 0 1 1 – 655,36 seconds
1 1 0 0 – 1310.72 seconds
1 1 0 1 – 2621.44 seconds
1 1 1 0 – 5242.88 seconds4
1 1 1 1 – 10485.76 seconds4
<NW-Provided_eDRX_value>
String. Half a byte in 4-bit format. The eDRX value refers to bit 4 to 1 of octet 3 of
the Extended DRX parameters information element (see 3GPP TS 24.008, subclause
10.5.5.32).
Bit
4 3 2 1 – E-UTRAN eDRX cycle length duration
0 0 0 0 – 5.12 seconds2
0 0 0 1 – 10.24 seconds2
0 0 1 0 – 20.48 seconds
0 0 1 1 – 40.96 seconds
0 1 0 0 – 61.44 seconds3
0 1 0 1 – 81.92 seconds
0 1 1 0 – 102.4 seconds3
0 1 1 1 – 122.88 seconds3
1 0 0 0 – 143.36 seconds3
1 0 0 1 – 163.84 seconds
1 0 1 0 – 327.68 seconds
1 0 1 1 – 655,36 seconds
1 1 0 0 – 1310.72 seconds
1 1 0 1 – 2621.44 seconds
1 1 1 0 – 5242.88 seconds4
1 1 1 1 – 10485.76 seconds4
<Paging_time_window>
String. Half a byte in 4-bit format. The paging time window refers to bit 8 to 5 of
octet 3 of the Extended DRX parameters information element (see 3GPP TS 24.008,
subclause 10.5.5.32).
LTE-M mode
Bit
4 3 2 1 – PTW length
0 0 0 0 – 1.28 seconds
0 0 0 1 – 2.56 seconds
0 0 1 0 – 3.84 seconds
0 0 1 1 – 5.12 seconds
0 1 0 0 – 6.4 seconds
0 1 0 1 – 7.68 seconds
0 1 1 0 – 8.96 seconds
0 1 1 1 – 10.24 seconds
1 0 0 0 – 11.52 seconds
1 0 0 1 – 12.8 seconds
1 0 1 0 – 14.08 seconds
1 0 1 1 – 15.36 seconds
1 1 0 0 – 16.64 seconds
1 1 0 1 – 17.92 seconds
1 1 1 0 – 19.20 seconds
1 1 1 1 – 20.48 seconds
NB-IoT mode
Bit
4 3 2 1 – PTW length
0 0 0 0 – 2.56 seconds
0 0 0 1 – 5.12 seconds
0 0 1 0 – 7.68 seconds
0 0 1 1 – 10.24 seconds
0 1 0 0 – 12.8 seconds
0 1 0 1 – 15.36 seconds
0 1 1 0 – 17.92 seconds
0 1 1 1 – 20.48 seconds
1 0 0 0 – 23.04 seconds
1 0 0 1 – 25.6 seconds
1 0 1 0 – 28.16 seconds
1 0 1 1 – 30.72 seconds
1 1 0 0 – 33.28 seconds
1 1 0 1 – 35.84 seconds
1 1 1 0 – 38.4 seconds
1 1 1 1 – 40.96 seconds
The following command example enables eDRX and sets the requested eDRX value:
AT+CEDRXS=1,4,"1000"
OK
+CEDRXP: 4,"1000","0101","1011"
OK
+CEDRXS: <AcT-type>,<Requested_eDRX_value>
The read command parameters and their defined values are the following:
<ActT-type>
4 − E-UTRAN (WB-S1 mode)
5 − E-UTRAN (NB-S1 mode)
<Requestd_eDRX_value>
String. Half a byte in 4-bit format. The eDRX value refers to bit 4 to 1 of octet 3 of
the Extended DRX parameters information element (see 3GPP TS 24.008, subclause
10.5.5.32).
The following command example reads the requested eDRX value:
AT+CEDRXS?
+CEDRXS: 4,"0001"
OK
The test command parameters and their defined values are the following:
<mode>
0 − Disable the use of eDRX
1 − Enable the use of eDRX
2 − Enable the use of eDRX and enable the unsolicited result code
3 − Disable the use of eDRX and discard all parameters for eDRX or, if available,
reset to the manufacturer-specific default values
<ActT-type>
4 − E-UTRAN (WB-S1 mode)
5 − E-UTRAN (NB-S1 mode)
<Requestd_eDRX_value>
String. Half a byte in 4-bit format. The eDRX value refers to bit 4 to 1 of octet 3 of
the Extended DRX parameters information element (see 3GPP TS 24.008, subclause
10.5.5.32).
The following command example reads the supported parameter values:
AT+CEDRXS=?
+CEDRXS: (0-3),(4-5),("0000"-"1111")
OK
+CEDRXRDP
Response syntax:
+CEDRXRDP: <AcT-type>[,<Requested_eDRX_value>[,<NW-
provided_eDRX_value>[,<Paging_time_window>]]]
The set command parameters and their defined values are the following:
5
The value is applicable only in WB-S1 mode. If received in NB-S1 mode, it is interpreted as if the
Extended DRX parameters IE were not included in the message by this version of the protocol.
6
The value is applicable only in WB-S1 mode. If received in NB-S1 mode, it is interpreted as 0010 by
this version of the protocol.
7
The value is applicable only in NB-S1 mode. If received in WB-S1 mode, it is interpreted as 1101 by
this version of the protocol.
<ActT-type>
0 – Current cell not using eDRX
4 – E-UTRAN (WB-S1 mode)
5 – E-UTRAN (NB-S1 mode)
<Requestd_eDRX_value>
String. Half a byte in 4-bit format. The eDRX value refers to bit 4 to 1 of octet 3 of
the Extended DRX parameters information element (see 3GPP TS 24.008, subclause
10.5.5.32).
<NW-Provided_eDRX_value>
String. Half a byte in 4-bit format. The eDRX value refers to bit 4 to 1 of octet 3 of
the Extended DRX parameters information element (see 3GPP TS 24.008, subclause
10.5.5.32).
Bit
4 3 2 1 – E-UTRAN eDRX cycle length duration
0 0 0 0 – 5.12 seconds5
0 0 0 1 – 10.24 seconds5
0 0 1 0 – 20.48 seconds
0 0 1 1 – 40.96 seconds
0 1 0 0 – 61.44 seconds6
0 1 0 1 – 81.92 seconds
0 1 1 0 – 102.4 seconds6
0 1 1 1 – 122.88 seconds6
1 0 0 0 – 143.36 seconds6
1 0 0 1 – 163.84 seconds
1 0 1 0 – 327.68 seconds
1 0 1 1 – 655,36 seconds
1 1 0 0 – 1310.72 seconds
1 1 0 1 – 2621.44 seconds
1 1 1 0 – 5242.88 seconds7
1 1 1 1 – 10485.76 seconds7
<Paging_time_window>
String. Half a byte in 4-bit format. The paging time window refers to bit 8 to 5 of
octet 3 of the Extended DRX parameters information element (see 3GPP TS 24.008,
subclause 10.5.5.32).
LTE-M mode
Bit
4 3 2 1 – PTW length
0 0 0 0 – 1.28 seconds
0 0 0 1 – 2.56 seconds
0 0 1 0 – 3.84 seconds
0 0 1 1 – 5.12 seconds
0 1 0 0 – 6.4 seconds
0 1 0 1 – 7.68 seconds
0 1 1 0 – 8.96 seconds
0 1 1 1 – 10.24 seconds
1 0 0 0 – 11.52 seconds
1 0 0 1 – 12.8 seconds
1 0 1 0 – 14.08 seconds
1 0 1 1 – 15.36 seconds
1 1 0 0 – 16.64 seconds
1 1 0 1 – 17.92 seconds
1 1 1 0 – 19.20 seconds
1 1 1 1 – 20.48 seconds
NB-IoT mode
Bit
4 3 2 1 – PTW length
0 0 0 0 – 2.56 seconds
0 0 0 1 – 5.12 seconds
0 0 1 0 – 7.68 seconds
0 0 1 1 – 10.24 seconds
0 1 0 0 – 12.8 seconds
0 1 0 1 – 15.36 seconds
0 1 1 0 – 17.92 seconds
0 1 1 1 – 20.48 seconds
1 0 0 0 – 23.04 seconds
1 0 0 1 – 25.6 seconds
1 0 1 0 – 28.16 seconds
1 0 1 1 – 30.72 seconds
1 1 0 0 – 33.28 seconds
1 1 0 1 – 35.84 seconds
1 1 1 0 – 38.4 seconds
1 1 1 1 – 40.96 seconds
The following command example reads eDRX parameters:
AT+CEDRXRDP
+CEDRXRDP: 4,"0011","0010","1001"
OK
+COPN
Note: The device does not have operator names stored in it.
AT+COPN
OK
+CEREG=<n>
The set command parameter and its defined values are the following:
<n>
0 – Unsubscribe unsolicited result codes
1 – Subscribe unsolicited result codes +CEREG:<stat>
2 – Subscribe unsolicited result codes
+CEREG:<stat>[,<tac>,<ci>,<AcT>]
3 – Subscribe unsolicited result codes
+CEREG:<stat>[,<tac>,<ci>,<AcT>[,<cause_type>,<reject_cause>]]
4 – Subscribe unsolicited result codes +CEREG: <stat>[,[<tac>],[<ci>],
[<AcT>][,,[,[<Active-Time>],[<Periodic-TAU>]]]]
5 – Subscribe unsolicited result codes +CEREG: <stat>[,[<tac>],[<ci>],
[<AcT>][,[<cause_type>],[<reject_cause>][,[<Active-
Time>],[<Periodic-TAU>]]]]
For the notification syntax parameters, see Read command on page 143.
The following command example subscribes notifications with level 2:
AT+CEREG=2
OK
+CEREG: 2
+CEREG: 1,"002F","0012BEEF",7
+CEREG: <n>,<stat>[,[<tac>],[<ci>],[<AcT>][,<cause_type>],[<reject_cause>][,[<Active-
Time>],[<Periodic-TAU>]]]]
The read command parameters and their defined values are the following:
<n>
0 – Unsubscribe unsolicited result codes
1 – Subscribe unsolicited result codes +CEREG:<stat>
2 – Subscribe unsolicited result codes
+CEREG:<stat>[,<tac>,<ci>,<AcT>]
3 – Subscribe unsolicited result codes
+CEREG:<stat>[,<tac>,<ci>,<AcT>[,<cause_type>,<reject_cause>]]
4 – Subscribe unsolicited result codes +CEREG: <stat>[,[<tac>],[<ci>],
[<AcT>][,,[,[<Active-Time>],[<Periodic-TAU>]]]]
5 – Subscribe unsolicited result codes +CEREG: <stat>[,[<tac>],[<ci>],
[<AcT>][,[<cause_type>],[<reject_cause>][,[<Active-
Time>],[<Periodic-TAU>]]]]
<stat>
0 – Not registered. UE is not currently searching for an operator to register to.
1 – Registered, home network
2 – Not registered, but UE is currently trying to attach or searching an operator to
register to
3 – Registration denied
4 – Unknown (for example, out of E-UTRAN coverage)
5 – Registered, roaming
90 – Not registered due to UICC failure
<tac>
String in hexadecimal format. 2-byte Tracking Area Code (TAC).
<ci>
String in hexadecimal format. 4-byte E-UTRAN cell ID.
<AcT>
7 – E-UTRAN
9 – E-UTRAN NB-S1
<cause_type>
0 – <reject_cause> contains an EPS Mobility Management (EMM) cause value. See
3GPP TS 24.301 Annex A.
<reject_cause>
EMM cause value. See 3GPP TS 24.301 Annex A
<Active-Time>
String. 1 byte in 8-bit format.
Indicates the Active Time value (T3324) allocated to the device in E-UTRAN. For
the coding and value range, see the GPRS Timer 2 IE in 3GPP TS 24.008 Table
10.5.163/3GPP TS 24.008.
The device can enter PSM state in LTE idle mode when the <Active-Time>
parameter has a valid value where at least one of bits 6–8 is set to 0. The length of
PSM sleep is the value that remains from the value configured for periodic TAU after
active time has elapsed, which is T3324 subtracted from T3412.
<Periodic-TAU>
String. 1 byte in 8-bit format.
Indicates the extended periodic TAU value (T3412) allocated to the device in E-
UTRAN. For the coding and value range, see the GPRS Timer 3 IE in 3GPP TS 24.008
Table 10.5.163a/3GPP TS 24.008.
A deactivated value where bits 6–8 are set to 1 after a successful LTE Attach or TAU
means that the network configures the periodic TAU or PSM cycle length using a
non-extended format with GPRS timer instead of GPRS timer 3. The configured
value of T3412 can be read with the %XMONITOR command. The response includes
the value in a format selected by the network.
The following command example reads the current registration status:
AT+CEREG?
+CEREG: 2,1,"002F","0012BEEF",7
OK
The test command parameter and its defined values are the following:
<n>
0 – Unsubscribe unsolicited result codes
1 – Subscribe unsolicited result codes +CEREG:<stat>
2 – Subscribe unsolicited result codes
+CEREG:<stat>[,<tac>,<ci>,<AcT>]
3 – Subscribe unsolicited result codes
+CEREG:<stat>[,<tac>,<ci>,<AcT>[,<cause_type>,<reject_cause>]]
4 – Subscribe unsolicited result codes +CEREG: <stat>[,[<tac>],[<ci>],
[<AcT>][,,[,[<Active-Time>],[<Periodic-TAU>]]]]
5 – Subscribe unsolicited result codes +CEREG: <stat>[,[<tac>],[<ci>],
[<AcT>][,[<cause_type>],[<reject_cause>][,[<Active-
Time>],[<Periodic-TAU>]]]]
AT+CEREG=?
+CEREG: (0-5)
OK
%XOPNAME=<n>
Notification syntax:
%XOPNAME: [<full_name>],[<short_name>],[<oper>]
The set command and notification parameters and their defined values are the following:
<n>
0 – Unsubscribe unsolicited operator names
1 – Subscribe unsolicited operator names
<full_name>
String in hexadecimal format. Optional field for the full operator name as specified
in 3GPP TS 24.008 Ch. 10.5.3.5a Network Name and received from network. The
first octet describes the number of spare bits in the last octet, usage of country
initials, and the coding scheme of the network name. Octets 2−n specify the
network name.
<short_name>
String in hexadecimal format. Optional field for a short operator name as specified
in 3GPP TS 24.008 Ch. 10.5.3.5a Network Name and received from network. The
first octet describes the number of spare bits in the last octet, usage of country
initials, and the coding scheme of the network name. Octets 2−n specify the
network name.
<oper>
String of digits. MCC and MNC values.
The following command example subscribes notifications:
AT%XOPNAME=1
OK
%XOPNAME: "88D6B23CAD7FBB41D7B4BCCC2ECFE7","8B56FD15","556776"
%XOPNAME: ,"8B56FD15","556776"
%XTIME=<n>
Notification syntax:
%XTIME: [<local_time_zone>],[<universal_time>],[<daylight_saving_time>]
The set command and notification parameters and their defined values are the following:
<n>
0 – Unsubscribe unsolicited network time
1 – Subscribe unsolicited network time
<local_time_zone>
String in hexadecimal format. 1-byte optional field for the local time zone as
specified in 3GPP TS 24.008 Ch. 10.5.3.8 Time Zone and received from network.
<universal_time>
String in hexadecimal format. 7-byte optional field for universal time as specified in
3GPP TS 24.008 Ch. 10.5.3.9 Time Zone and Time and received from network.
<daylight_saving_time>
String in hexadecimal format. 1-byte optional field for daylight saving time as
specified in 3GPP TS 24.008 Ch. 10.5.3.12 Daylight Saving Time and received from
network.
AT%XTIME=1
OK
%XTIME: "08","81109251714208","01"
An example of an unsolicited notification for network time without local time zone:
%XTIME: ,"81109251714208","01"
It is designed for cases where an application sends one packet uplink and expects one response back from
the network or server. This can occur also at the end of an application session negotiation, where the
application knows that it is going to send the last packet, for example an ACK to a server.
%XRAI[=<rai>]
The set command parameter and its defined values are the following:
<rai>
RAI sent to the network
0 – Undefined, default
3 – Control plane one response (see 3GPP TS 24.301, subclause 9.9.4.25)
4 – Control plane no response (see 3GPP TS 24.301, subclause 9.9.4.25)
Note:
• RAI is used in control plane data. The current release supports control plane data only in NB-IoT.
• When <rai> is set to 3 or 4, the UE includes RAI to the next control plane uplink data
transmission until a new value is given. The network is not expecting more uplink data and
releases the radio connection. Further uplink data transfer requires additional signaling for
establishing a radio connection.
• This method does not function properly when an application or device sends multiple packets
to uplink without receiving anything in between. The %XRAI setting does not mark a specific
packet as the last one, and the application does not know when a packet has actually been sent.
The command configuration is stored to NVM approximately every 48 hours and when the modem is
powered off with the +CFUN=0 command.
Active %XPOFWARN warning blocks the storing to NVM. v1.3.x≥2
The following command example sets RAI when the application has one packet to be sent and no response
from the network is expected:
AT%XRAI=4
OK
This setting should be disabled only after it is clear that the data has been sent or the final receive has
been done. This indication could be received, for example, from +CSCON when the device enters LTE idle
state.
Response syntax:
%XRAI: <rai>
The response parameters and their defined values are the following:
<rai>
RAI sent to the network
0 – Undefined, default
3 – Control plane one response (see 3GPP TS 24.301, subclause 9.9.4.25)
4 – Control plane no response (see 3GPP TS 24.301, subclause 9.9.4.25)
The following command example reads RAI, the response being "Control plane no response":
AT%XRAI?
%XRAI: 4
OK
%XOPERID
Response syntax:
%XOPERID: <oper_id>
The response parameter and its defined values are the following:
<oper_id>
0 – Operator not identified as any of those listed below
1 – Verizon
2 – AT&T
3 – AT&T FirstNet
4 – AT&T Cricket
5 – AT&T Jasper
6 – China Telecom
7 – Softbank
8 – Telstra v1.2.x
9 – Bell v1.2.x≥1
10 – LG U+ v1.2.x≥1
11 – KDDI v1.2.x≥2
14 – Vodafone v1.3.x
15 – T-Mobile US v1.3.x
17 – Rogers v1.3.x≥2
18 – Orange v1.3.x≥2
AT%XOPERID
%XOPERID: 1
OK
Note: When NB-IoT system mode is used and the device is in RRC connected state, old signal
quality parameter values are reported. The values are recorded and reported from the previous idle
state. v1.0.x v1.1.x v1.2.x≤1 v1.3.x
%XMONITOR
%XMONITOR: <reg_status>,[<full_name>,<short_name>,<plmn>,<tac>,<AcT>,<band>,<cell_id>,
<phys_cell_id>,<EARFCN>,<rsrp>,<snr>,<NW-provided_eDRX_value>,<Active-Time>,<Periodic-TAU>]
%XMONITOR: <reg_status>,[<full_name>,<short_name>,<plmn>,<tac>,<AcT>,<band>,<cell_id>,
<phys_cell_id>,<EARFCN>,<rsrp>,<snr>,<NW-provided_eDRX_value>,<Active-Time>,<Periodic-TAU-
ext>,
<Periodic-TAU>]
The response parameters and their defined values are the following:
8
The value is applicable only in WB-S1 mode. If received in NB-S1 mode it is interpreted as if the
Extended DRX parameters IE were not included in the message by this version of the protocol.
9
The value is applicable only in WB-S1 mode. If received in NB-S1 mode it is interpreted as 0010 by
this version of the protocol.
10
The value is applicable only in NB-S1 mode. If received in WB-S1 mode it is interpreted as 1101 by
this version of the protocol.
<reg_status>
0 – Not registered. UE is not currently searching for an operator to register to.
1 – Registered, home network
2 – Not registered, but UE is currently trying to attach or searching an operator to
register to
3 – Registration denied
4 – Unknown (for example, out of E-UTRAN coverage)
5 – Registered, roaming
90 – Not registered due to UICC failure
Note: The optional part is included in the response only when <reg_status>
is 1 or 5. Some parameters may not be present in specific circumstances.
For example, <phys_cell_id>, <EARFCN>, <rsrp>, and <snr> are not available
when the device is not camped on a cell.
<full_name>
String in alphanumeric format. Operator name.
<short_name>
String in alphanumeric format. Operator name.
<plmn>
String of digits. MCC and MNC values.
<tac>
String in hexadecimal format. 2-byte TAC.
<AcT>
7 – E-UTRAN
9 – E-UTRAN NB-S1
<band>
Integer, 1−68. See 3GPP 36.101. The value is 0 when current band information is not
available.
<cell_id>
String in hexadecimal format. 4-byte E-UTRAN cell ID.
<phys_cell_id>
Integer. Physical cell ID.
<EARFCN>
Integer. EARFCN for a given cell where EARFCN is as defined in 3GPP TS 36.101.
<rsrp>
0 – RSRP < −140 dBm
1 – When −140 dBm ≤ RSRP < −139 dBm
2 – When −139 dBm ≤ RSRP < −138 dBm
...
95 – When −46 dBm ≤ RSRP < −45 dBm
96 – When −45 dBm ≤ RSRP < −44 dBm
97 – When −44 dBm ≤ RSRP
255 – Not known or not detectable
The index value of RSRP can be converted to decibel with the following formula:
Index – 140 = dBm. For example, 95 – 140 = –45 dBm.
<snr>
0 – SNR < −24 dB
1 – When −24 dB ≤ SNR < −23 dB
2 – When −23 dB ≤ SNR < −22 dB
...
47 – When 22 dB ≤ SNR < 23 dB
48 – When 23 dB ≤ SNR < 24 dB
49 – When 24 dB ≤ SNR
127 – Not known or not detectable
The index value of SNR can be converted to decibel with the following formula:
Index – 24 = dB. For example, 1 – 24 = –23 dB and 47 – 24 = 23 dB.
<NW-provided_eDRX_value>
String. Half a byte in 4-bit format. The eDRX value refers to bit 4 to 1 of octet 3 of
the Extended DRX parameters information element (see 3GPP TS 24.008, subclause
10.5.5.32).
Bit
4 3 2 1 – E-UTRAN e-I-DRX cycle length duration
0 0 0 0 – 5.12 seconds8
0 0 0 1 – 10.24 seconds8
0 0 1 0 – 20.48 seconds
0 0 1 1 – 40.96 seconds
0 1 0 0 – 61.44 seconds9
0 1 0 1 – 81.92 seconds
0 1 1 0 – 102.4 seconds9
0 1 1 1 – 122.88 seconds9
1 0 0 0 – 143.36 seconds9
1 0 0 1 – 163.84 seconds
1 0 1 0 – 327.68 seconds
1 0 1 1 – 655,36 seconds
1 1 0 0 – 1310.72 seconds
1 1 0 1 – 2621.44 seconds
1 1 1 0 – 5242.88 seconds10
1 1 1 1 – 10485.76 seconds10
<Active-Time>
String. 1 byte in 8-bit format.
Optional. Timer value updated if present. If not present, the value of the requested
Active-Time is set to the manufacturer-specific default. For the coding and value
range, see the GPRS Timer 2 IE in 3GPP TS 24.008 Table 10.5.163/3GPP TS 24.008.
Bits 5 to 1 represent the binary coded timer value.
Bits 8 to 6 define the timer value unit for the GPRS timer as follows:
Bits
876
0 0 0 – Value is incremented in multiples of 2 seconds
0 0 1 – Value is incremented in multiples of 1 minute
0 1 0 – Value is incremented in multiples of 6 minutes
1 1 1 – Value indicates that the timer is deactivated
AT%XMONITOR
%XMONITOR: 1,"EDAV","EDAV","26295","00B7",7,4,"00011B07",7,2300,63,39,"",
"11100000","11100000"
OK
AT%XMONITOR
%XMONITOR: 1,"EDAV","EDAV","26295","00B7",7,4,"00011B07",7,2300,63,39,"",
"11100000","11100000","00000000"
OK
The network time may be received in NITZ IE as a part of EMM information message or from SIB16. If both
are available, the SIB16 time is prioritized due to higher accuracy. SIB16 reception has its own control
options in addition to the network time support. If optional parameter for SIB16 support is not set, the
functionality is as specified in parameter value 2.
Syntax:
%XNETTIME=<network_time_support>[,<sib16_support>]
The set command parameter and its defined values are the following:
<network_time_support>
0 – Disable network time support.
1 – Enable network time support.
<sib16_support> v1.3.x≥1
Note:
• Setting <sib16_support> to 1 might cause a delay in establishing a connection after modem
activation. The delay can be up to 40 seconds in LTE-M and up to 5 minutes 30 seconds in NB-
IoT in every cell where connection is attempted until time information from SIB16 is received.
• Setting <sib16_support> to 1 or 2 does not stop the modem from selecting a cell if SIB16
reception fails, for example, due to poor radio conditions. The modem makes more attempts
later to receive time information from SIB16 during normal idle mode operation before
establishing a connection.
AT%XNETTIME=0
OK
%XNETTIME: <network_time_support>[,<sib16_support>]
The response parameter and its defined values are the following:
<network_time_support>
0 – Disable network time support.
1 – Enable network time support.
<sib16_support> v1.3.x≥1
AT%XNETTIME?
%XNETTIME: 0
OK
Syntax:
%XDEEPSEARCH=<deep_search>
The set command parameter and its defined values are the following:
<deep_search>
0 – Disable deep search
1 – Enable deep search
The following command example enables deep search support:
AT%XDEEPSEARCH=1
OK
%XDEEPSEARCH: <deep_search>
The response parameter and its defined values are the following:
<deep_search>
0 – Disable deep search
1 – Enable deep search
The following command example reads deep search availability:
AT%XDEEPSEARCH?
%XDEEPSEARCH:1
OK
Note: The feature must be enabled using the set command before the test command can be
successfully performed.
Response syntax:
%XDEEPSEARCH
AT%XDEEPSEARCH=?
AT%XDEEPSEARCH
OK
Note:
• The %XOPCONF command is for testing purposes only.
• The use of this command can be permanently prevented with the %XPRODDONE command.
Syntax:
%XOPCONF=<op_conf>
The set command parameter and its defined values are the following:
<op_conf>
Integer
1 – Automatically detected from International Mobile Subscriber Identity (IMSI)
2 – Verizon
3 – AT&T
4 – China Telecom
5 – Softbank
6 – Telstra
7 – Bell
8 – LG U+
9 – KDDI v1.2.x≥7
12 – Vodafone v1.3.x
13 – T-Mobile v1.3.x
15 – Rogers v1.3.x≥2
16 – Orange v1.3.x≥2
AT%XOPCONF=2
OK
Response syntax:
%XOPCONF: <op_conf>
The read command response parameter and its defined values are the following:
<op_conf>
Integer
1 – Automatically detected from IMSI
2 – Verizon
3 – AT&T
4 – China Telecom
5 – Softbank
6 – Telstra
7 – Bell
8 – LG U+
9 – KDDI v1.2.x≥7
12 – Vodafone v1.3.x
13 – T-Mobile v1.3.x
15 – Rogers v1.3.x≥2
16 – Orange v1.3.x≥2
AT%XOPCONF?
AT%XOPCONF: 2
OK
In LTE, a device is not allowed to leave a power consuming connection by its own decision. The %RAI
command enables support for the RAI feature where the device can indicate when it does not need the
data connection anymore. The %RAI command sets on support for protocols, which means that the
modem indicates to the network that it supports the RAI feature when connections are set up. The RAI
feature can be used if also the network supports it.
In addition to using the %RAI command, the application must tell when the data connection is
not needed anymore through the application domain data socket interface. With the interface, the
information can be given with the last data packet that is sent or after the application has received
the data packet that ends the need for the connection. Each socket client tells their own need for the
connection, and the information is combined in the modem domain.
Note: Enabling RAI requires feature activation with the %REL14FEAT command.
Syntax:
%RAI[=<rai>]
The set command parameter and its defined values are the following:
<rai>
0 – Disabled
1 – Enabled
The following command example enables RAI feature support:
AT%RAI=1
OK
%RAI: <rai>
AT%RAI?
%RAI: 1
OK
Note: The 1.3.x modem firmware release is certified to be compliant with 3GPP Release 13.
%REL14FEAT enables selected optional features from 3GPP Release 14. The 3GPP Release 14
features are not GCF or PTCRB conformance certified by Nordic and must be certified by MNO
before used in commercial products.
Note:
• All 3GPP Release 14 features are disabled by default.
• Enabling NB-IoT dual Hybrid Automatic Repeat Request (HARQ) enables also maximum TB size
enhancement.
• Enabling RAI requires feature activation with the %RAI command.
Syntax:
%REL14FEAT=<mac_inact_monitor_support>,<as_rai_support>,<NB_dual_harq_support>,
<NB_max_TB_size_support>,<interf_cmm_intraf_rsrq>
The set command parameter and its defined values are the following:
<mac_inact_monitor_support>
0 – MAC inactivity monitoring not supported
1 – MAC inactivity monitoring supported
<as_rai_support>
0 – Access stratum RAI not supported
1 – Access stratum RAI supported
<NB_dual_harq_support>
0 – Narrowband dual HARQ not supported
1 – Narrowband dual HARQ supported
<NB_max_TB_size_support>
0 – Narrowband maximum transport block size not supported
1 – Narrowband maximum transport block size supported
<interf_cmm_intraf_rsrq>
0 – Inter-frequency connected mode and intra-frequency RSRQ measurements not
supported
1 – Inter-frequency connected mode and intra-frequency RSRQ measurements
supported
The following command example sets support for MAC inactivity monitoring and inter-frequency
connected mode and intra-frequency RSRQ measurements mode:
AT%REL14FEAT=1,0,0,0,1
OK
%REL14FEAT?
Response syntax:
%REL14FEAT: <mac_inact_monitor_support>,<as_rai_support>,<NB_dual_harq_support>,
<NB_max_TB_size_support>,<interf_cmm_intraf_rsrq>
The following command example reads the status of 3GPP Release 14 feature support:
AT%REL14FEAT?
AT%REL14FEAT: 1,0,0,0,1
OK
%PERIODICSEARCHCONF=<mode>[,<loop>,<return_to_pattern>,<band_optimization>,<pattern_1>
[,<pattern_2>][,<pattern_3>][,<pattern_4>]]
%PERIODICSEARCHCONF:
<loop>,<return_to_pattern>,<band_optimization>,<pattern_1>[,<pattern_2>][,<pattern_3>]
[,<pattern_4>]
The set command parameters and their defined values are the following:
<mode>
Selects the performed operation. The additional optional parameters are valid only
for mode 0.
0 – Write.
1 – Read.
2 – Clear.
3 – Search now.
Note: When <mode> is 3, the response is always OK, which indicates that
the request has been delivered to the modem. The search is performed only
when the modem is in sleep state between periodic searches.
<loop>
Indicates if the last given search pattern is looped from the beginning when the
pattern has ended. If several search patterns are configured, <loop> impacts only
the last pattern.
0 – No loop.
1 – Loop last search pattern.
<return_to_pattern>
Indicates if the modem can return to a given search pattern with shorter sleeps, for
example, when radio conditions change and the given pattern index has already
been exceeded.
0 – No return.
1–4 – Return to search pattern index 1–4.
<band_optimization>
0 – No optimization. Every periodic search is an all band search.
1 – Use default optimizations predefined by the modem. Predefinition depends on
the active data profile, which can be configured with %XDATAPRFL.
2 – Every second periodic search is an all band search.
3 – Every third periodic search is an all band search.
4 – Every fourth periodic search is an all band search.
…
20 – Every 20th periodic search is an all band search.
<pattern_1…pattern_4>
The write command and response to the read command can contain 1–4 search
pattern entries. Each pattern entry is range or table type and enclosed in quotation
marks ("pattern_1", "pattern_2").
Range type search pattern: "<type>,<initial_sleep>, <final_sleep>,
[<time_to_final_sleep>], <pattern_end_point>"
Table type search pattern: "<type>,<val1>[,<val2>][,<val3>][,<val4>][,<val5>]"
The following parameters describe the content of <pattern 1...pattern4>:
<type>
0 – Range.
1 – Table.
<initial_sleep>
0–65535 seconds.
Sleep time between searches in the beginning of the range.
<final_sleep>
0–65535 seconds.
Sleep time between searches in the end of the range.
<time_to_final_sleep>
0–1080 minutes. Optional.
Target time for achieving the <final_sleep> value. This can be used to determine the
angle factor between the <initial_sleep> and <final_sleep> times. The timeline for
the <time_to_final_sleep> starts from the beginning of the search pattern.
If given, the value cannot be greater than the value of <pattern_end_point> in
the same search pattern. If not given, the angle factor is calculated using the
<pattern_end_point> value so that the <final_sleep> value is reached at the point
of <pattern_end_point>.
<pattern_end_point>
0–1080 minutes.
Time that must elapse before entering the next search pattern. The timeline for
<pattern_end_point> starts from the beginning of the limited service starting point
which is the moment when the first sleep period started.
<val1...val5>
0–65535 seconds.
1–5 sleep time values between searches. After going through all values, the last
value of the last search pattern is repeated if not configured differently by the
<loop> or <return_to_pattern> parameters.
The following diagram shows an example of two configured search patterns' behavior on a timeline. The
first search pattern is table type, and the second search pattern is range type.
Search
Search
Search
Search
Search
Search
...
Sea
rch
0 5 15 20
The following diagram shows the length of sleeps in search pattern 1 in Figure 2: Example of two different
types of search patterns on page 167.
Search pattern 1
40
35
35
Sleep time (seconds)
30
25
20
20
15
10 10
10
5
0
1 2 3 4
N’th sleep within table
The following diagram shows the length of sleeps in search pattern 2 in Figure 2: Example of two different
types of search patterns on page 167. The sleep time reaches the <final_sleep> value in 10 minutes
according to the <time_to_final_sleep> parameter.
Search pattern 2
350
300
Sleep time (seconds)
250
200
150
100
50
0
5 15 20
Time elapsed in limited service (minutes)
The following command example configures one range type search pattern without the optional
<time_to_final_sleep> parameter:
AT%PERIODICSEARCHCONF=0,0,0,10,"0,60,3600,,600"
OK
AT%PERIODICSEARCHCONF=1
%PERIODICSEARCHCONF: 0,0,10,"0,60,3600,,600"
OK
The following command example configures one range type search pattern with the optional
<time_to_final_sleep> parameter and additional table type search pattern with three sleep time values
that are looped when the pattern has ended:
AT%PERIODICSEARCHCONF=0,1,0,10,"0,60,3600,300,600","1,60,120,3600"
OK
AT%PERIODICSEARCHCONF=3
OK
AT%PERIODICSEARCHCONF=2
OK
The following command example reads the configuration when no configuration is stored:
AT%PERIODICSEARCHCONF=1
%PERIODICSEARCHCONF:
OK
The modem uses specific periodic search patterns for each power level defined in the %XDATAPRFL
command. The following commands correspond to the search pattern configurations used for each power
level. They are default configurations, and any specific periodic cell search configuration overrides them.
Ultra low power:
AT%PERIODICSEARCHCONF=0,0,0,1,"0,10,40,,5","1,300,600,1800,1800,3600"
Low power:
AT%PERIODICSEARCHCONF=0,0,0,1,"0,10,40,,5","1,300,600"
Normal:
AT%PERIODICSEARCHCONF=0,0,0,1,"0,10,40,5,15","1,60,90,300"
Performance:
AT%PERIODICSEARCHCONF=0,0,0,1,"0,10,40,5,15","1,60,90"
High performance:
AT%PERIODICSEARCHCONF=0,0,0,1,"1,10","0,10,40,,15"
For more information on data profile power levels, see Data profile %XDATAPRFL on page 46.
Note: The reduced mobility feature is designed to be used when the UE is stationary. Using it
in mobile conditions can lead to suboptimal connectivity performance and increased power
consumption.
%REDMOB=<mode>
The set command parameter and its defined values are the following:
<mode>
0 – Default. Functionality according to the 3GPP relaxed monitoring feature.
AT%REDMOB=1
OK
AT%REDMOB=2
OK
%REDMOB: <mode>
The read command parameters and their defined values are the following:
<mode>
0 – Reduced mobility features disabled.
1 – Nordic-proprietary reduced mobility enabled.
2 – Reduced mobility features disabled.
The following command example reads the configuration when the Nordic-proprietary reduced mobility
feature is enabled:
AT%REDMOB?
%REDMOB: 1
OK
The following command example reads the configuration when reduced mobility feature is disabled:
AT%REDMOB?
%REDMOB: 2
OK
+CMEE=[<n>]
The set command parameter and its defined values are the following:
<n>
0 – Disable and use ERROR instead (default)
1 – Enable +CME ERROR: <err> result code and use numeric <err> values.
<err> values are specified in 3GPP TS 27.007 Ch. 9.2. Vendor-specific values listed in
the command chapters, the value range starts from 512.
The following command example enables error codes in responses:
AT+CMEE=1
OK
+CMEE: <n>
The read command parameter and its defined values are the following:
<n>
0 – Disabled. ERROR used as the final response in case of failure.
1 – Enabled. +CME ERROR: <err> result code and numeric <err> values used.
The following command example reads the current error code setting:
AT+CMEE?
+CMEE: 1
OK
The test command parameter and its defined values are the following:
<n>
0 – Disabled. ERROR used as the final response in case of failure.
1 – Enabled. +CME ERROR: <err> result code and numeric <err> values used.
The following command example returns the supported values:
AT+CMEE=?
+CMEE:(0,1)
OK
+CNEC=[<n>]
The set command parameters and their defined values are the following:
<n>
0 – Disable unsolicited error reporting
8 – Enable unsolicited result code +CNEC_EMM: <error_code>[,<cid>] to
report EPS mobility management errors
16 – Enable unsolicited result code +CNEC_ESM: <error_code>[,<cid>] to
report EPS session management errors
24 – Enable unsolicited result codes for +CNEM_EMM:
<error_code>[,<cid>] and +CNEC_ESM: <error_code>[,<cid>]
<error_code>
3GPP TS 24.301 Table 9.9.3.9.1 for EPS mobility management errors codes
3GPP TS 24.301 Table 9.9.4.4.1 for EPS session management errors codes
<cid>
0–10. <cid> is present if <error_code> is related to a specific <cid>.
AT+CNEC=16
OK
The following notification example shows EMM Cause 22 (Congestion) received from the network:
+CNEC_EMM: 22
+CNEC: <n>
The read command parameter and its defined values are the following:
<n>
0 – Disable
8 – +CNEC_EMM enabled
16 – +CNEC_ESM enabled
24 – +CNEC_EMM and +CNEC_ESM
The following command example reads the +CNEC error code setting, both CNEC_EMM and CNEC_ESM
enabled:
AT+CNEC?
+CNEC: 24
OK
The test command parameter and its defined values are the following:
<n>
0 – Disable
8 – +CNEC_EMM enabled
16 – +CNEC_ESM enabled
24 – +CNEM_EMM and +CNEC_ESM
The following command example returns the +CNEC error code setting values:
AT+CNEC?
+CNEC: (0,8,16,24)
OK
+CEER
Response syntax:
+CEER: <report>
The set command parameter and its defined value are the following:
<report>
String. Information related to the last failure. Contains module information and the
cause value. The module is one of the following values: OTHER, ESM, EMM, PDP,
UICC, SMS.
The following command example reads the latest failure stored by the modem:
AT+CEER
+CEER: "SMS 301"
OK
Note: This command can be issued only by a client registered with +CNMI.
Syntax:
+CMGF=[<mode>]
The set command parameter and its defined value are the following:
<mode>
0 – PDU mode, default value
The following command example sets the message format to PDU mode:
AT+CMFG=0
OK
+CMGF: <mode>
The read command parameter and its defined value are the following:
<mode>
0 – PDU mode
The following command example reads the current message format:
AT+CMGF?
+CMGF: 0
OK
Response syntax:
The test command parameter and its defined value are the following:
<mode>
0 – PDU mode
The following command example lists the supported message formats:
AT+CMGF=?
+CMGF: (0)
OK
+CNMI=[<mode>[,<mt>[,<bm>[,<ds>]]]]
The set command parameters and their defined values are the following:
<mode>
0 – Unsubscribe unsolicited result codes.
3 – Subscribe unsolicited result codes.
<mt>
0 – No received message notifications, the modem acts as an SMS client. Forces
also <ds> to 0.
2 – SMS-DELIVERs (except class 2 and message waiting indication group)
are routed directly to the TE using unsolicited result code +CMT:
[<alpha>],<length><CR><LF><pdu>. TE needs to ACK with +CNMA.
<bm>
Ignored
<ds>
0 – No SMS-STATUS-REPORTs are routed to the TE. The only option if <mt> is set to
0.
1 – SMS-STATUS-REPORTs are routed to the TE using unsolicited result code: +CDS:
<length><CR><LF><pdu>. TE needs to ACK with +CNMA.
The TE needs to handle both SMS-DELIVER and SMS-STATUS-REPORT or neither of them, <mt> and <ds>
shall both be set to 0 at the same time, equals to <mode> 0.
The following command example registers as a client for mobile-terminated SMS and status reports:
AT+CNMI=3,2,0,1
OK
+CNMI: <mode>,<mt>,<bm>,<ds>,<bfr>
The read command parameters and their defined values are the following:
<mode>
0 – Do not forward unsolicited result codes to the TE (default)
3 – Forward unsolicited result codes directly to the TE
<mt>
0 – No received message notifications, the modem acts as an SMS client
2 – SMS-DELIVERs (except class 2 and message waiting indication group) are routed
directly to the TE
<bm>
No CBM notifications are routed to the TE
<ds>
0 – No SMS-STATUS-REPORTs are routed to the TE
1 – SMS-STATUS-REPORTs are routed to the TE using unsolicited result code: +CDS:
<length><CR><LF><pdu>
<bfr>
1 – The buffer of unsolicited result codes is cleared when <mode> 1 to 3 is entered
The following command example reads the configuration of how new messages are indicated:
AT+CNMI?
+CNMI: 3,2,0,1,1
OK
For reference, see 3GPP 27.005 Ch. 3.5.1 and 3GPP 27.005 Ch. 4.3.
Note: This command can be issued only by a client registered with the +CNMI command.
Syntax:
+CMGS=<length><CR><pdu><ctrl-Z>
Response syntax:
+CMGS: <mr>[,<ackpdu>]
The set command parameters and their defined values are the following:
<length>
ASCII, 1–3 characters. Number of hexadecimal octets in <pdu>.
<pdu>
Hexadecimal numbers containing two IRA characters per octet.
<mr>
Message reference value.
<ackpdu>
RP-User-Data element of RP-ACK PDU.
<pdu> is expected to be received in the same command after <CR>. Interactive mode is not supported.
PDU consists of hexadecimal numbers containing two IRA characters per octet.
The following command example sends the message "Testing a SMS messaging over LTE" to
+358401234567, Service Center Address +448888888:
AT+CMGS=42<CR>069144888888F811000C9153481032547600000B20D4F29C9E769F4161
D0BC3D07B5CBF379F89C769F416F7B590E62D3CB<ctrl-z>
+CMGS: 2
OK
Syntax:
+CMT: <alpha>,<length><CR><LF><pdu>
The notification parameters and their defined values are the following:
<alpha>
String. TP-Originating-Address.
<length>
ASCII, 1–3 characters. Number of hexadecimal octets in <pdu>.
<pdu>
Hexadecimal numbers containing two IRA characters per octet.
The following example returns a notification of a received message "Testing a sms messaging over lte"
from +358401234567, Service Center Address +44 888 8888:
+CMT: "+358401234567",28<CR><LF>069144888888F8D4F29C9E769F4161D0BC3D07B5CBF379F89C
769F416F7B590E62D3CB
+CDS: <length><CR><LF><pdu>
The notification parameters and their defined values are the following:
<length>
ASCII, 1–3 characters. Number of hexadecimal octets in <pdu>.
<pdu>
Hexadecimal numbers containing two IRA characters per octet.
The following example returns a delivery status notification with the recipient address, service center
timestamp, and message delivery time:
+CDS: 25<CR><LF>060C91534810325476171160316255001711603152120000
OK
Note:
• This command can be issued only by a client registered with the +CNMI command.
• After sending cause 22, the %XSMMA command needs to be used when memory is available.
If the UE does not get an acknowledgement within the required time (network timeout), the it should
respond as specified in 3GPP TS 24.011, and UE/TA shall automatically disable routing to the TE by setting
both <mt> and <ds> values of +CNMI to zero, that is, the SMS client gets unregistered.
Syntax:
+CNMA[=<n>[,<length>[<CR>PDU is given<ctrl-Z/ESC>]]]
The set command parameters and their defined values are the following:
<n>
0 – The command operates in the same way as defined for the text mode, see New
message ACK, text mode +CNMA on page 181
1 – Send RP-ACK
2 – Send RP-ERROR
<length>
ASCII, 1–3 characters. Number of hexadecimal octets in <pdu>.
<pdu>
Hexadecimal numbers containing two IRA characters per octet.
The following command example confirms the reception of a message, timestamp 06/11/2071 13:26:31:
AT+CNMA=1,9<CR>010017116031621300<ctrl-z>
OK
The test command parameter and its defined values are the following:
<n>
0 – The command operates in the same way as defined for the text mode
1 – Send RP-ACK
2 – Send RP-ERROR
The following command example lists the supported delivery statuses:
AT+CNMA=?
+CNMA: (0-2)
OK
Note: This command can be issued only by a client registered with the +CNMI command.
If the UE does not get an acknowledgement within the required time (network timeout), it should respond
as specified in 3GPP TS 24.011 and the UE/TA shall automatically disable routing to TE by setting both
<mt> and <ds> values of +CNMI to zero, that is, the SMS client gets unregistered.
Syntax:
+CNMA
The following command example sends a new message ACK in text mode:
AT+CNMA
OK
The test command parameter and its defined values are the following:
<n>
0 – The command operates in the same way as defined for the text mode
1 – Send RP-ACK
2 – Send RP-ERROR
The following command example lists the supported delivery statuses:
AT+CNMA=?
+CNMA: (0-2)
OK
Note: The modem does not support SMS memory, only direct routing to TE.
Syntax:
+CPMS=<mem1>[,<mem2>[,<mem3>]]
Response syntax:
+CPMS: <used1>,<total1>,<used2>,<total2>,<used3>,<total3>
The set command parameters and their defined values are the following:
<mem1>
"MT" – Refers to all message storage areas associated with the modem
<mem2>
"MT" – Refers to all message storage areas associated with the modem
<mem3>
"MT" – Refers to all message storage areas associated with the modem
<usedx>
Integer. The number of messages currently in <memx>.
<totalx>
Integer. The number of messages currently in <memx>.
The following command example configures the used memory storages:
AT+CPMS="MT","MT","MT"
+CPMS: 0,0,0,0,0,0
OK
+CPMS: <mem1>,<used1>,<total1>,<mem2>,<used2>,<total2>,<mem3>,<used3>,<total3>
The read command parameters and their defined values are the following:
<mem1>
"MT" – Refers to all message storage areas associated with the modem
<mem2>
"MT" – Refers to all message storage areas associated with the modem
<mem3>
"MT" – Refers to all message storage areas associated with the modem
<usedx>
Integer. The number of messages currently in <memx>.
<totalx>
Integer. The number of messages currently in <memx>.
The following command example reads the memory storage configurations:
AT+CPMS?
+CPMS: "MT",0,0,"MT",0,0,"MT",0,0
OK
The test command parameters and their defined values are the following:
<mem1>
"MT" – Refers to all message storage areas associated with the modem
<mem2>
"MT" – Refers to all message storage areas associated with the modem
<mem3>
"MT" – Refers to all message storage areas associated with the modem
The following command example lists the supported memories:
AT+CPMS=?
+CPMS: ("MT"),("MT"),("MT")
OK
The parameter and the values used by common messaging commands are the following:
<err>
0–127 – 3GPP TS 24.011 clause E.2 values
128–255 – 3GPP TS 23.040 clause 9.2.3.22 values
300–511 – 3GPP TS 27.005 Ch. 3.2.5
512≤ – Manufacturer specific
513 – Manufacturer-specific cause: Not found
514 – Manufacturer-specific cause: Not allowed
515 – Manufacturer-specific cause: Memory full
+CGSMS=[<service>]
The set command parameter and its defined value are the following:
<service>
1 – Circuit-switched
AT+CGSMS=1
OK
Response syntax:
+CGSMS: <service>
The read command parameter and its defined value are the following:
<service>
1 – Circuit-switched
The following command example reads the current SMS service:
AT+CGSMS?
+CGSMS: 1
OK
The test command parameter and its defined value are the following:
<service>
1 – Circuit-switched
The following command example lists the supported SMS services:
AT+CGSMS=?
+CGSMS: (1)
OK
%XSMMA
The following command example triggers sending the RP-SMMA on the SMS layer to release a memory full
situation and to receive a response:
AT%XSMMA
OK
This command can be used, for example, in device production testing provided that the necessary circuitry
between an MAGPIO pin and the antenna is in place. See Antenna presence test using MAGPIO in nWP033
- nRF9160 Antenna and RF Interface Guidelines.
%XANTDETMAGPIO=<magpio_pin>
The set command parameter and its defined values are the following:
<magpio_pin>
0, 1, 2 – The MAGPIO pin whose state is read.
The response values are the following:
1 – Antenna connected
0 – Antenna not connected
After the command, the pin state is set back to normal (high-Z).
The following command example sets MAGPIO pin 2 to input mode and sets internal pull-up for it. After
this, the pin state is read and reported in the command response. After the command, the pin state is set
back to normal (high impedance state):
AT%XANTDETMAGPIO=2
%XANTDETMAGPIO: 0
OK
Note:
• The use of this command can be permanently prevented with the %XPRODDONE command.
• The %XRFTEST test features can be used with the PTI modem firmware even if the %XRFTEST
test features have been disabled with %XPRODDONE. pti_v1.1.x≥3
%XRFTEST=<test>,<operation>[,<param0>,<param1>,<param2>,<param3>]
The set command parameters and their defined values are the following:
<test>
0 – RX
<operation>
1 – ON
0 – OFF
<param0>
3GPP band number. Use 24 for GNSS reception.
<param1>
Frequency 100 kHz
Valid range 6000–22000 (corresponds to 600.0 MHz–2200.0 MHz)
Note: If Carrier Wave (CW) is used, an offset of about 45 kHz for NB-IoT and
300 kHz for LTE-M is recommended.
<param2>
RX signal power at the SiP antenna port
Valid range from −127 dBm to −25 dBm
<param3>
System mode
Valid range 0–1. NB-IoT (0) or LTE-M (1).
%XRFTEST: <antenna_power>
The response parameter and its defined value are the following:
<antenna_power>
Measured power at the SiP antenna port in q8 dBm. q8 means that dividing the
result by 28 = 256 gives dBm.
The following command example enables the RF receiver for Band 1, 2140.0 MHz, −65 dBm, NB-IoT mode:
AT%XRFTEST=0,1,1,21400,-65,0
%XRFTEST: -17002
OK
AT%XRFTEST=0,0
OK
Note:
• The use of this command can be permanently prevented with the %XPRODDONE command.
• The %XRFTEST test features can be used with the PTI modem firmware even if the %XRFTEST
test features have been disabled with %XPRODDONE. pti_v1.1.x≥3
CAUTION: This command transmits power to the selected RF band and can violate the radio
directives of the region or country. Make sure that the equipment is in an RF-shielded room or
connected to an RF cable so that RF power does not leak.
Syntax:
%XRFTEST=<test>,<operation>[,<param0>,<param1>,…,<param10>]
The set command parameters and their defined values are the following:
<test>
1 – TX
<operation>
1 – ON
0 – OFF
<param0>
3GPP band number
<param1>
Frequency (100 kHz)
Valid range 6000–22000 (corresponds to 600.0 MHz–2200.0 MHz)
<param2>
TX signal power at the SiP antenna port
Valid range from +23 dBm to −50 dBm
<param3>
System mode
Valid range 0–1. NB-IoT (0) or LTE-M (1).
Note: Some LTE bands can be supported in only one of the system modes.
To ensure that the band can be used, set the correct mode with the
%XSYSTEMMODE command.
<param4>
Modulation
0 – Quadrature Phase-Shift Keying (QPSK)
1 – 16-state Quadrature Amplitude Modulation (16-QAM)
2 – Reserved
3 – Binary Phase-Shift Keying (BPSK)
4 – CW
LTE-M: QPSK, 16-QAM, and CW
NB-IoT: QPSK, BPSK, and CW
Note:
• If <param4> is 4 (CW), in system modes NB-IoT and LTE-M the CW tone is
offset by 255 kHz from the frequency given in <param1>. v1.0.x v1.1.x
v1.2.x
• If <param4> is 4 (CW), the CW tone is offset from the frequency given
in <param1> by 48.75 kHz in system mode NB-IoT and by 401.25 kHz in
system mode LTE-M. v1.2.x≥1 pti_v1.1.x≥1
• If <param4> is 4 (CW), <param5>, <param6>, and <param7> are 0 (do not
care).
<param5>
Resource Block (RB)/Tone count
<param6>
RB/Tone start position
<param7>
Subcarrier spacing
0 – 15 k
1 – 3.75 k
<param8> v1.2.x
System bandwidth
0 – NB-IoT
1 – 1.4 M
2 – Reserved
3 – 5 MHz
4 to 6 – Reserved
<param9> v1.2.x
Narrowband index
0 – 1.4 M
0 to 3 – 5 M
Defined in 3GPP TS 36.211 Ch. 6.2.7
TX burst mode
0 – Disable TX burst mode
1 – Enable TX burst mode
For more information, see TX burst mode on page 193.
The allowed combinations for <param5>, <param6>, and <param7> for both system mode (<param3>)
values are listed in the following table:
System mode <param3> RB/Tone count RB/Tone start position Subcarrier spacing
<param5> <param6> <param7>
NB-IoT (0) 1 0–11 0
3 0, 3, 6, 9 0
6 0, 6 0
12 0 0
1 0–47 1
LTE-M (1) 1 0–5 0
2 0–4 0
3 0–3 0
4 0–2 0
5 0–1 0
6 0 0
Note: In system mode LTE-M, subcarrier spacing 3.75 kHz is not allowed.
%XRFTEST: <antenna_power>
The response parameter and its defined value are the following:
<antenna_power>
Internally measured TX power at the SiP antenna port in q4 dBm. q4 means that
dividing the result by 24 = 16 gives dBm.
The following command example enables the RF transmitter for Band 5, 830.0 MHz, +17 dBm, NB-IoT,
BPSK, 12 tones, tone start position 0, subcarrier spacing 15 kHz, system bandwidth NB1, NB index 0, TX
burst mode disabled:
AT%XRFTEST=1,1,5,8300,17,0,3,12,0,0,0,0,0
%XRFTEST: 271 OK
The following command example enables the RF transmitter for Band 5, 830 MHz, +17 dBm, LTE-M, 16-
QAM, 6 RB, RB start position 0, subcarrier spacing 15 kHz, system bandwidth 5 MHz, NB index 3, TX burst
mode disabled:
AT%XRFTEST=1,1,5,8300,17,1,1,6,0,0,3,3,0
%XRFTEST: 271
OK
AT%XRFTEST=1,0
OK
%XRFTEST: OK
The following command example enables the RF transmitter for Band 5, 830 MHz, +17 dBm, LTE-M, 16-
QAM, 6 RB, RB start position 0, subcarrier spacing 15 kHz, system bandwidth 5 MHz, NB index 3, TX burst
mode enabled:
AT%XRFTEST=1,1,5,8300,17,1,1,6,0,0,3,3,1
OK
The %XRFTEST command allows starting RF to a desired frequency to test, debug, and verify
configurations that depend on RF frequency, such as %XMAGPIO and %XMIPIRFFECTRL.
Note:
• The use of this command can be permanently prevented with the %XPRODDONE command.
• The %XRFTEST test features can be used with the PTI modem firmware even if the %XRFTEST
test features have been disabled with %XPRODDONE. pti_v1.1.x≥3
%XRFTEST=<test>,<operation>,<param0>,<param1>,<param2>
The set command parameters and their defined values are the following:
<test>
2 – GNSS SNR
<operation>
1 – ON
<param0>
RX signal power at the SiP GNSS port
Valid range from −127 dBm to −25 dBm or 0 = default gain −105 dBm
AFC correction
1 – Enable AFC correction in measurement
0 – Disable AFC correction in measurement
Frequency. Manually give RF frequency for nRF9160 in 100 kHz format. Accepted
value is +/- 10 MHz from the default GNSS frequency of 1575.42 MHz. Set the signal
generator to f = <param2> + 330 kHz.
Note: If <param2> is not given, nRF9160 uses the default GNSS L1 frequency
1575.42 MHz.
Note: It is recommended to set the signal level defined in the GNSS SNR ON parameters to the
expected signal level at the GNSS antenna port of the nRF9160 SiP.
Response syntax:
%XRFTEST: <snr>,<antenna_power>
The response parameters and their defined values are the following:
<snr>
The result of the SNR measurement in q4 dB. q4 means that dividing the result by
24 = 16 gives dB.
<antenna_power>
Measured signal power at the SiP GNSS port in q8 dBm. q8 means that dividing the
result by 28 = 256 gives dBm.
The following command example executes a GNSS SNR test with AFC disabled:
AT%XRFTEST=2,1,0,0
%XRFTEST: 514,-19968
OK
The following command example executes an GNSS SNR test for -80 dBm. AFC correction is enabled and
uses the result of the previous AFC measurement or AFC set. Instead of the default, the receiver frequency
is set to 1575.0 MHz:
AT%XRFTEST=2,1,-80,1,15750
%XRFTEST: 312,-20480
OK
The %XRFTEST command allows starting RF to a desired frequency to test, debug, and verify
configurations that depend on RF frequency, such as %XMAGPIO and %XMIPIRFFECTRL.
Note:
• The use of this command can be permanently prevented with the %XPRODDONE command.
• The %XRFTEST test features can be used with the PTI modem firmware even if the %XRFTEST
test features have been disabled with %XPRODDONE. pti_v1.1.x≥3
%XRFTEST=<test>,<operation>,<param0>,<param1>,…,<param4>
The set command parameters and their defined values are the following:
<test>
3 – RX SNR
<operation>
1 – ON
<param0>
3GPP band number. Use 24 for GNSS reception.
<param1>
Frequency 100 kHz (that is, 2140 MHz is expressed as 21400)
<param2>
RX signal power at the SiP antenna port
Valid range from −127 dBm to −25 dBm
<param3>
System mode
Valid range 0–1. NB-IoT (0) or LTE-M (1).
%XRFTEST: <snr>,<antenna_power>
The response parameters and their defined values are the following:
<snr>
Result of the SNR measurement in q4 dB. q4 means that dividing the result by 24 =
16 dB.
<antenna_power>
Measured signal power at the SiP antenna port in q8 dBm. q8 means divided
dividing the result by 28 = 256 gives dBm.
The following command example enables the RX SNR measurement and RF receiver for Band 1, 2140.0
MHz, −65 dBm, LTE-M mode, AFC correction enabled:
AT%XRFTEST=3,1,1,21400,-65,1,1
%XRFTEST: 496,-17002
OK
Note:
• The same result value is used automatically in the TX and RX tests.
• The use of this command can be permanently prevented with the %XPRODDONE command.
• The %XRFTEST test features can be used with the PTI modem firmware even if the %XRFTEST
test features have been disabled with %XPRODDONE. pti_v1.1.x≥3
%XRFTEST=<test>,<operation>,<param0>,<param1>,<param2>
The AFC measurement command parameters and their defined values are the following:
<test>
4 – AFC
<operation>
1 – ON (measure)
Note: OFF <operation> is not needed due to automatic stop. Mode is always
LTE-M. The stored value is reset when the device is booted.
<param0>
3GPP band number
<param1>
Frequency (100 kHz)
<param2>
RX signal power at the SiP antenna port in dBm
Response syntax:
%XRFTEST: <AFC_error_value_Hz>,<AFC_error_value_Q30>
The response parameters and their defined values are the following:
<AFC_error_value_Hz>
Measured AFC error value in Hz format
The following command example measures the AFC error value for band 1, 2140.0 MHz, -40 dBm:
AT%XRFTEST=4,1,1,21400,-40
%XRFTEST:349,175
OK
%XRFTEST=<test>,<operation>,<param0>,<param1>
The AFC set command parameters and their defined values are the following:
<test>
4 – AFC
<operation>
3 – SET
<param0>
AFC error value (Hz), if <param1>=0 or not given
AFC error value (relative signed Q30), if <param1>=1 v1.2.1 pti_v1.1.x≥1
%XRFTEST: OK
The following command example sets AFC error value to 349 Hz:
AT%XRFTEST=4,3,349,0
OK
Note: In the AFC correction feature, if the set error value is given in Hz format, the relative signed
Q30 value is automatically calculated when used in the next test for a given frequency. The relative
error is used automatically in subsequent tests. The suitable error value can be calculated for any
frequency with the following formula: error_in_hz_f2 = error_in_hz_f1 * f2 / f1. For example, if
error is measured as 120 Hz at 2140 MHz, the error at 1950 MHz is 120 Hz * 1950 MHz/2140 MHz =
109 Hz.
The %XRFTEST command allows starting RF to a desired frequency to test, debug, and verify
configurations that depend on RF frequency, such as %XMAGPIO and %XMIPIRFFECTRL.
Note:
• The use of this command can be permanently prevented with the %XPRODDONE command.
• The %XRFTEST test features can be used with the PTI modem firmware even if the %XRFTEST
test features have been disabled with %XPRODDONE. pti_v1.1.x≥3
%XRFTEST=<test>,<operation>,<param0>
The set command parameters and their defined values are the following:
<test>
10 – Sensor test
<operation>
1 – ON (measure)
<param0>
0 – PA temperature
1 – SoC-internal temperature sensor v1.2.x≥1 pti_v1.1.x≥1
2 – Reserved
3 – VBAT (same as %XVBAT)
4 – Reserved
%XRFTEST: <temperature>
OK
When <param0>=0 or <param0>=1, the response is given in millidegrees Celsius, with a resolution of
approximately 50 millidegrees Celsius.
Response syntax when <param0>=3:
%XRFTEST: <vbat>
OK
AT%XRFTEST=10,1,0
%XRFTEST: 20355
OK
%XGPIOTEST=<direction>,<mask>,<pin_ctrl>
The set command parameters and their defined values are the following:
<direction>
0 – Output
1 – Input
<mask>
Bitmask for pins to control.
1 bit per pin in ascending pin order starting from bit 0.
Control for some pins is possible only in input or output direction. The allowed pin
control directions and bit positions are the following:
SIM_INT – Input, LSB
SIM_RST – Output
SIM_CLK – Output
SIM_IO – Input/Output
COEX0 – Input/Output
COEX1 – Output
COEX2 – Input/Output, MSB
<pin_ctrl>
Bits for controlling each masked pin. If <direction> is output, 1 sets the pin high and
0 sets the pin low. If <direction> is input, 1 needs to be set for each pin whose state
is read.
Control for some pins is allowed as either input or output. The allowed pin control
directions and bit positions are the following:
SIM_INT – Input, LSB
SIM_RST – Output
SIM_CLK – Output
SIM_IO – Input/Output
COEX0 – Input/Output
COEX1 – Output
COEX2 – Input/Output, MSB
The following command example configures all pins as output and sets their state low:
AT%XGPIOTEST=0,127,0
%XGPIOTEST:
OK
The following command example sets all pins as input and reads the pin state of each pin:
AT%XGPIOTEST=1,127,127
%XGPIOTEST: 0x9
OK
%XFSSYNC
The following command example synchronizes and stores AT command configurations to the modem's
NVM:
AT%XFSSYNC
OK
Note: The %XRFTEST command can be used to start nRF91 to a frequency configured with the
%XMIPIRFFECTRL command. The %XMIPIRFFEDBG command can be used to read the value
from the MIPI RFFE device register to verify that the configured value has been correctly written to
the register.
Syntax:
%XMIPIRFFEDBG=<dev_id>,<direction>,<address>,[<value>]
Response syntax:
%XMIPIRFFEDBG=<status>,<readvalue>
The set command parameters and their defined values are the following:
<dev_id>
The identification number of the MIPI RFFE device given when it was introduced
using the %XMIPIRFFEDEV command.
<direction>
0 – Write to register.
1 – Read register.
<address>
Address of the MIPI RFFE register as a decimal number.
<value>
Value to be written to the register in decimal format. Applies only to the write
command.
<status>
Indicates the status of MIPI RFFE access.
0 – Success.
1 – No response event from the MIPI RFFE peripheral.
2 – Timeout during read.
3 – Undefined error.
<readvalue>
Value read from MIPI RFFE device register. Returns the set value on register write.
The following command example reads register 0 of a MIPI RFFE device with device ID 1:
AT%XMIPIRFFEDBG=1,1,0
%XMIPIRFFEDBG: 0,2
OK
The following command example writes value 5 to register 37 of a MIPI RFFE device with device ID 1:
AT%XMIPIRFFEDBG=1,0,37,5
%XMIPIRFFEDBG: 0,5
OK
+CPIN=<pin>[,<newpin>]
The set command parameters and their defined values are the following:
<pin>
String of digits
<newpin>
String of digits. Mandatory if the required code is SIM Personal Unblocking Key
(PUK) or SIM PUK2.
AT+CPIN="1234"
OK
+CPIN: <code>
The read command parameter and its defined values are the following:
<code>
READY – No PIN required
SIM PIN – PIN code required
SIM PUK – PUK code required
SIM PIN2 – PIN2 code required
SIM PUK2 – PUK2 code required
PH-SIM PIN – USIM depersonalization required v1.2.x
The following command example shows how to check if a PIN code is needed with the response that a PIN
code is required:
AT+CPIN?
+CPIN: "SIM PIN"
OK
+CPINR=<sel_code>
+CPINR: <code>,<retries>
<sel_code>, <code>
SIM PIN
SIM PIN2
SIM PUK
SIM PUK2
Wildcard not supported.
<retries>
Integer. Number of remaining retries.
The following command example checks the remaining entries for PIN:
AT+CPINR="SIM PIN"
+CPINR: "SIM PIN",3
OK
+CLCK=<fac>,<mode>[,<passwd>]
The set command parameters and their defined values are the following:
<fac>
SC – SIM
PN – Network personalization v1.2.x v1.3.x
<mode>
0 – Unlock
1 – Lock
2 – Query status v1.2.x v1.3.x
<passwd>
String. Password for the facility.
Note: SC is supported in modes 0 and 1. PN, PU, PP, PC, and PS are supported in modes 0 and 2.
AT+CLCK="SC",0,"<passwd>"
OK
The following command example checks network personalization status when it is not active:
AT+CLCK=”PN”,2
+CLCK: 0
OK
AT+CLCK=?
+CLCK: ("SC","PS","PN","PU","PP","PC")
OK
+CPWD=<fac>,<oldpwd>,<newpwd>
The set command parameters and their defined values are the following:
<fac>
SC – SIM PIN
P2 – SIM PIN2
<oldpwd>,<newpwd>
String. Password.
AT+CPWD="SC","1234","5678"
OK
The test command parameters and their defined values are the following:
<fac>
SC – SIM PIN
P2 – SIM PIN2
<pwdlength>
Integer. Maximum length of the password.
The following command example returns a list of supported facilities and password lengths:
AT+CPWD=?
+CPWD: ("SC",8),("P2",8)
OK
%XUSIMLCK=<command>,<facility>,[<pwd>,[<permanent>,[<pers_data>]]]
<command>
1 – Personalize
2 – Depersonalize
3 – Disable
4 – Lock device to the first inserted USIM. The value of <facility> must be PS.
<facility>
String
PN – Network personalization
PU – Network subset personalization
PP – Service provider personalization
PC – Corporate personalization
PS – USIM personalization
<pwd>
String. A password for enabling or disabling personalization. Used for <command>
values 1, 2, or 4. The length of the password is 6–16 digits.
If PN Network Control Key, (NCK)
If PU Network Subset Control Key, (NSCK)
If PP Service Provider Control Key, (SPCK)
If PC Corporate Control Key, (CCK)
If PS Personalization Control Key, (PCK)
<permanent>
Programmable selection of the Control Key. Used only when the value of
<command> is 1. The permanent Control Key can be programmed once, and it is
therefore immutable once programmed.
0 – Nonpermanent Control Key
1 – Permanent Control Key
<pers_data>
String. Used only when the value of <command> is 1.
When <facility> is PN, <pers_data> can contain a maximum of 24 pairs of MCC and
MNC in the following format: MCC1.MNC1:MCC2.MNC2:…:MCCn.MNCn.
When <facility> is PU, <pers_data> can contain a maximum of 24 pairs of MCC
+MNC+Network Subset Code (digits 6 and 7 of IMSI) in the following format:
MCC1.MNC1.D61.D71:MCC2.MNC2.D62.D72:...:MCCn.MNCn.D6n.D7n,
where D6x and D7x represent the sixth and seventh digits of IMSI.
When <facility> is PP, <pers_data> can contain a maximum of 24 USIM
group identifiers for service provider personalization in the following format:
MCC1.MNC1.GID11:MCC2.MNC2.GID12:...:MCCn.MNCn.GID1n. GID1x
represents the first byte of EF_GID1 in USIM, see 3GPP TS 31.102 Ch. 4.2.10 EFGID1.
When <facility> is PC, <pers_data> can contain a maximum
of 24 pairs of USIM group identifiers from EFGID1 and 4.2.11
EFGID2 for corporate personalization in the following format:
MCC1.MNC1.GID11.GID21:MCC2.MNC2.GID12.GID22:...:
MCCn.MNCn.GID1n.GID2n.
GID1x and GID2x represent the first bytes of EF_GID1 and EF_GID2, see 3GPP TS
31.102 Ch. 4.2.10 EFGID1 and 4.2.11 EFGID2.
When <facility> is PS, <pers_data> can contain a maximum of 24 IMSIs as specified
in 3GPP TS 31.102 Ch. 4.2.2 EFIMSI. Fifteen IMSI digits can be given. The format is
the following: IMSI1:IMSI2:...:IMSIn.
The following command example creates a nonpermanent network personalization:
AT%XUSIMLCK=1,"PN","12345678",0,"100.200"
OK
AT%XUSIMLCK=2,"PN","12345678"
OK
AT%XUSIMLCK=3,"PN"
OK
This command locks device to the first inserted USIM in a nonpermanent manner:
AT%XUSIMLCK=4,"PS","12345678",0
OK
This command personalizes USIM to IMSI 100200777777777 (MCC=100, MNC=200, other digits are 7). The
facility PS is permanently locked to password "12345678". After depersonalization, no other keys can be
used for this facility:
AT%XUSIMLCK=1,"PS","12345678",1,"100200777777777"
OK
Note: This command is for future releases. In the current software release, the use of this
command is not required.
For information on the usage of the command, see Authenticating AT command usage on page 242.
%XSUDO=<data_len>,<signature>[,<sec_tag>]
<data_len>
Length of a signed command string.
Only the number of characters in <data_len> from an authenticated command is
processed, the rest are ignored. <data_len> shall not be greater than the given
command.
<signature>
Command signature in Base64 format.
<sec_tag>
Integer, 0–9 (optional). A secure tag for multiple public keys.
The following command example provides authenticated access for the restricted +CMD command:
AT%XSUDO=28,"c2lnbmF0dXJl";+CMD=...
OK
Syntax:
%XPMNG=<opcode>[,<content>[,<sec_tag>]]
%XPMNG: <content>
The set command parameters and their defined values are the following:
<opcode>
0 – Write
2 – Read
<content>
String. Mandatory if parameter <opcode> is "Write". An empty string is not allowed.
Parameter <content> is enclosed in double quotes. ASN.1 DER encoding in Base64
encoded with the header and footer of begin key and end key.
<sec_tag>
Integer, 0–9 (optional). A secure tag for multiple public keys.
The following command example writes the public key:
AT%XPMNG=2
%XPMNG: "-----BEGIN PUBLIC KEY-----...-----END PUBLIC KEY-----"
OK
The write and delete operations are allowed only when the modem is not activated.
Syntax:
%CMNG=<opcode>[,<sec_tag>[,<type>[,<content>[,<passwd>]]]]
%CMNG: <sec_tag>,<type>[,<sha>[,<content>]]
%CMNG: <sec_tag>,<type>[,<sha>]
<sec_tag> <type> shall be a unique pair, no multiple items with the same <sec_tag> and <type> values are
allowed.
The set command parameters and their defined values are the following:
<opcode>
0 – Write
1 – List
2 – Read
3 – Delete
<sec_tag>
Integer, 0–2147483647.
Mandatory for write, read, and delete operations. Optional for list operation.
Values above 2147483647 are reserved for the modem. <sec_tag>s with values
above 2147483647 might be visible in the %CMNG list command.
<type> v1.3.x
<content>
ASCII text in hexadecimal string format containing two IRA characters per octet
(PSK). Mandatory if <opcode> is write. An empty string is not allowed. A Privacy
Enhanced Mail (PEM) file enclosed in double quotes (X.509 PEM entities).
<passwd>
String. PKCS#8 password. Mandatory for writing a type 2 encrypted private key,
ignored for other types. Maximum length 32 characters.
Not supported in current modem firmware versions.
<sha> v1.3.x≥2
String in hexadecimal format. SHA-256 digest of the entity (DER, PEM) as stored in
the filesystem. 64 characters representing a 256-bit vector.
Note:
• <content> in the read response is exactly what is written, including <CR>, <LF>, and other
characters. The characters outside the double quotes are part of the AT response format.
• Reading types 1, 2, 3, and 10 are not supported.
• Writing and deleting types 8, 10, and 11 are not supported.
• Overwriting and deleting type 9 is not supported.
AT%CMNG=0,567890,1,"
-----BEGIN CERTIFICATE-----
MIIBc464...
...bW9aAa4
-----END CERTIFICATE-----”
OK
AT%CMNG=0,123,2,"
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICz...
...ukBu
-----END ENCRYPTED PRIVATE KEY-----”, ”abcdefg”
OK
The following command example lists a single item by specifying tag and type:
AT%CMNG=1,12345678, 0
%CMNG: 12345678, 0, "978C...02C4"
OK
AT%CMNG=1,12345678
%CMNG: 12345678, 0, "978C...02C4"
%CMNG: 12345678, 1, "1A8C...02BB"
OK
AT%CMNG=1
%CMNG: 12345678, 0, "978C...02C4"
%CMNG: 567890, 1, "C485...CF09"
%CMNG: 123, 2, "92E1...8AC8"
%CMNG: 654321, 3, "E0C9...511D"
OK
The following command example reads the root certificate with tag 12345678:
AT%CMNG=2, 12345678, 0
%CMNG: 12345678, 0, "978C...02C4",
"-----BEGIN CERTIFICATE-----
MIIBc464...
...bW9aAa4
-----END CERTIFICATE-----"
OK
The following command example deletes a client certificate with tag 123:
AT%CMNG=3,123,1
OK
The following command example reads a non-existing root certificate with tag 4567. Error code 513 is
returned:
AT%CMNG=2,4567,0
+CME ERROR: 513
The response contains a device identity attestation message including the device type, device UUID, and
COSE authentication metadata joined by a dot "." and coded to Base64url format.
Syntax:
%ATTESTTOKEN
AT%ATTESTTOKEN
%ATTESTTOKEN: "9aiUFOq7SOwtdPfEgdkPxV_vTYLoGeE0-gzV2e5c.jUfK3OpdVBVYWnso-
aOjIZcSTAwdqQQJWrrY2Lnc"
OK
Client private key and certificate signing request (CSR) (<key_type> 2, <response_content> 0)
The CSR can be passed to a Certificate Authority (CA) for requesting a client certificate for the device.
The modem stores the generated private key to a <sec_tag>. The client certificate must be stored
to the device in the same <sec_tag> as the client private key. The client device certificate and the
corresponding private key can be used as TLS client credentials.
The %KEYGEN response contains a Certificate Signing Request (CSR) and COSE
signature for the CSR separated by a dot "." with both sides Base64Url-encoded:
"Base64Url(CSR_DER).Base64Url(cose_sign)".
Note:
• The %KEYGEN command is allowed only when the modem is deactivated.
• The %CMNG list operation can be used to check the availability of generated keys.
Syntax:
%KEYGEN=<sec_tag>,<key_type>[,<response_content>][,<attributes>][,<key_usage>]
The set command parameters and their defined values are the following:
<sec_tag>
Integer, 1–2147483647.
<key_type>
Integer
Type of the decryption key. Values corresponding to <type> in %CMNG.
Supported values:
2 – Client private key
8 – Endorsement key
<response_content>
Integer
Mandatory for <key_type> 2. Optional for <key_type> 8.
Content of the response:
0 – Certificate signing request returned in response (<key_type> 2 only)
1 – Public key returned in response (<key_type> 2 or 8)
<attributes>
String
Optional. Valid only for CSR (<response_content> 0), otherwise ignored. The
content of the string is a comma-separated list of attribute ID and value pairs, for
example, "ID1=value1,ID2=value2", where the ID can be one of the supported
attributes listed below, and the values provide the corresponding information (see
RFC 5280).
Supported attributes:
commonName (CN)
locality (L)
stateOrProvinceName (ST)
organizationName (O)
organizationalUnitName (OU)
countryName (C)
domainComponent (DC)
surName (SN)
givenName (GN)
emailAddress (R)
serialNumber
postalAddress
postalCode
dnQualifier
title
initials
pseudonym
generationQualifier
If the <attributes> parameter is omitted, the default is "CN=<device-uuid>".
<key_usage>
String
Optional. Valid only for CSR (response_content 0), otherwise ignored. The string
contains 9 binary characters (0/1) corresponding to the KeyUsage bit string defined
in RFC 5280. The digits or bits in the string are numbered 0–8 from left to right, and
they have the following meaning (see RFC 5280 for more details).
0 – digitalSignature (the first digit)
1 – nonRepudiation
2 – keyEncipherment
3 – dataEncipherment
4 – keyAgreement
5 – keyCertSign
6 – cRLSign
7 – encipherOnly
8 – decipherOnly (the last digit)
AT%KEYGEN=11,2,0,,"101010000"
%KEYGEN: "ckijfiok.jdiqhdn"
OK
The following command example generates a key for TLS. The key is stored to <sec_tag> 11. The
<key_type> is client private key, and it includes the optional parameters <attributes> and <key_usage>:
AT%KEYGEN=11,2,0,"O=Nordic Semiconductor,L=Trondheim,C=no","101010000"
%KEYGEN: "MIIBHDCBwAIBADBAMR0wGwYDVQQKDBROb3JkaWMgU2VtaWNvbmR1Y3RvcjESMBAGA1UEB
wwJVHJvbmRoZWltMQswCQYDVQQGEwJubzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAP6p4ZjYNG0
FFdz5axZkbcQzfO8Fkzws4o2unhS5qqgON5BA6jj0TbHJ5imPbVXWNiDVCNc0us41NtL3TygDdqgHjA
cBgkqhkiG9w0BCQ4xDzANMAsGA1UdDwQEAwIDqDAMBggqhkjOPQQDAgUAA0kAMEYCIQDnFWQl-x25qj
EPBtLrvH5wwecrA5KmjUcK_b3eok5nmQIhALsSKRmuqDM3H09-q4R0MSpYprWZZp5iPjRMtZbjataH.
0oRDoQEmoQRBIVhL2dn3hQlQUFAwQTYzQ7CAwwEaNJbawEELWCD7er2zKHc8yAMi8x-1jAuCEqaLmJ3
PMZTHIYSrmIR0tlD7CDRaW--s0c7XA4pI3r9wWEAQOGVg5VejmHx9o_sF1RcGBMClw-MkN_wMrS2ryM
8CdA427j96z_4wjLgBvejVnYGAl7qqL77qlEbBEzXOkLx4"
OK
The following command example generates an endorsement key. The key is stored to <sec_tag> 33. The
<key_type> is endorsement private key:
AT%KEYGEN=33,8
%KEYGEN: "vdofjihew.cnjeiwhfok"
OK
%KEYINJECT=<msg>
Response syntax:
%KEYINJECT: <response>
The set command parameters and their defined values are the following:
<msg>
Provisioning message and signature separated by a dot ".". The actual message is
encrypted and the ciphertext is delivered in a COSE_Encrypt object.
The format is
"Base64url(COSE_Encrypt(provisioning_message)).Base64url(COSE_Sign1)".
<response>
The response format is base64url(cbor_resp).
The following command example shows the nRF9160 modem receiving an encrypted provisioning
message:
%KEYINJECT="2GCEQ6EBCqEFTS6b97seIkh_t5cLNhpYikK5miurjQrYHxWuPaA_LQFo5Qk2s9g3xO71g8ec-
AVvKRyk4Gdo2DCRL9q3gGOZxgrYEN9R44F1WOdaGhnaypjtdNwqgu-
Kv-6DlZRqyxKkSvrZLuOq3R6GdLPK2BZ5pQNYkeN
8dIPhJujbA5Bb_bt_iUrlYA2jIF3MR395PDtd4BlTb4ika-
tVeoGDRKEBOBiiIKQBAiABIVgg8zFHgdz6a3LjQ2Nq7V-jM
u9CM3KxI9XjPajLT8fOKGkiWCDi4YnIiCDQisIPWoCaucAnUUti4h-
eazw1UMX3LR3X_ARCGC1A.0oRYH6MBJjoAAQAAUL
UTc_owres5hDTJSUsd4r46AAEAAQShBEMZAtP2WEAIQ9Gw3O2-
ymC1_bMChHdYorwSPGSK7okxl9Xkj3V7JVrUW1UK7QeW
M1ajtaxNYs7wJARQdeSmMbNTF6R0_VuD"
%KEYINJECT: "2dn3gwVQ________RK2Afv__z-ihGIEA"
OK
%JWT=[<alg>],[<exp_delta>],[<subject>],[<audience>][,<sec_tag>,<key_type>]
Response syntax:
%JWT: <jwt>
<alg>
Integer
Defines the JWT signing algorithm. The default value is 0. Other values are currently
not supported.
0 – ES256
<exp_delta>
Integer
The number of seconds before expiry. The modem adds the <exp_delta> value to
the current time to determine the "exp" (expiration time) claim defined in RFC 7519
4.1.4 identifying the time when or after which the JWT must not be accepted for
processing.
If <exp_delta> is not given, or the value is 0, the "exp" and "iat" claims are not
included in the JWT.
Note: To get valid "exp" and "iat" claims, the device must have a valid date
and time that can be received from the network or set manually (see the
+CCLK and %CCLK commands).
<subject>
String
The "sub" (subject) claim for the JWT as defined in RFC 7519 4.1.2. Identifies the
principal that is the subject of the JWT.
<audience>
String
The "aud" (audience) claim for the JWT as defined in RFC 7519 4.1.3. Identifies the
recipients that the JWT is intended for.
<sec_tag>
Integer
Identifies the key to be used for signing the JWT. The values correspond to the
<sec_tag> parameter in %CMNG.
<key_type>
Integer
Type of the key to be used for signing the JWT. The values correspond to the <type>
parameter in %CMNG.
2 – Client private key
8 – Endorsement private key
<jwt>
String
Created JWT as Base64Url encoded string.
AT%JWT: 0,3600,"ClientAuth","urn:server"
%CERTEXPIRY=<sec_tag>,<type>
Response syntax:
The set command parameters and their defined values are the following:
<sec_tag>
Integer, 1–2147483647.
<type>
0 – Root CA certificate.
1 – Client certificate.
10 – Nordic identity root CA.
<serial number>
String in hexadecimal format. Certificate serial number.
<notBefore>
Certificate not valid before.
Format: yyyymmddmmssZ
yyyy – Four digits for the year.
mm – Two digits for the month.
dd – Two digits for the date.
hh – Two digits for hours.
mm – Two digits for minutes.
ss – Two digits for seconds.
Z – Time zone Zulu/UTC.
<NotAfter>
Certificate not valid after.
Format: yyyymmddhhmmssZ
%CERTEXPIRY=1,0
The following response example reads the expiry information of a certificate with serial number
00AEF87681FA968B61 that is valid from August 23, 2017 8:47:37 AM GMT to August 23, 2018 8:47:37 AM
GMT:
%CERTEXPIRY: 00AEF87681FA968B61,20170823084737Z,20180823084737Z
%XSIM=<n>
Notification syntax:
%XSIM: <state>[,<cause>]
The set command parameters and their defined values are the following:
<n>
0 – Unsubscribe UICC notifications
1 – Subscribe UICC notifications
<state>
0 – UICC not initialized
1 – UICC initialization OK
<cause> v1.3.x
AT%XSIM=1
OK
%XSIM: 0
%XSIM: 1
%XSIM: <state>[,<cause>]
The read command parameter and its defined values are the following:
<state>
0 – UICC not initialized
1 – UICC initialization OK
<cause> v1.3.x
AT%XSIM?
%XSIM: 1
OK
The following command example reads the UICC state. The response indicates that a PIN code is required:
AT%XSIM?
%XSIM: 0,1
OK
+CIMI
Response syntax:
<IMSI>
The response parameter and its defined value are the following:
<IMSI>
String without double quotes. IMSI.
AT+CIMI
284011234567890
OK
%XICCID
Response syntax:
%XICCID: <ICCID>
The response parameter and its defined value are the following:
<ICCID>
String without double quotes. ICCID from the USIM card.
The following command example requests the ICCID of the USIM card:
AT%XICCID
%XICCID: 8901234567012345678F
OK
+CNUM
Response syntax:
+CNUM: ,<number1>,<type1>
An ERROR response is returned if MSISDN is not available on SIM card or if SIM card is not initialized.
The set command parameters and their defined values are the following:
<numberx>
String. Phone number of format specified by <typex>.
<typex>
Integer. Type of address octet (see 3GPP TS 24.008, subclause 10.5.4.7).
The following command example reads the subscriber number stored in the SIM:
AT+CNUM
+CNUM: ,"+1234567891234",145
OK
+CRSM=<command>[,<fileid>[,<P1>,<P2>,<P3>[,<data>[,<pathid>]]]]
Response syntax:
+CRSM: <sw1>,<sw2>[,<response>]
The set command parameters and their defined values are the following:
<command>
Integer
176 – READ BINARY
178 – READ RECORD
192 – GET RESPONSE
214 – UPDATE BINARY
220 – UPDATE RECORD
242 – STATUS
203 – RETRIEVE DATA
219 – SET DATA
<fileid>
Integer. Identifier of an elementary data file on SIM. Mandatory for every command
except STATUS. The range of valid file identifiers depends on the actual SIM and is
defined in 3GPP TS 51.011. Optional files may not be present at all.
<data>
String in hexadecimal format. Information that shall be written to the SIM.
<pathid>
String in hexadecimal format. Contains the path of an elementary file on the
SIM/UICC (for example, "7F205F70" in SIM and UICC case). The <pathid> shall be
used only in the mode "select by path from MF" as defined in ETSI TS 102 221.
<sw1>, <sw2>
Integer. Information from the SIM about command execution. These parameters are
delivered to the TE in both cases, on successful or failed command execution.
<response>
String in hexadecimal format. Issued once a command is successfully completed.
STATUS and GET RESPONSE return data which provides information about the
current elementary data field. This information includes file type and size (see 3GPP
TS 51.011). After READ BINARY, READ RECORD, or RETRIEVE DATA command, the
requested data is returned. <response> is not returned after a successful UPDATE
BINARY, UPDATE RECORD, or SET DATA command.
The following command example reads the forbidden PLMN list:
AT+CRSM=176,28539,0,0,12
+CRSM: 144,0,"64F01064F040FFFFFFFFFFFF"
OK
For reference, see 3GPP 27.007 Ch. 8.17 and ETSI TS 102 221 Ch. 10 and 11.
To avoid conflicts with modem firmware, +CSIM is limited so that only the following commands are
allowed on a basic channel (channel 0 encoded in CLA):
• STATUS, with P1=”No indication”
• MANAGE CHANNEL, open/close logical channels
• PIN-code-related commands (VERIFY, UNBLOCK, ENABLE, DISABLE, CHANGE)
• ENVELOPE, send application toolkit-specific information to UICC
To use other commands, use MANAGE CHANNEL to open a logical channel, encode the channel number
in the CLA byte of the subsequent commands, and close the logical channel when SIM card access is
finished.
+CSIM=<length>,<command>
Response syntax:
+CSIM: <length>,<response>
The set command parameters and their defined values are the following:
<length>
Integer. The number of hexadecimal characters.
<command>
The command passed to the SIM in hexadecimal format. Two characters per byte.
Contains CLA, INS, P1, P2, and optionally Lc, Data, and Le bytes according to the
command Application Protocol Data Unit (APDU) structure specification in ETSI TS
102 221, Ch. 10.1.
<response>
The response from the SIM in hexadecimal format. Two characters per byte.
Contains optional data bytes and SW1, SW2 according to the response APDU
structure specification in ETSI TS 102 221, Ch. 10.2.
The following command example performs a MANAGE CHANNEL command to open a logical channel.
The SIM card returns channel number 01 and success status 9000:
AT+CSIM=10,"0070000001"
+CSIM: 6,"019000"
OK
+CCHO=<dfname>
Response syntax:
+CCHO: <sessionid>
The set command parameters and their defined values are the following:
<dfname>
1–16 bytes. Application selected in the UICC referenced by a DF name.
<sessionid>
Integer.
Session ID used to target a specific application on a smart card, such as USIM, using
the opened logical channel.
The following command example opens a logical channel and selects an IP Multimedia Services Identity
Module (ISIM) application in the GSMA Generic eUICC Test Profile:
AT+CCHO="A0000000871004FF49FF0589"
+CCHO: 2
OK
+CCHC=<sessionid>
The set command parameter and its defined values are the following:
<sessionid>
Integer.
Session ID used to target a specific application on a smart card, such as USIM, using
the opened logical channel.
The following command example closes a previously opened logical channel:
AT+CCHC=2
OK
Note: Executing a Run GSM Algorithm command or an Authenticate command from the TE using
the +CGLA command is not supported.
Syntax:
+CGLA=<sessionid>,<length>,<command>
Response syntax:
+CGLA: <length>,<response>
The set command parameters and their defined values are the following:
<sessionid>
Integer.
Session ID used to target a specific application on a smart card, such as USIM, using
the opened logical channel.
<length>
Integer. Number of hexadecimal characters.
<command>
The command passed to the SIM in hexadecimal format. Two characters per byte.
Contains CLA, INS, P1, P2, and optionally Lc, Data, and Le bytes according to the
command APDU structure specification in ETSI TS 102 221, Ch. 10.1.
<response>
The response from the SIM in hexadecimal format. Two characters per byte.
Contains optional data bytes and SW1, SW2 according to the response APDU
structure specification in ETSI TS 102 221, Ch. 10.2.
The following command example is the Status command that returns the currently selected AID on the
channel:
AT+CGLA=2,10,"80F2000100"
+CGLA: 32,"840CA0000000871004FF49FF05899000"
OK
The response is DF name TLV-object (tag, length, AID) + SW1, SW2 ('9000').
%USATEV=<subscribe>[,<event_mask>]
The set command parameters and their defined values are the following:
<subscribe>
0 – Unsubscribe and disable USAT event notifications.
1 – Subscribe and enable USAT event notifications.
<event_mask>
String. Bit string where LSB is BIP events. Leading zeros can be omitted. Maximum
length 3 characters. If the parameter is omitted, notifications of all events are
subscribed.
Allows to select a subset of USAT events to be reported. Can be used only in a
subscribe command (<subscribe>=1). One or more event categories can be
selected by setting bits to 1. If the <event_mask> parameter is omitted, all events
are enabled (same as entering <event_mask> "111").
Bit 1 – BIP events.
Bit 2 – REFRESH events.
Bit 3 – SMS delivery to or from UICC.
<refresh_type>
REFRESH mode received from UICC.
Valid range 0–10.
Values as specified in ETSI TS 102 223 Ch. 8.6.
<refresh_result>
Result of REFRESH command.
0 – REFRESH performed successfully.
1 – REFRESH rejected, for example, device is busy on data transfer.
2 – REFRESH failed.
The notification syntax descriptions are as follows:
SMS has been received and delivered to UICC by using envelope command SMS-PP data download:
Sending SMS requested by UICC by using proactive command SEND SHORT MESSAGE:
BIP channel connect process has been started as requested by UICC by using proactive command OPEN
CHANNEL:
BIP channel connect process has been finished successfully, providing the UICC access to, for example, SIM
Over-the-Air (OTA) server:
BIP channel connection attempt failed or the channel has been closed by UICC by using proactive
command CLOSE CHANNEL:
Proactive command REFRESH has been received from UICC indicating that UICC content has been
changed:
The following command example subscribes notifications of all available USAT events:
AT%USATEV=1
OK
The following command example subscribes notifications of BIP channel related USAT events only:
AT%USATEV=1,"001"
OK
The following command example subscribes notifications of BIP channel and SMS related USAT events
only:
AT%USATEV=1,"101"
OK
AT%USATEV=0
OK
%USATINFO
Response syntax:
%USATINFO: <refresh_state>,<bip_state>
The set command parameters and their defined values are the following:
<refresh_state>
Integer.
0 – REFRESH command handling is not ongoing.
1 – REFRESH command handling is ongoing.
<bip_state>
Integer.
0 – BIP channel is closed. No ongoing activity.
1 – BIP channel is connecting to server.
2 – BIP channel is connected. UICC can perform data transfer.
The following command example gets USAT information when BIP or REFRESH activity is not ongoing:
AT%USATINFO
%USATINFO: 0,0
OK
The following command example gets USAT information when REFRESH is ongoing:
AT%USATINFO
%USATINFO: 1,0
OK
The following command example receives USAT information when BIP channel is connected to, for
example, a SIM OTA server:
AT%USATINFO
%USATINFO: 0,2
OK
allows for a delay in executing a suspend and deactivate of the UICC when the conditions to allow start of
suspend and deactivate are met.
UICC suspension and deactivation are enabled with no delay by default. UICC can be suspended or
deactivated when allowed by conditions specified in ETSI TS 102 221 and 3GPP TS 31.102, 5.1.10 (PSM) or
3GPP TS 31.102, 5.1.11 (eDRX).
Note: In an AT&T subscription, the minimum sleep time for suspend and deactivate is two minutes.
Syntax:
+SSRDA=<sus>,<deac>,<del>
The set command parameters and their defined values are the following:
<sus>
Controls suspend and resume UICC capability.
0 – Disable suspend and resume UICC.
1 – Enable suspend and resume UICC.
<deac>
Controls deactivate and activate UICC capability.
0 – Disable deactivate and activate UICC.
1 – Enable deactivate and activate UICC.
<del>
Delay in executing a suspend or deactivate of the UICC upon meeting the conditions
to allow start of suspend or deactivate in decimal format.
0–10 seconds.
The following command example enables UICC suspension and deactivation functionality with no delay
after meeting conditions to start using the default parameters:
AT+SSRDA=1,1,0
OK
The following command example enables UICC suspension with five seconds delay after meeting
conditions to start suspension and disables UICC deactivation:
AT+SSRDA=1,0,5
OK
The following command example disables UICC suspension and enables UICC deactivation with ten
seconds delay:
AT+SSRDA=0,1,10
OK
Response syntax:
+SSRDA: <sus>,<deac>,<del>
The read command parameter and its defined values are the following:
<sus>
0 – Suspend and resume UICC disabled.
1 – Suspend and resume UICC enabled.
<deac>
0 – Deactivate and activate UICC disabled.
1 – Deactivate and activate UICC enabled.
<del>
Delay in executing a suspend or deactivate of the UICC upon meeting the conditions
to allow start of suspend or deactivate in decimal format.
0–10 seconds.
The following command example reads the parameters when UICC suspension and deactivation are
enabled and there is no delay, which are the default parameters:
AT+SSRDA?
+SSRDA: 1,1,0
OK
The following command example reads the configuration when UICC suspension is disabled and
deactivation is enabled with ten seconds delay:
AT+SSRDA?
+SSRDA: 0,1,10
OK
openssl ecparam -name prime256v1 -genkey -noout -out [private key PEM file]
openssl ec -in [private key PEM file] -out [public key PEM file] -pubout
AT%XPMNG=0,”<public key>”
OK
b) Create a digest file with OpenSSL from AT command that needs authentication:
openssl sha256 -binary [AT command text file] > [digest file]
openssl pkeyutl -sign -in [digest file] -out [signature file] -inkey [private key PEM
file]
For more information on the command, see Authenticated access %XSUDO on page 212.
AT command
A command used to control the modem.
Cat-M1
LTE-M UE category with a single RX antenna, specified in 3GPP Release 13.
Cat-NB1
NB-IoT UE category with 200 kHz UE bandwidth and a single RX antenna, specified in 3GPP Release
13.
Cat-NB2
An upgraded version of Cat-NB1, specified in 3GPP Release 14.
DER
Distinguished Encoding Rules
Firmware-Over-The-Air (FOTA)
A firmware update performed remotely over the air (OTA).
LTE-M
Over-the-Air (OTA)
Refers to any type of wireless transmission.
PS Mode of Operation
A UE mode of operation. The UE registers only to EPS services.
RP-SMMA
A message sent by the User Equipment to relay a notification to the network that the mobile has
memory available to receive one or more short messages.
UUID
Universally Unique Identifier
Liability disclaimer
Nordic Semiconductor ASA reserves the right to make changes without further notice to the product to
improve reliability, function, or design. Nordic Semiconductor ASA does not assume any liability arising out
of the application or use of any product or circuits described herein.
Nordic Semiconductor ASA does not give any representations or warranties, expressed or implied, as to
the accuracy or completeness of such information and shall have no liability for the consequences of use
of such information. If there are any discrepancies, ambiguities or conflicts in Nordic Semiconductor’s
documentation, the Product Specification prevails.
Nordic Semiconductor ASA reserves the right to make corrections, enhancements, and other changes to
this document without notice.
Trademarks
All trademarks, service marks, trade names, product names, and logos appearing in this documentation
are the property of their respective owners.
Copyright notice
© 2022 Nordic Semiconductor ASA. All rights are reserved. Reproduction in whole or in part is prohibited
without the prior written permission of the copyright holder.