Disconnected Firmware / deviceOS update device - is this possible?

Now that I think about it some more, it might be a little tricky to get the Android tablet version working offline. It’s possible that using the Download option will work, but there’s so much AJAX going on in the device restore page I’m not confident that it will actually preload everything correctly.

It’s almost certainly feasible, but possibly would require some custom HTML/Javascript to make sure everything is available offline and easy to use.

The Raspberry Pi option is designed to work offline, so that’s easy.

1 Like

This sounds great... any idea on rough timing of having something like this available? I was going to try and write some python to minimize the individual steps based on comments from this post Initial device setup for products - 10-20 borons but didn't get around to it yet. If the steps of loading the firmware and setting the setup done flag can be as simple and abstracted away as you mention here, I'd be more inclined to wait until you have this version released. You think an initial release of this tool is days, weeks or months away?

2 Likes

Within a week. The code works, it’s just a little cleanup and documentation to finish up.

5 Likes

@rickkas7 ,

I know you are very busy but, have you made any progress on this?

Thanks,

Chip

Oh, sorry, I forgot to post the link here. The repository is here:

https://github.com/particle-iot/node-example-device-flash-setup

1 Like

@rickkas7 ,

This is great work - as always - thank you! I will give it a try on my laptop first.

Since it is based on Node and there is an installer for the Particle CLI, and based on your comments above, this should work on a Raspberry Pi. That is my eventual goal and I will let folks know about my progress.

One function you did not mention in the documents but that is important for disconnected use cases is setting the clock. I am using the AB1805 as the RTC but it will drift over time as it is not temperature compensated. Would this process set the Boron’s clock or could that be one of the cloud functions that could be added?

Thanks,

Chip

1 Like

This looks awesome. I’m definitely going to try to package it for the Arch User Repository if you don’t mind. This will make it incredibly easy to install and run on Arch-based distributions on a typical desktop or a Raspberry Pi.

2 Likes

Thanks! Yes, it should work on the Raspberry Pi and feel free to package it in the Arch user repository.

There’s no built-in way to set the RTC from USB. However, in a completely disconnected use case you could do it by adding code to your user firmware, and a call in the setup tool to set it using USB control requests using a custom USB control handler. It’s a half dozen lines of C++ code on device and a half dozen lines of code in node/Javascript.

2 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.