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