Help switching from pcWRT to OpenWrt on a TP-Link Archer C7 v2

Hi there,

I recently installed pcWRT but I'd like to switch to OpenWRT. I'm using a TP-Link Archer C7 v2.

Do I need to revert back to the stock TP-Link firmware first or can I flash the router over to OpenWRT directly?

If I do have to revert back to the to stock Tp-Link firmware first, how would I go about doing that?

Thanks.

The general advice for moving from a different firmware to openwrt is to flash back to the vendor firmware first.

If your alternative firmware is a relatively up to date/recent fork of OpenWrt, it may be possible to flash using the sysupgrade feature. If you do this, do not keep settings during the upgrade process.

Another approach is to use a lower level process such as tftp - that will typically use a ‘factory’ image but it works based on the boot loader so your current firmware is less critical.

All of that said, I would recommend that you ask the maintainer of the firmware you are using how they recommend changing to openwrt.

Thanks psherman. I have a question in with them now (the pcWRT guys), but I'm still waiting for a response.

Is the sysupgrade feature the Sysupgrade image from the downloads page? Would I upload that via the pcWRT firmware upgrade web page, you think?

I've read up on the tftp process, and it sounds like that could work - does that work regardless what firmware I'm currently running? (ie. Could I do that without having to flash back to the Tp-Link firmware?)

Thanks.

Hi there,

Will the TFTP upgrade process work with any firmware present on the router or do I need to be on stock Tp-Link firmware?

Thanks.

The sysupgrade feature uses the sysupgrade images that you can download from the downloads page. The feature itself is the firmware update routine that is included in OpenWrt. I don't know if it would work from other firmware versions.

Yes, it should work with any firmware. This happens in the bootloader, before it transfers control to the firmware itself for booting.

Ok, great, I will try the TFTP method. pcWRT also confirmed this is a good method.

Thanks again.

So how did it go? Did you return to OpenWRT from pcWRT? And which method did you perform?

Yes, I used the TFTP method, which took a few tries to get the config right, and went back to the stock TP-Link firmware first and then flashed it over to OpenWrt. Had a few hiccups and learned a lot, but overall it has gone well.

Alright good. In the future the fastest way is always to go with the MTD for when you wanna do a clean install of OpenWRT. TFTP is good, any way that works is great of course but that's mainly used as a "last resort" for when you can't ssh into the device.

That's why you usually see TFTP being mentioned together like "TFTP Recovery". Because when you brick the device you loose access to both homepage and ssh.

Otherwise just ssh in cmd.

  1. ssh root@192.168.x.x
  2. cd /tmp
  3. wget https://downloads.openwrt.org/snapshots/targets/..../openwrt....-squashfs-factory.bin
  4. mtd -r write openwrt......-squashfs-factory.bin firmware

And you are done. The router will overwrite the firmware flash and reboot.

Thanks @Daarke01, that is very helpful, thank you. Definitely a simpler way than TFTP. I will do that next time.

But I did notice something strange, actually, when booting up my router during the TFTP process and had an ethernet cable dongle connected (laptop). I was following some directions which included a suggestion to run tcpdump on the NIC to see if traffic was going to it, etc, and I noticed the following lines:

15:49:28.931997 STP 802.1d, Config, Flags [Topology change], bridge-id 8000.<router mac address here>.8001, length 43
15:49:29.600096 IP 192.168.1.1.54284 > 255.255.255.255.7437: UDP, length 173
15:49:29.713618 IP6 laptop > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
15:49:29.729328 IP6 laptop > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
15:49:30.129499 IP6 laptop > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
15:49:30.217595 IP6 laptop > ip6-allrouters: ICMP6, router solicitation, length 8
15:49:30.225517 IP6 laptop > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
15:49:30.304300 IP poneytelecom.eu.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from <MAC address here> (oui Unknown), length 290
15:49:30.932151 STP 802.1d, Config, Flags [Topology change], bridge-id 8000.<router mac address here>.8001, length 43
15:49:32.625319 IP 192.168.1.1.54284 > 255.255.255.255.7437: UDP, length 173
15:49:32.932222 STP 802.1d, Config, Flags [Topology change], bridge-id 8000.<router mac address here>.8001, length 43
15:49:33.008280 IP6 fe80::<MAC address here>:9210.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
15:49:33.163668 IP poneytelecom.eu.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from <MAC address here> (oui Unknown), length 290

The suspicious thing, to me, are the poneytelecom.eu.bootpc lines. This is just a snippet, and there were more. I'm not very familiar with this protocol (TCP/IP?) so I'm not exactly sure what it's saying.

What do you make of those? They appear to be coming from my computer (the MAC address I redacted). I looked into poneytelecom and it doesn't sound like a good thing.

No it does not sounds like a good thing. But it's most likely got something to do with the TFTP process. I imagine you downloaded Pumpin tftp when doing so, could be a third party that's interfering or something. Google didn't say much.

In User Script that was the line /sbin/keepaliver added. In any case, not by us. I removed the script (via ssh) and reseted User Script as the default value.The suspicious connections did not reappear. Great. > Blockquote

You can always try it format to factory just to be safe, but with MTD this time which does not use any strange programs. It's just overwrites the flash with the selected file nothing else. https://firmware-selector.openwrt.org/?version=22.03.4&target=ath79%2Fgeneric&id=tplink_archer-c7-v2

This had the newest firmware (stable) for C7 V2. Copy the .bin file link, seems to be 3 of them but I think the standard "factory" works just as good as anything. Follow the steps mentioned earlier.

Thanks for that info and links, I appreciate your help.

No, I just installed tftpd-hpa via apt-get (I'm on Linux) and used that. I don't see a /sbin/keepaliver file on my machine nor on the router, thankfully, but that's not to say something else nefarious isn't there.

Maybe I will reinstall using MTD as you suggested. I think the sysupgrade one is the one to use if OpenWrt is already on the device. I'll back up my settings first.

Do you know how to backup or list the packages that I've installed? There aren't many, I think I only installed banip and its web GUI and htop. Also, does the System Backup file include their config settings?

As psherman points out. Only Attended Sysupgrade seems to save user-installed packages.

If you are gonna do a clean install directly with mtd then expect to install everything all over again.

1 Like

Just a few things here:

  1. do not attempt to restore a config file from an install that was more than 1 major revision back. In other words, don't try to restore settings from 19.07 on a 22.03 system. It's not supported and may break things.
  2. Do not attempt to restore a config file from a different fork. That is, pcWRT or immortalWrt or any other fork will likely have differences that make the config files incompatible with official OpenWrt (and vice versa).
  3. Your packages will not be maintained when you do an upgrade from tftp/mtd etc.. You'll need to reinstall them. They also won't be maintained from a standard sysupgrade process. The config file backup does not include your packages (nor should it for several reasons), so restoring it will not bring the packages back, either. But the config files for your packages will usually be included in the backup,

If you need to maintain packages across upgrades, there is the Attended Sysupgrade (ASU) which will actually help you upgrade without needing to reinstall your user-installed packages.

2 Likes

True, I forgot to ask if he was already on the newest OpenWRT version or not. I only assumed he was but in case he is on another revision it's best not to attempt that.

Thanks, guys. I'm currently on OpenWrt 21.02.5.

Attended Sysupgrade appears to only be able to take me to 21.02.6. I just downloaded the sysupgrade bin file and upgraded to the most recent version.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.