ramips: add support for TP-Link RE200 v2
authorAndreas Böhler <dev@aboehler.at>
Tue, 28 Jan 2020 15:17:41 +0000 (16:17 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sat, 1 Feb 2020 18:41:51 +0000 (19:41 +0100)
TP-Link RE200 v2 is a wireless range extender with Ethernet and 2.4G and 5G
WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN.

Specifications
--------------

- MediaTek MT7628AN (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 1x 10/100 Mbps Ethernet
- UART header on PCB (57600 8n1)
- 8x LED (GPIO-controlled), 2x button

There are 2.4G and 5G LEDs in red and green which are controlled
separately.

MAC addresses
-------------

The MAC address assignment matches stock firmware, i.e.:
LAN : *:0D
2.4G: *:0E
5G  : *:0F

Installation
------------

Web Interface
-------------

It is possible to upgrade to OpenWrt via the web interface. Simply flash
the -factory.bin from OEM. In contrast to a stock firmware, this will not
overwrite U-Boot.

Serial console
--------------

Opening the case is quite hard, since it is welded together. Rename the
OpenWrt factory image to "test.bin", then plug in the device and quickly
press "2" to enter flash mode (no line feed). Follow the prompts until
OpenWrt is installed.

Unfortunately, this devices does not offer a recovery mode or a tftp
installation method. If the web interface upgrade fails, you have to open
your device and attach serial console.

Additonal notes
---------------

It is possible to flash back to stock by using tplink-safeloader to create
a sysupgrade image based on a stock update. After the first boot, it is
necessary upgrade to another stock image, otherwise subsequent boots
fail with LZMA ERROR 1 and you have to attach serial to recover the device.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
[remove DEVICE_VARS change]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
src/tplink-safeloader.c

index 43c4bafe00e01676f302b7b0a2cda570d6bbad38..0359c9f6140efddc5bac231fcf32f04ff886626a 100644 (file)
@@ -1436,6 +1436,49 @@ static struct device_info boards[] = {
                .last_sysupgrade_partition = "file-system",
        },
 
+  /** Firmware layout for the RE200 v2 */
+       {
+               .id     = "RE200-V2",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:00000000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:41520000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:41550000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:42520000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:43410000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:45530000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:45550000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:49440000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:4a500000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:4b520000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:52550000}\n"
+                       "{product_name:RE200,product_ver:2.0.0,special_id:54570000}\n"
+                       "{product_name:RE200,product_ver:2.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"
+       },
+
   /** Firmware layout for the RE305 v1 */
        {
                .id     = "RE305-V1",