Menu

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

NB-IoT Power Optimizations: eDRX, PSM

PSM (Power Save Mode)

Typically IoT devices tend to send or receive data intermittently. Between periods of data transmission and reception, the device can be put to sleep to optimize battery consumption.

Power Save Mode is a feature of the cellular modem that turns off the device radio and puts the device to sleep without having the need to reattach itself to the network after it wakes up. The reattach procedure consumes a small amount of energy, but the cumulative energy consumption of reattaches can become significant over the lifetime of a device. Therefore, battery life could be extended if this procedure could be avoided. PSM enables the developer to eliminate the need to incur the extra battery consumption hit.

  • PSM is a UE mechanism to reduce the energy used by the UE. The UE reports how often and for how long it needs to be active in order to transmit and receive data. However, the final values are determined by the network.
  • PSM mode is similar to power-off, but the UE remains registered with the network. When the UE becomes active again there is no need to re-attach or re-establish PDN connections.
  • The PSM feature was introduced in 3GPP Release 12 and is available for all LTE device categories. UE requests the PSM simply by including a timer with the desired value in the attach, TAU or routing area update.

PSM-dia.png

How does it work?

When a device initiates PSM with the network, it provides two preferred timers (T3324 and T3412); PSM time is the difference between these timers (T3412-T3324). The network may accept these values or set different ones. The network then retains state information and the device remains registered with the network. If a device awakes and sends data before the expiration of the time interval it agreed with the network, a reattach procedure is not required.

Can a device receive messages when it's in an active PSM cycle?

No. A device is unreachable during this period.

Can a device be reached via NIDD when it's in an active PSM cycle?

No. NIDD works over the paging channel which leverages the radio. In an active PSM cycle, the radio is fully shut down and the device cannot be reached.

What happens to data packets that get sent to a device when it's in an active PSM cycle?

Per 3GPP requirements, the data packets need to be stored by the network. Recommendations are for the MNO to set aside storage for at least the last packet of 100 bytes.

How long can a device stay in a PSM cycle?

A device can remain in PSM cycle for a max of 12 hours on the T-Mobile NB network.

Working with PSM

PSM has to be supported on the cellular module. It can be enabled using AT Commands on the device.

Example on the Quectel BG96:

AT+QCFG="psm/urc"[enable].

AT +QPSMTIMER: <tau_timer>,<T3324_timer>

There is no network configuration to be done by the user. Just enabling it on the device is sufficient.

The requested periodic TAU timer value is encoded per the GPRS Timer 3 specification (see section 10.5.7.4a of 3GPP TS 24.008) as follows:

Bits 5 to 1 represent the binary coded timer value. Bits 6 to 8 defines the timer value unit for the timer as follows:

Timer 3 value:

Timer value is incremented in multiples of:

000xxxxx

10 minutes

001xxxxx

1 hour

010xxxxx

10 hours

011xxxxx

2 seconds

100xxxxx

30 seconds

101xxxxx

1 minute

110xxxxx

320 hours *

111xxxxx

Timer is deactivated

* 320 hours - see note in the 3GPP TS 24.008 specification, table 10.5.163a for additional information on this value.

The requested active time is a single binary string byte value defined by octet 3 of the GPS Timer 2 specification (see section 10.5.7.4 of 3GPP TS 24.008) as follows:

Bis 5 to 1 represent the binary coded timer value. Bits 6 to 8 defines the timer unit for the timer as follows:

Timer value:

Timer value is incremented in multiples of:

000xxxxx

2 seconds

001xxxxx

1 minute

010xxxxx

1 decihour (6 minutes)

111xxxxx

Timer is deactivated

AT+CPSMS=1,,,"01000011","01000011"

(Enables (1) PSM with a periodic TAU value of 30 hours (“01000011”) with a requested active time of 3 decihours (18 minutes) (“01000011”))

AT+CPSMS=0

(Disables (0) PSM mode)

eDRX

Extended Discontinuous Reception (eDRX) is an extension of an existing LTE feature that can be used by IoT devices to reduce power consumption. eDRX can be used without PSM or in conjunction with PSM to obtain additional power savings.

eDRX allows the time interval during which a device is not listening to the network to be greatly extended. For an IoT application, it might be quite acceptable for the device to not be reachable for a few seconds or longer. Whilst not providing the same levels of power reduction as PSM, for some applications eDRX may provide a good compromise between device reachability and power consumption. Networks and devices negotiate when devices can sleep. The device keeps its receiver circuitry switched off for a defined period of time; during this time, the device is not listening for paging or downlink control channels. When the UE (device) wakes up, the receiver will listen for the Physical Control Channel.

eDRX dia.png

The allowed values for eDRX are listed below

eDRX allowed values

20.48 seconds

40.96 seconds

81.92 seconds (~1 minute)

163.84 seconds (~ 3 min)

327.68 seconds (~ 5 min)

655.36 seconds (~ 11 min)

1310.72 seconds (~22 min)

2621.44 seconds (~44 min)

5242.88 seconds (~87 min)

10485.76 seconds (~175 min)

Working with eDRX

eDRX support varies between carriers. The UE makes a request for a given eDRX cycle from the network and the network responds with the actual applied eDRX cycle and paging time window (PTW).

Enabling eDRX does not adversely affect the module's ability to send data, but turns off reception for the configured cycle interval, saving power.

T-Mobile supports all documented (see Table 10.5.5.32 of 3GPP TS 24.008) values for the Narrowband eDRX cycle, NB-S1 mode, ranging from ~20s (20.48s) to ~3hrs (10485.76s). Values are represented by bit strings of the form:

“0010”

20.48s

“0011”

40.96s

“0101”

81.92s

“1001”

163.84s

“1010”

327.68s

“1011”

655.36s

“1100”

1310.72s

“1101”

2621.44s

“1110”

5242.88s

“1111”

10485.76s (~175min)

Depending on the module, the requested eDRX cycle will be stored in NVM and persist between sessions. Modules typically support disabling eDRX with a subsequent AT command along with an option to restore the default value.

To configure eDRX on both the u-blox SARA-N410-02b and Quectel BG96 for NB, you use the AT+CEDRXS command as follows:

AT+CEDRXS=2,5,"1001"

(requests enabling eDRX with URC feedback (2) for Narrowband (5) an eDRX cycle time of 163.84s (“1001”))

The network will respond, via a URC if configured, repeating the requested cycle interval along with the actual effective cycle interval and the network specified PTW time. An example URC for the above command is:

+CEDRXP: [5,"1001","1001","0111"]

The returned PTW value returned for NB-S1 corresponds to the following timings:

“0000”

2.56s

“0001”

5.12s

“0010”

7.68s

“0011”

10.24s

“0100”

12.8s

“0101”

15.36s

“0110”

17.92s

“0111”

20.48s

“1000”

23.04s

“1001”

25.6s

“1010”

28.16s

“1011”

30.72s

“1100”

33.28s

“1101”

35.84s

“1110”

38.4s

“1111”

40.96s

To disable eDRX for NB:

AT+CEDRXS=0,5

(disable eDRX (0) for Narrowband (5))

Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.