eDRX and PSM Timers

eDRX (Extended Discontinuous Reception) and PSM (Power Saving Mode) are power-saving features of LTE-M and NB-IoT modems and networks designed to help devices minimize power consumption by controlling how often they wake up to communicate. For battery-powered IoT devices, this is critical to maximizing operational lifetime.

Typically, when a device connects to a network, the modem will spend a short amount of time actively negotiating with the network to establish a connection. If the device later disconnects from the network in order to turn off the modem and conserve power, this connection will be closed, and the entire negotiation process must be repeated each time the device reconnects.

Moreover, while the device is connected, even though the modem will use a feature called DRX (Discontinuous Reception) to briefly turn off its transmitter and receiver and conserve power when there is no data to send to the network, it will still turn on its receiver periodically (normally every 1.28 or 2.56 seconds for 4G/LTE networks) to check if there is any incoming data to receive from the network.

Over time, the power consumed during network reconnection negotiation and periodic incoming data checks can add up to significantly affect the device's battery life.

eDRX and PSM allow a device to mitigate these issues directly:

Comparison

Comparison eDRX PSM
Can Receive Incoming Data? Yes, during the time where the modem periodically turns on its receiver No, device is completely offline until the modem is next scheduled to wake up
Sleep Duration and Downlink Latency Seconds to minutes Hours to days
Power Consumption Moderate savings Maximum savings
Best For Devices that need to be able to receive remote commands or updates Devices that rarely need incoming data and instead prioritize battery life

When To Use eDRX

When To Use PSM

When To Use Both

Devices can combine both features to fine-tune power consumption by first using eDRX to remain reachable for incoming downlink data without turning on the receiver excessively, and then entering PSM to fully power down until the next scheduled uplink. This combination provides:

Network Support and Compatibility

eDRX and PSM support is network-dependent and not guaranteed on all networks. Some networks may only support one feature, restrict simultaneous use of both features, or impose different limitations on supported timer lengths. For example, if your device requests a 44-minute eDRX timer length but the network only supports 22 minutes, the device will operate with the 22-minute timer length.

Networks may also differ in RRC (Radio Resource Control) connection timing, size and duration of buffered downlink data during sleep phases, and connection management features such as RAI (Release Assistance Indicators).

Furthermore, as Soracom provides coverage on multiple networks in most countries, the applied timers can change when your device switches from one network to another, even if the device is located in the same place or uses the same configuration.

Devices should query the timer lengths accepted and applied by the network and operate accordingly, rather than assuming that requested timer lengths were accepted.

See Supported Carriers for network coverage information, and Soracom LPWAN Coverage for the latest tested eDRX and PSM feature support.

Configuration

eDRX and PSM can be configured in two ways:

Regardless of configuration method, always:

  • Check the latest network-specific timer length support published on Soracom LPWAN Coverage
  • Verify that your modem supports the desired timer lengths using AT+CEDRXS? and AT+CPSMS? (or equivalent)
  • Verify that the network accepts and applies the requested timer lengths using AT+CEDRXRDP and AT+CEREG=4;AT+CEREG? (or equivalent)
  • Test your devices in their target deployment locations or environments and verify that they operate according to the applied timer lengths

Device-Side Configuration

eDRX Configuration

Device-side eDRX configuration is performed using AT commands with a desired eDRX Cycle length, which controls the interval at which the modem turns on its receiver to check for incoming downlink data. An additional Paging Time Window (PTW) length controls how long the modem will keep the receiver turned on during each cycle.

For example, with a 20.48-second eDRX Cycle length and a 2.56-second PTW length, every 20.48 seconds, the modem will turn on its receiver and actively listen for incoming data for 2.56 seconds, then turn off the receiver for the remaining 17.92 seconds of the cycle, and repeat.

Note: There is no standardized AT command for configuring the PTW length. If you need to configure the PTW length, refer to your modem's AT command manual for details.

To configure eDRX:

  1. Use the AT+CEDRXS command with the following parameters:

    AT+CEDRXS=<mode>,<AcT-type>,<Requested_eDRX_value>
    • <mode>: 2 to enable eDRX, 3 to disable, 0 to disable and reset to default
    • <AcT-type>: 4 for LTE-M, 5 for NB-IoT
    • <Requested_eDRX_value>: Binary string enclosed in double-quotes, corresponding to the desired eDRX Cycle Length

    For example, the command AT+CEDRXS=2,4,"0011" will enable eDRX for LTE-M with a requested eDRX Cycle length of 40.96 seconds.

  2. Then use the AT+CEDRXRDP command to check the eDRX Cycle and PTW lengths accepted and applied by the network:

    AT+CEDRXRDP
    +CEDRXRDP: <AcT-type>,<Requested_eDRX_value>,<NW-provided_eDRX_value>,<Paging_time_window>
    • <AcT-type> and <Requested_eDRX_value>: Same as above
    • <NW-provided_eDRX_value>: Binary string corresponding to the eDRX Cycle Length accepted and applied by the network
    • <Paging_time_window>: Binary string corresponding to the Paging Time Window Length accepted and applied by the network

    For example, a response of +CEDRXRDP: 4,"0011","0011","0000" with matching eDRX Cycle values indicates that the network accepted and applied the requested eDRX Cycle length of 40.96 seconds, and also applied a PTW length of 1.28 seconds.

    Differing requested and network-provided values indicate that the network did not accept the requested eDRX Cycle length, and the device should instead operate according to the network-provided length.

PSM Configuration

Device-side PSM configuration is performed using AT commands with a desired Periodic TAU Timer and Active Timer, which control the interval at which the modem wakes up and performs a required Tracking Area Update (TAU) in order to persist the network connection, and how long it will check for incoming downlink data and remain reachable, respectively.

For example, with a 30-hour Periodic TAU Timer length and a 10-second Active Timer length, every 30 hours, the modem will perform a TAU, then wait for incoming downlink data for 10 seconds, then enter PSM for the remaining ~29 hours and 50 seconds, and repeat.

To configure PSM:

  1. Use the AT+CPSMS command with the following parameters:

    AT+CPSMS=<mode>,,,<Requested_Periodic-TAU>,<Requested_Active-Time>

    For example, the command AT+CPSMS=1,,,"01000011","00000101" will enable PSM with a requested Periodic TAU Timer length of 30 hours and an Active Timer length of 10 seconds.

    You can use the PSM Calculation Tool to generate an AT command with the correct Periodic TAU Timer and Active Timer binary string values for your desired timer lengths.

  2. Then check the PSM timer lengths accepted and applied by the network. As the specific AT command to use may vary from one modem to another, refer to your modem's AT command manual for details. For example:

    • Using AT+CPSMS?:

      AT+CPSMS?
      +CPSMS: <mode>,,,<Requested_Periodic-TAU>,<Requested_Active-Time>,<NW-provided_Periodic-TAU>,<NW-provided_Active-Time>
      • <mode>, <Requested_Periodic-TAU>, and <Requested_Active-Time>: Same as above
      • <NW-provided_Periodic-TAU>: Binary string corresponding to the Periodic TAU Timer (T3412) Length accepted and applied by the network
      • <NW-provided_Active-Time>: Binary string corresponding to the Active Timer (T3324) Length accepted and applied by the network

      For example, a response of +CPSMS: 1,,,"01000011","00000101","01000011","00000101" with matching Periodic TAU Timer and Active Timer values indicates that the network accepted and applied the requested Periodic TAU Timer length of 30 hours and Active Timer length of 10 seconds.

    • Using AT+CEREG=4 to configure the modem to show PSM timer length information, followed by AT+CEREG?:

      AT+CEREG=4
      OK
      AT+CEREG?
      +CEREG: <n>,<stat>,<tac>,<ci>,<AcT>,,,<NW-provided_Periodic-TAU>,<NW-provided_Active-Time>

      For example, a response of +CEREG: 4,5,"55F0","004F4429",7,,,"01000011","00000101" indicates the network accepted and applied a Periodic Timer length of 30 hours and Active Timer length of 10 seconds.

    Differing requested and network-provided values indicate that the network did not accept the requested Periodic TAU Timer or Active Timer lengths, and the device should instead operate according to the network-provided lengths.

When a modem is in PSM, it may become unresponsive to AT commands. After configuring PSM, ensure that your devices checks the timer lengths accepted and applied by the network and schedules subsequent AT commands to be sent during the Active Timer period.

Network-Side Configuration

Soracom provides a feature that allows you to configure eDRX and PSM timer settings within a Group. When a Soracom IoT SIM belonging to the group attaches to a network, these settings will be sent from Soracom directly to the network, without the need to implement eDRX- and PSM-specific AT commands into the device firmware or application.

Note that networks may still impose different limitations on supported timer lengths. Even when using network-side configuration, devices should still query the timer lengths accepted and applied by the network and operate accordingly, rather than assuming that the requested timer lengths were accepted.

To use this feature, contact Soracom Support in order to request access.

Timer Lengths

The values for eDRX and PSM timer lengths below are defined in 3GPP technical specifications TS 24.301 (for eDRX) and TS 24.008 (for PSM). However, actual values can still vary between modem implementations, firmware versions, and networks. Refer to your modem's AT command manual for details.

When implementing eDRX and PSM for production deployments, always:

  • Check the latest network-specific timer length support published on Soracom LPWAN Coverage
  • Verify that your modem supports the desired timer lengths using AT+CEDRXS? and AT+CPSMS? (or equivalent)
  • Verify that the network accepts and applies the requested timer lengths using AT+CEDRXRDP and AT+CEREG=4;AT+CEREG? (or equivalent)
  • Test your devices in their target deployment locations or environments and verify that they operate according to the applied timer lengths

eDRX Cycle Length

eDRX Cycle length controls the interval at which a modem turns on its receiver to check for incoming downlink data. eDRX Cycle lengths are specified using 4-bit binary string with values mapped directly to specific lengths for each of LTE-M and NB-IoT.

eDRX Cycle Length (LTE-M) eDRX Cycle Length (NB-IoT)
0000: 5.12 seconds 0010: 20.48 seconds
0001: 10.24 seconds 0011: 40.96 seconds
0010: 20.48 seconds 0101: 81.92 seconds
0011: 40.96 seconds 1001: 163.84 seconds
0100: 61.44 seconds 1010: 327.68 seconds
0101: 81.92 seconds 1011: 655.36 seconds
0110: 102.4 seconds 1100: 1310.72 seconds
0111: 122.88 seconds 1101: 2621.44 seconds
1000: 143.36 seconds 1110: 5242.88 seconds
1001: 163.84 seconds 1111: 10485.76 seconds
1010: 327.68 seconds
1011: 655.36 seconds
1100: 1310.72 seconds
1101: 2621.44 seconds

Binary strings not specified above are either treated as invalid, or may be overridden by the network using a default timer length or next-closest timer length.

Paging Time Window Length

Paging Time Window (PTW) length controls how long a modem will keep its receiver turned on within each DRX or eDRX cycle. PTW lengths are specified using a 4-bit binary string with values mapped directly to specific lengths for each of LTE-M and NB-IoT.

Paging Time Window Length (LTE-M) Paging Time Window Length (NB-IoT)
0000: 1.28 seconds 0000: 2.56 seconds
0001: 2.56 seconds 0001: 5.12 seconds
0010: 3.84 seconds 0010: 7.68 seconds
0011: 5.12 seconds 0011: 10.24 seconds
0100: 6.40 seconds 0100: 12.80 seconds
0101: 7.68 seconds 0101: 15.36 seconds
0110: 8.96 seconds 0110: 17.92 seconds
0111: 10.24 seconds 0111: 20.48 seconds
1000: 11.52 seconds 1000: 23.04 seconds
1001: 12.80 seconds 1001: 25.60 seconds
1010: 14.08 seconds 1010: 28.16 seconds
1011: 15.36 seconds 1011: 30.72 seconds
1100: 16.64 seconds 1100: 33.28 seconds
1101: 17.92 seconds 1101: 35.84 seconds
1110: 19.20 seconds 1110: 38.40 seconds
1111: 20.48 seconds 1111: 40.96 seconds

Periodic TAU Timer (T3412) Length

Periodic TAU Timer (T3412) length controls the interval at which a modem wakes up and performs a required Tracking Area Update (TAU) in order to persist the network connection. Periodic TAU Timer lengths are specified using an 8-bit binary string that consists of the following parts:

Periodic TAU Timer (T3412) Timer Unit
011: 2 seconds
100: 30 seconds
101: 1 minute
000: 10 minutes
001: 1 hour
010: 10 hours
110: 320 hours

Binary strings that are not specified above are treated as invalid.

To calculate the Periodic TAU Timer length, multiply: Timer Unit × Multiplier

For example, a Periodic TAU Timer value of 01000011 consists of 010 (Timer Unit: 10 hours) and 00011 (Multiplier: 3). Multiplying these values together results in a Periodic TAU Timer length of 10 hours × 3 = 30 hours.

Active Timer (T3324) Length

Active Timer (T3324) length controls how long a modem will continue repeating DRX or eDRX cycles within each Periodic TAU, during which time the device will remain reachable. Active Timer lengths are specified using an 8-bit binary string that consists of the following parts:

Active Timer (T3324) Timer Unit
000: 2 seconds
001: 1 minute
010: 6 minutes

Binary strings that are not specified above are treated as invalid.

To calculate the Active Timer length, multiply: Timer Unit × Multiplier

For example, an Active Timer value of 00000101 consists of 000 (Timer Unit: 2 seconds) and 00101 (Multiplier: 5). Multiplying these values together results in an Active Timer length of 2 seconds × 5 = 10 seconds.

PSM Calculation Tool

Soracom provides an online PSM Calculation Tool to help you generate the correct AT command for configuring PSM on your device, and to decode AT command responses.

The tool allows you to: