Commit Graph

83 Commits (master)

Author SHA1 Message Date
Andreas Böhler a3010a7f8d ramips: add support for TP-Link RE200 v1
TP-Link RE200 v1 is a wireless range extender with Ethernet and 2.4G and 5G
WiFi with internal antennas. It's based on MediaTek MT7620A+MT7610EN.

Specifications
--------------

- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 1x 10/100 Mbps Ethernet
- UART header on PCB (57600 8n1)
- 8x LED (GPIO-controlled; only 6 supported), 2x button

There are 2.4G and 5G LEDs in red and green which are controlled
separately. The 5G LED is currently not supported, since the GPIOs couldn't
be determined.

Installation
------------

Web Interface
-------------

It is possible to upgrade to OpenWrt via the web interface. However, the
OEM firmware upgrade file is required and a tool to fix the MD5 sum of
the header. This procedure overwrites U-Boot and there is not failsafe /
recovery mode present! To prepare an image, you need to take the header
and U-Boot (i.e. 0x200 + 0x20000 bytes) from an OEM firmware file and
attach the factory image to it. Then fix the header MD5Sum1.

Serial console
--------------

Opening the case is quite hard, since it is welded together. Rename the
OpenWrt factory image to "test.bin", then plug in the device and quickly
press "2" to enter flash mode (no line feed). Follow the prompts until
OpenWrt is installed.

Unfortunately, this devices does not offer a recovery mode or a tftp
installation method. If the web interface upgrade fails, you have to open
your device and attach serial console. Since the web upgrade overwrites
the boot loader, you might also brick your device.

Additional notes
----------------

MAC address assignment is based on stock-firmware. For me, the device
assigns the MAC on the label to Ethernet and the 2.4G WiFi, while the 5G
WiFi has a separate MAC with +2.

*:88    Ethernet/2.4G    label, uboot 0x1fc00, userconfig 0x0158
*:89    unused           userconfig 0x0160
*:8A    5G               not present in flash

This seems to be the first ramips device with a TP-Link v1 header. The
original firmware has the string "EU" embedded, there might be some region-
checking going on during the firmware upgrade process. The original
firmware also contains U-Boot and thus overwrites the boot loader during
upgrade.
In order to flash back to stock, the first header and U-Boot need to be
stripped from the original firmware.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
4 years ago
Alex Maclean 0a2f21fa71 firmware-utils: mktplinkfw: add rootfs offset for combined images
Add an option (-O) to calculate rootfs offset for combined images.

This is needed for the TP-Link mtdsplit driver to locate the rootfs
when the start is not aligned to an erase block. This will be the
case for sysupgrade images produced by tplink-safeloader with upcoming
dynamic partition splitting.

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
6 years ago
Henryk Heisig 3083cc6acf firmware-utils: mktplinkfw: add support for BR region code
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
7 years ago
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>
7 years ago
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>
7 years ago
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>
7 years ago
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>
7 years ago
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>
7 years ago
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>
8 years ago
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>
8 years ago
John Crispin d35801b9c5 tools: firmware-utils: add region code support to mktplinkfw
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 49215
8 years ago
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
8 years ago
John Crispin 5f1a82ec4f ar71xx: add TP-Link TL-WA901ND-v4 support
Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>

SVN-Revision: 49158
8 years ago
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
8 years ago
John Crispin d6cb792d21 ar71xx: Added support for TL-WA801NDv3
Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>

SVN-Revision: 48705
8 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
John Crispin 4961c7d0f5 ar71xx: add support for TL-WA701ND v2
Signed-off-by: Luigi Tarenga <luigi.tarenga@gmail.com>

SVN-Revision: 44063
10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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
11 years ago
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
11 years ago
Gabor Juhos 4069a50de6 firmware-utils/mkplinkfw: add TL-WR1043ND v2 support
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38957
11 years ago
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
11 years ago
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
11 years ago
John Crispin 815d9334e2 firmware-utils: fix segfault introduced by v2 changes
Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

SVN-Revision: 37724
11 years ago
John Crispin eb844ad321 firmware-utils: add support for TDW8970 to mktplinkfw
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 37718
11 years ago
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
11 years ago
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
11 years ago
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
11 years ago
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
11 years ago
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
11 years ago
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
11 years ago
Gabor Juhos c75c1e03a3 firmware-utils/mktplinkfw: add support for the TL-WDR4900 v1
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35593
11 years ago
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
11 years ago
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
12 years ago
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
12 years ago
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
12 years ago
Gabor Juhos a45427bc79 firmware-utils/mktplinkfw: allow to specify firmware version
SVN-Revision: 32616
12 years ago