openwrt/staging/jow.git
2 years agokernel: 5.10: drop broken-flash-reset patch
Chuanhong Guo [Fri, 28 Jan 2022 11:46:51 +0000 (19:46 +0800)]
kernel: 5.10: drop broken-flash-reset patch

Flash accessing instruction templates are determined during probe since
v5.6 for spimem-dirmap support in spi-nor driver in upstream commit:
df5c21002cf4 ("mtd: spi-nor: use spi-mem dirmap API")
As a result, changing bus_width on the fly doesn't work anymore and this
patch will cause executing spi-mem ops with 3-byte address on 16-32M
flash area.
We can't easily revert that behavioral change upstream so drop the patch
to prevent u-boot and eeprom from being erased.

Fixes: b10d604459("kernel: add linux 5.10 support")
Reported-by: Frank Di Matteo <dimatto@foxmail.com>
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2 years agofirmware-utils: update to git HEAD of 2022-01-28
Daniel Golle [Fri, 28 Jan 2022 12:58:45 +0000 (12:58 +0000)]
firmware-utils: update to git HEAD of 2022-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>
2 years agoperf: Depend on libbfd and libopcodes when enabled
Florian Fainelli [Sat, 8 Jan 2022 16:45:29 +0000 (08:45 -0800)]
perf: Depend on libbfd and libopcodes when enabled

bpftool will enabled libbfd and libopcodes which gets picked up by perf
as libraries to link against. Add those missing dependencies when either
of these packages are enabled.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2 years agotools: build bash on macOS and use it for ipkg-build
Felix Fietkau [Thu, 27 Jan 2022 12:25:39 +0000 (13:25 +0100)]
tools: build bash on macOS and use it for ipkg-build

On macOS, system binaries silently drop the environment variables for injecting
extra shared libraries (used by fakeroot). This is done for security reasons.
Work around this by building bash from source, so that it gets an ad-hoc signature
and does not have these restrictions

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agotools/coreutils: build chown
Felix Fietkau [Thu, 27 Jan 2022 12:21:04 +0000 (13:21 +0100)]
tools/coreutils: build chown

On ARM macOS, injecting extra shared libraries does not work for system
binaries. This causes fakeroot to fail for chown calls

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agotools/fakeroot: fix unresolved symbols on arm64 macOS
Felix Fietkau [Thu, 27 Jan 2022 12:20:15 +0000 (13:20 +0100)]
tools/fakeroot: fix unresolved symbols on arm64 macOS

The $INODE64 symbol variants are not present, since the base system
always uses 64-bit file offsets

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agosdk: ship llvm toolchain
Felix Fietkau [Wed, 26 Jan 2022 12:52:07 +0000 (13:52 +0100)]
sdk: ship llvm toolchain

This allows ebpf packages like qosify to be built with it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agonetfilter: correct some dependencies
Tiago Gaspar [Sun, 23 Jan 2022 00:44:01 +0000 (00:44 +0000)]
netfilter: correct some dependencies

nf-nathelper-extra and nf-conntrack-netlink had iptables related
dependencies, yet, when looking for the respective kernel symbols and
checking it's dependencies it was confirmed that iptables wasn't
required and that these were either it's own moodule or tool independent
(nftables or iptables).

Correct these and make sure no unneeded extras are pulled in.

Signed-off-by: Tiago Gaspar <tiagogaspar8@gmail.com>
2 years agorockchip: disable UHS modes for NanoPi R4S
David Bauer [Tue, 25 Jan 2022 20:46:54 +0000 (21:46 +0100)]
rockchip: disable UHS modes for NanoPi R4S

The NanoPi R4S leaves the SD card in 1.8V signalling when rebooting
while U-Boot requires the card to be in 3.3V mode.

Remove UHS support from the SD controller so the card remains in 3.3V
mode. This reduces transfer speeds but ensures a reboot whether from
userspace or following a kernel panic is always working.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agometa: create FUNDING.yml
Paul Spooren [Tue, 25 Jan 2022 09:53:20 +0000 (10:53 +0100)]
meta: create FUNDING.yml

By adding this file a badge should appear in the GitHub web interface to
motivate people donate money to the OpenWrt project.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agomediatek: mt7623: include regular AHCI PCI driver
Daniel Golle [Tue, 25 Jan 2022 00:05:43 +0000 (00:05 +0000)]
mediatek: mt7623: include regular AHCI PCI driver

The legacy image for the UniElec U7623-02 until now included
kmod-ata-ahci-mtk. The MT7623 chip doesn't have that IP and that
board uses a PCIe-connected AHCI controller for the SATA port and
mSATA-pins of the mPCIe socket. Hence include kmod-ata-ahci instead.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoscripts/feeds: install targets to target/linux/feeds and support overriding
Felix Fietkau [Mon, 24 Jan 2022 12:28:36 +0000 (13:28 +0100)]
scripts/feeds: install targets to target/linux/feeds and support overriding

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoscripts/feeds: fix installing targets without explicitly specifying the feed
Felix Fietkau [Mon, 24 Jan 2022 12:16:00 +0000 (13:16 +0100)]
scripts/feeds: fix installing targets without explicitly specifying the feed

Add similar code to what is done on packages

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agobuild: increase scan depth for finding targets
Felix Fietkau [Mon, 24 Jan 2022 10:23:57 +0000 (11:23 +0100)]
build: increase scan depth for finding targets

This allows targets to be put into target/linux/feeds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agobuild: change PYTHON to python3
Felix Fietkau [Mon, 24 Jan 2022 10:22:31 +0000 (11:22 +0100)]
build: change PYTHON to python3

On recent macOS, /usr/bin/python3 is a wrapper that finds the right python executable
It checks argv[0] to determine if python2 or python3 should be called. Always execute
it as python3 to ensure it calls the right version

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoipq40xx: drop 5.4 kernel
Robert Marko [Tue, 19 Oct 2021 18:27:37 +0000 (20:27 +0200)]
ipq40xx: drop 5.4 kernel

Since 5.10 is now default, no point in keeping
5.4 around.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agouboot-mediatek: update to version 2022.01
Daniel Golle [Tue, 11 Jan 2022 21:26:43 +0000 (21:26 +0000)]
uboot-mediatek: update to version 2022.01

Tested on BananaPi R2 (SD, eMMC), BananaPi R64 (SD, eMMC, SPI-NAND) and
UniElec U7623-02 (eMMC).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: store random MAC address in U-Boot env on first boot
Daniel Golle [Tue, 11 Jan 2022 12:58:50 +0000 (12:58 +0000)]
mediatek: store random MAC address in U-Boot env on first boot

For devboards without a MAC address assigned from factory, store
the random MAC in U-Boot env on first boot to make it persistent.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agouboot-envtools: add configuration for UniElec U7623 board
Daniel Golle [Mon, 10 Jan 2022 17:09:27 +0000 (17:09 +0000)]
uboot-envtools: add configuration for UniElec U7623 board

Add U-Boot env settings to allow accessing the environment using
fw_printenv and fw_setenv tools on the UniElec U7623 board.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: mt7623: rework images for U7623-02 board
Daniel Golle [Fri, 20 Aug 2021 20:11:32 +0000 (21:11 +0100)]
mediatek: mt7623: rework images for U7623-02 board

Users of older OpenWrt versions need sysupgrade using the *emmc.img.gz
file once which will upgrade U-Boot and switch to the new image layout.
Users of the vendor firmware need to first flash the legacy image to
then sunsequently carry out a full-flash upgrade.

Alternatively the board can also be flashed using MediaTek's
proprietary SP Flash Tool.

Configuration as well as persistent MAC address will be lost once at
this point and you will have to redo (or restore) all configuration
manually. To restore the previous persistent MAC address users may set
it manually using

fw_setenv ethaddr 00:11:22:33:44:55

For future upgrades once running OpenWrt past this commit, the usual
*sysupgrade.itb file can be used.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agouboot-mediatek: update build for the U7623-02 board
Daniel Golle [Fri, 20 Aug 2021 20:12:28 +0000 (21:12 +0100)]
uboot-mediatek: update build for the U7623-02 board

Brings bootmenu and production/recovery dual-boot scheme like on
the BPi-R2, BPi-R64, E8450 and UniFi 6 LR.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: add common DTS aliases for UniElec U7623 board
Daniel Golle [Mon, 10 Jan 2022 17:05:26 +0000 (17:05 +0000)]
mediatek: add common DTS aliases for UniElec U7623 board

 * Use serial0 instead of serial2 for the only serial port
 * Add LED aliases
 * Add ethernet0 alias to inherit ethaddr from U-Boot env

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agouml: make use of 'rootfs-part' feature
Daniel Golle [Sat, 22 Jan 2022 00:26:52 +0000 (00:26 +0000)]
uml: make use of 'rootfs-part' feature

Use 'rootfs-part' feature instead of referencing the TARGET_uml in
Config-images.in.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agosunxi: make use of 'rootfs-part' feature
Daniel Golle [Sat, 22 Jan 2022 00:25:52 +0000 (00:25 +0000)]
sunxi: make use of 'rootfs-part' feature

Use 'rootfs-part' feature instead of referencing the TARGET_sunxi in
Config-images.in.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoomap: make use of 'rootfs-part' feature
Daniel Golle [Sat, 22 Jan 2022 00:24:02 +0000 (00:24 +0000)]
omap: make use of 'rootfs-part' feature

Use 'rootfs-part' feature instead of referencing the TARGET_omap in
Config-images.in.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: use CONFIG_TARGET_ROOTFS_PARTSIZE
Daniel Golle [Sat, 22 Jan 2022 00:20:53 +0000 (00:20 +0000)]
mediatek: use CONFIG_TARGET_ROOTFS_PARTSIZE

Enable 'rootfs-part' feature to make the size of the partition of the
production image configurable instead of hard-coding it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agonetifd: update to git HEAD
Hans Dedecker [Sun, 23 Jan 2022 17:52:53 +0000 (18:52 +0100)]
netifd: update to git HEAD

ed71876 iprule: add support for uidrange

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agoucode: add temporary fix for integer formatting on 32bit systems
Jo-Philipp Wich [Sat, 22 Jan 2022 23:51:11 +0000 (00:51 +0100)]
ucode: add temporary fix for integer formatting on 32bit systems

The ucode VM always passes 64bit integer values to sprintf implementation
while the `%d` format expects 32bit integers on 32bit platforms, leading
to incorrect formatting results.

Temporarily solve the issue by casting the numeric argument to int until
a more thorough fix arrives with the next update.

Fixes: FS#4234
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoath79: add support for GL.iNet GL-XE300
Victorien Molle [Fri, 20 Aug 2021 19:41:19 +0000 (21:41 +0200)]
ath79: add support for GL.iNet GL-XE300

The GL.iNet GL-XE300 is a 4G LTE Wireless router, based on QCA9531 SoC.

Specifications:

 - SoC: QCA9531 (650MHz)
 - RAM: DDR2 128M
 - Flash: SPI NOR 16M + SPI NAND 128M
 - WiFi: 2.4GHz with 2 antennas
 - Ethernet:
   - 1x LAN (10/100M)
   - 1x WAN (10/100M)
 - LTE:
 - USB: 1x USB 2.0 port
 - UART:
   - 3.3V, TX, RX, GND / 115200 8N1

MAC addresses as verified by OEM firmware:

 use    address   source
 LAN    *:c5      art 0x0 (label)
 WAN    *:c6      label + 1
 WLAN   *:c7      art 0x1002

Installation via U-Boot rescue:

1. Press and hold reset and power buttons simultaneously
2. Wait for the LAN led to blink 5 times
3. Release reset and power buttons
4. The rescue page is accessible via http://192.168.1.1
5. Select the OpenWrt factory image and start upgrade
6. Wait for the router to flash new firmware and reboot

Revert to stock firmware:

 i. Download the stock firmware from GL.Inet website
 ii. Use the same method explained above to flash the stock firmware

Signed-off-by: Victorien Molle <victorien.molle@wifirst.fr>
[update commit message]
Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoramips: correct vendor name for COMFAST/Joowin
Rodrigo Araujo [Tue, 18 Jan 2022 14:43:28 +0000 (14:43 +0000)]
ramips: correct vendor name for COMFAST/Joowin

When Joowin WR758AC V1 and V2 devices were added, they should have been
added with the primary manufacturer name which is COMFAST, since Joowin
is just an alternate vendor name on some coutries or stores.

Fix this by changing the the vendor name on the respective files and set
Joowin as ALT0 variants while ensuring compatibility for early users.
Also adjust the model names to better follow the naming rules.

As a side effect, fix mt76x8 network script which was left incorrectly
unsorted on the case block conditions.

Fixes: 766733e172 ("ramips: add support for Joowin WR758AC V1 and V2")
Signed-off-by: Rodrigo Araujo <araujo.rm@gmail.com>
2 years agoramips: read Tenbay T-MB5EU address from single location
David Bauer [Wed, 19 Jan 2022 21:58:17 +0000 (22:58 +0100)]
ramips: read Tenbay T-MB5EU address from single location

Currently the WAN MAC address is read from a different offset contrary
to all other addresses.

There's conflicting information whether offset 0x28 on the factory
partition contains the valid WAN mac for all devices while 0x4 seems to
be uniform.

Read the WAN mac from this location and calculate it.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoramips: update Tenbay T-MB5EU wireless MAC address
David Bauer [Wed, 19 Jan 2022 21:47:37 +0000 (22:47 +0100)]
ramips: update Tenbay T-MB5EU wireless MAC address

The current MAC address assignment is still incorrect.

Use the same MAC address as seen on the stock firmware
for both wireless interfaces.

The 5GHz MAC address OUI is +2 in the first EUI octet. We currently
don't do this in OpenWrt. Ignore this offset for now. With the current
assignment, recurring MAC addresses between radios is already taken care
of.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoutil-linux: Add taskset
Hauke Mehrtens [Wed, 19 Jan 2022 17:10:05 +0000 (18:10 +0100)]
util-linux: Add taskset

This adds the taskset application from util Linux.
It is already built, but not packaged yet.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
2 years agoltq-vdsl-mei: Remove static linking
Hauke Mehrtens [Sun, 16 Jan 2022 21:31:22 +0000 (22:31 +0100)]
ltq-vdsl-mei: Remove static linking

This removes -static compile option. The -static option tells GCC to
link this statically with the libc, which we do not want in OpenWrt. We
want to link everything dynamically to the libc. This fixes a compile
problem with glibc.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoipq806x: Netgear D7800: Fix RAM and enable PCIe #2
David Woodhouse [Fri, 21 Jan 2022 17:18:35 +0000 (17:18 +0000)]
ipq806x: Netgear D7800: Fix RAM and enable PCIe #2

This board has 512MiB of RAM like the R7800, and the VDSL modem is
attached to the second PCIe port.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2 years agoipip: add 'nohostroute' option
Matthew Hagan [Tue, 18 Jan 2022 12:24:54 +0000 (12:24 +0000)]
ipip: add 'nohostroute' option

Add the nohostroute option as available for gre and wg tunnels to
allow the user to prevent explicit creation of a route to the peer
address.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
2 years agoath79: add support for reset key on MikroTik RB912UAG-2HPnD
Denis Kalashnikov [Wed, 19 Jan 2022 10:25:05 +0000 (13:25 +0300)]
ath79: add support for reset key on MikroTik RB912UAG-2HPnD

On MikroTik RB91x board series a reset key shares SoC gpio
line #15 with NAND ALE and NAND IO7. So we need a custom
gpio driver to manage this non-trivial connection schema.
Also rb91x-nand needs to have an ability to disable a polling
of the key while it works with NAND.

While we've been integrating rb91x-key into a firmware, we've
figured out that:
* In the gpio-latch driver we need to add a "cansleep" suffix to
several gpiolib calls,
* When gpio-latch and rb91x-nand fail to get a gpio and an error
is -EPROBE_DEFER, they shouldn't report about this, since this
actually is not an error and occurs when the gpio-latch probe
function is called before the rb91x-key probe.
We fix these related things here too.

Signed-off-by: Denis Kalashnikov <denis281089@gmail.com>
Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agolayerscape: switch to 5.10 Kernel
Paul Spooren [Wed, 29 Dec 2021 13:13:13 +0000 (14:13 +0100)]
layerscape: switch to 5.10 Kernel

Tested by multiple users and since all targets need to be on Kernel 5.10
to be part of the next release, add changes.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agobuild: switch to firewall4 by default
Paul Spooren [Wed, 6 Oct 2021 02:08:25 +0000 (16:08 -1000)]
build: switch to firewall4 by default

This commit replaces firewall aka firewall3 with its nftables based
successor firewall4.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agomvebu: cortexa9: Fix board.d/01_leds
Klaus Kudielka [Tue, 18 Jan 2022 16:32:28 +0000 (17:32 +0100)]
mvebu: cortexa9: Fix board.d/01_leds

Fix syntax error in the case statement

Fixes: 9149ed4f05f8 ("mvebu: cortexa9: Add support for Ctera C200-V2")
Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
2 years agoipq40xx: rename RT-AC42U WLAN/LAN LEDs
Sungbo Eo [Sun, 16 Jan 2022 16:55:37 +0000 (01:55 +0900)]
ipq40xx: rename RT-AC42U WLAN/LAN LEDs

Assign LED numbers properly by adding function-enumerator property in DTS.

While at it, remove default trigger of LAN LEDs as it will be handled in
01_leds anyway.

Fixes: 51b9aef553a8 ("ipq40xx: add support for ASUS RT-ACRH17/RT-AC42U")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2 years agoipq40xx: image: remove unused DTB_SIZE variable
Sungbo Eo [Sun, 16 Jan 2022 16:32:59 +0000 (01:32 +0900)]
ipq40xx: image: remove unused DTB_SIZE variable

It is not included in DEVICE_VARS anyways.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2 years agotreewide: drop use of which
Ansuel Smith [Thu, 25 Nov 2021 01:12:58 +0000 (02:12 +0100)]
treewide: drop use of which

Ubuntu started to flag which as deprecated and it
seems which is not really standard and may vary
across Distro.
Drop the use of which and use the standard 'command -v'
for this simple task.
Which is still present in the prereq if some package/script
still use which.
A utility script called command_all.sh is implemented that
will just mimic the output of which -a.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agobuild: add HOST_CXXFLAGS for host build
Sergey V. Lobanov [Sat, 15 Jan 2022 13:10:47 +0000 (16:10 +0300)]
build: add HOST_CXXFLAGS for host build

Added HOST_CXXFLAGS to specify CXXFLAGS during host-compile
(e.g. to specify c++ standard: HOST_CXXFLAGS += -std=c++11)

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2 years agofirmware-utils: update to latest master
Hauke Mehrtens [Sun, 16 Jan 2022 20:56:51 +0000 (21:56 +0100)]
firmware-utils: update to latest master

d885b49 tplink-safeloader: support Archer C6v3.0 (BR)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoustream-ssl: update to Git version 2022-01-16
Hauke Mehrtens [Sun, 16 Jan 2022 20:51:21 +0000 (21:51 +0100)]
ustream-ssl: update to Git version 2022-01-16

868fd88 ustream-openssl: wolfSSL: Add compatibility for wolfssl >= 5.0

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoomap: add support for the TRNG Hardware Accelerator
Alexey Smirnov [Mon, 10 Jan 2022 09:16:40 +0000 (12:16 +0300)]
omap: add support for the TRNG Hardware Accelerator

According to TI docs (Processor SDK Linux Getting Started Guide)
the Random Number Generator hardware is found on
OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx boards. It already
defined in device tree files. Let's enable it.

Some tests:

root@RTS1_OI:~# rngtest -c 1000 </dev/hwrng
rngtest 6.10
Copyright (c) 2004 by Henrique de Moraes Holschuh
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 999
rngtest: FIPS 140-2 failures: 1
rngtest: FIPS 140-2(2001-10-10) Monobit: 0
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 1
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=198.710; avg=1265.501; max=2976.417)Kibits/s
rngtest: FIPS tests speed: (min=1.780; avg=37.085; max=39.736)Mibits/s
rngtest: Program run time: 15961329 microseconds

Signed-off-by: Alexey Smirnov <s.alexey@gmail.com>
2 years agoltq-deu: add ltq-deu back to default packages
Daniel Kestrel [Thu, 13 Jan 2022 13:30:07 +0000 (14:30 +0100)]
ltq-deu: add ltq-deu back to default packages

After enhancing ltq-deu, build it by default for the devices
using it.

Reverts: 964863b ("ltq-deu: Mark lantiq DEU broken")

Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
2 years agoath79: use lzma-loader for ZyXEL NBG6716
Lech Perczak [Thu, 13 Jan 2022 21:08:38 +0000 (22:08 +0100)]
ath79: use lzma-loader for ZyXEL NBG6716

Since gzip-compressed kernel image stopped fitting on 4MB kernel
partition on the device, use lzma-loader wrapping LZMA-compressed
kernel. This yields bootable device once again, and saves a very
substantial amount of space, the kernel size decreasing from about 4.4MB
to about 2.5MB for 5.10 kernel. This avoids changing of the flash layout
for the device.

While at that, reactivate the build for the device.

Fixes: 5d8ea6d34f9 ("ath79: Deactivate ZyXEL NBG6716 by default")
Cc: André Valentin <avalentin@marcant.net>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2 years agoath79: Add support for OpenMesh OM2P v1
Sven Eckelmann [Mon, 23 Nov 2020 12:41:34 +0000 (13:41 +0100)]
ath79: Add support for OpenMesh OM2P v1

Device specifications:
======================

* Qualcomm/Atheros AR7240 rev 2
* 350/350/175 MHz (CPU/DDR/AHB)
* 32 MB of RAM
* 16 MB of SPI NOR flash
  - 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 1T1R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
  - eth0
    + 18-24V passive POE (mode B)
    + used as WAN interface
  - eth1
    + builtin switch port 4
    + used as LAN interface
* 12-24V 1A DC
* external antenna

The device itself requires the mtdparts from the uboot arguments to
properly boot the flashed image and to support dual-boot (primary +
recovery image). Unfortunately, the name of the mtd device in mtdparts is
still using the legacy name "ar7240-nor0" which must be supplied using the
Linux-specfic DT parameter linux,mtd-name to overwrite the generic name
"spi0.0".

Flashing instructions:
======================

Various methods can be used to install the actual image on the flash.
Two easy ones are:

ap51-flash
----------

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.

initramfs from TFTP
-------------------

The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):

   setenv serverip 192.168.1.21
   setenv ipaddr 192.168.1.1
   tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr

The actual sysupgrade image can then be transferred (on the LAN port) to the
device via

  scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/

On the device, the sysupgrade must then be started using

  sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2 years agoath79: Allow to set spi-nor mtd name via devicetree
Sven Eckelmann [Wed, 30 Dec 2020 23:25:10 +0000 (00:25 +0100)]
ath79: Allow to set spi-nor mtd name via devicetree

On ar71xx, it was possible to overwrite the name of the spi-nor mtd device
identifier using the flash_platform_data which each mach-*.c could adjust
for its devices. A similar feature was introduced for mtd-physmap in
devicetree's. The property linux,mtd-name can be used to set the name and
provide a stable identifier for mtdpart from the bootloader.

But this feature is not yet available upstream for spi-nor devices which
also might receive their partition layout from the bootloader. But the
OpenWrt pistachio support for this property can simply be imported into
ath79 to gain this support.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2 years agoath79: Add support for OpenMesh OM5P-AC v2
Sven Eckelmann [Mon, 23 Nov 2020 12:41:34 +0000 (13:41 +0100)]
ath79: Add support for OpenMesh OM5P-AC v2

Device specifications:
======================

* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/200 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
  - 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2T2R 2.4 GHz Wi-Fi (11n)
* 2T2R 5 GHz Wi-Fi (11ac)
* 4x GPIO-LEDs (3x wifi, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* TI tmp423 (package kmod-hwmon-tmp421) for temperature monitoring
* 2x ethernet
  - eth0
    + AR8035 ethernet PHY (RGMII)
    + 10/100/1000 Mbps Ethernet
    + 802.3af POE
    + used as LAN interface
  - eth1
    + AR8031 ethernet PHY (RGMII)
    + 10/100/1000 Mbps Ethernet
    + 18-24V passive POE (mode B)
    + used as WAN interface
* 12-24V 1A DC
* internal antennas

This device support is based on the partially working stub from commit
53c474abbdfe ("ath79: add new OF only target for QCA MIPS silicon").

Flashing instructions:
======================

Various methods can be used to install the actual image on the flash.
Two easy ones are:

ap51-flash
----------

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.

initramfs from TFTP
-------------------

The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):

   setenv serverip 192.168.1.21
   setenv ipaddr 192.168.1.1
   tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr

The actual sysupgrade image can then be transferred (on the LAN port) to the
device via

  scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/

On the device, the sysupgrade must then be started using

  sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2 years agolantiq: backport latest upstream patches
Aleksander Jan Bajkowski [Mon, 3 Jan 2022 22:40:22 +0000 (23:40 +0100)]
lantiq: backport latest upstream patches

This patch includes a series of performance improvements. All patches
were accepted and should land in 5.17.
NAT Performance results on BT Home Hub 5A (kernel 5.10.89, mtu 1500):

Down Up
Before 539 Mbps 599 Mbps
After 624 Mbps 695 Mbps

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2 years agolantiq: xrx200: enable use of baby jumbo frames
Thomas Nixon [Fri, 9 Jul 2021 22:58:18 +0000 (22:58 +0000)]
lantiq: xrx200: enable use of baby jumbo frames

xrx200 max MTU is reduced so that it works correctly when set to the
max, and the max MTU of the switch is increased to match.

In 5.10, the switch driver now enables non-standard MTUs on a per-port
basis, with the overall frame size set based on the cpu port. When the
MTU is not used, this should have no effect. The maximum packet size is
limited as large packets cause the switch to lock up.

0702-net-lantiq-add-support-for-jumbo-frames.patch comes from net-next
commit 998ac358019e491217e752bc6dcbb3afb2a6fa3e.

In 5.4, all switch ports are configured to accept the max MTU, as 5.4
does not have port_max_mtu/port_change_mtu callbacks.

Signed-off-by: Thomas Nixon <tom@tomn.co.uk>
2 years agomtd-utils: update to 2.1.4
Nick Hainke [Sun, 9 Jan 2022 21:29:30 +0000 (22:29 +0100)]
mtd-utils: update to 2.1.4

Changes from 2.1.3 to 2.1.4:

Features:
      - ubiscan debugging and statistics utility

Fixes:
      - Some mtd-tests erroneously using sub-pages instead of the full page size
      - Buffer overrun in fectest
      - Missing jffs2 kernel header in the last release, leading to build
        failures on some systems.

Changes from 2.1.2 to 2.1.3:

Features:
       flashcp: Add new function that copy only different blocks
       flash_erase: Add flash erase chip
       Add flash_otp_erase
       Add an ubifs mount helper
       Add nandflipbits tool

Fixes:
       mkfs.ubifs: Fix runtime assertions when running without crypto
       mtd-utils: Use AC_SYS_LARGEFILE
       Fix test binary installation
       libmtd: avoid divide by zero
       ubihealthd: fix UBIFS build dependency
       mkfs.ubifs: remove OPENSSL_no_config()
       misc-utils: Add fectest to build system
       mkfs.ubifs: Fix build with SELinux
       Fix typos found by Debian's lintian tool
       Fix jffs2 build if zlib or lzo headers are not in default paths

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agokernel: bump 5.10 to 5.10.92
Rui Salvaterra [Sun, 16 Jan 2022 12:53:21 +0000 (12:53 +0000)]
kernel: bump 5.10 to 5.10.92

Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agokernel: bump 5.10 to 5.10.91
Rui Salvaterra [Tue, 11 Jan 2022 16:08:11 +0000 (16:08 +0000)]
kernel: bump 5.10 to 5.10.91

Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agokernel: bump 5.4 to 5.4.172
John Audia [Sun, 16 Jan 2022 10:49:10 +0000 (05:49 -0500)]
kernel: bump 5.4 to 5.4.172

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/mt7621

Signed-off-by: John Audia <graysky@archlinux.us>
2 years agokernel: bump 5.4 to 5.4.171
John Audia [Wed, 12 Jan 2022 22:59:26 +0000 (17:59 -0500)]
kernel: bump 5.4 to 5.4.171

All patches automatically rebased.

Signed-off-by: John Audia <graysky@archlinux.us>
2 years agoipq40xx: AP-365: fix non-existent node or label "macaddr_mfginfo_1d"
Christian Lamparter [Sun, 16 Jan 2022 12:07:01 +0000 (13:07 +0100)]
ipq40xx: AP-365: fix non-existent node or label "macaddr_mfginfo_1d"

Chen Minqiang reported on github:
|  DTC     arch/arm/boot/dts/qcom-ipq4029-ap-365.dtb
|qcom-ipq4019.dtsi:520.23-560.5: ERROR (phandle_references): /soc/wifi@a000000:
|Reference to non-existent node or label "macaddr_mfginfo_1d"
|
|  also defined at qcom-ipq4029-aruba-glenmorangie.dtsi:243.8-248.3
|qcom-ipq4019.dtsi:562.23-602.5: ERROR (phandle_references): /soc/wifi@a800000:
|Reference to non-existent node or label "macaddr_mfginfo_1d"
|
|  also defined at qcom-ipq4029-aruba-glenmorangie.dtsi:250.8-256.3
|ERROR: Input tree has errors, aborting (use -f to force output)
|scripts/Makefile.lib:326: recipe for target 'qcom-ipq4029-ap-365.dtb' failed

Fixes: cfc13c44595d ("ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data")
Reported-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agolantiq: increase fritz-cal-extract output limit
David Bauer [Sat, 15 Jan 2022 22:05:51 +0000 (23:05 +0100)]
lantiq: increase fritz-cal-extract output limit

It was reported the caldata on the FritzBox 7430 is not only stored at
different offsets, but is also larger than the current output size
limit.

Increase the output file size limit (after deflate) by 1024 bytes.

Ref: FS#3604 ("ath9k firmware is 0 bytes on Fritzbox 7430")
Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agokernel: add missing kmod+regmap-i2c dependency for NCT7802Y module
Christian Lamparter [Sat, 15 Jan 2022 18:38:33 +0000 (19:38 +0100)]
kernel: add missing kmod+regmap-i2c dependency for NCT7802Y module

x86, mt7623 and others buildbot failed due to:
|Package kmod-hwmon-nct7802 is missing dependencies for the following libraries:
|regmap-core.ko
|regmap-i2c.ko

Fixes: 1ed50b92d157 ("package: kernel: add driver module for NCT7802Y")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agobuild: move Build/copy-file to image-commands.mk
Christian Lamparter [Sat, 8 Jan 2022 18:28:09 +0000 (19:28 +0100)]
build: move Build/copy-file to image-commands.mk

This is makro is present in more than one place.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoath79: patch Asus RP-AC66 clean up and fix for sysupgrade image
Tamas Balogh [Fri, 14 Jan 2022 23:56:51 +0000 (00:56 +0100)]
ath79: patch Asus RP-AC66 clean up and fix for sysupgrade image

- clean up leftovers regarding MAC configure in dts
- fix alphabetical order in caldata
- IMAGE_SIZE for sysupgrade image

Signed-off-by: Tamas Balogh <tamasbalogh@hotmail.com>
2 years agomvebu: Move cortexa9 specific config options from global config
Marek Behún [Tue, 11 Jan 2022 13:52:13 +0000 (14:52 +0100)]
mvebu: Move cortexa9 specific config options from global config

Move config options
  CONFIG_PHY_MVEBU_A38X_COMPHY
  CONFIG_RTC_DRV_MV
to cortexa9/config-5.10.

These are not needed for arm64 targets.

Signed-off-by: Marek Behún <kabel@kernel.org>
2 years agomvebu: cortexa9: Add support for Ctera C200-V2
Pawel Dembicki [Sat, 11 Dec 2021 22:23:22 +0000 (23:23 +0100)]
mvebu: cortexa9: Add support for Ctera C200-V2

2-Bay NAS - maximum two 3.5" Harddisks

Hardware:
  - SoC: Marvell 88F6707-A1 ARMv7 Processor 1,2GHz (ARMADA 370 SoC)
  - Ram: 1GB (2x Nanya NT5CC512M8DN-D1)
  - NAND Flash: 256MB (ESMT F59L2G81A-25T)
  - Lan: 1x GBE (Marvell 88E1318-NNB2)
  - Storage: 2x SATA HDD 3.5" Slot
  - USB: 2x USB 3.0 port (Renesas uPD720202)
  - Console: Internal J3 connector (1: Vcc, 2: Rx, 3: Tx, 4: GND)
  - LEDs: 13x GPIO controlled
  - Buttons: 2x GPIO controlled

Known issues:
  - Buzzer is unused due lack of proper driver
  - USB1/2 usbport ledtrigger won't work (through DT)
  - Renesas uPD720202 requires firmware file. It's possible to find
    non-free binary. Please look for 'UPDATE.mem' file and put in into
    '/lib/firmware/renesas_usb_fw.mem' file.

Installation:
  - Apply factory initramfs image via stock web-gui.
  - Do sysupgrade to make installation complete.

Back to stock:
  - OpenWrt rootfs partition use unused space after stock firmware.
  - Full revert is possible.
  - Login via ssh and run:

 ## ctera_c200-v2_back_to_factory start ##
 . /lib/functions.sh
 part=$(find_mtd_part "active_bank")
 active_bank=$(strings "$part" | grep bank)
 if [ "$active_bank" = "bank1" ]; then
  echo "bank2" > /tmp/change_bank
 else
  echo "bank1" > /tmp/change_bank
 fi
 mtd write /tmp/change_bank active_bank
 reboot
 ## ctera_c200-v2_back_to_factory end ##

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
(put back-to-stock script into commit message, removed dup. SUBPAGESIZE var,
added 01_leds for non-working dt-usb-port trigger)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agopackage: kernel: add driver module for NCT7802Y
Pawel Dembicki [Thu, 16 Dec 2021 20:52:37 +0000 (21:52 +0100)]
package: kernel: add driver module for NCT7802Y

This commit add package with hwmon-nct7802 module.

This driver implements support for the Nuvoton NCT7802Y hardware monitoring
chip. NCT7802Y supports 6 temperature sensors, 5 voltage sensors, and 3 fan
speed sensors.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
(fixed c&p'ed module description)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agomvebu: enable watchdog for Armada 37XX
Josef Schlehofer [Sun, 9 Jan 2022 19:50:18 +0000 (20:50 +0100)]
mvebu: enable watchdog for Armada 37XX

This option includes support for watchdog timer on Marvell Armada 37xx
SoCs. [1] It is useful e.g. for Turris MOX, Marvell ESPRESSObin

Enable armada-37xx-watchdog driver as built in for mvebu cortex-a53,
so that kernel can start serving as soon as the driver is probed, until userspace takes over it.

[1] https://cateee.net/lkddb/web-lkddb/ARMADA_37XX_WATCHDOG.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(improved commit message, 2nd paragraph)
Signed-off-by: Marek Behún <kabel@kernel.org>
2 years agomvebu: cortexa53: Enable Armada 37xx rWTM driver
Marek Behún [Sun, 9 Jan 2022 21:01:41 +0000 (22:01 +0100)]
mvebu: cortexa53: Enable Armada 37xx rWTM driver

Enabling Armada 37xx rWTM driver. This gives the kernel access to random
number generator, if provided by the rWTM firmware.

Note that the driver is called turris-mox-rwtm because it was initially
written for Turris MOX, but will also work on other Armada 37xx
platforms, if they use rWTM firmware from CZ.NIC [1].

It makes sense to have this driver built-in, so that kernel has access
to random number generator without needing to load any drivers.

[1] https://gitlab.nic.cz/turris/mox-boot-builder

Signed-off-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Andre Heider <a.heider@gmail.com>
2 years agokernel: 5.10: Backport pending Armada 3720 comphy patches
Marek Behún [Tue, 11 Jan 2022 13:07:22 +0000 (14:07 +0100)]
kernel: 5.10: Backport pending Armada 3720 comphy patches

Backport 5 pending patches [1] for Armada 3720 comphy driver and one
patch for device tree, applied to mvebu-dt64, but pending to appear in
Linus' tree [2].

These patches makes the driver work correctly even with older, buggy
versions of TF-A firmware.

[1] http://lists.infradead.org/pipermail/linux-phy/2022-January/002598.html
[2] http://lists.infradead.org/pipermail/linux-phy/2021-December/002279.html

Signed-off-by: Marek Behún <kabel@kernel.org>
2 years agokernel: 5.10: Backport Armada 3720 comphy patches from 5.15
Marek Behún [Tue, 11 Jan 2022 13:02:12 +0000 (14:02 +0100)]
kernel: 5.10: Backport Armada 3720 comphy patches from 5.15

Backport 2 patches for Armada 3720 comphy from 5.15 kernel.

These are needed for clear application of pending patches that fix this
driver.

Signed-off-by: Marek Behún <kabel@kernel.org>
2 years agokernel: 5.10: Backport pending pci-aardvark changes fixing MSI support
Marek Behún [Mon, 10 Jan 2022 01:12:45 +0000 (02:12 +0100)]
kernel: 5.10: Backport pending pci-aardvark changes fixing MSI support

Backport Aardvark PCIe controller driver changes that fix MSI support,
that were recently sent to the linux-pci mailing list [1].

These changes fix MSI and MSI-X support for this PCIe controller, which,
among other things, make it possible to use NVMe drives with this PCIe
controllers.

[1] https://lore.kernel.org/linux-pci/20220110015018.26359-1-kabel@kernel.org/

Signed-off-by: Marek Behún <kabel@kernel.org>
2 years agokernel: 5.10: Backport pci-aardvark driver changes from 5.17
Marek Behún [Sun, 9 Jan 2022 21:40:31 +0000 (22:40 +0100)]
kernel: 5.10: Backport pci-aardvark driver changes from 5.17

Backport Aardvark PCIe controller driver changes that will appear in
5.17 kernel. They are currently accessible on LKML [1], in linux-next
repository [2], or in Bjorn Helgaas' repository [3].

These changes mainly enhance driver removal method.

[1] https://lore.kernel.org/linux-pci/20211130172913.9727-1-kabel@kernel.org/
[2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/drivers/pci?h=next-20220107
[3] https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=next

Signed-off-by: Marek Behún <kabel@kernel.org>
2 years agomvebu: kernel: enable CONFIG_BLK_DEV_NVME
Josef Schlehofer [Thu, 18 Nov 2021 15:37:17 +0000 (16:37 +0100)]
mvebu: kernel: enable CONFIG_BLK_DEV_NVME

CONFIG_BLK_DEV_NVME [1]:
- This is a kernel driver for SSD connected to PCI or PCIe bus [1].
By default, it is enabled for targets "ipq807x", "rockchip/armv8"
and "x86/64".

With miniPCIe adapter, there is a possibility to connect NVMe disk
to Turris Omnia (cortex-a9), Turris MOX (cortex-a53).

It allows to boot system from NVMe disk, because of that it can not
be kmod package as you can not access the disk to be able to boot from
it.

CONFIG_NVME_CORE [2]:
- This is selected by CONFIG_BLK_DEV_NVME
It does not need to be explicitly enabled, but it is done for "ipq807",
"x64_64" and rockchip/armv8", which has also enabled the previous config
option as well.

Kernel increase: ~28k KiB on mamba kernel

Reference:
[1] https://cateee.net/lkddb/web-lkddb/BLK_DEV_NVME.html
[2] https://cateee.net/lkddb/web-lkddb/NVME_CORE.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agoipq40xx: utilize nvmem-cells for macs & (pre-)calibration data
Christian Lamparter [Mon, 27 Dec 2021 22:41:20 +0000 (23:41 +0100)]
ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data

moves extraction entries out of 11-ath10k-caldata and into
the individual board's device-tree.

Some notes:
 - mmc could work as well (not tested)
 - devices that pass the partitions via mtdparts
   bootargs are kept as is
 - gl-b2200 has a weird pcie wifi device
   (vendor claims 9886 wave 2. But firmware-extraction
   was for a wave 1 device?!)

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: add RT-ACRH13 alternative name to RT-AC58U
Christian Lamparter [Sat, 15 Jan 2022 16:23:49 +0000 (17:23 +0100)]
ipq40xx: add RT-ACRH13 alternative name to RT-AC58U

RT-ACRH13 is another name this device was sold as (US?).

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: add support for ASUS RT-ACRH17/RT-AC42U
Joshua Roys [Thu, 30 Dec 2021 20:25:03 +0000 (15:25 -0500)]
ipq40xx: add support for ASUS RT-ACRH17/RT-AC42U

SOC: IPQ4019
CPU: Quad-core ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
DRAM: 256 MB
NAND: 128 MiB Macronix MX30LF1G18AC
ETH: Qualcomm Atheros QCA8075 Gigabit Switch (4x LAN, 1x WAN)
USB: 1x 3.0 (via Synopsys DesignWare DWC3 controller in the SoC)
WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11bgn 2x2:2
WLAN2: Qualcomm Atheros QCA9984 5GHz 802.11nac 4x4:4
INPUT: 1x WPS, 1x Reset
LEDS: Status, WIFI1, WIFI2, WAN (red & blue), 4x LAN

This board is very similar to the RT-ACRH13/RT-AC58U. It must be flashed
with an intermediary initramfs image, the jffs2 ubi volume deleted, and
then finally a sysupgrade with the final image performed.

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
(added ALT0)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoramips: fix reboot for remaining 32 MB boards
Michael Pratt [Sat, 11 Sep 2021 02:06:10 +0000 (22:06 -0400)]
ramips: fix reboot for remaining 32 MB boards

The following devices have a Winbond W25Q256FV flash chip,
which does not have the RESET pin enabled by default,
and otherwise would require setting a bit in a status register.

Before moving to Linux 5.4, we had the patch:
0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch
which kept specific flash chips with explicit 3-byte and 4-byte address modes
to stay in 3-byte address mode while idle (after an erase or write)
by using a custom flag SPI_NOR_4B_READ_OP that was part of the patch.

this was obsoleted by the patch:
481-mtd-spi-nor-rework-broken-flash-reset-support.patch
which uses the newer upstream flag SNOR_F_BROKEN_RESET
for devices with a flash chip that cannot be hardware reset with RESET pin
and therefore must be left in 3-byte address mode when idle.

The new patch requires that the DTS of affected devices
have the property "broken-flash-reset", which was not yet added for most of them.

This commit adds the property for remaining affected devices in ramips target,
specifically because of the flash chip model.

However, it is possible that there are other devices
where the flash chip uses an explicit 4-byte address mode
and the RESET pin is not connected to the SOC on the board,
and those DTS would also need this property.

Ref: 22d982ea0033 ("ramips: add support for switching between 3-byte and 4-byte addressing")
Ref: dfa521f12953 ("generic: spi-nor: rework broken-flash-reset")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2 years agoat91: drop /etc/config/firewall
Paul Spooren [Fri, 14 Jan 2022 11:23:09 +0000 (12:23 +0100)]
at91: drop /etc/config/firewall

The file can't be part of base files or the base-files and firewall
packages collide. Two packages must not provide the same config files
without having a defined CONFLICT since it would result in an
undeterministic config state depending on what package is installed
last.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agoramips: add support for ipTIME A6004NS-M
SeongUk Moon [Fri, 14 Jan 2022 12:54:05 +0000 (21:54 +0900)]
ramips: add support for ipTIME A6004NS-M

ipTIME A6004NS-M is a 2.4/5GHz band AC1900 router, based on MediaTek MT7621A.

Specifications:
- SoC: MediaTek MT7621A (880MHz, Duel-Core)
- RAM: DDR3 256MB
- Flash: SPI NOR 16MB (Winbond W25Q128BV)
- WiFi: MediaTek MT7615E (2.4GHz, 5GHz)
- Ethernet: MediaTek MT7530 (WAN x1, LAN x4, SoC built-in Estimated)
- USB: USB 3.0 x1
- UART: [3.3V, TX, RX, GND] (57600 8N1)

Installation via web interface:
1. Flash initramfs image using OEM's Firmware Update page.
2. Connect to OpenWrt with an SSH connection to `192.168.1.1`.
3. Perform sysupgrade with sysupgrade image.

Revert to stock firmware:
1.  Flash stock firmware via OEM's Recovery mode

How to use OEM's Recovery mode:
1. Power on the device and connect the shell through UART.
2. Connect to the shell and press the `t` key on the keyboard.
3. Set fixed IP with  `192.168.0.2`  with subnet mask  `255.255.255.0`
4. Flash image via TFTP to  `192.168.0.1`

Additional Notes:
1. The higher the 5Ghz Frequency, the lower the stability. It is recommended to use less than 5.775Ghz.
2. If the 5Ghz frequency is too high, 5Ghz may not work.
3. A6ns-M use shared dtsi file of A6004NS-M. (reference: /mt7621_iptime_a6004ns-m.dtsi).

Signed-off-by: SeongUk Moon <antegral@antegral.net>
[convert CRLF to LF]
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2 years agoramips: add support for HUMAX E2
Kyoungkyu Park [Fri, 24 Dec 2021 19:48:22 +0000 (04:48 +0900)]
ramips: add support for HUMAX E2

HUMAX E2 (also known as HUMAX QUANTUM E2) is a 2.4/5GHz band AC router,
based on MediaTek MT7620A.

Specifications:
- SoC: MT7620A
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB (MXIC MX25L6405D)
- WiFi:
  - 2.4GHz: SoC internal
  - 5GHz: MT7610E
- Ethernet: 1x 10/100Mbps
  - Switch: SoC internal
- UART: J2 (57600 8N1)
  - pinout: [3V3] (RXD) (GND) (TXD)

Installation and Recovery via TFTP:
1. Connect ethernet cable between Router port and PC Ethernet port.
2. Set your computer to a static IP **192.168.1.1**
3. Turn the device off and wait a few seconds. Hold the WPS button on front
   of device and insert power.
4. Send a firmware image to **192.168.1.6** using TFTP.
   You can use any TFTP client. (tftp, curl, Tftpd64...)
5. Wait until Power LED stop flashing. **DO NOT TURN OFF DEVICE!**
   The device will be automatically rebooted.

Signed-off-by: Kyoungkyu Park <choryu.park@choryu.space>
2 years agolantiq: add additional caldata offsets
David Bauer [Sat, 15 Jan 2022 10:15:15 +0000 (11:15 +0100)]
lantiq: add additional caldata offsets

It was reported the AVM FritzBox 7430 has different offsets for the
caldata depending on the device.

Whether this is due to custom bad-block handling or up to the installed
bootloader-version is unknown.

Try both known caldata offsets like it is already done for the ipq40xx
NAND based models. Use the same approach for the FritzBox 7412. While it
is currently unknown, whether it is affected, applying the same logic
has no downsides.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agofirmware-utils: update to latest master
Matthias Schiffer [Fri, 14 Jan 2022 22:13:23 +0000 (23:13 +0100)]
firmware-utils: update to latest master

84dbf8ee49f5 tplink-safeloader: fix Archer A7v5 factory flashing from vendor fw > v1.1.x

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2 years agolantiq: flag FritzBox 7360 family buttons active-low
David Bauer [Fri, 14 Jan 2022 21:03:24 +0000 (22:03 +0100)]
lantiq: flag FritzBox 7360 family buttons active-low

All buttons of the FritzBox 7360 family are active-low, not active-high.
Corrent the GPIO flag. This fixes release triggers upon push of a button.

Reported-by: Jan-Niklas Burfeind <git@aiyionpri.me>
Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: add op-class to get_status output
David Bauer [Sat, 8 Jan 2022 11:25:42 +0000 (12:25 +0100)]
hostapd: add op-class to get_status output

Include the current operation class to hostapd get_status interface.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agonetifd: update to git HEAD
Hans Dedecker [Fri, 14 Jan 2022 20:42:35 +0000 (21:42 +0100)]
netifd: update to git HEAD

3043206 system: fix compilation with glibc 2.34

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agomediatek: mt7623: Enable PCIe bus 0 (and thus SATA) on U7623
David Woodhouse [Tue, 11 Jan 2022 13:01:31 +0000 (13:01 +0000)]
mediatek: mt7623: Enable PCIe bus 0 (and thus SATA) on U7623

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2 years agokernel: split kernel version to dedicated files
Ansuel Smith [Mon, 10 Jan 2022 16:02:30 +0000 (17:02 +0100)]
kernel: split kernel version to dedicated files

Move the kernel versions and hash to dedicated files.
This makes kernel bump quicker and fix some annoying
problem with rebasing when multiple kernel bump are proposed.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[Rebased on top of current master]
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agoiptables: enable nftable support by default
Paul Spooren [Thu, 13 Jan 2022 07:50:19 +0000 (08:50 +0100)]
iptables: enable nftable support by default

OpenWrt plans to move over to firewall4 which uses nftables under the
hood. To allow a smooth migration the package `iptables-nft` offer a
transparent wrapper to apply iptables rules to nftables.

Without the config option for nftables the package isn't installed and
therefore can't be tested. This commit enabled it and therefore provides
the wrapper.

The size of the iptables package increases from 25436 to 26500 Bytes.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agoramips: enable badblock table support on linksys ea7xxx devices
Felix Fietkau [Thu, 13 Jan 2022 17:32:26 +0000 (18:32 +0100)]
ramips: enable badblock table support on linksys ea7xxx devices

Use remapping only on the kernel partitions.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: add support for the bbt format used on mt7621
Felix Fietkau [Thu, 13 Jan 2022 17:30:51 +0000 (18:30 +0100)]
kernel: mtk_bmt: add support for the bbt format used on mt7621

This does not have spare blocks for remapping, and it is also not suitable
for random write access. It only skips over bad blocks on linear writes of an
image to a partition. As such, it is really only suitable for the kernel
partition, or other partitions with mostly static data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: add abstraction for supporting other formats
Felix Fietkau [Tue, 11 Jan 2022 11:45:52 +0000 (12:45 +0100)]
kernel: mtk_bmt: add abstraction for supporting other formats

Preparation for supporting remapping on MT7621

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoramips: mt7621_nand: fix writing upper half of fdm data
Felix Fietkau [Wed, 12 Jan 2022 19:56:04 +0000 (20:56 +0100)]
ramips: mt7621_nand: fix writing upper half of fdm data

Since the loop iterates from 0-3, subtracting 4 from the shift
multiplier does not make any sense

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomediatek: rework and fix mt7622-rfb1-ubi support
Felix Fietkau [Mon, 10 Jan 2022 11:35:08 +0000 (12:35 +0100)]
mediatek: rework and fix mt7622-rfb1-ubi support

Limit bmt remapping range to cover everything up to and including the kernel image,
use the rest of the flash area for ubi.
Fix partition table and sysupgrade support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: remap blocks after reaching bitflip threshold
Felix Fietkau [Sun, 9 Jan 2022 19:24:41 +0000 (20:24 +0100)]
kernel: mtk_bmt: remap blocks after reaching bitflip threshold

This ensures that blocks are remapped before data becomes corrupt

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: pass number of bitflips on read to the caller
Felix Fietkau [Sun, 9 Jan 2022 19:18:27 +0000 (20:18 +0100)]
kernel: mtk_bmt: pass number of bitflips on read to the caller

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: add support for limiting range of remapping
Felix Fietkau [Sun, 9 Jan 2022 18:56:16 +0000 (19:56 +0100)]
kernel: mtk_bmt: add support for limiting range of remapping

This can be used to support ubi on top of mtk_bmt without reflashing the
boot loader. The boot loader + factory + kernel area is covered, while the
rest is passed through as-is

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: extend debug interface
Felix Fietkau [Sun, 9 Jan 2022 16:27:29 +0000 (17:27 +0100)]
kernel: mtk_bmt: extend debug interface

Add support for showing remapped blocks and garbage collecting old
remapped blocks triggered by using the mark_good/mark_bad files

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: fix remapping after read/write failure
Felix Fietkau [Sun, 9 Jan 2022 16:26:46 +0000 (17:26 +0100)]
kernel: mtk_bmt: fix remapping after read/write failure

Copy from the previous block in order to preserve existing data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: move mediatek BMT support patch to generic patches
Felix Fietkau [Sun, 12 Dec 2021 06:25:41 +0000 (07:25 +0100)]
kernel: move mediatek BMT support patch to generic patches

Preparation for supporting BMT on MT7621. Move source files to the files/
subdirectory in order to simplify maintenance

Signed-off-by: Felix Fietkau <nbd@nbd.name>