Help. I am at my wits end. I have an Electron running 0.4.8 that I bought to go with the RGBMatrixPanel I got at Maker Faire. The Electron is running version 0.4.8 of the firmware. The current RGBPixelClock example in the IDE requires 0.5.1. I have updated my particle CLI to version 1.14.1 and installed the dfu-util version 0.9. I have done the firmware update every way possible, starting with the easy “particle update” all the way to specific dfu-util commands (ie dfu-util -d 2b04:d00a -a 0 -s 0x8020000 -D system-part1-0.5.1-electron.bin). In ALL cases everything goes great. No errors. All messages positive. Of course in NO case do the tools actually show you what is installed when the device reboots.
But now EVERY time I go to build.particle.io it tells me my device is running 0.4.8. I am stuck. Is there any other tool besides the web IDE that will show me what version of firmware my device is running? I was shocked that it’s not shown on the dashboard or in the particle-cli device list.
And particle serial inspect will show you if the update actually took (which I’d assume).
0.5.1 would be #15 for system module 1 & 2.
There currently is an issue with Build not recognizing your 0.5.1 device as such, but it should see it as 0.5.0 and this should work for that lib too.
Try to build a dummy app for 0.4.8 and flash that OTA, then clear the Build cache. This should at least bring you up to 0.5.0.
Or you just build (not flash) for 0.5.1 with Build, download the binary and upload this via CLI.
Still no joy for me. I have included the log for my flashing of the pixel clock built against the 0.5.1 version.
I also flashed a test app built against 0.4.8 and cleared the cache but still see 0.4.8 in the IDE.
Finally, particle serial inspect just prints “! serial: No devices available via serial” which is probably a clue. I have the device connected via USB. I tried with and without the Lion battery attached. I can get serial output if I open a terminal program.
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…
Run-time device DFU version 011a
Claiming USB DFU Interface…
Setting Alternate Setting #0 …
Determining device status: state = dfuIDLE, status = 0
DFU mode device DFU version 011a
Device returned transfer size 4096
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08080000, size = 43776
Download [=========================] 100% 43776 bytes
File downloaded successfully
As @ScruffR said currently the IDE is not happy about identifying when an electron is running 0.5.1 system firmware. It will ID 0.4.8 and 0.5.0 fine, but does not change to 0.5.1 when you update system firmware. We’re working on fixing this ID hiccup, and for now as a workaround you can download the compiled binary for 0.5.1 and flash with the CLI. I see you have tried that and are having issues. It looks like your firmware binary transferred ok though. Particle serial inspect requires the device to be in Listening Mode, which I’m guessing you did since DFU and normal running mode results in a serial timeout without identifying the device for me, but double check that. Also you can try particle serial identify. It’s very strange your device was found on list but timed out for identify.
@BloatedWarthog assuming you can get system firmware updated on your electron with the CLI or the Device Upgrader, the Build IDE is now detecting 0.5.1 properly. Update your electron to 0.5.1. Then flash an older app like a 0.5.0 blinky app to your electron. When you refresh the browser you system firmware should be recognized as 0.5.1, and you’ll be able to OTA apps to it now as 0.5.1 as you wish.
Hey thanks @BDub! I am up and running again. And in case you’re interested, I updated my particle app to 1.14.2 and then did “particle update”. It appeared to succeed, but when I ran the IDE and checked my device was still reporting 0.4.8. So then I build the pixel clock example against 0.5.1 and downloaded it as firmware. Then I used “particle flash --usb firmware.bin” to load it onto my Electron. That worked and when I went back to the IDE I now see it running 0.5.1.
Thanks again for your support! Can’t wait to start digging deeper into the particle environment.
Nice! Yeah the IDE won’t automatically know you are running 0.5.1 system firmware until it gets a describe message from the device. This is most easily generated by changing the user app. You can do it as you did, or you can use the IDE to send a 0.4.8 user app first, refresh the browser, and then you should be able to do 0.5.1. This of course is a little bit more data usage, so your method is preferred.