Hi,
I am trying to upgrade firmware of EC20 module, but it is failing.
Same process is working on EC25 module
Following is the log
./QFirehose -f ./EC20CEFAGR06A16M4G
[000.000]: Version: QFirehose_Linux_Android_V1.4.17
[000.000]: Builded: Dec 27 2024 05:05:23
[000.000]: Find md5 check file <./EC20CEFAGR06A16M4G/md5.txt>
[000.000]: md5 checking: ./EC20CEFAGR06A16M4G/contents.xml pass
[000.007]: md5 checking: ./EC20CEFAGR06A16M4G/update/appsboot.mbn pass
[000.009]: md5 checking: ./EC20CEFAGR06A16M4G/update/ENPRG9x07.mbn pass
[000.009]: md5 checking: ./EC20CEFAGR06A16M4G/update/firehose/partition_complete_p4K_b256K.mbn pass
[000.009]: md5 checking: ./EC20CEFAGR06A16M4G/update/firehose/patch_p4K_b256K.xml pass
[000.011]: md5 checking: ./EC20CEFAGR06A16M4G/update/firehose/prog_nand_firehose_9x07.mbn pass
[000.011]: md5 checking: ./EC20CEFAGR06A16M4G/update/firehose/rawprogram_nand_p4K_b256K_update.xml pass
[000.081]: md5 checking: ./EC20CEFAGR06A16M4G/update/mdm9607-perf-boot.img pass
[000.663]: md5 checking: ./EC20CEFAGR06A16M4G/update/mdm9607-perf-sysfs.ubi pass
[000.788]: md5 checking: ./EC20CEFAGR06A16M4G/update/mdm-perf-recovery-image-mdm9607-perf.ubi pass
[001.289]: md5 checking: ./EC20CEFAGR06A16M4G/update/NON-HLOS.ubi pass
[001.291]: md5 checking: ./EC20CEFAGR06A16M4G/update/NPRG9x07.mbn pass
[001.295]: md5 checking: ./EC20CEFAGR06A16M4G/update/oemapp.ubi pass
[001.296]: md5 checking: ./EC20CEFAGR06A16M4G/update/partition.mbn pass
[001.296]: md5 checking: ./EC20CEFAGR06A16M4G/update/partition_nand.xml pass
[001.298]: md5 checking: ./EC20CEFAGR06A16M4G/update/rpm.mbn pass
[001.300]: md5 checking: ./EC20CEFAGR06A16M4G/update/sbl1.mbn pass
[001.307]: md5 checking: ./EC20CEFAGR06A16M4G/update/tz.mbn pass
[001.307]: Totals checking 18 files md5 value, 0 file fail!
[001.307]: find 'prog_nand_firehose_9x07.mbn'
[001.307]: find_firehose_mbn prog_nand_firehose_9x07.mbn
[001.308]: [1] /sys/bus/usb/devices/1-1.2 5c6/9008/0
[001.308]: qusb_read_speed_atime speed: 480, st_atime: 20250213_11:56:22
[001.309]: P: /dev/bus/usb/001/007 idVendor=05c6 idProduct=9008
[001.309]: C: /dev/bus/usb/001/007 bNumInterfaces: 1
[001.309]: I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[001.309]: E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[001.309]: E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[001.309]: <=== Q_SAHARA_ONE
[001.309]: Q_SAHARA_TWO ===>
[001.309]: <=== Q_SAHARA_THREE
[001.309]: 0x0000000d 0x00000000 0x00000034
[001.309]: <=== Q_SAHARA_THREE
[001.309]: 0x0000000d 0x00000034 0x00000060
[001.309]: <=== Q_SAHARA_THREE
[001.310]: 0x0000000d 0x00001000 0x00000088
[001.310]: <=== Q_SAHARA_THREE
[001.310]: 0x0000000d 0x00002000 0x00001000
[001.311]: <=== Q_SAHARA_THREE
[001.311]: 0x0000000d 0x00003000 0x00001000
[001.311]: <=== Q_SAHARA_THREE
[001.311]: 0x0000000d 0x00004000 0x00001000
[001.312]: <=== Q_SAHARA_THREE
[001.312]: 0x0000000d 0x00005000 0x00001000
[001.313]: <=== Q_SAHARA_THREE
[001.313]: 0x0000000d 0x00006000 0x00001000
[001.314]: <=== Q_SAHARA_THREE
[001.314]: 0x0000000d 0x00007000 0x00001000
[001.314]: <=== Q_SAHARA_THREE
[001.314]: 0x0000000d 0x00008000 0x00001000
[001.315]: <=== Q_SAHARA_THREE
[001.315]: 0x0000000d 0x00009000 0x00001000
[001.316]: <=== Q_SAHARA_THREE
[001.316]: 0x0000000d 0x0000a000 0x00001000
[001.316]: <=== Q_SAHARA_THREE
[001.316]: 0x0000000d 0x0000b000 0x00001000
[001.317]: <=== Q_SAHARA_THREE
[001.317]: 0x0000000d 0x0000c000 0x00001000
[001.318]: <=== Q_SAHARA_THREE
[001.318]: 0x0000000d 0x0000d000 0x00001000
[001.319]: <=== Q_SAHARA_THREE
[001.319]: 0x0000000d 0x0000e000 0x00001000
[001.319]: <=== Q_SAHARA_THREE
[001.319]: 0x0000000d 0x0000f000 0x00001000
[001.320]: <=== Q_SAHARA_THREE
[001.320]: 0x0000000d 0x00010000 0x00001000
[001.321]: <=== Q_SAHARA_THREE
[001.321]: 0x0000000d 0x00011000 0x00001000
[001.322]: <=== Q_SAHARA_THREE
[001.322]: 0x0000000d 0x00012000 0x00001000
[001.323]: <=== Q_SAHARA_THREE
[001.323]: 0x0000000d 0x00013000 0x00001000
[001.323]: <=== Q_SAHARA_THREE
[001.323]: 0x0000000d 0x00014000 0x00001000
[001.324]: <=== Q_SAHARA_THREE
[001.324]: 0x0000000d 0x00015000 0x00001000
[001.325]: <=== Q_SAHARA_THREE
[001.325]: 0x0000000d 0x00016000 0x00001000
[001.326]: <=== Q_SAHARA_THREE
[001.326]: 0x0000000d 0x00017000 0x00001000
[001.326]: <=== Q_SAHARA_THREE
[001.326]: 0x0000000d 0x00018000 0x00001000
[001.327]: <=== Q_SAHARA_THREE
[001.327]: 0x0000000d 0x00019000 0x00001000
[001.328]: <=== Q_SAHARA_THREE
[001.328]: 0x0000000d 0x0001a000 0x00001000
[001.329]: <=== Q_SAHARA_THREE
[001.329]: 0x0000000d 0x0001b000 0x00001000
[001.329]: <=== Q_SAHARA_THREE
[001.329]: 0x0000000d 0x0001c000 0x00001000
[001.330]: <=== Q_SAHARA_THREE
[001.330]: 0x0000000d 0x0001d000 0x00001000
[001.331]: <=== Q_SAHARA_THREE
[001.331]: 0x0000000d 0x0001e000 0x00001000
[001.332]: <=== Q_SAHARA_THREE
[001.332]: 0x0000000d 0x0001f000 0x00000690
[001.358]: <=== Q_SAHARA_FOUR
[001.358]: q_image_id = 13, q_status = 0
[001.358]: Q_SAHARA_FIVE ===>
[001.359]: <=== Q_SAHARA_SIX
[001.359]: q_image_tx_status = 0
[001.359]: Sahara protocol completed
[001.359]: find 'rawprogram_nand_p4K_b256K_update.xml'
[001.360]: find 'patch_p4K_b256K.xml'
[001.360]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="partition_complete_p4K_b256K.mbn" num_partition_sectors="640" physical_partition_number="0" start_sector="640"/>
[001.360]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\oemapp.ubi" num_partition_sectors="768" physical_partition_number="0" start_sector="9408"/>
[001.360]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\tz.mbn" num_partition_sectors="320" physical_partition_number="0" start_sector="10176"/>
[001.360]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\rpm.mbn" num_partition_sectors="384" physical_partition_number="0" start_sector="10496"/>
[001.360]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\appsboot.mbn" num_partition_sectors="320" physical_partition_number="0" start_sector="10880"/>
[001.360]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm9607-perf-boot.img" num_partition_sectors="2304" physical_partition_number="0" start_sector="11200"/>
[001.360]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm9607-perf-boot.img" num_partition_sectors="2304" physical_partition_number="0" start_sector="13504"/>
[001.361]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm-perf-recovery-image-mdm9607-perf.ubi" num_partition_sectors="3584" physical_partition_number="0" start_sector="16128"/>
[001.361]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\NON-HLOS.ubi" num_partition_sectors="15872" physical_partition_number="0" start_sector="23936"/>
[001.361]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm-perf-recovery-image-mdm9607-perf.ubi" num_partition_sectors="7680" physical_partition_number="0" start_sector="40128"/>
[001.361]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\NON-HLOS.ubi" num_partition_sectors="14336" physical_partition_number="0" start_sector="47808"/>
[001.361]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm9607-perf-sysfs.ubi" num_partition_sectors="14848" physical_partition_number="0" start_sector="62144"/>
[001.361]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm9607-perf-sysfs.ubi" num_partition_sectors="54080" physical_partition_number="0" start_sector="76992"/>
[001.361]: fh_xml_find_value: no key sparse in <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\sbl1.mbn" num_partition_sectors="640" physical_partition_number="0" start_sector="0"/>
[002.555]: <log value="Supported Functions: program configure power benchmark read getstorageinfo erase nop "/>
[003.556]: <configure MemoryName="nand" Verbose="0" AlwaysValidate="0" MaxDigestTableSizeInBytes="2048" MaxPayloadSizeToTargetInBytes="8192" ZlpAwareHost="1" SkipStorageInit="0" />
[003.557]: <response value="ACK" MemoryName="NAND" MaxPayloadSizeFromTargetInBytes="2048" MaxPayloadSizeToTargetInBytes="8192" MaxPayloadSizeToTargetInBytesSupported="16384" TargetName="9x07" />
[003.557]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="640" physical_partition_number="0" start_sector="0"/>
[003.558]: <log value="start_sector = 0 and num_partition_sectors =0x280)"/>
[003.572]: <response value="ACK" />
[003.572]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="640" physical_partition_number="0" start_sector="640"/>
[003.572]: <log value="start_sector = 640 and num_partition_sectors =0x280)"/>
[003.586]: <response value="ACK" />
[003.586]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="768" physical_partition_number="0" start_sector="9408"/>
[003.587]: <log value="start_sector = 9408 and num_partition_sectors =0x300)"/>
[003.603]: <response value="ACK" />
[003.604]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="320" physical_partition_number="0" start_sector="10176"/>
[003.604]: <log value="start_sector = 10176 and num_partition_sectors =0x140)"/>
[003.611]: <response value="ACK" />
[003.611]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="384" physical_partition_number="0" start_sector="10496"/>
[003.612]: <log value="start_sector = 10496 and num_partition_sectors =0x180)"/>
[003.620]: <response value="ACK" />
[003.620]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="320" physical_partition_number="0" start_sector="10880"/>
[003.621]: <log value="start_sector = 10880 and num_partition_sectors =0x140)"/>
[003.628]: <response value="ACK" />
[003.628]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="2304" physical_partition_number="0" start_sector="11200"/>
[003.628]: <log value="start_sector = 11200 and num_partition_sectors =0x900)"/>
[003.678]: <response value="ACK" />
[003.678]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="2304" physical_partition_number="0" start_sector="13504"/>
[003.679]: <log value="start_sector = 13504 and num_partition_sectors =0x900)"/>
[003.729]: <response value="ACK" />
[003.729]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="3584" physical_partition_number="0" start_sector="16128"/>
[003.729]: <log value="start_sector = 16128 and num_partition_sectors =0xe00)"/>
[003.807]: <response value="ACK" />
[003.807]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="15872" physical_partition_number="0" start_sector="23936"/>
[003.807]: <log value="start_sector = 23936 and num_partition_sectors =0x3e00)"/>
[004.150]: <response value="ACK" />
[004.150]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="7680" physical_partition_number="0" start_sector="40128"/>
[004.150]: <log value="start_sector = 40128 and num_partition_sectors =0x1e00)"/>
[004.316]: <response value="ACK" />
[004.317]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="14336" physical_partition_number="0" start_sector="47808"/>
[004.317]: <log value="start_sector = 47808 and num_partition_sectors =0x3800)"/>
[004.626]: <response value="ACK" />
[004.627]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="14848" physical_partition_number="0" start_sector="62144"/>
[004.627]: <log value="start_sector = 62144 and num_partition_sectors =0x3a00)"/>
[004.627]: <log value="Block erase request exceeding total number of blocks"/>
[004.627]: <log value="start_block:971,last_block:1203,total_block_count:1024"/>
[004.628]: <log value="ERROR 6: Line 1512: STORAGE_DEVICE_ERASE_FAILURE"/>
[004.628]: <response value="NAK" />
[004.628]: firehose_protocol.c fh_process_erase 1108 fail
[004.628]: firehose_protocol.c firehose_main 1950 fail
[004.628]: Upgrade module failed.
Request help regarding issue.
Thanks & Regards
Praveen
