Digi Embedded Yocto generates installer scripts to facilitate the deployment of firmware images onto the device.

The Digi Embedded Yocto installers:

  • reset the U-Boot environment and the partition table

  • erase your NAND, including the data partition

The installers are designed for a clean installation. See Update firmware for other methods to updating the system without changing the partition table or removing user data.

If the data partition is erased and the device was provisioned in Remote Manager, the target won’t be able to connect to Remote Manager until you reset the certificate. See Reset the device’s client-side certificate to know how to reset the client-side certificate from Remote Manager interface.

There are multiple methods of programming the firmware to the target:

Program the firmware using UUU

Fastboot is a protocol for communication between your device and a computer. It allows you to modify file system images over a USB connection, which is a quick way to update firmware during development. Fastboot requires the USB interface to work as 'device'.

Although it was originally developed for Android images, its implementation on the NXP UUU (Universal Update Utility) tool extends the functionality to any file type.

If you are running Windows Subsystem for Linux (WSL), you may need to perform additional configurations to program the firmware using UUU. Refer to https://learn.microsoft.com/en-us/windows/wsl/connect-usb for more information.
These instructions assume that the target U-Boot version is v2020.04 or higher, where the fastboot command is available.
  1. Decompress the zip file in a directory of your choice.

  2. Download the latest Universal Update Utility (UUU), a software tool from NXP.

    UUU version should be v1.5.11 or higher.
  3. Place the uuu executable in a directory in your PATH, such as /usr/bin.

  4. Install udev rules to allow any user to run uuu to access the USB port:

    $ sudo sh -c "uuu -udev >> /etc/udev/rules.d/70-uuu.rules"
    $ sudo udevadm control --reload
  5. In addition to the console cable, connect a micro USB cable to your development PC and the other end to the device’s {fastboot-usb-connector} connector.

  6. On the target, in U-Boot, execute the following command:

    => fastboot 0
  7. On your host computer, change to the directory where you extracted the ZIP file:

    $ cd <zip-folder>
  8. Run the install_linux_fw_uuu.sh script with -h parameter to check the syntax:

    $ ./install_linux_fw_uuu.sh -h
    ############################################################
    #           Linux firmware install through USB OTG         #
    ############################################################
    Usage: ./install_linux_fw_uuu.sh [options]
    
      Options:
       -b                     Activate bootcount mechanism (3 boot attempts).
       -d                     Install firmware on dualboot partitions (system A and system B).
                              (Implies -b).
       -h                     Show this help.
       -i <dey-image-name>    Image name that prefixes the image filenames, such as 'dey-image-qt',
                              'dey-image-webkit', 'core-image-base'...
                              Defaults to 'dey-image-qt' if not provided.
       -k <dek-filename>      Update includes dek file.
                              (implies -t)."
       -n                     No wait. Skips 10 seconds delay to stop script.
       -u <u-boot-filename>   U-Boot filename.
                              Auto-determined by variant if not provided.
       -U                     Update redundant bootloader partition.
  9. To program the default image files (dey-image-qt):

    $ ./install_linux_fw_uuu.sh
  10. Once the firmware is installed, the device boots automatically. The default username is root with no password.

Program the firmware using uSD card

  1. Decompress the ZIP file.

  2. Place the decompressed files in the root of a FAT-formatted microSD card and insert it in the microSD socket of the board.

  3. To install the default firmware images (dey-image-qt) into the internal NAND, run the following command:

    => run install_linux_fw_sd

    To program other images, set the variable image-name to the DEY image name (such as dey-image-webkit or core-image-base) before running the script.

    => setenv image-name core-image-base
    => run install_linux_fw_sd
  4. Once the firmware is installed, the device boots automatically. The default username is root with no password.

    During installation, error messages appear when the installation process attempts to override MAC addresses. These messages are expected.

    ## Resetting to default environment
    oldval: 00:40:9D:7D:17:9A  defval: 00:04:f3:ff:ff:fa
    ## Error: Can't overwrite "ethaddr"
    himport_r: can't insert "ethaddr=00:04:f3:ff:ff:fa" into hash table
    oldval: 00:40:9D:7D:17:9B  defval: 00:04:f3:ff:ff:fb
    ## Error: Can't overwrite "eth1addr"
    himport_r: can't insert "eth1addr=00:04:f3:ff:ff:fb" into hash table
    oldval: 00:40:9D:7D:17:9C  defval: 00:04:f3:ff:ff:fc
    ## Error: Can't overwrite "wlanaddr"
    himport_r: can't insert "wlanaddr=00:04:f3:ff:ff:fc" into hash table
    oldval: 00:40:9D:7D:17:9D  defval: 00:04:f3:ff:ff:fd
    ## Error: Can't overwrite "btaddr"
    himport_r: can't insert "btaddr=00:04:f3:ff:ff:fd" into hash table

Program the firmware using USB mass storage

These instructions assume that the target U-Boot version is v2020.04 or higher, where USB support is available.

Follow these steps to install Yocto in the device:

  1. Decompress the ZIP file.

  2. Place the decompressed files in the root of a FAT-formatted USB mass storage and insert it in the USB host connector of the board.

  3. To install the default firmware images (dey-image-qt) into the internal NAND, run the following command:

    => run install_linux_fw_usb

    To program other images, set the variable image-name to the DEY image name (such as dey-image-webkit or core-image-base) before running the script.

    => setenv image-name core-image-base
    => run install_linux_fw_usb
  4. Once the firmware is installed, the device boots automatically. The default username is root with no password.

    During installation, error messages appear when the installation process attempts to override MAC addresses. These messages are expected.

    ## Resetting to default environment
    oldval: 00:40:9D:7D:17:9A  defval: 00:04:f3:ff:ff:fa
    ## Error: Can't overwrite "ethaddr"
    himport_r: can't insert "ethaddr=00:04:f3:ff:ff:fa" into hash table
    oldval: 00:40:9D:7D:17:9B  defval: 00:04:f3:ff:ff:fb
    ## Error: Can't overwrite "eth1addr"
    himport_r: can't insert "eth1addr=00:04:f3:ff:ff:fb" into hash table
    oldval: 00:40:9D:7D:17:9C  defval: 00:04:f3:ff:ff:fc
    ## Error: Can't overwrite "wlanaddr"
    himport_r: can't insert "wlanaddr=00:04:f3:ff:ff:fc" into hash table
    oldval: 00:40:9D:7D:17:9D  defval: 00:04:f3:ff:ff:fd
    ## Error: Can't overwrite "btaddr"
    himport_r: can't insert "btaddr=00:04:f3:ff:ff:fd" into hash table