From ba0f4f0cfddc6f1152273565ec35f2a0bda1e95d Mon Sep 17 00:00:00 2001 From: Christoph Krapp Date: Mon, 6 Jul 2020 23:05:25 +0200 Subject: ramips: add support for TP-Link RE500 v1 This device uses the same hardware as RE650 v1 which got supported in 8c51dde. Hardware specification: - SoC 880 MHz - MediaTek MT7621AT - 128 MB of DDR3 RAM - 16 MB - Winbond 25Q128FVSG - 4T4R 2.4 GHz - MediaTek MT7615E - 4T4R 5 GHz - MediaTek MT7615E - 1x 1 Gbps Ethernet - MT7621AT integrated - 7x LEDs (Power, 2G, 5G, WPS(x2), Lan(x2)) - 4x buttons (Reset, Power, WPS, LED) - UART header (J1) - 2:GND, 3:RX, 4:TX Serial console @ 57600,8n1 Flash instructions: Upload openwrt-ramips-mt7621-tplink_re500-v1-squashfs-factory.bin from the RE500 web interface. TFTP recovery to stock firmware: Unfortunately, I can't find an easy way to recover the RE without opening the device and using modified binaries. The TFTP upload will only work if selected from u-boot, which means you have to open the device and attach to the serial console. The TFTP update procedure does *not* accept the published vendor firmware binaries. However, it allows to flash kernel + rootfs binaries, and this works if you have a backup of the original contents of the flash. It's probably possible to create special image out of the vendor binaries and use that as recovery image. Signed-off-by: Christoph Krapp [remove dts-v1 in DTSI, do not touch WiFi LEDs for RE650, keep state_default in DTS files, fix label-mac-device, use lower case for WiFi LEDs] Signed-off-by: Adrian Schmutzler --- tools/firmware-utils/src/tplink-safeloader.c | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'tools/firmware-utils/src/tplink-safeloader.c') diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c index a97f329a87..6cd2a45247 100644 --- a/tools/firmware-utils/src/tplink-safeloader.c +++ b/tools/firmware-utils/src/tplink-safeloader.c @@ -1858,6 +1858,43 @@ static struct device_info boards[] = { .last_sysupgrade_partition = "file-system" }, + /** Firmware layout for the RE500 */ + { + .id = "RE500-V1", + .vendor = "", + .support_list = + "SupportList:\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:00000000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:55530000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:45550000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:4A500000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:43410000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:41550000}\r\n" + "{product_name:RE500,product_ver:1.0.0,special_id:41530000}\r\n", + .support_trail = '\x00', + .soft_ver = NULL, + + /* We're using a dynamic kernel/rootfs split here */ + .partitions = { + {"fs-uboot", 0x00000, 0x20000}, + {"firmware", 0x20000, 0xde0000}, + {"partition-table", 0xe00000, 0x02000}, + {"default-mac", 0xe10000, 0x00020}, + {"pin", 0xe10100, 0x00020}, + {"product-info", 0xe11100, 0x01000}, + {"soft-version", 0xe20000, 0x01000}, + {"support-list", 0xe21000, 0x01000}, + {"profile", 0xe22000, 0x08000}, + {"user-config", 0xe30000, 0x10000}, + {"default-config", 0xe40000, 0x10000}, + {"radio", 0xff0000, 0x10000}, + {NULL, 0, 0} + }, + + .first_sysupgrade_partition = "os-image", + .last_sysupgrade_partition = "file-system" + }, + /** Firmware layout for the RE650 */ { .id = "RE650-V1", -- cgit v1.2.3