summaryrefslogtreecommitdiff
path: root/tools/firmware-utils
Commit message (Collapse)AuthorAgeFilesLines
* firmware-utils: kernel image generator for TP-Link RE450Tal Keren2016-12-222-0/+353
| | | | | | | | | | | | | | | | | The firmware image that is used in TP-Link RE450 (and some more devices from the RE series) is tplink-safeloader. In the kernel partition, the kernel is compressed in a regular tp-link firmware that is just used for booting. Since it is only used for compressing and booting, only four fields are filled in the header: Vendor, version, kernel load address and kernel entry point. mktplinkfw-kernel is a simpler version of mktpolinkfw that generate such images. It also specifies the hardware id (as it is in the product info section), so when doing a sysupgrade - the existing code will check for hardware compatibility. Signed-off-by: Tal Keren <kooolk@gmail.com> [rd@radekdostal.com: add build target to .../image/tp-link.mk] Signed-off-by: Radek Dostál <rd@radekdostal.com>
* firmware-utils: add support for TL-WR1043ND v4 to mktplinkfw and ↵Matthias Schiffer2016-12-202-0/+50
| | | | | | | | | 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/tplink-safeloader: refactor code for further board supportJo-Philipp Wich2016-12-201-301/+265
| | | | | | | | | In order to make it easier to add new boards in the future, refactor the code to describe the image layouts of supported boards in a struct array and alter the image generation routines to figure out the sysupgrade partitions automatically. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* firmware-utils/tplink-safeloader: make vendor data optionalJo-Philipp Wich2016-12-201-8/+6
| | | | | | | Restructure the code a bit to allow for omitting vendor data when generating factory images. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* firmware-utils: add E2100L support to addpattern.cJo-Philipp Wich2016-12-141-0/+7
| | | | | | Based on OpenWrt PR#250 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* firmware-utils: tplink-safeloader: update support lists for CPE210/510/...Matthias Schiffer2016-12-121-4/+14
| | | | | | | Adds support for new EU and US variants; removes a few strings that were never actually used and have been removed from the stock firmwares. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* firmware-utils: replace md5 code with Alexander Peslyak's implementationRafał Miłecki2016-11-282-337/+306
| | | | | | | | | | | | | | | | | | | Our current implementation is pretty old and uses some pre-standard/old ANSI C style that triggers warnings like: warning: call to function 'MD5_Init' without a real prototype [-Wunprototyped-calls] This is caused by declarations specified in a following way: src/md5.h:60:6: note: 'MD5_Init' was declared here void MD5_Init (); Having these warnings makes it harded to notice real problems. We could try hiding them but it makes more sense to just use a cleaner code. Another tiny gain from this switch is slightly reduced binary size, on x86_64 tplink-safeloader's size 48104 became 48003. The new code is public domain, uses "heavily cut-down BSD license". Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: Fix build failure in mkmerakifw.c FS#298Florian Fainelli2016-11-261-9/+9
| | | | | | | | | Earlier compilers such as GCC 4 do not like anynomous unions, make it a named union "u", and update the code where relevant. Fixes FS#298 Fixes: a72e1692b8b3 ("firmware-utils: Add support for the Cisco Meraki MX60/MX60W") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* firmware-utils: Add support for the Cisco Meraki MX60/MX60WChris Blake2016-11-211-11/+58
| | | | | | | | | | | | | | This patch adds header support for the Cisco Meraki MX60/MX60W, which are a part of the apm821xx target. Some structure changes were needed due to the fact this device uses U-Boot (unlike other devices in mkmerakifw.c) which uses a different header structure to define the load offsets for the image. A thanks to Christian for helping implement this properly. Cc: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
* firmware-utils: tplink-safeloader: keep per-device info on trailing charRafał Miłecki2016-11-201-5/+11
| | | | | | | | | | | | | | | | | Recent refactoring introduced a regression. It ignored second argument of make_support_list function which was originally true for C2600. The new generic build_image function always passes false. This patch allows specifying trailing char in a device specific info. It also switches Archer C9 to the \0 char to make it compliant with vendor images. I verified generated images to be binary identical to the ones that were created before whole refactoring. Reported-by: Jo-Philipp Wich <jo@mein.io> Fixes: fd924d2068f ("firmware-utils: tplink-safeloader: use one function for generating images") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: tplink-safeloader: add Archer C9 supportRafał Miłecki2016-11-191-0/+33
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: tplink-safeloader: use one function for generating imagesRafał Miłecki2016-11-191-79/+29
| | | | | | Thanks to the struct device_info we can now use one unified function. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: tplink-safeloader: add struct device_infoRafał Miłecki2016-11-191-6/+19
| | | | | | | This struct stores all device specific info which allows making do_eap function more generic. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: add tool to create zyxel imagesVitaly Chekryzhev2016-11-172-0/+149
| | | | | | | Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com> [moved to firmware-utils package] [dropped the compiled binary] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: add support for Buffalo BHR-4GRV2FUKAUMI Naoki2016-11-162-0/+224
| | | | Signed-off-by: FUKAUMI Naoki <naobsd@gmail.com>
* firmware-utils: fix compilation on MacOS XAlexandru Ardelean2016-10-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Looking into /usr/include/stdlib.h, there's a `devname()` function defined under some #ifdef's which conflicts with the `static char *devname` definition in `src/mkwrggimg.c`. Defining `_ANSI_SOURCE` in the `src/mkwrggimg.c` file, omits that part of the header. Another more intrusive approach is to rename `devname` to something like `g_devname` in `src/mkwrggimg.c`. But I think the `_ANSI_SOURCE` define should be enough. Compilation error is: src/mkwrggimg.c:64:14: error: redefinition of 'devname' as different kind of symbol static char *devname; ^ /usr/include/stdlib.h:286:7: note: previous definition is here char *devname(dev_t, mode_t); ^ src/mkwrggimg.c:147:12: error: non-object type 'char *(dev_t, mode_t)' (aka 'char *(int, unsigned short)') is not assignable devname = optarg; ~~~~~~~ ^ src/mkwrggimg.c:192:6: warning: comparison of function 'devname' equal to a null pointer is always false [-Wtautological-pointer-compare] if (devname == NULL) { ^~~~~~~ ~~~~ src/mkwrggimg.c:192:6: note: prefix with the address-of operator to silence this warning if (devname == NULL) { ^ & src/mkwrggimg.c:251:27: warning: incompatible pointer types passing 'char *(dev_t, mode_t)' (aka 'char *(int, unsigned short)') to parameter of type 'const char *' [-Wincompatible-pointer-types] strncpy(header->devname, devname, sizeof(header->devname)); ^~~~~~~ /usr/include/secure/_string.h:119:34: note: expanded from macro 'strncpy' __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest)) Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com> [Jo-Philipp Wich: slightly reformat commit message] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* firmware-utils: mkwrggimg: new tool for D-Link DAP-2695Stijn Tintel2016-10-272-0/+283
| | | | | | | Based on mkwrgimg.c. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: John Crispin <john@phrozen.org>
* ar71xx: Add support to TP-Link EAP120Henryk Heisig2016-10-181-0/+101
| | | | Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* ptgen: work around gcc miscompilationJonas Gorski2016-09-261-1/+3
| | | | | | | Some gcc versions seem to miscompile code using ternary operators, work around this by just returning the result if exp is 0. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* tools/firmware-utils: fix portability issue in mkmerakifw-oldFelix Fietkau2016-09-221-1/+1
| | | | | | Fixes build failure on Mac OS X Signed-off-by: Felix Fietkau <nbd@nbd.name>
* firmware-utils mkmerakifw-old: firmware generator for Z1Christian Lamparter2016-09-192-0/+370
| | | | | | This patch adds firmware generation tool for Cisco's Z1 Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
* firmware-utils: mksenaofw: rework option validationMathias Kresin2016-08-171-19/+22
| | | | | | | The options firmware_type, vendor_id and product_id are not required for decoding an image file. Signed-off-by: Mathias Kresin <dev@kresin.me>
* 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>
* apm821xx: add support for the Cisco Meraki MR24Chris Blake2016-07-221-0/+10
| | | | | | | | | | | | | | | | | | | This patch adds support for the Cisco Meraki MR24 Access point to the apm821xx target. Board: MR24 - Meraki MR24 Cloud Managed Access Point CPU: APM82181 SoC 800 MHz (PLB=200 OPB=100 EBC=100) Flash size: 32MiB RAM Size: 128MiB Wireless: Atheros AR9380 5.0GHz + Atheros AR9380 2.4GHz Ethernet ports: 1x Gigabit Atheros AR8035 WARNING: The serial port needs a TTL/RS-232 v3.3 level converter! For flashing instructions, visit: <https://github.com/riptidewave93/Openwrt-MR24/blob/master/README.md#flashing> Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
* firmware-utils: oseama: support extracting entityRafał Miłecki2016-06-151-0/+134
| | | | | | | This updates oseama in firmware-utils to the version from packages keeping them synced. Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
* tools/mkfwimage2: remove 256 length limit for partition imagesAlexander Couzens2016-06-141-1/+5
| | | | Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* tools/firmware-utils: Add Archer C50 to mktplinkfw2Henryk Heisig2016-06-131-0/+7
| | | | Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* treewide: replace nbd@openwrt.org with nbd@nbd.nameFelix Fietkau2016-06-072-2/+2
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools/tplink-safeloader: split CPE210 from CPE510 profileAlexander Couzens2016-05-271-10/+23
| | | | | | | | | The CPE210 was still described for the OEM upgrade as compatible, even the wireless configuration isn't compatible anymore between both series (2ghz and 5ghz). Update the CPE210 image profile to use the new profile. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* fw-utils/tplink-safeloader.c: Add support for Archer C2600Ash Benz2016-05-271-3/+111
| | | | Signed-off-by: Ash Benz <ash.benz@bk.ru>
* tools/firmware-utils: remove obsolete firmware utility for airlink 525wFelix Fietkau2016-05-122-333/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* 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-212-435/+35
| | | | | | | | | | | | | 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
* ramips: Add a tool to create JCG factory imagesJohn Crispin2016-03-041-209/+220
| | | | | | | | replace spaces with tabs Signed-off-by: Reinhard Max <reinhard@m4x.de> SVN-Revision: 48901
* ramips: Add a tool to create JCG factory imagesJohn Crispin2016-03-032-0/+393
| | | | | | | | | | This tool creates factory images for JCG routers. Details can be found in the header comment of jcgimage.c. Signed-off-by: Reinhard Max <reinhard@m4x.de> Reviewed-by: Torsten Duwe <duwe@lst.de> SVN-Revision: 48888
* firmware-utils: mkfwimage: fix firmware_max_length for XM layoutFelix Fietkau2016-02-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ar71xx, firmware-utils: split ubdev01 flash layout from XMFelix Fietkau2016-02-291-0/+6
| | | | | | | | | The ubdev01 profile defines its own MTDPARTS with smaller firmware partition, so give it its own UBNT_BOARD in mkfwimage. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 48828
* firmware-utils: mkfwimage: add -Wall, fix obvious bugs causing compile warningsFelix Fietkau2016-02-292-8/+6
| | | | | | Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 48827
* ar71xx: Added support for TL-WA801NDv3John Crispin2016-02-121-1/+6
| | | | | | Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com> SVN-Revision: 48705
* firmware-utils: add oseama tool for creating Seama entitiesRafał Miłecki2016-02-012-0/+423
| | | | | | | | | | | | | It has an important feature (compared to seama) of using multiple input files, aligning them and padding zeroes until reaching a specified absolute offset. This is needed for a proper flash layout on NAND. We want kernel partition to be big enough to handle future updates without a need to resize it and wipe whole "ubi" partition. It's important as we don't want to lose block counters. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 48601
* lantiq: add support for TP-Link VR200vHauke Mehrtens2016-01-181-0/+12
| | | | | | | | | This adds basic support for TP-Link VR200v. Currently the following parts are not working: FXO, Voice, DECT, WIFI (both) Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 48328
* firmware-utils: allow mkfwimage2 to use - in partition namesJohn Crispin2015-12-231-1/+1
| | | | | | Signed-off-by: Roman Yeryomin <roman@advem.lv> SVN-Revision: 47975
* firmware-utils: fix various compiler warningsJohn Crispin2015-12-117-2/+8
| | | | | | | | | mostly implicit defines due to missing includes plus one const that shouldn't be one. Signed-off-by: Felix Kaechele <felix@kaechele.ca> SVN-Revision: 47865
* 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
* firmware-utils mkmerakifw: firmware generator for MR18John Crispin2015-12-112-0/+264
| | | | | | | | This patch adds firmware generation tool for Cisco's MR18 Signed-off-by: Thomas Hebb <tommyhebb@gmail.com> SVN-Revision: 47856
* brcm63xx: work around boot failures with squashfs on BCM6368Jonas Gorski2015-11-041-0/+2
| | | | | | | | | | | Due to the LWL/LWR SMP issue on BCM6368, booting with squash might fail if the rootfs is not word aligned. As a quick fix, work around it by ensuring this condition is always true. Reported-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 47380
* 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: tplink-safeloader: add version 1.1 support to ↵John Crispin2015-10-191-4/+4
| | | | | | | | | | | | | | CPE210/220/510/520 The hardware is identical to version 1.0, add the new models to the support list. Also remove the empty line at the end of the support list, the current stock images don't have it either. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 47212