Can't Flash Argon due to Timeouts

argon
Tags: #<Tag:0x00007fe2203ee7c0>

#1

I’m using Argons in a classroom, and I’ve had the following issue happen to two devices so far, and they have become unusable.

I can’t point to a specific cause, but the devices are operating normally and at some point there is a flashing error. From then on, the devices are always breathing cyan but flashing keeps timing out.

Here are some things I’ve tried:

  • Flash device from Workbench and Web IDE while breathing cyan–device times out
  • Put device into DFU and run particle update from CLI . This finishes normally, and I try to claim device again. I’m able to connect to Argon from iOS app, but after I select the wifi network, the app hangs at “connecting device to the internet via wifi”.
  • Run particle serial wifi . I’m able to input the wifi network and the device then starts breathing cyan. I can see the device as being online and I can even ping it (in the iOS app). However, when I try to flash it, it times out again (this happens from Web IDE, Workbench, or iOS app).

I thought it might be a bad device when it happened once, but now that a second device is unusable, I’m guessing something else is going on.


#2

You don’t need to reclaim a device after DFU update nor would the WiFi credentials get erased that way (unless you code does that).
Have you tried OTA update with the device in Safe Mode?
If that works, it’s most likely poorly written code that interferes with the OTA update.

e.g. “excessive” use of delay() and/or blocking loops can cause such behaviour.


#3

I’ve seen Flash from Workbench using USB fail while breathing cyan-device many times. It appears as though the transition to DFU mode (yellow blink) doesn’t happen quick enough causing the timeout. Running Flash from the workbench a second time without changing from DFU mode typically succeeds.


#4

Thanks! I wasn’t sure exactly how to do an OTA update. However, based on your suggestion, I put both devices into safe mode, and I used the iOS app to flash Tinker to the devices. After that, they were back to working properly and accepting firmware again.


#5

It it quite interesting to note that during many threads here - that flashing Tinker seems to cure many, many issues :slight_smile:


#6

Probably because the underlying issue is this

“Detoxing” the device by flashing healthy code allows for a fresh start.