Cloud flash always results in flashing yellow, have to reflash via USB

Hi all
I can flash my core w/dfutil and the current firmware, v0.2.3. I can then use Tinker to blink D7 or PWM set an LED on a PWM pin.

When I try to flash the blink example (or any other app) from the IDE I get a somewhat long set of Magenta flashes, pause, more magenta flashes and then my core goes to flashing yellow. I’ve tried resetting the factory firmware via the pushbuttons but it goes from white to flashing yellow. The only way I seem to be able to recover is to reflash via USB.

Am I missing something very obvious here? Or is this a bug or a defective core?

TIA
—Raymond

What happens when you perform a reset when it become flashing yellow?

You used the mobile App to flash tinker or Spark-CLI?

1 Like

The reset does not help, it ends up back at flashing yellow
I used dfutil to reflash it.

  1. Did your core ever reached breathing cyan?

  2. Does it always power up and end up in flashing yellow?

  3. After flashing via DFU-util, how to you get it to breathing cyan?

You need to provide more details or the troubleshooting is going to take super long :wink:

I’m presuming you hit the reset button, the core breathes white and ends up blinking yellow. Am I right?

Would also recommend performing a factory reset, resend Wifi credentials and attempt to flash an example via Web IDE using OTA

  1. No, not in the pathological case I am describing. Only after a USB reflash
  2. Yes
  3. It reaches breathing Cyan after the dfu-util… leave… command completes

Yes - re: post-reset behavior.

and, I have done exactly that. reset, new creds, flash blink via the web IDE

Are you able to video the blinking magenta to blinking yellow portion?

It sounds like you can reflash your code locally via DFU just fine, but not via the web IDE... this may indicate a very busy network or very slow internet connection. Any chance you can confirm either of those?

If it gets interrupted during OTA reflashing it should restore the last known good code though, and only enter DFU mode if it can't. DFU mode is kind of like a last resort. So whatever code you are flashing to it locally before trying to OTA flash may have some impact on things.

1 Like

Your summary of the problem sounds right - regarding the impact of the code I am attempting to flash, I thought of that as well but it even happens if I try to flash the blink example, which I’ll assume to be safe.

It sounds like you can reflash your code locally via DFU just fine, but not via the web IDE... this may indicate a very busy network or very slow internet connection. Any chance you can confirm either of those?

If it gets interrupted during OTA reflashing it should restore the last known good code though, and only enter DFU mode if it can't. DFU mode is kind of like a last resort. So whatever code you are flashing to it locally before trying to OTA flash may have some impact on things.

I have had this issue crop up in the last 16 hours or so. I am able to hit factory reset and then upload my code, but subsequent OTA flashes fail as described here.

My code is stable and I have been able to flash and reflash many times, but I noticed some DNS issues. Resolving domains still seems to be taking longer than normal, and I am still having the issue of not being able to reflash my code.

I think the issue has to do with degraded network conditions and a subset of programs not being re-flashable under these conditions.

There’s definitely potential for this to be network related - the network I am on is not very fast and there’s a number of machines using it. I decided to be stubborn and keep trying and I did manage to get one successful OTA flash out of perhaps 2 dozen that I’ve tried now, so your theory seems right. I’ll get on with my life and try on a fast network tomorrow. :smile: thanks

I am experiencing the same issue here… However my network is not bussy or slow… I also can flash no problem other spark devices… But not this one! I did a deep update, and all…

I can still only flash locally… Not over the cloud…

My fast network made no difference. This Spark is defective.

For what it’s worth, I have this problem on my Core. I am using an original Kickstarter Core for the first time (I originally bought two and used the first one successfully). Since I plugged this Core in, I discovered that I needed to do the cc3000 deep update. I did that with the DFU utility.

However,every time I try and OTA flash, it puts my core into DFU mode.

When I do a factory firmware refresh, tinker works fine. I can also flash my firmware locally over usb with the particle-cli tool, after doing the following two commands:

particle flash --factory tinker
particle flash --usb cc3000

then, my firmware:

particle flash --usb firmware.bin

Next, I need to reset my Core’s WiFi credential using the iPhone app. At this point, it works fine, but if I try an OTA flash, it goes magenta (normally), then to flashing yellow.

Any idea what gives? I think the only thing I could do is try to re-apply the deep update, then follow through with the factory firmware refresh.

Is there a way to check that the firmware is properly installed, and the correct version?