aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware-utils/src/mktplinkfw.c
Commit message (Collapse)AuthorAgeFilesLines
* ramips: add support for TP-Link RE200 v1Andreas Böhler2019-12-311-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* firmware-utils: mktplinkfw: add rootfs offset for combined imagesAlex Maclean2018-06-261-1/+10
| | | | | | | | | | | 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>
* firmware-utils: mktplinkfw: add support for BR region codeHenryk Heisig2017-12-141-0/+1
| | | | Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* tools/firmware-utils: mktplinkfw* fix rootfs offsetThibaut VARÈNE2017-11-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* tools/firmware-utils: mktplinkfw move build_fw() to libThibaut VARÈNE2017-10-061-75/+12
| | | | | | | | | | | | | | 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>
* tools/firmware-utils: mktplinkfw regroup duplicate codeThibaut VARÈNE2017-10-061-204/+5
| | | | | | | | | | | | | 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>
* firmware-utils: mktplinkfw: rework combined image optionPiotr Dymacz2017-07-221-58/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* firmware-utils: mktplinkfw: add option for endianness swapPiotr Dymacz2017-07-041-1/+13
| | | | | | | | 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>
* firmware-utils: add support for TL-WR1043ND v4 to mktplinkfw and ↵Matthias Schiffer2016-12-201-0/+14
| | | | | | | | | 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>
* firmware-utils: mktplinkfw: add support for TP-Link's new region codesMatthias Schiffer2016-08-281-32/+37
| | | | | | | | | 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>
* tools: firmware-utils: add region code support to mktplinkfwJohn Crispin2016-04-211-5/+46
| | | | | | Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 49215
* tools: firmware-utils: clean up mktplinkfwJohn Crispin2016-04-211-434/+34
| | | | | | | | | | | | | 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
* ar71xx: add TP-Link TL-WA901ND-v4 supportJohn Crispin2016-04-091-0/+6
| | | | | | Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com> SVN-Revision: 49158
* ar71xx: Add support for the OMYlink OMY-X1John Crispin2016-03-161-0/+6
| | | | | | | | | | | | 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
* ar71xx: Added support for TL-WA801NDv3John Crispin2016-02-121-1/+6
| | | | | | Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com> SVN-Revision: 48705
* mktplinkfw: add missing exceeding bytes info to logsJohn Crispin2015-12-111-2/+2
| | | | | | | | Add the info on exceeding bytes also to the remaining log messages. Signed-off-by: Felix Kaechele <felix@kaechele.ca> SVN-Revision: 47864
* ar71xx: Bitmain Antminer S1 & S3 cleanupJohn Crispin2015-10-191-2/+7
| | | | | | | | | | | | 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
* tools: firmware-utils: fix compiler warningsHauke Mehrtens2015-10-111-1/+1
| | | | | | | | This just fixes a lot of compiler warnings. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 47181
* tools/firmware-utils: add header version 2 support for mktplinkfwJohn Crispin2015-08-171-4/+21
| | | | | | | | | | | | | | | | 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
* firmware-utils mktplinkfw: print amount of exceeding bytesJohn Crispin2015-07-241-10/+11
| | | | | | | | This is very useful for trimming images towards 4 MiB flash size. Signed-off-by: Stephan Maka <stephan@spaceboyz.net> SVN-Revision: 46469
* ar71xx: add support for Onion OmegaJohn Crispin2015-07-241-0/+6
| | | | | | | | | | | | 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
* ar71xx: Add Support for the Bitmain Antminer S3John Crispin2015-07-071-0/+1
| | | | | | | | | | 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
* ar71xx: add support for TL-WR720N-v4.John Crispin2015-06-181-0/+6
| | | | | | | | | | 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
* ar71xx: Add Support for the Bitmain Antminer S1John Crispin2015-06-181-0/+6
| | | | | | | | | | | 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
* mktplinkfw: add flag to ignore size limit (used for initramfs images)Felix Fietkau2015-05-081-3/+13
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45644
* ar71xx: TL-WA7210n v2 supportJohn Crispin2015-02-241-0/+6
| | | | | | | | | | 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
* ar71xx: add support for TL-WA701ND v2John Crispin2015-01-201-0/+6
| | | | | | Signed-off-by: Luigi Tarenga <luigi.tarenga@gmail.com> SVN-Revision: 44063
* firmware-utils/mktplinkfw: add support for GL.iNet v1Gabor Juhos2014-07-131-0/+6
| | | | | | | | | | | | | 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
* firmware-utils/mktplinkfw: add support for TL-WDR4300v1 (IL)Gabor Juhos2014-03-271-0/+6
| | | | | | | | | | | 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
* firmware-utils/mktplinkfw: add support for the Oolite v1 boardGabor Juhos2014-03-271-0/+6
| | | | | | | | | 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
* firmware-utils/mktplinkfw: add an option to generate 16MiB imagesGabor Juhos2014-03-271-0/+12
| | | | | | | | 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
* firmware-utils/mktplinkfw: allow to reserve space in the generated imagesGabor Juhos2014-01-251-4/+17
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39396
* firmware-utils/mkplinkfw: add TL-WA801ND v2 supportGabor Juhos2013-12-151-0/+6
| | | | | | | | 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
* firmware-utils/mkplinkfw: add TL-WR1043ND v2 supportGabor Juhos2013-11-291-0/+6
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38957
* firmware-utils/mktplinkfw: add support for the TL-MR13U boardGabor Juhos2013-09-191-0/+6
| | | | | | | | 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
* firmware-utils: remove v2 supportJohn Crispin2013-08-061-85/+3
| | | | | | | | we will use gabors patch instead Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 37725
* firmware-utils: fix segfault introduced by v2 changesJohn Crispin2013-08-061-2/+2
| | | | | | Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com> SVN-Revision: 37724
* firmware-utils: add support for TDW8970 to mktplinkfwJohn Crispin2013-08-061-0/+13
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 37718
* firmware-utils: add v2 header support to firmware-utilsJohn Crispin2013-08-061-3/+72
| | | | | | | | only image build works. inspect and md5 checksum support are not implemented yet Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 37717
* firmware-utils/mktplinkfw: add support for the TL-MR10U boardGabor Juhos2013-07-261-0/+6
| | | | | | | | | | | 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
* firmware-utils/mktplinkfw: add description for -W option into usage outputGabor Juhos2013-04-301-0/+1
| | | | | | | | | 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
* firmware-utils/mktplinkfw: add support for the TL-WR720N v3 boardGabor Juhos2013-04-261-0/+6
| | | | | | | Signed-off-by: yousong <yszhou4tech@gmail.com> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 36455
* firmware-utils/mktplinkfw: Add support for MR3420v2Gabor Juhos2013-03-111-0/+6
| | | | | | | | Patch-by: Dmytro <dioptimizer@gmail.com> Patchwork: http://patchwork.openwrt.org/patch/3441/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 35963
* firmware-utils/mktplinkfw: add support for the TL-WA830RE v1/v2 boardsGabor Juhos2013-02-251-0/+12
| | | | | | | Signed-off-by: Ronald Hecht <ronald.hecht@gmx.de> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 35787
* firmware-utils/mktplinkfw: add support for the TL-WDR4900 v1Gabor Juhos2013-02-131-0/+12
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 35593
* firmware-utils/mktplinkfw: add TP-LINK TL-WR743ND v2 supportGabor Juhos2013-02-021-0/+6
| | | | | | | | | 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
* firmware-utils/mktplinkfw: add support for the TL-MR3220 v2Gabor Juhos2012-12-191-0/+6
| | | | | | | | | | 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
* firmware-utils/mktplinkfw: add support for TP-LINK WA801NDv1Gabor Juhos2012-12-071-0/+6
| | | | | | | Patch-by: Amir Sagie <openwrt-devel@taproot.org.il> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 34575
* firmware-utils/mktplinkfw: add support for TL-WA7510NGabor Juhos2012-11-131-0/+6
| | | | | | | | | [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
* firmware-utils/mktplinkfw: allow to specify firmware versionGabor Juhos2012-07-051-2/+23
| | | | SVN-Revision: 32616