diff mbox series

[firmware-utils,v2] tplink-safeloader: add TP-Link Deco M4R v1 and v2 support

Message ID 20220424160951.882653-1-superh552@gmail.com
State Accepted
Delegated to: Sander Vanheule
Headers show
Series [firmware-utils,v2] tplink-safeloader: add TP-Link Deco M4R v1 and v2 support | expand

Commit Message

KinteLiX April 24, 2022, 4:09 p.m. UTC
Support creating images for TP-Link Deco M4R v1 and v2.

Original partition layout from OEM image:
 partition fs-uboot base 0x00000 size 0x80000
 partition os-image base 0x80000 size 0x200000
 partition file-system base 0x280000 size 0xc00000
 partition product-info base 0xe80000 size 0x05000
 partition default-mac base 0xe85000 size 0x01000
 partition device-id base 0xe86000 size 0x01000
 partition support-list base 0xe87000 size 0x10000
 partition user-config base 0xea7000 size 0x10000
 partition device-config base 0xeb7000 size 0x10000
 partition group-info base 0xec7000 size 0x10000
 partition partition-table base 0xed7000 size 0x02000
 partition soft-version base 0xed9000 size 0x10000
 partition profile base 0xee9000 size 0x10000
 partition default-config base 0xef9000 size 0x10000
 partition url-sig base 0xfe0000 size 0x10000
 partition radio base 0xff0000 size 0x10000

The 'os-image' and 'file-system' partitions were merged into 'firmware'
to make use of the automatic mtd split.

The first 2 versions of the device use the same firmware image,
v3 and v4 are different.

Signed-off-by: Foica David <superh552@gmail.com>
---
Changes v1 -> v2:
 - Remove unnecessary comments and switch board name
   to properly differentiate between versions.

---
 src/tplink-safeloader.c | 47 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

Comments

Sander Vanheule April 24, 2022, 8:37 p.m. UTC | #1
On Sun, 2022-04-24 at 19:09 +0300, Foica David wrote:
> Support creating images for TP-Link Deco M4R v1 and v2.
> 
> Original partition layout from OEM image:
>  partition fs-uboot base 0x00000 size 0x80000
>  partition os-image base 0x80000 size 0x200000
>  partition file-system base 0x280000 size 0xc00000
>  partition product-info base 0xe80000 size 0x05000
>  partition default-mac base 0xe85000 size 0x01000
>  partition device-id base 0xe86000 size 0x01000
>  partition support-list base 0xe87000 size 0x10000
>  partition user-config base 0xea7000 size 0x10000
>  partition device-config base 0xeb7000 size 0x10000
>  partition group-info base 0xec7000 size 0x10000
>  partition partition-table base 0xed7000 size 0x02000
>  partition soft-version base 0xed9000 size 0x10000
>  partition profile base 0xee9000 size 0x10000
>  partition default-config base 0xef9000 size 0x10000
>  partition url-sig base 0xfe0000 size 0x10000
>  partition radio base 0xff0000 size 0x10000
> 
> The 'os-image' and 'file-system' partitions were merged into 'firmware'
> to make use of the automatic mtd split.
> 
> The first 2 versions of the device use the same firmware image,
> v3 and v4 are different.
> 
> Signed-off-by: Foica David <superh552@gmail.com>

Thanks! Merged into firmware-utils.

Best,
Sander
KinteLiX April 24, 2022, 10:01 p.m. UTC | #2
On Sun, 24 Apr 2022 at 23:37, Sander Vanheule <sander@svanheule.net> wrote:
>
> On Sun, 2022-04-24 at 19:09 +0300, Foica David wrote:
> > Support creating images for TP-Link Deco M4R v1 and v2.
> >
> > Original partition layout from OEM image:
> >  partition fs-uboot base 0x00000 size 0x80000
> >  partition os-image base 0x80000 size 0x200000
> >  partition file-system base 0x280000 size 0xc00000
> >  partition product-info base 0xe80000 size 0x05000
> >  partition default-mac base 0xe85000 size 0x01000
> >  partition device-id base 0xe86000 size 0x01000
> >  partition support-list base 0xe87000 size 0x10000
> >  partition user-config base 0xea7000 size 0x10000
> >  partition device-config base 0xeb7000 size 0x10000
> >  partition group-info base 0xec7000 size 0x10000
> >  partition partition-table base 0xed7000 size 0x02000
> >  partition soft-version base 0xed9000 size 0x10000
> >  partition profile base 0xee9000 size 0x10000
> >  partition default-config base 0xef9000 size 0x10000
> >  partition url-sig base 0xfe0000 size 0x10000
> >  partition radio base 0xff0000 size 0x10000
> >
> > The 'os-image' and 'file-system' partitions were merged into 'firmware'
> > to make use of the automatic mtd split.
> >
> > The first 2 versions of the device use the same firmware image,
> > v3 and v4 are different.
> >
> > Signed-off-by: Foica David <superh552@gmail.com>
>
> Thanks! Merged into firmware-utils.
>
> Best,
> Sander
>

Awesome! Thanks for your help with this, have a nice day!

Regards,
Foica David
diff mbox series

Patch

diff --git a/src/tplink-safeloader.c b/src/tplink-safeloader.c
index e4021a9..b866ec5 100644
--- a/src/tplink-safeloader.c
+++ b/src/tplink-safeloader.c
@@ -1779,6 +1779,53 @@  static struct device_info boards[] = {
 		.last_sysupgrade_partition = "file-system"
 	},
 
+	/** Firmware layout for the Deco M4R v1 and v2 */
+	{
+		.id     = "DECO-M4R-V1",
+		.vendor = "",
+		.support_list =
+			"SupportList:\n"
+			"{product_name:M4R,product_ver:1.0.0,special_id:55530000}\n"
+			"{product_name:M4R,product_ver:1.0.0,special_id:45550000}\n"
+			"{product_name:M4R,product_ver:1.0.0,special_id:43410000}\n"
+			"{product_name:M4R,product_ver:1.0.0,special_id:4A500000}\n"
+			"{product_name:M4R,product_ver:1.0.0,special_id:41550000}\n"
+			"{product_name:M4R,product_ver:1.0.0,special_id:4B520000}\n"
+			"{product_name:M4R,product_ver:1.0.0,special_id:49440000}\n"
+			"{product_name:M4R,product_ver:2.0.0,special_id:55530000}\n"
+			"{product_name:M4R,product_ver:2.0.0,special_id:45550000}\n"
+			"{product_name:M4R,product_ver:2.0.0,special_id:43410000}\n"
+			"{product_name:M4R,product_ver:2.0.0,special_id:4A500000}\n"
+			"{product_name:M4R,product_ver:2.0.0,special_id:41550000}\n"
+			"{product_name:M4R,product_ver:2.0.0,special_id:4B520000}\n"
+			"{product_name:M4R,product_ver:2.0.0,special_id:54570000}\n"
+			"{product_name:M4R,product_ver:2.0.0,special_id:42340000}\n"
+			"{product_name:M4R,product_ver:2.0.0,special_id:49440000}\n",
+		.part_trail = 0x00,
+		.soft_ver = SOFT_VER_DEFAULT,
+
+		.partitions = {
+			{"fs-uboot", 0x00000, 0x80000},
+			{"firmware", 0x80000, 0xe00000},
+			{"product-info", 0xe80000, 0x05000},
+			{"default-mac", 0xe85000, 0x01000},
+			{"device-id", 0xe86000, 0x01000},
+			{"support-list", 0xe87000, 0x10000},
+			{"user-config", 0xea7000, 0x10000},
+			{"device-config", 0xeb7000, 0x10000},
+			{"group-info", 0xec7000, 0x10000},
+			{"partition-table", 0xed7000, 0x02000},
+			{"soft-version", 0xed9000, 0x10000},
+			{"profile", 0xee9000, 0x10000},
+			{"default-config", 0xef9000, 0x10000},
+			{"url-sig", 0xfe0000, 0x10000},
+			{"radio", 0xff0000, 0x10000},
+			{NULL, 0, 0}
+		},
+		.first_sysupgrade_partition = "os-image",
+		.last_sysupgrade_partition = "file-system",
+	},
+
 	/** Firmware layout for the TL-WA1201 v2 */
 	{
 		.id     = "TL-WA1201-V2",