├── Quectel_EG25-G-GB_Firmware_Release_Notes_V0708_30.006.30.006.pdf ├── Quectel_EG25-G-GB_软件版本变更说明_V0708_30.006.30.006.pdf ├── README.md ├── board.jpg ├── contents.xml ├── flashstock ├── install.sh ├── md5.txt ├── qfirehose ├── qfirehose_arm64 ├── qfirehose_arm64_ld ├── qfirehose_armhf ├── update.service └── update ├── ENPRG9x07.mbn ├── NON-HLOS.ubi ├── NPRG9x07.mbn ├── appsboot.mbn ├── firehose ├── partition_complete_p2K_b128K.mbn ├── patch_p2K_b128K.xml ├── prog_nand_firehose_9x07.mbn └── rawprogram_nand_p2K_b128K_update.xml ├── mdm9607-boot.img ├── mdm9607-recovery.ubi ├── mdm9607-sysfs.ubi ├── partition.mbn ├── partition_nand.xml ├── rpm.mbn ├── sbl1.mbn ├── tz.mbn └── usrdata.ubi /Quectel_EG25-G-GB_Firmware_Release_Notes_V0708_30.006.30.006.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/Quectel_EG25-G-GB_Firmware_Release_Notes_V0708_30.006.30.006.pdf -------------------------------------------------------------------------------- /Quectel_EG25-G-GB_软件版本变更说明_V0708_30.006.30.006.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/Quectel_EG25-G-GB_软件版本变更说明_V0708_30.006.30.006.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Stock firmware recovery for Quectel EG25-G 2 | This repo contains all the firmware versions we have found for the Quectel EG25-G Modem. 3 | 4 | There are two ways of flashing these: 5 | 1. Via fastboot, if the modem is working correctly. 6 | 2. With EDL, if the modem doesn't boot, or if you want to make sure *everything* in the package is installed. 7 | 8 | ## Flashing with fastboot: 9 | 1. Make sure you have `fastboot` installed in your host system 10 | 2. Unpack or clone this repo 11 | 3. Open a root terminal, and in the folder where you extracted the firmware, run: `./flashstock` 12 | 13 | ## Flashing with qfirehose in EDL mode 14 | 15 | ### Entering EDL Mode 16 | In order to flash the stock firmware to your modem, you will need to enter EDL mode. 17 | ### Enter EDL with ADB 18 | If your modem is currently functioning and able to boot into its firmware, you can enter EDL mode by issuing a command over ADB. 19 | 20 | If your modem is currently running the stock firmware, you will need to [unlock adb access](https://xnux.eu/devices/feature/modem-pp.html#toc-unlock-adb-access). 21 | 22 | If you are running biktor's firmware, you can simply run `sudo mmcli -m any --command="AT+ADBON"` to enable ADB. 23 | 24 | Once ADB access is enabled, execute `adb reboot edl`. 25 | If adb exits with `adb: insufficient permissions for device`, run `adb kill-server` and then run `sudo adb reboot edl`. 26 | ### Enter EDL with test points 27 | If your modem is not able to boot, you will need to open your PinePhone to expose the rear of the PCB in order to short two test points. This will require you to remove the screws under the rear cover. 28 | ![Pinephone Mainboard](https://raw.githubusercontent.com/biktorgj/quectel_eg25_recovery/EG25GGBR07A08M2G_01.002.01.002/board.jpg) 29 | 30 | Once you have exposed the PCB, you must short the two test points highlighted above in red and power on the PinePhone. The battery must also be installed, otherwise the modem will not power on (even if the PinePhone itself does!). Keep the test points shorted until the PinePhone is fully booted (which can usually be confirmed by hearing the camera click a few times). 31 | 32 | To check if you're currently booted in EDL mode, run `lsusb` and inspect the output. You should see the following device listed: 33 | `Bus 003 Device 003: ID 05c6:9008 Qualcomm, Inc. Gobi Wireless Modem (QDL mode)` 34 | 35 | ## Flashing the firmware 36 | It should be noted that if you entered EDL with ADB and qfirehose fails during flashing, you may break your firmware and need to enter EDL by shorting the test points! Be prepared for this possibility. 37 | 38 | Once in EDL mode, open a terminal and go to the root directory of this repository to execute qfirehose. 39 | 40 | If you use an ARM64 distro (most likely), run: 41 | 42 | `sudo ./qfirehose -f ./` 43 | 44 | If you use an ARMHF distro (confirm with `uname -m`), run: 45 | 46 | `sudo ./qfirehose_armhf -f ./` 47 | 48 | Once it finishes, it will reboot the modem and after about 30 seconds you should be back up and running! 49 | 50 | It should be noted that qfirehose often fails flashing. In this event, you can try re-running qfirehose. However, you may also need to reboot the modem by either rebooting the PinePhone, or toggling the modem killswitch and running `sudo systemctl restart eg25-manager`. 51 | ## Quirks 52 | It has been noted that there can be issues running qfirehose on certain distributions. If qfirehose fails repeatedly, try to stop ModemManager before attempting the update: 53 | * If using systemd based distros (Mobian, Manjaro, Arch...): 54 | 55 | `sudo systemctl stop ModemManager && sudo ./qfirehose -f . && sudo systemctl start ModemManager` 56 | * If using openrc based distros (postmarketOS for example): 57 | 58 | `sudo rc-service modemmanager stop && sudo ./qfirehose -f ./ && sudo rc-service modemmanager start` 59 | 60 | If you are still unable to flash it, [Mobian](https://mobian-project.org/) and [postmarketOS](http://postmarketos.org/download/) have been tested to work without issues 61 | -------------------------------------------------------------------------------- /board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/board.jpg -------------------------------------------------------------------------------- /contents.xml: -------------------------------------------------------------------------------- 1 |  2 | 21 | 22 | 23 | MDM9607.LE.1.0 24 | LE 25 | MDM9607 26 | 27 | 28 | 29 | 30 | 31 | common 32 | 33 | common 34 | MDM9607 35 | 36 | 37 | 38 | 41 | .\ 42 | 43 | ./ 44 | 45 | update 46 | 47 | 49 | partition_nand.xml 50 | update/ 51 | 52 | 53 | 54 | glue 55 | glue 56 | mdm9607 57 | 58 | .\ 59 | ./ 60 | update 61 | 62 | 63 | apps 64 | apps 65 | MDM9607 66 | 67 | 70 | .\ 71 | ./ 72 | update 73 | 74 | appsboot.mbn 75 | update/ 76 | 77 | 78 | 79 | tz 80 | tz 81 | MDM9607 82 | 83 | .\ 84 | ./ 85 | update 86 | 87 | tz.mbn 88 | update/ 89 | 90 | 91 | 92 | boot 93 | boot 94 | MDM9607 95 | 96 | .\ 97 | ./ 98 | boot_images 99 | 100 | 102 | NPRG9x07.mbn 103 | update/ 104 | 105 | 106 | sbl1.mbn 107 | update/ 108 | 109 | 110 | 111 | 112 | rpm 113 | rpm 114 | MDM9607 115 | 116 | .\ 117 | ./ 118 | update 119 | 120 | rpm.mbn 121 | update/ 122 | 123 | 124 | 125 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /flashstock: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Sending AT+QFASTBOOT..." 3 | sudo sh -c 'echo -ne "AT+QFASTBOOT\r" > /dev/ttyUSB2' 4 | echo "Sending OEM STAY in case the custom bootloader is installed" 5 | fastboot oem stay 6 | echo "Waiting to settle..." 7 | sleep 2 8 | echo "Start flashing!" 9 | fastboot flash aboot update/appsboot.mbn || exit "Failed to flash the bootloader" 10 | fastboot flash:raw boot update/mdm9607-boot.img || exit "Failed to flash main kernel" 11 | fastboot flash:raw recovery update/mdm9607-boot.img || exit "Failed to flash recovery kernel" 12 | fastboot flash system update/mdm9607-sysfs.ubi || exit "Failed to flash the system partition" 13 | fastboot flash recoveryfs update/mdm9607-recovery.ubi || exit "Failed to flash the recovery partition" 14 | fastboot flash modem update/NON-HLOS.ubi || exit "Failed to flash ADSP firmware" 15 | fastboot reboot 16 | echo "Done!" 17 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! -f $1/QFirehose ]; then 4 | echo "[ERROR] Please specify a valid path to release directory as first argument" 5 | exit 255 6 | fi 7 | 8 | RELEASE_DIR=$(readlink -f $1) 9 | SERIAL_MODULE_DIR="/lib/modules/$(uname -r)/kernel/drivers/usb/serial" 10 | 11 | case $2 in 12 | "") 13 | echo "[INFO] Checking current version..." && autopi ec2x.query "at+qgmr" 14 | echo "[INFO] Clearing any active sleep timers..." && autopi power.sleep_timer enable=false 15 | echo "[INFO] Ensuring module 'qcserial' is absent..." && mv $SERIAL_MODULE_DIR/qcserial.ko $SERIAL_MODULE_DIR/qcserial.ko.orig 16 | 17 | echo "[INFO] Installing 'eg25g-update' service..." && cp $RELEASE_DIR/update.service /etc/systemd/system/eg25g-update.service && sed -i "s,@RELEASE_DIR,$RELEASE_DIR,g" /etc/systemd/system/eg25g-update.service && systemctl enable eg25g-update \ 18 | && echo "[INFO] Ensuring 'qmi-manager' service is masked..." && systemctl mask qmi-manager \ 19 | && echo "[INFO] Ensuring 'salt-minion' service is masked..." && systemctl mask salt-minion \ 20 | && echo "[INFO] Scheduling system restart..." && autopi power.sleep interval=10 reason=eg25g_update confirm=true && sleep 3 \ 21 | && echo "[INFO] Ensuring 'qmi-manager' service is stopped..." && systemctl stop qmi-manager \ 22 | && echo "[INFO] Ensuring 'salt-minion' service is stopped..." && systemctl stop salt-minion \ 23 | && echo "[INFO] Update continues after system restart, please wait..." && sleep 60 24 | 25 | ;; 26 | "fulfil") 27 | echo "[INFO] Ensuring 'qmi-manager' service is unmasked..." && systemctl unmask qmi-manager 28 | echo "[INFO] Ensuring 'salt-minion' service is unmasked..." && systemctl unmask salt-minion 29 | echo "[INFO] Uninstalling 'eg25g-update' service..." && systemctl disable eg25g-update && rm /etc/systemd/system/eg25g-update.service 30 | 31 | echo "[INFO] Ensuring amplifier is powered on..." && echo "6" > /sys/class/gpio/export && echo "out" > /sys/class/gpio/gpio6/direction && echo "1" > /sys/class/gpio/gpio6/value 32 | aplay $RELEASE_DIR/notification.wav 33 | $RELEASE_DIR/QFirehose -f $RELEASE_DIR 34 | if [ $? -eq 0 ]; then 35 | echo "[INFO] Successfully updated EG25-G module!" && aplay $RELEASE_DIR/success.wav 36 | else 37 | echo "[ERROR] Failed to update EG25-G module!" && aplay $RELEASE_DIR/failure.wav 38 | fi 39 | echo "[INFO] Rebooting in 10 seconds..." && sleep 10 && reboot 40 | 41 | ;; 42 | "test") 43 | echo "[INFO] Ensuring 'qmi-manager' service is unmasked..." && systemctl unmask qmi-manager 44 | echo "[INFO] Ensuring 'salt-minion' service is unmasked..." && systemctl unmask salt-minion 45 | echo "[INFO] Uninstalling 'eg25g-update' service..." && systemctl disable eg25g-update && rm /etc/systemd/system/eg25g-update.service 46 | 47 | echo "[INFO] Ensuring amplifier is powered on..." && echo "6" > /sys/class/gpio/export && echo "out" > /sys/class/gpio/gpio6/direction && echo "1" > /sys/class/gpio/gpio6/value 48 | aplay $RELEASE_DIR/notification.wav && sleep 1 && aplay $RELEASE_DIR/success.wav 49 | echo "[INFO] Test completed, rebooting in 10 seconds..." && sleep 10 && reboot 50 | 51 | ;; 52 | esac 53 | -------------------------------------------------------------------------------- /md5.txt: -------------------------------------------------------------------------------- 1 | VERSION:1.0 2 | FILE:START 3 | FILE:\contents.xml:5B15ED398BC0F9612B6BFB1FC8B844C8 4 | FILE:\update\appsboot.mbn:8DC7E825841DDB7E0769060B464F2739 5 | FILE:\update\ENPRG9x07.mbn:E943DC0FF594B6A66C197C0197D73E9E 6 | FILE:\update\firehose\partition_complete_p2K_b128K.mbn:4ADACDA14D6EEEDAA37E37CAB5C14DA4 7 | FILE:\update\firehose\patch_p2K_b128K.xml:76AB07AD900114A765BC0C14F17F915A 8 | FILE:\update\firehose\prog_nand_firehose_9x07.mbn:3FF24D2613C2C7D51602DD6CE4E081BE 9 | FILE:\update\firehose\rawprogram_nand_p2K_b128K_update.xml:499E2615E2B496F03AFFEF5248B09760 10 | FILE:\update\mdm9607-boot.img:FFFCD294A9669648E0BBF4F5009C5BD5 11 | FILE:\update\mdm9607-recovery.ubi:D2EA87B0B65FB934F51C6D452FC3CDCF 12 | FILE:\update\mdm9607-sysfs.ubi:176134060512BDED66AC17D35484B29E 13 | FILE:\update\NON-HLOS.ubi:EC89378F05CD9397CF9BE8CD1C223FE0 14 | FILE:\update\NPRG9x07.mbn:0CBF1E9D3A060778423D3B605F5D318E 15 | FILE:\update\partition.mbn:0876468048301A609B18931A429014E2 16 | FILE:\update\partition_nand.xml:B67E8163B621E218DD64F6436131066C 17 | FILE:\update\rpm.mbn:9E5C2A27EDE41E909152502485DF86B8 18 | FILE:\update\sbl1.mbn:52AC9148230560CBB752869835752DDF 19 | FILE:\update\tz.mbn:A92A41C42221425B2E7FB98CCF5CD9FF 20 | FILE:\update\usrdata.ubi:0BBD68BBAE4CB3CF63A4A68C97257347 21 | FILE:\upgrade\targetfiles.zip:222EAA53A6C111E7F2E248587D6EA079 22 | FILE:END 23 | -------------------------------------------------------------------------------- /qfirehose: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/qfirehose -------------------------------------------------------------------------------- /qfirehose_arm64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/qfirehose_arm64 -------------------------------------------------------------------------------- /qfirehose_arm64_ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/qfirehose_arm64_ld -------------------------------------------------------------------------------- /qfirehose_armhf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/qfirehose_armhf -------------------------------------------------------------------------------- /update.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=EG25-G Firmware Update Service 3 | 4 | [Service] 5 | ExecStart=@RELEASE_DIR/install.sh @RELEASE_DIR fulfil 6 | 7 | [Install] 8 | WantedBy=multi-user.target 9 | -------------------------------------------------------------------------------- /update/ENPRG9x07.mbn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/ENPRG9x07.mbn -------------------------------------------------------------------------------- /update/NON-HLOS.ubi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/NON-HLOS.ubi -------------------------------------------------------------------------------- /update/NPRG9x07.mbn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/NPRG9x07.mbn -------------------------------------------------------------------------------- /update/appsboot.mbn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/appsboot.mbn -------------------------------------------------------------------------------- /update/firehose/partition_complete_p2K_b128K.mbn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/firehose/partition_complete_p2K_b128K.mbn -------------------------------------------------------------------------------- /update/firehose/patch_p2K_b128K.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /update/firehose/prog_nand_firehose_9x07.mbn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/firehose/prog_nand_firehose_9x07.mbn -------------------------------------------------------------------------------- /update/firehose/rawprogram_nand_p2K_b128K_update.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /update/mdm9607-boot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/mdm9607-boot.img -------------------------------------------------------------------------------- /update/mdm9607-recovery.ubi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/mdm9607-recovery.ubi -------------------------------------------------------------------------------- /update/mdm9607-sysfs.ubi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/mdm9607-sysfs.ubi -------------------------------------------------------------------------------- /update/partition.mbn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/partition.mbn -------------------------------------------------------------------------------- /update/partition_nand.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 0xAA7D1B9A 5 | 0x1F7D48BC 6 | 7 | 0x4 8 | 9 | 10 | 0:SBL 11 | 0x8 12 | 0x2 13 | 0 14 | 0xFF 15 | 0x01 16 | 0x00 17 | 0xFE 18 | sbl1.mbn 19 | 20 | 21 | 0:MIBIB 22 | 0x6 23 | 0x4 24 | 0 25 | 0xFF 26 | 0x01 27 | 0xFF 28 | 0xFE 29 | partition.mbn 30 | 31 | 32 | 0:EFS2 33 | 16384 34 | 1024 35 | 0 36 | 0xFF 37 | 0x01 38 | 0xFF 39 | 0xFF 40 | 41 | 42 | 0:sys_rev 43 | 4864 44 | 256 45 | 0 46 | 0xFF 47 | 0x01 48 | 0x00 49 | 0xFF 50 | 51 | 52 | 0:RAWDATA 53 | 1024 54 | 256 55 | 0 56 | 0xFF 57 | 0x01 58 | 0x00 59 | 0xFF 60 | 61 | 62 | 0:TZ 63 | 1280 64 | 256 65 | 0 66 | 0xFF 67 | 0x01 68 | 0x00 69 | 0xFF 70 | tz.mbn 71 | 72 | 73 | 0:RPM 74 | 1024 75 | 128 76 | 0 77 | 0xFF 78 | 0x01 79 | 0x00 80 | 0xFF 81 | rpm.mbn 82 | 83 | 84 | 0:cust_info 85 | 1536 86 | 512 87 | 0 88 | 0xFF 89 | 0x01 90 | 0x00 91 | 0xFF 92 | 93 | 94 | 0:aboot 95 | 1280 96 | 256 97 | 0 98 | 0xFF 99 | 0x01 100 | 0x00 101 | 0xFF 102 | appsboot.mbn 103 | 104 | 105 | 0:boot 106 | 7680 107 | 256 108 | 0 109 | 0xFF 110 | 0x01 111 | 0x00 112 | 0xFF 113 | mdm9607-boot.img 114 | 115 | 116 | 0:recovery 117 | 7680 118 | 256 119 | 0 120 | 0xFF 121 | 0x01 122 | 0x00 123 | 0xFF 124 | mdm9607-boot.img 125 | 126 | 127 | 0:modem 128 | 54272 129 | 512 130 | 0 131 | 0xFF 132 | 0x01 133 | 0x00 134 | 0xFF 135 | NON-HLOS.ubi 136 | 137 | 138 | 0:misc 139 | 512 140 | 128 141 | 0 142 | 0xFF 143 | 0x01 144 | 0x00 145 | 0xFF 146 | 147 | 148 | 0:recoveryfs 149 | 20480 150 | 256 151 | 0 152 | 0xFF 153 | 0x01 154 | 0x00 155 | 0xFF 156 | mdm9607-recovery.ubi 157 | 158 | 159 | 0:usr_data 160 | 60928 161 | 512 162 | 0 163 | 0xFF 164 | 0x01 165 | 0x00 166 | 0xFF 167 | usrdata.ubi 168 | 169 | 170 | 0:sec 171 | 256 172 | 256 173 | 0 174 | 0xFF 175 | 0x01 176 | 0x00 177 | 0xFF 178 | 179 | 180 | 0:system 181 | 0xFFFFFFFF 182 | 0xFFFF 183 | 0 184 | 0xFF 185 | 0x01 186 | 0x00 187 | 0xFF 188 | mdm9607-sysfs.ubi 189 | 190 | 191 | 192 | -------------------------------------------------------------------------------- /update/rpm.mbn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/rpm.mbn -------------------------------------------------------------------------------- /update/sbl1.mbn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/sbl1.mbn -------------------------------------------------------------------------------- /update/tz.mbn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/tz.mbn -------------------------------------------------------------------------------- /update/usrdata.ubi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biktorgj/quectel_eg25_recovery/8b89b7d9ecf4af74674eb56c62aad8ca3f69aece/update/usrdata.ubi --------------------------------------------------------------------------------