ramips: add support for TP-Link RE650 v1

TP-Link RE650 v1 is a dual-band AC2600 range extender,
based on MediaTek MT7621A and MT7615E. According to the
wikidevi entry for RE650 this device is identical with
TP-Link RE500 as hardware. This patch supports only RE650.

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_re650-v1-squashfs-factory.bin
from the RE650 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: Georgi Vlaev <georgi.vlaev@gmail.com>
[re-added variables for kernel header]
Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
Georgi Vlaev
2019-04-17 21:17:45 +03:00
committed by David Bauer
parent d6198d8625
commit 8c51ddeff0
5 changed files with 242 additions and 10 deletions

View File

@@ -1366,6 +1366,43 @@ static struct device_info boards[] = {
.last_sysupgrade_partition = "file-system"
},
/** Firmware layout for the RE650 */
{
.id = "RE650-V1",
.vendor = "",
.support_list =
"SupportList:\r\n"
"{product_name:RE650,product_ver:1.0.0,special_id:00000000}\r\n"
"{product_name:RE650,product_ver:1.0.0,special_id:55530000}\r\n"
"{product_name:RE650,product_ver:1.0.0,special_id:45550000}\r\n"
"{product_name:RE650,product_ver:1.0.0,special_id:4A500000}\r\n"
"{product_name:RE650,product_ver:1.0.0,special_id:43410000}\r\n"
"{product_name:RE650,product_ver:1.0.0,special_id:41550000}\r\n"
"{product_name:RE650,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"
},
{}
};