# QCLI sub-group: Lowpower
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
The Low Power demo is intended to demonstrate operating mode transition functionality and APIs.
## pm\_enable
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command enables or disables the system power management.
| Parameter name | Type/Range | Description |
| --- | --- | :---: |
| mode | Number |
0: disable system power management
1: enable system power management
|
## deepsleep
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command is used to configure device and enable deepsleep.
| Parameter name | Type/Range | Description |
| --- | --- | :---: |
| wakeup | Number | Indicates wakeup source <1:AON timer wkup> |
| sleep duration | Number | Indicates sleep time in ms. During sleep, pressing the wake up button can wake the system and sleep duration is cleared. |
## bmps\_enable
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command is used to enable or disable BMPS (DTIM) sleep for WLAN. In the timeout period, pressing the wake up button can wake the system like BMPS awake.
After the DUT enters BMPS sleep mode, some APs may continue to send RTS frames even while the DUT remains in sleep. Because the DUT doesn't respond in this state, the AP may interpret the DUT as offline.
| Parameter name | Type/Range | Description |
| --- | --- | :---: |
| mode | Number | `1`: Enable
`0`: Disable |
| timeout | Number | Optional, the unit is ms |
## bmps\_idle\_time
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command configures the max idle time prior entering into BMPS (DTIM) sleep.
| Parameter name | Type/Range | Description |
| --- | --- | :---: |
| idle\_time | Number | Indicates idle time in ms. |
## bcmc\_filter\_enable
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command enables the broadcast and multicast packets filter to wake up DTIM sleep.
| Parameter name | Type/Range | Description |
| --- | --- | :---: |
| enable | Number | `0`: Disable the BCMC filter
`1`: Enable the BCMC filter |
## bcmc\_filter\_list
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command adds or deletes the UDP port in the whitelist.
| Parameter name | Type/Range | Description |
| --- | --- | :---: |
| -a | Number | 1: Add a UDP port to the whitelist
0: Delete a UDP port from the whitelist
|
| -u | Number | Specifies the destination UDP port.
For example: 7777 |
| -q | / | Query the whitelist |
## imps\_sleep
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command enables or disables the IMPS RAM-retention sleep manually.
Note: Enable WLAN before using this command.
The parameters in the following table affect both imps\_cfg and imps\_sleep commands. It’s recommended to use this command on entering or exiting IMPS RAM-retention sleep.
| Parameter name | Type/Range | Description |
| --- | --- | :---: |
| Enable | Number |
1: Enable IMPS RAM-retention sleep
0: Disable IMPS RAM-retention sleep
|
| wait time in ms | Number | Wait time in ms before entering sleep.
This parameter configures the same variable as the "recnx timeout in ms" parameter in the imps\_cfg command. |
| sleep time in ms | Number | Actual sleep time in ms.
This parameter configures the same variable as the "sleep time in ms" parameter in the imps\_cfg command. |
## imps\_cfg
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command configures the IMPS RAM-retention sleep parameters.
Note: Enable WLAN before using this command.
The parameters in the following table affect both imps\_cfg and imps\_sleep commands. It's recommended to use this command to configure “cmd proc in ms” only.
| Parameter name | Type/Range | Description |
| :---: | :---: | :---: |
| Enable | Number | 1: Enable IMPS RAM-retention sleep
0: Disable IMPS RAM-retention sleep
|
| sleep time in ms | Number | Actual sleep time in ms.
This parameter configures the same variable as the "sleep time in ms" parameter in the imps\_sleep command. |
| recnx timeout in ms | Number | Wait time in ms before entering sleep.
This parameter configures the same variable as the "wait time in ms" parameter in the imps\_sleep command. |
| cmd proc in ms | Number | wmi\_wait time in ms.
Upon recnx\_wait timeout, if any WMI command is received during the wmi\_wait duration, start a timer with wmi\_wait duration; otherwise, go to sleep.
Set to `0` to use default value, which is five seconds. |
| cnx timeout in ms | Number | Not used, leave the value to `0`. |
| sleep mode | Number | Configure this parameter to `2`, which means qapi\_mcu\_sleep. |
## bmps\_period\_awake
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command starts a periodic timer that wakes up the SoC at the configured interval.
| Parameter name | Type/Range | Description |
| :---: | :---: | :---: |
| Enable | Number | 1: Enable periodic wakeup timer
0: Disable periodic wakeup timer
|
| period time in ms | Number | Interval in milliseconds to wake up the SoC |
## bmps\_log\_enable
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command enables/disables the debug log for the BMPS mode.
The debug log for the BMPS mode is enabled by default. Use this command to disable the log to reduce the power consumption.
| Parameter name | Type/Range | Description |
| :---: | :---: | :---: |
| Enable | Number | 1: Enable debug log
0: Disable debug log
|
## bmps\_power\_optimization\_enable
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command enables or disables an advanced power optimization feature. When the DUT exits sleep mode without network activity, the WLAN module periodically wakes to receive beacon frames. For example, if the DUT wakes due to a periodic wake-up timer and no network activity is detected during the idle time, the WLAN module activates only to receive beacons. If there're data packets that need to be transmitted or received, the WLAN module is fully enabled.
| Parameter name | Type/Range | Description |
| :---: | :---: | :---: |
| Enable | Number |
1: Enable the feature
0: Disable the feature
|
## bmps\_compress\_qos\_null\_enable
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command enables or disables the feature that optimizes the transmission of QoS-NULL data frames. When enabled:
- Frames with PM bit = 0
- Sent only when the DUT wakes up due to unicast packet reception.
- Also sent when the DUT, while active, receives a TIM beacon indicating that unicast packets are queued at the AP.
- Frames with PM bit = 1
- Sent before the DUT returns to sleep mode, but only if a QoS-NULL frame with PM bit = 0 was transmitted during the preceding idle period.
| Parameter name | Type/Range | Description |
| :---: | :---: | :---: |
| Enable | Number |
1: Enable the feature
0: Disable the feature
|
## bmps\_infinite\_task
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command creates or deletes an infinite task.
Note: It's intended only for testing purposes. It may serve as a reference example for users who wish to implement a background service.
| Parameter name | Type/Range | Description |
| :---: | :---: | :---: |
| Enable | Number |
1: Create the task
0: Delete the task
|
## bmps\_stats
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcli_sub_group_lowpower.html)
This command enables or disables the recording of BMPS statistics. The feature provides beacon Window and SoC statistics for both the current and complete BMPS periods. Recording begins when the DUT enters BMPS mode and stops when it exits. By configuring a recording duration, the BMPS statistics for the most recent interval will be captured. For example, if the entire BMPS period is 10 seconds and the recording duration is set to 2 seconds, statistics from the last 2 seconds (8-10 seconds) will be recorded, along with statistics for the full 10-second BMPS period. Don't set a large duration (N hours), which may cause an overflow.
If the configured interval is equal to the BMPS period, the most recent SoC statistics recorded will be approximately 1 second. This is because SoC statistics are captured during the BMPS exit process, and only the data from that transition is logged. To avoid this situation, set the interval so that it isn’t an exact factor of the BMPS period. For example, if the BMPS period is 10 seconds, set the interval to 4 or 6 seconds.
In addition, this feature provides the Tx/Rx counts for data packets during the specified interval, as well as the current Noise Floor and PD threshold levels.
| Parameter name | Type/Range | Description |
| :---: | :---: | :---: |
| set | Number | Time(ms): The duration to capture the statistics
0: Disable the feature |
| get | String | Get the statistics |
**Example:**
Record the most recent one second:
bmps_stats set 1000Copy to clipboard
Disable the feature:
bmps_stats set 0Copy to clipboard
Get the statistics:
bmps_stats getCopy to clipboard
Last Published: Jun 03, 2026
[Previous Topic
QCLI sub-group: FLASH](https://docs.qualcomm.com/bundle/publicresource/80-Y8730-2/topics/qcli_sub_group_flash.md) [Next Topic
QCLI sub-group: Fs](https://docs.qualcomm.com/bundle/publicresource/80-Y8730-2/topics/qcli_sub_group_fs.md)