Veethree D7 SDK
Loading...
Searching...
No Matches
Software Recovery

< Details index

Known incompatibility between version 3.0.0 and previous versions of the SDK

Devices running images produced using SDK version 2.1.0 and earlier cannot use updates or recovery images created using version 3.0.0 of the SDK. More information about this can be found at Upgrading from 2.1.0 to 3.0.0: Important Compatibility Information.

Update packages and recovery images created using SDK version 3.0.0 can only be applied to devices that have already been updated to version 3.0.0. The recommended method for that is flashing.

Restoring device software contains two basic concepts: flashing and recovery.

  1. Flashing: This is a factory reset, requires a PC to be connected to a device via a USB-C cable.
  2. Recovery: Recovery is intended to be used when partitions on the device become unavailable or damaged, but the bootloader is in a working state; recovery does not require a PC, only a USB stick.

If the device hardware is in a working state, but the software needs to be restored, there are two methods available:

  1. Software Recovery using a recovery image
  2. Reflashing the board
Note
Flashing the board as described in the linked page will apply a default image to the board. This is meant to get the board into a known good state. There is currently no way to customize the image that will be flashed.

After flashing, you will need to apply a software update with your application.

Both methods will overwrite all of the storage on the device, including the bootloader, and create new partitions for the A/B update scheme. See A/B update scheme and Software update validation for more information on the D7's update scheme and update validation process.

If the bootloader is not in a working state, the only available solution is to reflash the board.

Software Recovery procedure

Using the software recovery procedure is possible as long as the bootloader is in a working state. You can check if the bootloader is working by power cycling the device. If the first splash screen appears when the device is powered on, you can use software recovery. Otherwise, please see Board flashing instructions.

Preparing the USB stick

You will need an empty USB stick formatted as FAT32.

The USB port on the back of the device is USB-C, so you may need a USB-C stick or a USB-A to USB-C adapter.

Mount the USB stick to your workstation; please either reformat it or make sure there are no files on it.

Make note of the path at which the USB is mounted. On Linux, this path may look like /run/media/$USER/...; On Windows it may look like E:\ – the drive letter shown in File Explorer.

Putting the recovery image onto the USB

In a terminal, navigate to the D7 SDK installation directory, and then to the tools subfolder.

From there run the recovery-tool:

Putting the recovery image on the USB

You can select to use a default release image or development image for recovery by using either the --develop or --release switch, respectively.

Alternatively you can create a custom recovery image using swugen and use the --image argument for the recovery-tool.

Using a custom recovery image

Recovering the board

You will need to expose the USB recovery button on the D7's board. It is near the debug serial port connector, towards the center of the board.

Please refer to the first three images from Serial Port to open the cap and expose the serial port connector and the recovery button.

Then follow the steps below:

  1. Eject the USB drive from the computer,
  2. Power off the target device,
  3. Plug the USB stick into the target device,
  4. Hold the USB recovery button,
  5. Power on the target device, keeping the USB recovery button pressed until the recovery screen appears,
  6. Once the recovery is complete, the device will restart and the default application – showing the board's serial number and IP address – will appear on screen.