Change DFU Mode Remotely

I have a few Notecards in the field that are set to alt DFU mode when they should be aux. It’s preventing the host MCU from updating.

Is there a way to update the DFU mode remotely?

General Case

You can update the DFU mode of your Notecards using the card.dfu request. To change the DFU mode from altdfu to aux, you need to send a request to each Notecard specifying the desired mode. Here is an example of how to structure this request:

Remote DFU Config Change

The Blues Support team may be able to help you out. Please reach out with your device UID. You will likely need to enable Blues Support access to your Notehub project. See Notehub Walkthrough - IoT Connectivity at Blues

Hi Greg,

Does this request have to be passed to the Notecard through a wired serial connection?

Is there any way to update it remotely?

I feel your pain! I’ve often wished that notecard had remote command execution from notehub, for provisioning and setup, and also for setup without firmware for solutions that don’t need a host MCU.

Unfortunately, I don’t have anything to suggest that would get you out of your current bind, but looking ahead to when it’s resolved, you might want to consider adding an inbound command queue (commands.qi) that you can use from Notehub to send json commands to your firmware or to notecard. I’ve implemented this in my projects so that I remotely control firmware (in a way that’s tangential to environment variables) as well as issue notecard commands which are sent directly to notecard. The response (either from firmware or notecard itself) is sent back via an outbound queue (commands.qo). Each command should ideally have a unique ID (current unix time or a uuid) so command requests and responses can be paired.

If you’re using periodic mode with hub.set, be sure the inbound period is set to a reasonable value so you’re not waiting too long for notecard to see the update.

Best of luck, I hope you get your firmware to update.

1 Like