summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/ar71xx/image/tp-link.mk1
-rw-r--r--tools/firmware-utils/src/tplink-safeloader.c33
2 files changed, 24 insertions, 10 deletions
diff --git a/target/linux/ar71xx/image/tp-link.mk b/target/linux/ar71xx/image/tp-link.mk
index 140123a4d8..fc38cf1026 100644
--- a/target/linux/ar71xx/image/tp-link.mk
+++ b/target/linux/ar71xx/image/tp-link.mk
@@ -101,6 +101,7 @@ endef
define Device/cpe210-220
$(Device/cpe510-520)
BOARDNAME := CPE210
+ TPLINK_BOARD_NAME := CPE210
endef
TARGET_DEVICES += cpe210-220 cpe510-520
diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c
index 2e204aa233..4938f74eec 100644
--- a/tools/firmware-utils/src/tplink-safeloader.c
+++ b/tools/firmware-utils/src/tplink-safeloader.c
@@ -163,6 +163,15 @@ static const struct flash_partition_entry c2600_partitions[] = {
};
/**
+ The support list for CPE210/220
+*/
+static const char cpe210_support_list[] =
+ "SupportList:\r\n"
+ "CPE210(TP-LINK|UN|N300-2):1.0\r\n"
+ "CPE210(TP-LINK|UN|N300-2):1.1\r\n"
+ "CPE220(TP-LINK|UN|N300-2):1.0\r\n"
+ "CPE220(TP-LINK|UN|N300-2):1.1\r\n";
+/**
The support list for CPE210/220/510/520
*/
static const char cpe510_support_list[] =
@@ -170,11 +179,7 @@ static const char cpe510_support_list[] =
"CPE510(TP-LINK|UN|N300-5):1.0\r\n"
"CPE510(TP-LINK|UN|N300-5):1.1\r\n"
"CPE520(TP-LINK|UN|N300-5):1.0\r\n"
- "CPE520(TP-LINK|UN|N300-5):1.1\r\n"
- "CPE210(TP-LINK|UN|N300-2):1.0\r\n"
- "CPE210(TP-LINK|UN|N300-2):1.1\r\n"
- "CPE220(TP-LINK|UN|N300-2):1.0\r\n"
- "CPE220(TP-LINK|UN|N300-2):1.1\r\n";
+ "CPE520(TP-LINK|UN|N300-5):1.1\r\n";
/**
The support list for C2600
@@ -511,12 +516,18 @@ static void * generate_sysupgrade_image_c2600(const struct flash_partition_entry
}
/** Generates an image for CPE210/220/510/520 and writes it to a file */
-static void do_cpe510(const char *output, const char *kernel_image, const char *rootfs_image, uint32_t rev, bool add_jffs2_eof, bool sysupgrade) {
+static void do_cpe(const char *output,
+ const char *kernel_image,
+ const char *rootfs_image,
+ uint32_t rev,
+ bool add_jffs2_eof,
+ bool sysupgrade,
+ const char *support_list) {
struct image_partition_entry parts[6] = {};
parts[0] = make_partition_table(cpe510_partitions);
parts[1] = make_soft_version(rev);
- parts[2] = make_support_list(cpe510_support_list,false);
+ parts[2] = make_support_list(support_list, false);
parts[3] = read_file("os-image", kernel_image, false);
parts[4] = read_file("file-system", rootfs_image, add_jffs2_eof);
@@ -549,7 +560,7 @@ static void do_c2600(const char *output, const char *kernel_image, const char *r
parts[0] = make_partition_table(c2600_partitions);
parts[1] = make_soft_version(rev);
- parts[2] = make_support_list(c2600_support_list,true);
+ parts[2] = make_support_list(c2600_support_list, true);
parts[3] = read_file("os-image", kernel_image, false);
parts[4] = read_file("file-system", rootfs_image, add_jffs2_eof);
@@ -656,8 +667,10 @@ int main(int argc, char *argv[]) {
if (!output)
error(1, 0, "no output filename has been specified");
- if (strcmp(board, "CPE510") == 0)
- do_cpe510(output, kernel_image, rootfs_image, rev, add_jffs2_eof, sysupgrade);
+ if (strcmp(board, "CPE210") == 0)
+ do_cpe(output, kernel_image, rootfs_image, rev, add_jffs2_eof, sysupgrade, cpe210_support_list);
+ else if (strcmp(board, "CPE510") == 0)
+ do_cpe(output, kernel_image, rootfs_image, rev, add_jffs2_eof, sysupgrade, cpe510_support_list);
else if (strcmp(board, "C2600") == 0)
do_c2600(output, kernel_image, rootfs_image, rev, add_jffs2_eof, sysupgrade);
else