EG25-GC latest firmware and QFirehose for Linux

Hello,

could you, please, send me the latest firmware for EG25-GC and the latest version of QFirehose?

Thanks!
Best regards,
Jason

Hi Wealas,

Thank you for reaching out with your query. Could you please share the current firmware version installed on your EG25-GC module? You can get the information by executing AT+QGMR command. Once I have that, I can identify the corresponding latest firmware update and provide you with the correct files including the latest QFirehose version.

Looking forward to your reply.

Have a great day!

Best Regards,
Ananthan

Hi Ananthan,
the current firmware is EG25GGCR07A02M1G_30.001.30.001
Thanks!

Hi Wealas,

Thanks for prompt reply. The requested firmware and Qfirehose tool have been sent to you via email. Please help to check.

Thanks!
Have a great day!

Best Regards,
Ananthan

Hi Ananthan,

thanks for the files.
I tried updating the firmware but I get a strange buffer overflow error. I’ve blacklisted qcserial and have disabled modemmanager so nothing is interfering with the modem devices. Here is the output:

[000.000]: Version: QFirehose_Linux_Android_V1.5.1
[000.000]: Builded: Jan  1 1980 00:00:00
[000.000]: Find md5 check file <EG25GGCR07A02M1G_A0.301.A0.301/md5.txt>
[000.000]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/contents.xml pass
[000.001]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/appsboot.mbn pass
[000.002]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/ENPRG9x07.mbn pass
[000.002]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/firehose/partition_complete_p2K_b128K.mbn pass
[000.002]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/firehose/patch_p2K_b128K.xml pass
[000.002]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/firehose/prog_nand_firehose_9x07.mbn pass
[000.002]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/firehose/rawprogram_nand_p2K_b128K_update.xml pass
[000.010]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/mdm9607-boot.img pass
[000.018]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/mdm9607-recovery.ubi pass
[000.100]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/mdm9607-sysfs.ubi pass
[000.101]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/NPRG9x07.mbn pass
[000.101]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/partition.mbn pass
[000.101]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/partition_nand.xml pass
[000.101]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/rpm.mbn pass
[000.102]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/sbl1.mbn pass
[000.103]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/tz.mbn pass
[000.105]: md5 checking: EG25GGCR07A02M1G_A0.301.A0.301/update/usrdata.ubi pass
[000.105]: Totals checking 17 files md5 value, 0 file fail!
[000.105]: find 'prog_nand_firehose_9x07.mbn'
[000.105]: find_firehose_mbn prog_nand_firehose_9x07.mbn
[000.105]: main prog_nand_firehose_9x07.mbn
[000.106]: [1] /sys/bus/usb/devices/3-1 2c7c/125/318
[000.106]: qusb_read_speed_atime speed: 480, st_atime: 20260106_11:18:41
[000.106]: P: /dev/bus/usb/003/002 idVendor=2c7c idProduct=0125
[000.106]: C: /dev/bus/usb/003/002 bNumInterfaces: 5
[000.106]: I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[000.106]: E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[000.106]: E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[000.106]: I: If#= 1 Alt= 0 #EPs= 3 Cls=ff Sub=00 Prot=00
[000.106]: E: Ad=83 Atr=03 MxPS= 10 Ivl=9ms
[000.106]: E: Ad=82 Atr=02 MxPS= 512 Ivl=0ms
[000.106]: E: Ad=02 Atr=02 MxPS= 512 Ivl=0ms
[000.106]: I: If#= 2 Alt= 0 #EPs= 3 Cls=ff Sub=00 Prot=00
[000.106]: E: Ad=85 Atr=03 MxPS= 10 Ivl=9ms
[000.106]: E: Ad=84 Atr=02 MxPS= 512 Ivl=0ms
[000.106]: E: Ad=03 Atr=02 MxPS= 512 Ivl=0ms
[000.106]: I: If#= 3 Alt= 0 #EPs= 3 Cls=ff Sub=00 Prot=00
[000.106]: E: Ad=87 Atr=03 MxPS= 10 Ivl=9ms
[000.106]: E: Ad=86 Atr=02 MxPS= 512 Ivl=0ms
[000.106]: E: Ad=04 Atr=02 MxPS= 512 Ivl=0ms
[000.106]: I: If#= 4 Alt= 0 #EPs= 3 Cls=ff Sub=ff Prot=ff
[000.106]: tmp=/sys/bus/usb/devices/usb3/../driver, driver=../../../../bus/pci/drivers/xhci_hcd
[000.106]: qusb_noblock_open port_name = /dev/ttyUSB0
[006.377]: poll_wait events=POLLIN msec=1000 timeout
[006.377]: switch to 'Emergency download mode'
[006.378]: successful, wait module reboot
[007.419]: P: /dev/bus/usb/003/003 idVendor=05c6 idProduct=9008
[007.419]: C: /dev/bus/usb/003/003 bNumInterfaces: 1
[007.419]: I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[007.419]: E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[007.419]: E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[007.419]: tmp=/sys/bus/usb/devices/usb3/../driver, driver=../../../../bus/pci/drivers/xhci_hcd
[007.420]: <=== Q_SAHARA_ONE
[007.420]: Q_SAHARA_TWO ===>
[007.420]: <=== Q_SAHARA_THREE
[007.420]: 0x0000000d 0x00000000 0x00000034
[007.420]: <=== Q_SAHARA_THREE
[007.420]: 0x0000000d 0x00000034 0x00000060
[007.420]: <=== Q_SAHARA_THREE
[007.420]: 0x0000000d 0x00001000 0x00001000
[007.420]: <=== Q_SAHARA_THREE
[007.420]: 0x0000000d 0x00002000 0x00000988
[007.421]: <=== Q_SAHARA_THREE
[007.421]: 0x0000000d 0x00003000 0x00001000
[007.422]: <=== Q_SAHARA_THREE
[007.422]: 0x0000000d 0x00004000 0x00001000
[007.422]: <=== Q_SAHARA_THREE
[007.422]: 0x0000000d 0x00005000 0x00001000
[007.423]: <=== Q_SAHARA_THREE
[007.423]: 0x0000000d 0x00006000 0x00001000
[007.424]: <=== Q_SAHARA_THREE
[007.424]: 0x0000000d 0x00007000 0x00001000
[007.424]: <=== Q_SAHARA_THREE
[007.424]: 0x0000000d 0x00008000 0x00001000
[007.425]: <=== Q_SAHARA_THREE
[007.425]: 0x0000000d 0x00009000 0x00001000
[007.425]: <=== Q_SAHARA_THREE
[007.425]: 0x0000000d 0x0000a000 0x00001000
[007.426]: <=== Q_SAHARA_THREE
[007.426]: 0x0000000d 0x0000b000 0x00001000
[007.427]: <=== Q_SAHARA_THREE
[007.427]: 0x0000000d 0x0000c000 0x00001000
[007.427]: <=== Q_SAHARA_THREE
[007.427]: 0x0000000d 0x0000d000 0x00001000
[007.428]: <=== Q_SAHARA_THREE
[007.428]: 0x0000000d 0x0000e000 0x00001000
[007.428]: <=== Q_SAHARA_THREE
[007.428]: 0x0000000d 0x0000f000 0x00001000
[007.429]: <=== Q_SAHARA_THREE
[007.429]: 0x0000000d 0x00010000 0x00001000
[007.430]: <=== Q_SAHARA_THREE
[007.430]: 0x0000000d 0x00011000 0x00001000
[007.430]: <=== Q_SAHARA_THREE
[007.430]: 0x0000000d 0x00012000 0x00001000
[007.431]: <=== Q_SAHARA_THREE
[007.431]: 0x0000000d 0x00013000 0x00001000
[007.432]: <=== Q_SAHARA_THREE
[007.432]: 0x0000000d 0x00014000 0x00001000
[007.432]: <=== Q_SAHARA_THREE
[007.432]: 0x0000000d 0x00015000 0x00001000
[007.433]: <=== Q_SAHARA_THREE
[007.433]: 0x0000000d 0x00016000 0x00001000
[007.433]: <=== Q_SAHARA_THREE
[007.433]: 0x0000000d 0x00017000 0x00001000
[007.434]: <=== Q_SAHARA_THREE
[007.434]: 0x0000000d 0x00018000 0x00001000
[007.435]: <=== Q_SAHARA_THREE
[007.435]: 0x0000000d 0x00019000 0x00001000
[007.435]: <=== Q_SAHARA_THREE
[007.435]: 0x0000000d 0x0001a000 0x00001000
[007.436]: <=== Q_SAHARA_THREE
[007.436]: 0x0000000d 0x0001b000 0x00001000
[007.436]: <=== Q_SAHARA_THREE
[007.436]: 0x0000000d 0x0001c000 0x00001000
[007.437]: <=== Q_SAHARA_THREE
[007.437]: 0x0000000d 0x0001d000 0x00001000
[007.438]: <=== Q_SAHARA_THREE
[007.438]: 0x0000000d 0x0001e000 0x00001000
[007.438]: <=== Q_SAHARA_THREE
[007.438]: 0x0000000d 0x0001f000 0x00000ea0
[007.465]: <=== Q_SAHARA_FOUR
[007.465]: q_image_id = 13, q_status = 0
[007.465]: Q_SAHARA_FIVE ===>
[007.465]: <=== Q_SAHARA_SIX
[007.465]: q_image_tx_status = 0
[007.465]: Sahara protocol completed
[007.465]: find 'rawprogram_nand_p2K_b128K_update.xml'
[007.465]: retrieve rawprogram namd file failed.
[007.465]: find 'patch_p2K_b128K.xml'
[008.594]: <log value="Supported Functions: program configure power read getstorageinfo erase nop "/>
*** buffer overflow detected ***: terminated
Aborted                    sudo ./QFirehose_Linux_and_Android_V1.5/out/QFirehose -f EG25GGCR07A02M1G_A0.301.A0.301

Hi Wealas,

Based on our experience, ModemManager may interfere with the modem when it enters QDL (9008) mode, which can cause the firmware upgrade to fail. Disabling ModemManager prevents it from accessing the modem and allows QFirehose to complete the programming successfully.

After the firmware upgrade is completed, we recommend re-enabling ModemManager, as keeping it disabled may affect other modem-related functions.

Please also try running the update again with the -z 0 option, which helps avoid potential XHCI (USB3) driver issues:

sudo ./QFirehose -f EG25GGCR07A02M1G_A0.301.A0.301 -z 0

Let me know the result.
Have a great day!

Best regards,
Ananthan

Hi Ananthan,

ModemManager was disabled but even with the z option I get the exact same error.
Any other suggestions?

Thanks!

Hi Wealas,

I’ve sent another firmware to your email to try. Can you help to try upgrading the module with the latest firmware I’ve sent and feedback?

Let me know the results.

Thanks!
Have a great day!

Best Regards,
Ananthan

Hi Ananthan,

sorry for the delayed response. Unfortunately, I get the same error.

sudo ./QFirehose_Linux_and_Android_V1.5/out/QFirehose -f EG25GGCR07A02M1G_30.203.30.203 -z 0
[000.000]: Version: QFirehose_Linux_Android_V1.5.1
[000.000]: Builded: Jan  1 1980 00:00:00
[000.000]: Find md5 check file <EG25GGCR07A02M1G_30.203.30.203/md5.txt>
[000.000]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/contents.xml pass
[000.001]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/appsboot.mbn pass
[000.001]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/ENPRG9x07.mbn pass
[000.001]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/firehose/partition_complete_p2K_b128K.mbn pass
[000.001]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/firehose/patch_p2K_b128K.xml pass
[000.001]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/firehose/prog_nand_firehose_9x07.mbn pass
[000.001]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/firehose/rawprogram_nand_p2K_b128K_update.xml pass
[000.007]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/mdm9607-boot.img pass
[000.014]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/mdm9607-recovery.ubi pass
[000.085]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/mdm9607-sysfs.ubi pass
[000.085]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/NPRG9x07.mbn pass
[000.085]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/partition.mbn pass
[000.085]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/partition_nand.xml pass
[000.085]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/rpm.mbn pass
[000.086]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/sbl1.mbn pass
[000.088]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/tz.mbn pass
[000.090]: md5 checking: EG25GGCR07A02M1G_30.203.30.203/update/usrdata.ubi pass
[000.090]: Totals checking 17 files md5 value, 0 file fail!
[000.090]: find 'prog_nand_firehose_9x07.mbn'
[000.090]: find_firehose_mbn prog_nand_firehose_9x07.mbn
[000.090]: main prog_nand_firehose_9x07.mbn
[000.091]: [1] /sys/bus/usb/devices/3-1 2c7c/125/318
[000.091]: qusb_read_speed_atime speed: 480, st_atime: 20260117_19:35:41
[000.091]: P: /dev/bus/usb/003/002 idVendor=2c7c idProduct=0125
[000.091]: C: /dev/bus/usb/003/002 bNumInterfaces: 5
[000.091]: I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[000.091]: E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[000.091]: E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[000.091]: I: If#= 1 Alt= 0 #EPs= 3 Cls=ff Sub=00 Prot=00
[000.091]: E: Ad=83 Atr=03 MxPS= 10 Ivl=9ms
[000.091]: E: Ad=82 Atr=02 MxPS= 512 Ivl=0ms
[000.091]: E: Ad=02 Atr=02 MxPS= 512 Ivl=0ms
[000.091]: I: If#= 2 Alt= 0 #EPs= 3 Cls=ff Sub=00 Prot=00
[000.091]: E: Ad=85 Atr=03 MxPS= 10 Ivl=9ms
[000.091]: E: Ad=84 Atr=02 MxPS= 512 Ivl=0ms
[000.091]: E: Ad=03 Atr=02 MxPS= 512 Ivl=0ms
[000.091]: I: If#= 3 Alt= 0 #EPs= 3 Cls=ff Sub=00 Prot=00
[000.091]: E: Ad=87 Atr=03 MxPS= 10 Ivl=9ms
[000.091]: E: Ad=86 Atr=02 MxPS= 512 Ivl=0ms
[000.091]: E: Ad=04 Atr=02 MxPS= 512 Ivl=0ms
[000.091]: I: If#= 4 Alt= 0 #EPs= 3 Cls=ff Sub=ff Prot=ff
[000.091]: tmp=/sys/bus/usb/devices/usb3/../driver, driver=../../../../bus/pci/drivers/xhci_hcd
[000.091]: qusb_noblock_open port_name = /dev/ttyUSB0
[006.195]: poll_wait events=POLLIN msec=1000 timeout
[006.195]: switch to 'Emergency download mode'
[006.197]: successful, wait module reboot
[007.247]: P: /dev/bus/usb/003/003 idVendor=05c6 idProduct=9008
[007.247]: C: /dev/bus/usb/003/003 bNumInterfaces: 1
[007.247]: I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[007.247]: E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[007.247]: E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[007.247]: tmp=/sys/bus/usb/devices/usb3/../driver, driver=../../../../bus/pci/drivers/xhci_hcd
[007.247]: <=== Q_SAHARA_ONE
[007.247]: Q_SAHARA_TWO ===>
[007.247]: <=== Q_SAHARA_THREE
[007.247]: 0x0000000d 0x00000000 0x00000034
[007.247]: <=== Q_SAHARA_THREE
[007.247]: 0x0000000d 0x00000034 0x00000060
[007.247]: <=== Q_SAHARA_THREE
[007.247]: 0x0000000d 0x00001000 0x00001000
[007.248]: <=== Q_SAHARA_THREE
[007.248]: 0x0000000d 0x00002000 0x00000988
[007.249]: <=== Q_SAHARA_THREE
[007.249]: 0x0000000d 0x00003000 0x00001000
[007.249]: <=== Q_SAHARA_THREE
[007.249]: 0x0000000d 0x00004000 0x00001000
[007.250]: <=== Q_SAHARA_THREE
[007.250]: 0x0000000d 0x00005000 0x00001000
[007.250]: <=== Q_SAHARA_THREE
[007.250]: 0x0000000d 0x00006000 0x00001000
[007.251]: <=== Q_SAHARA_THREE
[007.251]: 0x0000000d 0x00007000 0x00001000
[007.252]: <=== Q_SAHARA_THREE
[007.252]: 0x0000000d 0x00008000 0x00001000
[007.252]: <=== Q_SAHARA_THREE
[007.252]: 0x0000000d 0x00009000 0x00001000
[007.253]: <=== Q_SAHARA_THREE
[007.253]: 0x0000000d 0x0000a000 0x00001000
[007.254]: <=== Q_SAHARA_THREE
[007.254]: 0x0000000d 0x0000b000 0x00001000
[007.254]: <=== Q_SAHARA_THREE
[007.254]: 0x0000000d 0x0000c000 0x00001000
[007.255]: <=== Q_SAHARA_THREE
[007.255]: 0x0000000d 0x0000d000 0x00001000
[007.255]: <=== Q_SAHARA_THREE
[007.255]: 0x0000000d 0x0000e000 0x00001000
[007.256]: <=== Q_SAHARA_THREE
[007.256]: 0x0000000d 0x0000f000 0x00001000
[007.257]: <=== Q_SAHARA_THREE
[007.257]: 0x0000000d 0x00010000 0x00001000
[007.257]: <=== Q_SAHARA_THREE
[007.257]: 0x0000000d 0x00011000 0x00001000
[007.258]: <=== Q_SAHARA_THREE
[007.258]: 0x0000000d 0x00012000 0x00001000
[007.258]: <=== Q_SAHARA_THREE
[007.258]: 0x0000000d 0x00013000 0x00001000
[007.259]: <=== Q_SAHARA_THREE
[007.259]: 0x0000000d 0x00014000 0x00001000
[007.260]: <=== Q_SAHARA_THREE
[007.260]: 0x0000000d 0x00015000 0x00001000
[007.260]: <=== Q_SAHARA_THREE
[007.260]: 0x0000000d 0x00016000 0x00001000
[007.261]: <=== Q_SAHARA_THREE
[007.261]: 0x0000000d 0x00017000 0x00001000
[007.261]: <=== Q_SAHARA_THREE
[007.261]: 0x0000000d 0x00018000 0x00001000
[007.262]: <=== Q_SAHARA_THREE
[007.262]: 0x0000000d 0x00019000 0x00001000
[007.263]: <=== Q_SAHARA_THREE
[007.263]: 0x0000000d 0x0001a000 0x00001000
[007.263]: <=== Q_SAHARA_THREE
[007.263]: 0x0000000d 0x0001b000 0x00001000
[007.264]: <=== Q_SAHARA_THREE
[007.264]: 0x0000000d 0x0001c000 0x00001000
[007.265]: <=== Q_SAHARA_THREE
[007.265]: 0x0000000d 0x0001d000 0x00001000
[007.265]: <=== Q_SAHARA_THREE
[007.265]: 0x0000000d 0x0001e000 0x00001000
[007.266]: <=== Q_SAHARA_THREE
[007.266]: 0x0000000d 0x0001f000 0x00001000
[007.266]: <=== Q_SAHARA_THREE
[007.266]: 0x0000000d 0x00020000 0x00000658
[007.293]: <=== Q_SAHARA_FOUR
[007.293]: q_image_id = 13, q_status = 0
[007.293]: Q_SAHARA_FIVE ===>
[007.293]: <=== Q_SAHARA_SIX
[007.293]: q_image_tx_status = 0
[007.293]: Sahara protocol completed
[007.293]: find 'rawprogram_nand_p2K_b128K_update.xml'
[007.293]: retrieve rawprogram namd file failed.
[007.293]: find 'patch_p2K_b128K.xml'
[008.422]: <log value="Supported Functions: program configure power read getstorageinfo erase nop "/>
*** buffer overflow detected ***: terminated
Aborted                    sudo ./QFirehose_Linux_and_Android_V1.5/out/QFirehose -f EG25GGCR07A02M1G_30.203.30.203 -z 0
1 Like