Quectel EC20 DFOTA User Guide V1.0
Quectel_EC20_DFOTA_User_Guide_V1.0
Quectel_EC20_DFOTA_User_Guide_V1.0
User Manual:
Open the PDF directly: View PDF .
Page Count: 18

EC20 DFOTA
User Guide
LTE Module Series
Rev. EC20_DFOTA_User_Guide_V1.0
Date: 2015-06-09
www.quectel.com

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 1 / 17
Our aim is to provide customers with timely and comprehensive service. For any
assistance, please contact our company headquarters:
Quectel Wireless Solutions Co., Ltd.
Office 501, Building 13, No.99, Tianzhou Road, Shanghai, China, 200233
Tel: +86 21 5108 6236
Mail: info@quectel.com
Or our local office, for more information, please visit:
http://www.quectel.com/support/salesupport.aspx
For technical support, to report documentation errors, please visit:
http://www.quectel.com/support/techsupport.aspx
Or Email: Support@quectel.com
GENERAL NOTES
QUECTEL OFFERS THIS INFORMATION AS A SERVICE TO ITS CUSTOMERS. THE INFORMATION
PROVIDED IS BASED UPON CUSTOMERS’ REQUIREMENTS. QUECTEL MAKES EVERY EFFORT
TO ENSURE THE QUALITY OF THE INFORMATION IT MAKES AVAILABLE. QUECTEL DOES NOT
MAKE ANY WARRANTY AS TO THE INFORMATION CONTAINED HEREIN, AND DOES NOT ACCEPT
ANY LIABILITY FOR ANY INJURY, LOSS OR DAMAGE OF ANY KIND INCURRED BY USE OF OR
RELIANCE UPON THE INFORMATION. ALL INFORMATION SUPPLIED HEREIN IS SUBJECT TO
CHANGE WITHOUT PRIOR NOTICE.
COPYRIGHT
THIS INFORMATION CONTAINED HERE IS PROPRIETARY TECHNICAL INFORMATION OF
QUECTEL CO., LTD. TRANSMITTABLE, REPRODUCTION, DISSEMINATION AND EDITING OF THIS
DOCUMENT AS WELL AS UTILIZATION OF THIS CONTENTS ARE FORBIDDEN WITHOUT
PERMISSION. OFFENDERS WILL BE HELD LIABLE FOR PAYMENT OF DAMAGES. ALL RIGHTS
ARE RESERVED IN THE EVENT OF A PATENT GRANT OR REGISTRATION OF A UTILITY MODEL
OR DESIGN.
Copyright © Quectel Wireless Solutions Co., Ltd. 2014. All rights reserved.
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 2 / 17
About the Document
History
Revision
Date
Author
Description
1.0
2015-06-09
Tommy ZHANG
Initial
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 3 / 17
Contents
About the Document ................................................................................................................................... 2
Contents ....................................................................................................................................................... 3
Table Index ................................................................................................................................................... 4
1 Introduction .......................................................................................................................................... 5
2 Product Concept .................................................................................................................................. 6
2.1. Get Delta Firmware Package .................................................................................................... 7
2.2. Put Delta Package on FTP/HTTP Server ................................................................................. 7
2.3. Execute AT Command to Upgrade the Firmware ..................................................................... 7
3 Description of AT Command .............................................................................................................. 8
3.1. Upgrade Firmware via FTP Server by DFOTA ......................................................................... 9
3.2. Upgrade Firmware via HTTP Server by DFOTA ..................................................................... 10
3.3. Upgrade Firmware via File System by DFOTA ....................................................................... 11
4 Summary of FTP Error Codes .......................................................................................................... 13
5 Summary of HTTP Error Codes ........................................................................................................ 15
6 Appendix A Reference ....................................................................................................................... 17
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 4 / 17
Table Index
TABLE 1: SUMMARY OF FTP ERROR CODES .............................................................................................. 13
TABLE 2: SUMMARY OF HTTP ERROR CODES ............................................................................................ 15
TABLE 3: RELATED DOCUMENTS .................................................................................................................. 17
TABLE 4: TERMS AND ABBREVIATIONS ........................................................................................................ 17
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 5 / 17
1 Introduction
Quectel provides DFOTA (Delta Firmware Upgrade Over The Air) function, which allows you to upgrade
the firmware of the module over the air. It can upgrade the firmware to a new version, and upgrade back
to the old version as well.
By using DFOTA, you only need to download the delta package into the module, which contains only the
differences between the old and new firmware versions, thus reducing the amount of data transmitted and
accelerating the speed of firmware upgrade.
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 6 / 17
2 Product Concept
The DFOTA upgrade procedure can be shown as the following Figure.
1. Get delta firmware
package
FTP/HTTP
Server
4. Automatic
download from
FTP/HTTP
server via
LTE/WCDMA/
GPRS network
LTE/WCDMA/GPRS
(FTP/HTTP)
Ext.
MCU
Quectel
Module
2. Put the package on
FTP/HTTP server
3. Execute AT command
“AT+QFOTADL”
5. Automatic
upgrade the
module’s
firmware
Figure 1: DFOTA Upgrade Procedure
As shown in the above figure, you need to operate three steps to upgrade the firmware:
Step 1: Get the delta firmware package from Quectel.
Step 2: Put the delta firmware on FTP/HTTP server.
Step 3: Execute AT command AT+QFOTADL to upgrade, then the module will operate the step 4 and
step 5 automatically.
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 7 / 17
2.1. Get Delta Firmware Package
Before upgrading the device, you need to check the current firmware (the old one) by executing AT
command ATI. You also need to know the target firmware (the new one) which needs to be upgraded.
Then you need to provide the two firmware version information to Quectel or your provider to get the delta
firmware package.
2.2. Put Delta Package on FTP/HTTP Server
When using the DFOTA function, you need to set up a FTP/HTTP server by yourself, for Quectel does not
provide a FTP/HTTP server. Then put the delta package on the server, and record the FTP/HTTP path.
The module will get the delta package from this path.
2.3. Execute AT Command to Upgrade the Firmware
After putting the delta firmware package on a FTP/HTTP server, you need to execute AT command
AT+QFOTADL, then the module will download the firmware from FTP/HTTP server over the air and
upgrade automatically. For details, please refer to Chapter 3.
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 8 / 17
3 Description of AT Command
AT+QFOTADL command is used to upgrade firmware of the module. The module will reboot
automatically when the upgrade is successful, otherwise, the module will enter into recover mode and try
to update for five times.
AT+QFOTADL Upgrade Firmware by DFOTA
Test Command
AT+QFOTADL=?
Response
OK
Update firmware from local file
AT+QFOTADL=<file_name>
Response
OK
+QIND: "FOTA","START"
+QIND: "FOTA","UPDATING",<percent>,<total>,<current>
+QIND: "FOTA","UPDATING",<percent>,<total>,<current>
...
+QIND: "FOTA","END",<err>
Or
ERROR
Update firmware from FTP
AT+QFOTADL=<ftpurl>
Response
OK
+QIND: "FOTA","FTPSTART"
+QIND: "FOTA","FTPEND",<ftp_err>
+QIND: "FOTA","START"
+QIND: "FOTA","UPDATING",<percent>,<total>,<current>
+QIND: "FOTA","UPDATING",<percent>,<total>,<current>
...
+QIND: "FOTA","END",<err>
Or
ERROR
Update firmware from HTTP
AT+QFOTADL=<httpurl>
Response
OK
+QIND: "FOTA","HTTPSTART"
+QIND: "FOTA","HTTPEND",<http_err>
+QIND: "FOTA","START"
+QIND: "FOTA","UPDATING",<percent>,<total>,<current>
+QIND: "FOTA","UPDATING",<percent>,<total>,<current>
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 9 / 17
Parameter
3.1. Upgrade Firmware via FTP Server by DFOTA
If the delta package is stored on a FTP server, you can execute the AT+QFOTADL command, the
module will upgrade the firmware automatically over the air via FTP, the example is shown as below:
...
+QIND: "FOTA","END",<err>
Or
ERROR
<file_name> String type, max length is 128 bytes. It should be started with "/cache/ufs/" in UFS
or should be started with "/media/card/" in SD card.
<ftpurl> String format, max length is 255 bytes. It should be started with "FTP://", for
example: “FTP://<username>:<password>@<serverURL>:<port>/<file_path>”
<username> String type, the username for authentication. The maximum size of the parameter
is 50 bytes
<password> String type, the password for authentication. The maximum size of the parameter
is 50 bytes
<serverURL> String type, the IP address or domain name of the FTP server. The maximum size
of the parameter is 50 bytes
<port> Integer type, the port of the FTP server. The default value is 21. The range is
1-65535
<file_path> String type, the file name in FTP server. The maximum size of the parameter is 50
bytes
<ftp_err> Integer type, indicates the FTP error code. 0 means OK
<httpurl> String format, max length is 255 bytes. It should be started with "HTTP://", for
example: “HTTP://<http_server_URL>:<http_port>/<http_file_path>”
<http_server_URL> String type, the IP address or domain name of the HTTP server
<http_port> Integer type, the port of the HTTP server. The default value is 80. The range is
1-65535
<http_file_path> String type, the file name in HTTP server
<http_err> Integer type, indicates the HTTP error code. 0 means OK
<percent> Integer type, indicates the upgrade progress percentage
<total> Integer type, indicates the total number of delta firmware
<current> Integer type, indicates the current number of delta firmware
<err> Integer type, 0 means OK, else ERROR
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 10 / 17
//Upgrade firmware via FTP server.
//The FTP server address is “ftp://test:test@124.74.41.170:21/Jun/update-v12-to-v13.zip".
//Execute command AT+QFOTADL, download and upgrade module’s firmware.
AT+QFOTADL="ftp://test:test@124.74.41.170:21/Jun/update-v12-to-v13.zip"
OK
+QIND: "FOTA","FTPSTART"
+QIND: "FOTA","FTPEND",0 //Finish downloading the package from FTP server.
//Module will be rebooted and USB port will be re-initialized. If the current port is USB port, MCU should
close and reopen it.
+QIND: "FOTA","START"
+QIND: "FOTA","UPDATING", 1,4,1
+QIND: "FOTA","UPDATING", 2,4,1
...
+QIND: "FOTA","UPDATING", 100,4,1
+QIND: "FOTA","UPDATING", 1,4,2
+QIND: "FOTA","UPDATING", 2,4,2
…
+QIND: "FOTA","UPDATING", 100,4,2
+QIND: "FOTA","UPDATING", 1,4,3
+QIND: "FOTA","UPDATING", 2,4,3
…
+QIND: "FOTA","UPDATING", 100,4,3
+QIND: "FOTA","UPDATING", 1,4,4
+QIND: "FOTA","UPDATING", 2,4,4
…
+QIND: "FOTA","UPDATING", 100,4,4
+QIND: "FOTA","END",0 //Finish upgrading the firmware.
3.2. Upgrade Firmware via HTTP Server by DFOTA
If the delta package is stored on a HTTP server, you can execute the AT+QFOTADL command, the
module will upgrade the firmware automatically over the air via HTTP, the example is shown as below:
//Upgrade firmware via HTTP server.
//The HTTP server address is “http://www.quectel.com:100/update.zip ".
//Execute command AT+QFOTADL, download and upgrade module’s firmware.
AT+QFOTADL="http://www.quectel.com:100/update.zip"
OK
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 11 / 17
+QIND: "FOTA","HTTPSTART"
+QIND: "FOTA","HTTPEND",0 //Finish downloading the package from HTTP server.
//Module will be rebooted and USB port will be re-initialized. If the current port is USB port, MCU should
close and reopen it.
+QIND: "FOTA","START"
+QIND: "FOTA","UPDATING", 1,4,1
+QIND: "FOTA","UPDATING", 2,4,1
...
+QIND: "FOTA","UPDATING", 100,4,1
+QIND: "FOTA","UPDATING", 1,4,2
+QIND: "FOTA","UPDATING", 2,4,2
…
+QIND: "FOTA","UPDATING", 100,4,2
+QIND: "FOTA","UPDATING", 1,4,3
+QIND: "FOTA","UPDATING", 2,4,3
…
+QIND: "FOTA","UPDATING", 100,4,3
+QIND: "FOTA","UPDATING", 1,4,4
+QIND: "FOTA","UPDATING", 2,4,4
…
+QIND: "FOTA","UPDATING", 100,4,4
+QIND: "FOTA","END",0 //Finish upgrading the firmware.
3.3. Upgrade Firmware via File System by DFOTA
If the delta package has already been stored in module’s file system, you can execute the AT+QFOTADL
command and the module will upgrade automatically, the example is shown as below:
//Upgrade firmware through module’s file system.
AT+QFOTADL="/cache/ufs/update-v13-to-v12.zip"
OK
+QIND: "FOTA","START"
+QIND: "FOTA","UPDATING", 1,4,1
+QIND: "FOTA","UPDATING", 2,4,1
...
+QIND: "FOTA","UPDATING", 100,4,1
+QIND: "FOTA","UPDATING", 1,4,2
+QIND: "FOTA","UPDATING", 2,4,2
…
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 12 / 17
+QIND: "FOTA","UPDATING", 100,4,2
+QIND: "FOTA","UPDATING", 1,4,3
+QIND: "FOTA","UPDATING", 2,4,3
…
+QIND: "FOTA","UPDATING", 100,4,3
+QIND: "FOTA","UPDATING", 1,4,4
+QIND: "FOTA","UPDATING", 2,4,4
…
+QIND: "FOTA","UPDATING", 100,4,4
+QIND: "FOTA","END",0 //Finish upgrading the firmware.
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 13 / 17
4 Summary of FTP Error Codes
The error code <ftp_err> indicates an error related to mobile equipment or network. The detail about
<ftp_err> is described in the following table.
Table 1: Summary of FTP Error Codes
<ftp_err>
Meaning
601
Unknown error
602
FTP service blocked
603
FTP service busy
604
DNS parse fail
605
Network error
606
Control connection closed
607
Data connection closed
608
Socket closed by peer
609
Timeout error
610
Invalid parameter
611
Failed to open file
612
File position invalid
613
File error
614
Service not available, closing control connection
615
Open data connection fail
616
Connection closed; transfer aborted
617
Requested file action not taken
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 14 / 17
618
Requested action aborted: local error in processing
619
Requested action not taken: insufficient system storage
620
Syntax error, command unrecognized
621
Syntax error in parameters or arguments
622
Command not implemented
623
Bad sequence of commands
624
Command parameter not implemented
625
Fail to login FTP
626
Need account for storing files
627
Requested action not taken.
628
Requested action aborted: page type unknown
629
Requested file action aborted
630
Requested file name invalid
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 15 / 17
5 Summary of HTTP Error Codes
The error code <http_err> indicates an error related to mobile equipment or network. The detail about
<http_err> is described in the following table.
Table 2: Summary of HTTP Error Codes
<http_err>
Meaning
0
Operation successful
701
HTTP unknown error
702
HTTP timeout
703
HTTP busy
704
HTTP UART busy
705
HTTP does not get/post request
706
HTTP network busy
707
HTTP network open failure
708
HTTP network not configured
709
HTTP network deactivated
710
HTTP network error
711
HTTP URL error
712
HTTP empty URL
713
HTTP IP address error
714
HTTP DNS error
715
HTTP socket create error
716
HTTP socket connect error
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 16 / 17
717
HTTP socket read error
718
HTTP socket write error
719
HTTP socket close
720
HTTP data encode error
721
HTTP data decode error
722
HTTP read timeout
723
HTTP response failure
724
Incoming call busy
725
Voice call busy
726
Input timeout
727
Wait for data timeout
728
HTTP response timeout
729
Allocate memory failure
730
Invalid parameter
Quectel
Confidential

LTE Module Series
EC20 DFOTA User Guide
EC20_DFOTA_User_Guide Confidential / Released 17 / 17
6 Appendix A Reference
Table 3: Related Documents
Table 4: Terms and Abbreviations
SN
Document Name
Remark
[1]
Quectel_EC20_AT_Commands_Manual
EC20 AT commands manual
Abbreviation
Description
FTP
File Transfer Protocol
HTTP
Hyper Text Transport Protocol
DFOTA
Delta Firmware Upgrade over the Air
Quectel
Confidential