Sysupgrade question for new device (TL-WPA8630P V2)

I installed the latest image today using sysupgrade (from a self compiled one I built before the merge). I cannot recall what the 2.4 wlan was but not it says "generic".

I did not keep changes with the sysupgrade so I am not sure what it is. Can someone confirm you have the same please?

Also can someone confirm if 802.11r can be used with the device?

root@OpenWrt:~# iwinfo
wlan0     ESSID: "openwrt"
          Access Point: 70:4F:57:99:23:C6
          Mode: Master  Channel: 40 (5.200 GHz)
          Tx-Power: 20 dBm  Link Quality: unknown/70
          Signal: unknown  Noise: -109 dBm
          Bit Rate: unknown
          Encryption: WPA2 PSK (CCMP)
          Type: nl80211  HW Mode(s): 802.11nac
          Hardware: 168C:0056 0000:0000 [Qualcomm Atheros QCA9886]
          TX power offset: none
          Frequency offset: none
          Supports VAPs: yes  PHY name: phy0

wlan1     ESSID: "openwrt"
          Access Point: 70:4F:57:99:23:C7
          Mode: Master  Channel: 3 (2.422 GHz)
          Tx-Power: 18 dBm  Link Quality: unknown/70
          Signal: unknown  Noise: -95 dBm
          Bit Rate: unknown
          Encryption: WPA2 PSK (CCMP)
          Type: nl80211  HW Mode(s): 802.11bgn
          Hardware: unknown [Generic MAC80211]
          TX power offset: unknown
          Frequency offset: unknown
          Supports VAPs: yes  PHY name: phy1

Hi, did build for WPA8630v2(US) worked good ? I woudl like to test it if possible . Thanks.

I finally found some time to test a snapshot on a TL-WPA8630Pv2 UK device: it works fine, and I reverted to stock without a problem too. (Same positive result as @jwmullally reported elsewhere, so nothing new, but also nothing bad :slight_smile:

But the filesystem was too small to be able to install luci. (opkg update && opkg install luci failed with the filesystem running out of space.) Any ideas how to make the available file space a little bigger?

Jon

Must have been recent changes maybe. The last time I installed a snapshot I could squeeze luci in (I cannot remember when though). Thanks for letting us know though.

1 Like

I realised that I actually compiled the image myself and did not use the official snapshot.

I just tested building again today and it seems that compiling a fresh image from source with luci included gives a sysupgrade file of "5571382" which should fit the partition "about 6MB".

I have not flashed it yet but will report back once I do.

EDIT: Tested and worked ok. Free space = 348.2 KB

I have the same experience. Building from source and including the "luci" package collection in make menuconfig produces working images. Installing separately runs out of space. For now it looks like the only way to get Luci onto the device.

Luci has lots of files, and being included in the squashfs rootfs image during build results in much better packing and compression than installing later onto the seperate jffs2 partition. See here for more info.

Hopefully the official release images will be able to include Luci. Imagebuilder is the other good solution for building images with official kernels and custom package selection. It should work with this:

make image PROFILE="tplink_tl-wpa8630p-v2-eu" PACKAGES="luci"

but there is something up with the package dependencies that is resulting in image sizes that go over the partition size. I asked about it here:

It seems Imagebuilder is pulling in procd-selinux and iw-full by default, which increases the size. But specifying procd and iw manually is enough to workaround this for the time being and get the same image sizes as produced from source builds.

So, to make your own images with Luci, the easiest thing to do is:

make image PROFILE="tplink_tl-wpa8630p-v2-eu" PACKAGES="procd iw luci"

Including other packages this way will fit more onto the device's squashfs rootfs than installing later into the jffs2 partition, and upgrading with sysupgrade images and keeping the configuration is easy to do.

So, I have two WPA8630 V1 ( EU ) one WPA8630P V2 ( EU ) and two WPA8630P V2.1 ( EU )

I have been building images for the WPA8630 V1 ( ath79 ) from master with everything I like, including openssl luci etc and the sysupgrade image is 6.5mb and the factory is 7.8.

I got the three WPA8630P devices yesterday and I am having a very hard time creating an image for it because make does not produce them because of oversize. The biggest I was able to get was 5.6mb for both the sysupgrade and factory image. Is there a reason for this? Isn't the flash also 8mb and as such, shouldn't the images produced be able to reach near the 8mb size?

On another note: I was able to upgrade the PLC firmware to version 2.8 ( from 2.2.3 ) and I also noticed that the wifi on the 8630P V2 ( QCA9886 ) is quite worse than the one on the WPA8630 V1 ( QCA9880 ).
The V2 has a tx limit of 18 and 20dbm ( for 2.4 and 5 respectively ) while the WPA8630 V1 has 22 and 30dbm limits.

Regarding the two WPA8630P V2.1 ( EU ), they don't accept the netdair firmware for the V2 nor the factory firmware from current master for the V2. ( I tried renaming the firmware file to the one offered by TPlink on their website for the V2.1 ). That firmware flashes without issues.

I am available to test a firmware even if this means bricking it.

I connected a jtag and logged the output of the device booting:

For WPA8630Pv2, If you look at the stock partition layouts here you'll see only about 5.8M is available for the kernel (os-image) and filesystem partitions.

Here is a comparison of a few different image builds.

# Same image that comes from a minimal source build.
$ curl -O https://downloads.openwrt.org/snapshots/targets/ath79/generic/openwrt-ath79-generic-tplink_tl-wpa8630p-v2-eu-squashfs-factory.bin
$ ls -sh openwrt-ath79-generic-tplink_tl-wpa8630p-v2-eu-squashfs-factory.bin
5.2M openwrt-ath79-generic-tplink_tl-wpa8630p-v2-eu-squashfs-factory.bin

# Using imagebuilder
$ curl -O https://downloads.openwrt.org/snapshots/targets/ath79/generic/openwrt-imagebuilder-ath79-generic.Linux-x86_64.tar.xz
$ tar -xf openwrt-imagebuilder-ath79-generic.Linux-x86_64.tar.xz
$ cd openwrt-imagebuilder-ath79-generic.Linux-x86_64

$ ls -sh build_dir/target-mips_24kc_musl/linux-ath79_generic/tplink_tl-wpa8630p-v2-eu-kernel.bin
2.1M build_dir/target-mips_24kc_musl/linux-ath79_generic/tplink_tl-wpa8630p-v2-eu-kernel.bin

# Make image with default Imagebuilder packages. Unfortunately, in comparison to the default source builds, "opkg" automatically pulls in "procd-selinux" and "iw-full" from "base-files" dependency. Adding "luci" would be too big and fail.

$ make image PROFILE="tplink_tl-wpa8630p-v2-eu" PACKAGES=""
Filesystem size 3479.13 Kbytes (3.40 Mbytes)
        37.63% of uncompressed filesystem size (9245.70 Kbytes)
$ ls -sh bin/targets/ath79/generic/openwrt-ath79-generic-tplink_tl-wpa8630p-v2-eu-squashfs-factory.bin
5.5M bin/targets/ath79/generic/openwrt-ath79-generic-tplink_tl-wpa8630p-v2-eu-squashfs-factory.bin

# Use non-selinux procd and non-full iw just like build defaults. "luci" fits on this image.

$ make image PROFILE="tplink_tl-wpa8630p-v2-eu" PACKAGES="procd iw"
Filesystem size 3171.62 Kbytes (3.10 Mbytes)
        37.81% of uncompressed filesystem size (8389.12 Kbytes)
$ ls -sh bin/targets/ath79/generic/openwrt-ath79-generic-tplink_tl-wpa8630p-v2-eu-squashfs-factory.bin 
5.2M bin/targets/ath79/generic/openwrt-ath79-generic-tplink_tl-wpa8630p-v2-eu-squashfs-factory.bin

# Remove PPP, SAE/WPA3-Personal support.

$ make image PROFILE="tplink_tl-wpa8630p-v2-eu" PACKAGES="procd iw -wpad-basic-wolfssl wpad-basic -libustream-wolfssl libustream-mbedtls -ppp -ppp-mod-pppoe"
Filesystem size 2895.22 Kbytes (2.83 Mbytes)
        38.20% of uncompressed filesystem size (7578.57 Kbytes)
$ ls -sh bin/targets/ath79/generic/openwrt-ath79-generic-tplink_tl-wpa8630p-v2-eu-squashfs-factory.bin 
5.0M bin/targets/ath79/generic/openwrt-ath79-generic-tplink_tl-wpa8630p-v2-eu-squashfs-factory.bin

With the last example, I can fit luci luci-app-commands luci-proto-wireguard open-plc-utils-plctool open-plc-utils-plcrate with a good bit of space to spare.

Regarding the two WPA8630P V2.1 ( EU )

On the barcode sticker on that device, what does it say for the model? E.g. "TL-WPA8630P(EU) Ver:2.0". Is this the right support page for that device?

Right now there is no out-of-the-box support for it, you would need to add your own DTS file and section to tplink-safeloader where the right partitions are listed.

I am available to test a firmware even if this means bricking it.

Do you have any means of recovering the devices? (e.g. safe use of SPI flash programmer) If you are really willing to risk it, I can try make you a test firmware to use on one of them. It looks very similar to the 2.0 other than the partitions, but I'll need to double check. Beware that during testing of the above firmware(s) we did brick the devices a few times.

  1. It says: TL-WPA8630P(EU) Ver:2.1
  2. yes, that is the right support page. I successfully flashed the OEM firmware available on that page onto the device.
  3. Don't own a SPI programmer. If the bootloader dies I will have no means of recovering the device.
    3.1) I am 100% willing to risk it, and would truly appreciate your help. The device is useless for me without OpenWRT so it is currently as good as dead.

So, if you can send me a .bin file to test that would be awesome.

Thanks!

I did this on all my devices as well. It was easier than expected using plctool. Which procedure did you follow to upgrade the firmware?

One of the reasons why there is a 5.8MB limit is the way PLC firmware updates are handled by the stock firmware: a copy of the PLC firmware is stored in the flash memory and then written to the PLC controller by the Linux firmware.

I see. That explains why the TPLink PLC utility only accepts .bin files instead of .nvm and .pib.

So, I first tried updating using the TPLink PLC utility but as said above, it only accepts .bin files. I found out later, this only happens when the default TPlink linux firmware is present. I decided forget the PLC firmware for a while and upgrade the device to OpenWRT. I built a custom image from trunk with plctool, flashed it via the device and OpenWRT booted just fine ( I'm talking about the 8630P v2.0 device ). I then noticed that the PLC utility from TPLINK now accepted .nvm and .pib files for the device. I loged into OpenWRT and with plctool I made a backup of the device .pib. I then used that .pib and the latest 2.8 PLC firmware and flashed them via the TPLink PLC utility and it worked perfectly.

Yep, I made the same experience.

I only used plctool on my desktop computer for the upgrade, but the procedure is the same, i.e. extracting the .pib and then flashing .nvm and .pib.

I noticed some improvements regarding stability with the new PLC firmware.

Can you please share how you backup and then upgrade the plc firmware uisng plctool?

Also can someone share the plcrate vs the iperf3 speed they get? I only get 100mbs (which is probably fine) but the rate shown on plcrate is about 500.


root@OpenWrt:~# plcrate -i br-lan
br-lan 70:4F:57:99:23:C9 7C:8B:CA:3C:59:33 TX 446 mbps Alternate
br-lan 70:4F:57:99:23:C9 7C:8B:CA:3C:59:33 RX 532 mbps Alternate

root@MIR3G:~# iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.10 port 56486 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  11.6 MBytes  97.4 Mbits/sec    0    568 KBytes       
[  5]   1.00-2.00   sec  13.2 MBytes   111 Mbits/sec    0   1.20 MBytes       
[  5]   2.00-3.00   sec  12.6 MBytes   106 Mbits/sec   50   1.08 MBytes       
[  5]   3.00-4.00   sec  11.9 MBytes   100 Mbits/sec    0   1.20 MBytes       
[  5]   4.00-5.00   sec  11.5 MBytes  96.1 Mbits/sec    0   1.29 MBytes       
[  5]   5.00-6.00   sec  12.2 MBytes   103 Mbits/sec   55    981 KBytes       
[  5]   6.00-7.00   sec  12.6 MBytes   105 Mbits/sec    0   1.02 MBytes       
[  5]   7.00-8.00   sec  11.9 MBytes  99.5 Mbits/sec    0   1.06 MBytes       
[  5]   8.00-9.00   sec  13.2 MBytes   111 Mbits/sec    0   1.08 MBytes       
[  5]   9.00-10.00  sec  14.2 MBytes   119 Mbits/sec    0   1.10 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   125 MBytes   105 Mbits/sec  105             sender
[  5]   0.00-10.07  sec   124 MBytes   103 Mbits/sec                  receiver

iperf Done.

I don't remember the exact commands, but going through the "help"-section it should be something like:

plctool -i eth0 -p backup.pib aa:bb:cc:dd:ee:ff
plctool -i eth0 -P backup.pib -N firmware.nvm aa:bb:cc:dd:ee:ff

Replace eth0 by your ethernet device name and aa:bb:cc:dd:ee:ff by the MAC address of the PLC adapter you would like to flash. Afterwards, reset the device to boot the new firmware:

plctool -i eth0 -R aa:bb:cc:dd:ee:ff

You can search for and get information about the device using plctool -a.

1 Like

Thanks a lot it's actually easier than I thought (have not upgraded yet).

I also realised I can run plctool from my pc without installing it on the device and save some precious space.

Last noob question please: where do you get the latest files please? Do you extract them form the fimrware itself?

That's what I did :slight_smile:

I found the required firmware files in the TP-Link community.