aboutsummaryrefslogtreecommitdiff
path: root/tools/firmware-utils/Makefile
Commit message (Collapse)AuthorAge
* treewide: update PKG_MIRROR_HASH to zstPaul Spooren2024-04-06
| | | | | | | When using zst instead of xz, the hash changes. This commit fixes the hash for packages and tools in core. Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools: firmware-utils: update to git HEADHauke Mehrtens2024-03-23
| | | | | | 6b24299 ptgen: fix limitation for active partition in GPT Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools: firmware-utils: update to git HEADSander Vanheule2024-03-23
| | | | | | | | | | | | | | | | Add the new 'zycast' tool for remote flashing of Zyxel devices, support for factory image generation for two new TP-Link devices, and improved compatibility with two other devices. 17de36575f1e zycast: disable build on non-Linux OS a5dfb5fb5e6e tplink-safeloader: add TP-Link RE205 v3 support c1e06daf4622 tplink-safeloader: bump EAP225-V3 compat_level 335d063cff23 tplink-safeloader: bump EAP225-Outdoor v1 compat c1e69e6f9c0d tplink-safeloader: show compat_level with FW info e87f23849790 zycast: new tool for ZyXEL bootloader flashing 9067281d17da tplink-safeloader: add RE365 v1 Signed-off-by: Sander Vanheule <sander@svanheule.net>
* treewide: use APK compatible version schemaPaul Spooren2024-03-22
| | | | | | | | | | | | | | | | | Different from OPKG, APK uses a deterministic version schema which chips the version into chunks and compares them individually. This enforces a certain schema which was previously entirely flexible. - Releases are added at the very and end prefixed with an `r` like `1.2.3-r3`. - Hashes are prefixed with a `~` like `1.2.3~abc123`. - Dates become semantic versions, like `2024.04.01` - Extra tags are possible like `_git`, `_alpha` and more. For full details see the APK test list: https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/master/test/version.data Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools: firmware-utils: update to git HEADSander Vanheule2023-12-17
| | | | | | | | | Adds two changes improving compatibility with supported TP-Link devices. 5e14973d2199 tplink-safeloader: add Archer A6 v2 (RU) d87b6c4b6423 tplink-safeloader: bump EAP615-Wall compat_level Signed-off-by: Sander Vanheule <sander@svanheule.net>
* tools: firmware-utils: Fix PKG_MIRROR_HASHHauke Mehrtens2023-11-23
| | | | | | | | This fixes the mirror hash to the version of the file uploaded to the download mirror and which my build calculated. Fixes: 59a66d3c9b2a ("firmware-utils: update to Git HEAD (2023-11-21)") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* firmware-utils: update to Git HEAD (2023-11-21)Rafał Miłecki2023-11-21
| | | | | | | | | | | 12bf1a9 lxlfw: support certificate & signature blobs eaf2ea2 lxlfw: support extracting image d770cab lxlfw: support embedding blobs 16fa890 lxlfw: fix struct lxl_hdr attribute 8e149e4 lxlfw: move code copying data to helper function 3b114de lxlfw: move code opening LXL to helper function Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: bump to git HEADPaul Spooren2023-11-03
| | | | | | ba5bc4e add dlink-sge-image for D-Link devices by SGE Signed-off-by: Paul Spooren <mail@aparcar.org>
* firmware-utils: bump to git HEADHauke Mehrtens2023-10-29
| | | | | | | | | | | | | | | a170683 firmware-utils: fix use of NULL string progname 89875fc tplink-safeloader: CPE510: add Canadian support 9e211d2 mktplinkfw2: add support to extract bootloader images c18f662 mktplinkfw2: add support to pack bootloader 3dc1339 mktplinkfw2: show exact exceed bytes when the image is to big d16ff79 tplink-safeloader: WPA8631: add v4 AU, US 0fa1cc5 zytrx: add LTE5398-M904 6354661 firmware-utils: ptgen: add SiFive GPT partition support The removed patch was applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* firmware-utils: bump to git HEADSander Vanheule2023-07-02
| | | | | | | | | | Add support for a number of new TP-Link devices. 9e2de8515be1 tplink-safeloader: add EAP610 v3 and EAP613 v1 bb12cf5c3fa9 tplink-safeloader: Add support for TP-Link Deco M5 a2d49fb1e188 tplink-safeloader: add RU support-list entry for Archer C6U v1 Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: update to latest HEADDavid Bauer2023-05-18
| | | | | | | | | 02cdbc6 tplink-safeloader: add Archer AX23 v1.2 (RU) de36fa6 tplink-safeloader: add AX23 support-list entry 5f6fefd tplink-safeloader: order AX23 support-list 25131d6 tplink-safeloader: add Archer C59 / C60 CA ragion code Signed-off-by: David Bauer <mail@david-bauer.net>
* firmware-utils: update to latest HEADDavid Bauer2023-04-18
| | | | | | e8191eb tplink-safeloader: increase support-list size for AX23 v1 Signed-off-by: David Bauer <mail@david-bauer.net>
* firmware-utils: update to latest HEADDavid Bauer2023-04-12
| | | | | | 6a58f45 tplink-safeloader: add US-CA-TW support-list entries for Archer AX23v1 Signed-off-by: David Bauer <mail@david-bauer.net>
* firmware-utils: update to latest HEADDavid Bauer2023-03-15
| | | | | | | | | | | | | | | | a2c80c5 tplink-safeloader: add Archer AX23 3c04ecf tplink-safeloader: add Cloud image detection 87e593d tplink-safeloader: add QNEW image detection 34fbf48 tplink-safeloader: add vendor info support d86cc1b tplink-safeloader: refactor image ingestion 5d3a14a tplink-safeloader: ignore NULLs in version info 71ddbcd tplink-safeloader: don't end-pad sysupgrade file a29817e tplink-safeloader: stop at nameless partition 0c8a724 tplink-safeloader: replace hardcoded offsets b82a521 tplink-safeloader: use enum for table types 201a6c0 tplink-safeloader: stricter free_image_partition() Signed-off-by: David Bauer <mail@david-bauer.net>
* firmware-utils: bump to git HEADMark Ceeha2023-02-03
| | | | | | | | Adds support for building TP-Link Deco M4R v4 factory images e7233d229c2c tplink-safeloader: Add support for Deco M4R V4 Signed-off-by: Mark Ceeha <hi@shiz.me>
* firmware-utils: fix archive checksumSander Vanheule2022-12-15
| | | | | | | | | PKG_SOURCE_DATE was modified after updating PKG_MIRROR_HASH, causing the latter to change. This results in a warning during builds and rejected downloads. Fixes: 232879a7b7f8 ("firmware-utils: bump to git HEAD") Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: bump to git HEADSander Vanheule2022-12-15
| | | | | | | | Adds support for building TP-Link CPE605v1 factory images bd856eff4850 tplink-safeloader: add TP-Link CPE605 v1 Support Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: update to git HEADDaniel Golle2022-09-12
| | | | | | 0c92b20 iptime-crc32: add support for A6004MX Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* firmware-utils: update to git HEADHauke Mehrtens2022-09-11
| | | | | | 71e1db6 tplink-safeloader: add TP-Link Deco S4 v2 support Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* firmware-utils: update to git HEADDaniel Golle2022-07-28
| | | | | | | 4f8d03d mkh3cimg: add image tool for H3C devices 2483fe7 mkh3cvfs: add filesystem tool for H3C devices Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* firmware-utils: bump to git HEADSander Vanheule2022-06-27
| | | | | | | | | | | | | The support-list partition for the EAP225-V3 board ID became larger than the allocated size, resulting in factory image generation for the EAP225-Outdoor v3 and EAP225 v3 to fail. The make directive Build/tplink-safeloader ignores this failure however, resulting in a seemingly successful build with empty factory images. Included changes: e609c5d75186 tplink-safeloader: drop unqualified EAP225-V3 IDs Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: bump to git HEADSander Vanheule2022-06-26
| | | | | | | | | Fixes the safeloader model identifiers for EAP225-Outdoor v1/v3 devices. 1e3d47292b2e tplink-safeloader: fix EAP225-Outdoor model IDs 9563fe8e78cb tplink-safeloader: add regionless EAP225-V3 IDs Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: bump to git HEADSander Vanheule2022-05-27
| | | | | | | | | | | | | | | | Fixes an out of bounds issue, adds support for TP-Link safeloader images with non-default partition names, and adds image generation support for: - TP-Link Archer A6 v2 (EU) - TP-Link EAP225 v4 - TP-Link EAP225-Outdoor v3 365458e00ed7 tplink-safeloader: join EAP225-V3 compatible devices 0277810d353d tplink-safeloader: fix chunked support-list prints a64f89c66318 tplink-safeloader: Patch to handle partitions with alternate names. 07f78f071075 firmware-utils: tplink-safeloader: add support for Archer A6 v2 (EU) 49ea62160d21 tplink-safeloader: fix alphabetical order Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: bump to git HEADSander Vanheule2022-04-27
| | | | | | | | | 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>
* firmware-utils: bump to git HEADHauke Mehrtens2022-04-23
| | | | | | 05fd700 tplink-safeloader: TP-Link RE650 v2 support Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* firmware-utils: bump to git HEADStijn Tintel2022-02-28
| | | | | | 002cfaf firmware-utils: fix compilation with macOS Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* firmware-utils: bump to git HEADStijn Tintel2022-02-27
| | | | | | | | | | | 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-29
| | | | | | | 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-28
| | | | | | | 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-16
| | | | | | 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-14
| | | | | | 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-02
| | | | | | | | | | | | | | | 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-30
| | | | | | | 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-05
| | | | | | | | 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-05
| | | | | | | | | | | | | | | | 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-24
| | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | 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-09
| | | | | | | | | | | | | 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-21
| | | | Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* firmware-utils: add support for ZyXEL ZLD firmwareVincent Wiemann2021-08-21
| | | | | | | | | | | | | | | | 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-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-09
| | | | | | This helps spotting possible problems Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: bcm4908img: convert into a packageRafał Miłecki2021-04-08
| | | | | | | | | | 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-22
| | | | | | | | | | | 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-18
| | | | | | | | | | 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-15
| | | | | | | 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-22
| | | | | | | | 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-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-12
| | | | | | | | | 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>