Firmware 0.7.0 Issues - Rollback options?


#1

Hi All,

I appear to be having the same/similar Wifi issues as others:

  • random wifi disconnects, up to 20 hour.
  • random Cloud disconnects

I’m currently using Photons to trigger visual and audible alerts for fire stations when they are dispatched to a call. The issues that the 0.7.0 FW brought along is causing these alerts to go out intermittently. I thought it might be a signal strength issue but I just watched a stock photon running 0.7.0 go offline/online 12 times in the span of an hour. The device is sitting on my desk and has an rssi of -45.

My question, is it possible to rollback to the 0.6.3 FW without having to physically touch the devices?

And a follow up, has anyone heard on when these issue might be getting resolved?


#2

@skip513, I can’t answer the second question but I have downgraded several Photons running 0.7.0 to 0.6.3. Unfortunately, I don’t know of a way to do it without putting the device into DFU mode which requires hands-on.

Like you, I have logged many dozens of disconnects/connects utilizing IFTTT since the upgrade to 0.7.0. Since going back to 0.6.3 that number has dropped to maybe one a day, and I’m pretty sure that’s due to my Internet provider.


#3

Yes, you can roll back to 0.6.3 without physical access to the device.

First flash user firmware that targets 0.6.3 or earlier, so you won’t immediately be upgraded again.

Download system part 1 and 2 from the release site:

Flash them in the reverse order using the CLI:

particle flash DEVICE_NAME_OR_ID system-part2-0.6.3-photon.bin
particle flash DEVICE_NAME_OR_ID system-part1-0.6.3-photon.bin

Note that you must flash part 2, then part 1 when downgrading.

Also, if you want to downgrade farther, to say 0.6.2, you must downgrade to 0.6.3 first, then 0.6.2 in two steps.


Photon stuck in safe mode while upgrading to 0.7.0
#4

Awesome!! Thanks Rick!!

I’ll give it a shot and report back.


#5

I had the same problem going to 0.7.0.
I made a plant light back in 2016 using the Photon.
It has its own web sever to control the lights. It has been working flawlessly all this time until last week when I upgraded it to 0.7.0. Yesterday, after running just 3 days on 0.7.0, I went to log into it and could not. I looked at the device and the led was flashing green. I turned it off then back on and it worked again. Never had to do this before in the last 2 years it was running with the prior firmware. Something is for sure going on with 0.7.0. FWIW, my plant light is 4’ from my router, which is where it’s always been.


#6

Cool Mod!


#7

@rickkas7 do you have any instructions for how to do this for a product belonging to a customer? I’m not sure where to insert access token information.


#8

First you need a product bearer token for your product. The easiest way to get one is to log into the console, go into your product, Events, then View in Terminal. The curl command has a product bearer access token in it. This token is invalidated when you close the console.

Then login using the token using the Particle CLI:

particle login --token 5724113917ac1e1cbf80cae2e24dd27c56245bdb

Now you can flash to a product device owned by a customer using particle flash.

Don’t forget to log back into your account when done.


#9

Thanks for the quick response!

I tried doing that, but am not having much luck. I did:

  1. log out of my developer account in the CLI
  2. get product bearer access token from events page as you described
  3. entered particle login --token command in terminal, and it tells me log in was successful
  4. I try to flash a system firmware part to a customer’s device, and I get an error: “Flash device failed: I didn’t recognize that device name or ID”
  5. I go to the URL it suggests opening in the error message, and it shows me all the handful of devices listed to my developer account, rather than any customer devices.

Is there something I’m missing?


#10

You probably need to flash using a device ID, not a device name. If you’re already doing that, you should create a support ticket and we can examine the actual products and device IDs to figure out what’s happening.


#11

Ok, thanks. I was indeed attempting to flash using the device ID. I submitted a support ticket, and will post back here anything that I find out. :slight_smile:


#12

I just realized that’s not going to work because it’s hitting the wrong flash endpoint. You’ll need to create a simple script to do it instead (or enter the curl command manually):

#!/bin/bash

# usage: ./flash.sh <device_id_only>
if [ -z "$1" ]; then
    echo "USAGE: ./flash.sh <device_id_only>"
    exit 1;
fi

curl -X PUT "https://api.particle.io/v1/products/1234/devices/"${1}"?access_token=xxxx" \
       -F file=@system-part1-0.6.4-electron.bin \
       -F file_type=binary
       

Be sure to change 1234 to your product ID and xxxx to your access token you got from the console.

Then just call it with the device ID you want to flash.