Firmware update issue

I received 8 new Electrons last week, and tried updating their firmware from 0.4.9 to 0.6.2. This worked fine for the first 5, but for the remaining 3 the process keeps failing on me.

I put the Electron in DFU mode, and run particle update in the Particle Cli. Even though it states '‘System firmware update successfully completed’, all 3 Electrons still remain with a 0.4.9 firmware.

Are there any fixes for this?

EDIT: Now all devices won’t accept any new firmware updates - ‘‘Invalid DFU suffix signature’’

c:\Sensor>particle flash --usb firmware.bin
Found DFU device 2b04:d00a
spawning dfu-util -d 2b04:d00a -a 0 -i 0 -s 0x08080000:leave -D firmware.bin
dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

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

Flash success!

After the ‘‘flash’’, the LED continues to show yellow. Firmware version remains unchanged

This part means it worked correctly.

So it seems…I’m confused about updating the firmware on some of my Electrons though. The update seems to go fine, and they run code that I designed for the latest firmware, but in the IDE they continue showing up as having 0.4.9 firmware. Is the IDE unreliable in this case, or…?

@Vitesze, the Electron doesn’t act like a Photon which will download the latest system firmware automatically to match your app version. You should do a particle update while your Electron is in DFU mode to update your Electron to the latest 0.6.2 full release. Are those three Electrons designated as part of a Product?

I did do a particle update while they are in DFU mode, in Particle-CLI. The log literally just reads:

c:\Sensor>particle update

Your device is ready for a system update.
This process should take about 30 seconds. Here goes!
! System firmware update successfully completed!
Your device should now restart automatically.

This is the same method I’ve used for all my other Electrons, which worked fine, so I’m a bit puzzled why all of the sudden it stopped working. The three Electrons aren’t part of any products, but all others are. The only difference I could think of is that I inserted a 3rd-party (Rogers) simcard into them.

@Vitesze, the SIM should not matter when in DFU mode (flashing yellow). Do you have the latest version of Particle CLI installed?

I should have…I literally updated the firmware of 5 Electrons just minutes before it. The interesting this though is that I when I try to verify code with those 3 devices they come up with all kind of errors, but when I actually flash the firmware to them, they seem to run it just fine.

Is it possible it’s an IDE issue, as according to IDE they shouldn’t be running my code in the first place?

@Vitesze, which version are you targeting with the IDE? You may want to flash Tinker as a test for all your devices.

I’m trying to update from 0.4.9 to 0.6.2. Made sure to update Particle-CLI again, just in case, but to no avail. Particle identify and Particle serial inspect commands don’t work on any Electrons (Serial timed out) so I’ll continue looking for different ways to check the firmware to be sure.

@Vitesze, you may need to manually update to 0.5.3 then try particle update again. You will need to flash each 0.5.4 system part over in the correct order. Check out the programming and debugging notes here:

https://docs.particle.io/reference/firmware/photon/?fw_ver=0.5.4&cli_ver=1.24.1&electron_parts=2#programming-and-debugging-notes

:slight_smile:

1 Like

Serial timed out sounds like a Windows driver issue so I would check that.

1 Like

Assuming he had the Electron in listening mode. Nonetheless, DFU mode should not be affected.

After manually updating it, I did a particle identify (which worked now for some reason) and it was confirmed as having a system firmware version of 0.5.3. In the IDE, it continues to be marked as 0.4.9 though

@Vitesze, the IDE can be slow to catch up sometimes. Did you do the update to 0.6.2 yet?

How is the IDE actually updated? For all my devices that are at 0.6.2, I can’t use the particle identify correctly. However, it works for devices in 0.5.3. Is it possible that there’s a different culprit here, and that the firmware version is in fact correctly at 0.6.2, but it’s not being recognized accordingly?

It’s a workable situation as I have other 0.6.2 Electrons, but if these were my only ones, I’d be unable to parse any code in IDE at this point.

Particle identify confirms firmware at 0.5.3 for a full 24h now…code designed for this firmware version runs like normal. IDE still shows up as 0.4.9…can it be assumed the IDE may simply be wrong for whatever reason?

What IDE are you using?

The Web IDE: https://build.particle.io/build/

Devices have come online many times so not really sure why it won’t update just for those three devices