# 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 | <ul class="ul" id="concept_yz1_qx4_dzb__ul_rvv_ft2_4cc">							<li class="li"><code class="ph codeph">0</code>: disable system power management</li><br>							<li class="li"><code class="ph codeph">1</code>: enable system power management</li><br>						</ul> |

## 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 &lt;1:AON timer wkup&gt; |
| 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<br><br>						<br>`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<br><br>						<br>`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 | <ul class="ul" id="bcmc_filter_list__ul_pk3_ctw_m2c">							<li class="li"><code class="ph codeph">1</code>: Add a UDP port to the whitelist</li><br>							<li class="li"><code class="ph codeph">0</code>: Delete a UDP port from the whitelist</li><br>						</ul> |
| -u | Number | Specifies the destination UDP port.<br><br>						<br>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 | <ul class="ul" id="imps_sleep__ul_gcs_t2w_y2c"><br>                                <li class="li"><code class="ph codeph">1</code>: Enable IMPS RAM-retention sleep</li><br><br>                                <li class="li"><code class="ph codeph">0</code>: Disable IMPS RAM-retention sleep</li><br><br>                            </ul> |
| wait time in ms | Number | Wait time in ms before entering sleep.<br><br><br>                            <br>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.<br><br><br>                            <br>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 | <ul class="ul" id="concept_qrz_tx4_dzb__ul_cvy_zhw_y2c">							<li class="li"><code class="ph codeph">1</code>: Enable IMPS RAM-retention sleep</li><br>							<li class="li"><code class="ph codeph">0</code>: Disable IMPS RAM-retention sleep</li><br>						</ul> |
| sleep time in ms | Number | Actual sleep time in ms.<br><br>						<br>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.<br><br>						<br>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.<br><br>						<br>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.<br><br>						<br>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 | <ul class="ul" id="bmps_period_awake__ul_zsc_5kn_xfc">							<li class="li"><code class="ph codeph">1</code>: Enable periodic wakeup timer</li><br>							<li class="li"><code class="ph codeph">0</code>: Disable periodic wakeup timer</li><br>						</ul> |
| 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 | <ul class="ul" id="bmps_log_enable__ul_ky2_3ln_xfc">							<li class="li"><code class="ph codeph">1</code>: Enable debug log</li><br>							<li class="li"><code class="ph codeph">0</code>: Disable debug log</li><br>						</ul> |

## 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 | <ul class="ul" id="bmps_power_optimization_enable__ul_tsr_k2d_phc"><br>                                <li class="li"><code class="ph codeph">1</code>: Enable the feature</li><br><br>                                <li class="li"><code class="ph codeph">0</code>: Disable the feature</li><br><br>                            </ul> |

## 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 | <ul class="ul" id="bmps_compress_qos_null_enable__ul_x1j_dfd_phc"><br>                                <li class="li"><code class="ph codeph">1</code>: Enable the feature</li><br><br>                                <li class="li"><code class="ph codeph">0</code>: Disable the feature</li><br><br>                            </ul> |

## 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 | <ul class="ul" id="bmps_infinite_task__ul_r24_1gd_phc"><br>                                <li class="li"><code class="ph codeph">1</code>: Create the task</li><br><br>                                <li class="li"><code class="ph codeph">0</code>: Delete the task</li><br><br>                            </ul> |

## 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<br><br><br>                            <br>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)