aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-10-06 04:52:01 +0000
committerJohn Crispin <john@openwrt.org>2014-10-06 04:52:01 +0000
commit7ab5357280ba8d15ebb9a7b1121a754b1c473fd1 (patch)
treee16c6f3b76b7594b5a739c87a0e597ea633755fe /tools
parent7860c9707a386c5a6181937d47a4ef6faed93de9 (diff)
downloadupstream-7ab5357280ba8d15ebb9a7b1121a754b1c473fd1.tar.gz
upstream-7ab5357280ba8d15ebb9a7b1121a754b1c473fd1.tar.bz2
upstream-7ab5357280ba8d15ebb9a7b1121a754b1c473fd1.zip
firmware-utils: add NEXX factory image support
This patch adds support to encode and decode images for certain types of NEXX routers. SVN-Revision: 42784
Diffstat (limited to 'tools')
-rw-r--r--tools/firmware-utils/src/mkporayfw.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/firmware-utils/src/mkporayfw.c b/tools/firmware-utils/src/mkporayfw.c
index b4d5d78417..8e0cf24efb 100644
--- a/tools/firmware-utils/src/mkporayfw.c
+++ b/tools/firmware-utils/src/mkporayfw.c
@@ -58,6 +58,8 @@
#define HWID_PORAY_X5_X6 0x35353335
#define HWID_PORAY_X8 0x36353335
#define HWID_PORAY_X1 0x38353335
+#define HWID_NEXX_WT15XXX 0x30353332
+#define HWID_NEXX_WT3020A 0x30323033
/* Recognized XOR obfuscation keys */
#define KEY_HAME 0
@@ -65,6 +67,8 @@
#define KEY_PORAY_2 2
#define KEY_PORAY_3 3
#define KEY_PORAY_4 4
+#define KEY_NEXX_1 5
+#define KEY_NEXX_2 6
/* XOR key length */
#define KEY_LEN 15
@@ -117,6 +121,8 @@ static uint8_t key[][KEY_LEN] = {
{0xC9, 0x1C, 0x3A, 0x93, 0x92, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0xE6, 0xC7},
{0x19, 0x1B, 0x3A, 0x93, 0x92, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0xE6, 0xC7},
{0x79, 0x7B, 0x7A, 0x93, 0x92, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0xE6, 0xC7},
+ {0x19, 0x1C, 0x4A, 0x93, 0x96, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0x16, 0xC6},
+ {0x39, 0x1C, 0x4A, 0x93, 0x96, 0x95, 0xC3, 0x63, 0xD0, 0xA3, 0x9C, 0x92, 0x2E, 0x16, 0xC6},
};
static struct flash_layout layouts[] = {
@@ -198,6 +204,16 @@ static struct board_info boards[] = {
.layout_id = "8M",
.key = KEY_PORAY_1,
}, {
+ .id = "WT15XXX",
+ .hw_id = HWID_NEXX_WT15XXX,
+ .layout_id = "4M",
+ .key = KEY_NEXX_1,
+ }, {
+ .id = "WT3020A",
+ .hw_id = HWID_NEXX_WT3020A,
+ .layout_id = "4M",
+ .key = KEY_NEXX_2,
+ }, {
/* terminating entry */
}
};