TL-WDR4300 upgrading to latest version of OpenWrt

Is there a guide to upgrading OpenWrt?

I installed 18.06.2 some time ago on a TP-LINK N600 and would like to upgrade to the latest version.

What is the simplest way to do this? I couldn't see this in a FAQ.

Use the factory firmware instead of sysupgrade firmware, and don't keep your configs.

You might back up your current configs and use them as a guide.

Which specific model is your TP-Link device?

Usually you do not use the factory firmware image if you already have OpenWrt installed, assuming there is a sysupgrade image available. But knowing the model would help.

According to the release notes for 21.02.0...

Sysupgrade from 18.06 to 21.02 is not supported.

Right... in terms of settings.

But it is possible to upgrade from 18.06 to 21.02 provided that settings are not preserved. OpenWrt's sysupgrade process looks for a sysupgrade image. The difference between factory and sysupgrade is often related to a blob or padding at the beginning of the file. OpenWrt's upgrade code will say that the factory image is invalid.

I've tested it with both factory and sysupgrade, configuring from scratch, and haven't had an issue.

May work differently for different devices.

Using factory images with sysupgrade is usually not supported, in some cases it might work (depending on how the OEM firmware is structure, which is what the factory images try to mimmick), for other devices it can break horribly (and end up with a hard-bricked device).

1 Like

I may be missing something...

My understanding is that using the factory image is the way to revert to a previous version of OpenWRT. (i.e. going from 20.02.0 back to 19.07.8)

Seems like upgrading from 19.07.8, or earlier, to the newer version would work the same.

As I mentioned, I've never had an issue with it in either direction on an Archer C7 v2, but sounds like that may not apply to all devices.

So if sysupgrade is the way to go in all cases...works for me.

Yup, you are.

No, the factory image is the way to flash OpenWrt onto a device that is running the factory (i.e. default/stock/vendor-supplied) firmware. This is because the firmware that the vendor ships on their devices requires a specific format to be accepted and flashed. The factory image mimics the formatting of the original firmware from the vendor, often with some header info or padding before it gets to the main payload which is the actual OpenWrt firmware itself.

Factory images should be used only when flashing from the vendor's existing firmware, or in situations like TFTP recovery (i.e. not actively running OpenWrt).

As stated by @slh, there is a risk of bricking your router if you use a factory image while running OpenWrt, although this does depend on the details of what is different between the factory and sysupgrade images. Usually OpenWrt will simply say that the firmware is invalid or an unknown format, but if you force it, you could be in for an ugly surprise.

Apparently, I'm not alone...

Never had to force it.

So it sounds like if I wanted to revert to 19.07.8 from 21.02.1, it would be sysupgrade + config from scratch.

It's a TP-LINK N600

I decide to install the latest image using this guide:-

An hour later I still can't access it, not even PINGing it....

I couldn't PING it because it rebooted under a different IP address!

This was because the IP address is assigned by my DHCP server (pfSense) and for some reason my TP-LINK router now has a different MAC address.
Is this behaviour to be expected?

N600 is a generic marketing term and does not identify the specific model. Is the actual model the WDR-4300 that you referenced? Or is it some other model? What image did you flash to your router? Did you keep settings? Had you at some point in the past set an override for the MAC address? How are you trying to access the device? How is it connected to the pfsense router?

There are more questions now than there were when you asked the original question.

I've managed to upgrade now using this guide:-

Does OpenWrt report the actual model number?

The change in the MAC address is something which OpenWrt must have introduced because I never play with such things.

Previously it was e8:94:f6:68:3c:b6
and now it's e8:94:f6:68:3c:b8

One thing I did notice after upgrading was that I can no longer install Midnight Commander because I have insufficient storage. Any suggestions as to what I can do?

Yes, see https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=a4260eaab7744c8e3f1f7a62a61aab5e3b562342

2 Likes

In most cases, yes. But you'll also typically find the model number on the info panel of the device (usually on the bottom). Such as the following image:

Routers often have multiple MAC addresses -- sometimes a different one for the WAN and LAN, and then also separate addresses for the wireless hardware.

An ER-X actually has 6 MAC addresses and it doesn't even have wifi built in. Basically it is one for each port (if the ports are used individually) + 1 for the switch (the ports can be assigned to the switch or used independently). They are all sequential in the case of the ER-X. And likewise, you're seeing an address that differs only by 2, so there's probably at least one other MAC address in the system that you're not aware of that occupies the b7 space.

So depending on how the ports are assigned (or how you determined the MAC in the first place), it is plausible for the MAC address to change.

I still don't know what specific hardware you are using, so I can't comment with any certainty. But 21.02 is larger than 19.07, so yeah, totally possible to run out of space. EDIT: I see that you did change your title to indicate that you are using at TL-WDR4300 -- this is an 8MB device, so it makes sense that you could run out of space. I answered in your other thread that you can use extroot.

1 Like

I was mistaken, it's actually a TL-WDR3600 like you have in the diagram above.

Ironic... I just pulled a random picture of the info panel... no idea it would actually be the same one you have.

But that means that you may have other issues if you flashed the wrong image. What image did you download and install on that device?

1 Like