EC20 DFOTA » History » Version 1
zecke, 10/19/2016 08:44 AM
1 | 1 | zecke | h1. EC20/EC25 Delta Firmware over the air (DFOTA) upgrades |
---|---|---|---|
2 | |||
3 | An example of the DFOTA file is here: http://dfota.quectel-service.com:8088/Dfiles/EC20/EC20EQAR02A05V03-R02A09V02.zip |
||
4 | |||
5 | h2. Start delta upgrade |
||
6 | |||
7 | <pre> |
||
8 | AT+QFOTADL="http://dfota.quectel-service.com:8088/Dfiles/EC20/EC20EQAR02A05V03-R02A09V02.zip" |
||
9 | </pre> |
||
10 | |||
11 | It will start an internal connection manager to terminate data on the Linux module and then run wget to store the file to |
||
12 | "update.zip". If it worked a reboot into the recovery system will be made. |
||
13 | |||
14 | h2. Recovery image |
||
15 | |||
16 | It seems that /usr/bin/recovery will be started and finds a update.zip in the right partition and will then apply |
||
17 | the delta updates. |
||
18 | |||
19 | |||
20 | h2. Delta format |
||
21 | |||
22 | Delta updates are available for the bootloader (?), dsp, userdata and system. It is speculated that for the |
||
23 | system and userdata yaffs2 the actual filesystem will be mounted and individual files will be modified. |
||
24 | |||
25 | <pre> |
||
26 | struct upgrade_file_begin { |
||
27 | uint32_t checksum; // ???? different in all of these upgrades |
||
28 | uint32_t __le len; // len.. E.g. 184014 of a 184059 file |
||
29 | ... still a lot of 32bit length.. not really TLV |
||
30 | }; |
||
31 | struct upgrade_file_trailer { |
||
32 | uint32_t __le len; |
||
33 | char name[len]; with trailing \0 |
||
34 | uint32_t null_end (four bytes 0x00) |
||
35 | }; |
||
36 | </pre> |