aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware-utils/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* firmware-utils: tplink-safeloader: add Mercusys MR70XDavid Bauer2023-03-241-1/+1
| | | | Signed-off-by: David Bauer <mail@david-bauer.net>
* firmware-utils: bump to git HEADSander Vanheule2022-05-171-3/+3
| | | | | | | | | | Includes image support for new TP-Link devices: ddc3e00e314d tplink-safeloader: add TP-Link EAP265 HD support ceea1a7fe56e tplink-safeloader: add TP-Link Deco M4R v1 and v2 support Signed-off-by: Sander Vanheule <sander@svanheule.net> (cherry picked from commit 0f207ade12fdfffae3554c6a7214aa670a8d6854)
* firmware-utils: bump to git HEADHauke Mehrtens2022-05-171-3/+3
| | | | | | | 05fd700 tplink-safeloader: TP-Link RE650 v2 support Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 36790ca6940b84dede450c54df9f75500454b92b)
* firmware-utils: bump to git HEADStijn Tintel2022-02-281-3/+3
| | | | | | 002cfaf firmware-utils: fix compilation with macOS Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* firmware-utils: bump to git HEADStijn Tintel2022-02-271-3/+3
| | | | | | | | | | | 706e9cc tplink-safeloader: support for Archer A6 v3 JP 497726b firmware-utils: support checksum for AVM fritzbox wasp SOCs 2ca6462 iptime-crc32: add support for AX8004M 57d0e31 tplink-safeloader: TP-Link EAP615-Wall v1 support 8a8da19 tplink-safeloader: add TL-WPA8631P v3 support eea4ee7 tplink-safeloader: add TP-Link Archer A9 v6 support Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* firmware-utils: bump to git HEADSungbo Eo2022-01-291-3/+3
| | | | | | | 0c15cad iptime-naspkg: add image header tool for ipTIME NAS series 872c87c iptime-crc32: add image header tool for new ipTIME models Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* firmware-utils: update to git HEAD of 2022-01-28Daniel Golle2022-01-281-3/+3
| | | | | | | 6c95945 ptgen: add Chromium OS kernel partition support 8e7274e cros-vbutil: add Chrome OS vboot kernel-signing utility Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* firmware-utils: update to latest masterHauke Mehrtens2022-01-161-3/+3
| | | | | | d885b49 tplink-safeloader: support Archer C6v3.0 (BR) Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* firmware-utils: update to latest masterMatthias Schiffer2022-01-141-3/+3
| | | | | | 84dbf8ee49f5 tplink-safeloader: fix Archer A7v5 factory flashing from vendor fw > v1.1.x Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* firmware-utils: bump to the latest masterRafał Miłecki2021-12-021-3/+3
| | | | | | | | | | | | | | | 56e8e19 otrx: support TRX from stdin when extracting a37ccaf otrx: support unsorted partitions offsets 1fa145e otrx: extract shared code opening & parsing TRX format 0fbc135 oseama: support extracting entity to stdout 58c9d5d oseama: allow reading from stdin 4ecefda otrx: allow validating TRX from stdin cf01e69 otrx: avoid unneeded fseek() when calculating CRC32 fa35379 tplink-safeloader: add EAP225 v1 support f4d1263 build, cmake: switch OPENSSL_CRYPTO_LIBRARY -> OPENSSL_CRYPTO_LIBRARIES cd3f6ee build, cmake: add quotes for FW_UTIL variable arguments Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: bump to latest git HEADAdrian Schmutzler2021-10-301-4/+4
| | | | | | | 7073760 ramips: add support for TP-Link RE305 v3 86739f2 Add more missing include for byte swap operations Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* firmware-utils: bump to git HEADKevin Darbyshire-Bryant2021-10-051-3/+3
| | | | | | | | f9ad6b3 Add more missing includes for byte swap operations Basically stop it exploding on MacOS Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* firmware-utils: update to version 2021-10-05Petr Štetiar2021-10-051-98/+9
| | | | | | | | | | | | | | | | Includes following changes: db65821f006c cmake: fix missing install target 3a0cfc856991 Add initial GitLab CI support 8f47adea6f87 Add missing includes for byte swap operations fbafae9f8037 Convert to CMake based project Additionaly moves source code into separate Git project repository and converts the package build to utilize CMake. Signed-off-by: Petr Štetiar <ynezz@true.cz> [rmilecki: rebase, update to the latest repo git & rm -r src] Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ramips: add missing information to dlink headersAlan Luck2021-09-241-0/+1
| | | | | | | | | | | | Add additional header information required for newer bootloaders found on DIR-2660-A1 & A2. Also remove the MTD splitter compatible from the second firmware partition, as OpenWrt only supports handling of the first one. Signed-off-by: Alan Luck <luckyhome2008@gmail.com> [rephrase commit message, remove removal of read-only flags] Signed-off-by: David Bauer <mail@david-bauer.net>
* firmware-utils: tplink-safeloader: improve soft-version customisationSander Vanheule2021-09-131-1/+1
| | | | | | | | | | | | | | | | Some devices using the safeloader firmware format require a minimum or specific version to be set in the soft-version metadata partition. Currently only custom text values can be provided, but not all device firmware support this format. Modify the device info struct to allow for more well-defined types of soft-version overwrites, and provide a few macros for easy value initialisation. Requires all existing values to be updated to match the new structure. Signed-off-by: Sander Vanheule <sander@svanheule.net> [Adapt TL-WA1201-V2 entry too] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* firmware-utils: tplink-safeloader: use revision fieldSander Vanheule2021-09-091-1/+1
| | | | | | | | | | | | | The structured soft-version partition has a field which contains a (source) revision number. Factory images used to include this, but it was accidentaly removed during an earlier refactoring. Include the source revision number again in the generated soft-version partition. Additionaly, also show this revision number when printing image info. Fixes: 1a211af2cb3b ("firmware-utils: tplink-safeloader: refactor meta-partition generation") Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: fix build on not LinuxKevin Darbyshire-Bryant2021-08-211-1/+1
| | | | Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* firmware-utils: add support for ZyXEL ZLD firmwareVincent Wiemann2021-08-211-1/+2
| | | | | | | | | | | | | | | | This commit adds a tool for extracting and creating firmware archives for: - ZyXEL NWA5121-N - ZyXEL NWA5121-NI - ZyXEL NWA5123-NI - ZyXEL NWA5123-AC - ZyXEL NWA5301 - ZyXEL NWA3560N v2 - ZyXEL WAC6100 - ZyXEL WAC6500 And maybe others... Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com>
* firmware-utils: zytrx: Add util for ZyXEL specific headerBjørn Mork2021-05-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZyXEL NR7101 prepend an additional header to U-Boot images. This header use the TRX magic 0x30524448 (HDR0), but is incompatible with TRX images. This code is reverse-engineered based on matching 32 bit numbers found in the header with lengths and different checksum calculations of the vendor images found on the device. The result was matched against the validation output produced by the bootloader to name the associated header fields. Example bootloader validation output: Zyxel TRX Image 1 --> Found! Header Checksum OK ============ZyXEL header information================== chipId : MT7621A boardId : NR7101 modelId : 07 01 00 01 kernel_len : (14177560) kernelChksum : (0x8DD31F69) swVersionInt : 1.00(ABUV.0)D1 swVersionExt : 1.00(ABUV.0)D1 Zyxel TRX Image 2 --> Found! Header Checksum OK ============ZyXEL header information================== chipId : MT7621A boardId : NR7101 modelId : 07 01 00 01 kernel_len : (14176660) kernelChksum : (0x951A7637) swVersionInt : 1.00(ABUV.0)D0 swVersionExt : 1.00(ABUV.0)D0 ================================================= Check image validation: Image1 Header Magic Number --> OK Image2 Header Magic Number --> OK Image1 Header Checksum --> OK Image2 Header Checksum --> OK Image1 Data Checksum --> OK Image2 Data Checksum --> OK Image1 Stable Flag --> Stable Image1 Try Counter --> 0 Image1: OK Image2: OK The coverage and algorithm for the kernelChksum field is unknown. This field is not validated by the bootloader or the OEM firmware upgrade tool. It is therefore set to a static value for now. The swVersion fields contain free form string values. The OEM firmware use ZyXEL structured version numbers as shown above. The strings are not interpreted or validated on boot, so they can be repurposed for anything we want the bootloader to display to the user. But the OEM web GUI fails to flash images with freeform strings. The purpose of the other strings in the header is not known. The values appear to be static. We assume they are fixed for now, until we have other examples. One of these strings is the platform name, which is taken as an input parameter for support other members of the device family. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* firmware-utils: add -Wall to most toolsRafał Miłecki2021-04-091-43/+43
| | | | | | This helps spotting possible problems Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: bcm4908img: convert into a packageRafał Miłecki2021-04-081-1/+0
| | | | | | | | | | bcm4908img is a tool managing BCM4908 platform images. It's used for creating them as well as checking, modifying and extracting data from. It's required by both: host (for building firmware images) and target (for sysupgrade purposes). Make it a host/target package. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: bcm4908asus: tool inserting Asus tail into BCM4908 imageRafał Miłecki2021-01-221-0/+1
| | | | | | | | | | | Asus looks for an extra data at the end of BCM4908 image, right before the BCM4908 tail. It needs to be properly filled to make Asus accept firmware image. This tool constructs such a tail, writes it and updates CRC32 in BCM4908 tail accordingly. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: bcm4908img: tool adding BCM4908 image tailRafał Miłecki2021-01-181-0/+1
| | | | | | | | | | Flashing image with BCM4908 CFE bootloader requires specific firmware format. It needs 20 extra bytes with magic numbers and CRC32 appended. This tools allows appending such a tail to the specified image and also verifying CRC32 of existing BCM4908 image. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: bcm4908kernel: tool adding BCM4908 kernel headerRafał Miłecki2021-01-151-0/+1
| | | | | | | BCM4908 CFE bootloader requires kernel to be prepended with a custom header. This simple tool implements support for such headers. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware: add tool for signing d-link ru router factory firmware imagesAndrew Pikler2020-12-221-0/+1
| | | | | | | | Some Russian d-link routers require that their firmware be signed with a salted md5 checksum followed by the bytes 0x00 0xc0 0xff 0xee. This tool signs factory images the OEM's firmware accepts them. Signed-off-by: Andrew Pikler <andrew.pikler@gmail.com>
* firmware-utils: tplink-safeloader: refactor meta-partition paddingSander Vanheule2020-12-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because some padding values in the TP-Link safeloader image generation were hardcoded, different values were sometimes used throughout a factory image. TP-Link's upgrade images use the same value everywhere, so let's do the same here. Although a lot of TP-Link's safeloader images have padded partition payloads, images for the EAP-series of AC devices don't. This padding is therefore also made optional. By replacing the type of the padding value byte with a wider datatype, new values outside of the previously valid range become available. Use these new values to denote that padding should not be performed. Because char might be signed, also replace the char literals by a numeric literal. Otherwise '\xff' might be sign extended to 0xffff. This results in factory images differing by 1 byte for: * C2600 * ARCHER-C5-V2 * ARCHERC9 * TLWA850REV2 * TLWA855REV1 * TL-WPA8630P-V2-EU * TL-WPA8630P-V2-INT * TL-WPA8630P-V2.1-EU * TLWR1043NDV4 * TL-WR902AC-V1 * TLWR942NV1 * RE200-V2 * RE200-V3 * RE220-V2 * RE305-V1 * RE350-V1 * RE350K-V1 * RE355 * RE450 * RE450-V2 * RE450-V3 * RE500-V1 * RE650-V1 The following factory images no longer have padding, shrinking the factory images by a few bytes for: * EAP225-OUTDOOR-V1 * EAP225-V3 * EAP225-WALL-V2 * EAP245-V1 * EAP245-V3 Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: tplink-safeloader: refactor meta-partition generationSander Vanheule2020-12-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link safeloader firmware images contain a number of (small) partitions with information about the device. These consist of: * The data length as a 32-bit integer * A 32-bit zero padding * The partition data, with its length set in the first field The OpenWrt factory image partitions that follow this structure are soft-version, support-list, and extra-para. Refactor the code to put all common logic into one allocation call, and let the rest of the data be filled in by the original functions. Due to the extra-para changes, this patch results in factory images that change by 2 bytes (not counting the checksum) for three devices: * ARCHER-A7-V5 * ARCHER-C7-V4 * ARCHER-C7-V5 These were the devices where the extra-para blob didn't match the common format. The hardcoded data also didn't correspond to TP-Link's (recent) upgrade images, which actually matches the meta-partition format. A padding byte is also added to the extra-para partition for EAP245-V3. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: fix mistake and improve logic in nec-encINAGAKI Hiroshi2020-11-121-1/+1
| | | | | | | | | this patch fixes/improves follows: - PATTERN_LEN is defined as a macro but unused - redundant logic in count-up for "ptn" Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ath79: add support for TP-Link TL-WPA8630P (EU) v2.1Joe Mullally2020-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the TP-Link TL-WPA8630P (EU) in its v2.1 version. The only unique aspect for the firmware compared to v2 layout is the partition layout. Note that while the EU version has different partitioning for v2.0 and v2.1, the v2.1 (AU) is supported by the v2-int image. If you plan to use this device, make sure you have a look at the Wiki page to check whether the device is supported and which image needs to be taken. Specifications -------------- - QCA9563 750MHz, 2.4GHz WiFi - QCA9888 5GHz WiFi - 8MiB SPI Flash - 128MiB RAM - 3 GBit Ports (QCA8337) - PLC (QCA7550) Installation ------------ Installation is possible from the OEM web interface. Make sure to install the latest OEM firmware first, so that the PLC firmware is at the latest version. However, please also check the Wiki page for hints according to altered partitioning between OEM firmware revisions. Notes ----- The OEM firmware has 0x620000 to 0x680000 unassigned, so we leave this empty as well. It is complicated enough already ... Signed-off-by: Joe Mullally <jwmullally@gmail.com> [improve partitions, use v2 DTSI, add entry in 02_network, rewrite and extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: increase kernel partition for ar9344 TP-Link CPE/WBSAdrian Schmutzler2020-08-301-1/+1
| | | | | | | | | | | | The kernel has become too big again for the ar9344-based TP-Link CPE/WBS devices which still have no firmware-partition splitter. Current buildbots produce a kernel size of about 2469 kiB, while the partition is only 2048 kiB (0x200000). Therefore, increase it to 0x300000 to provide enough room for this and, hopefully, the next kernel. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* tools/firmware-utils: use UTC for image timestampsSander Vanheule2020-08-071-1/+1
| | | | | | | | By using localtime() to determine the timestamp that goes into factory images, the resulting image depends on the timezone of the build system. Use gmtime() instead, which results in more reproducible images. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* tools/firmware-utils: add PKG_RELEASEPaul Spooren2020-07-231-1/+2
| | | | | | | | | | | | There is no versioning information in the firmware-utils code nor the Makefile. Consider it as first release by adding PKG_RELEASE. Motivation is the tracking of changes in the buildsystem, which requires versioning of packages. Also update copyright. Signed-off-by: Paul Spooren <mail@aparcar.org>
* firmware-utils: sort tools alphabeticallySungbo Eo2020-06-281-58/+58
| | | | | | Also remove leading whitespace after comma. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* firmware-utils: ptgen: add GPT support李国2020-03-311-1/+1
| | | | | | | | | | | | | | | | Add GPT support to ptgen, so we can generate EFI bootable images. Introduced two options: -g generate GPT partition table -G GUID use GUID for disk and increase last bit for all partitions We drop The alternate partition table to reduce size, This may cause problems when generate vmdk images or vdi images. We have to pad enough sectors when generate these images. Signed-off-by: 李国 <uxgood.org@gmail.com> [fixed compilation on macOS] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* firmware-utils: add lxlfw tool for generating Luxul firmwaresDan Haab2020-02-071-0/+1
| | | | | | It's a simple tool prepending image with a Luxul header. Signed-off-by: Dan Haab <dan.haab@legrand.com>
* ramips: add support for Fon FON2601NOGUCHI Hiroshi2019-07-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FON2601 is a wireless router. Specification: - SoC: Mediatek MT7620A (580MHz) - RAM: 128 MiB - ROM: 16 MiB SPI Flash - Wireless: for 11b/g/n (upto 300 Mbps): MT7620A built-in WMAC for 11a/n/ac (upto 867 Mbps): MT7662E - Ethernet LAN: 1 port, upto 100 Mbps - Ethernet WAN: 1 port, upto 1000 Mbps - USB: 1 port (USB 2.0 host) - LEDs: 4 (all can be controlled by SoC's GPIO) - buttons: 1 (Displayed as "WPS" on enclosure) - serial port: 57600n8 pins: Vcc(3.3V), Rx, Tx, GND (left to right, viewed from outside of board) Installation (only available via UART): 1. download sysupgrade binary image by wget command 2. write sysupgrade binary image to Flash command is: mtd write sysupgrade.bin firmware 3. reboot Important Notice: Only one button is displayed as "WPS" on enclosure. However, it is configured as "reset" (factory resetting feature). Signed-off-by: NOGUCHI Hiroshi <drvlabo@gmail.com> [removed unrelated openwrt-keyring revert, missing -Wall for uimage_padhdr] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* firmware-utils: mkfwimage: fix more errors reported by gcc-6/7/9Petr Štetiar2019-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | src/mkfwimage.c:276:8: error: format '%lld' expects argument of type 'long long int', but argument 4 has type '__off_t' {aka 'const long int'} [-Werror=format=] src/fw.h:71:36: error: format '%llu' expects argument of type 'long long unsigned int', but argument 6 has type '__off_t' {aka 'long int'} [-Werror=format=] inlined from 'main' at src/mkfwimage.c:543:12: /string_fortified.h:106:10: error: '__builtin_strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Werror=stringop-truncation] inlined from 'write_part' at src/mkfwimage.c:235:2, string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] inlined from 'main' at src/mkfwimage.c:477:5: string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation] inlined from 'main' at src/mkfwimage.c:496:5: string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4096 equals destination size [-Werror=stringop-truncation] inlined from 'main' at src/mkfwimage.c:481:5: string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4096 equals destination size [-Werror=stringop-truncation] inlined from 'main' at src/mkfwimage.c:485:5: string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] Runtested on ath79 and UBNT Bullet M XW. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* firmware-utils: mkfwimage: enable extra compiler checks and fix themPetr Štetiar2019-07-191-2/+8
| | | | | | | Let's enforce additional automatic checks enforced by the compiler in order to catch possible errors during compilation. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq40xx: add factory image for EnGenius ENS620EXTSteve Glennon2019-05-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extended mksenaofw to support new "capwap" header structure. This supports flashing from factory 3.0.0, 3.0.1, 3.1.0 and 3.5.5 firmware. Note that the factory image format changes for 3.1 and later firmware, and that the 3.1.0 and 3.5.5 Engenius firmware will refuse the factory_30.bin file. Similarly, the 3.0.0 and 3.0.1 Engenius firmware will refuse the factory_35.bin file. Flashing from the Engenius 3.1.0 firmware with the factory_35.bin firmware has not been tested, as 3.1.0 firmware (Engenius "middleFW") is only intended as part of the upgrade path to 3.5.5 firmware. Modified ipq40xx image Makefile to appropriately invoke mksenaofw with new parameters to configure the capwap header. Note that there is currently no method to return to factory firmware, so this is a one-way street. Path from factory 3.0.0 and 3.0.1 (EnGenius) software to OpenWrt is to navigate to 192.168.1.1 on the stock firmware and navigate to the firmware menu. Then copy the URL you have for that page, something like http://192.168.1.1/cgi-bin/luci/;stok=12345abcdef/admin/system/flashops and replace the trailing /admin/system/flashops with just /easyflashops You should then be presented with a simple "Firmware Upgrade" page. On that page, BE SURE TO CLEAR the "Keep Settings:" checkbox. Choose the openwrt-ipq40xx-engenius_ens620ext-squashfs-factory_30.bin, click "Upgrade" and on the following page select "Proceed". Path from factory 3.5.5 (EnGenius) software to OpenWrt is simply to use the stock firmware update menu. Choose the openwrt-ipq40xx-engenius_ens620ext-squashfs-factory_35.bin and click "Upload" and "Proceed". The device should then flash the OpenWrt firmware and reboot. Note that this resets the device to a default configuration with Wi-Fi disabled, LAN1/PoE acting as a WAN port (running DHCP client) and LAN2 acting as a LAN port with a DHCP server on 192.168.1.x (AP is at 192.168.1.1) Signed-off-by: Steve Glennon <s.glennon@cablelabs.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [sorry, for unfixing the 80-lines eyesores.]
* firmware-utils: fix nec-enc build on older architecturesChristian Lamparter2019-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | This patch enable gnu99 mode for the nec-enc utility which fixes the following build-breaking errors on some older architectures. nec-enc.c: In function ‘xor_data’: nec-enc.c:34:2: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode for (int i = 0; i < len; i++) { ^~~ nec-enc.c:34:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code nec-enc.c: In function ‘main’: nec-enc.c:101:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode for (int i = 0; i < n; i++) { ^~~ Spotted-By: Buildbot Fixes: fac27643f057 ("firmware-utils: add nec-enc") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* firmware-utils: add nec-encINAGAKI Hiroshi2019-04-061-0/+1
| | | | | | | | | | | | | | | | | | | | nec-enc provides firmware encoding/decoding with model specific key for NEC devices. known devices: - Aterm WF1200CR - Aterm WG1200CR - Aterm WG2600HS usage: nec-enc -i infile -o outfile -k key Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [checkpatch fixes, marked usage as noreturn, added static function, moved buf* from stack to the global data segment]
* firmware-utils: mksercommfw: overhaul image creationMathias Kresin2019-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | Move the zip compression into a build recipe. Pad the image using the existing build recipes as well to remove duplicate functionality Change the code to append header and footer in two steps. Allow to use a fixed filename as the netgear update image does. Use a fixed timestamp within the zip archive to make the images reproducible. Due to the changes we are now compatible to the gnu89 c standard used by default on the buildbots and we don't need to force a more recent standard anymore. Beside all changes, the footer still looks wrong in compare to the netgear update image. Signed-off-by: Mathias Kresin <dev@kresin.me>
* firmware-utils: mkdlinkfw: fix buildMathias Kresin2019-01-131-1/+1
| | | | | | | | | | | | | While we don't need the gnu99 option anymore, we still need to force the c99 standard to fix the following build error on the build bots: src/mkdlinkfw.c: In function 'find_auh_headers': src/mkdlinkfw.c:267:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode for (int i = 0; i < header_counter; i++) { ^ src/mkdlinkfw.c:267:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code Signed-off-by: Mathias Kresin <dev@kresin.me>
* firmware-utils: mkdlinkfw: cleanup codeMathias Kresin2019-01-131-1/+1
| | | | | | | Drop unused function and macros. With the cleanup the gnu extension typeof isn't used any longer and the gnu99 compile flag can be dropped. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: use new image build code for D-Link DCS-930 familyMathias Kresin2018-12-121-1/+0
| | | | | | | | | | | | Drop the factory images and the firmware tool to create them. They don't work any more, since the factory image has an uImage header covering the whole kernel + rootfs. This way the uImage splitter will not be able to find the rootfs and the kernel will panic later on. The factory images were most likely added at a time the board had distinct partitions for kernel and rootfs. Signed-off-by: Mathias Kresin <dev@kresin.me>
* build: add mkrasimageDavid Bauer2018-08-281-0/+1
| | | | | | | | | | | | | | | The current make-ras.sh image generation script for the ZyXEL NBG6617 has portability issues with bash. Because of this, factory images are currently not built correctly by the OpenWRT buildbots. This commit replaces the make-ras.sh by C-written mkrasimage. The new mkrasimage is also compatible with other ZyXEL devices using the ras image-format. This is not tested with the NBG6616 but it correctly builds the header for ZyXEL factory image. Signed-off-by: David Bauer <mail@david-bauer.net>
* firmware-utils: add sercomm/netgear toolLudwig Thomeczek2018-08-131-0/+1
| | | | | | | | | | | This adds a tool to generate a firmware file accepted by Netgear or sercomm devices. They use a zip-packed rootfs with header and a custom checksum. The generated Image can be flashed via the nmrpflash tool or the webinterface of the router. Signed-off-by: Ludwig Thomeczek <ledesrc@wxorx.net>
* firmware-utils: add DNS-313 image header toolLinus Walleij2018-05-051-0/+1
| | | | | | | | This tool is used to create headers on images for the D-Link DNS-313 in gemini target. Will be used after switching gemini to 4.14 kernel. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* firmware-utils: image generator for D-Link DAP-1330Nicolò Veronese2018-04-051-0/+1
| | | | Signed-off-by: Nicolò Veronese <nicveronese@gmail.com>
* firmware-utils: mkdlinkfw: compile as gnu99Mathias Kresin2018-03-191-1/+1
| | | | | | Compile as gnu99 to fix the build. Signed-off-by: Mathias Kresin <dev@kresin.me>