Sysupgrade question for new device (TL-WPA8630P V2)


I'm building support for the TL-WPA8630P V2, but I'm a little bit stuck with the sysupgrade functionality.
Debugging this is a bit awkward, because they removed the bootm addr parameter, so only booting from the default address in flash is possible.

When flashing an image created manually with tplink-safeloader -z xxxfactory -o yyysysupgrade via tftp in uboot, it works fine (however yet some small LED, WLAN and MAC address fixes to be done).
This works as the -z aligns the file system to 64k borders, and the firmware partition is successfully split into kernel and rootfs, then split further for rootfs and rootfs_data.

However flashing the automatically built sysupgrade image, either from uboot or from the sysupgrade functionality, fails recognizing the rootfs. In particular, the tplink-safeloader explicitely skips this alignment.

Other, similar hardware (RE450, Archer, etc) seems to work fine using the very same approach, and I cannot see any big difference there I'm afraid.
The sysupgrade image consists of an basic tplink v1 header (only kernel length and starting address filled), but the sqsh root appended straight to it. The tplink v1 header does not contain informtion about the rootfs (start/length), however this is the case for RE450 etc either.

Can anyone shed some light on this?
Should I be looking on why the appened rootfs is not detected, or is something wrong in the sysupgrade (I just added the new board id to the other tp-link boards)?


PS: Can anyone confirm that sysupgrade images for any platform build with the tplink-safeloader work when flashing from the GUI (oder with the sysupgrade binary rather than u-boot tftp)?

You have created, but obviously didn't finish it.

Please add

  • git commit which added support for this device.
  • OpenWrt firmware download links. No firmware to download from official servers -> device is unsupported
  • all the missing hardware information (too many to list them here)

Thanks for your support!

1 Like

I'm going to stress tests these on three pieces of hardware, if someone else is interested to give it a try, please go ahead and find the (test) factory or sysupgrade images at the hwdata link above.

NB the non-P v2 models don't have obvious solder pads for the console ports to debrick just in case, in contrast to v1 where P models didn't have one.

However, I haven't done a git commit yet for OpenWRT (same for the other works), will need to dig into to how to and faqs... Also, it's for 18.06 with kernel 4.9, and ar71xx instead of ath79, yet.

You probably already know this, but no "new" changes are being accepted for the ar71xx platform and it is planned to be removed prior to the next major release from the master branch.

The QCA9563 is generally well supported on ath79 on master. It might be easier to deal with image-generation and config/sysupgrade management on the newer target.

master has also moved to Linux 4.19 and there is no 4.9 support that I am aware of.

Did you make any further progress? I am interested in 19.07 for TL-WPA8630P v2 but only available build seems to be your 18.06 snapshot on ar71xx. Thanks in advance

Same here.
I can try to do it on my own in a few weeks, but I'd be happy if there was already some existing work that I can use.

Probably the original poster has lost interest or vanished. I've tried to reach him via e-mail in September and again in December and there was no reply.
Unfortunately there is no source or patch available for the provided firmware images at

Sorry, didn't find the time to go forward with it.
I plan to do so in latest mid-April...
The main hindrance is the ath79 part, which is not that easy.

Since I had a bit more time today than expected, I ported the current master to the TL-WPA8630 v2. I only have the 'P' model, it seems to work fine. For now, you can find the code in my github repository at If you need an image to test, please drop me a message.

I didn't have the time to check whether it can be installed from the stock firmware, because I was already running the OpenWrt build from @netadair. If you have @netadair's image installed, you need to run sysupgrade with sysupgrade -n -F /tmp/openwrt-ath79-generic-tplink_tl-wpa8630-v2-squashfs-sysupgrade.bin, because the board IDs do not match. This also overwrites your config files, you have been warned!

I will create a pull request after doing some more testing and after some feedback from you.

So I flashed back to stock in order to test installation via web interface (I used the tplink-safeloader tool to convert a stock image to a sysupgrade image) which worked fine. However, the software version is displayed as 0.0.0, date and rel are from @netadair's image. The web interface now accepts no image files, no matter if it's an OEM image or an OpenWrt image.

I will attach serial, but: any ideas how to revert to stock? I had similar problems with the software version being 0.0.0 on the TP-Link RE200, but a flash from stock via an OEM image corrected that problem (obviously, the RE200 accepts stock images).

EDIT: Seems like I accidentally flashed the OEM image of the non-P version to the P version, now it doesn't accept OEM firmware images because the combination of product and special ID do not match. I was able to create a hybrid image that flashed but now it's dead. No response at all from serial. I might have killed U-Boot, but I don't know why. Clearly, this shouldn't happen.

EDIT: If someone could send me a backup of the WPA8630Pv2 I'd much appreciate that! I don't care which Firmware is installed, since I only need the bootloader and config partitions (and maybe ART). Please send me a PM in this case.

I've got the backup. But I cannot find a way to PM you in this forum.
Sent me an e-mail at infl00p AT gmail com

  1. Click on the users icon (not on the name)
  2. Click on "Message"

I am in the same boat as @infl00p, I cannot direct message either. I actually signed up just now to reply to this thread. I have a TL-WPA8630P and no openwrt experience. Though I am hoping to change that by helping anyway I can. This corona virus isolation is putting new demands on my home network.

Edit: I found this:

Get to trust level 1 by…

* Entering at least 5 topics
* Reading at least 30 posts
* Spend a total of 10 minutes reading posts

Users at trust level 1 can…
* Send PMs

Same here and, fortunately, a bit more time (due to the same virus...)

Managed to sent a backup to @andyboeh !
Apparently the recovery was successful :smiley:


OK, with the help of @infl00p I was able to revive my WPA8630P V2 and I'm now running my ath79-based OpenWrt build. I still cannot flash from the stock firmware, though: Even if I flash a stock firmware image, it overwrites factory-uboot with zeros. Thus, I cannot test whether my OpenWrt build flashes from stock (the firmware definitely accepts it).

If you want to try my build or my code, please be prepared that it might bring your device to a state where you need to flash the IC directly. I did not have an SOIC-8 clip, so I soldered 8 small wires to the IC and hooked them up to a Raspberry PI. With a bit of dd- and flashrom-foo it can be restored.

1 Like

I am a bit confused by the difference between TL-WPA8630v2 and TL-WPA8630P and TL-WPA8630Pv2.

Stock I have:
Hardware version: TL-WPA8630P v1 00000000
Firmware version: 1.0.1 Build 170405 Rel.64864n

Am I out of luck for the build you've been working on?

Yes and No: Yours seems to be a v1 which is already officially supported. I've git one, too, and used @netadair's build for an initial flash and did a sysupgrade afterwards. If you check [Solved] TL-WPA8630P Lede does not install they're discussing the v1 and the initial installation problems (as well as P vs. non-P)

I have worked through the thread @andyboeh linked. I unfortunately could not get past the wrong file error despite downgrading stock, using @netadair's fixed versions (17.01.4 and 18.06.1) and changing the file name.

Is it possible the electrical plug/region type matters? I know TP-Link have different stock version of the firmware based on region. I am using the US version and the screenshots and links I've seen suggest you guys might be using the EU version? The hardware ID (0x86310001) seemed to be more complicated than just model and version.

I ask in this thread for continuity as well as possible relevance. It would be a consideration for V2 images as well right?