Skip to content

3. Firmware Upgrade

rickdeck edited this page Sep 14, 2024 · 1 revision

There are multiple ways to upgrade a DxO-ONE to a newer firmware. All methods require a SD-card in the device, the main difference is how the device is triggered/instructed to apply the firmware.

3.1 Upgrade via Smartphone App

The latest DxO-ONE Smartphone App comes with the latest available firmware for the DxO-ONE camera. When connecting the camera to your phone, the App will check if the version on the camera is older than the version available to the app, and if yes, will offer to upgrade to the latest firmware (either via a popup, or via the "Message center" of the app.

If the user agrees to upgrade the firmware, the App will copy its bundled firmware (DXOSYS_xxx.BIN) to the root of the SD-card and trigger the device to validate the package and start the upgrade.

To see which version of the App provides which version of the firmware, see the relevant section in Smartphone App

3.2 Upgrade via SD-card

3.2.1 DXOSYS-method

This method triggers the DxO-ONE Firmware to check for a firmware package on the SD-card root, and if one exists, validate it and start the upgrade.

Procedure:

  1. Place a valid Firmware package with name DXOSYS_ and extension .BIN (both MUST be in CAPITAL letters) at the root of the SD-card (Example: DXOSYS_3.2.0.ecef5ef809.BIN)
  2. Put the SD-card into the DxO-ONE while powered off.
  3. Press the Shutter button on the camera and keep it pressed while connecting the microUSB port to a USB-charger (NOT to a PC)

The device will start up, display the charging icon for a few seconds and then switch to show the progress of the Firmware upgrade. During this process the screen may flicker at some stages (as the device will restart to apply other partitions of the firmware). After completion, the display will be black for a few seconds and then show a check mark to confirm that the process was completed successfully.

3.2.2 AmbaSys-method

This method triggers the camera to unpack and write a binary with the name AmbaSysFW.bin from the SD-card root to the Flash-Memory and reboot. The procedure is a lower-level implementation, coming from the Ambarella OS of the main CPU.

Unlike the DXOSYS_xxx.BIN file, the AmbaSysFW.bin file has no firmware header which identifies the target-model, so the device will not check whether the binary is for a DxO-ONE or any other type of device using the same CPU.

In addition, the Ambarella OS supports to upgrade the actual Firmware loader via a file called AmbaUpdaterFW.bin, but so far there is no confirmation that DxO-One actually uses that file when placed on a CD-card.

WARNING: There is an elevated risk that this method can brick the camera, as it is not certain that the device will be able to boot the firmware after it was written.

Procedure:

  1. Place a valid Firmware package with name AmbaSysFW.bin at the root of the SD-card (capitalization matters!)
  2. Put the SD-card into the DxO-ONE while powered off.
  3. Press the Shutter button on the camera and keep it pressed while connecting the microUSB port to a USB-charger (NOT to a PC)

The device will start up, display the charging icon for a few seconds and then switch to show the progress of the Firmware upgrade. During this process the screen may flicker at some stages (as the device will restart to apply other partitions of the firmware). After completion, the display will be black for a few seconds and then show a check mark to confirm that the process was completed successfully.

3.3 Upgrade via Ambashell (Scripts)

There are Shell-commands available to write a binary directly to the flash-memory. No testing has been done in this area yet.

3.4 Preconditions and Notes

  1. The device should be charged to at least 60%, the device will cancel the upgrade if a lower battery-charge is detected.
  2. The DxO-ONE iOS-variant is able to apply and boot the Android firmware-versions, but a connected Smartphone will not be detected and WiFi-connections will fail (tested with Firmware 3.2.0 of both iOS and Android).