EC-25E Firmware

Hello.

Please send the firmware and the program for updating the EC-25E modem. We have 13 modems installed. There is a problem with the operation of the modem in the 4G network.

Email is not sent
support@quectel.com
SMTP error from remote mail server after RCPT TO:support@quectel.com:
host quectel-com.corpsmtp.net [192.241.217.149]:
550 5.7.1 <nikishin-ivan@list.ru> Access to <support@quectel.com> not allowed by rule [Poor_Sender_Reputation]

Hello ivan, thans for your question
Please query your module version via ATI command, we will according to your version to provide you with the appropriate firmware version.
About email not send problem, you can use other emai address send to support@quectel.com, thank you.

Hello.
Can you send QCOM, QFlach programs first? To check the firmware version and further update.

Hi there
I have send the tool you need via email, please check your email, thank you.

ATI

Quectel
EC25
Revision: EC25EFAR02A07M4G

OK

Hi there
I have send the latest FW via email, please check your email, thank you.

Hi Duncan,

Now i are working EC25 with Quecopen, the source code is in my hand that got from local FAE.
I forget to read module version but on label is EC25EFAR02A04M4G, and the version is the same as file name .zip( dbg, update, upgrade) that got from local FAE.

After I flashed mdm9607-perf-sysfs.ubi into module and use ATI to read:
Quectel
EC25
Revision: EC25EFAR06A01M4G

Pls advise what is newer one.

I also have a question:
the source code Quecopen is the same as the source code that built for module.

in case if module version is out of date, how i can get new one and the source code quecopen.

thank you a lot

Hi Micro_Controller
Our latest version on EC25 with Quecopen is EC25EFAR06A01M4G_OCPU_01.001.01.001
You can use at+qgmr? command query module version. If you want get new FW and the SDK, you can contact with Quectel local FAE, thank you.

Hello.
An error appears when updating: Confirm dynamic com porn 5 timeout (N)!

Hello. Can you send me firmware for EC25EFAR06A01M4G ?

please download:
https://quectel123-my.sharepoint.cn/:u:/g/personal/ae-fae_dom_quectel_com_cn/EVv-llcYJfdNucPG0vvmKXQBs4wbWAXorIxvMOvSbOlihg?e=iu532F

1 Like

Thanks!

The EC25 module switched to EDL mode via USB_BOOT. When I try to flash it, the following error occurs.

└─$ ./QFirehose -f ~/development/quectel/firmware/EC25EFAR06A01M4G -z 0
[000.000]: QFirehose Version: Quectel_LTE&5G_QFirehose_Linux&Android_V1.4
[000.000]: Builded: Dec 21 2021 16:19:50
[000.000]: Find md5 check file </home/4g/development/quectel/firmware/EC25EFAR06A01M4G/md5.txt>
[000.001]: Totals checking 0 files md5 value, 0 file fail!
[000.001]: [1] /sys/bus/usb/devices/1-4 5c6/9008/0
[000.001]: P: /dev/bus/usb/001/032 idVendor=05c6 idProduct=9008
[000.001]: C: /dev/bus/usb/001/032 bNumInterfaces: 1
[000.001]: I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[000.001]: E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[000.001]: E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[000.001]: usbfs_is_kernel_driver_alive find interface 0 has match the driver qcserial
[000.001]: usbfs_detach_kernel_driver detach kernel driver success
[000.001]: dir=/home/4g/development/quectel/firmware/EC25EFAR06A01M4G/update/firehose
[000.001]: d_name=prog_nand_firehose_9x07.mbn
[000.002]: prog_nand_firehose_filename = prog_nand_firehose_9x07.mbn
[000.002]: STATE <-- SAHARA_WAIT_HELLO
[000.002]: RECEIVED <--  SAHARA_HELLO_ID
[000.002]: RECEIVED <-- SAHARA_MODE_IMAGE_TX_PENDING
[000.002]: SENDING --> SAHARA_HELLO_RESPONSE
[000.002]: STATE <-- SAHARA_WAIT_COMMAND
[000.002]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.002]: 0x0000000d 0x00000000 0x00000034
[000.002]: STATE <-- SAHARA_WAIT_COMMAND
[000.002]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.002]: 0x0000000d 0x00000034 0x00000060
[000.002]: STATE <-- SAHARA_WAIT_COMMAND
[000.002]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.002]: 0x0000000d 0x00001000 0x00001000
[000.003]: STATE <-- SAHARA_WAIT_COMMAND
[000.003]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.003]: 0x0000000d 0x00002000 0x00000988
[000.003]: STATE <-- SAHARA_WAIT_COMMAND
[000.004]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.004]: 0x0000000d 0x00003000 0x00001000
[000.004]: STATE <-- SAHARA_WAIT_COMMAND
[000.005]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.005]: 0x0000000d 0x00004000 0x00001000
[000.006]: STATE <-- SAHARA_WAIT_COMMAND
[000.006]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.006]: 0x0000000d 0x00005000 0x00001000
[000.006]: STATE <-- SAHARA_WAIT_COMMAND
[000.007]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.007]: 0x0000000d 0x00006000 0x00001000
[000.007]: STATE <-- SAHARA_WAIT_COMMAND
[000.007]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.007]: 0x0000000d 0x00007000 0x00001000
[000.008]: STATE <-- SAHARA_WAIT_COMMAND
[000.008]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.008]: 0x0000000d 0x00008000 0x00001000
[000.008]: STATE <-- SAHARA_WAIT_COMMAND
[000.009]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.009]: 0x0000000d 0x00009000 0x00001000
[000.009]: STATE <-- SAHARA_WAIT_COMMAND
[000.009]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.009]: 0x0000000d 0x0000a000 0x00001000
[000.010]: STATE <-- SAHARA_WAIT_COMMAND
[000.010]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.010]: 0x0000000d 0x0000b000 0x00001000
[000.010]: STATE <-- SAHARA_WAIT_COMMAND
[000.011]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.011]: 0x0000000d 0x0000c000 0x00001000
[000.011]: STATE <-- SAHARA_WAIT_COMMAND
[000.012]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.012]: 0x0000000d 0x0000d000 0x00001000
[000.012]: STATE <-- SAHARA_WAIT_COMMAND
[000.012]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.012]: 0x0000000d 0x0000e000 0x00001000
[000.012]: STATE <-- SAHARA_WAIT_COMMAND
[000.013]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.013]: 0x0000000d 0x0000f000 0x00001000
[000.013]: STATE <-- SAHARA_WAIT_COMMAND
[000.014]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.014]: 0x0000000d 0x00010000 0x00001000
[000.014]: STATE <-- SAHARA_WAIT_COMMAND
[000.014]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.014]: 0x0000000d 0x00011000 0x00001000
[000.015]: STATE <-- SAHARA_WAIT_COMMAND
[000.015]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.015]: 0x0000000d 0x00012000 0x00001000
[000.015]: STATE <-- SAHARA_WAIT_COMMAND
[000.016]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.016]: 0x0000000d 0x00013000 0x00001000
[000.016]: STATE <-- SAHARA_WAIT_COMMAND
[000.016]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.016]: 0x0000000d 0x00014000 0x00001000
[000.017]: STATE <-- SAHARA_WAIT_COMMAND
[000.017]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.017]: 0x0000000d 0x00015000 0x00001000
[000.017]: STATE <-- SAHARA_WAIT_COMMAND
[000.018]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.018]: 0x0000000d 0x00016000 0x00001000
[000.018]: STATE <-- SAHARA_WAIT_COMMAND
[000.019]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.019]: 0x0000000d 0x00017000 0x00001000
[000.019]: STATE <-- SAHARA_WAIT_COMMAND
[000.019]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.019]: 0x0000000d 0x00018000 0x00001000
[000.020]: STATE <-- SAHARA_WAIT_COMMAND
[000.020]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.020]: 0x0000000d 0x00019000 0x00001000
[000.021]: STATE <-- SAHARA_WAIT_COMMAND
[000.021]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.021]: 0x0000000d 0x0001a000 0x00001000
[000.021]: STATE <-- SAHARA_WAIT_COMMAND
[000.022]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.022]: 0x0000000d 0x0001b000 0x00001000
[000.022]: STATE <-- SAHARA_WAIT_COMMAND
[000.023]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.023]: 0x0000000d 0x0001c000 0x00001000
[000.023]: STATE <-- SAHARA_WAIT_COMMAND
[000.024]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.024]: 0x0000000d 0x0001d000 0x00001000
[000.024]: STATE <-- SAHARA_WAIT_COMMAND
[000.024]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.024]: 0x0000000d 0x0001e000 0x00001000
[000.025]: STATE <-- SAHARA_WAIT_COMMAND
[000.025]: RECEIVED <-- SAHARA_READ_DATA_ID
[000.025]: 0x0000000d 0x0001f000 0x00000dec
[000.025]: STATE <-- SAHARA_WAIT_COMMAND
[000.051]: RECEIVED <-- SAHARA_END_IMAGE_TX_ID
[000.051]: image_id = 13, status = 0
[000.051]: SENDING --> SAHARA_DONE
[000.051]: STATE <-- SAHARA_WAIT_DONE_RESP
[000.051]: RECEIVED <-- SAHARA_DONE_RESP_ID
[000.052]: image_tx_status = 0
[000.052]: Sahara protocol completed
[000.052]: dir=/home/4g/development/quectel/firmware/EC25EFAR06A01M4G/update/firehose
[000.052]: d_name=rawprogram_nand_p4K_b256K_update.xml
[001.438]: <log value="Supported Functions: program configure power benchmark read getstorageinfo erase nop "/>
[002.460]: inf[0] ep_in -1/1024, errno = 110 (Connection timed out), timeout=1000
[002.460]: qusb_noblock_read read=0, errno: 110 (Connection timed out)
[002.460]: qusb_noblock_read cur=0, min_size=1
[002.460]: firehose_protocol.c fh_recv_cmd 327 fail
[002.460]: <configure MemoryName="nand" Verbose="0" AlwaysValidate="0" MaxDigestTableSizeInBytes="2048" MaxPayloadSizeToTargetInBytes="8192"  ZlpAwareHost="0" SkipStorageInit="0" />
[002.461]: <response value="ACK" MemoryName="NAND" MaxPayloadSizeFromTargetInBytes="2048" MaxPayloadSizeToTargetInBytes="8192" MaxPayloadSizeToTargetInBytesSupported="16384" TargetName="9x07" />
[002.461]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="640" physical_partition_number="0" start_sector="0"    />
[002.462]: <log value="start_sector = 0 and num_partition_sectors =0x280)"/>
[002.490]: <response value="ACK" />
[002.490]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="640" physical_partition_number="0" start_sector="640"    />
[002.490]: <log value="start_sector = 640 and num_partition_sectors =0x280)"/>
[002.503]: <response value="ACK" />
[002.503]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="320" physical_partition_number="0" start_sector="8960"    />
[002.503]: <log value="start_sector = 8960 and num_partition_sectors =0x140)"/>
[002.511]: <response value="ACK" />
[002.511]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="384" physical_partition_number="0" start_sector="9280"    />
[002.512]: <log value="start_sector = 9280 and num_partition_sectors =0x180)"/>
[002.521]: <response value="ACK" />
[002.521]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="320" physical_partition_number="0" start_sector="9664"    />
[002.521]: <log value="start_sector = 9664 and num_partition_sectors =0x140)"/>
[002.535]: <response value="ACK" />
[002.535]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="2304" physical_partition_number="0" start_sector="9984"    />
[002.536]: <log value="start_sector = 9984 and num_partition_sectors =0x900)"/>
[002.622]: <response value="ACK" />
[002.622]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="2304" physical_partition_number="0" start_sector="12288"    />
[002.623]: <log value="start_sector = 12288 and num_partition_sectors =0x900)"/>
[002.700]: <response value="ACK" />
[002.700]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="3584" physical_partition_number="0" start_sector="16192"    />
[002.701]: <log value="start_sector = 16192 and num_partition_sectors =0xe00)"/>
[002.810]: <response value="ACK" />
[002.810]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="15872" physical_partition_number="0" start_sector="24000"    />
[002.810]: <log value="start_sector = 24000 and num_partition_sectors =0x3e00)"/>
[002.939]: <log value="Skipping:        bad block 0x1a5"/>
[003.246]: <log value="Skipping:        bad block 0x241"/>
[003.330]: <response value="ACK" />
[003.330]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="7680" physical_partition_number="0" start_sector="40192"    />
[003.331]: <log value="start_sector = 40192 and num_partition_sectors =0x1e00)"/>
[003.525]: <response value="ACK" />
[003.525]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="14336" physical_partition_number="0" start_sector="47872"    />
[003.525]: <log value="start_sector = 47872 and num_partition_sectors =0x3800)"/>
[004.017]: <response value="ACK" />
[004.017]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="14848" physical_partition_number="0" start_sector="62208"    />
[004.018]: <log value="start_sector = 62208 and num_partition_sectors =0x3a00)"/>
[004.290]: <response value="ACK" />
[004.290]: <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="54016" physical_partition_number="0" start_sector="77056"    />
[004.291]: <log value="start_sector = 77056 and num_partition_sectors =0xd300)"/>
[004.611]: <log value="Skipping:        bad block 0x600"/>
[004.611]: <log value="Skipping:        bad block 0x601"/>
[004.643]: <log value="Skipping:        bad block 0x629"/>
[005.141]: <response value="ACK" />
[005.141]: <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="partition_complete_p4K_b256K.mbn" num_partition_sectors="4"  physical_partition_number="0" start_sector="640" />
[005.142]: <log value="INSIDE HANDLE PROGRAM"/>
[005.142]: <log value="start_sector 640, last_sector_address 644"/>
[005.142]: <response value="ACK" rawmode="true" />
[005.142]: send partition_complete_p4K_b256K.mbn, filesize=16384
.
[005.147]: upgrade progress 0% 16384/221755408
[005.147]: send finished
[011.260]: inf[0] ep_in -1/1024, errno = 110 (Connection timed out), timeout=6000
[011.260]: qusb_noblock_read read=0, errno: 110 (Connection timed out)
[011.260]: qusb_noblock_read cur=0, min_size=1
[011.260]: firehose_protocol.c fh_recv_cmd 327 fail
[011.260]: firehose_protocol.c fh_wait_response_cmd 393 fail
[011.260]: fh_wait_response_cmd fail
[011.260]: firehose_protocol.c firehose_main 832 fail
[011.260]: Upgrade module failed.