Xenon stuck in DFU mode - SOLVED!

I messed up somewhere and transported myself into an area I’m not familiar with. I was having trouble getting any readings output from my Xenon and I figured while I had it at my desk I’d reflash tinker and then my code to see if that would fix it (that’s worked for me before, for whatever reason.) I don’t recall how I did it but I got the Xenon into DFU mode and now I can’t get out of DFU mode. I’ve searched the forum but can’t seem to find something that addresses this. If someone knows of a forum topic that already addressed this, please let me know and I apologize ahead of time for not finding it.

I’ve installed CLI (v 1.39.0), opened my command prompt, typed in “particle setup” which brought up the Particle setup. When I type “particle identify” I get a return of “Could not identify device: No serial port identified.” But when I go to my Device Manager I can see the Xenon under “libusbK USB Devices followed under that by Xenon DFU Mode.” I don’t know if any of that helps diagnose the problem but it’s where I’m at and I’m not sure where to go from here.

I could use some guidance on getting myself back to square one. Thanks!

And when I type in “particle list” it says the Xenon in question is online. Can that be if it’s in DFU mode?

particle list reports the online status from our cloud. The online status indicator was originally built with the intent of handling online statuses for TCP devices, not UDP devices. As such, there is some inconsistency with status reporting of your Xenon. It will not be online if it is in DFU mode, so that is unfortunately inaccurate.

There’s no healthy state where a device should start in DFU mode. It’s likely that the device OS may have gotten corrupted. My recommendation for you would be to just try and reflash the device OS while it is in DFU mode. The latest device OS at the time of this writing is v0.9.0

Uh, oh. Thanks @mstanley. I haven’t done this before (rookie level) but it looked simple enough from the Particle Docs:

https://docs.particle.io/tutorials/device-os/device-os/

I tried what I thought were both procedures but I’m getting the following:

C:\Users\Tom>particle update

! There are currently no system firmware updates available for this device.

C:\Users\Tom>particle flash Xenon3 downloads/system-part1-0.9.0-xenon.bin
Including:
downloads/system-part1-0.9.0-xenon.bin
attempting to flash firmware to your device Xenon3
Flash device failed: Timed out.

What am I missing?

AFAIK particle update is not yet supporting mesh devices - but it’s planned.
In order to flash the system in DFU Mode you should use

particle flash --usb system-part1-0.9.0-xenon.bin -v
particle flash --usb tinker -v

The command you used would attempt a OTA update which can’t work while the device is in DFU Mode (=not cloud connected)

SOLVED!!! Thank you so much, @ScruffR and @mstanley. I flashed the OS using the procedure outlined by ScruffR, then Tinker, then my previous code and my Xenon is now working flawlessly. I couldn’t be happier. I thought for sure I’d bricked my Xenon.

2 Likes

Glad you were able to get it resolved!

I’ve seen a few instances of the device OS acting up on mesh devices, but going into or being in DFU mode is always an easy fix. No real risk of brick or danger in this situation. :slight_smile:

1 Like