# QCLI app

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

The QCLI app is a command-line demo application that shows features and technologies supported by the QCC730 platform.

The following sections introduce basic commands available in the QCLI app.

## platform

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes commands for platform operations.

### version

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command displays the CRM build version.

### reboot

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command resets the system.

### setdbg

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command controls a runtime debug switch for a "controllable dead loop." Combined with dead\_loop\_cond1() and dead\_loop\_cond2(), it allows a persistent but recoverable busy-wait pause at specific code locations.

| Parameter name | Description |
| --- | --- |
| dbg\_type | `1`: g32\_dead\_loop\_1<br><br><br>                            <br>`2`: g32\_dead\_loop\_2 |
| dbg\_value | `0`: Disable the "dead loop"<br><br><br>                            <br>`1`: Enable the "dead loop" |

**Examples**:

Disable dead\_loop\_cond1():

    setdbg 1 0Copy to clipboard

Enable dead\_loop\_cond2():

    setdbg 2 1Copy to clipboard

### setloglvl

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets the system’s log level.

**Example**:

    platform setloglvl 0    # INFO
    platform setloglvl 1    # WARN
    platform setloglvl 2    # ERR
    platform setloglvl 3    # CRITCopy to clipboard

### info

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command shows the platform information.

## wifi

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes commands for Wi‑Fi operations.

### scan

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command scans for Wi-Fi APs.

| Parameter name | Description |
| --- | --- |
| -t, --type | Specifies the scan type. This command only supports active mode. |
| -s, --ssid | Specifies the SSID to scan for |

**Example**:

    wifi scan -t activeCopy to clipboard

### connect

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command connects the system to a Wi-Fi AP.

| Parameter name | Description |
| --- | --- |
| -s, --ssid | SSID |
| -c, --channel | Channel that needs to be scanned for connection.<br><br><br>              <br>`0`: Any channel |
| -b, --band | `0`: Any band<br><br><br>              <br>`2`: 2.4 GHz<br><br><br>              <br>`5`: 5 GHz |
| -p, --psk | Passphrase (valid only for secure SSIDs) |
| -k, --key-mgmt | Key management type (valid only for secure SSIDs)<br><br><br>              <ul class="ul" id="qcli_wifi_connect__ul_hx3_sbh_mhc"><br>                <li class="li"><code class="ph codeph">0</code>: None</li><br><br>                <li class="li"><code class="ph codeph">1</code>: WPA2-PSK</li><br><br>                <li class="li"><code class="ph codeph">2</code>: WPA2-PSK-256</li><br><br>                <li class="li"><code class="ph codeph">3</code>: WPA3 SAE</li><br><br>                <li class="li"><code class="ph codeph">4</code>: WPA3 SAE</li><br><br>                <li class="li"><code class="ph codeph">5</code>: WPA3 SAE</li><br><br>                <li class="li"><code class="ph codeph">10</code>: WPA/WPA2/WPA3 SAE mix mode</li><br><br>              </ul> |
| -w, --ieee-80211w | MFP (optional, requires a security type to be specified)<br><br><br>              <br>`0`: Disable<br><br><br>              <br>`1`: Optional<br><br><br>              <br>`2`: Required |
| -m, --bssid | MAC address of the AP (BSSID) |

**Example**:

**WPA2:**

    wifi connect -s test_ap -p 12345678 -k 1Copy to clipboard

**WPA3-SAE:**

    WPA3-SAE: wifi connect -s test_ap -p 12345678 -k 5 -w 2Copy to clipboard

### disconnect

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command disconnects from the Wi-Fi AP.

### status

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command displays the following Wi-Fi status:

- Connect status
- Interface mode
- Link mode
- SSID
- BSSID
- Band
- Channel
- Security
- MFP
- RSSI
- Beacon interval
- DTIM
- PHY Tx rate

### ap mode commands

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes the commands for configuring access point mode.

### ap enable

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command enables the access point mode.

| Parameter name | Description |
| --- | --- |
| -s, --ssid | SSID. |
| -c, --channel | Channel number. |
| -k, --key-mgmt | Security type. Currently, only the following options are supported:<br><br><br>              <br>`0`: None<br><br><br>              <br>`1`: WPA2-PSK |
| -p, --passphras | Valid only for secure SSIDs. |

### ap disable

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command disables the access point mode.

### ap stations

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command lists the connected stations.

### ap disconnect

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command disconnects a station.

**Example:**

    wifi ap disconnect 34:85:18:B5:DE:3CCopy to clipboard

## net

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes commands for network operations.

### iface

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command shows the interface status.

### ping

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command pings remote endpoint and check reply.

**Example**:

    net ping 192.168.0.25Copy to clipboard

## qpm

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes commands for power saving.

Note: Use these commands with the QCLI app. Don't use them with the BMPS app.

### softoff

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command transitions the system to the soft-off state and waits for a timer or an external wake-up pin to wake the system.

| Parameter name | Description |
| --- | --- |
| sleep\_time\_ms | Sleep time in ms.<br><br><br>              <br>When `sleep_time_ms=0`, the device can only be awakened by an external wake-up pin. |

### s2ram

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command transitions the system to the suspend‑to‑RAM (S2RAM) state and waits for a timer or an external wake-up pin to wake the system.

After system boot, QCLI app calls the `pm_policy_state_lock_get(PM_STATE_SUSPEND_TO_RAM,PM_ALL_SUBSTATES)` function in qapp\common\pm\_service\src\pm\_timer.c to lock the state to prevent the SoC from entering sleep automatically. This command calls the `pm_policy_state_lock_put(PM_STATE_SUSPEND_TO_RAM,PM_ALL_SUBSTATES)` function to release the lock to allow the SoC to enter sleep.

| Parameter name | Description |
| --- | --- |
| sleep\_time\_ms | Sleep time in ms.<br><br><br>              <br>When `sleep_time_ms=0`, the device can only be awakened by an external wake-up pin. |
| sleep\_count | The number of complete sleep cycles. |

Note:
- When Wi-Fi is in a disconnected state, don't prevent the SoC to go to sleep.
- Before entering sleep, pull the `EXT_WAKEUP` GPIO pin to high.

**Example:**

After system boot, run the following command to enter the S2RAM state for 1 hour and then exit the state.

    qpm s2ram 3600000 1Copy to clipboard

## qbmps

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes the commands for the Qualcomm beacon mode power save (QBMPS) feature. QBMPS also uses S2RAM mode, these commands enable or disable QBMPS and configure parameters such as idle time and broadcast whitelist.

Note: Use these commands with the QCLI app. Don't use them with the BMPS app.

### enable

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command enables the Wi-Fi BMPS mode.

After system boot, QCLI app calls the `pm_policy_state_lock_get(PM_STATE_SUSPEND_TO_RAM,PM_ALL_SUBSTATES)` function in qapp\common\pm\_service\src\pm\_timer.c to lock the state to prevent the SoC from entering sleep automatically. This command calls the `pm_policy_state_lock_put(PM_STATE_SUSPEND_TO_RAM,PM_ALL_SUBSTATES)` function to release the lock to allow the SoC to enter sleep.

| Parameter name | Description |
| --- | --- |
| &lt;1/0&gt; | `0`: Disable Wi-Fi BMPS mode<br><br><br>              <br>`1`: Enable Wi-Fi BMPS mode |
| timeout in ms | Specifies the timeout in ms. A value of `0` indicates no timeout. |

Note: 
      
When Wi-Fi is in a disconnected state, don't prevent the SoC to go to sleep.

**Example:**

1. After system boot, run the following command to establish a Wi-Fi connection.

        wifi connect -s ssidCopy to clipboard
2. After Wi-Fi is connected, run the following command to enable BMPS and keep the system in sleep mode indefinitely.

        qbmps enable 1 0Copy to clipboard

### idle\_time

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command configures the maximum idle time before the SoC enters BMPS (DTIM) sleep mode.

| Parameter name | Description |
| --- | --- |
| idle\_time | Maximum idle time in ms. Default: 20 ms |

### bcmc\_enable

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command enables or disables the broadcast and multicast (BCMC) whitelist for UDP packets. When the SoC is in sleep mode, only broadcast and multicast packets included in the whitelist are allowed.

| Parameter name | Description |
| --- | --- |
| &lt;1/0&gt; | `1`: Enable BCMC whitelist<br><br><br>              <br>`0`: Disable BCMC whitelist |

### bcmc\_list

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command adds or deletes a UDP port from the whitelist.

| Parameter name | Description |
| --- | --- |
| -a | `1`: Add a UDP port to the whitelist<br><br><br>              <br>`0`: Delete a UDP port from whitelist |
| -u | Destination UDP port. For example, 7777. |
| -q | Query the whitelist |

**Examples:**

    qbmps bcmc_list -a 1 -u 7777
    qbmps bcmc_list -qCopy to clipboard

### ignore\_bcmc

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command configures whether BCMC packets are ignored.

| Parameter name | Description |
| --- | --- |
| &lt;1/0&gt; | `1`: Ignore BCMC packets<br><br><br>              <br>`0`: Don’t ignore BCMC packets |

### compress\_qos\_null\_enable

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command enables or disables the feature that suppresses unnecessary transmission of QoS-NULL data packets.

| Parameter name | Description |
| --- | --- |
| &lt;1/0&gt; | `1`: Enable<br><br><br>              <br>`0`: Disable |

Note: When this feature is enabled and packet transmission is inactive for an extended period, the AP may consider the DUT disconnected. To prevent this, the DUT must periodically wake up to reconnect to the AP or transmit keep-alive packets.

### bmps\_power\_optimization\_enable

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command enables or disables the ability to enter BMPS when the SoC is in active mode.

| Parameter name | Description |
| --- | --- |
| &lt;1/0&gt; | `1`: Enable<br><br><br>              <br>`0`: Disable |

### start\_udp\_timer

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command enables a timer that wakes up the DUT and sends a UDP packet to the gateway. This command is an example to demonstrate a keep-alive session to prevent disconnection when `bmps_power_optimization_enable` is enabled.

| Parameter name | Description |
| --- | --- |
| &lt;period(ms)&gt; | Period to wake up the DUT and send a UDP packet to the gateway |

## zperf

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes commands for throughput test.

### tcp upload

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command starts TCP zperf Tx test.

| Parameter name | Description |
| --- | --- |
| dest ip | Destination IP |
| dest port | Destination port |
| duration | Duration of the test in seconds<br><br><br>              <br>Default: `1` |
| packet size | Packet size in byte or kilobyte (with suffix K)<br><br><br>              <br>Default: `256` |

**Example**:

    zperf tcp upload 192.168.2.2 5001 10 256Copy to clipboard

### tcp download

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command starts TCP zperf Rx test.

| Parameter name | Description |
| --- | --- |
| port | Server port to listen on/connect to |
| host | Bind to &lt;host&gt;, an interface address |

**Example**:

    tcp download 5001 192.168.0.1Copy to clipboard

### udp upload

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command starts UDP zperf Tx test.

| Parameter name | Description |
| --- | --- |
| dest ip | Destination IP |
| dest port | Destination port |
| duration | Duration of the test in seconds<br><br><br>              <br>Default: `1` |
| packet size | Packet size in byte or kilobyte (with suffix K)<br><br><br>              <br>Default: `256` |

**Example**:

    zperf udp upload 192.168.2.2 5001 10 256Copy to clipboard

### udp download

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command starts UDP zperf Rx test.

| Parameter name | Description |
| --- | --- |
| port | Server port to listen on/connect to |
| host | Bind to &lt;host&gt;, an interface address |

**Example**:

    udp download 5001 192.168.0.1Copy to clipboard

## qwifi

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes Qualcomm Wi-Fi shell commands.

### set\_tx\_power

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets the device-wide Tx power policy. Actual power depends on regulatory and calibration constraints.

**Syntax:**

    qwifi set_tx_power <txPower> <policy>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| txPower | Valid values range from 0 to 255. The effective value is constrained by hardware and domain rules. Setting the value to 100 restores the default. |
| policy | `0`: SAFETY (minimum of regulatory, CTL, and target power) |

**Example**:

    qwifi set_tx_power 100 0Copy to clipboard

### get\_tx\_power

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command retrieves the current Tx power.

**Syntax:**

    qwifi get_tx_powerCopy to clipboard

**Example**:

    qwifi get_tx_powerCopy to clipboard

### unit\_test

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sends a unit test command to firmware (for qualified users). Currently, it's used for debugging ANI only and doesn’t support any other related Wi‑Fi function unit tests.

**Syntax:**

    qwifi unit_test <vdev_id> <module_id> <num_args> <arg1> ... <argN>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| vdev\_id | Device id |
| module\_id | Module id |
| num\_args | The number of arguments |
| arg1 … argN | Arguments |

**Examples**:

Enable ANI:

    qwifi unit_test 1 4 2 3 1Copy to clipboard

Disable ANI:

    qwifi unit_test 1 4 1 0Copy to clipboard

HW readouts:

    qwifi unit_test 1 4 1 12Copy to clipboard

### set\_rts

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command enables or disables RTS/CTS protection.

**Syntax:**

    qwifi set_rts <0|1>Copy to clipboard

**Examples**:

Disable RTS/CTS protection:

    qwifi set_rts 0Copy to clipboard

Enable RTS/CTS protection:

    qwifi set_rts 1Copy to clipboard

### get\_rts

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command gets RTS/CTS status.

**Syntax**:

    qwifi get_rtsCopy to clipboard

### set\_rts\_rate

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets RTS control frame rate (2.4 GHz).

**Syntax**:

    qwifi set_rts_rate <rate_index>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| Rate\_index | `0`: 1 Mbps<br><br><br>              <br>`1`: 6 Mbps<br><br><br>              <br>`2`: 12 Mbps |

### get\_rts\_rate

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command gets RTS control frame rate (2.4 GHz).

**Syntax**:

    qwifi get_rts_rateCopy to clipboard

### set\_edca\_param

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets enhanced distributed channel access (EDCA) parameters.

**Syntax:**

    qwifi set_edca_param <qid> <aifsn> <cw_min> <cw_max> <txop_limit>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| qid | Queue ID. The valid ID is a number within 0 to 7; or 255 (0xFF) for “all queues” when supported. |
| aifsn | Arbitration Inter-Frame Space Number |
| cw\_min | Minimum contention window exponent |
| cw\_max | Maximum contention window exponent |
| txop\_limit | Transmit opportunity limit |

**Example**:

    qwifi set_edca_param 0 3 15 1023 0Copy to clipboard

### get\_edca\_param

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command gets EDCA parameters.

**Syntax:**

    qwifi get_edca_param [<qid>]Copy to clipboard

| Parameter name | Description |
| --- | --- |
| qid | Queue ID. The valid ID is a number within 0 to 7; or 255 (0xFF) for “all queues” when supported. |

### set\_threshold

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets PER upper threshold.

**Syntax:**

    qwifi set_threshold <value>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| value | The new threshold value |

**Example**:

    qwifi set_threshold 50Copy to clipboard

### get\_threshold

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets PER upper threshold.

**Syntax:**

    qwifi get_thresholdCopy to clipboard

### set\_ba\_timing

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets BA timing parameters.

**Syntax:**

    qwifi set_ba_timing <ack_timeout_us> <delay_cycles>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| ack\_timeout\_us | Configure the timeout for acknowledgment in µs. Valid value range is ≤ 4096. |
| Delay\_cycles | Valid value range is ≤ 64. |

**Example**:

    qwifi set_ba_timing 200 4Copy to clipboard

### get\_ba\_timing

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command gets BA timing parameters.

**Syntax:**

    qwifi get_ba_timingCopy to clipboard

### set\_slot\_time

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets PHY slot time.

**Syntax:**

    qwifi set_slot_time <slot_time_us>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| slot\_time\_us | Configures the slot time used by the MAC back-off algorithm.<br><br><br>              <br>Typical values are 9 µs (short slot) and 20 µs (long slot), depending on PHY mode and regulatory/compatibility constraints. |

**Example**:

    qwifi set_slot_time 9Copy to clipboard

### get\_slot\_time

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command gets PHY slot time.

**Syntax:**

    qwifi get_slot_timeCopy to clipboard

### set\_bmiss\_threshold

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets BMISS threshold.

**Syntax:**

    qwifi set_bmiss_threshold <value>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| value | Configures the number of consecutive missed beacons that the STA tolerates before firmware triggers BMISS handling. |

**Example**:

    qwifi set_bmiss_threshold 15Copy to clipboard

### get\_bmiss\_threshold

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command gets BMISS threshold.

**Syntax:**

    qwifi get_bmiss_thresholdCopy to clipboard

### set\_aggregation

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets aggregation TIDs.

**Syntax:**

    qwifi set_aggregation <tx_tid_mask> <rx_tid_mask>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| tx\_tid\_mask | Tx TID mask.<br><br><br>              <br>Each mask is 8-bit (0–0xFF); bit `i` controls aggregation for TID `i` (0–7). |
| rx\_tid\_mask | Rx TID mask.<br><br><br>              <br>Each mask is 8-bit (0–0xFF); bit `i` controls aggregation for TID `i` (0–7). |

**Examples**:

Enable all TIDs both directions:

    qwifi set_aggregation 0xFF 0xFFCopy to clipboard

Enable BE (TID0) and BK (TID1) only:

    qwifi set_aggregation 0x03 0x03Copy to clipboard

### set\_amsdu rx

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command enables or disables AMSDU Rx.

**Syntax:**

    qwifi set_amsdu rx <enable|disable>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| enable|disable | Enable or disable AMSDU Rx |

**Examples**:

Enable AMSDU Rx:

    qwifi set_amsdu rx enableCopy to clipboard

Disable AMSDU Rx:

    qwifi set_amsdu rx disableCopy to clipboard

### set\_phy\_mode

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets the PHY mode on the active WLAN device.

**Syntax:**

    qwifi set_phy_mode <a|b|g|ng|abgn>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| a | 11a (5 GHz) |
| b | 11b (2.4 GHz) |
| g | 11g (2.4 GHz) |
| ng | 11n/HT20 (2.4 GHz) |
| abgn | 11a/b/g/n HT20 |

**Example**:

    qwifi set_phy_mode gCopy to clipboard

### get\_phy\_mode

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command gets the PHY mode on the active WLAN device.

**Syntax:**

    qwifi get_phy_modeCopy to clipboard

### set\_rate

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets rate control to automatic or configure fixed rates for a peer.

**Syntax:**

Automatic rate control:

    qwifi set_rate autoCopy to clipboard

Fixed/manual:

    qwifi set_rate <staid> <p_rate> <s_rate> <t_rate>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| staid | Station ID for which the rate configuration applies |
| p\_rate | Primary transmission rate |
| s\_rate | Secondary transmission rate |
| t\_rate | Tertiary transmission rate |

**Examples**:

Return to auto:

    qwifi set_rate autoCopy to clipboard

Fixed 18 Mbps (if legacy index mapping applies and `staid=1` is valid):

    qwifi set_rate 1 7 7 7Copy to clipboard

### get\_rate

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command gets data rate.

**Syntax:**

    qwifi get_rate <staid>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| staid | Station ID |

### set\_csa

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command enables channel switch announcement with configured parameters on the AP side.

**Syntax:**

    qwifi set_csa <mode> <channel> <count>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| mode | `0`: The station may continue transmitting frames until the channel switch occurs.<br><br><br>              <br>`1`: The station shall enter a quiet state and suspend all data transmission until the channel switch. |
| channel | Channel number the station will move to. |
| count | TBTTs remaining before the transmitter switches to the new channel. |

**Example**:

    qwifi set_csa 0 11 5Copy to clipboard

### set\_operation\_mode

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets operation mode for virtual devices.

**Syntax:**

    qwifi set_operation_mode <ap|station|ap_sta> [<hidden|0>]Copy to clipboard

| Parameter name | Description |
| --- | --- |
| ap|station|ap\_sta | `ap`: Set the virtual device to work in AP mode.<br><br><br>              <br>`station`: Set the virtual device to work in station mode.<br><br><br>              <br>`ap_sta`: Set the virtual device to work in AP+STA concurrency mode. |
| hidden\_ssid\_flag | `hidden`: Enable hidden SSID mode for the AP.<br><br><br>              <br>`0`: Disable hidden SSID mode for the AP.<br><br><br>              <br>When this bit isn't set, the default value is 0 . |

**Examples**:

    qwifi set_operation_mode ap	
    qwifi set_operation_mode stationCopy to clipboard

Note: 
      
AP+STA concurrency mode can only be enabled from SAP mode. Transitioning directly from STA-only mode into concurrency mode isn't supported. To exit concurrency mode, the device must transition to STA-only mode; transitioning from concurrency mode to SAP-only mode isn't supported.

Follow these steps to enable the AP+STA operation mode:

1. wifi ap enable -s iot -c 7 -p 12345678 -k 1Copy to clipboard
2. qwifi set_operation_mode ap_staCopy to clipboard

### set\_device

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets the current active device.

**Syntax:**

    qwifi set_device <devid>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| devid | `0`: Set the active device to vdev0 (virtual device 0). Currently, vdev0 is configured as SAP.<br><br><br>              <br>`1`: Set the active device to vdev1 (virtual device 1). Currently, vdev1 is configured as STA. |

**Example**:

    qwifi set_device 0Copy to clipboard

## qcrypto

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes crypto-related commands for testing and validation purposes.

To enable the QCOM crypto HAL, set the `CONFIG_QCRYPTO` to `y` in qapp/qcli\_app/prj.conf.

Secure storage system is disabled by default. To enable it, follow these steps:

1. Configure the prj.conf file as follows:

        CONFIG_MBEDTLS_PSA_CRYPTO_C=y
        CONFIG_SECURE_STORAGE=y
        CONFIG_SECURE_STORAGE_ITS_IMPLEMENTATION_ZEPHYR=y
        CONFIG_SECURE_STORAGE_ITS_STORE_MODULE=y
        CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_SCHEME_CUSTOM=y
        CONFIG_SECURE_STORAGE_ITS_TRANSFORM_AEAD_KEY_PROVIDER_CUSTOM=y
        CONFIG_ZMS=y
        CONFIG_SECURE_STORAGE_ITS_STORE_IMPLEMENTATION_ZMS=y
        CONFIG_PSA_WANT_ALG_CCM=y
        CONFIG_PSA_WANT_KEY_TYPE_AES=y
        CONFIG_SECURE_STORAGE_ITS_MAX_DATA_SIZE=2000Copy to clipboard
2. Build an image using the following command:

        west build -b qcc730mi -- -DDTC_OVERLAY_FILE=zms.overlayCopy to clipboard

Note: If you need to enable coredump and secure storage at the same time, use the following command:

        west build -b qcc730mi -- -DDTC_OVERLAY_FILE="zms.overlay;coredump.overlay"Copy to clipboard

### kdf\_key

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command runs the key derivation function (KDF) driver test, which generates a hardware key with user input.

**Syntax:**

    qcrypto kdf_keyCopy to clipboard

| Parameter name | Description |
| --- | --- |
| kdf\_key | Software user input for KDF operation. It must be exactly 32 hexadecimal characters. |

**Example**:

    qcrypto kdf_key 27ef1314791dae3a7329f1433de0c303
    KDF output: 2976714f1cf7d33500e542a4dacc9955Copy to clipboard

Note: 
      
The key derived from KDF depends on system-specific parameters such as OEM\_ID. You can change or get these parameters using nvm\_programmer.py. For example:

    python nvm_programmer.py -s ch347 -n otp -k OEM_ID=0x0001
    python nvm_programmer.py -s ch347 -n otp -g OEM_IDCopy to clipboard

### kdf\_encrypt

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command tests KDF crypto (encryption).

**Syntax:**

    qcrypto kdf_encrypt <kdf_key> <derive_key> <data>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| kdf\_key | Software user input for KDF operation. It must be exactly 32 hexadecimal characters. |
| derive\_key | Software key to compare. It must be exactly 32 hexadecimal characters. |
| data | Data to be encrypted. It must be exactly 32 hexadecimal characters. |

**Example**:

    qcrypto kdf_encrypt 27ef1314791dae3a7329f1433de0c303 2976714f1cf7d33500e542a4dacc9955 123456789012345678901234567890ab
    IV:             5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a
    Input Data:     123456789012345678901234567890ab
    Encrypt Data(KDF Key):  5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5ad729706b4dc2cc231e5f4287bc3c0563
    Encrypt Data(SW Key):   5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5ad729706b4dc2cc231e5f4287bc3c0563
    "Encrypt Data(KDF Key)" vs "Encrypt Data(SW Key)":      matchCopy to clipboard

### kdf\_decrypt

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command tests KDF crypto (decryption).

**Syntax:**

    qcrypto kdf_decrypt <kdf_key> <derive_key> <encrypted_data>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| kdf\_key | Software user input for KDF operation. It must be exactly 32 hexadecimal characters. |
| derive\_key | Software key to compare. It must be exactly 32 hexadecimal characters. |
| encrypted\_data | Data to be decrypted. It must be exactly 64 hexadecimal characters. |

**Example**:

    qcrypto kdf_decrypt 27ef1314791dae3a7329f1433de0c303 2976714f1cf7d33500e542a4dacc9955 5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5ad729706b4dc2cc231e5f4287bc3c0563
    Encrypted Data: 5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5ad729706b4dc2cc231e5f4287bc3c0563
    Decrypt Data(KDF Key):  123456789012345678901234567890ab
    Decrypt Data(SW Key):   123456789012345678901234567890ab
    "Decrypt Data(KDF Key)" vs "Decrypt Data(SW Key)":      matchCopy to clipboard

### pka\_test

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command runs unit-test cases of PKA module.

**Syntax:**

    qcrypto pka_test <module> <verbose>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| module | PKA module to run:<br><ul class="ul" id="qcli_qcrypto_pka_test__ul_fm4_4zx_p3c"><br>                <li class="li"><code class="ph codeph">MPI</code></li><br><br>                <li class="li"><code class="ph codeph">RSA</code></li><br><br>                <li class="li"><code class="ph codeph">DH</code></li><br><br>                <li class="li"><code class="ph codeph">ECP</code></li><br><br>                <li class="li"><code class="ph codeph">ECDSA</code></li><br><br>                <li class="li"><code class="ph codeph">all</code></li><br><br>              </ul> |
| verbose | `1`: Enable verbose log<br><br><br>              <br>`0`: Disable verbose log |

**Example**:

    qcrypto pka_test all 1Copy to clipboard

### qcc\_test

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command runs a self-test of the Qualcomm crypto core (QCC) module, which includes AES, CCM and SHA.

**Syntax:**

    qcrypto qcc_test <module> <verbose>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| module | PKA module to run:<br><ul class="ul" id="qcli_qcrypto_qcc_test__ul_fm4_4zx_p3c"><br>                <li class="li"><code class="ph codeph">AES</code></li><br><br>                <li class="li"><code class="ph codeph">CCM</code></li><br><br>                <li class="li"><code class="ph codeph">SHA1</code></li><br><br>                <li class="li"><code class="ph codeph">SHA256</code></li><br><br>                <li class="li"><code class="ph codeph">all</code></li><br><br>              </ul> |
| verbose | `1`: Enable verbose log<br><br><br>              <br>`0`: Disable verbose log |

**Example**:

    qcrypto qcc_test all 1Copy to clipboard

### entropy\_test

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command runs a self-test of the RNG module.

**Syntax:**

    qcrypto entropy_test <verbose>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| verbose | `1`: Enable verbose log<br><br><br>              <br>`0`: Disable verbose log |

**Example**:

    qcrypto entropy_test 1Copy to clipboard

### entropy\_hw\_poll

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command generates a specified length of random numbers.

**Syntax:**

    qcrypto entropy_hw_poll <len>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| len | Length (in bytes) of random numbers to be generated |

**Example**:

    qcrypto entropy_hw_poll 10Copy to clipboard

### secure\_write

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command encrypts the hex data and writes it with the provided UID.

**Syntax:**

    qcrypto secure_write <uid> <lex_data> [length]Copy to clipboard

| Parameter name | Description |
| --- | --- |
| uid | The UID value. Range: 30-bit. |
| hex\_data | Data in hexadecimal format. The number of hexadecimal characters (0-9 and A-F) must be even. |
| length | (Optional) Final expanded length. The hex\_data is expanded to the specified length of bytes, maximum length is 2000 bytes. |

**Examples**:

    qcrypto secure_write 1 12345678
    qcrypto secure_write 1 1 10Copy to clipboard

### secure\_read

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command reads and decrypts a specified length of data for the provided UID and prints it in hexadecimal format.

**Syntax:**

    qcrypto secure_read <uid> <length>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| uid | The UID value. Range: 30-bit. |
| length | The total length (in bytes) of data to read. If the length to read is greater than the total length of the file, the command only returns the whole data. |

**Example**:

    qcrypto secure_read 1 8Copy to clipboard

### secure\_get\_info

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command gets the data length for the provided UID.

**Syntax:**

    qcrypto secure_get_info <uid>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| uid | The UID value. Range: 30-bit. |

**Example**:

    qcrypto secure_get_info 1Copy to clipboard

### secure\_remove

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command removes the stored data for the provided UID.

**Syntax:**

    qcrypto secure_remove <uid>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| uid | The UID value. Range: 30-bit. |

**Example**:

    qcrypto secure_remove 1Copy to clipboard

Note: 
      
The PSA secure storage API doesn't provide a way to enumerate the existing UIDs. You can only check whether a specific UID exists by using the `qcrypto secure_get_info` or `qcrypto secure_remove` command. If it returns `PSA_ERROR_DOES_NOT_EXIST(-140)`, the UID doesn't exist.

### secure\_set\_password

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command sets user passwords.

**Syntax:**

    qcrypto secure_set_password <password_in_hex>Copy to clipboard

| Parameter name | Description |
| --- | --- |
| password\_in\_hex | The password for secure storage contains 32 hexadecimal characters.<br><br><br>              <br>Default value: `00112233445566778899aabbccddeeff` |

**Example**:

    qcrypto secure_set_password 00000000000000000000000000000001Copy to clipboard

## RAM dump

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This section describes the crash dump and RAM dump mechanisms on QCC730.ZE.1.0. These mechanisms support postmortem debugging after a fatal error occurs.

Core dump support is enabled by default in QCC730.ZE.1.0. No additional Kconfig options are required to enable basic crash dump functionality. RAM dump support is disabled by default. Additional configuration is required to dump or retrieve RAM contents after a reboot.

### Enable RAM dump - logging backend

The logging backend outputs crash dump information directly through the serial console. This method is typically used for immediate analysis during development.

Enable the following options in prj.conf:

    CONFIG_DEBUG_COREDUMP=y
    CONFIG_DEBUG_COREDUMP_BACKEND_LOGGING=yCopy to clipboard

After a crash is triggered, the serial console outputs the RAM dump information. Printing the complete dump may take 1 to 2 minutes, depending on system memory size. Save the serial output to a file (for example, coredump.log) for offline analysis.

**Example output:**

    E: ***** USAGE FAULT *****
    E: Attempt to execute undefined instruction
    E: r0/a1: 0x00000043 r1/a2: 0x0000000a r2/a3: 0xc0000000
    E: r3/a4: 0x0029bb7e r12/ip: 0x00000000 r14/lr: 0x0027e881
    E: xpsr: 0x21000000
    E: r4/v1: 0x00279b09 r5/v2: 0x0002823c r6/v3: 0x00279b09
    E: r7/v4: 0x000216a0 r8/v5: 0x00028454 r9/v6: 0x0007ac76
    E: r10/v7: 0x0002823c r11/v8: 0xd485b33b psp: 0x0002f6b8
    E: EXC_RETURN: 0xfffffffd
    E: Faulting instruction address (r15/pc): 0x0027e880
    E: >>> ZEPHYR FATAL ERROR 36: Unknown error on CPU 0
    E: Current thread: 0x2e620 (nt_wlan)
    E: #CD:BEGIN#
    E: #CD:5a4502000300050024000000
    E: #CD:4102004400
    E: #CD:430000000a000000000000c07ebb29000000000081e8270080e8270000000021
    E: #CD:d8f60200099b27003c820200099b2700a01602005484020076ac07003c820200
    E: #CD:3bb385d4
    E: #CD:4d010000000100589e0700
    E: #CD:000000000000f0bf000000000000004000000000000014400000000000002040
    E: #CD:00000000000026400000000000002c4000000000000031400000000000003440
    ...
    E: #CD:a692ac6bb7a53ebb70f73afdce55247cfd66152e3174803d8d63113db3055405
    E: #CD:d3fa3deee4a65be5acd5627d32b513cb2a329cfb0ccd4d3d0e0705ce71b36b80
    E: #CD:bef2fde2f08e13f3a7968cf10c96f7bf2f82d0cfae7babb1962bff671bdb9581
    E: #CD:e530ac1e1e1762dde38dac45eec6447297a0e64916c90d90a182ee10f6ed040d
    E: #CD:5e49d8c2b64774ae978af05ea5fe5b2fba9ce4d4dc150dc35f75e9eb1c040424
    E: #CD:519be2ac4666d6d0e14b7a251da345cd7369640d2d732073
    E: #CD:END#
    E: Halting systemCopy to clipboard

### Enable RAM dump - flash partition backend

The flash partition backend stores the RAM dump into a dedicated flash partition when a crash occurs. You can retrieve the dump after the system reboots using shell commands.

Enable the following options in prj.conf:

    CONFIG_DEBUG_COREDUMP=y
    CONFIG_DEBUG_COREDUMP_BACKEND_FLASH_PARTITION=y
    CONFIG_DEBUG_COREDUMP_SHELL=y
    CONFIG_FLASH=y
    CONFIG_FLASH_MAP=y
    CONFIG_FLASH_PAGE_LAYOUT=yCopy to clipboard

Build the image with the coredump device tree overlay:

    west build -b qcc730mi -- -DDTC_OVERLAY_FILE="coredump.overlay"Copy to clipboard

Note: `CONFIG_DEBUG_COREDUMP_SHELL` must be enabled because the RAM dump is retrieved and printed after the next reboot using shell commands.

### coredump verify

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command verifies whether a valid RAM dump exists in flash.

### coredump print

Source: [https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html](https://docs.qualcomm.com/doc/80-Y8730-5/topic/qcli-demo.html)

This command prints the RAM dump stored in flash to the serial console for further analysis.

Last Published: Apr 27, 2026

Previous Topic
 
Build and flash QCC730 images Next Topic

OTA Firmware Upgrade Using mcumgr