Port to TP-Link RE200

Sorry for long post..

(1): patch for tplink-safeloader.c: (src is on https://github.com/lede-project/source/master/tools/firmware-utils/src/)


--- tplink-safeloader.c 2020-03-17 12:45:34.557111063 -0400
+++ tplink-safeloader.c.new     2020-03-13 14:19:01.103578167 -0400
@@ -1479,6 +1479,51 @@
                .last_sysupgrade_partition = "file-system"
        },
 
+  /** Firmware layout for the RE200 v3 */
+       {
+               .id     = "RE200-V3",
+               .vendor = "",
+               .support_list =
+                       "SupportList:\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:00000000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:45550000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:4A500000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:4B520000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:43410000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:41550000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:42520000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:55530000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:41520000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:52550000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:54570000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:45530000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:49440000}\n"
+         "{product_name:RE200,product_ver:3.0.0,special_id:45470000}\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",

(2): compile: cc -o tplink-safeloader tplink-safeloader.c md5.c -Wall --std=gnu99
(3): unpack the v2 firmware : ./tplink-safeloader -x openwrt-ramips-mt76x8-tplink_re200-v2-squashfs-factory.bin -d openwrt-ramips-mt76x8-tplink_re200-v2-squashfs-factory-unpack
(4): pack v3 ../tplink-safeloader -B RE200-V3 -k os-image -r file-system -o ../openwrt-ramips-mt76x8-tplink_re200-v3-squashfs-factory-testcgm.bin

It worked for me, if is failing to boot you might need to crack it open and use serial interface..

2 Likes