qdl(1)

QDL(1) User Commands QDL(1)

NAME

qdl - Qualcomm Download

SYNOPSIS

qdl [options] <prog.mbn> (<program-xml> | <patch-xml> | <read-xml>)...

DESCRIPTION

qdl [options] <prog.mbn> ((read | write) <address> <binary>)... qdl [options] <prog.mbn> (erase <address>)... qdl [options] <prog.mbn> (sha256 <address>)... qdl [options] <prog.mbn> (reset) qdl list qdl chipinfo qdl ramdump [--debug] [-o <ramdump-path>] [<segment-filter>,...] qdl ks -p <sahara-dev-node> -s <id:file-path>... qdl flash (<flashmap>[::specifier] | <contents>[::<specifier>]) qdl create-zip <zipfile> <contents>[::<specifier>]
-d, --debug
Print detailed debug info
-v, --version
Print the current version and exit
-n, --dry-run
Dry run execution, no device reading or flashing
-f, --allow-missing
Allow skipping of missing files during flashing
-s, --storage=T
Set target storage type T: <emmc|nand|nvme|spinor|ufs>
-l, --finalize-provisioning
Provision the target storage
-i, --include=T
Set an optional folder T to search for files
-S, --serial=T
Select target by serial number T (e.g. <0AA94EFD>)
-u, --out-chunk-size=T
Override chunk size for transaction with T
-t, --create-digests=T
Generate table of digests in the T folder
-T, --slot=T
Set slot number T for multiple storage devices
-D, --vip-table-path=T
Use digest tables in the T folder for VIP
-R, --skip-reset
Do not send the reset command after flashing completes
--backend=B
Select device backend B: <auto|usb|qud> (default: auto)
--skipblock=M
Use readback mechanism M to skip <program> entries already on flash; M: <none|sha256> (default: none)
-h, --help
Print this usage info
<program-xml>
xml file containing <program> or <erase> directives
<patch-xml>
xml file containing <patch> directives
<read-xml>
xml file containing <read> directives
<address>
disk address specifier, can be one of <P>, <P/S>, <P/S+L>, <name>, or <P/name>, to specify a physical partition number P, a starting sector number S, the number of sectors to follow L, or partition by "name"
<ramdump-path>
path where ramdump should stored
<segment-filter>
optional glob-pattern to select which segments to ramdump
<sahara-dev-node>
Sahara device node, e.g. /dev/mhi0_QAIC_SAHARA (ks)
<id:file-path>
map a Sahara image id to a host file, repeatable (ks)
<flashmap>
flashmap JSON file, or ZIP archive with flashmap.json
<contents>
contents XML file
<specifier>
comma-separated list of specifiers, such as storage type, layout, and flavors

Example: qdl prog_firehose_ddr.elf rawprogram*.xml patch*.xml

qdl flash contents.xml::ufs,spinor/safe_rtos qdl flash installer.zip::layout1/ufs
August 2026 qdl version 2.8