Photon system firmware stuck at 0.8.0-rc.14

photon
Tags: #<Tag:0x00007f03941cbd00>

#1

I’ve changed the firmware target in the web IDE to other values, but can’t get it to budge.

I’ve also tried the --target option in the CLI, but I can’t get the firmware level to change there either.

What would be the next and/or nuclear option?


#2

You mean the setting in Web IDE changes back to what it was or the system version on your device doesn’t change after you flashed the a new firmware compiled for that version?

If you OTA flash a higher-version application firmware you need to allow the device to auto-update the device OS which will take a while and several Safe Mode cycles with several resets in between.

Can you post a screenshot of your target selection in Web IDE?


#3

In the web IDE, I open the “Particle Devices” pane, and pull-down the information for my “selected” device. The IDE shows "on the device: 0.8.0-rc.14. I then then select the firmware target to a different value … currently 0.8.0-rc.4. I then hit the thunderbolt to flash my device. My application changes, but the system firmware does not change.

The system sat like this overnight:
image

Here’s an example from the CLI:
C:\Users\IBM_ADMIN\Desktop>particle flash --target 0.8.0-rc.4 Tinkerbell firmware.bin
Targeting version: 0.8.0-rc.4

Including:
firmware.bin
attempting to flash firmware to your device Tinkerbell
Flash device OK: Update started


#4

A lower version targeted application will never downgrade the device OS since such an application is expected to run on a higher version OS and that’s a good thing that higher OS versions provide legacy support.

If you want to downgrade the OS you need to explicitly flash the system os binaries (which can be found in the releases section of the open source firmware repo).


#5

Thanks, I did not know about the back-leveling restriction. Thanks for that news flash.

When I compiled my program at rc14, I saw some very strange behavior. Since I’d only made a small change to the app and still saw the problem when I reversed the change, I suspected the problem was with rc14. As I prepared to back-level, I realized the real problem was more likely to be that I had flashed directly from 0.6.x to 0.8.x.

To recover, I back-leveled to 0.7.0 and then up-leveled to 0.8,0-rc4. My Photon is now behaving perfectly again.

In my view, Particle updates should never allow a user skip from one level to another if there is a mandatory update level in between. My previous employer included metadata within the upgrade package to enforce this. In this case, 0.8.0-rc14 metadata would have a specified "minimum firmware prereq. of “0.7.0”. With that, upgrade software could easily exit with a message like: “Firmware Update Failed: Can not upgrade to firmware 0.8.0-rc14 from firmware levels below 0.7.0. See {url} for details”.

If you agree with the above, perhaps you can forward this “feature request” through appropriate channels.

Thanks again.