Over the air Deep Update times out

I am asked to do the update (I have a white unit) over the web interface, but it tries for a while and then says “This is taking a while. If the Core LED shows no activity, reset and try again…”

My unit is running a simple LED blinking program that does not appear to be interrupted.

What should the state of the Core be when I initiate the update? Will the LED blink in a certain way while installing?

Hi @beroe - you could do a factory reset so that you can start the Core from the default firmware. Is the Core breathing cyan (i.e. online and connected to the Cloud)? Also, if you have multiple Cores, are you sure you’re working with the correct one?

Hi @Zach - Sorry to waste your valuable time. I think it must have not had a good network connection or something because it just kept blinking the LED according to the program that I had uploaded. I ended up installing the CLI and dfu-util and trying it via USB.

Thanks for updating the Over-the-Air instructions with more details about what to expect!

Now I think it is working (pulsing cyan) but I would like to confirm that it is indeed running on 2014_06… maybe just the web UI will tell me.

BTW, I could suggest some install instructions for CLI on Mac — HomeBrew is much preferred over macports and can handle node.js (which is easy anyway), dfu-util, and libusb (required for dfu-util).

Thanks again,

1 Like

No worries Steve, glad you got it working! If the Core no longer has an up arrow next to it on the web IDE, that means the patch has successfully been applied.

Would you be up for contributing a paragraph to the spark-cli README on installing dependencies on a Mac? You can edit the README directly through Github, and it will send your edits as a pull request:

I will try to put a paragraph together, now that I am an expert ;^)

I think part of the problem with not getting feedback during OTA update is that my program began with RGB.control(true) so I could play with the multi-color LED, and when the board booted it didn’t give the usual feedback?

If your code has control of the onboard RGB LED, the OTA update will not turn to magenta. It will still blink like it normally would, but only using the last color and/or brightness you used for the RGB LED. After a certain point in the update, the Core will take control of the RGB LED again and start blinking the expected colors. Whenever I anticipate using a Core where the super-bright RGB LED could be distracting, I turn the brightness down (sometimes all the way down). This has the unfortunate side effect of not knowing the state of your Core when you attempt to update it OTA.