openwrt/tools/firmware-utils/src
Felix Fietkau 076d58d344 firmware-utils: mkfwimage: fix firmware_max_length for XM layout
The new u-boot version bundled with the 5.6.x firmwares from Ubiquiti gets
confused by the smaller rootfs partition size; this can lead to various
issues:

1. We've gotten reports that flashing from the 5.6.x stock firmware to
   OpenWrt will brick devices; I wasn't able to reproduce this myself
2. Flashing from 5.5.x stock firmware to OpenWrt and back to stock (via
   TFTP recovery), following by an update to 5.6.x via web interface can
   yield a bricked device with the following properties:
   - It can't be booted without entering commands over a serial console, as
     u-boot supplies the wrong MTD layout
   - The web interface won't accept any image with the original flash
     layout, so stock firmware upgrades are impossible
   - As the TFTP recovery doesn't update u-boot, returning to the old
     u-boot from firmware 5.5.x is impossible

To recover from 2., creating an OpenWrt image which doesn't set u-boot as
read-only and flashing a backup of the old u-boot from there is the only
way known to me. (Fixing the mtdparts variable in u-boot-env from OpenWrt
might also work; settings this from u-boot over serial didn't have
any permanent effect.)

Fix all of this by setting the correct flash layout also used by the stock
firmware. Flashing has been tested from both firmware 5.5.x and 5.6.x. The
fixed layout also matches the mtdparts defined by OpenWrt.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 48829
2016-02-29 20:11:33 +00:00
..
add_header.c firmware-utils: when using open with O_CREAT and O_WRONLY, also use O_TRUNC to ensure that overwritten files have the right size (fixes #3505) 2008-09-23 16:12:40 +00:00
addpattern.c tools: adapt addpattern for WD's Range Extender 2013-11-07 22:31:48 +00:00
airlink.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
asustrx.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
bcm_tag.h firmware-utils: move bcm_tag.h here 2012-10-08 09:59:50 +00:00
bcmalgo.c tools: add Broadcom cable modem firmware image creator 2013-06-06 22:21:52 +00:00
bcmalgo.h tools: add Broadcom cable modem firmware image creator 2013-06-06 22:21:52 +00:00
buffalo-enc.c firmware-utils/buffalo-enc: add support for decrypting data with an offset 2015-10-12 13:11:03 +00:00
buffalo-lib.c firmware-utils/buffalo-enc: explicitly use signed char for checksum function 2015-10-12 13:11:20 +00:00
buffalo-lib.h tools/firmware-utils: allow to create buffalo image from two files 2011-07-06 08:04:50 +00:00
buffalo-tag.c tools/firmware-utils: allow to create buffalo image from two files 2011-07-06 08:04:50 +00:00
buffalo-tftp.c firmware-utils: fix compilation warnings. 2014-10-20 06:29:13 +00:00
csysimg.h adds support for Edimax BR-6524N 2013-01-06 11:11:30 +00:00
cyg_crc16.c firmware-utils: add new tool for the wrt400n (based on a patch by Sandeep Mistry <sandeep.mistry at gmail.com>) 2009-07-12 08:59:18 +00:00
cyg_crc32.c firmware-utils: add new tool for the wrt400n (based on a patch by Sandeep Mistry <sandeep.mistry at gmail.com>) 2009-07-12 08:59:18 +00:00
cyg_crc.h firmware-utils: add new tool for the wrt400n (based on a patch by Sandeep Mistry <sandeep.mistry at gmail.com>) 2009-07-12 08:59:18 +00:00
dgfirmware.c firmware-utils: fix various compiler warnings 2015-12-11 15:09:30 +00:00
dgn3500sum.c lantiq: DGN3500 (all known variants) factory and sysupgrade image building support 2014-06-17 15:38:54 +00:00
edimax_fw_header.c tools: edimax_fw_header: fix suspicious memset usage 2015-01-10 18:08:16 +00:00
encode_crc.c remove 'svn:executable' property 2010-04-12 17:08:57 +00:00
fix-u-media-header.c firmware-utils: new tool for fixing U-Media firmware headers 2012-10-18 07:23:09 +00:00
fw.h buld images for the Ubiquiti LiteStation and NanoStation ported from http://atheros.openwrt.net. Tested on a Nanostation 2 with airos 3 2008-05-07 23:47:17 +00:00
hcsmakeimage.c tools: add Broadcom cable modem firmware image creator 2013-06-06 22:21:52 +00:00
imagetag_cmdline.c brcm63xx: do not align squashfs rootfs start 2015-02-27 17:38:14 +00:00
imagetag_cmdline.h brcm63xx: do not align squashfs rootfs start 2015-02-27 17:38:14 +00:00
imagetag.c brcm63xx: work around boot failures with squashfs on BCM6368 2015-11-04 11:33:22 +00:00
imagetag.ggo brcm63xx: do not align squashfs rootfs start 2015-02-27 17:38:14 +00:00
lzma2eva.c firmware-utils: fix various compiler warnings 2015-12-11 15:09:30 +00:00
makeamitbin.c Add makeamitbin to generate images for other RDC-based devices, thanks sn9 ! 2008-10-28 16:26:42 +00:00
md5.c firmware-utils: add new firmware generation tool for the TP-LINK TL-WR941ND device 2009-02-26 16:59:15 +00:00
md5.h firmware-utils: add new firmware generation tool for the TP-LINK TL-WR941ND device 2009-02-26 16:59:15 +00:00
mkbrncmdline.c Support booting the Speedport W502V using BRN-BOOT. 2012-02-14 17:48:04 +00:00
mkbrnimg.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
mkcameofw.c firmware-utils/mkcameofw: allow to use combined kernel image 2013-05-08 17:11:08 +00:00
mkcasfw.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
mkchkimg.c brcm47xx: Add new image generation and fix leds/reset button on WNR834B V2 2010-08-06 20:21:32 +00:00
mkcsysimg.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
mkdapimg.c Add Netgear WNCE2001 (OF version) 2013-04-09 14:19:33 +00:00
mkdcs932.c tools: add tool to generate dcs93xl images 2013-10-07 15:01:05 +00:00
mkdniimg.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
mkedimaximg.c Add firmware tool for generating factory images for Edimax devices 2011-10-30 22:57:41 +00:00
mkfwimage2.c firmware-utils: allow mkfwimage2 to use - in partition names 2015-12-23 14:43:47 +00:00
mkfwimage.c firmware-utils: mkfwimage: fix firmware_max_length for XM layout 2016-02-29 20:11:33 +00:00
mkheader_gemtek.c firmware-utils: add Gemtek header tool 2014-04-22 08:08:39 +00:00
mkhilinkfw.c firmware-utils: fix various compiler warnings 2015-12-11 15:09:30 +00:00
mkmerakifw.c firmware-utils mkmerakifw: firmware generator for MR18 2015-12-11 15:06:45 +00:00
mkmylofw.c ar71xx: Revert "added board support for compex wpj558" 2015-02-02 10:32:04 +00:00
mkplanexfw.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
mkporayfw.c ramips: generate factory images for Nexx devices 2014-12-07 16:53:22 +00:00
mkrtn56uimg.c firmware-utils: fix compilation warnings. 2014-10-20 06:29:13 +00:00
mksenaofw.c firmware-utils: made mkdir615h1 work for all Senao-produced devices as mksenaofw and cleaned up some of its formatting 2014-08-03 11:13:58 +00:00
mktitanimg.c fix mktitanimg segfault on 64-bits hosts (#7443) 2010-06-12 18:10:01 +00:00
mktitanimg.h add mktitanimg to create Titan (AR7-based) images (#6632) 2010-06-06 19:16:43 +00:00
mktplinkfw2.c lantiq: add support for TP-Link VR200v 2016-01-18 20:40:03 +00:00
mktplinkfw.c ar71xx: Added support for TL-WA801NDv3 2016-02-12 08:30:28 +00:00
mkwrgimg.c firmware-utils: rename the devname variable in mkwrgimg to avoid a clash with a BSD stdlib function 2011-07-08 05:20:24 +00:00
mkzcfw.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
mkzynfw.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
motorola-bin.c get rid of $Id$ - it has never helped us and it has broken too many patches ;) 2009-04-17 14:09:46 +00:00
myloader.h ar71xx: Revert "added board support for compex wpj558" 2015-02-02 10:32:04 +00:00
nand_ecc.c firmware-utils: add a small utility for generating nand flash images with ecc info 2009-06-14 20:42:28 +00:00
osbridge-crc.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
oseama.c firmware-utils: add oseama tool for creating Seama entities 2016-02-01 12:42:00 +00:00
pc1crypt.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
ptgen.c firmware-tools/ptgen: use stdint types for struct pte 2015-06-14 17:41:21 +00:00
seama.c tools: firmware-utils: fix compiler warnings 2015-10-11 19:00:41 +00:00
seama.h tools/firmware-utils: add seama tool 2012-10-18 07:22:57 +00:00
sha1.c firmware-utils/mkplanexfw: new firmware generation tool for the Planex MZK-W04NU device 2009-02-04 21:09:06 +00:00
sha1.h firmware-utils/mkplanexfw: new firmware generation tool for the Planex MZK-W04NU device 2009-02-04 21:09:06 +00:00
spw303v.c firmware-utils: fix various compiler warnings 2015-12-11 15:09:30 +00:00
srec2bin.c firmware-utils: fix various compiler warnings 2015-12-11 15:09:30 +00:00
tplink-safeloader.c tools/firmware-utils: tplink-safeloader: add version 1.1 support to CPE210/220/510/520 2015-10-19 10:08:50 +00:00
trx2edips.c firmware-utils: fix build on big endian systems 2011-06-21 21:13:58 +00:00
trx2usr.c move target/utils to tools/firmware-utils 2006-12-06 23:41:38 +00:00
trx.c firmware-utils/trx: remove trailing whitespaces 2013-11-30 18:30:57 +00:00
wrt400n.c firmware-utils: fix various compiler warnings 2015-12-11 15:09:30 +00:00
xorimage.c bcm63xx: Add firmware helpers for T-Home Speedport W 303V 2011-05-11 13:34:05 +00:00
zynos.h firmware-utils/mkzynfw: add support for the NBG460N board 2010-05-14 09:20:36 +00:00
zyxbcm.c firmware-utils: fix various compiler warnings 2015-12-11 15:09:30 +00:00