How do I get this back to normal

I'm brand new to the Electron. Downloaded the CLI, DFU-UTIL, claimed the device, etc.

I flashed the Blink sketch (Sorry for Arduino terms) via OTA and it worked. So I changed from 1 second blink to 500ms blink and wanted to try flashing via USB. Put it in flashing blue mode and I ran:

particle flash --serial firmware.bin

And saw:

Including:
firmware.bin
attempting to flash firmware to your device --serial

Just kept blinking blue. Tried RESET, but it didn't update the device. So I tried:

particle flash --usb firmware.bin

and same thing.

So I put it in DFU mode thinking DFU is needed to flash via USB (probably a big mistake) and did the flash, and got:

Found DFU device 2b04:d00a
checking file electronflash500.bin
spawning dfu-util -d 2b04:d00a -a 0 -i 0 -s 0x08020000:leave -D electronflash500
.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 = 0x08020000, size = 4232

Download [ ] 0% 0 bytes
Download [ ] 0% 0 bytes
Download [======================== ] 96% 4096 bytes
Download [=========================] 100% 4232 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!

But it is stuck in flashing green. I think I downloaded my blink sketch as device firmware instead of an application flash.

So two questions:

1-How do I get this back to normal?
2-How do I flash a sketch over USB instead of OTA?

Try DFU mode with ‘particle flash --usb tinker’ :slight_smile:

Doesn’t change anything. Still blinking fast green (or maybe yellow, hard to tell exactly which color).

I was able to reflash factory firmware version 0.7.0, and now I’m back to the original blink sketch and breathing cyan.

But I still can’t download code via USB. It just gives the original text at the beginning of my post. Ideas?

Very frustrating - cannot download via USB. The device is recognized as a COM port, it is flashing blue, but command doesn’t ever send anything to the Electron.

Can you post the result of this command

particle binary inspect <yourFirmware.bin>

BTW, this statement is ambiguous for two reasons

  1. I think you mean upload to the device, not download from the device
  2. both DFU (particle flash --usb <firmware.bin>) and YModem (particle flash --serial <firmware.bin>) uploads are perforemd via USB. Granted, the following mention of Listening Mode (blinking blue) suggests YModem, but I'd actually rather go with DFU as it usually provides better feedback about the progress.
1 Like

Thanks for the clarification.

I ran the command:

particle binary inspect firmware.bin

and get an error:

particle: Unknown command: “binary”

Also, I’ve tried both --USB and --Serial Same issue.

The file I’m trying to upload (got it right this time, I think) was obtained by clicking the “cloud” icon next to my sketch name after compiling via the web-based IDE.

Thanks.

Also, I installed the CLI today (Windows environment), but node.js was installed in 2015 and is version 0.10.40

Not sure if that could have anything to do with it. I have no problem updating node.js if that’s the root of the problem, but if the problem is not the result of an old node.js version, I’d rather hold off on that update and not introduce another variable into the situation.

Can you check the CLI versino then via particle -v
The more recent versions should respond like this

particle binary inspect .\electron_firmware_1525879654050.bin
electron_firmware_1525879654050.bin
 CRC is ok (02d4c2d4)
 Compiled for electron
 This is an application module number 1 at version 5
 It depends on a system module number 2 at version 207

I ran it on both the Windows 7 and Windows 10 computers I’ve tried with this. Both come back with

particle: Unknown command “–v”

I downloaded ParticleCLISetup.exe yesterday for both computers. It is 5.71MB I got it from the Windows CLI Installer link in the Connecting over USB section of the docs.

Usually particle -v (or particle --version) should respond with

C:\Users\>particle -v
Welcome to the Particle Command Line Interface!
Version 1.29.0
https://github.com/particle-iot/particle-cli
...

Even if you had CLI recently installed via the installer, it could be that there already was another (older) version on your machine which would not be replaced by the installer (by design).

If you can’t check the version with above parameter, you might have to uninstall CLI via the Installer (by means of control) and subsequently call npm uninstall -g particle-cli to remove any previous version and then check whether particle is still recognised as command, which would indicate another instance being present which also needs removing.

After that, when really all instances are gone, reinstall via the installer again.

1 Like

Thank you for sticking with me and all of your help.

That did it. I uninstalled particle and also node.js. Then reinstalled node.js per instructions in the docs and ran the npm uninstall… command Then reinstalled particle CLI.

Particle now responds with version number, and will flash code via the --serial option just fine.

Once again, thanks for the help.

2 Likes

Great to hear you've got things up and running!

I agree with @ScruffR that it would be best to use --usb rather than --serial for reasons mentioned above, even though serial should work. Just my two cents :wink:

1 Like