BC95-GR Series NB IoT Module
Product Information
Specifications:
- Product Name: NB-IoT Module Series
- Version: 1.2
- Date: 2024-09-25
- Status: Released
Product Usage Instructions
Installation:
- Ensure the device is powered off before installing the NB-IoT
module. - Insert the module into the designated slot following the
provided instructions. - Power on the device and proceed with configuration
settings.
Configuration:
Access the device settings menu and configure the necessary
parameters for the NB-IoT module to operate correctly. Refer to the
user manual for detailed configuration instructions.
Maintenance:
Regularly check for firmware updates and apply them as
recommended by the manufacturer to ensure optimal performance.
FAQ
Q: How do I check for firmware updates?
A: To check for firmware updates, visit the manufacturer’s
website or contact their technical support for guidance on the
latest updates available for your NB-IoT module.
Q: What should I do if I encounter connectivity issues?
A: If you experience connectivity issues, first check your
network settings and ensure proper signal reception. If problems
persist, contact technical support for further assistance.
BC65&BC92&BC95-GR DFOTA Upgrade Guide
NB-IoT Module Series Version: 1.2 Date: 2024-09-25 Status: Released
NB-IoT Module Series
At Quectel, our aim is to provide timely and comprehensive services to our customers. If you require any assistance, please contact our headquarters:
Quectel Wireless Solutions Co., Ltd. Building 5, Shanghai Business Park Phase III (Area B), No.1016 Tianlin Road, Minhang District, Shanghai 200233, China Tel: +86 21 5108 6236 Email: info@quectel.com
Or our local offices. For more information, please visit: http://www.quectel.com/support/sales.htm.
For technical support, or to report documentation errors, please visit: http://www.quectel.com/support/technical.htm. Or email us at: support@quectel.com.
Legal Notices
We offer information as a service to you. The provided information is based on your requirements and we make every effort to ensure its quality. You agree that you are responsible for using independent analysis and evaluation in designing intended products, and we provide reference designs for illustrative purposes only. Before using any hardware, software or service guided by this document, please read this notice carefully. Even though we employ commercially reasonable efforts to provide the best possible experience, you hereby acknowledge and agree that this document and related services hereunder are provided to you on an “as available” basis. We may revise or restate this document from time to time at our sole discretion without any prior notice to you.
Use and Disclosure Restrictions
License Agreements
Documents and information provided by us shall be kept confidential, unless specific permission is granted. They shall not be accessed or used for any purpose except as expressly provided herein.
Copyright
Our and third-party products hereunder may contain copyrighted material. Such copyrighted material shall not be copied, reproduced, distributed, merged, published, translated, or modified without prior written consent. We and the third party have exclusive rights over copyrighted material. No license shall be granted or conveyed under any patents, copyrights, trademarks, or service mark rights. To avoid ambiguities, purchasing in any form cannot be deemed as granting a license other than the normal non-exclusive, royalty-free license to use the material. We reserve the right to take legal action for noncompliance with abovementioned requirements, unauthorized use, or other illegal or malicious use of the material.
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
1 / 22
NB-IoT Module Series
Trademarks
Except as otherwise set forth herein, nothing in this document shall be construed as conferring any rights to use any trademark, trade name or name, abbreviation, or counterfeit product thereof owned by Quectel or any third party in advertising, publicity, or other aspects.
Third-Party Rights
This document may refer to hardware, software and/or documentation owned by one or more third parties (“third-party materials”). Use of such third-party materials shall be governed by all restrictions and obligations applicable thereto.
We make no warranty or representation, either express or implied, regarding the third-party materials, including but not limited to any implied or statutory, warranties of merchantability or fitness for a particular purpose, quiet enjoyment, system integration, information accuracy, and non-infringement of any third-party intellectual property rights with regard to the licensed technology or use thereof. Nothing herein constitutes a representation or warranty by us to either develop, enhance, modify, distribute, market, sell, offer for sale, or otherwise maintain production of any our products or any other hardware, software, device, tool, information, or product. We moreover disclaim any and all warranties arising from the course of dealing or usage of trade.
Privacy Policy
To implement module functionality, certain device data are uploaded to Quectel’s or third-party’s servers, including carriers, chipset suppliers or customer-designated servers. Quectel, strictly abiding by the relevant laws and regulations, shall retain, use, disclose or otherwise process relevant data for the purpose of performing the service only or as permitted by applicable laws. Before data interaction with third parties, please be informed of their privacy and data security policy.
Disclaimer
a) We acknowledge no liability for any injury or damage arising from the reliance upon the information. b) We shall bear no liability resulting from any inaccuracies or omissions, or from the use of the
information contained herein. c) While we have made every effort to ensure that the functions and features under development are
free from errors, it is possible that they could contain errors, inaccuracies, and omissions. Unless otherwise provided by valid agreement, we make no warranties of any kind, either implied or express, and exclude all liability for any loss or damage suffered in connection with the use of features and functions under development, to the maximum extent permitted by law, regardless of whether such loss or damage may have been foreseeable. d) We are not responsible for the accessibility, safety, accuracy, availability, legality, or completeness of information, advertising, commercial offers, products, services, and materials on third-party websites and third-party resources.
Copyright © Quectel Wireless Solutions Co., Ltd. 2024. All rights reserved..
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
2 / 22
NB-IoT Module Series
About the Document
Revision History
Version Date
–
2020-04-13
1.0
2020-04-13
1.1
2023-10-20
Author Fonda FANG Fonda FANG Miles MA
1.2
2024-09-25 Howie DONG
Description
Creation of the document
First official release
Added the applicable module BC95-GR.
1. Updated the document name from “Application Note” to “Upgrade Guide”.
2. Added the chapter of DFOTA implementation and user responsibility (Chapter 1.1).
3. Optimized the DFOTA firmware upgrade flowchart to distinguish between the user side and the Quectel side (Figure 1).
4. Optimized the description of the DFOTA firmware upgrade steps and added relevant notes to distinguish between the user side and the Quectel side (Chapter 2).
5. Updated the declaration of AT command examples (Chapter 3.2).
6. Optimized the explanation of the parameters <HTTP_server_URL> and <HTTP_URL> (Chapter 3.3.1 and Chapter 3.3.3).
7. Updated the URL address and related instructions in the command example (Chapter 4).
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
3 / 22
NB-IoT Module Series
Contents
About the Document ………………………………………………………………………………………………………………….. 3 Contents ……………………………………………………………………………………………………………………………………. 4 Table Index………………………………………………………………………………………………………………………………… 5
1 Introduction ………………………………………………………………………………………………………………………… 6 1.1. DFOTA Implementation and User Responsibility …………………………………………………………….. 6
2 DFOTA Procedure ……………………………………………………………………………………………………………….. 7 2.1. Acquire Delta Firmware Package ………………………………………………………………………………….. 8 2.2. Upload Delta Package to HTTP Server ………………………………………………………………………….. 8 2.3. Check Network Status …………………………………………………………………………………………………. 9 2.4. Execute AT Command to Upgrade the Firmware …………………………………………………………….. 9
3 Description of DFOTA AT Commands………………………………………………………………………………… 10 3.1. AT Command Introduction ………………………………………………………………………………………….. 10 3.1.1. Definitions……………………………………………………………………………………………………….. 10 3.1.2. AT Command Syntax ……………………………………………………………………………………….. 10 3.2. Declaration of AT Command Examples ………………………………………………………………………… 11 3.3. DFOTA AT Commands ……………………………………………………………………………………………….. 11 3.3.1. AT+QFOTADL=<HTTP_URL> DFOTA via HTTP Server ……………………………………. 11 3.3.2. AT+QFOTADL=<para> Local Upgrade …………………………………………………………….. 13 3.3.3. AT+QFOTADL=<para>,<HTTP_URL>[,<filename>] Download MCU File Via HTTP Server …………………………………………………………………………………………………………….. 14
4 Examples ………………………………………………………………………………………………………………………….. 16 4.1. DFOTA via HTTP Server Under NB-IoT Network …………………………………………………………… 16 4.2. DFOTA via HTTP Server Under GSM Network (for BC92 Only)………………………………………. 17 4.3. Local Upgrade Process………………………………………………………………………………………………. 18 4.4. Download MCU File from HTTP Server Under NB-IoT Network………………………………………. 19 4.5. Download MCU File from HTTP Server Under GSM Network (for BC92 Only)………………….. 20
5 Summary of Error Codes …………………………………………………………………………………………………… 21
6 Appendix References ………………………………………………………………………………………………………… 22
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
4 / 22
NB-IoT Module Series
Table Index
Table 1: Types of AT Commands ………………………………………………………………………………………………… 10 Table 2: Summary of <HTTP_err> Codes ……………………………………………………………………………………. 21 Table 3: Summary of <FOTA_err> Codes…………………………………………………………………………………….. 21 Table 4: Related Documents ………………………………………………………………………………………………………. 22 Table 5: Terms and Abbreviations ……………………………………………………………………………………………….. 22
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
5 / 22
NB-IoT Module Series
1 Introduction
Quectel BC65, BC92 and BC95-GR modules support DFOTA (Delta Firmware Over-The-Air) feature, which allows customers to upgrade or downgrade firmware wirelessly. In DFOTA, a delta firmware package, which only contains the differences between the current and the target firmware version, is needed. In this way, the amount of data transmitted and time consumed can be reduced. This document describes how to upgrade the firmware of Quectel BC65, BC92 and BC95-GR modules via DFOTA.
1.1. DFOTA Implementation and User Responsibility
Quectel follows industry best practices with regard to firmware updates for its modules by enabling users to offer DFOTA updates. Please note that Quectel does not have the ability to unilaterally push updates to users’ devices. Quectel hands full control over the DFOTA process to users. In the process, Quectel solely provides the updated firmware but cannot initiate DFOTA updates on users’ devices. Users can determine when to push the update to the Quectel modules using the DFOTA mechanism by configuring corresponding parameters for the update that the users host on their own infrastructures.
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
6 / 22
NB-IoT Module Series
2 DFOTA Procedure
The following chart illustrates the firmware upgrade procedure via DFOTA when the firmware package is stored on an HTTP server.
User Side
User s host
User-owned HTTP
2. Upload the firmware
server
package from the host to
user-owned HTTP server
1. Get the delta firmware package from Quectel Technical Support. or using user MCU file
4. Send AT+QFOTADL on the host to trigger automatic firmware upgrade on the module.
3.Check the status of network
N B-loT /G SM
Quectel firmware package
Quectel Side
5. Quectel module automatically downloads the firmware package from the user-owned HTTP server via NBloT/GSM network.
Quectel module
6. Automatically upgrade module firmware.
Figure 1: DFOTA Procedure
As shown in the above figure, customers only need to perform the following steps to upgrade the firmware when the firmware package is stored on an HTTP server:
Step 1: Acquire the delta firmware package from Quectel Technical Support or using user MCU file (see Chapter 2.1 for details).
Step 2: Upload the delta firmware package from the host to your HTTP server (see Chapter 2.2 for details).
Step 3: Check the status of network (see Chapter 2.3 for details). Step 4: Execute AT+QFOTADL on the host to trigger automatic firmware upgrade on the module (see
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
7 / 22
NB-IoT Module Series
Chapter 2.4 for details). Step 5: The module automatically downloads the firmware package from your HTTP server via NB-IoT
network or GSM network. Step 6: The module internally runs the updating program to automatically upgrade the module firmware.
NOTE 1. Since BC92 supports both NB-IoT and GSM networks, BC92 also supports to download upgrade files
through GSM network. 2. When BC92 is under GSM network, it is needed to manually configure PDP and activate IP with the
command AT+CGDCONT after Step 3. 3. Please refer to document [1] or document [2] for more details about the AT commands other than
AT+QFOTADL in this chapter. 4. You are responsible for providing and managing the HTTP server for the firmware upgrade.
Quectel does not supply the server or assist with its setup.
2.1. Acquire Delta Firmware Package
Before firmware upgrading, the current firmware version needs to be checked by executing ATI and the target firmware version needs to be decided. Then, customers should send the two firmware versions to Quectel Technical Support to obtain the corresponding firmware package.
2.2. Upload Delta Package to HTTP Server
Step 1: Please set up an HTTP server before using the DFOTA (Quectel does not provide such a server).
Step 2: After the delta firmware package is uploaded to the server and the HTTP path is recorded, the module will be able to acquire the delta firmware package through the HTTP path by executing the corresponding AT command.
NOTE Please record the HTTP path (URL) to which the delta firmware package is uploaded for the AT+QFOTADL command in Chapter 3.
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
8 / 22
NB-IoT Module Series
2.3. Check Network Status
After the module is powered on, please make sure it is registered on network before the firmware upgrading.
Relevant AT commands are listed below:
AT+CESQ AT+COPS? AT+CGPADDR
Query signal quality Query the network type and registration status Query allocated IP address
2.4. Execute AT Command to Upgrade the Firmware
After the network status is confirmed to be ready, execute AT+QFOTADL on the host to initiate the automatic over-the-air download and upgrade of module delta firmware package. For more details about the DFOTA AT commands, please refer to Chapter 3.3.
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
9 / 22
NB-IoT Module Series
3 Description of DFOTA AT Commands
3.1. AT Command Introduction
3.1.1. Definitions
<CR>
Carriage return character.
<LF>
Line feed character.
<…> […]
Parameter name. Angle brackets do not appear on the command line. Optional parameter of a command or an optional part of TA information response.
Square brackets do not appear on the command line. When an optional parameter is
not given in a command, the new value equals its previous value or the default settings,
unless otherwise specified.
Underline Default setting of a parameter.
3.1.2. AT Command Syntax
All command lines must start with AT or at and end with <CR>. Information responses and result codes always start and end with a carriage return character and a line feed character: <CR><LF><response><CR><LF>. In tables presenting commands and responses throughout this document, only the commands and responses are presented, and <CR> and <LF> are deliberately omitted.
Table 1: Types of AT Commands
Command Type
Syntax
Description
Test Command
AT+<cmd>=?
Read Command
AT+<cmd>?
Test the existence of the corresponding command and return information about the type, value, or range of its parameter.
Check the current parameter value of the corresponding command.
Write Command
AT+<cmd>=<p1>[,<p2>[,<p3>[…]]] Set user-definable parameter value.
Execution Command AT+<cmd>
Return a specific information parameter or perform a specific action.
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
10 / 22
NB-IoT Module Series
3.2. Declaration of AT Command Examples
The AT command examples in this document are provided to help you learn about the use of the AT commands introduced herein. The examples, however, should not be taken as Quectel’s recommendations or suggestions about how to design a program flow or what status to set the module into. Sometimes multiple examples may be provided for one AT command. However, this does not mean that there is a correlation among these examples, or that they should be executed in a given sequence. The URLs, domain names, IP addresses, usernames/accounts, and passwords (if any) in the AT command examples are provided for illustrative and explanatory purposes only, and they should be modified to reflect your actual usage and specific needs.
3.3. DFOTA AT Commands
AT+QFOTADL command enables the automatic firmware upgrade for Quectel module via DFOTA. After the command is executed, the package will be automatically downloaded to the module from the HTTP server. After the package download completes, the module will start to upgrade its firmware automatically. If firmware is upgraded successfully, the module will reboot, otherwise it will return an error and exit from DFOTA.
3.3.1. AT+QFOTADL=<HTTP_URL> DFOTA via HTTP Server
If the delta firmware package is stored on an HTTP server, AT+QFOTADL=<HTTP_URL> should be executed to initiate the automatic firmware upgrade via DFOTA. Then the module will download the delta firmware package from the HTTP server wirelessly and upgrade the firmware automatically.
AT+QFOTADL=<HTTP_URL> DFOTA via HTTP Server
Test Command AT+QFOTADL=? Write Command AT+QFOTADL=<HTTP_URL>
Response OK Response OK +QIND: “FOTA”,”HTTPSTART”
+QIND: “FOTA”,”DOWNLOADING”,<percent>
+QIND: “FOTA”,”DOWNLOADING”,<percent>
…
+QIND: “FOTA”,”HTTPEND”,<HTTP_err>
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
11 / 22
Characteristics
NB-IoT Module Series
+QIND: “FOTA”,”START”
+QIND: “FOTA”,”UPDATING”,<percent>
+QIND: “FOTA”,”UPDATING”,<percent>
…
+QIND: “FOTA”,”END”,<FOTA_err>
If there is any error: ERROR Or +CME ERROR: <HTTP_err> The command takes effect immediately.
Parameter
<HTTP_URL>
<HTTP_server_URL> <HTTP_port> <HTTP_file_path> <HTTP_err> <percent> <FOTA_err>
String format. The URL that the firmware package stored on the HTTP server. The maximum length is 511 bytes. It should start with “http://” in a format as follows: “http://<HTTP_server_URL>:<HTTP_port>/<HTTP_file_path>” String type. The IP address or domain of the HTTP server owned and operated by you. Integer type. The port of the HTTP server. The default value is 80. The range is 165535. String type. The file path in the HTTP server. Integer type. The HTTP error code. 0 means downloaded successfully. Any other value means an error. Please refer to Chapter 5 for more details. Integer type. The download or upgrade progress in percentage. Integer type. 0 means upgraded successfully. Any other value means an error. Please refer to Chapter 5 for more details.
NOTE If the module is powered off when it is reporting +QIND: “FOTA”,”UPDATING”,<percent>, the module will automatically enter force upgrade mode when powered on next time, and continue the upgrading progress. The URC of upgrade process is shown as below: +QIND: “FOTA”,”START”
+QIND: “FOTA”,”UPDATING”,0%
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
12 / 22
+QIND: “FOTA”,”UPDATING”,10% … +QIND: “FOTA”,”END”,0
NB-IoT Module Series
3.3.2. AT+QFOTADL=<para> Local Upgrade
If the delta firmware package already exists in the UFS directory of the module filesystem, and the name of this firmware package is “fota.pack”, the upgrade progress will be triggered by executing AT+QFOTADL=1. If the name of the firmware package is not “fota.pack”, please rename the firmware package with the filesystem-related AT command.
AT+QFOTADL=<para> Local Upgrade
Write Command AT+QFOTADL=<para>
Response OK
+QIND: “FOTA”,”START”
+QIND: “FOTA”,”UPDATING”,<percent>
+QIND: “FOTA”,”UPDATING”,<percent>
…
+QIND: “FOTA”,”END”,<FOTA_err>
Characteristics
If there is any error: ERROR Or +CME ERROR: <HTTP_err>
The command takes effect immediately.
Parameter
<para>
<percent> <HTTP_err>
<FOTA_err>
Integer type. 1 Local Upgrade Integer type. The download or upgrade progress in percentage. Integer type. The HTTP error code. 0 means downloaded successfully. Any other value means an error. Please refer to Chapter 5 for more details. Integer type. 0 means upgraded successfully. Any other value means an error. Please refer to Chapter 5 for more details.
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
13 / 22
NB-IoT Module Series
NOTE 1. Delta firmware package can be transferred to UFS directory in module with filesystem-related AT
commands via AT UART port. The filename of this package must be named as “fota.pack”, otherwise the upgrade process cannot be triggered correctly. 2. If the module is powered off when it is reporting +QIND: “FOTA”,”UPDATING”,<percent>, the module will automatically enter force upgrade mode when powered on next time, and continue the upgrading progress. The URC of upgrade process is shown as below: +QIND: “FOTA”,”START”
+QIND: “FOTA”,”UPDATING”,0%
+QIND: “FOTA”,”UPDATING”,10%
…
+QIND: “FOTA”,”END”,0 3. Please refer to document [3] for the AT commands of filesystem.
3.3.3. AT+QFOTADL=<para>,<HTTP_URL>[,<filename>] Download MCU File Via
HTTP Server
If a file of external MCU is uploaded to the HTTP server, it can be downloaded by executing AT+QFOTADL=<para>,<HTTP_URL>[,<filename>], and will be saved in UFS directory of the module filesystem. The file name can be specified by the parameter <filename>, or acquired from <HTTP_URL>.
AT+QFOTADL=<para>,<HTTP_URL>[,<filename>] Download MCU File Via HTTP
Server
Write Command
Response
AT+QFOTADL=<para>,<HTTP_URL>[, OK
<filename>]
+QIND: “FOTA”,”HTTPSTART”
+QIND: “FOTA”,”DOWNLOADING”,<percent>
+QIND: “FOTA”,”DOWNLOADING”,<percent>
…
+QIND: “FOTA”,”HTTPEND”,<HTTP_err>
If there is any error: ERROR
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
14 / 22
Characteristics
NB-IoT Module Series
Or +CME ERROR: <HTTP_err> The command takes effect immediately.
Parameter
<para> <filename> <HTTP_URL>
<HTTP_server_URL> <HTTP_port> <HTTP_file_path> <HTTP_err> <percent>
Integer type. 2 Download the file to module via HTTP server. String type. File name. Specify the saving name of file. String type. The URL that the firmware package stored on the HTTP server. The maximum length is 511 bytes. It should start with “http://” in a format as follows: “http://<HTTP_server_URL>:<HTTP_port>/<HTTP_file_path>” String type. The IP address or domain name of HTTP server owned and operated by you. Integer type. The port of the HTTP server. The default value is 80. The range is 165535. String type. The file path in HTTP server. Integer type. The HTTP error code. 0 means download successfully. Any other value means an error. Please refer to Chapter 5 for more details. Integer type. The download or upgrade progress in percentage.
NOTE
1. The length of file name cannot exceed 58 bytes when <para>=2, otherwise an error will be returned. In the case that <filename> is omitted, the module will first obtain the file name from the HTTP URL. If the file name is illegal, the default “mcu_update.bin” will be used to name the downloaded file. Then, please use the filesystem-related AT commands to operate it after downloading.
2. Please refer to document [3] for the AT commands of filesystem.
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
15 / 22
NB-IoT Module Series
4 Examples
4.1. DFOTA via HTTP Server Under NB-IoT Network
//You can perform the firmware upgrade after storing the delta firmware package on your HTTP server.
http://192.0.2.2:3029/update.pack is used as an example URL below (The URL is provided for illustrative
purpose only. Please replace it with a valid URL that corresponds to your HTTP server and firmware
package).
AT+COPS?
//Query network status.
+COPS: 0,2,”46011″,9
//The fourth parameter 9 indicates a NB-IoT network.
OK //Under NB-IoT network, the module will use the parameter configured by AT+QCGDEFCONT and automatically activate IP. AT+CGDCONT? +CGDCONT: 1,”IP”,”fast.t-mobile.com”,”192.0.2.2″,0,0
OK //Execute AT+QFOTADL to enable automatic firmware upgrade via DFOTA, and then the module will start to download the delta firmware package and upgrade firmware automatically. AT+QFOTADL=”http://192.0.2.2:3029/update.pack” OK
+QIND: “FOTA”,”HTTPSTART”
//Download starts.
+QIND: “FOTA”,”DOWNLOADING”,0%
+QIND: “FOTA”,”DOWNLOADING”,10%
…
+QIND: “FOTA”,”DOWNLOADING”,100%
+QIND: “FOTA”,”HTTPEND”,0
//The package from HTTP server is successfully downloaded.
+QIND: “FOTA”,”START”
//Upgrade starts.
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
16 / 22
NB-IoT Module Series
+QIND: “FOTA”,”UPDATING”,0%
+QIND: “FOTA”,”UPDATING”,10%
…
+QIND: “FOTA”,”UPDATING”,100%
+QIND: “FOTA”,”END”,0
//The firmware is successfully upgraded.
4.2. DFOTA via HTTP Server Under GSM Network (for BC92 Only)
//You can perform the firmware upgrade after storing the delta firmware package on your HTTP server.
Upgrade firmware when delta firmware package is stored on an HTTP server.
http://192.0.2.2:3029/update.pack is used as an example URL below (The URL is provided for illustrative
purpose only. Please replace it with a valid URL that corresponds to your HTTP server and firmware
package).
AT+COPS?
//Query network status.
+COPS: 0,2,”46000″,0
//The fourth parameter 0 indicates a GSM network.
OK
//When BC92 is under GSM network, it is needed to configure PDP and activate IP manually before
downloading.
AT+CGDCONT=1,”IP”
//Confiture PDP type to “IP”.
OK
AT+CGACT=1,1
//Activate the PDP context.
OK
AT+CGDCONT?
+CGDCONT: 1,”IP”,,”192.0.2.2″,0,0
OK
//Execute AT+QFOTADL to enable automatic firmware upgrade via DFOTA, and then the module will
start to download the delta firmware package and upgrade firmware automatically.
AT+QFOTADL=”http://192.0.2.2:3029/update.pack”
OK
+QIND: “FOTA”,”HTTPSTART”
//Download starts.
+QIND: “FOTA”,”DOWNLOADING”,0%
+QIND: “FOTA”,”DOWNLOADING”,10%
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
17 / 22
NB-IoT Module Series
…
+QIND: “FOTA”,”DOWNLOADING”,100%
+QIND: “FOTA”,”HTTPEND”,0
//The package from HTTP server is successfully downloaded.
+QIND: “FOTA”,”START”
//Upgrade starts.
+QIND: “FOTA”,”UPDATING”,0%
+QIND: “FOTA”,”UPDATING”,10%
…
+QIND: “FOTA”,”UPDATING”,100%
+QIND: “FOTA”,”END”,0
//The firmware is successfully upgraded.
4.3. Local Upgrade Process
//The local upgrade process can be triggered by executing AT+QFOTADL=1. First, please make sure that
the file already exists in module filesystem and its name must be “fota.pack”, otherwise the module will
return an error.
AT+QFLST
//Check whether the file exists or not.
+QFLST: “fota.pack”,20135
OK AT+QFOTADL=1 OK
//Trigger the local upgrade process.
+QIND: “FOTA”,”START”
//Local upgrade starts.
+QIND: “FOTA”,”UPDATING”,0%
+QIND: “FOTA”,”UPDATING”,10%
…
+QIND: “FOTA”,”UPDATING”,100%
+QIND: “FOTA”,”END”,0
//Upgraded successful.
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
18 / 22
NB-IoT Module Series
4.4. Download MCU File from HTTP Server Under NB-IoT Network
AT+COPS? +COPS: 0,2,”46011″,9
//Query network status. //The fourth parameter 9 indicates a NB-IoT network.
OK //The module will automatically active the default PDN, which set by AT+QCGDEFCONT in NB-IoT network. AT+CGDCONT? +CGDCONT: 1,”IP”,”fast.t-mobile.com”,”192.0.2.2″,0,0
OK
//Execute AT+QFOTADL=2,<HTTP_URL> to download the MCU upgrade file from the HTTP server and
store it in the module. After the download is complete, the corresponding filesystem AT command can be
used to operate this MCU upgrade file.
.
//The URL of the MCU file on the HTTP server is “http://192.0.2.2:3029/test.bin”(The URL is provided for
illustrative purpose only. Please replace it with a valid URL that corresponds to your HTTP(S) server and
firmware package.)
AT+QFOTADL=2,”http://192.0.2.2:3029/test.bin”
//Trigger the process.
OK
+QIND: “FOTA”,”HTTPSTART”
//Download starts.
+QIND: “FOTA”,”DOWNLOADING”,0%
+QIND: “FOTA”,”DOWNLOADING”,10% …
+QIND: “FOTA”,”DOWNLOADING”,100%
+QIND: “FOTA”,”HTTPEND”,0 AT+ QFLST +QFLST: “test.bin”,93368
//The MCU file is successfully downloaded. //List the files in the module filesystem.
OK
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
19 / 22
NB-IoT Module Series
4.5. Download MCU File from HTTP Server Under GSM Network (for BC92 Only)
AT+COPS? +COPS: 0,2,”46000″,0
//Query network status. //The fourth parameter 0 indicates a GSM network.
OK
//When the BC92 is under a GSM network, please manually configure the PDP and activate the IP before
downloading.
AT+CGDCONT=1,”IP”
//Configure PDP type to “IP”.
OK
AT+CGACT=1,1
//Active the PDP context.
OK
AT+CGDCONT?
+CGDCONT: 1,”IP”,,”192.0.2.2″,0,0
OK //Execute AT+QFOTADL=2,<HTTP_URL> to download the MCU upgrade file from the HTTP server and store it in the module. After the download is complete, the corresponding filesystem AT command can be used to operate this MCU upgrade file. //The URL of the MCU file on the HTTP server is “http://192.0.2.2:3029/test.bin” (The URL is provided for illustrative purpose only. Please replace it with a valid URL that corresponds to your HTTP(S) server and firmware package). AT+QFOTADL=2,”http://192.0.2.2:3029/test.bin” OK
+QIND: “FOTA”,”HTTPSTART”
//Download starts.
+QIND: “FOTA”,”DOWNLOADING”,0%
+QIND: “FOTA”,”DOWNLOADING”,10%
…
+QIND: “FOTA”,”DOWNLOADING”,100%
+QIND: “FOTA”,”HTTPEND”,0 AT+ QFLST +QFLST: “test.bin”,93368
//The MCU file is successfully downloaded. //List the files in the module filesystem.
OK
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
20 / 22
NB-IoT Module Series
5 Summary of Error Codes
The error code indicates an error related to mobile equipment or network. The details about <FOTA_err> and <HTTP_err> are described in the following tables.
Table 2: Summary of <HTTP_err> Codes
<HTTP_err> 0 6500 6501 6502 6503 6504 6505 6506 6507 6509
Description Downloaded successfully Unknown mistake Illegal parameter Upgrade package is too large Download failed Upgrade package not found Upgrade package failed to write flash There are no differential packages in the module file system Differential packet verification error Allocate memory failed
Table 3: Summary of <FOTA_err> Codes
<FOTA_err> 0 6508
Description Upgraded successfully Upgrade failed
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
21 / 22
NB-IoT Module Series
6 Appendix References
Table 4: Related Documents Document Name [1] Quectel_BC65&BC95-GR_AT_Commands_Manual [2] Quectel_BC92_AT_Commands_Manual [3] Quectel_BC65&BC92&BC95-GR_Filesystem_Appliaction_Note
Table 5: Terms and Abbreviations
Abbreviation DFOTA GSM HTTP(S) IP MCU NB-IoT PDP UFS URL
Description Delta Firmware Over-The-Air Global System for Mobile Communication Hyper Text Transport Protocol (Secure) Internet Protocol Microcontroller Unit Narrowband Internet of Things Packet Data Protocol User File Storage Uniform Resource Locator
BC65&BC92&BC95-GR_DFOTA_Upgrade_Guide
22 / 22
Documents / Resources
![]() |
QUECTEL BC95-GR Series NB IoT Module [pdf] User Guide BC65, BC92, BC95-GR, BC95-GR Series NB IoT Module, BC95-GR Series, NB IoT Module, IoT Module |