> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upgrade QIR SDK artifacts

> This information describes how to upgrade the QIR SDK artifacts without rebuilding the entire QIR SDK.

export const QLI_TAG = 'qli-2.1';

Use the following procedure to upgrade the QIR SDK artifacts on a device that is already running a supported robotics image, without rebuilding or reflashing the entire QIR SDK.

<Note>
  Not applicable to the `qcom-robotics-distro-catchall` distro.
</Note>

<Warning>
  **Warning**

  The following prebuilt robotics images included with Qualcomm Linux 2.0 release (<code>{QLI_TAG}</code>) have been validated only with the QIR SDK artifacts shipped in the same release package. The validated combination is recommended for production deployments.

  * Qualcomm robotics image: `qcom-robotics-image`.
  * Qualcomm robotics proprietary image: `qcom-robotics-proprietary-image`.

  Updating, replacing, or mixing QIR SDK artifacts from a different version on the host system is outside of the validated configuration and may result in compatibility, performance, or stability issues.
</Warning>

## Prerequisites

* The device is powered on and booted successfully.
* The device is reachable over SSH (replace `[ip-addr]` with the device IP address in the following commands).

## Procedure

<Accordion title="Try me">
  <Steps>
    <Step title="Get the QIR SDK artifacts">
      Get the QIR SDK artifacts from: [Download the prebuilt packages](./download-the-prebuilt-packages) and extract the package.
    </Step>

    <Step title="Push the extracted QIR artifacts to the device">
      ```bash theme={null}
      scp -r <path>/qirp-sdk_<version>/qirp-sdk/. root@[ip-addr]:/opt/runtime/qirp-sdk/
      ```
    </Step>

    <Step title="Run the upgrade scripts on the device">
      ```bash theme={null}
      ssh root@[ip-addr] "chmod +x /opt/runtime/qirp-sdk/scripts/*.sh"
      ssh root@[ip-addr] "/opt/runtime/qirp-sdk/scripts/qirp-upgrade*.sh"
      ```
    </Step>
  </Steps>

  <Note>
    **Optional: use `adb` instead of SSH**

    `adb` is disabled by default on the device. To enable it, run the following commands on the device:

    ```bash theme={null}
    touch /etc/usb-debugging-enabled
    systemctl start android-tools-adbd
    ```

    Once `adb` is enabled, you can run the equivalent commands from the host:

    ```bash theme={null}
    adb push <path>/qirp-sdk_<version>/qirp-sdk/. /opt/runtime/qirp-sdk/
    adb shell "chmod +x /opt/runtime/qirp-sdk/scripts/*.sh"
    adb shell "/opt/runtime/qirp-sdk/scripts/qirp-upgrade*.sh"
    ```
  </Note>
</Accordion>

## Result

After the upgrade completes, the QIR SDK artifacts on the device are updated without requiring a full SDK rebuild.
