Request for TP-Link RE220 v1 images (RE200 v3 clone) by someone with a toolchain

Favor Request for anyone with a Dev Toolchain

Request: Build a set of test images (initramfs, factory, sysupgrade, kernel) for the TP-link RE220v1 by cloning the Tp-link RE200v3.
Note: I will try going down this path, but based on the rate of progress so far, it could be a while.

The RE220v1 appears to be identical to the RE200v3 except for the different power plug (UK vs US).
I have tested the RE200v3 image on an RE220v1 device and everything works. See RE220v1 post for more details.

I have two RE220v1 devices w/ serial and can provide additional data if needed.

More detail on the request.
You may want to just start w/ official repo files. Here is what I think the changes would look like. Not sure if there would be any end of line issues (Win vs Linux) copying to/from forum.

The commitdiff for TP-Link RE200 v3 is best starting point.

1) create
[openwrt/openwrt.git] / target / linux / ramips / dts / mt7628an_tplink_re220-v1.dts

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;

#include "mt7628an_tplink_re200.dtsi"

/ {
    compatible = "tplink,re220-v1", "mediatek,mt7628an-soc";
    model = "TP-Link RE220 v1";

    aliases {
        led-boot = &led_power;
        led-failsafe = &led_power;
        led-running = &led_power;
        led-upgrade = &led_power;
    };

    leds {
        compatible = "gpio-leds";

        wps {
            label = "re220-v1:green:wps";
            gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
        };

        wifi {
            label = "re220-v1:green:wifi";
            gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
        };

        lan {
            label = "re220-v1:green:lan";
            gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
        };

        led_power: power {
            label = "re220-v1:green:power";
            gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
        };

        wifi2g_green {
            label = "re220-v1:green:wifi2g";
            gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
            linux,default-trigger = "phy0tpt";
        };

        wifi5g_green {
            label = "re220-v1:green:wifi5g";
            gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
            linux,default-trigger = "phy1tpt";
        };

        wifi2g_red {
            label = "re220-v1:red:wifi2g";
            gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
        };

        wifi5g_red {
            label = "re220-v1:red:wifi5g";
            gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
        };
    };
};

&state_default {
    gpio {
        groups = "p4led_an", "p3led_an", "p2led_an", "p1led_an",
                "p0led_an", "wled_an", "i2c", "wdt", "refclk";
        function = "gpio";
    };
};

2) Update Make file
target/linux/ramips/image/mt76x8.mk
add section for re220v1

define Device/tplink_re200-v3
  $(Device/tplink-safeloader)
  IMAGE_SIZE := 7808k
  DEVICE_MODEL := RE220
  DEVICE_VARIANT := v1
  DEVICE_PACKAGES := kmod-mt76x0e
  TPLINK_BOARD_ID := RE220-V1
endef
TARGET_DEVICES += tplink_re220-v1

3) Update leds file
target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
add section for re220v1

tplink,re220-v1|\

4) update network file
target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
add section for re220v1

tplink,re220-v1|\

5) update safeloader file
tools/firmware-utils/src/tplink-safeloader.c
add section for re220v1

/** Firmware layout for the RE220 v1 */
    {
        .id     = "RE220-V1",
        .vendor = "",
        .support_list =
            "SupportList:\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:00000000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:41520000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:41550000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:42520000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:43410000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:45470000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:45530000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:45550000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:49440000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:4A500000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:4B520000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:52550000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:54570000}\n"
            "{product_name:RE220,product_ver:1.0.0,special_id:55530000}\n",
        .support_trail = '\x00',
        .soft_ver = NULL,

        .partitions = {
            {"fs-uboot", 0x00000, 0x20000},
            {"firmware", 0x20000, 0x7a0000},
            {"partition-table", 0x7c0000, 0x02000},
            {"default-mac", 0x7c2000, 0x00020},
            {"pin", 0x7c2100, 0x00020},
            {"product-info", 0x7c3100, 0x01000},
            {"soft-version", 0x7c4200, 0x01000},
            {"support-list", 0x7c5200, 0x01000},
            {"profile", 0x7c6200, 0x08000},
            {"config-info", 0x7ce200, 0x00400},
            {"user-config", 0x7d0000, 0x10000},
            {"default-config", 0x7e0000, 0x10000},
            {"radio", 0x7f0000, 0x10000},
            {NULL, 0, 0}
        },

        .first_sysupgrade_partition = "os-image",
        .last_sysupgrade_partition = "file-system"
    },

6) Do a pull request after I test the image

I'm happy to help you. You will have your test images in a few hours.

@jedboy, I'm having issues with image size. :frowning: Any advise on how to reduce it when compiling from master?

Disabling the KALLSYMS setting is one, master uses it but stable releases do not.

1 Like

Any other suggestions? KALLSYMS is not configured, and I'm using config.buildinfo from 22.03.0, not master.

amteza, thanks for working on this. I haven't done a build before so can't offer much for help.

The docs has a page on using official build config which maybe you are already doing. The RE200v3 would be a similar device. Wouldn't that result in same size as official build?

If it makes a difference, luci can be excluded like in snapshot builds.

@jedboy, our issue here is that many of the builds are having problems lately with version 22.03. It happens to my RE450v2. If you are okay with it, I will build a 21.02.3 version to see if I get all the required files and then keep working on reducing 22.03.0. I'm using the RE200v3 configuration as the base precisely because of their similitudes.

@amteza yes, 21.02.3 will be fine.

Okay, got 22.03.0 working. Let me add the safeloader.c changes.

This looks like a one on one copy from the RE200 v3 commit you referenced. This list should only include known special IDs. It can then be expanded as needed. What's the one your device has?

@amteza I had to update the safeloader patch to use the conventions master uses. You can find it below. However, we shouldn't be including a list of special IDs we do not know actually exist in the wild. This is a full copy paste from the RE200 v3 and it should not be merged as is.

diff --git a/src/tplink-safeloader.c b/src/tplink-safeloader.c
index 7f9081d..51e3938 100644
--- a/src/tplink-safeloader.c
+++ b/src/tplink-safeloader.c
@@ -2463,6 +2463,50 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system"
        },
 
+/** Firmware layout for the RE220 v1 */
+    {
+        .id     = "RE220-V1",
+        .vendor = "",
+        .support_list =
+            "SupportList:\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:00000000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:41520000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:41550000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:42520000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:43410000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:45470000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:45530000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:45550000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:49440000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:4A500000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:4B520000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:52550000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:54570000}\n"
+            "{product_name:RE220,product_ver:1.0.0,special_id:55530000}\n",
+        .part_trail = '\x00',
+        .soft_ver = SOFT_VER_DEFAULT,
+
+        .partitions = {
+            {"fs-uboot", 0x00000, 0x20000},
+            {"firmware", 0x20000, 0x7a0000},
+            {"partition-table", 0x7c0000, 0x02000},
+            {"default-mac", 0x7c2000, 0x00020},
+            {"pin", 0x7c2100, 0x00020},
+            {"product-info", 0x7c3100, 0x01000},
+            {"soft-version", 0x7c4200, 0x01000},
+            {"support-list", 0x7c5200, 0x01000},
+            {"profile", 0x7c6200, 0x08000},
+            {"config-info", 0x7ce200, 0x00400},
+            {"user-config", 0x7d0000, 0x10000},
+            {"default-config", 0x7e0000, 0x10000},
+            {"radio", 0x7f0000, 0x10000},
+            {NULL, 0, 0}
+        },
+
+        .first_sysupgrade_partition = "os-image",
+        .last_sysupgrade_partition = "file-system"
+    },
+

Okay, but I had to fix it, I think support_trail should not be used, I patched it as follows before your update:

--- a/src/tplink-safeloader.c
+++ b/src/tplink-safeloader.c
@@ -2398,6 +2398,50 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system"
        },

+       /** Firmware layout for the RE220 v1 */
+       {
+               .id     = "RE220-V1",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:00000000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:41520000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:41550000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:42520000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:43410000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:45470000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:45530000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:45550000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:49440000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:4A500000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:4B520000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:52550000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:54570000}\n"
+                       "{product_name:RE220,product_ver:1.0.0,special_id:55530000}\n",
+               .part_trail = 0x00,
+               .soft_ver = SOFT_VER_DEFAULT,
+
+               .partitions = {
+                       {"fs-uboot", 0x00000, 0x20000},
+                       {"firmware", 0x20000, 0x7a0000},
+                       {"partition-table", 0x7c0000, 0x02000},
+                       {"default-mac", 0x7c2000, 0x00020},
+                       {"pin", 0x7c2100, 0x00020},
+                       {"product-info", 0x7c3100, 0x01000},
+                       {"soft-version", 0x7c4200, 0x01000},
+                       {"support-list", 0x7c5200, 0x01000},
+                       {"profile", 0x7c6200, 0x08000},
+                       {"config-info", 0x7ce200, 0x00400},
+                       {"user-config", 0x7d0000, 0x10000},
+                       {"default-config", 0x7e0000, 0x10000},
+                       {"radio", 0x7f0000, 0x10000},
+                       {NULL, 0, 0}
+               },
+
+               .first_sysupgrade_partition = "os-image",
+               .last_sysupgrade_partition = "file-system"
+       },
+
        /** Firmware layout for the RE220 v2 */
        {
                .id     = "RE220-V2",

Yes, part_trail, stale cache on my end. Keep in mind only support based on master will be merged (and you'll need to send in the firmware-utils patch separately). So if you want this merged it makes more sense to test on master first.

Patch for device support on master:

From f8400d037715f38a545ee7302ae1e987f4c34d7a Mon Sep 17 00:00:00 2001
From: <snip>
Date: Thu, 29 Sep 2022 23:56:19 +0200
Subject: [PATCH] ramips: mt76x8: add support for TP-Link RE220 v1

---
 .../ramips/dts/mt7628an_tplink_re220-v1.dts   | 70 +++++++++++++++++++
 target/linux/ramips/image/mt76x8.mk           | 10 +++
 .../mt76x8/base-files/etc/board.d/01_leds     |  1 +
 .../mt76x8/base-files/etc/board.d/02_network  |  1 +
 4 files changed, 82 insertions(+)
 create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re220-v1.dts

diff --git a/target/linux/ramips/dts/mt7628an_tplink_re220-v1.dts b/target/linux/ramips/dts/mt7628an_tplink_re220-v1.dts
new file mode 100644
index 0000000000..7b307bccdb
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_tplink_re220-v1.dts
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7628an_tplink_re200.dtsi"
+
+/ {
+    compatible = "tplink,re220-v1", "mediatek,mt7628an-soc";
+    model = "TP-Link RE220 v1";
+
+    aliases {
+        led-boot = &led_power;
+        led-failsafe = &led_power;
+        led-running = &led_power;
+        led-upgrade = &led_power;
+    };
+
+    leds {
+        compatible = "gpio-leds";
+
+        wps {
+            label = "re220-v1:green:wps";
+            gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+        };
+
+        wifi {
+            label = "re220-v1:green:wifi";
+            gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+        };
+
+        lan {
+            label = "re220-v1:green:lan";
+            gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
+        };
+
+        led_power: power {
+            label = "re220-v1:green:power";
+            gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+        };
+
+        wifi2g_green {
+            label = "re220-v1:green:wifi2g";
+            gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
+            linux,default-trigger = "phy0tpt";
+        };
+
+        wifi5g_green {
+            label = "re220-v1:green:wifi5g";
+            gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
+            linux,default-trigger = "phy1tpt";
+        };
+
+        wifi2g_red {
+            label = "re220-v1:red:wifi2g";
+            gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
+        };
+
+        wifi5g_red {
+            label = "re220-v1:red:wifi5g";
+            gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
+        };
+    };
+};
+
+&state_default {
+    gpio {
+        groups = "p4led_an", "p3led_an", "p2led_an", "p1led_an",
+                "p0led_an", "wled_an", "i2c", "wdt", "refclk";
+        function = "gpio";
+    };
+};
diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index 100d5d9c6c..0b51959a77 100644
--- a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -579,6 +579,16 @@ define Device/tplink_re200-v4
 endef
 TARGET_DEVICES += tplink_re200-v4
 
+define Device/tplink_re220-v1
+  $(Device/tplink-safeloader)
+  IMAGE_SIZE := 7808k
+  DEVICE_MODEL := RE220
+  DEVICE_VARIANT := v1
+  DEVICE_PACKAGES := kmod-mt76x0e
+  TPLINK_BOARD_ID := RE220-V1
+endef
+TARGET_DEVICES += tplink_re220-v1
+
 define Device/tplink_re220-v2
   $(Device/tplink-safeloader)
   IMAGE_SIZE := 7808k
diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
index 0af01d4393..c68447b063 100644
--- a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
@@ -76,6 +76,7 @@ tplink,archer-c50-v4)
 tplink,re200-v2|\
 tplink,re200-v3|\
 tplink,re200-v4|\
+tplink,re220-v1|\
 tplink,re220-v2|\
 tplink,tl-mr3020-v3|\
 tplink,tl-wa801nd-v5)
diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
index 963a20c653..eb360a31ed 100644
--- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
@@ -23,6 +23,7 @@ ramips_setup_interfaces()
 	tplink,re200-v2|\
 	tplink,re200-v3|\
 	tplink,re200-v4|\
+	tplink,re220-v1|\
 	tplink,re220-v2|\
 	tplink,re305-v1|\
 	tplink,re305-v3|\
-- 
2.30.2


Yes, I will do so. Thanks for the format and advice, @Borromini. Let's see how testing goes first.

1 Like

@jedboy, please see the following:

Folder containing factory, sysupgrade and initramfs files (patched against 22.03.0, for now) - click me to download

Let me know how it goes. After that I will patch master for you to test and issue the PRs.

I have uploaded master images with LuCI based on the patch above here.

@amteza Feel free to run with it. I was mostly curious to see if building on master here would break like you said, but I didn't see any glaring issues.

Yeah, just finishing the build here on my side while I shared 22.03.0 with jedboy and looks fine now.

1 Like

@amteza, thanks I will test it
@Borromini, yes special_id section copy pasted from RE200v3. How do I check for correct values on a device?

BTW, updated the master versions too in the same folder. I'll wait for your confirmation that both 22.03.0 and master binaries work before preparing PRs.

There is an issue with the 'test build' (the first one you provided, and with the snapshot aka master versions.

When I run RE200v3 image, radio1 shows up in /etc/config/wireless.
When I run the two builds you provided, there is no radio1.

The process I'm using:
Interrupt U-Boot. Hit '4' to get command line.
Configure tftp server on 192.168.0.184 with initramfs image as test.bin
Run commands
tftpboot
bootm 82000000
Once it boots, scp the matching sysupgrade image to /tmp/ then run
sysupgrade -n sysupgradefile.bin

Results look like...

---------- RE200v3 initramfs image running -------------
root@OpenWrt:/# ubus call system board
{
        "kernel": "5.10.138",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7628AN ver:1 eco:2",
        "model": "TP-Link RE200 v3",
        "board_name": "tplink,re200-v3",
        "rootfs_type": "initramfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "22.03.0",
                "revision": "r19685-512e76967f",
                "target": "ramips/mt76x8",
                "description": "OpenWrt 22.03.0 r19685-512e76967f"
        }
}

root@OpenWrt:/# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'platform/10300000.wmac'
        option htmode 'HT20'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

--------- RE200v3 sysupgrade image installed ----------------
root@OpenWrt:/# ubus call system board
{
        "kernel": "5.10.138",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7628AN ver:1 eco:2",
        "model": "TP-Link RE200 v3",
        "board_name": "tplink,re200-v3",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "22.03.0",
                "revision": "r19685-512e76967f",
                "target": "ramips/mt76x8",
                "description": "OpenWrt 22.03.0 r19685-512e76967f"
        }
}
root@OpenWrt:/# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/10300000.wmac'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'pci0000:00/0000:00:00.0/0000:01:00.0'
        option channel '36'
        option band '5g'
        option htmode 'VHT80'
        option disabled '1'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

--------- RE220v1 test build initramfs test image running ------------------
root@OpenWrt:/# ubus call system board
{
        "kernel": "5.10.138",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7628AN ver:1 eco:2",
        "model": "TP-Link RE220 v1",
        "board_name": "tplink,re220-v1",
        "rootfs_type": "initramfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "22.03.0",
                "revision": "r19685-512e76967f",
                "target": "ramips/mt76x8",
                "description": "OpenWrt 22.03.0 r19685-512e76967f"
        }
}
root@OpenWrt:/# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/10300000.wmac'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

------- RE220v1 test build sysupgrade test image installed  ------------------
root@OpenWrt:/# ubus call system board
{
        "kernel": "5.10.138",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7628AN ver:1 eco:2",
        "model": "TP-Link RE220 v1",
        "board_name": "tplink,re220-v1",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "22.03.0",
                "revision": "r19685-512e76967f",
                "target": "ramips/mt76x8",
                "description": "OpenWrt 22.03.0 r19685-512e76967f"
        }
}
root@OpenWrt:/# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/10300000.wmac'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'
cat 

----------- snapshot r20787 initramfs running
root@OpenWrt:/# ubus call system board
{
        "kernel": "5.10.144",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7628AN ver:1 eco:2",
        "model": "TP-Link RE220 v1",
        "board_name": "tplink,re220-v1",
        "rootfs_type": "initramfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r20787-3848cf458e",
                "target": "ramips/mt76x8",
                "description": "OpenWrt SNAPSHOT r20787-3848cf458e"
        }
}

root@OpenWrt:/# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/10300000.wmac'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

-------- snapshot r20787 sysupgrade installed
root@OpenWrt:/# ubus call system board
{
        "kernel": "5.10.144",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7628AN ver:1 eco:2",
        "model": "TP-Link RE220 v1",
        "board_name": "tplink,re220-v1",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r20787-3848cf458e",
                "target": "ramips/mt76x8",
                "description": "OpenWrt SNAPSHOT r20787-3848cf458e"
        }
}

root@OpenWrt:/# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/10300000.wmac'
        option channel '1'
        option band '2g'
        option htmode 'HT20'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

That's weird, can you add manually the other radio to /etc/config/wireless? It would work just fine if RE220v1 is exactly like RE200v3.

Just try adding it manually based in the info you have from RE200v3 image. I'll check once I'm back home.