Platform
Cross-Platform
Description
I had an idea about how to do LoRa OTA. I don't know if it is feasible though.
- Cryptographically sign firmware binaries. Allow to configure what cryptographic key-pair to accept.
- Split partition microcontroller into two. Similar to how wifi OTA for esp32 works.
- Store slow LoRa OTA broadcasts into second partition to start assembling firmware out of chunks. Similar to how torrents or bitcoin blockchain sync work. (Too computationally heavy for microcontroller?)
- Have a mechanism that can request chunks from specific node(s). Store OTA firmware on the second partition on the sender node. OTA would be cryptographically signed by Meshtastic, but allows custom key to sign.
- Allow nodes to not re-broadcast this type of traffic or limit it only favorite nodes.
- Have a rate limit of this type of traffic on every node. If network is too busy then de-prioritize it.
Maybe I missed something, but I would like to start this discussion. Maybe my idea is too difficult or too computationally heavy for the microcontroller. But to me it looks like it could work.
Platform
Cross-Platform
Description
I had an idea about how to do LoRa OTA. I don't know if it is feasible though.
Maybe I missed something, but I would like to start this discussion. Maybe my idea is too difficult or too computationally heavy for the microcontroller. But to me it looks like it could work.