.. _headlabel-refx-manage-upc: Update Configurations ===================== This section describes how to use the `AT@UPC` command to update the entire configuration file of the terminal. .. note:: The terminal always verifies that all the configuration commands in the configuration file are valid before updating. As long as the configuration file contains an invalid command (unsupported or invalid parameters), the terminal will not perform any updates. The process of updating the configuration file is similar to that of upgrading the firmware. Please refer to :ref:`here ` for more information, the following is intended to describe the format of configuration file, AT\@UPC command and F2H report. Configuration File Format ------------------------- The terminal supports configuration files in **JSON** format. The configuration file in JSON format includes CRC check and file generation time (UTC time, can be used as a configuration version), and it can only be exported by the **Manage Tool** running on the computer provided by Queclink. The configuration file in JSON format looks like this: .. code-block:: json { "DeviceType": "8001", "ConfigGenerationTime": "20210601101030", "ProtocolVersion": 15, "CustomVersion": 0, "ConfigurationCommands": { "ACK": "AT@ACK=*,,,0,0,,FFFF$", "AGPS": "AT@AGPS=*,1,1,,,FFFF$", "APN": "AT@APN=*,,cmnet,,,0,,FFFF$", "CFG": "AT@CFG=*,,MyDevice,,,,FFFF$", "NET": "AT@NET=*,,0,0,,,1,,FFFF$", "PROFILE": [ "AT@PROFILE=*,0,1,,,,FFFF$", "AT@PROFILE=*,1,2,,,,FFFF$", "AT@PROFILE=*,63,1,,,,FFFF$" ], "TMA": "AT@TMA=*,,+32,0,,time.windows.com,123,FFFF$", "QRC": { "01H": "AT@QRC=*,01,,1,,,FFFF$", "03H": "AT@QRC=*,03,,1,,,FFFF$", "50H": [ "AT@QRC=*,50,0,1,0,,,,600,,,,FFFF$", "AT@QRC=*,50,1,1,,,10,0,600,0,0,0,FFFF$", "AT@QRC=*,50,63,1,,,10,0,600,0,0,0,FFFF$" ], "E0H": "AT@QRC=*,E0,,,1,2|88,FFFF$" } }, "CRC": "44E2" } .. note:: When the device generates the configuration file, the password will be masked for security reasons. .. _refx-manage-upc-cmd: UPC (Update Configurations) --------------------------- The `AT@UPC` command is used to update the configuration file of terminal via network. .. code-block:: none Example: AT@UPC=gl601###,,10,http://218.17.46.11:979/GL601/deltabin/GL601_C031_20211017034742_NA.cfg,,,,,,,,1234$ +ACK:UPC,123456789012345,C031,10,0,,1234,20210407101530,1234$ +NACK:UPC,123456789012345,C031,10,0,,0,1234,20210407101530,1234$ .. table:: :width: 100% :widths: 7 27 16 36 14 +-------+--------------------------------------+---------------+---------------------------------------+---------------------+ | Parts | Fields | Length (Byte) | Range/Format | Default | +=======+======================================+===============+=======================================+=====================+ | Head | Header | 3 | AT@ | AT@ | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | Command Word | 3 | UPC | UPC | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | Leading Symbol | 1 | = | = | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | Password | 8-16 | | gl601### | +-------+--------------------------------------+---------------+---------------------------------------+---------------------+ | Body | Reserved | 0 | | | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | `Download Timeout` | <=2 | 10 - 60 (minutes) | 10 | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | `Download URL` | <=150 | A valid HTTP URL. | | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | `Authentication Username` | <=6 | '0'-'9', 'a'-'z', 'A'-'Z' | | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | `Authentication Password` | <=6 | '0'-'9', 'a'-'z', 'A'-'Z' | | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | Reserved | 0 | | | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | Reserved | 0 | | | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | Reserved | 0 | | | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | Reserved | 0 | | | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | Reserved | 0 | | | +-------+--------------------------------------+---------------+---------------------------------------+---------------------+ | Tail | Sequence Number | 4 | 0000-FFFF ('0'-'9', 'A'-'F') | | + +--------------------------------------+---------------+---------------------------------------+---------------------+ | | Tail | 1 | $ | $ | +-------+--------------------------------------+---------------+---------------------------------------+---------------------+ - `Download Timeout` If downloading is not finished within this time, it will be regarded that the downloading failed. - `Download URL` It specifies the URL to download the package. - `Authentication Username` If the server (that corresponding to URL) uses authentication, the username is specified here. - `Authentication Password` If the server (that corresponding to URL) uses authentication, the password is specified here. .. _refx-manage-upc-f2: F2H (UPC Status) ---------------- During the configuration file update process, the device reports its status including the update confirmation information, package downloading information and configuration update information to the backend server via this message (a report that only carries Record F2H) at different phases. .. code-block:: none For example (Total 41 bytes): 2B 00 00 29 00 01 23 45 67 89 01 23 45 C0 31 00 0A 00 00 12 66 8E 47 F7 00 00 F2 00 66 07 01 00 00 00 00 00 00 01 23 B4 24 For example (Total 41 bytes): 2B 00 00 29 00 01 23 45 67 89 01 23 45 C0 31 00 0A 00 00 12 66 8E 47 F7 00 00 F2 00 66 07 02 00 00 00 00 00 00 01 23 5A 24 For example (Total 41 bytes): 2B 00 00 29 00 01 23 45 67 89 01 23 45 C0 31 00 0A 00 00 12 66 8E 47 F7 00 00 F2 00 66 07 03 00 00 00 00 00 00 01 23 EF 24 .. table:: :width: 100% :widths: 11 13 15 16 35 10 +----------+--------------------+------------------+---------------+----------------------------+---------------+ | Parts | Fields | Length (Byte) | Range/Format | Default | +==========+====================+==================+===============+============================+===============+ | Head | | 18 or 20 | | | +----------+--------------------+------------------+---------------+----------------------------+---------------+ | Reserved | | 1 or 1+N | | | +----------+--------------------+------------------+---------------+----------------------------+---------------+ | Records | Record Length | 1 or 2 | 00H-7FH or 8080H-FFFFH | | + +--------------------+------------------+---------------+----------------------------+---------------+ | | Generated Time | 4 | | | + +--------------------+------------------+---------------+----------------------------+---------------+ | | `Record ID` | 1 | **F2H** | **F2H** | + +--------------------+------------------+---------------+----------------------------+---------------+ | | `Event Code` | 1 | 00H | 00H | + +--------------------+------------------+---------------+----------------------------+---------------+ | | `Data of Record` | Data ID | 1 or 2 | 00H-7FH or 8080H-FFFFH | | + + +------------------+---------------+----------------------------+---------------+ | | | Data Length | 1 or 2 | 00H-7FH or 8080H-FFFFH | | + + +------------------+---------------+----------------------------+---------------+ | | | Data Content | N | | | + + +------------------+---------------+----------------------------+---------------+ | | | ... | | | | + +--------------------+------------------+---------------+----------------------------+---------------+ | | ... | | | | +----------+--------------------+------------------+---------------+----------------------------+---------------+ | Tail | | 4 | | | +----------+--------------------+------------------+---------------+----------------------------+---------------+ The definitions of parts 'Head', 'Reserved', and 'Tail' are :ref:`here `. - `Event Code` The default is **00H**. - `Data of Record` Fixedly, this record contains only the following :ref:`Data ID units `: - :ref:`Data 102 ` - Update Configuration.