[LEDE-DEV] [PATCH v3 0/2] ar71xx: fix making firmwares for Linksys WRT400N

Yousong Zhou yszhou4tech at gmail.com
Tue Jan 17 00:25:58 PST 2017


Hi,

On 29 December 2016 at 15:26, Yousong Zhou <yszhou4tech at gmail.com> wrote:
> I believe the situation at the moment for WRT400N is like this
>
>  - factory image is broken and will brick the device because the utility
>    wrt400n will truncate the kernel to 1MB.
>  - sysupgrade image is missing from snapshots because the kernel size is too
>    big exceeding the size limit imposed by "linux" part of mtdparts
>

Please consider picking these 2 patches into the lede-17.01 branch as
wrt400n firmwares made with current code are bound to fail.  I made a
patchwork bundle in case it may help:
http://patchwork.ozlabs.org/bundle/yousong/wrt400n/

                yousong

> Lifting size limits of mtdparts is easy.  I was more interested in figuring out
> where did that 0x100000 and 0x2fffc4 limit for factory image come from.
>
> Here are my finding After checking with content of OEM SDK, I believe that only
> crc32sum of the whole firmware was checked and the other 2 crc32sums for kernel
> and rootfs were only written to nvram without actually being checked.  However
> I did find a utility named 'read_fw' using the same limit as the old wrt400n
> here, but it seems that it's just a read-only utility for synthesizing a
> factory from /dev/mtd{2,3}.
>
> Maybe someone with serial console attached to this device can give the patch a
> try.  Bear in mind though it may brick your device and so you MUST prepare
> before hand how to do the unbrick.
>
> Google Drive link for ready-made firmwares:
>
>         https://drive.google.com/drive/folders/0B0ollk-mJJJAaTJmb01hb1pjejg
>
> v3 <- v2
>
>         - Changed from RFT to PATCH (thanks to Frank Horowitz for testing the RFT v2 version)
>         - Rebased on current master (use pad-to instead of append-kernel with blocksize)
>         - wrt400n: add size limit check on kernel and rootfs part as required by OEM system
>
> v2 <- v0:
>
>         - fix crc32 seed value for crc32sum of whole file
>         - fix output file permission bits
>         - fix fw_totalsize calculation
>         - 0xff as the last byte of ih.magic
>
>
> Yousong Zhou (2):
>   tools: wrt400n: fix making factory images with kernel bigger than 1MB
>   ar71xx: wrt400n: lift size limit on kernel and rootfs part
>
>  .../ar71xx/files/arch/mips/ath79/mach-wrt400n.c    |  12 +-
>  target/linux/ar71xx/image/generic.mk               |  22 +
>  target/linux/ar71xx/image/legacy-devices.mk        |   5 -
>  target/linux/ar71xx/image/legacy.mk                |  11 -
>  tools/firmware-utils/src/wrt400n.c                 | 463 +++++++++------------
>  5 files changed, 221 insertions(+), 292 deletions(-)
>
> --
> 2.6.4
>



More information about the Lede-dev mailing list