Conditional OTA firmware update

Hi guys,

I have a bit of an odd question–I’m wondering if there is an easy way to make sure a certain condition is met before allowing a firmware update on a Photon?

Specifically, we want the user to have to press a physical button on the photon prior to an OTA firmware update being allowed or initiated (if an OTA is attempted without the button being pressed, the update is denied).

Another possibility would be that the user would have to put the device into Safe Mode before an OTA update would be allowed.

Is there a straight forward way to accomplish this?

We plan to use the Local Cloud Server (our application requires having total ownership of all cloud based services unfortunately) and our concern is that if the server with the Local Cloud on it gets compromised it could allow unauthorized remote firmware updates–having the user press a button before an OTA is allowed would significantly mitigate this possibility (plus some applications require a technician to be onsite when an OTA firmware update is applied, this ensures that is the case).

Hi @solarplug I’m afraid there’s nothing at present that would enable this, although it has been discussed and proposals made here - https://github.com/spark/firmware/issues/375

Feel free to comment there about your use case so we can take it into consideration when planning the feature!

I think your case of requiring a button press is should be achievable without a huge amount of effort, so we should be able to deliver within the next month.

Thanks :smile:
mat.

Hi,

Thanks, that sounds perfect. I’ll post over there as well so people are aware of our application. I’m assuming others will benefit from this as well.

1 Like