Hi, the patch is whitespace broken. please fix an resend
John On 05/12/2015 02:18, Josh Bendavid wrote: > From: Josh Bendavid <joshbenda...@gmail.com <mailto:joshbenda...@gmail.com>> > > Add support for Archer C2600 to tplink-safeloader by adding needed > partition table, and vendor information plus support list strings. > Additional string C2600 is enabled for the -B option. > > Signed-off-by: Josh Bendavid <joshbenda...@gmail.com > <mailto:joshbenda...@gmail.com>> > --- > > diff --git a/tools/firmware-utils/src/tplink-safeloader.c > b/tools/firmware-utils/src/tplink-safeloader.c > index 77a894b..9bc2bcb 100644 > --- a/tools/firmware-utils/src/tplink-safeloader.c > +++ b/tools/firmware-utils/src/tplink-safeloader.c > @@ -105,6 +105,8 @@ static const uint8_t md5_salt[16] = { > /** Vendor information for CPE210/220/510/520 */ > static const char cpe510_vendor[] = "CPE510(TP-LINK|UN|N300-5):1.0\r\n"; > > +/** Vendor information for C2600 */ > +static const char c2600_vendor[] = ""; > > /** > The flash partition table for CPE210/220/510/520; > @@ -128,6 +130,39 @@ static const struct flash_partition_entry > cpe510_partitions[] = { > }; > > /** > + The flash partition table for C2600; > + it is the same as the one used by the stock images. > +*/ > +static const struct flash_partition_entry c2600_partitions[] = { > + {"SBL1", 0x00000, 0x20000}, > + {"MIBIB", 0x20000, 0x20000}, > + {"SBL2", 0x40000, 0x20000}, > + {"SBL3", 0x60000, 0x30000}, > + {"DDRCONFIG", 0x90000, 0x10000}, > + {"SSD", 0xa0000, 0x10000}, > + {"TZ", 0xb0000, 0x30000}, > + {"RPM", 0xe0000, 0x20000}, > + {"fs-uboot", 0x100000, 0x70000}, > + {"uboot-env", 0x170000, 0x40000}, > + {"radio", 0x1b0000, 0x40000}, > + {"os-image", 0x1f0000, 0x200000}, > + {"file-system", 0x3f0000, 0x1b00000}, > + {"default-mac", 0x1ef0000, 0x00200}, > + {"pin", 0x1ef0200, 0x00200}, > + {"product-info", 0x1ef0400, 0x0fc00}, > + {"partition-table", 0x1f00000, 0x10000}, > + {"soft-version", 0x1f10000, 0x10000}, > + {"support-list", 0x1f20000, 0x10000}, > + {"profile", 0x1f30000, 0x10000}, > + {"default-config", 0x1f40000, 0x10000}, > + {"user-config", 0x1f50000, 0x40000}, > + {"qos-db", 0x1f90000, 0x40000}, > + {"usb-config", 0x1fd0000, 0x10000}, > + {"log", 0x1fe0000, 0x20000}, > +{NULL, 0, 0} > +}; > + > +/** > The support list for CPE210/220/510/520 > */ > static const char cpe510_support_list[] = > @@ -141,6 +176,13 @@ static const char cpe510_support_list[] = > "CPE220(TP-LINK|UN|N300-2):1.0\r\n" > "CPE220(TP-LINK|UN|N300-2):1.1\r\n"; > > +/** > + The support list for C2600 > +*/ > +static const char c2600_support_list[] = > +"SupportList:\r\n" > +"{product_name:Archer C2600,product_ver:1.0.0,special_id:00000000}\r\n"; > + > #define error(_ret, _errno, _str, ...)\ > do {\ > fprintf(stderr, _str ": %s\n", ## __VA_ARGS__,\ > @@ -470,6 +512,39 @@ static void do_cpe510(const char *output, const > char *kernel_image, const char * > free_image_partition(parts[i]); > } > > +/** Generates an image for C2600 and writes it to a file */ > +static void do_c2600(const char *output, const char *kernel_image, > const char *rootfs_image, uint32_t rev, bool add_jffs2_eof, bool > sysupgrade) { > +struct image_partition_entry parts[6] = {}; > + > +parts[0] = make_partition_table(c2600_partitions); > +parts[1] = make_soft_version(rev); > +parts[2] = make_support_list(c2600_support_list); > +parts[3] = read_file("os-image", kernel_image, false); > +parts[4] = read_file("file-system", rootfs_image, add_jffs2_eof); > + > +size_t len; > +void *image; > +if (sysupgrade) > +image = generate_sysupgrade_image(c2600_partitions, parts, &len); > +else > +image = generate_factory_image(c2600_vendor, parts, &len); > + > +FILE *file = fopen(output, "wb"); > +if (!file) > +error(1, errno, "unable to open output file"); > + > +if (fwrite(image, len, 1, file) != 1) > +error(1, 0, "unable to write output file"); > + > +fclose(file); > + > +free(image); > + > +size_t i; > +for (i = 0; parts[i].name; i++) > +free_image_partition(parts[i]); > +} > + > > /** Usage output */ > static void usage(const char *argv0) { > @@ -552,6 +627,8 @@ int main(int argc, char *argv[]) { > > if (strcmp(board, "CPE510") == 0) > do_cpe510(output, kernel_image, rootfs_image, rev, add_jffs2_eof, > sysupgrade); > +else if (strcmp(board, "C2600") == 0) > +do_c2600(output, kernel_image, rootfs_image, rev, add_jffs2_eof, > sysupgrade); > else > error(1, 0, "unsupported board %s", board); > > > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel > _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel