Upgrade from OpenWrt 19.07.8 to 23.05.2

For my TPLink Archer ac1750 c7 v5, I am having to upgrade from 19.07.8 to 23.05.2.

I read Proper way to upgrade from older version to current and realize I'll have to (a) do incremental upgrades (via e.g. 22.03), (b) read the release notes for the intermediate/final upgrades, and (c) do the settings by hand again (instead of uploading old config files).

QUESTIONS

If you have only time to answer one question, please answer 3.

  1. Incrementality: the sequence for an Archer c7 v2 as recommended by an answer (by @psherman) to the linked post is 19.07 > 22.03 > 23.05 (skipping 21.02). Does this skipping apply to me too with an Archer c7 v5?

  2. Reading the release notes: Does it mean (i) going here https://openwrt.org/releases/start, (ii) clicking each date that applies to me (i.e. starting OpenWrt 21.02), and (iii) reading all the release notes, i.e., 21.02.1 through 21.02.7? Or does it suffice if I only read the last one, i.e. 21.02.7?

  3. If I bought a brand-new router, then wouldn't I simply download 23.05.2 "factory" bin and flash the router with that? If so, could I simply flash my router (running 19.07.8) with TPLink's image, pretend that it is now brand-new, and flash it with 23.05.2 "factory" bin (thereby skipping any incremental upgrades and reading of release notes)?

  4. After I have upgraded to 23.05.2, can/should I just forget about any individual package update until a new stable release comes out.

Sorry about the many questions. Trying to do it the right way. Thanks.

If you have the correct letters and numbers:
That link is not about your router because it is using LEDE.
This is the TP-Link c7 AC1750.

Read the whole page, get to know your router. You could have bricked it.

ANSWERS

  1. You are already on 19.07 so the ath79 transition is done. Just follow through completing the steps provided by psherman.

  2. Just go here for a synopsis.

  3. Yes. But probably quicker/safer to follow the sysupgrade path. Either way, it’s two flash cycles.

  4. Add your typical packages based on your 19.07 Backup. It is not generally advised to mass upgrade packages.

Thank you for the link. But the question whether I have to read release notes for all intermediate stages or just the ones I am applying would recur there. (For example, if I am applying v21.02.7, release notes for just that one or also for v21.02.1 etc.)

Any reasoning behind that? One argument for returning to manufacturer image and then to the latest OpenWrt would be that you don't have bother with any release notes except perhaps for the latest OpenWrt. (I am sticking to this point because I am a novice and the release notes are often opaque to me.)


One of the replies above goes, "That link is not about your router because it is using LEDE." That statement is incorrect. If the link in the original post is not about my router, that would be owing to the distinction between v2 vs. v5 of the router model. LEDE vs. OpenWrit distcintion has nothing to do with router model. Also, there is no LEDE v19, and I am starting from OpenWrt v19 already installed. Therefore the linked post (including the answer by psherman) is about my router (subject to it being v5). I add this for anybody else reading this post and possibly being confused by incorrect information.

I've recently had to go thru the upgrade from 19.07 to 23.05 for the ER-X I've had laying around and I've pre-downloaded the latest sysupgrade images for each release (21.02.7, 22.03.5, 23.05.2) and flashed them in sequence without keeping settings.

It may very well be that for your router or mine we could have jumped straight to 23.05.2 without any consequences, but why take the chance if doing it the safe way takes only an extra minute or two?

1 Like

For your device, it should theoretically be possible to jump directly (as long as you do not keep settings). However, this is not tested -- only upgrades from n-1 are tested. In some cases, if there are changes to the image structure, the upgrade image may not be accepted, but I don't think that'll be an issue here.

You can go direct for sure if you use tftp to install the factory image of 23.05.2.

All of that said, the total time to upgrade from 19.07 > 21.02 > 22.03 > 23.05 will be probably 15 minutes -- most of of that time you can actually be doing something else while the device runs through the upgrade process.

Noted. Thanks.

I would gladly spend hours to do it properly. My concern is reading the (many) release notes, which will be a haze of acronyms to me, and missing something critical. If a critical issue (special handling) for my model is unlikely, then I will go the sysupgrade way, which everybody seems to recommend.


I want to link here my earlier post When development stops for a router model, does its repository eventually get pulled down?, because there I talked about reusing my old (from v19) config files in creating a new (v23) OpenWrt custom image as if that were OK. Of course there too somebody told me, "you really should make a completely fresh start," but I didn't know what that meant. I wish I could go back to the post and add that I was being plain wrong, so as to mislead nobody. I believe when I link that post here, this post is reversed-linked there. Hopefully that will do.

The sysupgrade process (when going from n-1 -> n) is really straightforward in the vast majority of cases.

Do you have specific questions (or a need for acronym expansions) that are still outstanding -- answers to which that would make you more comfortable running the upgrade?

I will do the sysupgrade then. My worry was prospective and in principle. If I come upon particular issues, I will raise them here. Thank you.

1 Like

I do not know how I got thrown under the bus so inaccurately.
In the other thread they were on LEDE 17.0.2. Or so they said and were not corrected.

So that thread was not about your situation and we have so many people come in using translators I have to do my best to not be misunderstood.
Router, version, whatever, it was not your situation.

Matter of fact that page I linked says nothing about having to do incremental upgrades, for your V5, other than:

"For Archer C7 v5 OEM fw 1.0.11 Build 20190726 the router refuse install OpenWrt v21.02 from OEM's firmware-upgrade page or via TFTP, but it's possible to install OpenWrt v19.07.2 using the OEM UI, and from that do the upgrade to v21.02 using LuCI."

I actually did read the page about your router.

If you meant it was not my situation, maybe that's what you should have said. You said, "not about your router." Those mean two different things.

Also, the road from LEDE 17.0.2 to OpenWrt 23.05 (of the older post) includes the entirety of the road from OpenWrt 19.07 to 23.05 (my situation). Therefore, the older post is totally relevant to my situation. Yes, of course, if there is even the slightest variance between two situations, it could be said that the one is not the other. What value is there in saying something so trite?

You are not being misunderstood. You're crystal clear. And please leave off about people using translators. They're doing their best.


For anybody else reading this, the older post is on and includes the general process of upgrading through many versions, and it is your situation if you are about to do that.

And please feel free to come in however you can and contribute. I am sure that is the policy and attitude of the site's administration.

This is the last time I respond to this line of inquiry, which is useless and wasteful except as a reminder that one member's post on his situation can and should be generalized whenever possible in the service of other members' similar situations. That's how knowledge works.

I'll try to be nicer.

Not sure what that means.

Knowledge starts with your router page.

Honestly, I'll try to be nicer. I did not realize it was anything but straightforward.

I think something got lost in translation:
I am pithy to avoid being lost in translation.
I am very considerate of the situation and , in no way, speak down to those that use a translator.

Here's something you (@pusherman) said on the older post: "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."

If I skip no major version in the chain of incremental upgrades, then each upgrade would satisfy the if-clause. Does that mean I could keep the config files (static leases, redirects, wifi, DDNS, what have you) throughout the process instead of having to do them again by hand?

Same question to you. If settings can transfer between adjacent major releases, and it seems you skipped no major release, what was the reason for jettisoning the settings? Thanks.

So in theory, yes it should work, but I've never tested it.

This might work if you flashed every release in sequence. For example, the old syntax ifname was changed to device and upgrade process would actually fix that. But... I'm not sure if that only happened when someone tried to edit the config, or if it happened on the first boot after the upgrade (it's been a long time). This nuance matters insofar as the syntax changes must be 'fixed' before the next upgrade is applied.

The release notes almost always say that upgrading from n-1 to n is supported (unless there has been a major architectural change, not a concern in your particular situation).

And FWIW, in most cases the configs we're actually talking about can be rebuilt from scratch in really just a few minutes. In some cases where that might be painful, there are typically some parts that be cherry-picked for copy/paste from a backup (for example, DHCP static leases, although this and any other items should be carefully examined for syntax changes)

In the situation where a user does attempt running the sequential update method (keeping settings each time) there is the potential for there to be small problems that require debugging, but fortunately if things go south and/or end up in a soft-brick state, failsafe mode can be invoked to regain access and fix the broken config or reset to defaults.

That's really enough for me not to mess with it. In general I'd rather put in honest man-hours than leave potential for problems later.

For those (braver than I) wishing to keep settings, I am linking the video that gave me the idea: https://www.youtube.com/watch?v=FFTPA6GkJjg

1 Like

Not sure if they can tho. Also I create my own images with all my settings, so I don't care if I need to wipe them.

But actually that's what I do too.

Which is to say: extract /etc (and a few other folders, e.g. /home/luna, probably not relevant to most people) > compared (meld) it to the state of /etc before any configuration > compile a set of config files showing any difference > make the next image that includes that very set > flash the router with it.

But I have done the above only for successive images within v19.07.

QUESTION: Do you mean you've done something like that as you went from v19.07 (via intermediaries) to v23.05 and have had no problem?

I believe that would count as your successfully "having kept settings."

Of course, your configurations may have (by chance) stayed clear of any portion of the syntax that changed between v19 and v23; and there would be no guarantee I was going to be as lucky.

That's a great way to soft-brick your router when going up releases.

I use uci-defaults script to set values. Many options in wireless and network configs have changed between 19.07 and 23.05 tho, you may want to read up on that.

I really don't understand why this thread is still going tho, you've been advised multiple times the best way to upgrade is to flash each latest point-release without keeping settings. That's how you upgrade.

Are uci-default script release-neutral? That is, if I cobble together a uci-default script that works for v.19, then will it work for v.21 et seq.?

It continues through the kindness of experts such as yourself (for which I am ever grateful).

From the novice side, the meaning of terms are not always instantly clear. For example, "without keeping settings." Now it turns out, MAYBE, I can "keep settings" by storing them in the form of uci-default scripts (depends on answer to the above). Of course, the ultimate motive is to minimize the amount of work to be done by hand for future upgrades. Thanks.