• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[GUIDE] How to dump and write back the storage on most of Qualcomm devices

Search This thread

hikari_calyx

Senior Member
This is a generic guide that could be suitable for many Qualcomm based devices, once the phone can be triggered to EDL mode.

To make sure this guide will work as expect, following requirements are needed:
- Know how to trigger the phone to EDL mode, and you can force reboot the phone (Required for Driver Changing)
- Qualcomm EDL mode doesn't require service authentication, or specially modded (e.g. Lumia Emergency Files)
- Firehose file for your SoC and storage type (eMMC or UFS storage)
- Latest Qualcomm USB Drivers (at least 2.1.2.0 or newer, you can check yourself in Device Manager) and QPST Tool

Driver version is pretty important. If older than 2.1.2.0, it won't support partition dumping properly.
You may need to reboot your Windows PC to Disable Driver Signature Enforcement mode to allow you use the driver.
I won't provide any download link of the proper drivers, please find yourself.

For non-Android Smartphones, HP Elite X3 (At least for prototype unit) is confirmed working with this method.
Most of Android Smartphones should work as well.

Step 1: Trigger the phone to EDL mode

Following methods can be used as reference:
- Connect your phone to PC with a specific key pressed
e.g. TCL / Alcatel / Blackberry Android Smartphones can use Volume Down key to trigger to EDL mode

- EDL cable (DIY or order it on eBay / AliExpress, keyword: Xiaomi EDL cable)
e.g. Smartisan Smartphones that made recently can use EDL cable to unlock the bootloader.

- Fastboot command
e.g. Few Xiaomi Phones

- Wire trick
If you know where's the test point / components (like resistant) on CLK pin of eMMC/UFS storage is connected as well, short it to the GND will trigger your phone to EDL mode.
This will be usable for almost every Qualcomm devices, once you have schematic provided by the manufacturer.

- Erase aboot / abl / xbl / UEFI from your phone
This method is dangerous, do it at your own risk!

Step 2: Change the Driver to Qualcomm HS-USB QDLoader 9008

Skip this step if it's already indicated as HS-USB QDLoader 9008 in Device Manager, "Ports (COM or LPT)" category.
If it's indicated as HS-USB Diagnostics 9008 in "Ports (COM or LPT)" category, or "QHSUSB__BULK" in "Universal Serial Bus devices" category, you must update the driver to Qualcomm HS-USB QDLoader 9008, then reboot your phone to Qualcomm EDL mode again to ensure the EDL port will not throttle.

To reboot your phone, you need to perform hard reboot until you see the port disappeared immediately or refresh (in case the phone is bricked).

Step 3: Open QFIL, load Firehose file

You must choose correct storage type in right down corner.
In many cases keep it as "emmc" for default, otherwise choose "ufs" for flagship devices. In this case we choose emmc.

Then choose "Flat Build" as Build Type, and select the firehose file for your phone. If there's no firehose file specifically for your device, you may want to choose another firehose file for the same SoC, same storage type for different phone.
For example, I used the "prog_emmc_firehose_8996_ddr.elf" for ZUK Z2 on HP Elite X3 and it works perfectly.

In many cases, you can obtain firehose file for your phone from stock firmware.

Step 4: Open Partition Manager

Now choose "Tools" - "Partition Manager", and please pay attention to the Status box.
When it indicates:
Code:
2019-07-18 20:04:19.775    20:04:19: Sahara protocol completed
2019-07-18 20:04:19.776    Sending Programmer Finished
2019-07-18 20:04:19.776    Switch To FireHose
2019-07-18 20:04:19.777    Wait for 3 seconds...
If you didn't see the output above, then the firehose file is incorrect or the EDL port is throttled. Reboot your phone to EDL mode again.

Then you've partially succeeded, just wait for the Partition Manager appears.

This is the partition table of your phone. Please take note on the Start LBA and LBA number of the last partition.
Take HP Elite X3 partition table for example, the last partition is "Data", it's Start LBA and LBA number are 0x01E20000 and 0x0565BFDF. Add both of them will get the total sector numbers of whole eMMC storage - in this case, 0x0747BFDF, or 122,142,687 sectors. Multiple the sector numbers with 512 will get the total bytes of the eMMC storage, in this case, the capacity of eMMC storage is 62,537,055,744‬ bytes.

You'll need the number 122,142,687 for later use.

If you don't want to dump userdata partition, just use the Start LBA value of userdata partition and convert it to decimal values - the overall dump will not contain actual userdata.

Don't close Partition Manager, we need to keep it for later use.
Now choose either Step 5A or 5B as your wish.

Step 5A: Dump the storage

Please copy following path to your File Explorer:
Code:
%AppData%\Qualcomm\QFIL
This will redirect you to C:\Users\[your_user_name]\AppData\Roaming\Qualcomm\QFIL .
Find the COMPORT_XX directory respective to your exact COM port - in this case, I choose COMPORT_8 for example.

And open a command prompt or PowerShell window here.
Execute following command here, remember to change the COM port number and num_sectors to your exact number, or the actual path of fh_loader.exe and your dump if possible:

Note, this command will not create the path of your dump for you, you must create yourself.
Code:
"C:\Program Files (x86)\Qualcomm\QPST\bin\fh_loader.exe" --port=\\.\COM8 --search_path=D:\path\to\your\dump --convertprogram2read --sendimage=full_dump.bin --start_sector=0 --lun=0 --num_sectors=122142687 --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=emmc

Now just wait for dumping procedure complete.

Expected output should look like this:
Code:
20:45:50: INFO: Current working dir (cwd): C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\
20:45:50: INFO: Showing network mappings to allow debugging
20:45:50: INFO: Looking for file 'full_dump.bin'


                                 (_)
        __      ____ _ _ __ _ __  _ _ __   __ _
        \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
         \ V  V / (_| | |  | | | | | | | | (_| |
          \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                           __/ |
                                          |___/


20:45:50: WARNING: Couldn't find the file 'full_dump.bin', returning NULL


                                 (_)
        __      ____ _ _ __ _ __  _ _ __   __ _
        \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
         \ V  V / (_| | |  | | | | | | | | (_| |
          \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                           __/ |
                                          |___/


20:45:50: WARNING: User specified --num_sectors=524288 but file only has 524288 sectors. **Ignoring --num_sectors


20:45:50: INFO: User wants to talk to port '\\.\COM8'
20:45:50: INFO: Took       0.00000000 seconds to open port
20:45:50: INFO: Sorting TAGS to ensure order is <configure>,<erase>, others, <patch>,<power>
20:45:50: INFO: If  you don't want this, use --dontsorttags

20:45:50: INFO: Looking for file 'full_dump.bin'


                                 (_)
        __      ____ _ _ __ _ __  _ _ __   __ _
        \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
         \ V  V / (_| | |  | | | | | | | | (_| |
          \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                           __/ |
                                          |___/


20:45:50: WARNING: Couldn't find the file 'full_dump.bin', returning NULL
20:45:50: INFO: Sending <configure>

20:45:50: INFO: TARGET SAID: 'Calling usb_al_bulk_set_zlp_mode(TRUE) since ZlpAwareHost='1''

20:45:50: INFO: TARGET SAID: 'Calling hotplug_poll_device('MMC')'
20:45:50: INFO: fh.attrs.MaxPayloadSizeToTargetInBytes = 1048576
20:45:50: INFO: fh.attrs.MaxPayloadSizeToTargetInBytesSupported = 1048576
20:45:50: INFO: In handleRead('full_dump.bin')
20:45:50: INFO: Looking for file 'full_dump.bin'


                                 (_)
        __      ____ _ _ __ _ __  _ _ __   __ _
        \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
         \ V  V / (_| | |  | | | | | | | | (_| |
          \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                           __/ |
                                          |___/


20:45:50: WARNING: Previous Filesize is 0 bytes. Therefore reading size of partition!! Please check 'full_dump.bin'
20:45:50: INFO: =======================================================
20:45:50: INFO: <read> (262144.0KB) 524288 sectors from location 0 FILE: 'full_dump.bin'
20:45:50: INFO: =======================================================

20:45:52: INFO: Overall to target  2.000 seconds (32.34 MBps)
20:45:54: INFO: Overall to target  4.000 seconds (32.38 MBps)
20:45:56: INFO: Overall to target  6.000 seconds (32.37 MBps)
20:45:58: INFO: Overall to target  7.844 seconds (32.64 MBps)

20:45:58: INFO: TARGET SAID: 'Finished reading from sector address 0 to 524288'
20:45:58: INFO: =======================================================
20:45:58: INFO: ===================== SUCCESS =========================
20:45:58: INFO: =======================================================


20:45:58: INFO: ==============================================================
20:45:58: INFO: Files used and their paths
20:45:58: INFO:   1 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt'
20:45:58: INFO:   2 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\full_dump.bin'



                                 (_)
        __      ____ _ _ __ _ __  _ _ __   __ _
        \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
         \ V  V / (_| | |  | | | | | | | | (_| |
          \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                           __/ |
                                          |___/


20:45:58: INFO: ==============================================================
20:45:58: INFO: NOTE: There were WARNINGS!! Repeated here, but please see log for more detail
Couldn't find the file 'full_dump.bin', returning NULL
User specified --num_sectors=524288 but file only has 524288 sectors. **Ignoring --num_sectors


Couldn't find the file 'full_dump.bin', returning NULL
Previous Filesize is 0 bytes. Therefore reading size of partition!! Please check 'full_dump.bin'
NOTE: There were WARNINGS!! Repeated above, but please see log for more detail



20:45:58: INFO: ==============================================================
20:45:58: INFO:      _             (done)
20:45:58: INFO:     | |
20:45:58: INFO:   __| | ___  _ __   ___
20:45:58: INFO:  / _` |/ _ \| '_ \ / _ \
20:45:58: INFO: | (_| | (_) | | | |  __/
20:45:58: INFO:  \__,_|\___/|_| |_|\___|
20:45:58: INFO: {All Finished Successfully}

20:45:58: INFO: Overall to target  7.969 seconds (32.12 MBps)

Writing log to 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt', might take a minute


Log is 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt'

You can use 7-Zip archiver to open this dump and extract any partition you want.


Step 5B: Write the dump back to storage


Open Partition Manager, and don't close it.

Please copy following path to your File Explorer:
Code:
%AppData%\Qualcomm\QFIL
This will redirect you to C:\Users\[your_user_name]\AppData\Roaming\Qualcomm\QFIL .
Find the COMPORT_XX directory respective to your exact COM port - in this case, I choose COMPORT_8 for example.

And open a command prompt or PowerShell window here.
Execute following command here, remember to change the COM port number and num_sectors to your exact number, or the actual path of fh_loader.exe and your dump if possible:

In this case, the dump is located at D:\path\to\your\dump\full_dump.bin .

Code:
"C:\Program Files (x86)\Qualcomm\QPST\bin\fh_loader.exe" --port=\\.\COM8 --search_path=D:\path\to\your\dump --sendimage=full_dump.bin --start_sector=0 --lun=0 --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=emmc

Now just wait for the procedure complete.

The output should look like this:
Code:
20:05:30: INFO: Current working dir (cwd): C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\
20:05:30: INFO: Showing network mappings to allow debugging
20:05:30: INFO: Looking for file 'full_dump.bin'
20:05:31: INFO: User wants to talk to port '\\.\COM8'
20:05:31: INFO: Took       0.01600000 seconds to open port
20:05:31: INFO: Sorting TAGS to ensure order is <configure>,<erase>, others, <patch>,<power>
20:05:31: INFO: If  you don't want this, use --dontsorttags

20:05:31: INFO: Looking for file 'full_dump.bin'
20:05:31: INFO:

Total to be tansferd with <program> or <read> is 36.09 GB


20:05:31: INFO: Sending <configure>

20:05:31: INFO: TARGET SAID: 'Calling usb_al_bulk_set_zlp_mode(TRUE) since ZlpAwareHost='1''

20:05:31: INFO: TARGET SAID: 'Calling hotplug_poll_device('MMC')'
20:05:31: INFO: fh.attrs.MaxPayloadSizeToTargetInBytes = 1048576
20:05:31: INFO: fh.attrs.MaxPayloadSizeToTargetInBytesSupported = 1048576
20:05:31: INFO: In handleProgram('full_dump.bin')
20:05:31: INFO: Looking for file 'full_dump.bin'
20:05:31: INFO: =======================================================
20:05:31: INFO: {<program> FILE: 'D:\path\to\your\dump\full_dump.bin'}
20:05:31: INFO: {<program> (36.09 GB) 75685888 sectors needed at location 0 on LUN 0}
20:05:31: INFO: =======================================================


20:05:31: INFO: TARGET SAID: 'start 0, num 75685888'

20:05:33: INFO: Overall to target  2.031 seconds (26.59 MBps)
20:05:33: INFO: {percent files transferred   0.15%}
20:05:35: INFO: Overall to target  4.063 seconds (26.34 MBps)
20:05:35: INFO: {percent files transferred   0.29%}
20:05:37: INFO: Overall to target  6.094 seconds (26.26 MBps)
20:05:37: INFO: {percent files transferred   0.43%}
20:05:39: INFO: Overall to target  8.110 seconds (26.26 MBps)
20:05:39: INFO: {percent files transferred   0.58%}
20:05:41: INFO: Overall to target 10.125 seconds (26.27 MBps)
20:05:41: INFO: {percent files transferred   0.72%}
20:05:43: INFO: Overall to target 12.141 seconds (26.27 MBps)
20:05:43: INFO: {percent files transferred   0.86%}
20:05:45: INFO: Overall to target 14.141 seconds (26.31 MBps)
20:05:45: INFO: {percent files transferred   1.01%}
20:05:47: INFO: Overall to target 16.156 seconds (26.49 MBps)
20:05:47: INFO: {percent files transferred   1.16%}
20:05:49: INFO: Overall to target 18.172 seconds (26.52 MBps)
20:05:49: INFO: {percent files transferred   1.30%}
20:05:51: INFO: Overall to target 20.188 seconds (26.55 MBps)
20:05:51: INFO: {percent files transferred   1.45%}
20:05:53: INFO: Overall to target 22.188 seconds (26.59 MBps)
20:05:53: INFO: {percent files transferred   1.60%}
20:05:55: INFO: Overall to target 24.188 seconds (26.62 MBps)
20:05:55: INFO: {percent files transferred   1.74%}
20:05:57: INFO: Overall to target 26.188 seconds (26.62 MBps)
20:05:57: INFO: {percent files transferred   1.89%}
20:05:59: INFO: Overall to target 28.188 seconds (26.61 MBps)
20:05:59: INFO: {percent files transferred   2.03%}
20:06:01: INFO: Overall to target 30.235 seconds (26.59 MBps)
20:06:01: INFO: {percent files transferred   2.18%}
20:06:03: INFO: Overall to target 32.266 seconds (26.56 MBps)
20:06:03: INFO: {percent files transferred   2.32%}
20:06:05: INFO: Overall to target 34.281 seconds (26.57 MBps)
20:06:05: INFO: {percent files transferred   2.47%}
20:06:07: INFO: Overall to target 36.328 seconds (26.56 MBps)
20:06:07: INFO: {percent files transferred   2.61%}
20:06:09: INFO: Overall to target 38.328 seconds (26.56 MBps)
20:06:09: INFO: {percent files transferred   2.75%}
20:06:11: INFO: Overall to target 40.360 seconds (26.56 MBps)
20:06:11: INFO: {percent files transferred   2.90%}
20:06:13: INFO: Overall to target 42.391 seconds (26.56 MBps)
20:06:13: INFO: {percent files transferred   3.05%}

(ignored too many logs)

20:28:17: INFO: Overall to target 1366.235 seconds (26.33 MBps)
20:28:17: INFO: {percent files transferred  97.33%}
20:28:19: INFO: Overall to target 1368.266 seconds (26.33 MBps)
20:28:19: INFO: {percent files transferred  97.48%}
20:28:21: INFO: Overall to target 1370.281 seconds (26.33 MBps)
20:28:21: INFO: {percent files transferred  97.63%}
20:28:23: INFO: Overall to target 1372.313 seconds (26.33 MBps)
20:28:23: INFO: {percent files transferred  97.78%}
20:28:25: INFO: Overall to target 1374.313 seconds (26.33 MBps)
20:28:25: INFO: {percent files transferred  97.93%}
20:28:27: INFO: Overall to target 1376.344 seconds (26.34 MBps)
20:28:27: INFO: {percent files transferred  98.08%}
20:28:29: INFO: Overall to target 1378.344 seconds (26.34 MBps)
20:28:29: INFO: {percent files transferred  98.22%}
20:28:31: INFO: Overall to target 1380.360 seconds (26.34 MBps)
20:28:31: INFO: {percent files transferred  98.37%}
20:28:33: INFO: Overall to target 1382.375 seconds (26.34 MBps)
20:28:33: INFO: {percent files transferred  98.51%}
20:28:35: INFO: Overall to target 1384.406 seconds (26.34 MBps)
20:28:35: INFO: {percent files transferred  98.66%}
20:28:37: INFO: Overall to target 1386.438 seconds (26.34 MBps)
20:28:37: INFO: {percent files transferred  98.80%}
20:28:39: INFO: Overall to target 1388.438 seconds (26.34 MBps)
20:28:39: INFO: {percent files transferred  98.94%}
20:28:41: INFO: Overall to target 1390.453 seconds (26.34 MBps)
20:28:41: INFO: {percent files transferred  99.09%}
20:28:43: INFO: Overall to target 1392.485 seconds (26.34 MBps)
20:28:43: INFO: {percent files transferred  99.25%}
20:28:45: INFO: Overall to target 1394.516 seconds (26.34 MBps)
20:28:45: INFO: {percent files transferred  99.40%}
20:28:47: INFO: Overall to target 1396.531 seconds (26.34 MBps)
20:28:47: INFO: {percent files transferred  99.55%}
20:28:49: INFO: Overall to target 1398.750 seconds (26.33 MBps)
20:28:49: INFO: {percent files transferred  99.66%}
20:28:51: INFO: Overall to target 1400.766 seconds (26.33 MBps)
20:28:51: INFO: {percent files transferred  99.81%}
20:28:53: INFO: Overall to target 1402.797 seconds (26.33 MBps)
20:28:53: INFO: {percent files transferred  99.96%}
20:28:54: INFO: Overall to target 1403.422 seconds (26.33 MBps)
20:28:54: INFO: {percent files transferred 100.00%}

20:28:54: INFO: TARGET SAID: 'Finished programming start_sector 75685888 and TotalSectorsToProgram 75685888'
20:28:54: INFO:
20:28:54: INFO: =======================================================
20:28:54: INFO: ==================== {SUCCESS} ========================
20:28:54: INFO: =======================================================


20:28:54: INFO: {percent files transferred 100.00%}
20:28:54: INFO: ==============================================================
20:28:54: INFO: Files used and their paths
20:28:54: INFO:   1 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt'
20:28:54: INFO:   2 'D:\path\to\your\dump\full_dump.bin'

20:28:54: INFO:      _             (done)
20:28:54: INFO:     | |
20:28:54: INFO:   __| | ___  _ __   ___
20:28:54: INFO:  / _` |/ _ \| '_ \ / _ \
20:28:54: INFO: | (_| | (_) | | | |  __/
20:28:54: INFO:  \__,_|\___/|_| |_|\___|
20:28:54: INFO: {All Finished Successfully}

20:28:54: INFO: Overall to target 1403.578 seconds (26.33 MBps)
20:28:54: INFO: {percent files transferred 100.00%}

Writing log to 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt', might take a minute


Log is 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt'

If you only want to write back only one specific partition, you need to specify the start_sector value to the decimal value of a partition's Start LBA.
Always keep the Partition Manager window opened!


Step 6: Quit Partition Manager

After everything dumped, you can close Partition Manager, the QFIL will reboot your phone back to EDL mode or reboot your phone back to normal mode.
Then you can force reboot your phone or mess up your phone as you want.
 
Last edited:

user agent

Member
May 19, 2018
5
1
Qualcomm HS-USB QD loader 9008 drivers showing briefly in device manager

I put Samsung Note 3 ( N9005) Qualcomm based mobile on EDL by ADB Command. The command does work & phone reboot to show in device manager Qualcomm usb Driver, BUT Qualcomm USB drivers disappear after few seconds .... What could be the issue....as i wanted to use QPST ( QFil) to flash the phone but its giving error that no port is selected.

How to make " Qualcomm HS-USB QD loader 9008 " drivers to appear permanently in Device manager.

searched a lot on goolge but nothing is working...


Pls any one help.
 

hikari_calyx

Senior Member
I put Samsung Note 3 ( N9005) Qualcomm based mobile on EDL by ADB Command. The command does work & phone reboot to show in device manager Qualcomm usb Driver, BUT Qualcomm USB drivers disappear after few seconds .... What could be the issue....as i wanted to use QPST ( QFil) to flash the phone but its giving error that no port is selected.

How to make " Qualcomm HS-USB QD loader 9008 " drivers to appear permanently in Device manager.

searched a lot on goolge but nothing is working...


Pls any one help.

I remember Galaxy Note 3 can remove the battery right?
In may cases, Qualcomm based phone can stay at EDL mode without battery.
 

coolboy45

Member
Jun 18, 2014
17
4
the partitiion maneger do not appear

Hey, Thank you so much for prividing this GUIDE!

I just try to maake a backup of my data. I followed the steps above but the partition manager do not appear. Anyone know what is the problem? Log see below. Thank you for any coming tipps!

2020-04-19 23:31:12.778 Validating Application Configuration
2020-04-19 23:31:12.790 Load APP Configuration
2020-04-19 23:31:12.810 COM:12
2020-04-19 23:31:12.810 PBLDOWNLOADPROTOCOL:0
2020-04-19 23:31:12.810 PROGRAMMER:True
2020-04-19 23:31:12.810 PROGRAMMER:D:\Firefox_download\01\images\prog_ufs_firehose_sdm845_ddr.elf
2020-04-19 23:31:12.810 RESETSAHARASTATEMACHINE:False
2020-04-19 23:31:12.810 SAHARAREADSERIALNO:False
2020-04-19 23:31:12.810 SEARCHPATH:D:\Firefox_download\01\images
2020-04-19 23:31:12.810 ACKRAWDATAEVERYNUMPACKETS:False
2020-04-19 23:31:12.810 ACKRAWDATAEVERYNUMPACKETS:100
2020-04-19 23:31:12.810 MAXPAYLOADSIZETOTARGETINBYTES:False
2020-04-19 23:31:12.810 MAXPAYLOADSIZETOTARGETINBYTES:49152
2020-04-19 23:31:12.810 DEVICETYPE:ufs
2020-04-19 23:31:12.810 PLATFORM:8x26
2020-04-19 23:31:12.810 VALIDATIONMODE:0
2020-04-19 23:31:12.811 RESETAFTERDOWNLOAD:False
2020-04-19 23:31:12.811 MAXDIGESTTABLESIZE:8192
2020-04-19 23:31:12.811 SWITCHTOFIREHOSETIMEOUT:30
2020-04-19 23:31:12.811 RESETTIMEOUT:200
2020-04-19 23:31:12.811 RESETDELAYTIME:2
2020-04-19 23:31:12.811 METABUILD:
2020-04-19 23:31:12.811 METABUILD:
2020-04-19 23:31:12.811 FLATBUILDPATH:C:\
2020-04-19 23:31:12.811 FLATBUILDFORCEOVERRIDE:True
2020-04-19 23:31:12.811 QCNPATH:C:\Temp\00000000.qcn
2020-04-19 23:31:12.811 QCNAUTOBACKUPRESTORE:False
2020-04-19 23:31:12.811 SPCCODE:000000
2020-04-19 23:31:12.811 ENABLEMULTISIM:False
2020-04-19 23:31:12.811 AUTOPRESERVEPARTITIONS:False
2020-04-19 23:31:12.811 PARTITIONPRESERVEMODE:0
2020-04-19 23:31:12.811 PRESERVEDPARTITIONS:0
2020-04-19 23:31:12.811 PRESERVEDPARTITIONS:
2020-04-19 23:31:12.811 ERASEALL:False
2020-04-19 23:31:12.812 Load ARG Configuration
2020-04-19 23:31:12.888 Validating Download Configuration
2020-04-19 23:31:12.890 Image Search Path: D:\Firefox_download\01\images
2020-04-19 23:31:12.895 Programmer Path:D:\Firefox_download\01\images\prog_ufs_firehose_sdm845_ddr.elf
2020-04-19 23:31:13.548 Process Index:0
2020-04-19 23:31:13.567 Qualcomm Flash Image Loader (QFIL) 2.0.2.3
2020-04-19 23:32:56.567 Start Download
2020-04-19 23:32:56.588 Program Path:D:\Firefox_download\01\images\prog_ufs_firehose_sdm845_ddr.elf
2020-04-19 23:32:56.593 ***** Working Folder:C:\Users\Administrator\AppData\Roaming\Qualcomm\QFIL\COMPORT_12
2020-04-19 23:32:57.013 Binary build date: Apr 27 2018 @ 03:04:33
2020-04-19 23:32:57.015 QSAHARASERVER CALLED LIKE THIS: 'C:\Program Files (x86)\QUALCOMM\QPST\bin\QSaharaServer.ex'Current working dir: C:\Users\Administrator\AppData\Roaming\Qualcomm\QFIL\COMPORT_12
2020-04-19 23:32:57.018 Sahara mappings:
2020-04-19 23:32:57.020 2: amss.mbn
2020-04-19 23:32:57.020 6: apps.mbn
2020-04-19 23:32:57.021 8: dsp1.mbn
2020-04-19 23:32:57.022 10: dbl.mbn
2020-04-19 23:32:57.022 11: osbl.mbn
2020-04-19 23:32:57.023 12: dsp2.mbn
2020-04-19 23:32:57.023 16: efs1.mbn
2020-04-19 23:32:57.024 17: efs2.mbn
2020-04-19 23:32:57.024 20: efs3.mbn
2020-04-19 23:32:57.025 21: sbl1.mbn
2020-04-19 23:32:57.025 22: sbl2.mbn
2020-04-19 23:32:57.026 23: rpm.mbn
2020-04-19 23:32:57.027 25: tz.mbn
2020-04-19 23:32:57.027 28: dsp3.mbn
2020-04-19 23:32:57.028 29: acdb.mbn
2020-04-19 23:32:57.030 30: wdt.mbn
2020-04-19 23:32:57.031 31: mba.mbn
2020-04-19 23:32:57.032 13: D:\Firefox_download\01\images\prog_ufs_firehose_sdm845_ddr.elf
2020-04-19 23:32:57.032
2020-04-19 23:32:57.033 23:32:56: Requested ID 13, file: "D:\Firefox_download\01\images\prog_ufs_firehose_sdm845_ddr.elf"
2020-04-19 23:32:57.033
2020-04-19 23:32:57.034 23:32:57: 715496 bytes transferred in 0.391000 seconds (1.7451MBps)
2020-04-19 23:32:57.034
2020-04-19 23:32:57.035
2020-04-19 23:32:57.035
2020-04-19 23:32:57.036 23:32:57: File transferred successfully
2020-04-19 23:32:57.036
2020-04-19 23:32:57.036
2020-04-19 23:32:57.037
2020-04-19 23:32:57.038 23:32:57: Sahara protocol completed
2020-04-19 23:32:57.038 Sending Programmer Finished
2020-04-19 23:32:57.039 Switch To FireHose
2020-04-19 23:32:57.039 Wait for 3 seconds...
2020-04-19 23:33:00.041 Max Payload Size to Target:49152 Bytes
2020-04-19 23:33:00.041 Device Type:ufs
2020-04-19 23:33:00.042 Platform:8x26
2020-04-19 23:33:00.043 Disable Ack Raw Data Every N Packets
2020-04-19 23:33:00.044 Skip Write:False
2020-04-19 23:33:00.044 Always Validate:False
2020-04-19 23:33:00.045 Use Verbose:False
2020-04-19 23:33:00.050 ***** Working Folder:C:\Users\Administrator\AppData\Roaming\Qualcomm\QFIL\COMPORT_12
2020-04-19 23:33:00.124
2020-04-19 23:33:00.126 Base Version: 18.02.16.18.26
2020-04-19 23:33:00.131 Binary build date: Apr 27 2018 @ 03:04:29
2020-04-19 23:33:00.131 Incremental Build version: 18.04.27.03.04.29
2020-04-19 23:33:00.138
2020-04-19 23:33:00.138 23:33:00: INFO: FH_LOADER WAS CALLED EXACTLY LIKE THIS
2020-04-19 23:33:00.139 ************************************************
2020-04-19 23:33:00.140 C:\Program Files (x86)\QUALCOMM\QPST\bin\fh_loader.exe --port=\\.\COM12 --search_path=C:\Users\Administrator\AppData\Roaming\Qualcomm\QFIL\COMPORT_12 --convertprogram2read --sendimage=fh_gpt_header_0 --start_sector=1 --lun=0 --num_sectors=1 --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=ufs
2020-04-19 23:33:00.142 ************************************************
2020-04-19 23:33:00.142
2020-04-19 23:33:00.143 23:33:00: INFO: Current working dir (cwd): C:\Users\Administrator\AppData\Roaming\Qualcomm\QFIL\COMPORT_12\
2020-04-19 23:33:00.144 23:33:00: INFO: Showing network mappings to allow debugging
2020-04-19 23:33:00.145 23:33:00: INFO: Looking for file 'fh_gpt_header_0'
2020-04-19 23:33:00.147
2020-04-19 23:33:00.147
2020-04-19 23:33:00.148 (_)
2020-04-19 23:33:00.149 __ ____ _ _ __ _ __ _ _ __ __ _
2020-04-19 23:33:00.150 \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
2020-04-19 23:33:00.151 \ V V / (_| | | | | | | | | | | (_| |
2020-04-19 23:33:00.151 \_/\_/ \__,_|_| |_| |_|_|_| |_|\__, |
2020-04-19 23:33:00.152 __/ |
2020-04-19 23:33:00.153 |___/
2020-04-19 23:33:00.153
2020-04-19 23:33:00.154
2020-04-19 23:33:00.154 23:33:00: WARNING: Couldn't find the file 'fh_gpt_header_0', returning NULL
2020-04-19 23:33:00.156
2020-04-19 23:33:00.156
2020-04-19 23:33:00.157 (_)
2020-04-19 23:33:00.158 __ ____ _ _ __ _ __ _ _ __ __ _
2020-04-19 23:33:00.158 \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
2020-04-19 23:33:00.159 \ V V / (_| | | | | | | | | | | (_| |
2020-04-19 23:33:00.160 \_/\_/ \__,_|_| |_| |_|_|_| |_|\__, |
2020-04-19 23:33:00.160 __/ |
2020-04-19 23:33:00.161 |___/
2020-04-19 23:33:00.161
2020-04-19 23:33:00.162
2020-04-19 23:33:00.163 23:33:00: WARNING: User specified --num_sectors=1 but file only has 1 sectors. **Ignoring --num_sectors
2020-04-19 23:33:00.163
2020-04-19 23:33:00.164
2020-04-19 23:33:00.164 23:33:00: INFO: User wants to talk to port '\\.\COM12'
2020-04-19 23:33:00.165 23:33:00: INFO: Took 0.01500000 seconds to open port
2020-04-19 23:33:00.166 23:33:00: INFO: Sorting TAGS to ensure order is <configure>,<erase>, others, <patch>,<power>
2020-04-19 23:33:00.167 23:33:00: INFO: If you don't want this, use --dontsorttags
2020-04-19 23:33:00.167
2020-04-19 23:33:00.168 23:33:00: INFO: Looking for file 'fh_gpt_header_0'
2020-04-19 23:33:00.171
2020-04-19 23:33:00.172
2020-04-19 23:33:00.172 (_)
2020-04-19 23:33:00.173 __ ____ _ _ __ _ __ _ _ __ __ _
2020-04-19 23:33:00.174 \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
2020-04-19 23:33:00.174 \ V V / (_| | | | | | | | | | | (_| |
2020-04-19 23:33:00.175 \_/\_/ \__,_|_| |_| |_|_|_| |_|\__, |
2020-04-19 23:33:00.176 __/ |
2020-04-19 23:33:00.177 |___/
2020-04-19 23:33:00.178
2020-04-19 23:33:00.179
2020-04-19 23:33:00.179 23:33:00: WARNING: Couldn't find the file 'fh_gpt_header_0', returning NULL
2020-04-19 23:33:00.180 23:33:00: INFO: Sending <configure>
2020-04-19 23:33:00.181
2020-04-19 23:33:00.181 23:33:00: INFO: TARGET SAID: 'INFO: Binary build date: Dec 27 2019 @ 18:17:54'
2020-04-19 23:33:00.182
2020-04-19 23:33:00.182 23:33:00: INFO: TARGET SAID: 'INFO: Binary build date: Dec 27 2019 @ 18:17:54
2020-04-19 23:33:00.183 '
2020-04-19 23:33:00.184
2020-04-19 23:33:00.184 23:33:00: INFO: TARGET SAID: 'INFO: Chip serial num: 2650911984 (0x9e01b4f0)'
2020-04-19 23:33:00.185
2020-04-19 23:33:00.186 23:33:00: INFO: TARGET SAID: 'INFO: Supported Functions (14):'
2020-04-19 23:33:00.187
2020-04-19 23:33:00.188 23:33:00: INFO: TARGET SAID: 'INFO: program'
2020-04-19 23:33:00.188
2020-04-19 23:33:00.189 23:33:00: INFO: TARGET SAID: 'INFO: read'
2020-04-19 23:33:00.190
2020-04-19 23:33:00.190 23:33:00: INFO: TARGET SAID: 'INFO: nop'
2020-04-19 23:33:00.191
2020-04-19 23:33:00.191 23:33:00: INFO: TARGET SAID: 'INFO: patch'
2020-04-19 23:33:00.192
2020-04-19 23:33:00.192 23:33:00: INFO: TARGET SAID: 'INFO: configure'
2020-04-19 23:33:00.193
2020-04-19 23:33:00.194 23:33:00: INFO: TARGET SAID: 'INFO: setbootablestoragedrive'
2020-04-19 23:33:00.194
2020-04-19 23:33:00.195 23:33:00: INFO: TARGET SAID: 'INFO: erase'
2020-04-19 23:33:00.196
2020-04-19 23:33:00.196 23:33:00: INFO: TARGET SAID: 'INFO: power'
2020-04-19 23:33:00.197
2020-04-19 23:33:00.198 23:33:00: INFO: TARGET SAID: 'INFO: firmwarewrite'
2020-04-19 23:33:00.198
2020-04-19 23:33:00.199 23:33:00: INFO: TARGET SAID: 'INFO: getstorageinfo'
2020-04-19 23:33:00.199
2020-04-19 23:33:00.200 23:33:00: INFO: TARGET SAID: 'INFO: benchmark'
2020-04-19 23:33:00.201
2020-04-19 23:33:00.201 23:33:00: INFO: TARGET SAID: 'INFO: emmc'
2020-04-19 23:33:00.202
2020-04-19 23:33:00.202 23:33:00: INFO: TARGET SAID: 'INFO: ufs'
2020-04-19 23:33:00.203
2020-04-19 23:33:00.203 23:33:00: INFO: TARGET SAID: 'INFO: fixgpt'
2020-04-19 23:33:00.204
2020-04-19 23:33:00.205 23:33:00: INFO: TARGET SAID: 'INFO: End of supported functions 14'
2020-04-19 23:33:00.205
2020-04-19 23:33:00.207 23:33:00: INFO: TARGET SAID: 'ERROR: Only nop and sig tag can be recevied before authentication.'
2020-04-19 23:33:00.208 23:33:00: INFO: fh.attrs.MaxPayloadSizeToTargetInBytes = 1048576
2020-04-19 23:33:00.210 23:33:00: INFO: fh.attrs.MaxPayloadSizeToTargetInBytesSupported = 1048576
2020-04-19 23:33:00.211 23:33:00: INFO: Something failed. The target rejected your <configure>. Please inspect log for more information
2020-04-19 23:33:00.211
2020-04-19 23:33:00.212 Writing log to 'C:\Users\Administrator\AppData\Roaming\Qualcomm\QFIL\COMPORT_12\port_trace.txt', might take a minute
2020-04-19 23:33:00.213
2020-04-19 23:33:00.213
2020-04-19 23:33:00.214 Log is 'C:\Users\Administrator\AppData\Roaming\Qualcomm\QFIL\COMPORT_12\port_trace.txt'
2020-04-19 23:33:00.215
2020-04-19 23:33:00.215 Download Fail:FireHose Fail:FHLoader Fail:FHLoader Fail:process fail
2020-04-19 23:33:00.225 Finish Get GPT

the other Log is attached here.
View attachment port_trace.txt
 
Last edited:

9DeViL9

New member
Apr 30, 2020
2
0
Phone stuck in EDL Mode

Hello hikari, my device Nokia 4.2 (TA-1152) is stuck in EDL MODE after dumping the boot image file.
Can you please help me to exit from EDL mode?
 

Shortydesbwa

Member
Jan 27, 2012
9
0
Hi! even with another firehose, Crosscall Core-X3 won't accept entering Sahara mode. wrong 'pkhash'.
Recovery show HS8917QC, modem show 8937. I tried many of each without success. Idk which one is relevant.

[ro.product.device]: [HS8917QC]
[ro.hmct.modem.version]: [MSM8937.LA.3.0.1-00490-STD.PROD-1]
[ro.fota.oem]: [hisense8917_8.1]
[ro.fota.platform]: [MSM8917_8.1]
[ro.bootimage.build.fingerprint]: [CROSSCALL/L750/HS8917QC:8.1.0....]
[gsm.version.baseband]: [MPSS.JO.3.0-00464-8937_GENNS_PACK-1]
[gsm.version.baseband1]: [MPSS.JO.3.0-00464-8937_GENNS_PACK-1]

fastboot getvar all : https://pastebin.com/pmPDpeJ8

Of course no firehose neither full image is available for this exotic device.
Bless you.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    This is a generic guide that could be suitable for many Qualcomm based devices, once the phone can be triggered to EDL mode.

    To make sure this guide will work as expect, following requirements are needed:
    - Know how to trigger the phone to EDL mode, and you can force reboot the phone (Required for Driver Changing)
    - Qualcomm EDL mode doesn't require service authentication, or specially modded (e.g. Lumia Emergency Files)
    - Firehose file for your SoC and storage type (eMMC or UFS storage)
    - Latest Qualcomm USB Drivers (at least 2.1.2.0 or newer, you can check yourself in Device Manager) and QPST Tool

    Driver version is pretty important. If older than 2.1.2.0, it won't support partition dumping properly.
    You may need to reboot your Windows PC to Disable Driver Signature Enforcement mode to allow you use the driver.
    I won't provide any download link of the proper drivers, please find yourself.

    For non-Android Smartphones, HP Elite X3 (At least for prototype unit) is confirmed working with this method.
    Most of Android Smartphones should work as well.

    Step 1: Trigger the phone to EDL mode

    Following methods can be used as reference:
    - Connect your phone to PC with a specific key pressed
    e.g. TCL / Alcatel / Blackberry Android Smartphones can use Volume Down key to trigger to EDL mode

    - EDL cable (DIY or order it on eBay / AliExpress, keyword: Xiaomi EDL cable)
    e.g. Smartisan Smartphones that made recently can use EDL cable to unlock the bootloader.

    - Fastboot command
    e.g. Few Xiaomi Phones

    - Wire trick
    If you know where's the test point / components (like resistant) on CLK pin of eMMC/UFS storage is connected as well, short it to the GND will trigger your phone to EDL mode.
    This will be usable for almost every Qualcomm devices, once you have schematic provided by the manufacturer.

    - Erase aboot / abl / xbl / UEFI from your phone
    This method is dangerous, do it at your own risk!

    Step 2: Change the Driver to Qualcomm HS-USB QDLoader 9008

    Skip this step if it's already indicated as HS-USB QDLoader 9008 in Device Manager, "Ports (COM or LPT)" category.
    If it's indicated as HS-USB Diagnostics 9008 in "Ports (COM or LPT)" category, or "QHSUSB__BULK" in "Universal Serial Bus devices" category, you must update the driver to Qualcomm HS-USB QDLoader 9008, then reboot your phone to Qualcomm EDL mode again to ensure the EDL port will not throttle.

    To reboot your phone, you need to perform hard reboot until you see the port disappeared immediately or refresh (in case the phone is bricked).

    Step 3: Open QFIL, load Firehose file

    You must choose correct storage type in right down corner.
    In many cases keep it as "emmc" for default, otherwise choose "ufs" for flagship devices. In this case we choose emmc.

    Then choose "Flat Build" as Build Type, and select the firehose file for your phone. If there's no firehose file specifically for your device, you may want to choose another firehose file for the same SoC, same storage type for different phone.
    For example, I used the "prog_emmc_firehose_8996_ddr.elf" for ZUK Z2 on HP Elite X3 and it works perfectly.

    In many cases, you can obtain firehose file for your phone from stock firmware.

    Step 4: Open Partition Manager

    Now choose "Tools" - "Partition Manager", and please pay attention to the Status box.
    When it indicates:
    Code:
    2019-07-18 20:04:19.775    20:04:19: Sahara protocol completed
    2019-07-18 20:04:19.776    Sending Programmer Finished
    2019-07-18 20:04:19.776    Switch To FireHose
    2019-07-18 20:04:19.777    Wait for 3 seconds...
    If you didn't see the output above, then the firehose file is incorrect or the EDL port is throttled. Reboot your phone to EDL mode again.

    Then you've partially succeeded, just wait for the Partition Manager appears.

    This is the partition table of your phone. Please take note on the Start LBA and LBA number of the last partition.
    Take HP Elite X3 partition table for example, the last partition is "Data", it's Start LBA and LBA number are 0x01E20000 and 0x0565BFDF. Add both of them will get the total sector numbers of whole eMMC storage - in this case, 0x0747BFDF, or 122,142,687 sectors. Multiple the sector numbers with 512 will get the total bytes of the eMMC storage, in this case, the capacity of eMMC storage is 62,537,055,744‬ bytes.

    You'll need the number 122,142,687 for later use.

    If you don't want to dump userdata partition, just use the Start LBA value of userdata partition and convert it to decimal values - the overall dump will not contain actual userdata.

    Don't close Partition Manager, we need to keep it for later use.
    Now choose either Step 5A or 5B as your wish.

    Step 5A: Dump the storage

    Please copy following path to your File Explorer:
    Code:
    %AppData%\Qualcomm\QFIL
    This will redirect you to C:\Users\[your_user_name]\AppData\Roaming\Qualcomm\QFIL .
    Find the COMPORT_XX directory respective to your exact COM port - in this case, I choose COMPORT_8 for example.

    And open a command prompt or PowerShell window here.
    Execute following command here, remember to change the COM port number and num_sectors to your exact number, or the actual path of fh_loader.exe and your dump if possible:

    Note, this command will not create the path of your dump for you, you must create yourself.
    Code:
    "C:\Program Files (x86)\Qualcomm\QPST\bin\fh_loader.exe" --port=\\.\COM8 --search_path=D:\path\to\your\dump --convertprogram2read --sendimage=full_dump.bin --start_sector=0 --lun=0 --num_sectors=122142687 --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=emmc

    Now just wait for dumping procedure complete.

    Expected output should look like this:
    Code:
    20:45:50: INFO: Current working dir (cwd): C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\
    20:45:50: INFO: Showing network mappings to allow debugging
    20:45:50: INFO: Looking for file 'full_dump.bin'
    
    
                                     (_)
            __      ____ _ _ __ _ __  _ _ __   __ _
            \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
             \ V  V / (_| | |  | | | | | | | | (_| |
              \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                               __/ |
                                              |___/
    
    
    20:45:50: WARNING: Couldn't find the file 'full_dump.bin', returning NULL
    
    
                                     (_)
            __      ____ _ _ __ _ __  _ _ __   __ _
            \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
             \ V  V / (_| | |  | | | | | | | | (_| |
              \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                               __/ |
                                              |___/
    
    
    20:45:50: WARNING: User specified --num_sectors=524288 but file only has 524288 sectors. **Ignoring --num_sectors
    
    
    20:45:50: INFO: User wants to talk to port '\\.\COM8'
    20:45:50: INFO: Took       0.00000000 seconds to open port
    20:45:50: INFO: Sorting TAGS to ensure order is <configure>,<erase>, others, <patch>,<power>
    20:45:50: INFO: If  you don't want this, use --dontsorttags
    
    20:45:50: INFO: Looking for file 'full_dump.bin'
    
    
                                     (_)
            __      ____ _ _ __ _ __  _ _ __   __ _
            \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
             \ V  V / (_| | |  | | | | | | | | (_| |
              \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                               __/ |
                                              |___/
    
    
    20:45:50: WARNING: Couldn't find the file 'full_dump.bin', returning NULL
    20:45:50: INFO: Sending <configure>
    
    20:45:50: INFO: TARGET SAID: 'Calling usb_al_bulk_set_zlp_mode(TRUE) since ZlpAwareHost='1''
    
    20:45:50: INFO: TARGET SAID: 'Calling hotplug_poll_device('MMC')'
    20:45:50: INFO: fh.attrs.MaxPayloadSizeToTargetInBytes = 1048576
    20:45:50: INFO: fh.attrs.MaxPayloadSizeToTargetInBytesSupported = 1048576
    20:45:50: INFO: In handleRead('full_dump.bin')
    20:45:50: INFO: Looking for file 'full_dump.bin'
    
    
                                     (_)
            __      ____ _ _ __ _ __  _ _ __   __ _
            \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
             \ V  V / (_| | |  | | | | | | | | (_| |
              \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                               __/ |
                                              |___/
    
    
    20:45:50: WARNING: Previous Filesize is 0 bytes. Therefore reading size of partition!! Please check 'full_dump.bin'
    20:45:50: INFO: =======================================================
    20:45:50: INFO: <read> (262144.0KB) 524288 sectors from location 0 FILE: 'full_dump.bin'
    20:45:50: INFO: =======================================================
    
    20:45:52: INFO: Overall to target  2.000 seconds (32.34 MBps)
    20:45:54: INFO: Overall to target  4.000 seconds (32.38 MBps)
    20:45:56: INFO: Overall to target  6.000 seconds (32.37 MBps)
    20:45:58: INFO: Overall to target  7.844 seconds (32.64 MBps)
    
    20:45:58: INFO: TARGET SAID: 'Finished reading from sector address 0 to 524288'
    20:45:58: INFO: =======================================================
    20:45:58: INFO: ===================== SUCCESS =========================
    20:45:58: INFO: =======================================================
    
    
    20:45:58: INFO: ==============================================================
    20:45:58: INFO: Files used and their paths
    20:45:58: INFO:   1 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt'
    20:45:58: INFO:   2 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\full_dump.bin'
    
    
    
                                     (_)
            __      ____ _ _ __ _ __  _ _ __   __ _
            \ \ /\ / / _` | '__| '_ \| | '_ \ / _` |
             \ V  V / (_| | |  | | | | | | | | (_| |
              \_/\_/ \__,_|_|  |_| |_|_|_| |_|\__, |
                                               __/ |
                                              |___/
    
    
    20:45:58: INFO: ==============================================================
    20:45:58: INFO: NOTE: There were WARNINGS!! Repeated here, but please see log for more detail
    Couldn't find the file 'full_dump.bin', returning NULL
    User specified --num_sectors=524288 but file only has 524288 sectors. **Ignoring --num_sectors
    
    
    Couldn't find the file 'full_dump.bin', returning NULL
    Previous Filesize is 0 bytes. Therefore reading size of partition!! Please check 'full_dump.bin'
    NOTE: There were WARNINGS!! Repeated above, but please see log for more detail
    
    
    
    20:45:58: INFO: ==============================================================
    20:45:58: INFO:      _             (done)
    20:45:58: INFO:     | |
    20:45:58: INFO:   __| | ___  _ __   ___
    20:45:58: INFO:  / _` |/ _ \| '_ \ / _ \
    20:45:58: INFO: | (_| | (_) | | | |  __/
    20:45:58: INFO:  \__,_|\___/|_| |_|\___|
    20:45:58: INFO: {All Finished Successfully}
    
    20:45:58: INFO: Overall to target  7.969 seconds (32.12 MBps)
    
    Writing log to 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt', might take a minute
    
    
    Log is 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt'

    You can use 7-Zip archiver to open this dump and extract any partition you want.


    Step 5B: Write the dump back to storage


    Open Partition Manager, and don't close it.

    Please copy following path to your File Explorer:
    Code:
    %AppData%\Qualcomm\QFIL
    This will redirect you to C:\Users\[your_user_name]\AppData\Roaming\Qualcomm\QFIL .
    Find the COMPORT_XX directory respective to your exact COM port - in this case, I choose COMPORT_8 for example.

    And open a command prompt or PowerShell window here.
    Execute following command here, remember to change the COM port number and num_sectors to your exact number, or the actual path of fh_loader.exe and your dump if possible:

    In this case, the dump is located at D:\path\to\your\dump\full_dump.bin .

    Code:
    "C:\Program Files (x86)\Qualcomm\QPST\bin\fh_loader.exe" --port=\\.\COM8 --search_path=D:\path\to\your\dump --sendimage=full_dump.bin --start_sector=0 --lun=0 --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=emmc

    Now just wait for the procedure complete.

    The output should look like this:
    Code:
    20:05:30: INFO: Current working dir (cwd): C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\
    20:05:30: INFO: Showing network mappings to allow debugging
    20:05:30: INFO: Looking for file 'full_dump.bin'
    20:05:31: INFO: User wants to talk to port '\\.\COM8'
    20:05:31: INFO: Took       0.01600000 seconds to open port
    20:05:31: INFO: Sorting TAGS to ensure order is <configure>,<erase>, others, <patch>,<power>
    20:05:31: INFO: If  you don't want this, use --dontsorttags
    
    20:05:31: INFO: Looking for file 'full_dump.bin'
    20:05:31: INFO:
    
    Total to be tansferd with <program> or <read> is 36.09 GB
    
    
    20:05:31: INFO: Sending <configure>
    
    20:05:31: INFO: TARGET SAID: 'Calling usb_al_bulk_set_zlp_mode(TRUE) since ZlpAwareHost='1''
    
    20:05:31: INFO: TARGET SAID: 'Calling hotplug_poll_device('MMC')'
    20:05:31: INFO: fh.attrs.MaxPayloadSizeToTargetInBytes = 1048576
    20:05:31: INFO: fh.attrs.MaxPayloadSizeToTargetInBytesSupported = 1048576
    20:05:31: INFO: In handleProgram('full_dump.bin')
    20:05:31: INFO: Looking for file 'full_dump.bin'
    20:05:31: INFO: =======================================================
    20:05:31: INFO: {<program> FILE: 'D:\path\to\your\dump\full_dump.bin'}
    20:05:31: INFO: {<program> (36.09 GB) 75685888 sectors needed at location 0 on LUN 0}
    20:05:31: INFO: =======================================================
    
    
    20:05:31: INFO: TARGET SAID: 'start 0, num 75685888'
    
    20:05:33: INFO: Overall to target  2.031 seconds (26.59 MBps)
    20:05:33: INFO: {percent files transferred   0.15%}
    20:05:35: INFO: Overall to target  4.063 seconds (26.34 MBps)
    20:05:35: INFO: {percent files transferred   0.29%}
    20:05:37: INFO: Overall to target  6.094 seconds (26.26 MBps)
    20:05:37: INFO: {percent files transferred   0.43%}
    20:05:39: INFO: Overall to target  8.110 seconds (26.26 MBps)
    20:05:39: INFO: {percent files transferred   0.58%}
    20:05:41: INFO: Overall to target 10.125 seconds (26.27 MBps)
    20:05:41: INFO: {percent files transferred   0.72%}
    20:05:43: INFO: Overall to target 12.141 seconds (26.27 MBps)
    20:05:43: INFO: {percent files transferred   0.86%}
    20:05:45: INFO: Overall to target 14.141 seconds (26.31 MBps)
    20:05:45: INFO: {percent files transferred   1.01%}
    20:05:47: INFO: Overall to target 16.156 seconds (26.49 MBps)
    20:05:47: INFO: {percent files transferred   1.16%}
    20:05:49: INFO: Overall to target 18.172 seconds (26.52 MBps)
    20:05:49: INFO: {percent files transferred   1.30%}
    20:05:51: INFO: Overall to target 20.188 seconds (26.55 MBps)
    20:05:51: INFO: {percent files transferred   1.45%}
    20:05:53: INFO: Overall to target 22.188 seconds (26.59 MBps)
    20:05:53: INFO: {percent files transferred   1.60%}
    20:05:55: INFO: Overall to target 24.188 seconds (26.62 MBps)
    20:05:55: INFO: {percent files transferred   1.74%}
    20:05:57: INFO: Overall to target 26.188 seconds (26.62 MBps)
    20:05:57: INFO: {percent files transferred   1.89%}
    20:05:59: INFO: Overall to target 28.188 seconds (26.61 MBps)
    20:05:59: INFO: {percent files transferred   2.03%}
    20:06:01: INFO: Overall to target 30.235 seconds (26.59 MBps)
    20:06:01: INFO: {percent files transferred   2.18%}
    20:06:03: INFO: Overall to target 32.266 seconds (26.56 MBps)
    20:06:03: INFO: {percent files transferred   2.32%}
    20:06:05: INFO: Overall to target 34.281 seconds (26.57 MBps)
    20:06:05: INFO: {percent files transferred   2.47%}
    20:06:07: INFO: Overall to target 36.328 seconds (26.56 MBps)
    20:06:07: INFO: {percent files transferred   2.61%}
    20:06:09: INFO: Overall to target 38.328 seconds (26.56 MBps)
    20:06:09: INFO: {percent files transferred   2.75%}
    20:06:11: INFO: Overall to target 40.360 seconds (26.56 MBps)
    20:06:11: INFO: {percent files transferred   2.90%}
    20:06:13: INFO: Overall to target 42.391 seconds (26.56 MBps)
    20:06:13: INFO: {percent files transferred   3.05%}
    
    (ignored too many logs)
    
    20:28:17: INFO: Overall to target 1366.235 seconds (26.33 MBps)
    20:28:17: INFO: {percent files transferred  97.33%}
    20:28:19: INFO: Overall to target 1368.266 seconds (26.33 MBps)
    20:28:19: INFO: {percent files transferred  97.48%}
    20:28:21: INFO: Overall to target 1370.281 seconds (26.33 MBps)
    20:28:21: INFO: {percent files transferred  97.63%}
    20:28:23: INFO: Overall to target 1372.313 seconds (26.33 MBps)
    20:28:23: INFO: {percent files transferred  97.78%}
    20:28:25: INFO: Overall to target 1374.313 seconds (26.33 MBps)
    20:28:25: INFO: {percent files transferred  97.93%}
    20:28:27: INFO: Overall to target 1376.344 seconds (26.34 MBps)
    20:28:27: INFO: {percent files transferred  98.08%}
    20:28:29: INFO: Overall to target 1378.344 seconds (26.34 MBps)
    20:28:29: INFO: {percent files transferred  98.22%}
    20:28:31: INFO: Overall to target 1380.360 seconds (26.34 MBps)
    20:28:31: INFO: {percent files transferred  98.37%}
    20:28:33: INFO: Overall to target 1382.375 seconds (26.34 MBps)
    20:28:33: INFO: {percent files transferred  98.51%}
    20:28:35: INFO: Overall to target 1384.406 seconds (26.34 MBps)
    20:28:35: INFO: {percent files transferred  98.66%}
    20:28:37: INFO: Overall to target 1386.438 seconds (26.34 MBps)
    20:28:37: INFO: {percent files transferred  98.80%}
    20:28:39: INFO: Overall to target 1388.438 seconds (26.34 MBps)
    20:28:39: INFO: {percent files transferred  98.94%}
    20:28:41: INFO: Overall to target 1390.453 seconds (26.34 MBps)
    20:28:41: INFO: {percent files transferred  99.09%}
    20:28:43: INFO: Overall to target 1392.485 seconds (26.34 MBps)
    20:28:43: INFO: {percent files transferred  99.25%}
    20:28:45: INFO: Overall to target 1394.516 seconds (26.34 MBps)
    20:28:45: INFO: {percent files transferred  99.40%}
    20:28:47: INFO: Overall to target 1396.531 seconds (26.34 MBps)
    20:28:47: INFO: {percent files transferred  99.55%}
    20:28:49: INFO: Overall to target 1398.750 seconds (26.33 MBps)
    20:28:49: INFO: {percent files transferred  99.66%}
    20:28:51: INFO: Overall to target 1400.766 seconds (26.33 MBps)
    20:28:51: INFO: {percent files transferred  99.81%}
    20:28:53: INFO: Overall to target 1402.797 seconds (26.33 MBps)
    20:28:53: INFO: {percent files transferred  99.96%}
    20:28:54: INFO: Overall to target 1403.422 seconds (26.33 MBps)
    20:28:54: INFO: {percent files transferred 100.00%}
    
    20:28:54: INFO: TARGET SAID: 'Finished programming start_sector 75685888 and TotalSectorsToProgram 75685888'
    20:28:54: INFO:
    20:28:54: INFO: =======================================================
    20:28:54: INFO: ==================== {SUCCESS} ========================
    20:28:54: INFO: =======================================================
    
    
    20:28:54: INFO: {percent files transferred 100.00%}
    20:28:54: INFO: ==============================================================
    20:28:54: INFO: Files used and their paths
    20:28:54: INFO:   1 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt'
    20:28:54: INFO:   2 'D:\path\to\your\dump\full_dump.bin'
    
    20:28:54: INFO:      _             (done)
    20:28:54: INFO:     | |
    20:28:54: INFO:   __| | ___  _ __   ___
    20:28:54: INFO:  / _` |/ _ \| '_ \ / _ \
    20:28:54: INFO: | (_| | (_) | | | |  __/
    20:28:54: INFO:  \__,_|\___/|_| |_|\___|
    20:28:54: INFO: {All Finished Successfully}
    
    20:28:54: INFO: Overall to target 1403.578 seconds (26.33 MBps)
    20:28:54: INFO: {percent files transferred 100.00%}
    
    Writing log to 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt', might take a minute
    
    
    Log is 'C:\Users\HikariCal\AppData\Roaming\Qualcomm\QFIL\COMPORT_8\port_trace.txt'

    If you only want to write back only one specific partition, you need to specify the start_sector value to the decimal value of a partition's Start LBA.
    Always keep the Partition Manager window opened!


    Step 6: Quit Partition Manager

    After everything dumped, you can close Partition Manager, the QFIL will reboot your phone back to EDL mode or reboot your phone back to normal mode.
    Then you can force reboot your phone or mess up your phone as you want.