Proper way to upgrade from older version to current

I am running LuCI LEDE 17.0.2 on an Archer C7 v2 and am wanting to move to the current version. What is the appropriate method so I do not end up with a bricked device and can import my current settings/configuration?

With every upgrade, do not keep settings. This will result in a default configuration after each upgrade. This is necessary… keep in mind that you must be connected by Ethernet and the address of the router will be

  • Upgrade to 18.06 from 17.01
  • Then upgrade to 19.07 - this will involve a change from the old ar71xx target to ath79, which will have a scary message. Okay to proceed, just make sure you downloaded the correct image and that the checksum matches with the website.
  • now jump to 22.03
  • finally 23.05

You cannot import your old settings - they are not compatible. Make a backup and use that as a reference (human readable, not to restore to the system)


Just out of curiosity, but why does one need to update to every intermediate (obsolete) version?

Can't you just flash 23.05 if you're not keeping settings anyway?

If your device supports a TFTP or boot partition emergency flash or similar function, it is totally safe, to use that with the corresponding factory image and make versions jumps as large as you want.

But updating via sysupgrade only gets tested for +1 update jumps. Problem is that flashing means, flashing OpenWRT firmware version x with OpenWRT flash code that was releases 12 months earlier with version x-1 (the age diff being even higher, if you skip beats). No one has tested, what happens, if you flash firmware x with the flash code of lets say version x-5.
So just to be on the safe side, prefer +1 steps for sysupgrade, even if inconvenient.

On top of that, preferably don't just sysupgrade one file after the other in a quick chain of actions (like skipping dialog scenes when playing Witcher 3), but also check the release notes for every single update. This can minimize the risk of bricking certain devices.
As a small number of devices sometimes needs special treatment for certain update steps, like the previous ar to ath platform switch (which was only happening and tested on that particular +1 jump as described. Even other platforms may require onetime setting certain boot variables or flashing factory images one certain time or doing manual exotic command executions for certain version jumps.
So to be really precise, it is not just chaining several +1 sysupgrades, but also keeping an eye on each release note comments for that particular device.

Some devices may require a change to the flash layout or a simple change in the u-boot environment.
This change will probably be documented in the (a+1) Release Notes when upgrading from a to a+1.
But hey might be missing in the (a+2) Release Notes.
So to make sure not to miss a thing take at least a look at every in between Release Notes.

As was stated, it is the safest progression. I did recommend skipping one (21.02) since it wasn't really necessary.

The upgrade to 19.07 involves that major ath79 transition, and I think that 17.01 doesn't really understand the firmware image, hence the recommended 18.06 intermediate step -- this one is probably the most critical. From there, the path to 23.05 is less risky, but a jump from 19.07 is not technically supported, so it was most prudent to at least do one more step between.

My guidance was based on this ^^^ (and my experience/knowledge of the platform; I don't want anyone to end up with a brick).

And this would absolutely not have been possible, which is why I recommended resetting to defaults at each step (i.e. not keeping settings). The upgrade to ath79 made this mandatory, but so did the other upgrades because there have been many syntax changes that are critical. Typically, if you upgrade (same architecture/target) to the very next major release, any syntax changes will be 'fixed' in the upgrade process itself... but not across a jump of many major versions.

Hello. 1st post.
Thank you for this detailed explanation. I just moved from 19.07 to 23.05 with no issues because of it. On my Archer A7 v5. The process used is the one outlined, upgrade to 22.03 verify it, then upgrade to 23.05. Done. Even saved my settings by simply leaving the checkmark in the box.

This community is so Awesome - just like the software - that I just had to finally create an account and leave this feedback.

Carry on team OpenWrt, you do Fantastic work!