Xenon forever flashing blue - please help!

I have a boron that is a particle mesh gateway. I tried to add a xenon to it, and after the instructions to put the boron in listening mode “as an assistant”, the two would never pair. I tried at least 3 times… both fast flashing blue.

Eventually I got bored since I plan on using BLE so particle mesh isn’t that important. I reset the boron, and it’s breathing blue, so all good there. However, I keep flashing the xenon, but it just won’t leave listening mode.

There are many variants of the code you should run to manually set the setup complete flag. I tried them all. Here’s the most recent one I found:

#include “Particle.h”
#include “dct.h”
SYSTEM_MODE(SEMI_AUTOMATIC);

void setup() {
const uint8_t val = 0x01;
dct_write_app_data(&val, DCT_SETUP_DONE_OFFSET, 1);

// This is just so you know the operation is complete
pinMode(D7, OUTPUT);
digitalWrite(D7, HIGH);

Mesh.on();
Mesh.connect();
Particle.connect();

}

None of them work, after flashing, it goes back to blinking blue in listening mode.

Can anyone help?

Since you have no mesh credentials stored and no gateway, I’d rather not call these functions.
What device OS version have you got on that Xenon?

SYSTEM_MODE(MANUAL); in your application will stop it flashing blue listening. This can be off/manual for BLE.

It is difficult to say why you are having setup problems - I have experienced some issues on much earlier versions but have 5 mesh networks with about 10 xenons.

If you put it in DFU-UTIL mode you can --USB flash it system-part1, tinker, --Serial bootloader, and --USB the application?

Since you have no mesh credentials stored and no gateway, I’d rather not call these functions.

I retried without those, no change, still blinking blue.

What device OS version have you got on that Xenon?

It was brand new out of the box today, and I think the setup process loaded the latest.

SYSTEM_MODE(MANUAL); in your application will stop it flashing blue listening. This can be off/manual for BLE.

I just tried that. no luck. Empty app with just that line still flashing blue.

If you put it in DFU-UTIL mode you can --USB flash it system-part1, tinker, --Serial bootloader, and --USB the application?

Not quite sure what that means (new to Particle). Do you just mean DFU mode and then using dfu-util to flash the xenon? I’m not familiar with an explicit mode of DFU-UTIL, unless those are synonyms.

you can --USB flash it system-part1, tinker, --Serial bootloader, and --USB the application?

I’m not seeing those as options to dfu-util.

Sorry if I’m not up to speed on Particle process… this is my first day.

@armor, I figured out what you meant by those commands… I downloaded the particle cli. Then, I got what I think are the latest firmware images from here. Then, I ran the following commands:

$ particle flash --usb xenon-system-part1@1.1.1.bin

Flash success!

$ particle flash --usb xenon-tinker@1.1.1.bin

Flash success!

$ particle flash --serial xenon-bootloader@1.1.1.bin

! PROTIP: Hold the SETUP button on your device until it blinks blue!

? Press ENTER when your device is blinking BLUE

sending file: xenon-bootloader@1.1.1.bin

Flash success!

Lastly, I flashed an empty app:

$ particle flash --usb ban1.bin

Flash success!

No luck, still flashing blue :frowning:

@armor @ScruffR

I have resolved the issue, but I’m only partially confident in the root cause. Since my xenon was still in listening mode, I just decided to retry the entire onboarding process. I began by using @armor’s idea of reflashing with the latest everything on the boron as well, and I kept getting an error on loading the new bootloader.

Doing a ps -ef on my mac I noticed a few stray serial console processes from VS Code/Workbench from when I was messing with the boron. I quit VS Code and made sure all particle procs were killed.

At that point, I was able to finish the pairing process and my xenon was on the network!

So I’m not sure what the original problem was (user error for sure), but I’m still not sure what prevented me from manually clearing the flag that kept the xenon in listening mode.

Thank you for your help… your suggestions allowed me to proceed!

1 Like

Just a note: I had the same problem. I could flash my Xenon via USB and it would happily run my code, but would flash blue all the time. Attempts to add the device to my mesh network via the phone app would fail. I connected both the gateway device and the Xenon device to my computer and added the Xenon to the mesh network via the CLI; that behavior was a little odd because the CLI command said it timed out but the web console showed that it was now a member of the mesh network, but despite that the Xenon was still blinking blue. I flashed the code to set the setup flag, no change. Then I used the phone app again to add the Xenon to the network one more time and for whatever reason it succeeded, the Xenon is now connected and breathing cyan as it should. Whew, that was a struggle.