Disappearing IPv4 Address Issue with EC25-E Modems

Hi,

I have many EC25-E modems with a Mini PCIe interface, and I use them on Linux with Modem Manager. I’ve never had any issues until now, but I’m experiencing a problem with the latest batch.

In the ifconfig output, the wwan interface receives an IPv4 address, and I can see my static IP address. However, shortly afterward, the IP address disappears, and I lose internet connectivity.

Upon investigation, I noticed that these modems have older serial numbers, indicating they are from an earlier production batch. Do you think a software update is necessary for these older modems? Or could it be another issue? How can I resolve this problem?

Thanks.

Maybe you can update the firmware.
What is the current firmware version?

mmcli -m 0
Hardware | manufacturer: QUALCOMM INCORPORATED
| model: QUECTEL Mobile Broadband Module
| firmware revision: EC25EFAR02A09M4G
| carrier config: default
| h/w revision: 10000
| supported: gsm-umts, lte
| current: gsm-umts, lte

It is a very old version. But there is no update. I have the EC25EFAR02A10M4G from 6 years ago.

RE: Disappearing IPv4 Address Issue with EC25-E Modems - Quectel Forums

Thank you for your answers. Could you recommend documentation on how to load this update file onto the module? I would like to try a method that can be done specifically on a Linux system.

You can use the QFirehose to flash the firmware on Linux.
QFirehose_Linux_Android_V1.4.17.zip (235.1 KB)

compile and you can get the QFirehose.
./QFirehose -f path_to_firmware/

Thank you for your support. I tried to update as you suggested. The QFirehose version you provided did not work on my system, so I found and compiled the LTE&5G_QFirehose_Linux&Android_V1.2 from the website. Then I started the update with the command:

sudo ./QFirehose -f ../EC25EFAR02A10M4G

The output was as follows:

$ sudo ./QFirehose -f ../update1/
[000.000] QFirehose Version: Quectel_LTE&5G_QFirehose_Linux&Android_V1.2
[000.000] Builded: Jul  2 2024 15:20:49
[000.001] Find md5 check file <../update1/md5.txt>
[000.001] md5 checking: ../update1/contents.xml pass
[000.012] md5 checking: ../update1/update/appsboot.mbn pass
[000.017] md5 checking: ../update1/update/ENPRG9x07.mbn pass
[000.018] md5 checking: ../update1/update/firehose/partition_complete_p4K_b256K.mbn pass
[000.018] md5 checking: ../update1/update/firehose/patch_p4K_b256K.xml pass
[000.025] md5 checking: ../update1/update/firehose/prog_nand_firehose_9x07.mbn pass
[000.025] md5 checking: ../update1/update/firehose/rawprogram_nand_p4K_b256K_update.xml pass
[000.162] md5 checking: ../update1/update/mdm9607-perf-boot.img pass
[001.105] md5 checking: ../update1/update/mdm9607-perf-sysfs.ubi pass
[001.315] md5 checking: ../update1/update/mdm-perf-recovery-image-mdm9607-perf.ubi pass
[002.126] md5 checking: ../update1/update/NON-HLOS.ubi pass
[002.129] md5 checking: ../update1/update/NPRG9x07.mbn pass
[002.129] md5 checking: ../update1/update/partition.mbn pass
[002.129] md5 checking: ../update1/update/partition_nand.xml pass
[002.132] md5 checking: ../update1/update/rpm.mbn pass
[002.136] md5 checking: ../update1/update/sbl1.mbn pass
[002.146] md5 checking: ../update1/update/tz.mbn pass
[002.146] Totals checking 17 files md5 value, 0 file fail!
[002.147] [0] /sys/bus/usb/devices/1-1.2 2c7c/125/318
[002.147] P: /dev/bus/usb/001/008 idVendor=2c7c idProduct=0125
[002.147] C: /dev/bus/usb/001/008 bNumInterfaces: 5
[002.147] I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[002.147] E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[002.147] E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[002.147] I: If#= 1 Alt= 0 #EPs= 3 Cls=ff Sub=00 Prot=00
[002.147] I: If#= 2 Alt= 0 #EPs= 3 Cls=ff Sub=00 Prot=00
[002.147] I: If#= 3 Alt= 0 #EPs= 3 Cls=ff Sub=00 Prot=00
[002.147] I: If#= 4 Alt= 0 #EPs= 3 Cls=ff Sub=ff Prot=ff
[002.148] qusb_noblock_open port_name = /dev/ttyUSB0
[003.150] poll_wait events=POLLIN msec=1000 timeout
[003.150] qusb_noblock_read cur=0, min_size=1
[003.150] switch to 'Emergency download mode'
[003.152] successful, wait module reboot
[004.152] P: /dev/bus/usb/001/009 idVendor=05c6 idProduct=9008
[004.152] C: /dev/bus/usb/001/009 bNumInterfaces: 1
[004.152] I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[004.152] E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[004.152] E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[004.152] Fail to claim interface 0, errno: 16 (Device or resource busy)
[004.152] Error: when module in 'Emergency download mode', should not register any usb driver
[004.152] Error: it register to usb driver ' qcserial ' now, should delete 05c6&9008 from the source file of this driver
[004.152] Delete 05c6&9008 from 'drivers/usb/serial/qcserial.c' or disable qcserial from kernel config
[005.153] P: /dev/bus/usb/001/009 idVendor=05c6 idProduct=9008
[005.153] C: /dev/bus/usb/001/009 bNumInterfaces: 1
[005.153] I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[005.153] E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[005.153] E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[005.153] Fail to claim interface 0, errno: 16 (Device or resource busy)
[005.153] Error: when module in 'Emergency download mode', should not register any usb driver
[005.153] Error: it register to usb driver ' qcserial ' now, should delete 05c6&9008 from the source file of this driver

Then I ran the following command:

sudo modprobe -r qcserial

After that, I ran the flash command again, and the output was as follows:

sudo ./QFirehose -f ../update1/
[000.000] QFirehose Version: Quectel_LTE&5G_QFirehose_Linux&Android_V1.2
[000.000] Builded: Jul  2 2024 15:20:49
[000.000] Find md5 check file <../update1/md5.txt>
[000.001] md5 checking: ../update1/contents.xml pass
[000.011] md5 checking: ../update1/update/appsboot.mbn pass
[000.016] md5 checking: ../update1/update/ENPRG9x07.mbn pass
[000.017] md5 checking: ../update1/update/firehose/partition_complete_p4K_b256K.mbn pass
[000.018] md5 checking: ../update1/update/firehose/patch_p4K_b256K.xml pass
[000.024] md5 checking: ../update1/update/firehose/prog_nand_firehose_9x07.mbn pass
[000.025] md5 checking: ../update1/update/firehose/rawprogram_nand_p4K_b256K_update.xml pass
[000.155] md5 checking: ../update1/update/mdm9607-perf-boot.img pass
[001.100] md5 checking: ../update1/update/mdm9607-perf-sysfs.ubi pass
[001.317] md5 checking: ../update1/update/mdm-perf-recovery-image-mdm9607-perf.ubi pass
[002.130] md5 checking: ../update1/update/NON-HLOS.ubi pass
[002.132] md5 checking: ../update1/update/NPRG9x07.mbn pass
[002.132] md5 checking: ../update1/update/partition.mbn pass
[002.132] md5 checking: ../update1/update/partition_nand.xml pass
[002.136] md5 checking: ../update1/update/rpm.mbn pass
[002.140] md5 checking: ../update1/update/sbl1.mbn pass
[002.150] md5 checking: ../update1/update/tz.mbn pass
[002.150] Totals checking 17 files md5 value, 0 file fail!
[002.150] [0] /sys/bus/usb/devices/1-1.2 5c6/9008/0
[002.151] P: /dev/bus/usb/001/009 idVendor=05c6 idProduct=9008
[002.151] C: /dev/bus/usb/001/009 bNumInterfaces: 1
[002.151] I: If#= 0 Alt= 0 #EPs= 2 Cls=ff Sub=ff Prot=ff
[002.151] E: Ad=81 Atr=02 MxPS= 512 Ivl=0ms
[002.151] E: Ad=01 Atr=02 MxPS= 512 Ivl=0ms
[002.151] dir=../update1/update/firehose
[002.151] d_name=prog_nand_firehose_9x07.mbn
[002.151] prog_nand_firehose_filename = prog_nand_firehose_9x07.mbn
[002.151] STATE <-- SAHARA_WAIT_HELLO
[002.151] RECEIVED <--  SAHARA_HELLO_ID
[002.151] RECEIVED <-- SAHARA_MODE_IMAGE_TX_PENDING
[002.151] SENDING --> SAHARA_HELLO_RESPONSE
[002.151] STATE <-- SAHARA_WAIT_COMMAND
[002.151] RECEIVED <-- SAHARA_READ_DATA_ID
[002.151] 0x0000000d 0x00000000 0x00000034
[002.151] STATE <-- SAHARA_WAIT_COMMAND
[002.152] RECEIVED <-- SAHARA_READ_DATA_ID
[002.152] 0x0000000d 0x00000034 0x00000060
[002.152] STATE <-- SAHARA_WAIT_COMMAND
[002.152] RECEIVED <-- SAHARA_READ_DATA_ID
[002.152] 0x0000000d 0x00001000 0x00001000
[002.152] STATE <-- SAHARA_WAIT_COMMAND
[002.153] RECEIVED <-- SAHARA_READ_DATA_ID
[002.153] 0x0000000d 0x00002000 0x00000988
[002.153] STATE <-- SAHARA_WAIT_COMMAND
[002.153] RECEIVED <-- SAHARA_READ_DATA_ID
[002.153] 0x0000000d 0x00003000 0x00001000
[002.153] STATE <-- SAHARA_WAIT_COMMAND
[002.154] RECEIVED <-- SAHARA_READ_DATA_ID
[002.154] 0x0000000d 0x00004000 0x00001000
[002.154] STATE <-- SAHARA_WAIT_COMMAND
[002.155] RECEIVED <-- SAHARA_READ_DATA_ID
[002.155] 0x0000000d 0x00005000 0x00001000
[002.155] STATE <-- SAHARA_WAIT_COMMAND
[002.156] RECEIVED <-- SAHARA_READ_DATA_ID
[002.156] 0x0000000d 0x00006000 0x00001000
[002.156] STATE <-- SAHARA_WAIT_COMMAND
[002.156] RECEIVED <-- SAHARA_READ_DATA_ID
[002.156] 0x0000000d 0x00007000 0x00001000
[002.156] STATE <-- SAHARA_WAIT_COMMAND
[002.157] RECEIVED <-- SAHARA_READ_DATA_ID
[002.157] 0x0000000d 0x00008000 0x00001000
[002.157] STATE <-- SAHARA_WAIT_COMMAND
[002.158] RECEIVED <-- SAHARA_READ_DATA_ID
[002.158] 0x0000000d 0x00009000 0x00001000
[002.158] STATE <-- SAHARA_WAIT_COMMAND
[002.159] RECEIVED <-- SAHARA_READ_DATA_ID
[002.159] 0x0000000d 0x0000a000 0x00001000
[002.159] STATE <-- SAHARA_WAIT_COMMAND
[002.159] RECEIVED <-- SAHARA_READ_DATA_ID
[002.159] 0x0000000d 0x0000b000 0x00001000
[002.159] STATE <-- SAHARA_WAIT_COMMAND
[002.160] RECEIVED <-- SAHARA_READ_DATA_ID
[002.160] 0x0000000d 0x0000c000 0x00001000
[002.160] STATE <-- SAHARA_WAIT_COMMAND
[002.161] RECEIVED <-- SAHARA_READ_DATA_ID
[002.161] 0x0000000d 0x0000d000 0x00001000
[002.161] STATE <-- SAHARA_WAIT_COMMAND
[002.162] RECEIVED <-- SAHARA_READ_DATA_ID
[002.162] 0x0000000d 0x0000e000 0x00001000
[002.162] STATE <-- SAHARA_WAIT_COMMAND
[002.162] RECEIVED <-- SAHARA_READ_DATA_ID
[002.162] 0x0000000d 0x0000f000 0x00001000
[002.162] STATE <-- SAHARA_WAIT_COMMAND
[002.163] RECEIVED <-- SAHARA_READ_DATA_ID
[002.163] 0x0000000d 0x00010000 0x00001000
[002.163] STATE <-- SAHARA_WAIT_COMMAND
[002.164] RECEIVED <-- SAHARA_READ_DATA_ID
[002.164] 0x0000000d 0x00011000 0x00001000
[002.164] STATE <-- SAHARA_WAIT_COMMAND
[002.165] RECEIVED <-- SAHARA_READ_DATA_ID
[002.165] 0x0000000d 0x00012000 0x00001000
[002.165] STATE <-- SAHARA_WAIT_COMMAND
[002.165] RECEIVED <-- SAHARA_READ_DATA_ID
[002.166] 0x0000000d 0x00013000 0x00001000
[002.166] STATE <-- SAHARA_WAIT_COMMAND
[002.166] RECEIVED <-- SAHARA_READ_DATA_ID
[002.167] 0x0000000d 0x00014000 0x00001000
[002.167] STATE <-- SAHARA_WAIT_COMMAND
[002.167] RECEIVED <-- SAHARA_READ_DATA_ID
[002.168] 0x0000000d 0x00015000 0x00001000
[002.168] STATE <-- SAHARA_WAIT_COMMAND
[002.168] RECEIVED <-- SAHARA_READ_DATA_ID
[002.169] 0x0000000d 0x00016000 0x00001000
[002.169] STATE <-- SAHARA_WAIT_COMMAND
[002.169] RECEIVED <-- SAHARA_READ_DATA_ID
[002.170] 0x0000000d 0x00017000 0x00001000
[002.170] STATE <-- SAHARA_WAIT_COMMAND
[002.170] RECEIVED <-- SAHARA_READ_DATA_ID
[002.171] 0x0000000d 0x00018000 0x00001000
[002.171] STATE <-- SAHARA_WAIT_COMMAND
[002.171] RECEIVED <-- SAHARA_READ_DATA_ID
[002.172] 0x0000000d 0x00019000 0x00001000
[002.172] STATE <-- SAHARA_WAIT_COMMAND
[002.172] RECEIVED <-- SAHARA_READ_DATA_ID
[002.173] 0x0000000d 0x0001a000 0x00001000
[002.173] STATE <-- SAHARA_WAIT_COMMAND
[002.173] RECEIVED <-- SAHARA_READ_DATA_ID
[002.174] 0x0000000d 0x0001b000 0x00001000
[002.174] STATE <-- SAHARA_WAIT_COMMAND
[002.174] RECEIVED <-- SAHARA_READ_DATA_ID
[002.175] 0x0000000d 0x0001c000 0x00001000
[002.175] STATE <-- SAHARA_WAIT_COMMAND
[002.175] RECEIVED <-- SAHARA_READ_DATA_ID
[002.176] 0x0000000d 0x0001d000 0x00001000
[002.176] STATE <-- SAHARA_WAIT_COMMAND
[002.176] RECEIVED <-- SAHARA_READ_DATA_ID
[002.177] 0x0000000d 0x0001e000 0x00001000
[002.177] STATE <-- SAHARA_WAIT_COMMAND
[002.177] RECEIVED <-- SAHARA_READ_DATA_ID
[002.178] 0x0000000d 0x0001f000 0x00001000
[002.178] STATE <-- SAHARA_WAIT_COMMAND
[002.178] RECEIVED <-- SAHARA_READ_DATA_ID
[002.179] 0x0000000d 0x00020000 0x0000061c
[002.179] STATE <-- SAHARA_WAIT_COMMAND
[002.205] RECEIVED <-- SAHARA_END_IMAGE_TX_ID
[002.206] image_id = 13, status = 0
[002.206] SENDING --> SAHARA_DONE
[002.206] STATE <-- SAHARA_WAIT_DONE_RESP
[002.206] RECEIVED <-- SAHARA_DONE_RESP_ID
[002.206] image_tx_status = 0
[002.207] Sahara protocol completed
[002.207] dir=../update1/update/firehose
[002.207] d_name=rawprogram_nand_p4K_b256K_update.xml
[003.375] <log value="Supported Functions: program configure power benchmark read getstorageinfo erase nop "/>
[004.394] inf[0] ep_in -1/1024, errno = 110 (Connection timed out), timeout=1000
[004.394] qusb_noblock_read read=0, errno: 110 (Connection timed out)
[004.394] qusb_noblock_read cur=0, min_size=1
[004.394] firehose_protocol.c fh_recv_cmd 294 fail
[004.394] <configure MemoryName="nand" Verbose="0" AlwaysValidate="0" MaxDigestTableSizeInBytes="2048" MaxPayloadSizeToTargetInBytes="8192"  ZlpAwareHost="1" SkipStorageInit="0" />
[004.394] <response value="ACK" MemoryName="NAND" MaxPayloadSizeFromTargetInBytes="2048" MaxPayloadSizeToTargetInBytes="8192" MaxPayloadSizeToTargetInBytesSupported="16384" TargetName="9x07" />
[004.394] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="640" physical_partition_number="0" start_sector="0"    />
[004.395] <log value="start_sector = 0 and num_partition_sectors =0x280)"/>
[004.422] <response value="ACK" />
[004.422] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="640" physical_partition_number="0" start_sector="640"    />
[004.423] <log value="start_sector = 640 and num_partition_sectors =0x280)"/>
[004.436] <response value="ACK" />
[004.436] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="768" physical_partition_number="0" start_sector="9472"    />
[004.437] <log value="start_sector = 9472 and num_partition_sectors =0x300)"/>
[004.453] <response value="ACK" />
[004.453] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="768" physical_partition_number="0" start_sector="10240"    />
[004.454] <log value="start_sector = 10240 and num_partition_sectors =0x300)"/>
[004.466] <response value="ACK" />
[004.466] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="768" physical_partition_number="0" start_sector="11008"    />
[004.466] <log value="start_sector = 11008 and num_partition_sectors =0x300)"/>
[004.479] <response value="ACK" />
[004.479] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="2560" physical_partition_number="0" start_sector="11776"    />
[004.479] <log value="start_sector = 11776 and num_partition_sectors =0xa00)"/>
[004.556] <response value="ACK" />
[004.556] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="20544" physical_partition_number="0" start_sector="18560"    />
[004.557] <log value="start_sector = 18560 and num_partition_sectors =0x5040)"/>
[005.441] <response value="ACK" />
[005.441] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="2560" physical_partition_number="0" start_sector="39872"    />
[005.441] <log value="start_sector = 39872 and num_partition_sectors =0xa00)"/>
[005.520] <response value="ACK" />
[005.520] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="7680" physical_partition_number="0" start_sector="47552"    />
[005.520] <log value="start_sector = 47552 and num_partition_sectors =0x1e00)"/>
[005.702] <response value="ACK" />
[005.702] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="25600" physical_partition_number="0" start_sector="55232"    />
[005.702] <log value="start_sector = 55232 and num_partition_sectors =0x6400)"/>
[006.436] <response value="ACK" />
[006.436] <erase PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="50240" physical_partition_number="0" start_sector="80832"    />
[006.436] <log value="start_sector = 80832 and num_partition_sectors =0xc440)"/>
[006.621] <log value="Skipping: bad block 0x532"/>
[007.185] <log value="Skipping: bad block 0x600"/>
[007.186] <log value="Skipping: bad block 0x601"/>
[008.590] <response value="ACK" />
[008.590] <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" />
[008.591] <log value="INSIDE HANDLE PROGRAM"/>
[008.591] <log value="start_sector 640, last_sector_address 644"/>
[008.591] <response value="ACK" rawmode="true" />
[008.591] send partition_complete_p4K_b256K.mbn, filesize=16384
[008.591] Upgrade progress:   0
[008.593] send finished
[008.594] <log value="Finished sector address 640"/>
[008.594] <response value="ACK" rawmode="false" />
[008.594] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\tz.mbn" num_partition_sectors="125"  physical_partition_number="0" start_sector="9472" />
[008.595] <log value="INSIDE HANDLE PROGRAM"/>
[008.595] <log value="start_sector 9472, last_sector_address 9597"/>
[008.595] <response value="ACK" rawmode="true" />
[008.595] send ../tz.mbn, filesize=511036
[008.677] send finished
[008.678] <log value="Finished sector address 9472"/>
[008.678] <response value="ACK" rawmode="false" />
[008.678] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\rpm.mbn" num_partition_sectors="39"  physical_partition_number="0" start_sector="10240" />
[008.679] <log value="INSIDE HANDLE PROGRAM"/>
[008.679] <log value="start_sector 10240, last_sector_address 10279"/>
[008.679] <response value="ACK" rawmode="true" />
[008.679] send ../rpm.mbn, filesize=156632
[008.705] send finished
[008.706] <log value="Finished sector address 10240"/>
[008.706] <response value="ACK" rawmode="false" />
[008.706] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\appsboot.mbn" num_partition_sectors="53"  physical_partition_number="0" start_sector="11008" />
[008.706] <log value="INSIDE HANDLE PROGRAM"/>
[008.706] <log value="start_sector 11008, last_sector_address 11061"/>
[008.707] <response value="ACK" rawmode="true" />
[008.707] send ../appsboot.mbn, filesize=215448
[008.741] send finished
[008.742] <log value="Finished sector address 11008"/>
[008.742] <response value="ACK" rawmode="false" />
[008.742] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm9607-perf-boot.img" num_partition_sectors="1400"  physical_partition_number="0" start_sector="11776" />
[008.743] <log value="INSIDE HANDLE PROGRAM"/>
[008.743] <log value="start_sector 11776, last_sector_address 13176"/>
[008.743] <response value="ACK" rawmode="true" />
[008.744] send ../mdm9607-perf-boot.img, filesize=5734400
[008.856] Upgrade progress:   1
[009.115] Upgrade progress:   2
[009.375] Upgrade progress:   3
[009.652] Upgrade progress:   4
[009.682] send finished
[009.683] <log value="Finished sector address 11776"/>
[009.684] <response value="ACK" rawmode="false" />
[009.684] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\NON-HLOS.ubi" num_partition_sectors="10112"  physical_partition_number="0" start_sector="18560" />
[009.684] <log value="INSIDE HANDLE PROGRAM"/>
[009.684] <log value="start_sector 18560, last_sector_address 28672"/>
[009.684] <response value="ACK" rawmode="true" />
[009.685] send ../NON-HLOS.ubi, filesize=41418752
[009.910] Upgrade progress:   5
[010.167] Upgrade progress:   6
[010.427] Upgrade progress:   7
[010.686] Upgrade progress:   8
[010.946] Upgrade progress:   9
[011.205] Upgrade progress:   10
[011.463] Upgrade progress:   11
[011.722] Upgrade progress:   12
[011.982] Upgrade progress:   13
[012.241] Upgrade progress:   14
[012.499] Upgrade progress:   15
[012.759] Upgrade progress:   16
[013.019] Upgrade progress:   17
[013.278] Upgrade progress:   18
[013.538] Upgrade progress:   19
[013.796] Upgrade progress:   20
[014.055] Upgrade progress:   21
[014.315] Upgrade progress:   22
[014.574] Upgrade progress:   23
[014.837] Upgrade progress:   24
[015.095] Upgrade progress:   25
[015.354] Upgrade progress:   26
[015.613] Upgrade progress:   27
[015.873] Upgrade progress:   28
[016.131] Upgrade progress:   29
[016.342] send finished
[016.343] <log value="Finished sector address 18560"/>
[016.343] <response value="ACK" rawmode="false" />
[016.343] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm9607-perf-boot.img" num_partition_sectors="1400"  physical_partition_number="0" start_sector="39872" />
[016.344] <log value="INSIDE HANDLE PROGRAM"/>
[016.344] <log value="start_sector 39872, last_sector_address 41272"/>
[016.344] <response value="ACK" rawmode="true" />
[016.344] send ../mdm9607-perf-boot.img, filesize=5734400
[016.392] Upgrade progress:   30
[016.652] Upgrade progress:   31
[016.911] Upgrade progress:   32
[017.170] Upgrade progress:   33
[017.265] send finished
[017.266] <log value="Finished sector address 39872"/>
[017.266] <response value="ACK" rawmode="false" />
[017.266] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm-perf-recovery-image-mdm9607-perf.ubi" num_partition_sectors="2624"  physical_partition_number="0" start_sector="47552" />
[017.267] <log value="INSIDE HANDLE PROGRAM"/>
[017.267] <log value="start_sector 47552, last_sector_address 50176"/>
[017.267] <response value="ACK" rawmode="true" />
[017.267] send ../mdm-perf-recovery-image-mdm9607-perf.ubi, filesize=10747904
[017.430] Upgrade progress:   34
[017.689] Upgrade progress:   35
[017.948] Upgrade progress:   36
[018.210] Upgrade progress:   37
[018.468] Upgrade progress:   38
[018.727] Upgrade progress:   39
[018.986] Upgrade progress:   40
[018.995] send finished
[018.997] <log value="Finished sector address 47552"/>
[018.997] <response value="ACK" rawmode="false" />
[018.997] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm9607-perf-sysfs.ubi" num_partition_sectors="11776"  physical_partition_number="0" start_sector="55232" />
[018.998] <log value="INSIDE HANDLE PROGRAM"/>
[018.998] <log value="start_sector 55232, last_sector_address 67008"/>
[018.998] <response value="ACK" rawmode="true" />
[018.999] send ../mdm9607-perf-sysfs.ubi, filesize=48234496
[019.247] Upgrade progress:   41
[019.506] Upgrade progress:   42
[019.764] Upgrade progress:   43
[020.023] Upgrade progress:   44
[020.283] Upgrade progress:   45
[020.542] Upgrade progress:   46
[020.801] Upgrade progress:   47
[021.060] Upgrade progress:   48
[021.320] Upgrade progress:   49
[021.580] Upgrade progress:   50
[021.840] Upgrade progress:   51
[022.098] Upgrade progress:   52
[022.358] Upgrade progress:   53
[022.617] Upgrade progress:   54
[022.877] Upgrade progress:   55
[023.136] Upgrade progress:   56
[023.395] Upgrade progress:   57
[023.654] Upgrade progress:   58
[023.914] Upgrade progress:   59
[024.174] Upgrade progress:   60
[024.433] Upgrade progress:   61
[024.692] Upgrade progress:   62
[024.951] Upgrade progress:   63
[025.211] Upgrade progress:   64
[025.471] Upgrade progress:   65
[025.730] Upgrade progress:   66
[025.989] Upgrade progress:   67
[026.249] Upgrade progress:   68
[026.504] Upgrade progress:   69
[026.748] send finished
[026.749] <log value="Finished sector address 55232"/>
[026.749] <response value="ACK" rawmode="false" />
[026.750] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\mdm9607-perf-sysfs.ubi" num_partition_sectors="11776"  physical_partition_number="0" start_sector="80832" />
[026.750] <log value="INSIDE HANDLE PROGRAM"/>
[026.750] <log value="start_sector 80832, last_sector_address 92608"/>
[026.750] <response value="ACK" rawmode="true" />
[026.750] send ../mdm9607-perf-sysfs.ubi, filesize=48234496
[026.761] Upgrade progress:   70
[027.015] Upgrade progress:   71
[027.270] Upgrade progress:   72
[027.529] Upgrade progress:   73
[027.788] Upgrade progress:   74
[028.047] Upgrade progress:   75
[028.305] Upgrade progress:   76
[028.565] Upgrade progress:   77
[028.824] Upgrade progress:   78
[029.083] Upgrade progress:   79
[029.341] Upgrade progress:   80
[029.600] Upgrade progress:   81
[029.859] Upgrade progress:   82
[030.118] Upgrade progress:   83
[030.378] Upgrade progress:   84
[030.635] Upgrade progress:   85
[030.895] Upgrade progress:   86
[031.154] Upgrade progress:   87
[031.413] Upgrade progress:   88
[031.671] Upgrade progress:   89
[031.930] Upgrade progress:   90
[032.190] Upgrade progress:   91
[032.449] Upgrade progress:   92
[032.708] Upgrade progress:   93
[032.966] Upgrade progress:   94
[033.225] Upgrade progress:   95
[033.484] Upgrade progress:   96
[033.744] Upgrade progress:   97
[034.001] Upgrade progress:   98
[034.254] Upgrade progress:   99
[034.482] send finished
[034.483] <log value="Finished sector address 80832"/>
[034.483] <response value="ACK" rawmode="false" />
[034.483] <program PAGES_PER_BLOCK="64" SECTOR_SIZE_IN_BYTES="4096" filename="..\sbl1.mbn" num_partition_sectors="50"  physical_partition_number="0" start_sector="0" />
[034.484] <log value="INSIDE HANDLE PROGRAM"/>
[034.484] <log value="start_sector 0, last_sector_address 50"/>
[034.484] <response value="ACK" rawmode="true" />
[034.485] send ../sbl1.mbn, filesize=201616
[034.515] Upgrade progress:   100
[034.516] send finished
[034.518] <log value="Finished sector address 0"/>
[034.518] <response value="ACK" rawmode="false" />
[034.518] <power value="reset" />
[034.519] <log value="Inside handlePower() - Requested POWER_RESET"/>
[034.520] <response value="ACK" />
[035.521] inf[0] ep_in -1/1024, errno = 71 (Protocol error)
[035.521] qusb_noblock_read read=-1, errno: 71 (Protocol error)
[035.521] qusb_noblock_read cur=0, min_size=1
[035.521] firehose_protocol.c fh_recv_cmd 294 fail
[035.521] THE TOTAL DOWNLOAD TIME IS 33.370 s
[035.521] Upgrade module successfully.

After all these steps, when I checked the version, it showed that the version had been upgraded:

mmcli -m 4
------------------
  Hardware |         manufacturer: QUALCOMM INCORPORATED
           |                model: QUECTEL Mobile Broadband Module
           |    firmware revision: EC25EFAR02A10M4G
           |       carrier config: default
           |         h/w revision: 10000
           |            supported: gsm-umts, lte
           |              current: gsm-umts, lte

However, the problem of the IP address appearing and disappearing still persists.

It is better to check it with AT commands and stop the ModemManager.

I understand Thank you. So, is there a reference where this process is done with at commands without using modemmanager?

sudo systemctl stop ModemManager

sudo busybox microcom /dev/ttyUSB2