Dfu.status: firmware update superceded

We’re currently using in-application DFU to perform firmware updates until the hardware is ready for Notecard Outboard Firmware Updates.

This has been successfully working a handful of times. But when we tried on a different device, we go this error:

[INFO] {"req":"dfu.status","crc":"0005:AF188B2B"}
[INFO] {"status":"firmware update superceded","mode":"error","on":true}

What does this error mean? It doesn’t appear to resolve itself. Should it be resolved in firmware (such as by deleting the DFU image) or in Notehub by cancelling the firmware update for that device?

To avoid any conflicts with card.dfu, outboard DFU is deactivated using

[INFO] {"req":"card.dfu","name":"-","off":true,"crc":"0004:DFFBEA8F"}
[INFO] {"mode":"off","off":true}

It would be helpful to have a list of DFU error codes, and possible remedies for each, if such a document exists.

Thanks!

Hey @devElert,

Sorry you ran into problems here. We could definitely use better documentation on DFU error codes and possible remedies. We don’t have that document today, but it’s on our list of things to write up in the near future.

The specific error you hit happens when the Notecard can’t do a host firmware update because either: a DFU is currently in progress, or because the Notecard storage is currently in use for something else.

To help us debug this can you share any _env.dbs events that list a _state_vars_dfu environment variable? You should be able to find them by doing the search shown below in your project’s events view. (Feel free to DM me if you have sensitive values in there you don’t want to share in a public forum.)

+ @hroche in case you want to provide more context here.

Thanks,
TJ

We’re also curious what the Host Firmware UI in Notehub looks like for the device in question. Does the DFU still show as in progress, or did it fail and do you have a retry button available?

TJ