Update experiences

Hello together,
In this topic I would like to read a little bit about your experiences with OpenWrt Update to get a little feeling for it, like such a small survey :slight_smile:
I'm running OpenWrt since January this year and I'm now at the stage that I have a router, two APs and two managed switches running OpenWrt. Everything is running great now and I am super happy with everything.
I have now completed my first round of updates with all devices. I decided to do it with Luci Attended Sysupgrade.
This worked very well for all devices except for the router, which had a small problem after reboot but that I was able to fix very quickly.

I would now like to read a little how you do it updates and what might have gone wrong?

  • Which way you make updates? Luci, Shell or other ways?
  • How often do you update? Weekly, monthly, yearly? Or only on main versions?
  • Has anything ever gone really wrong? I'm thinking of the worst case if the device boots up after the update and is no longer accessible. So what? What are the ways to reconnect?

Maybe I imagine the update process to be too complicated and it's not such a complicated process what happens in the device.
I'm looking forward to what you report and thank you in advance for your time.

Quite a lot depends on the specific router, as the available sysupgrade options vary a lot...

I am commenting for several "normal" routers with built-in flash (no SDcard etc.), starting with OpenWrt in year 2010...
I have flashed different router models approx. 4200 times in those 12+ years. (WNDR3700v1/v2/3800 approx. ~2200 times, R7800 approx. 1350 times, WRT3200ACM approx. 400 times, RT3200 approx. 200 times, DL-WRX36 recently 12 times.

It is not that complicated, but due to the small flash sizes, the whole old firmware kernel and root files system are overwritten, so there is usually no fallback if something wrong materialises.

Usually LuCI.
If there are problems, also from SSH console or recovery from TFTP.

1-2 times per week (for routers currently in use), I compile personal master (snapshot) builds from the up-to-date code (and I have been publishing community builds for WNDR3700 and R7800 here at the forum).

Casual users might be better off to use release builds like 22.03.3 and sysupgrade only 1-2 times per year.

Sure, maybe 3-5 times per year there happens to be a recent bug (in master) that is not yet fixed, and which affects the sysupgrade. (Sometimes the bug may also cause the sysupgrade to just silently fail before flashing starts).

Scaling that failure frequency to my total sysupgrade count, maybe 1-2% of sysupgrades have gone wrong from me.

  • Failsafe mode in OpenWrt (if it is about your old config being incompatible)
  • dual firmware in some devices (like WRT3200ACM)
  • Serial console...
  • TFTP recovery
  • any other router-specific method

Recovery method depends a lot, but generally I have preferred routers that offer an easy TFTP recovery routine (like most Netgear routers), something like E8450/RT3200 that has a fallback OpeWrt instance, Linksys mvebu routers like WRT3200ACM are dual-firmware, etc. That is one major criteria for device selection.

(Note that there can also be bugs that materialize only in the next sysupgrade and prevent you from sysupgrading further. Then you might need TFTP recovery or similar to get over it.)

Having a serial connection to the router is useful for debugging.

Read your device's OpenWrt wiki page, and be prepared. Familiarize yourself in advance with the suitable recovery methods.

2 Likes

Hi @hnyman,
Wow, many thanks for this detailed information. It seems that I definitely still have to deal with serial and TFTP on my devices in order to be prepared in the event of an error.
I'm completely out on this subject so far, I have no knowledge about in this cases.
At the moment I do not know the falback of my devices and what is possible. At least not all have a description of TFTP on the device page. I have to research that now.
It worries me a bit that there is a chance that an update could the device completely unusable.
But it sounds like that if everything goes wrong, there is still the possibility to do something via serial or TFTP. I don't think serial is an option for me, I don't think I would be able to do that

My devices are Qnap QHora-301w, 2x Netgear WAX206 and 2x Netgear GS308T. I'll will search if anyone has ever had to reset these devices.
Since I have two of the Netgear devices each, I can possibly test the less important device before I do the update on the other device. I don't have this option for the router.

I'm a cli guy, so I use auc almost exclusively.

For my "production" router, which is an x86 device and hence a very well tested platform, I run current release (22.03.3 as of this writing), and update it very soon after each point release. So, when 22.03.4 comes out, I'll monitor the thread over on the announcements subforum and then update when I'm comfortable that any issues have resolved. When 23.0X comes out, I'll do the same there.

I have a Belkin RT3200 (MT7622), which is basically used to pre-configure setups for other family members. It runs current release, and only gets updates on demand (i.e., same as the production router but with a little longer waiting period after the point releases, as it's a newer, less-tested platform). Since this is a flash-based device, I don't update it often as I'm paranoid about "wearing it out" (even though science tells me this is unjustified, I'm just dumb in this regard๐Ÿคช).

My experimental x86 gets updates on SNAPSHOT every Monday morning. It always has lots going on, config changes constantly and I change/unchange it all the time as I read through forum posts and see something worth testing or playing with...

Oh, sure, but only on the SNAPSHOT builds, which is really to be expected (and in fact why I do this, if I can find a bug and report it in SNAPSHOT, then it won't creep into release). There are two failures I recall in the last 4-5 months:

I had set up a son's Belkin with SNAPSHOT, and forgot about that one small fact. I had him do an update, and, oops, NO WIFI! Turns out the MT76nn kmod had gotten factored into several smaller pieces and hence the drivers for wireless were missing after the update. Once I realized what had happened, we just backed him down to 22.03 and everything was happy again (required plugging in a cable as wired connections were unaffected). Luckily no configuration-breaking changes had been made between his snapshot and then-current 22.03, so it was a pretty uneventful "downgrade".

My experimental router got borked when the switch between wolfssl and mbedtls happened, and I stupidly uninstalled the old libraries before installing the new ones. Result was I couldn't download anything directly on the router as opkg/wget couldn't talk to secure websites. I simply did the wgets on my workstation and scp the files over to the router, allowing me to fix it.

But, like @hnyman says, updating 1-2 times per year to release versions should be fine. The exception to this is if your intent is to experiment with networking and specifically with developing stuff with/inside OpenWrt itself (which is the case for me).

2 Likes

@efahl
Also thank you for this detailed information. Cool, I didn't know auc! I think I will use it also.