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:
- eDRX extends the interval at which the modem turns on its receiver (up to ~43 minutes for LTE-M and ~174 minutes for NB-IoT), thereby reducing power consumption when periodically checking for incoming data.
- PSM persists the network connection for long periods of time (as much as ~400 days, depending on network support) and allows the modem to power off and later resume the connection without repeating the full negotiation process.
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
- Your device sends data frequently enough that powering off completely isn't practical, such as real-time asset tracking and critical machine sensor reporting.
- Your device needs to be able to receive downlink data in between scheduled uplinks, such as remote commands or configuration updates.
- Your application can tolerate moderate downlink latency, on the order of seconds/minutes rather than hours/days.
- Your application utilizes a GPS/GNSS feature that is integrated into the modem and therefore must share its receiver.
When To Use PSM
- Your device primarily or exclusively sends data on a predictable, low-frequency schedule, such as agricultural sensor and utility meter reporting.
- Your device does not need to be able to receive downlink data in between its scheduled uplinks.
- If your device needs to receive data, your application can tolerate very high downlink latency, on the order of hours/days.
- You need maximum battery life.
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:
- A periodic window for receiving downlink data after each scheduled uplink
- Moderate power savings while waiting for possible downlink data (via eDRX)
- Maximum power savings until the next scheduled uplink (via PSM)
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:
- Device-side configuration gives you direct control over timer settings and works with any network that supports eDRX and PSM. This method requires configuring a device to send eDRX- or PSM-specific AT commands to the modem when the device connects to a network. Each device needs to be configured individually.
- Network-side configuration is a Soracom platform feature that allows timer settings to be sent from Soracom directly to the network when a device connects to a network. This method allows you to configure eDRX and PSM settings using Groups and does not require configuring individual devices with eDRX- or PSM-specific AT commands.
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?andAT+CPSMS?(or equivalent) - Verify that the network accepts and applies the requested timer lengths using
AT+CEDRXRDPandAT+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:
-
Use the
AT+CEDRXScommand with the following parameters:AT+CEDRXS=<mode>,<AcT-type>,<Requested_eDRX_value><mode>:2to enable eDRX,3to disable,0to disable and reset to default<AcT-type>:4for LTE-M,5for 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. -
Then use the
AT+CEDRXRDPcommand 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:
-
Use the
AT+CPSMScommand with the following parameters:AT+CPSMS=<mode>,,,<Requested_Periodic-TAU>,<Requested_Active-Time><mode>:1to enable PSM,0to disable<Requested_Periodic-TAU>: Binary string enclosed in double-quotes, corresponding to the desired Periodic TAU Timer (T3412) Length<Requested_Active-Time>: Binary string enclosed in double-quotes, corresponding to the desired Active Timer (T3324) Length
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.
-
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=4to configure the modem to show PSM timer length information, followed byAT+CEREG?:AT+CEREG=4 OK AT+CEREG? +CEREG: <n>,<stat>,<tac>,<ci>,<AcT>,,,<NW-provided_Periodic-TAU>,<NW-provided_Active-Time><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
+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?andAT+CPSMS?(or equivalent) - Verify that the network accepts and applies the requested timer lengths using
AT+CEDRXRDPandAT+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:
- First 3 bits: Timer Unit, with values mapped to the specific lengths below
- Last 5 bits: Multiplier, a decimal value from
00001= 1 to11111= 31
| 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:
- First 3 bits: Timer Unit, with values mapped to the specific lengths below
- Last 5 bits: Multiplier, a decimal value from
00001= 1 to11111= 31
| 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:
- Choose your desired Periodic TAU Timer (T3412) and Active Timer (T3324) lengths using sliders
- Generate an
AT+CPSMScommand with the correct binary string values, which you can then copy and send to your device - Paste the response from an
AT+CPSMS?command to decode the actual timer lengths applied by the network