aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware-utils
Commit message (Collapse)AuthorAgeFilesLines
* firmware-utils: fix archive checksumSander Vanheule2022-12-151-1/+1
| | | | | | | | | 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-151-3/+3
| | | | | | | | 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-121-3/+3
| | | | | | 0c92b20 iptime-crc32: add support for A6004MX Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* firmware-utils: update to git HEADHauke Mehrtens2022-09-111-3/+3
| | | | | | 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-281-3/+3
| | | | | | | 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-271-2/+2
| | | | | | | | | | | | | 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-261-2/+2
| | | | | | | | | 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-271-2/+2
| | | | | | | | | | | | | | | | 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-271-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>
* firmware-utils: bump to git HEADHauke Mehrtens2022-04-231-3/+3
| | | | | | 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-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-05104-37775/+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>
* ath79: add support for TP-Link CPE710-v1Andrew Cameron2021-09-251-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link CPE710-v1 is an outdoor wireless CPE for 5 GHz with one Ethernet port based on the AP152 reference board Specifications: - SoC: QCA9563-AL3A MIPS 74kc @ 775MHz, AHB @ 258MHz - RAM: 128MiB DDR2 @ 650MHz - Flash: 16MiB SPI NOR Based on the GD25Q128 - Wi-Fi 5Ghz: ath10k chip (802.11ac for up to 867Mbps on 5GHz wireless data rate) Based on the QCA9896 - Ethernet: one 1GbE port - 23dBi high-gain directional 2×2 MIMO antenna and a dedicated metal reflector - Power, LAN, WLAN5G Blue LEDs - 3x Blue LEDs Flashing instructions: Flash factory image through stock firmware WEB UI or through TFTP To get to TFTP recovery just hold reset button while powering on for around 30-40 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP address:192.168.0.254 Signed-off-by: Andrew Cameron <apcameron@softhome.net> [convert to nvmem, fix MAC assignment in 11-ath10k-caldata] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add missing information to dlink headersAlan Luck2021-09-242-0/+168
| | | | | | | | | | | | 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: set EAP235-Wall v1 soft-versionSander Vanheule2021-09-131-1/+1
| | | | | | | | | | | | | | | | | | | Starting with v3 of the vendor firmware for the TP-Link EAP235-Wall v1, downgrades to firmware versions below v3 as not allowed. Since OpenWrt uses version 0.0.0 as a default, this causes the factory install to fail on devices with a recent firmware. This failure is associated by the following message on the device's serial console: EAP235/230-Wall forbid fw reverted from 3.x.x to lower version! Vendor firmware (v3) also uses build and release numbers to compare images, so identical version numbers are very unlikely to cause issues. Bump the firmware version to 3.0.0 to ensure users can install OpenWrt on their devices. Reported-by: Colton Conor <colton.conor@gmail.com> Tested-by: Colton Conor <colton.conor@gmail.com> Signed-off-by: Sander Vanheule <sander@svanheule.net>
* firmware-utils: tplink-safeloader: improve soft-version customisationSander Vanheule2021-09-132-74/+95
| | | | | | | | | | | | | | | | 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-092-1/+3
| | | | | | | | | | | | | 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: seama.h: replace LGPL-2.1-or-later boilerplate with SPDXRafał Miłecki2021-09-071-15/+1
| | | | | | | | | | | | | | | This was missed because scancode license scanner was confused by a slightly different than expected license text (96,75% license score). License text included "file" instead of "library" in the main part of the licensing info. It also used "The GNU C Library" instead of the standard "This library" in 2nd and 3rd paragraphs. The first paragraph clearly mentions LGPL-2.1-or-later and the use of "file" instead of "library" should not affect licensing. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WA1201 v2Robert Balas2021-09-051-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This device is a wireless access point working on the 2.4 GHz and 5 GHz band, based on Qualcomm/Atheros QCA9563 + QCA9886. Specification - 775 MHz CPU - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - QCA9563: 2.4 GHz 3x3 - QCA9886: 5 GHz - AR8033: 1x 1 Gbs Ethernet - 4x LED, WPS factory reset and power button - bare UART on PCB (accessible through testpoints) Methods for Flashing: - Apply factory image in OEM firmware web-gui. Wait a minute after the progress bar completes and restart the device. - Sysupgrade on top of existing OpenWRT image - Solder wires onto UART testpoints and attach a terminal. Boot the device and press enter to enter u-boot's menu. Then issue the following commands 1. setenv serverip your-server-ip setenv ipaddr your-device-ip 2. tftp 0x80060000 openwrt-squashfs.bin (Rembember output of size in hex, henceforth "sizeinhex") 3. erase 0x9f030000 +"sizeinhex" 4. cp.b 0x80060000 0x9f030000 0x"sizeinhex" 5. reboot Recover: - U-boot serial console Signed-off-by: Robert Balas <balasr@iis.ee.ethz.ch> [convert to nvmem] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* firmware-utils: mkmerakifw-old: Add le32 supportMatthew Hagan2021-08-311-22/+41
| | | | | | | | | | | | | mkmerakifw-old was created for the z1 which uses the AR9344 SoC with be32 addressing. The MX64/MX65 devices use the same header style, however these boards use a BCM NSP SoC with le32 addressing. Since we may be booting initramfs images with this header, which may be of any size, within reason, board->imagelen is set to 0. The kernel image shoule be limited in the image Makefile. Signed-off-by: Matthew Hagan <mnhagan88@gmail.com> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: fix build on not LinuxKevin Darbyshire-Bryant2021-08-212-2/+2
| | | | Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* firmware-utils: add support for ZyXEL ZLD firmwareVincent Wiemann2021-08-212-1/+832
| | | | | | | | | | | | | | | | 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: nand_ecc: replace GPL boilerplate with SPDXRafał Miłecki2021-08-091-15/+1
| | | | | | Cc: yajin <yajin@vm-kernel.org> Cc: Felix Fietkau <nbd@nbd.name> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: trx: replace GPL-2.0-or-later boilerplate with SPDXRafał Miłecki2021-08-091-14/+1
| | | | | | | This was missed because scancode license scanner was confused by comments about crc32buf(). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: osbridge-crc: replace GPL-2.0-only boilerplate with SPDXRafał Miłecki2021-08-091-5/+1
| | | | | | | | | This was missed because scancode license scanner was confused by comments about crc32buf(). Cc: Gabor Juhos <juhosg@openwrt.org> Cc: Gabor Juhos <juhosg@freemail.hu> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: mkmylofw: replace GPL-2.0-or-later boilerplate with SPDXRafał Miłecki2021-08-091-16/+1
| | | | | | | | | This was missed because scancode license scanner was confused by a comment about (no) copyrights in the init_crc_table(). Cc: Gabor Juhos <juhosg@openwrt.org> Cc: Gabor Juhos <juhosg@freemail.hu> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: mkmerakifw-old: replace GPL-2.0-only boilerplate with SPDXRafał Miłecki2021-08-091-5/+1
| | | | | | | | | This was missed because scancode license scanner was confused by a comment about Cisco's GPL code github repository. Cc: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: Christian Lamparter <chunkeey@gmail.com>
* firmware-utils: add GPL 2.0 SPDX to files with no license infoRafał Miłecki2021-08-0613-0/+13
| | | | | | These files fall under the project license: GPL-2.0-only. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: tplink-safeloader: replace BSD-2-Clause boilerplate with SPDXRafał Miłecki2021-08-061-20/+1
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: Matthias Schiffer <mschiffer@universe-factory.net>
* firmware-utils: seama: replace BSD-3-Clause boilerplate with SPDXRafał Miłecki2021-08-061-31/+1
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: replace GPL 2.0+ boilerplate/reference with SPDXRafał Miłecki2021-08-0627-314/+28
| | | | | | | This uses "GPL-2.0-or-later" header for files identified using scancode license scanner with 100% score as GPL 2.0 or later. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* firmware-utils: replace GPL 2.0 boilerplate/reference with SPDXRafał Miłecki2021-08-0637-218/+36
| | | | | | | | | This uses "GPL-2.0-only" header for files identified using scancode license scanner with 100% score as GPL 2.0. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Stijn Tintel <stijn@linux-ipv6.be>
* ath79: add support for TP-Link RE455 v1Roberto Valentini2021-07-111-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link RE455 v1 is a dual band router/range-extender based on Qualcomm/Atheros QCA9563 + QCA9880. This device is nearly identical to RE450 v3 Specification: - 775 MHz CPU - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 3T3R 5 GHz - 1x 10/100/1000 Mbps Ethernet (AR8033 PHY) - 7x LED, 4x button - UART header on PCB[1] Flash instruction: Apply factory image in OEM firmware web-gui. [1] Didn't work, probably need to short unpopulated resistor R64 and R69 as RE450v3 Signed-off-by: Roberto Valentini <valantin89@gmail.com>
* ath79: add support for TP-Link TL-WR941HP v1Diogenes Rengo2021-07-041-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm Atheros TP9343 (750 MHz) Flash: 8 Mb (GigaDevice GD25Q64CSIG) RAM: 64 Mb (Zentel A3R12E40DBF-8E) Serial: yes, 4-pin header Wlan: Qualcomm Atheros TP9343, antenna: MIM0 3x3:3 RP-SMA 3 x 2.4GHz power amp module Skyworks (SiGe) SE2576L Ethernet: Qualcomm Atheros TP9343 Lan speed: 100M ports: 4 Lan speed: 100M ports: 1 Other info: same case, ram and flash that TP-Link TL-WR841HP, different SOC https://forum.openwrt.org/t/adding-device-support-tp-link-wr941hp/ Label MAC addresses based on vendor firmware: LAN *:ee label WAN *:ef label +1 WLAN *:ee label The label MAC address found in "config" partition at 0x8 Flash instruction: Upload the generated factory firmware on web interface. Signed-off-by: Diogenes Rengo <rengocbx250@gmail.com> [remove various whitespace issues, squash commits, use short 0x0] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* firmware-utils: tplink-safeloader: support Archer A6 v3 CAStijn Segers2021-06-201-0/+1
| | | | | | | | | The Canadian edition of the TP-Link Archer A6 v3 uses a different header, but otherwise it's identical to the already supported EU/US editions. Signed-off-by: Stijn Segers <foss@volatilesystems.org> Tested-by: Brian Lee <dev@leebrian.me> Reviewed-by: Philip Prindeville <philipp@redfish-solutions.com>
* ramips: add support for TP-Link Archer C6 v3Amish Vishwakarma2021-06-131-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds support for the TP-Link Archer C6 v3 (FCC ID TE7A6V3) The patch adds identification changes to the existing TP-Link Archer A6, by Vinay Patil <post2vinay@gmail.com>, which has identical hardware. Specification ------------- MediaTek MT7621 SOC RAM: 128MB DDR3 SPI Flash: W25Q128 (16MB) Ethernet: MT7530 5x 1000Base-T WiFi 5GHz: Mediatek MT7613BE WiFi 2.4GHz: Mediatek MT7603E UART/Serial: 115200 8n1 Device Configuration & Serial Port Pins --------------------------------------- ETH Ports: LAN4 LAN3 LAN2 LAN1 WAN _______________________ | | Serial Pins: | VCC GND TXD RXD | |_____________________| LEDs: Power Wifi2G Wifi5G LAN WAN Build Output ------------ The build will generate following set of files [1] openwrt-ramips-mt7621-tplink_archer-c6-v3-initramfs-kernel.bin [2] openwrt-ramips-mt7621-tplink_archer-c6-v3-squashfs-factory.bin [3] openwrt-ramips-mt7621-tplink_archer-c6-v3-squashfs-sysupgrade.bin How to Use - Flashing from TP-Link Web Interface ------------------------------------------------ * Go to "Advanced/System Tools/Firmware Update". * Click "Browse" and upload the OpenWrt factory image: factory.bin[2] * Click the "Upgrade" button, and select "Yes" when prompted. TFTP Booting ------------ Setup a TFTP boot server with address 192.168.0.5. While starting U-boot press '4' key to stop autoboot. Copy the initramfs-kernel.bin[1] to TFTP server folder, rename as test.bin From u-boot command prompt run tftpboot followed by bootm. Recovery -------- Archer A6 V3 has recovery page activated if SPI booting from flash fails. Recovery page can be activated by powercycling the router four times before the boot process is complete. Note: TFTP boot can be activated only from u-boot serial console. Device recovery address: 192.168.0.1 Signed-off-by: Amish Vishwakarma <vishwakarma.amish@gmail.com> [fix indent] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: use dynamic partitioning for TP-Link CPE seriesMichael Pratt2021-06-051-22/+11
| | | | | | | | | | | | | | | | | | | | | | | | | CPExxx and WBSxxx boards with AR9344 SOC use the OKLI lzma kernel loader with the offset of 3 blocks of length 4k (0x3000) in order to have a fake "kernel" that cannot grow larger than how it is defined in the now static OEM partition table. Before recent changes to the mtdsplit driver, the uImage parser for OKLI only supported images that started exactly on an eraseblock boundary. The mtdsplit parser for uImage now supports identifying images with any magic number value and at any offset from the eraseblock boundary using DTS properties to define those values. So, it is no longer necessary to use fixed sizes for kernel and rootfs Tested-by: Andrew Cameron <apcameron@softhome.net> [CPE510 v2] Tested-by: Bernhard Geier <freifunk@geierb.de> [WBS210 v2] Tested-by: Petrov <d7c48mWsPKx67w2@gmail.com> [CPE210 v1] Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ramips: add support for TP-Link Archer C6U v1 (EU)Georgi Vlaev2021-05-261-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for TP-Link Archer C6U v1 (EU). The device is also known in some market as Archer C6 v3. This patch supports only Archer C6U v1 (EU). Specifications: -------------- * SoC: Mediatek MT7621AT 2C2T, 880MHz * RAM: 128MB DDR3 * Flash: 16MB SPI NOR flash (Winbond 25Q128) * WiFi 5GHz: Mediatek MT7613BEN (2x2:2) * WiFi 2.4GHz: Mediatek MT7603EN (2x2:2) * Ethernet: MT7630, 5x 1000Base-T. * LED: Power, WAN, LAN, WiFi 2GHz and 5GHz, USB * Buttons: Reset, WPS. * UART: Serial console (115200 8n1), J1(GND:3) * USB: One USB2 port. Installation: ------------ Install the OpenWrt factory image for C6U is from the TP-Link web interface. 1) Go to "Advanced/System Tools/Firmware Update". 2) Click "Browse" and upload the OpenWrt factory image: openwrt-ramips-mt7621-tplink_archer-c6u-v1-squashfs-factory.bin. 3) Click the "Upgrade" button, and select "Yes" when prompted. Recovery to stock firmware: -------------------------- The C6U bootloader has a failsafe mode that provides a web interface (running at 192.168.0.1) for reverting back to the stock TP-Link firmware. The failsafe interface is triggered from the serial console or on failed kernel boot. Unfortunately, there's no key combination that enables the failsafe mode. This gives us two options for recovery: 1) Recover using the serial console (J1 header). The recovery interface can be selected by hitting 'x' when prompted on boot. 2) Trigger the bootloader failsafe mode. A more dangerous option is force the bootloader into recovery mode by erasing the OpenWrt partition from the OpenWrt's shell - e.g "mtd erase firmware". Please be careful, since erasing the wrong partition can brick your device. MAC addresses: ------------- OEM firmware configuration: D8:07:B6:xx:xx:83 : 5G D8:07:B6:xx:xx:84 : LAN (label) D8:07:B6:xx:xx:84 : 2.4G D8:07:B6:xx:xx:85 : WAN Signed-off-by: Georgi Vlaev <georgi.vlaev@konsulko.com>
* ramips: add support for TP-Link Archer A6 v3Vinay Patil2021-05-261-1/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds support for the TP-Link Archer A6 v3 The router is sold in US and India with FCC ID TE7A6V3 Specification ------------- MediaTek MT7621 SOC RAM: 128MB DDR3 SPI Flash: W25Q128 (16MB) Ethernet: MT7530 5x 1000Base-T WiFi 5GHz: Mediatek MT7613BE WiFi 2.4GHz: Mediatek MT7603E UART/Serial: 115200 8n1 Device Configuration & Serial Port Pins --------------------------------------- ETH Ports: LAN4 LAN3 LAN2 LAN1 WAN _______________________ | | Serial Pins: | VCC GND TXD RXD | |_____________________| LEDs: Power Wifi2G Wifi5G LAN WAN Build Output ------------ The build will generate following set of files [1] openwrt-ramips-mt7621-tplink_archer-a6-v3-initramfs-kernel.bin [2] openwrt-ramips-mt7621-tplink_archer-a6-v3-squashfs-factory.bin [3] openwrt-ramips-mt7621-tplink_archer-a6-v3-squashfs-sysupgrade.bin How to Use - Flashing from TP-Link Web Interface ------------------------------------------------ * Go to "Advanced/System Tools/Firmware Update". * Click "Browse" and upload the OpenWrt factory image: factory.bin[2] * Click the "Upgrade" button, and select "Yes" when prompted. TFTP Booting ------------ Setup a TFTP boot server with address 192.168.0.5. While starting U-boot press '4' key to stop autoboot. Copy the initramfs-kernel.bin[1] to TFTP server folder, rename as test.bin From u-boot command prompt run tftpboot followed by bootm. Recovery -------- Archer A6 V3 has recovery page activated if SPI booting from flash fails. Recovery page can be activated from serial console only. Press 'x' while u-boot is starting Note: TFTP boot can be activated only from u-boot serial console. Device recovery address: 192.168.0.1 Thanks to: Frankis for Randmon MAC address fix. Signed-off-by: Vinay Patil <post2vinay@gmail.com> [remove superfluous factory image definition, whitespacing] Signed-off-by: David Bauer <mail@david-bauer.net>
* firmware-utils: fix coverity zytrx.c resource leakKevin Darbyshire-Bryant2021-05-201-1/+3
| | | | | | | | | | | | | | | fix coverity resource leak warning: *len = stat.st_size; mapped = mmap(NULL, stat.st_size, PROT_READ, MAP_SHARED, fd, 0); if (close(fd) < 0) CID 1484880: Resource leaks (RESOURCE_LEAK) Variable "mapped" going out of scope leaks the storage it points to. return NULL; return mapped; } Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* firmware-utils: zytrx: Add util for ZyXEL specific headerBjørn Mork2021-05-092-0/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* tplink-safeloader: fix product_name of TP-Link AD7200Alex Henrie2021-05-061-1/+1
| | | | | | | | | | | | | | The stock firmware does not accept firmware with "Talon" in the name. Tested on firmware version 1.0.10 Build 20160902 rel. 57400 which came preinstalled, as well as latest firmware version 2.0.1 Build 20170103 rel.71053 flashed from AD7200v1-up-ver2-0-1-P1[20170103-rel71053]_2017-01-04_10.08.28.bin. Fixes: 1a775a4fd033 ("ipq806x: add support for TP-Link Talon AD7200") Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> [added details about vendor firmware] Signed-off-by: Petr Štetiar <ynezz@true.cz>