OTA updates for OpenWrt?

Some routers firmware allow OTA updates, most IOT devices projects also support it. To name a few
OTA updates are possible in freshtomato, infact atleast twice I have updated via OTA on fresh tomato :tomato:.
Esphome allows OTA updates, both from Homeassistant dashboard and from Cli in windows/Linux/Mac.
WLED allows OTA and even supports firmware updates from within home-assistant.
So can we update Openwrt using Over-the-Air method?
What can be the complications?
Ethernet port in a laptop is a dying breed.

Well isn't https://github.com/openwrt/asu what are you looking for?
Kind regards

OTA updates require a lot of work to develop and make robust. This is not a simple ask.

Many! For example, for devices that are transitioning from swconfig to DSA, the configurations are not compatible and must be completely re-created manually. Same is true with devices that moved from ar7xx to ath79 over the course of the updates from 18.06 > 19.07 > 21.02. Since the configurations are not compatible, the upgrade requires that settings are not maintained across the upgrade, and the user must configure the device fresh.

Beyond that, there are user-installed packages... these are all erased during a system upgrade. There are ways to handle this such as the attended sysupgrade process and other scripts to reinstall user-installed packages. But sometimes it's not so simple as there may be significant under-the-hood differences to those packages, differences in dependencies, and even packages that are no longer supported.

True, but there are tons of USB-to-ethernet adapters. These are relatively cheap and easy to get. And, if you ever are flashing OpenWrt for the first time, or you need to do a factory reset or use failsafe mode, you'll need an ethernet connection since OpenWrt doesn't have wifi enabled by default (as a security measure).


I recently updated tomato :tomato: on RT-AC68U, as you can see it is fairly simply process.
You just upload the desired firmware files and just wait for it to be update.

I did this while connected to OpenWrt router via wifi, while both Freshtomato and openWrt are acting as APs on same network, connected via Ethernet to the main router/Isp modem.

Yes we do need ethernet in one form or the other for flashing Openwrt for the first time, but for substant updates for example updating simple Access points, there might some mechanism in place for a PSEUDO-OTA update in future.

It will simplify upgrade of multiple AP e.g in Mesh network, since with new 6Ghz and 24Ghz AP, a new device will be required every 5meters.

AFAIK, FreshTomato is a monolithic firmware and I don't think that there are user-installable packages (please correct me if I'm wrong about that). This means that an OTA update is quite easy since the firmware contains everything in one blob.

Upload != OTA. OTA stands for "over the air" and typically is an automatic check and/or update process (delivered via the cloud). Typically, this requires no interaction except sometimes to click a check for upgrade or just a simple upgrade button. If you are uploading a firmware file, that is actually no different than OpenWrt.

You can do that now with OpenWrt. If your device doesn't have any user-installed packages, you can often upgrade directly and keep your settings. There are exceptions, though (as I noted before) where fundamental things inside the OS change and break backwards compatibility. The devs try to minimize these type of situations, but in the name of progress, sometimes things need to be deprecated.

I'm pretty sure that OpenWrt doesn't currently support any of these devices. But regardless, all of the same principles apply -- often a firmware upgrade can be performed without needing to reset your settings, but it does depend on the context.

1 Like