ConnectCore Cloud Services allow you to remotely program new firmware using Remote Manager web service APIs.

Reported firmware version and update settings depend on the ConnectCore Cloud Services configuration (/etc/cccs.conf) in your device. See Configure ConnectCore Cloud Services for more information.

You can remotely update the entire system using an update package. To do so, follow these steps:

For more information on how to optimize this process, see Optimize device data traffic.

1. Create the update package

To learn how to create the update package (.swu), see Build a software update package.

2. Upload the package to Remote Manager firmware repository

Custom update packages must be stored in Remote Manager firmware repository. Once your packages are in the repository, you can use it in Automations and Configurations.

Each user can store up to 10 GB of custom firmware. After reaching this limit, you are not allowed to upload more custom firmware until you delete any package. If you need more space, please contact a Digi representative.

Remote Manager repository is accessible using Remote Manager web service APIs and can be managed using:

See ConnectCore Cloud Services web services for more information on how to use web service APIs.

Firmware page

You can access Remote Manager firmware repository from the web interface and upload your devices firmware:

  1. Log in to your Remote Manager account (https://remotemanager.digi.com).

  2. Select System > Firmware on the left bar.

  3. Go to the Custom Device Firmware tab.

  4. Click Add Firmware button to open the wizard.

  5. Fill the fields to identify this firmware in the repository. Main parameters are:

    1. Select the Vendor ID called Digi ConnectCore (0xFE080003).

    2. Choose the Device Type of the devices you are going to update with this firmware. See Device type setting.

    3. Enter the Firmware Version of this package.

    4. Type the URL of the firmware Release Notes.

  6. Upload to the repository your update package:

    1. Click Add files

    2. Browse in your local file system for the update package (.swu).

  7. Finally, click Add to upload your package to Remote Manager firmware repository. When the upload process finishes, a new entry the table is added.

For extended Remote Manager web interface usage and reference information, see the Digi Remote Manager User Guide.

API Explorer and third party tools

You can use third-party tools or the API Explorer with v1/firmware API to create, list, update or remove custom firmware:

  1. Create a new custom firmware using curl tool.

    $ curl \
       -X POST \
       -u 'username:password' \
       -H X-Pretty:true \
       -H Content-Type:application/octet-stream \
       -F "image=@/path/to/the/swu/package/dey-image-qt-swu-ccimx8mm-dvk_4.0.5.2.swu" \
        'https://remotemanager.digi.com/ws/v1/firmware/inventory/FE080003/ccimx8mm-dvk?firmware_version=4.0.5.2&information_link=https://www.mywebsite.com/my_release_notes&security_related=none&production=true&deprecated=false&filename=dey-image-qt-swu-ccimx8mm-dvk_4.0.5.2.swu'

    Where:

    • username is your account username.

    • password is your account password.

    • /path/to/the/swu/package/dey-image-qt-swu-ccimx8mm-dvk_4.0.5.2.swu is the absolute path to the firmware file in your development machine.

    The answer is similar to the following:

    {
      "location" : "https://remotemanager.digi.com/ws/v1/firmware/image/343236313933373135350a6363696d7839332d64766b0a36373130393633340a0a0a0a313639353338313831333134320a31383531",
      "vendor_id" : 4261937155,
      "type" : "ccimx8mm-dvk",
      "firmware_version" : "4.0.5.2",
      "file_size" : 204946944,
      "production" : true,
      "deprecated" : false,
      "filename" : "dey-image-qt-swu-ccimx8mm-dvk_4.0.5.2.swu",
      "information_link" : "https://www.mywebsite.com/my_release_notes",
      "security_related" : "none",
      "sha_512" : "ec6f103e782c22eb160a159656f72b267a46fd016c63dbeca9425bbf331e766337150cc1aa5c4c6ca6aef5a640071f2da31647e92d463b3ab0110cc17257dca6",
      "sha3_512" : "9cb55e244baa3ea25e3781c16c3300b34f1a2be0de95c2d2ea36385f4d42f91d4ba3252e2d6e18ef648fa09881e3698fc04ff916b0def626e7218bc9d21393e7",
      "firmware_status" : "not_identified",
      "customer_id" : XXXX
    }

    Where XXXX is your customer id.

    The Get Started with ConnectCore Cloud Services demo web application, used in the ConnectCore Cloud Services demo guide, uploads new firware to Remote Manager firmware repository. See method list_repository() in drm_requests.py called when Update firmware button in Management page is clicked.

  2. List available custom device firmwares from API Explorer:

    1. Log in to your Remote Manager account (https://remotemanager.digi.com).

    2. Go to the System > API Explorer tab.

    3. Click the Examples combo.

    4. Select v1/firmare > List all custom device firmware.

    5. Click Send.

      In the Response, an entry corresponding to the new created firmware is listed:

      {
        "count": 1,
        "size": 1000,
        "list": [
          {
            "id": 481677,
            "deprecated": false,
            "file_size": 204946944,
            "filename": "dey-image-qt-swu-ccimx8mm-dvk_4.0.5.2.swu",
            "firmware_status": "not_identified",
            "firmware_version": "4.0.5.2",
            "information_link": "https://www.mywebsite.com/my_release_notes",
            "location": "https://firmware.devicecloud.com/device_firmware/ccimx8mm-dvk/4.0.5.2/dey-image-qt-swu-ccimx8mm-dvk_4.0.5.2.swu",
            "production": true,
            "security_related": "none",
            "sha_512": "ec6f103e782c22eb160a159656f72b267a46fd016c63dbeca9425bbf331e766337150cc1aa5c4c6ca6aef5a640071f2da31647e92d463b3ab0110cc17257dca6",
            "sha3_512": "9cb55e244baa3ea25e3781c16c3300b34f1a2be0de95c2d2ea36385f4d42f91d4ba3252e2d6e18ef648fa09881e3698fc04ff916b0def626e7218bc9d21393e7",
            "type": "ccimx8mm-dvk",
            "vendor_id": 4261937155,
            "vendor_name": "Digi ConnectCore",
            "update_time": "2023-09-22T11:24:00.000Z",
            "customer_id": XXXX
          }
        ]
      }

      Where XXXX is your customer id.

    The Get Started with ConnectCore Cloud Services demo web application, used in the ConnectCore Cloud Services demo guide, lists existing firmware versions in Remote Manager firmware repository. See method list_repository() in drm_requests.py called when Refresh button in Download from firmware repository tab of Management page is clicked.

You can use your preferred programming language to perform the update of your connected devices. See ConnectCore Cloud Services web services for more information.

3. Update your device

Once you have the firmware in the Remote Manager repository, you can use it to remotely update your devices connected to Remote Manager.

You can program your devices with update packages in the repository from:

The firmware package is downloaded to the configured path in the setting firmware_download_path of the cccs.conf configuration file. See Firmware update settings for more information.

You must have enough space in the configured firmware download path (setting firmware_download_path of the cccs.conf file) for the SWU package.

See ConnectCore Cloud Services web services for more information on how to use web service APIs.

Devices page

Firmware updates can be started directly from the Devices list in Remote Manager interface:

  1. Log in to your Remote Manager account (https://remotemanager.digi.com).

  2. Select Device Management > Devices on the left bar.

  3. Select your device from the inventory.

  4. Click the Actions drop-down menu and click Update Firmware.

  5. In the Update Firmware wizard, choose the firmware version from the combo box list. For example, the one you uploaded in the previous step, 4.0.5.2 (custom).

  6. Click Update. The firmware update process starts.

    You can keep the window open until the process finishes, or close it and monitor the status of the update under System > Logs > Activity.

For extended Remote Manager web interface usage and reference information, see the Digi Remote Manager User Guide.

API Explorer

You can use third-party tools or the API Explorer with v1/firmware_updates API to update the firmware of your devices and check their status:

  1. Log in to your Remote Manager account (https://remotemanager.digi.com).

  2. Get your device identifier.

    It follows the format 00000000-00000000-00XXXXXX-XXXXXXXX.

    1. Go to the Device Management > Devices tab.

    2. Copy the Device ID of your device from the table by using the Copy Device ID button that appears next to it when you hover over the item.

      If you have more than one device, you can filter using the MAC address of your device:

      1. Click on the filter text box and select MAC.

      2. Type the MAC address of your device and press Enter.

  3. Go to the System > API Explorer tab.

  4. Click the Examples combo.

  5. Update the firmware:

    1. Select v1/firmware_updates > Execute firmware update.

      A request appears inside the Body text box.

    2. Modify the request to update your device(s) with, for example, the firmware version you uploaded in the previous step, 4.0.5.2. For this example, use:

      {
          "targets": {
              "devices": [
                  "00000000-00000000-00XXXXXX-XXXXXXXX"
            ]
          },
          "version": "4.0.5.2"
      }

      Where 00000000-00000000-00XXXXXX-XXXXXXXX is your device id.

    3. Click Send.

      In the Response text box you can review the answer:

      {
          "count": 1,
          "size": 1000,
          "list": [
              {
                  "device_id": "00000000-00000000-00XXXXXX-XXXXXXXX",
                  "id": 1
              }
          ]
      }

      Where 00000000-00000000-00XXXXXX-XXXXXXXX is your device id.

  6. Check the progress:

    1. Select v1/firmware_updates > Get firmware update progress.

    2. Modify the request path with your device id.

      It should be something similar to:

      /ws/v1/firmware_updates/progress/00000000-00000000-00XXXXXX-XXXXXXXX

      Where 00000000-00000000-00XXXXXX-XXXXXXXX is your device id.

    3. Click Send.

      The response indicates the update status:

      {
          "id": 1,
          "customer_id": XXXX,
          "device_id": "00000000-00000000-00XXXXXX-XXXXXXXX",
          "progress": [
              {
                  "status": 5,
                  "time": "2023-09-22T12:53:10.139Z",
                  "message": "Sending Data: 4540912 out of 204946944 bytes sent"
              },
              {
                  "status": 0,
                  "time": "2023-09-22T12:51:15.845Z",
                  "message": "Sending Download Request"
              }
          ]
      }

      Where 00000000-00000000-00XXXXXX-XXXXXXXX is your device id.

You can use any third-party tool with Remote Manager web service APIs. See ConnectCore Cloud Services web services for more information.

python-devicecloud library

You can use Python client library for Digi Remote Manager web service APIs, python-devicecloud, to upload your custom update packages to the firmware repository and use these packages to program your connected devices.

The Get Started with ConnectCore Cloud Services demo web application, used in the ConnectCore Cloud Services demo guide, includes support to update your devices with firmware in Remote Manager and gets the progress of the process. See methods update_remote_firmware() and check_remote_firmware_update_progress() in drm_requests.py called when Update firmware button in Management page is clicked.

You can use your preferred programming language to perform the update of your connected devices. See ConnectCore Cloud Services web services for more information.