Commit Graph

81 Commits

Author SHA1 Message Date
Henryk Heisig
3083cc6acf firmware-utils: mktplinkfw: add support for BR region code
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2017-12-14 09:29:30 +01:00
Thibaut VARÈNE
050fb3b55c tools/firmware-utils: mktplinkfw* fix rootfs offset
With '-a' specified on the command line, the current code:
- computes an aligned _kernel length_ instead of an aligned _rootfs
  offset_.
- does not update the rootfs offset after computing the new kernel
  length, and instead retains the layout default.

When the kernel length exceeds the available space left with this
fixed offset, the resulting image header contains invalid data, with
the recorded rootfs offset overlapping the kernel area.

This patch ensures that rootfs offset is correctly computed and
reflected in the final image.

Furthermore, the build_fw() function special cases the rootfs_align
option because of the above invalid logic. This is also fixed and
the computed (or command-line provided, or layout-provided) rootfs_ofs
value is used in all cases.

There seems to be no valid reason to extend the kernel length beyond
the actual length of the kernel itself (OFW images don't do it) so this
part of the existing behavior is dropped.

Example image before the patch:
Kernel data offset     : 0x00000200 /      512 bytes
Kernel data length     : 0x00158438 /  1410104 bytes
Kernel load address    : 0x00000080
Kernel entry point     : 0x00000080
Rootfs data offset     : 0x00140000 /  1310720 bytes
Rootfs data length     : 0x001e4f7e /  1986430 bytes

Example image after the patch:
Kernel data offset     : 0x00000200 /      512 bytes
Kernel data length     : 0x001583fe /  1410046 bytes
Kernel load address    : 0x00000080
Kernel entry point     : 0x00000080
Rootfs data offset     : 0x00158600 /  1410560 bytes
Rootfs data length     : 0x001e4e22 /  1986082 bytes

Tested-by: Mathias Kresin <dev@kresin.me>
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Tested-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Tested-by: Henryk Heisig <hyniu@o2.pl>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2017-11-08 23:18:22 +01:00
Thibaut VARÈNE
9e768b9aac tools/firmware-utils: mktplinkfw move build_fw() to lib
This patch moves build_fw() to mktplinkfw-lib.c

The versions of mktplinkfw.c and mktplinkfw2.c had slight
differences in code flow, the version from mktplinkfw.c has been
preferred.

While it's expected that this change will not affect mktplinkfw2,
all use cases could not be tested and so this particular change
is committed separately.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2017-10-06 08:28:41 +02:00
Thibaut VARÈNE
10324fcb39 tools/firmware-utils: mktplinkfw regroup duplicate code
This patch carves out the duplicated code of mktplinfw.c and
mktplinkfw2.c and moves it to mktplinkfw-lib.c

This change is a semantic NOP (the code is unchanged).

To ensure compatibility with gcc-5.x and newer without changing
the code, -fgnu89-inline is added to the build flags for these
two binaries.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2017-10-06 08:28:41 +02:00
Piotr Dymacz
b3cb0e7588 firmware-utils: mktplinkfw: rework combined image option
We use combined option in "mktplinkfw" tool for generating initramfs
kernel images and header for kernel inside "safeloader" image type (in
fact, only for TL-WR1043ND v4 at this moment).

There is also "mktplinkfw-kernel" tool, a stripped-down version, used
only for generating "simple" header, for safeloader image types.

This changes how "mktplinkfw" handles combined images (which then will
allow us to drop the stripped-down version of the tool):

- drop "ignore size" command line option (it was used only for combined
  images anyway)
- don't require "flash layout id" for combined images (we don't need and
  shouldn't limit size of the initramfs kernel and for kernels inside
  safeloader images, the "tplink-safeloader" tool does the size check)
- require kernel address and entry point in command line parameters for
  combined images (consequence of previous point)
- don't include md5 sum and firmware length values in header (they are
  needed only for update from vendor GUI and are ingored in case of
  initramfs and "tplink-safeloader" images)
- drop "fake" flash layout for TL-WR1043ND v4 as it's no longer needed

Also, adjust "mktplinkfw-combined" command in ar71xx/image/tp-link.mk to
match introduced changes in "mktplinkfw" tool.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-07-22 23:29:50 +02:00
Piotr Dymacz
a3d232e1e6 firmware-utils: mktplinkfw: add option for endianness swap
This adds command line option in "mktplinkfw" tool for endianness swap
in kernel load address and entry point fields. As in "mktplinkfw2" tool,
we will need this for little-endian targets, like "ramips".

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-07-04 15:40:43 +02:00
Matthias Schiffer
51740990cd
firmware-utils: add support for TL-WR1043ND v4 to mktplinkfw and tplink-safeloader
The TL-WR1043ND v4 uses a kernel image with a mktplinkfw header inside the
os-image partition of a tplink-safeloader image.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-12-20 14:38:48 +01:00
Matthias Schiffer
a4fc62bc0e
firmware-utils: mktplinkfw: add support for TP-Link's new region codes
TP-Link has changed the way the region is stored in the firmware header,
and now provides US- and EU-specific images for the Archer C7. Adding the
new region codes is necessary to make LEDE/OpenWrt flashable on devices
with the new stock firmwares again.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-08-28 19:59:21 +02:00
John Crispin
d35801b9c5 tools: firmware-utils: add region code support to mktplinkfw
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 49215
2016-04-21 19:47:15 +00:00
John Crispin
51b6448746 tools: firmware-utils: clean up mktplinkfw
Remove the whole board list from mktplinkfw, as OpenWrt doesn't use it and
it was severely out of sync with the list of built images for ar71xx.

Also:
* fix -Wall warnings
* add const where appropriate

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

SVN-Revision: 49214
2016-04-21 19:47:12 +00:00
John Crispin
5f1a82ec4f ar71xx: add TP-Link TL-WA901ND-v4 support
Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>

SVN-Revision: 49158
2016-04-09 10:26:46 +00:00
John Crispin
3fd98db818 ar71xx: Add support for the OMYlink OMY-X1
This patch adds support for the OMYlink OMY-X1

https://wiki.openwrt.org/toh/omylink/omy-x1

http://www.omylink.com/

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>

SVN-Revision: 49026
2016-03-16 09:26:58 +00:00
John Crispin
d6cb792d21 ar71xx: Added support for TL-WA801NDv3
Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>

SVN-Revision: 48705
2016-02-12 08:30:28 +00:00
John Crispin
0231d41352 mktplinkfw: add missing exceeding bytes info to logs
Add the info on exceeding bytes also to the remaining log messages.

Signed-off-by: Felix Kaechele <felix@kaechele.ca>

SVN-Revision: 47864
2015-12-11 15:08:44 +00:00
John Crispin
257e76a3df ar71xx: Bitmain Antminer S1 & S3 cleanup
Sets the LEDs to boardname:color:led-name
Sets the LAN to eth0
Other corrections such as the Machine Name and HWIDs
v2 corrects the profile names in the Makefile and changes tabs to spaces
in the Makefile 'define Device/' like the other devices.

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>

SVN-Revision: 47221
2015-10-19 10:10:02 +00:00
Hauke Mehrtens
3d1a65adb4 tools: firmware-utils: fix compiler warnings
This just fixes a lot of compiler warnings.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47181
2015-10-11 19:00:41 +00:00
John Crispin
cc3747e9e2 tools/firmware-utils: add header version 2 support for mktplinkfw
Signed-off-by: Weijie Gao <hackpascal@gmail.com>

This patch adds header version 2 option for mktplinkfw.

The version 2 header is used for AR/QCA firmwares and is not the same as
the header generated by mktplinkfw2.
Instead, it is nearly the same as version 1 header except for the header
version and the RSA signature.

The header version 2 support is used for newer TP-Link routers which have
only a 64kb bootloader part, e.g. TL-WDR6500 v2.

SVN-Revision: 46661
2015-08-17 06:23:43 +00:00
John Crispin
a77a9f520c firmware-utils mktplinkfw: print amount of exceeding bytes
This is very useful for trimming images towards 4 MiB flash size.

Signed-off-by: Stephan Maka <stephan@spaceboyz.net>

SVN-Revision: 46469
2015-07-24 09:11:24 +00:00
John Crispin
5cd49bb067 ar71xx: add support for Onion Omega
This patch adds support for the Onion Omega.

https://onion.io/omega

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>
Acked-by: Boken Lin <bl@onion.io>
Tested-by: Jacky Huang <huangfangcheng@163.com>

SVN-Revision: 46458
2015-07-24 09:09:49 +00:00
John Crispin
055663201b ar71xx: Add Support for the Bitmain Antminer S3
This patch adds support for the Bitmain Antminer S3 Cryptocurrency Miner

http://wiki.openwrt.org/toh/bitmain/s3

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>

SVN-Revision: 46236
2015-07-07 13:46:54 +00:00
John Crispin
e85f3471ba ar71xx: add support for TL-WR720N-v4.
The hardware should be almost the same as TL-WR720N-v3.  WiFi and LAN networks
were tested by "Lo Yuk Fai <loyukfai@gmail.com>".  Failsafe and slider switch
were tested by "Wong min <alpha080@gmail.com>".

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

SVN-Revision: 46046
2015-06-18 18:21:23 +00:00
John Crispin
694dd581eb ar71xx: Add Support for the Bitmain Antminer S1
This patch adds support for the Bitmain Antminer S1 Cryptocurrency Miner

http://wiki.openwrt.org/toh/bitmain/s1

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>
Acked-by: James Hilliard <james.hilliard1@gmail.com>

SVN-Revision: 46044
2015-06-18 18:21:05 +00:00
Felix Fietkau
a13e2d0e5c mktplinkfw: add flag to ignore size limit (used for initramfs images)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45644
2015-05-08 14:02:33 +00:00
John Crispin
9358a8a798 ar71xx: TL-WA7210n v2 support
This patch adds support for TP-Link TL-WA7210n[0]

[0] http://www.tplink.com/en/products/details/?model=TL-WA7210N

Signed-off-by: Hendrik Frenzel <hfrenzel@scunc.net>

SVN-Revision: 44526
2015-02-24 12:00:50 +00:00
John Crispin
4961c7d0f5 ar71xx: add support for TL-WA701ND v2
Signed-off-by: Luigi Tarenga <luigi.tarenga@gmail.com>

SVN-Revision: 44063
2015-01-20 15:48:07 +00:00
Gabor Juhos
def30210f8 firmware-utils/mktplinkfw: add support for GL.iNet v1
Patch is based on http://patchwork.openwrt.org/patch/5273/.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Michel Stempin <michel.stempin@wanadoo.fr>
Signed-off-by: Mark Janssen <mark@sig-io.nl>
Signed-off-by: alzhao <alzhao@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/5653/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 41620
2014-07-13 18:21:08 +00:00
Gabor Juhos
1a53806b86 firmware-utils/mktplinkfw: add support for TL-WDR4300v1 (IL)
The version of TL-WDR4300 sold in Israel comes with a different
hardware id.

Patch-by: Daniel <daniel@makrotopia.org>
Patchwork: http://patchwork.openwrt.org/patch/5001/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40037
2014-03-27 06:36:58 +00:00
Gabor Juhos
d9341f97ed firmware-utils/mktplinkfw: add support for the Oolite v1 board
Patch-by: Lars Bøgild Thomsen <lth@cow.dk>
Patchwork: http://patchwork.openwrt.org/patch/4922/
[juhosg: fix whitespaces]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40035
2014-03-27 06:36:49 +00:00
Gabor Juhos
6aae3694c9 firmware-utils/mktplinkfw: add an option to generate 16MiB images
Signed-off-by: Andrew 'Necromant' Andrianov <andrew@ncrmnt.org>
Patchwork: http://patchwork.openwrt.org/patch/2449/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 40034
2014-03-27 06:36:48 +00:00
Gabor Juhos
fe99a2d67d firmware-utils/mktplinkfw: allow to reserve space in the generated images
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39396
2014-01-25 18:12:03 +00:00
Gabor Juhos
2b6ca18e82 firmware-utils/mkplinkfw: add TL-WA801ND v2 support
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Patchwork: http://patchwork.openwrt.org/patch/4503/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 39066
2013-12-15 20:39:13 +00:00
Gabor Juhos
4069a50de6 firmware-utils/mkplinkfw: add TL-WR1043ND v2 support
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38957
2013-11-29 20:51:15 +00:00
Gabor Juhos
da3700b2a6 firmware-utils/mktplinkfw: add support for the TL-MR13U board
Signed-off-by: Oleg Titov <oleg.titov@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4063/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38065
2013-09-19 17:52:44 +00:00
John Crispin
1af56d7c46 firmware-utils: remove v2 support
we will use gabors patch instead

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 37725
2013-08-06 16:25:24 +00:00
John Crispin
815d9334e2 firmware-utils: fix segfault introduced by v2 changes
Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

SVN-Revision: 37724
2013-08-06 14:32:50 +00:00
John Crispin
eb844ad321 firmware-utils: add support for TDW8970 to mktplinkfw
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 37718
2013-08-06 12:31:06 +00:00
John Crispin
85cb2c4f9e firmware-utils: add v2 header support to firmware-utils
only image build works. inspect and md5 checksum support are not implemented yet

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 37717
2013-08-06 12:30:52 +00:00
Gabor Juhos
2fb993fdbf firmware-utils/mktplinkfw: add support for the TL-MR10U board
Based on andelf's patch:
http://andelf.diandian.com/post/2013-05-22/40050677370

Signed-off-by: Oleg Titov <oleg.titov@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/3840/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 37549
2013-07-26 07:32:00 +00:00
Gabor Juhos
9658206abc firmware-utils/mktplinkfw: add description for -W option into usage output
Add description for -W <hwrev> option into usage output of mktplinkfw.

Signed-off-by: yousong <yszhou4tech@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36497
2013-04-30 10:44:10 +00:00
Gabor Juhos
85db8b7a21 firmware-utils/mktplinkfw: add support for the TL-WR720N v3 board
Signed-off-by: yousong <yszhou4tech@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36455
2013-04-26 17:00:47 +00:00
Gabor Juhos
55e2ae7452 firmware-utils/mktplinkfw: Add support for MR3420v2
Patch-by: Dmytro <dioptimizer@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/3441/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35963
2013-03-11 15:55:23 +00:00
Gabor Juhos
ddb29bebf5 firmware-utils/mktplinkfw: add support for the TL-WA830RE v1/v2 boards
Signed-off-by: Ronald Hecht <ronald.hecht@gmx.de>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35787
2013-02-25 20:37:32 +00:00
Gabor Juhos
c75c1e03a3 firmware-utils/mktplinkfw: add support for the TL-WDR4900 v1
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35593
2013-02-13 16:51:24 +00:00
Gabor Juhos
cbeb862b95 firmware-utils/mktplinkfw: add TP-LINK TL-WR743ND v2 support
AR9331 based, these same as 741v4

Signed-off-by: Cezary Jackiewicz <cezary.jackiewicz@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35448
2013-02-02 10:01:11 +00:00
Gabor Juhos
cbc3aebcc7 firmware-utils/mktplinkfw: add support for the TL-MR3220 v2
Based on the following patch:
http://patchwork.openwrt.org/patch/3043/

Signed-off-by: Cezary Jackiewicz <cezary.jackiewicz@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34781
2012-12-19 08:50:43 +00:00
Gabor Juhos
dfab9cb4e7 firmware-utils/mktplinkfw: add support for TP-LINK WA801NDv1
Patch-by: Amir Sagie <openwrt-devel@taproot.org.il>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34575
2012-12-07 19:10:54 +00:00
Gabor Juhos
588c81d1e0 firmware-utils/mktplinkfw: add support for TL-WA7510N
[juhosg: separated from the http://patchwork.openwrt.org/patch/2820/ patch]

Signed-off-by: Stefan Helmert <helst_listen@aol.de>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34189
2012-11-13 14:48:02 +00:00
Gabor Juhos
a45427bc79 firmware-utils/mktplinkfw: allow to specify firmware version
SVN-Revision: 32616
2012-07-05 16:25:29 +00:00
Gabor Juhos
de7324674a firmware-utils/mktplinkfw: add support for the TL-WR1041N v2
Patch-by: Vince Huang <axishero@foxmail.com>

SVN-Revision: 31609
2012-05-05 17:02:38 +00:00
Gabor Juhos
8a8e5bde15 firware-utils/mktplinkfw: add TL-WR2543N/ND support
SVN-Revision: 29681
2012-01-07 19:36:40 +00:00