Updating deviceOS on an old Core

So this Core is many years old now. It still boots up and connects to my wifi and goes to normal breathing cyan. I can flash code to it through the IDE seemingly without issue.

…But I have no idea what deviceOS is on it and it doesn’t seem to ever update. When I look in Particle Console and the WebIDE neither can tell me what deviceOS it has on it, whereas my Photon is on 1.2.1 as it should be. I have tried updating it over USB with apparently (?) no luck, but I get lots of errors.

Even particle identify fails like so:

(node:32252) UnhandledPromiseRejectionWarning: Error: Writing to COM port (GetOverlappedResult): Operation aborted
(node:32252) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:32252) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Serial timed out

dfu-util -l reports:

Found DFU: [1d50:607f] ver=0200, devnum=30, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg", serial="6D8212945151"
Found DFU: [1d50:607f] ver=0200, devnum=30, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/20*001Ka,108*001Kg", serial="6D8212945151"

Particle-CLI is version 1.44.0.

I have tried a bunch of other things already after reading troubleshooting tips, etc, too much to type. What should I try next?

Spark Cores use monolithic firmware. The user application and Device OS version are baked into a single binary. If you rebuild your app targeting a newer Device OS version, then that’s the version that will be used.

2 Likes

Thanks.

Is there any way to verify what version of firmware is on the Core?

The reason I ask is I’ve targeted v1.0 and higher, flashed it, and the device console still says “use device firmware 0.8 or higher” to see the status.

Or could it be this message is misleading and it doesn’t apply to Cores at all, regardless of their current version?

These are what I’m referring to. No version listed and it infers my device is on lower than 0.8.

The Core does not support device diagnostics due to memory constraints - regardless of device OS version.

Try particle identify and particle serial inspect (both in Listening Mode).