@ -683,6 +683,42 @@ static struct device_info boards[] = {
. last_sysupgrade_partition = " file-system "
. last_sysupgrade_partition = " file-system "
} ,
} ,
/** Firmware layout for the TL-WR1043 v5 */
{
. id = " TLWR1043NV5 " ,
. vendor = " " ,
. support_list =
" SupportList: \n "
" {product_name:TL-WR1043N,product_ver:5.0.0,special_id:45550000} \n "
" {product_name:TL-WR1043N,product_ver:5.0.0,special_id:55530000} \n " ,
. support_trail = ' \x00 ' ,
. soft_ver = " soft_ver:1.0.0 \n " ,
. partitions = {
{ " factory-boot " , 0x00000 , 0x20000 } ,
{ " fs-uboot " , 0x20000 , 0x20000 } ,
{ " os-image " , 0x40000 , 0x180000 } ,
{ " file-system " , 0x1c0000 , 0xd40000 } ,
{ " default-mac " , 0xf00000 , 0x00200 } ,
{ " pin " , 0xf00200 , 0x00200 } ,
{ " device-id " , 0xf00400 , 0x00100 } ,
{ " product-info " , 0xf00500 , 0x0fb00 } ,
{ " soft-version " , 0xf10000 , 0x01000 } ,
{ " extra-para " , 0xf11000 , 0x01000 } ,
{ " support-list " , 0xf12000 , 0x0a000 } ,
{ " profile " , 0xf1c000 , 0x04000 } ,
{ " default-config " , 0xf20000 , 0x10000 } ,
{ " user-config " , 0xf30000 , 0x40000 } ,
{ " qos-db " , 0xf70000 , 0x40000 } ,
{ " certificate " , 0xfb0000 , 0x10000 } ,
{ " partition-table " , 0xfc0000 , 0x10000 } ,
{ " log " , 0xfd0000 , 0x20000 } ,
{ " radio " , 0xff0000 , 0x10000 } ,
{ NULL , 0 , 0 }
} ,
. first_sysupgrade_partition = " os-image " ,
. last_sysupgrade_partition = " file-system "
} ,
/** Firmware layout for the TL-WR1043 v4 */
/** Firmware layout for the TL-WR1043 v4 */
{
{
. id = " TLWR1043NDV4 " ,
. id = " TLWR1043NDV4 " ,
@ -1261,7 +1297,9 @@ static void build_image(const char *output,
parts [ 3 ] = read_file ( " os-image " , kernel_image , false ) ;
parts [ 3 ] = read_file ( " os-image " , kernel_image , false ) ;
parts [ 4 ] = read_file ( " file-system " , rootfs_image , add_jffs2_eof ) ;
parts [ 4 ] = read_file ( " file-system " , rootfs_image , add_jffs2_eof ) ;
if ( strcasecmp ( info - > id , " ARCHER-C25-V1 " ) = = 0 ) {
/* Some devices need the extra-para partition to accept the firmware */
if ( strcasecmp ( info - > id , " ARCHER-C25-V1 " ) = = 0 | |
strcasecmp ( info - > id , " TLWR1043NV5 " ) = = 0 ) {
const char mdat [ 11 ] = { 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 } ;
const char mdat [ 11 ] = { 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 } ;
parts [ 5 ] = put_data ( " extra-para " , mdat , 11 ) ;
parts [ 5 ] = put_data ( " extra-para " , mdat , 11 ) ;
} else if ( strcasecmp ( info - > id , " ARCHER-C7-V4 " ) = = 0 ) {
} else if ( strcasecmp ( info - > id , " ARCHER-C7-V4 " ) = = 0 ) {