Thanks!
Those commands I used are given as
examples from their GitHub page.
So I tried your suggested commands.
Loader part is fine:
Code:
C:\..\edl > python edl.py --loader=QC_SDM636.bin --memory=eMMC
Qualcomm Sahara / Firehose Client V3.52 (c) B.Kerler 2018-2021.
main - Using loader QC_SDM636.bin ...
main - Waiting for the device
main - Device detected :)
main - Mode detected: sahara
Device is in EDL mode .. continuing.
sahara -
------------------------
HWID: ...
CPU detected: "SDM636"
PK_HASH: ...
Serial: ...
sahara - Uploading loader QC_SDM636.bin ...
Successfully uploaded programmer :)
firehose - Nop succeeded.
firehose - Chip serial num: 0 (0x0)
firehose -
firehose_client - Target detected: SDM636
firehose - TargetName=MSM8996
firehose - MemoryName=eMMC
firehose - Version=1
firehose_client - Supported functions:
-----------------
configure,program,firmwarewrite,patch,setbootablestoragedrive,ufs,emmc,power,benchmark,read,getstorageinfo,getcrc16digest,getsha256digest,erase,peek,poke,nop,xml
However edl.py struggles even when reading boot:
Spoiler:
Code:
C:\..\edl > python edl.py r boot 1boot.img
Qualcomm Sahara / Firehose Client V3.52 (c) B.Kerler 2018-2021.
main - Trying with no loader given ...
main - Waiting for the device
main - Device detected :)
main - Mode detected: firehose
firehose - Chip serial num: 0 (0x0)
firehose -
firehose_client
firehose_client - [LIB]: No --memory option set, we assume "eMMC" as default ..., if it fails, try using "--memory" with "UFS","NAND" or "spinor" instead !
firehose - TargetName=MSM8996
firehose - MemoryName=eMMC
firehose - Version=1
firehose_client - Supported functions:
-----------------
configure,program,firmwarewrite,patch,setbootablestoragedrive,ufs,emmc,power,benchmark,read,getstorageinfo,getcrc16digest,getsha256digest,erase,peek,poke,nop,xml
firehose -
Reading from physical partition 0, sector 262144, sectors 131072
Progress: |--------------------------------------------------| 0.0% CompleteTraceback (most recent call last):
File "C:\Users\merge\Documents\!KonTiki2\1 Update\edl\edl.py", line 358, in <module>
base.run()
File "C:\Users\merge\Documents\!KonTiki2\1 Update\edl\edl.py", line 340, in run
fh.handle_firehose(cmd, options)
File "C:\Users\merge\Documents\!KonTiki2\1 Update\edl\edl\Library\firehose_client.py", line 245, in handle_firehose
if self.firehose.cmd_read(lun, rpartition.sector, rpartition.sectors, partfilename):
File "C:\Users\merge\Documents\!KonTiki2\1 Update\edl\edl\Library\firehose.py", line 610, in cmd_read
show_progress("Read", total - bytestoread, total, display)
File "C:\Users\merge\Documents\!KonTiki2\1 Update\edl\edl\Library\firehose.py", line 174, in show_progress
throughput=(((datasize)/(tdiff)))
ZeroDivisionError: float division by zero
Start sector and its size are fine, according to the xml:
Code:
<program SECTOR_SIZE_IN_BYTES="512" file_sector_offset="0" filename="boot.bin" label="boot" num_partition_sectors="131072" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="65536.0" sparse="false" start_byte_hex="0x8000000" start_sector="262144"/>
I submitted an
issue on GitHub. I suspect that edl.py calculates partition table somewhat wrong. Maybe it is related to the fact that Kon-Tiki 2 platform is a modified version of that of Nova 3, and modifications are not that sane after all