How to provision Snapdragon 820 using the QDL tool

I’ve been trying to provision my Snapdragon 820 board using the QDl tool. I use the latest branch of the qdl tool and followed the steps mentioned in the below link.

I used the below command to Provision the board
./qdl prog_ufs_firehose_8996_ddr.elf provision_hynix.xml

I got the following error message.
LOG: Failed to configure UFS device. Return code: -100
LOG: Failed to set storage extra parameters - storage_device_commit_extras() returned FALSE
[UFS] firehose_send_single_tag err 1
[APPLY UFS epilogue] -22
UFS provisioning failed

I want to provision the board to change the system space.

It would be great if someone could help me with the right procedure.


Maybe I overlooking something… but the last time you asked about qdl you were working on a custom board that doesn’t have UFS:

Hi Daniel,

That was on another board. The current board uses ufs.

Best Regards,


can you share the full log and also the .xml command file?

Note that this feature is really tricky, and I am not sure how far we will be able to help… it has been rarely used, i believe…

The first thing to check would be which version/commit of qdl you are using. we’ve done a lot of refactoring lately, and i am pretty sure we haven’t tested UFS provisioning… If you can try with this commit to test before the recent changes that might be helpful.

b338928519f2 (firehose: support for emmc storage)

Hi Nico,

I tried reverting to the commit you suggested. I still got the same error.

I noticed that the last commit for ufs provisioning was a50ec8047cb6b7e4f6051f2a0b2db0bb81b7725b

Also since our boards use hynix ufs. i used the correct provisioning file and it worked.

Thanks for your suggestion. :slight_smile:

Best Regards,


glad that it worked. However it’s not clear to me what worked! Are you saying that the problem was with your XML command file only? Or are you saying that an older version of QDL worked? If so can you please help us and provide the last working commit?

Also, i don’t understand your remark about a50ec8047cb6b7e4f6051f2a0b2db0bb81b7725b.


Hi Nico,

The problem was with QDL. The latest version of QDL did not work for provisioning.

I checked out the following commit to get it working.
commit a50ec8047cb6b7e4f6051f2a0b2db0bb81b7725b
Author: Niklas Cassel
Date: Tue Jun 12 20:50:39 2018 +0200

qdl: fix qdl when building for 32-bit

Best Regards,

ok, thanks for the report. I opened for tracking purpose.