├── 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 | 
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
--------------------------------------------------------------------------------