Skip to main content

Use EDL Tool

This document explains how to install Qualcomm device drivers, set up EDL tool environment variables, and use EDL tools on Windows and Ubuntu systems.

Install Drivers

  • Download Drivers

On Windows, you need to visit the Downloads page to download the driver files.

  • Install Drivers

Extract the downloaded driver files and run the Install.bat file as administrator to install the drivers.

  • Device Recognition

In Windows, you can check if the device is properly recognized by opening the Device Manager.

Using EDL Tools

Download EDL Tools

You need to visit the Downloads page to download the EDL tools.

Set Up Environment Variables

Setting up environment variables can simplify subsequent flashing operations and commands.

  1. Press Win + R to open the Run dialog, type sysdm.cpl, and click OK.
  1. In the System Properties window, click the Advanced tab, then click the Environment Variables... button.
  1. In the Environment Variables window, double-click the Path variable under System variables.
  1. In the Edit Environment Variable window, click the New button, then enter the path to your platform's EDL tools, and click OK.
  1. After completing the above steps, reopen the terminal. If you can see the version information by running the edl-ng command, the setup is successful.
Windows$
edl-ng

Terminal output example:

Description:
edl-ng - Qualcomm Emergency Download CLI

Usage:
edl-ng [command] [options]

Options:
-l, --loader <loader> Path to the Firehose programmer (e.g., prog_firehose_*.elf).
--vid <vid> Specify USB Vendor ID (hex).
--pid <pid> Specify USB Product ID (hex).
--memory <NAND|NVME|SDCC|SPINOR|UFS> Set memory type for Firehose operations (e.g., SDCC, SPINOR, UFS, NAND, NVME). Defaults typically to UFS.
--loglevel <Debug|Error|Info|Trace|Warning> Set the logging level. [default: Info]
--maxpayload <maxpayload> Set max payload size in bytes for Firehose configure command.
-s, --slot <slot> Specify the slot for operations (0 or 1). Defaults to 0.
This is useful when memory is sdcc. Slot 0 is typically eMMC, and slot 1 is typically sdcard. [default: 0]
--version Show version information
-?, -h, --help Show help and usage information

Commands:
upload-loader Connects in Sahara mode and uploads the specified Firehose loader (--loader). Does not proceed to Firehose
operations.
reset Resets or powers off the device using Firehose.
printgpt Reads and prints the GPT (GUID Partition Table) from the device.
read-part <partition_name> <filename> Reads a partition by name from the device, saving to a file.
read-sector <start_sector> <sectors> <filename> Reads a specified number of sectors from a given LUN and start LBA, saving to a file.
write-part <partition_name> <filename> Writes data from a file to a partition by name.
write-sector <start_sector> <filename> Writes data from a file to a specified number of sectors from a given LUN and start LBA.
erase-part <partition_name> Erases a partition by name from the device.
erase-sector <start_sector> <sectors> Erases a specified number of sectors from a given LUN and start LBA.
provision <xmlfile> Performs UFS provisioning using an XML file.
rawprogram <xmlfile_patterns> Processes rawprogramN.xml and patchN.xml files for flashing.

    You need to be logged into GitHub to post a comment. If you are already logged in, please ignore this message.

    Radxa-docs © 2026 by Radxa Computer (Shenzhen) Co.,Ltd. is licensed under CC BY 4.0