New Xenon Wouldn't Connect, Now Flashing Yellow, I'm Lost


#1

Bought 4 Xenon, 1 Argon. 3 Xenon connected fine. 1 failed on IOS app just after seeming to connect. The message after “congrats…” is a “Something went wrong with Bluetooth. Please restart the set up process and try again.”

I never got it to connect. So someone suggested I try to flash the firmware. I started looking for info. I installed the dfu utility, and have particle cli. The Xenon is flashing fast yellow, but I’m lost on what I need to do, what dfu is telling me. Here’s what I know:

dfu-util -l yields…

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Deducing device DFU version from functional descriptor length
Found Runtime: [05ac:8218] ver=0042, devnum=5, cfg=1, intf=3, path=“6-6.3”, alt=0, name=“UNKNOWN”, serial=“UNKNOWN"
Found DFU: [2b04:d00e] ver=0250, devnum=1, cfg=1, intf=0, path=“4-1”, alt=2, name=”@External Flash /0x80000000/1024004Kg", serial=“e00fce68fa4560157a913f75"
Found DFU: [2b04:d00e] ver=0250, devnum=1, cfg=1, intf=0, path=“4-1”, alt=1, name=”@DCD Flash /0x00000000/1
016Ke", serial=“e00fce68fa4560157a913f75"
Found DFU: [2b04:d00e] ver=0250, devnum=1, cfg=1, intf=0, path=“4-1”, alt=0, name=”@Internal Flash /0x00000000/1004Ka,47004Kg,192004Kg,4004Kg,4004Kg,8004Ka", serial=“e00fce68fa4560157a913f75”

I found, downloaded what I think is a firmware.bin file for xenon. I don’t know if I got a right one. I really am lost here. I don’t need a link to a page that has a bunch of stuff that makes no stuff to me. I know - I’m no help. I don’t know what questions to ask, because I’m too new to all this.

Trying to follow directions I found, tried to flash the firmware using:
dfu-util -d 2b04:d00e -a 2 -s 0x80200000 -D ~/Downloads/particle/firmware.bin

I get:
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device…
ID 2b04:d00e
Run-time device DFU version 011a
Claiming USB DFU Interface…
Setting Alternate Setting #2
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 4096
DfuSe interface name: "External Flash "
Downloading to address = 0x80200000, size = 95632
Download [=========================] 100% 95632 bytes
Download done.
File downloaded successfully

But the Xenon is still flashing fast yellow, and no combination of pressing buttons changes that. I just don’t know what’s going on or what to do next.

I don’t know what I don’t know, don’t know what questions to ask, or what to do next to troubleshoot.

Any help is appreciated.

Thanks


#2

Can you try flashing via CLI rather than dfu-util direct?
That should rid you of the need to assign the correct target address for the individual modules.
Also double check that the target versions of your application binary matches the device OS version on the device.

If your device OS is not 0.8.0-rc.25 (or rc.26) you should download the rc.25 binaries and flash them via (DFU Mode - blinking yellow)

particle flash --usb <system-part1....bin> -v
particle flash --usb <yourApplication.bin> -v

and flashing the bootloader might be good too (in Listening Mode - blinking blue)

particle flash --serial <bootloader....binary> -v

After that you can run (again in Listening Mode)

particle serial inspect

to see in what state your device is.

This can be checked via

particle binary inspect <binFileInQuestion.bin>

#3

Thanks for the reply. I checked the state, then, because I didn’t feel like I knew where the correct updated firmware was, I was still checking some forum posts. Stumbled on Known issues here:
[Particle Mesh Known Issues and Fixes]

Found this:
https://github.com/particle-iot/firmware/releases/download/v0.8.0-rc.25-mesh/hybrid-0.8.0-rc.25-xenon.bin

I downloaded that, used your advice to flash with CLI, and I think that worked. I finally got it to reset, then it connected to phone, my Argon gateway and network, and has responded to the iOS app to turn on the D7 LED.

I think I can call it working, and while I’d like check that boot loader, I’m nervous (newbie nerves) about trying it. On the same page as the file I flashed was this one:
https://github.com/particle-iot/firmware/releases/download/v0.8.0-rc.25-mesh/bootloader-0.8.0-rc.25-xenon.bin

I’m assuming that’s what I’d use?

Thanks again. My project is to log motion detection in several areas on my property, starting 300 ft away from the house. I’m trying to track some specific wildlife and their movements.


#4

You’ll rarely need to update the bootloader manually, so you’ll probably be fine not updating it. The files are provided in case you need to completely erase the device using SWD/JTAG (the Particle Debugger).


#5

Thanks for the info. I downloaded that file, just in case. But I like leaving well enough alone.