Xenon stuck in listening mode

Hello,
so here is the deal. I want to use xenon offline, without the mesh connectivity. Only thing I need is the BLE functionality.

I am able to flash my own firmware using usb, but the xenon just stays in listening mode and doesn’t run my code.
This guide shows exactly what I tried to do: https://steemit.com/particle/@orangeflash81/using-a-particle-xenon-offline

I also tried clearing the flag which sets it to listening mode by deafult using this: Unable to Leave Listening Mode on BoronLTE

particle usb stop-listening does not do anything.
Powering the device from external psu without usb connected also doesn’t help.
I tried holding down the mode button, also tried a second xenon with the same outcome.

Thanks for any help.

Can you show your code? Or are you actually running that code from the article?
You may also want to (re)try this

in DFU Mode

particle update -v

(I’m also searching for the CLI command to set the ´setup done´ flag - I thought there was one intrudced some time ago :confused: - update: it’s on the planned feature list but not yet implemented)

1 Like

My guess is this will solve the issue of not leaving listening mode. I've run into this on the Boron, and it's related to old factory firmware that doesn't work with the "setup done" code. It works when latest DeviceOS is flashed before your code.

Hello,
Thanks for the reply.
I tried it with the code from the article, tinker, my own code and the blink example.
I will try the update command when I am back at work during the weekend and I’ll let you know how that goes.

An update on the issue:
After updating the device with particle update -v multiple times successfully it is still blinking blue.
I also tried updating the firmware manually to v1.2.1 from here: https://github.com/particle-iot/device-os/releases/tag/v1.2.1
but that did not help either.

I don’t have a Xenon that has never been part of a mesh network, so I can’t test how a brand new, out-the-box device would behave and what it needs to get out of that.
But all my Xenons can now run entirely stand-alone and I can’t even reproduce the issue you are seeing.

However, if you should happen to have an Argon, Boron or Ethernet FeatherWing you can use either of these to “kickstart” your Xenon out of that state by having it temporarily join a mesh.

Thats a good idea, I do have an Argon lying around so I’ll try connecting it to a temporary mesh network tommorow.

Update #2:

So I created a mesh network and connected a Xenon to it using my Argon.
That worked fine, although if I remove it from the network it goes back to listening mode immediately,
so I have no idea how the guy in the first article got it to work outside of a mesh.

No big deal, I guess I could use it in a mesh and remove the argon, but…
When I tried connecting a second Xenon to the mesh it paired just fine and after connecting it died.
Status LED is off, corrupted bootloader I guess. Great.

So I tried a third Xenon but now I am not able to pair with it through the app at all. Tried updating it and flashing tinker from CLI but still can’t pair with it…
I updated the CLI by the way.

Sometimes I wonder how I manage to break anything I touch.

Update #3:

I needed to have bluetooth disabled on my phone when I opened the app otherwise it just would not connect to new devices.

Some other things I noticed: When flashing the device either through USB or the app you can’t use any USB hubs, it has to be connected to the pc directly. For USB you sometimes need to install drivers using Zadig if your PC fails to install them automatically. Also when I flash my own code the Xenons stay in safe mode for about 10 minutes and constantly restart before they manage to run the code. I guess this is some sort of update going on. During this step the Xenon needs to be connected to the internet through the Argon.

Thank you everyone for the help.

1 Like