openwrt/staging/jow.git
2 years agomediatek: filogic: disable swconfig
Aleksander Jan Bajkowski [Sat, 22 Oct 2022 14:16:14 +0000 (16:16 +0200)]
mediatek: filogic: disable swconfig

This subtarget supports 3 devices:
 * Bananapi BPi-R3 (added in a96382c1bb204698cd43e82193877c10e4b63027),
 * MediaTek MTK7986 rfba AP (added in cffc77ae55ed0e5b9e70417d6a1e1d280cea92cf),
 * MediaTek MTK7986 rfbb AP (added in cffc77ae55ed0e5b9e70417d6a1e1d280cea92cf).

This subtarget supports DSA from the beginning. It looks like CONFIG_SWCONFIG
was copied from another config when the subtarget was created.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2 years agomediatek: filogic: refresh config
Aleksander Jan Bajkowski [Sat, 22 Oct 2022 14:13:32 +0000 (16:13 +0200)]
mediatek: filogic: refresh config

This was done by executing these command:
$ time make kernel_oldconfig CONFIG_TARGET=subtarget

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2 years agouhttpd: use procd to reload on acme renew
Glen Huang [Mon, 24 Oct 2022 15:39:55 +0000 (23:39 +0800)]
uhttpd: use procd to reload on acme renew

Calling /etc/init.d/uhttpd reload directly in the acme hotplug script
can inadvertently start a stopped instance.

Signed-off-by: Glen Huang <i@glenhuang.com>
2 years agobcm4908: backport upstream BQL support for bcm4908_enet
Rafał Miłecki [Thu, 3 Nov 2022 06:37:42 +0000 (07:37 +0100)]
bcm4908: backport upstream BQL support for bcm4908_enet

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agokernel: Refresh generic patches
Hauke Mehrtens [Wed, 2 Nov 2022 23:20:30 +0000 (00:20 +0100)]
kernel: Refresh generic patches

This patch was out of sync.

Fixes: 1673b7dca384 ("kernel: backport fixes for MediaTek Ethernet driver")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agokernel: sort filesystems symbols alphabetically
Rafał Miłecki [Wed, 2 Nov 2022 19:09:04 +0000 (20:09 +0100)]
kernel: sort filesystems symbols alphabetically

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agokernel: backport fixes for MediaTek Ethernet driver
Daniel Golle [Wed, 2 Nov 2022 12:41:40 +0000 (12:41 +0000)]
kernel: backport fixes for MediaTek Ethernet driver

Backport patches from net-next which fix possible memory and resource
leaks in the error codepaths of WED initialization.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: support hw flow-offloading counters on newer MediaTek SoCs
Daniel Golle [Wed, 2 Nov 2022 11:24:56 +0000 (11:24 +0000)]
kernel: support hw flow-offloading counters on newer MediaTek SoCs

The packet processing engine (PPE) found in newer ARM-based MediaTek
SoCs provides packet and byte counters for offloaded streams.
Import pending patch reading and using those counters.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: remove obsolete patch
Daniel Golle [Wed, 2 Nov 2022 11:27:47 +0000 (11:27 +0000)]
mediatek: remove obsolete patch

The patch enabling hardware flow offloading support on the MT7623 SoC
has been merged upstream as of Linux 5.13. Remove our local patch which
wrongly got forward-ported and now actually enables hardware flow
offloading for the MT2701 SoC family (unsupported in OpenWrt).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agofirewall: config: drop input traffic by default
Baptiste Jonglez [Wed, 19 Oct 2022 14:49:03 +0000 (16:49 +0200)]
firewall: config: drop input traffic by default

This is necessary with firewall4 to avoid a hard-to-diagnose race
condition during boot, causing DNAT rules not to be taken into account
correctly.

The root cause is that, during boot, the ruleset is mostly empty, and
interface-related rules (including DNAT rules) are added incrementally.
If a packet hits the input chain before the DNAT rules are setup, it can
create buggy conntrack entries that will persist indefinitely.

This new default should be safe because firewall4 explicitly accepts
authorized traffic and rejects the rest.  Thus, in normal operations, the
default policy is not used.

Fixes: #10749
Ref: https://github.com/openwrt/openwrt/issues/10749
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
2 years agolibnl-tiny: update to the latest version
Hauke Mehrtens [Tue, 1 Nov 2022 17:03:33 +0000 (18:03 +0100)]
libnl-tiny: update to the latest version

db3b2cd libnl-tiny: set SOCK_CLOEXEC if available

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoiwinfo: update to the latest version
Hauke Mehrtens [Tue, 1 Nov 2022 17:00:54 +0000 (18:00 +0100)]
iwinfo: update to the latest version

00aab87 Correctly identify key management algorithms starting with "FT-"

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agouboot-envtools: Fix format of autogenerated sectors
Sven Eckelmann [Thu, 29 Sep 2022 10:10:32 +0000 (12:10 +0200)]
uboot-envtools: Fix format of autogenerated sectors

The sector number must be stored in hex. Otherwise, the number (like 16)
will be parsed as hex and any write to the partition will end up with an
error like:

  MTD erase error on /dev/mtd5: Invalid argument

Fixes: 9adfeccd8415 ("uboot-envtools: Add support for IPQ806x AP148 and DB149")
Fixes: 54b275c8ed3a ("ipq40xx: add target")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@fungible.com>
2 years agokernel: Add kmod-drm-ttm-helper
Hauke Mehrtens [Tue, 1 Nov 2022 13:47:14 +0000 (14:47 +0100)]
kernel: Add kmod-drm-ttm-helper

Add a package for drm_ttm_helper.ko. CONFIG_DRM_TTM_HELPER is compiled
into the kernel on armvirt/64, x86/64, x86/generic and x86/legacy
because also some DRM drivers are compiled into the kernel. On x86/geode
it is not compiled into the kernel, but kmod-drm-amdgpu and
kmod-drm-radeon depend on it.

This fixes the x86/geode build.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agorealtek: mark clock source as continuous
Sander Vanheule [Mon, 31 Oct 2022 09:11:04 +0000 (10:11 +0100)]
realtek: mark clock source as continuous

After replacing the R4K event timer and clock source with the new
Realtek Otto timer, performance for RTL839x devices was severely
impacted, as reported by Hiroshi.

Research by Markus showed that after commit 4657a5301eb5 ("realtek:
avoid busy waiting for RTL839x PHY read/write"), the ethernet driver
could only update a phy once per timer interval, which also heavily
impacted boot time. On e.g. a Zyxel GS1900-48, this added around a
minute to the time to fully initialise the switch.

By marking the otto clocksource as continuous, the kernel enables it to
be used for high resolution timers. This allows readx_poll_timeout() to
sleep for less than one system timer interval, reducing system dead
time.

Link: https://github.com/openwrt/openwrt/issues/11117
Reported-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Cc: Markus Stockhausen <markus.stockhausen@gmx.de>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Tested-by: INAGAKI Hiroshi <musashino.open@gmail.com> # Panasonic Switch-M48eG PN28480K
Tested-by: Jan Hoffmann <jan@3e8.eu> # HPE 1920-8G, HPE 1920-48G
2 years agotarget/realtek: use netif_receive_skb_list
Rosen Penev [Sun, 30 Oct 2022 19:25:19 +0000 (12:25 -0700)]
target/realtek: use netif_receive_skb_list

Small performance improvement on rx.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agomediatek: consider adc_oe thermal calibration value in efuse
Daniel Golle [Mon, 31 Oct 2022 19:50:40 +0000 (19:50 +0000)]
mediatek: consider adc_oe thermal calibration value in efuse

The use of the adc_oe value stored in the efuse has been dropped in
MediaTek's SDK during a recent refactorization of the temperature
calculation formula. Don't ignore this offset value and again include
it in raw-to-deg-celsius calculation.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoramips: add support for YunCore FAP690
Volodymyr Puiul [Wed, 22 Jun 2022 12:41:36 +0000 (16:41 +0400)]
ramips: add support for YunCore FAP690

It is an in-wall 802.11ax (Wi-Fi 6) router, based on MediaTek MT7621A.

Specifications:
- SoC: MT7621AT (880MHz, 2 Cores)
- RAM: 128 MB
- Flash: 16 MB SPI NOR
- Wi-Fi:
    - MT7915DN + MT7905DAN: 2.4/5 GHz
- Ethernet: 1x 1GiE via MT7530
- UART: J4 (115200 baud)
    - Pinout: [3V3] (TXD) (RXD) (GND)

- Bootloader: U-Boot
- Buttons:
    - SW1 - no label on the box, combined with led
- Led: Status. RGB controlled by
    - GPIO 14 - green color
    - GPIO 15 - red color
    - GPIO 16 - blue color

Installation:
OEM firmware is based on LEDE with custom UI and support standard sysupgrade
variant of firmware. However it requires "*.ubin" extension for sysupgrade file.
Always select "Factory reset" switch on upgrade to OpenWRT, otherwise
it will not boot.

MAC addresses as verified by OEM firmware:
vendor   source
LAN      factory 0x4 (label)
5g       factory 0x4 (label)
2g       label with flipped bits bit in 1-st byte and bits 5, 6, 7 in
4-th byte

Example
label:  44:xx:xx:b7:xx:xx
lan:    44:xx:xx:b7:xx:xx
2g      46:xx:xx:c7:xx:xx
5g      44:xx:xx:b7:xx:xx

Signed-off-by: Volodymyr Puiul <volodymyr.puiul@gmail.com>
2 years agotools/ccache: update to 4.7.2
Raihaan Shouhell [Mon, 31 Oct 2022 03:16:57 +0000 (11:16 +0800)]
tools/ccache: update to 4.7.2

Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_7_2

Signed-off-by: Raihaan Shouhell <raihaanhimself@gmail.com>
2 years agotools/ccache: update to 4.7.1
Raihaan Shouhell [Sun, 23 Oct 2022 17:01:25 +0000 (01:01 +0800)]
tools/ccache: update to 4.7.1

Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_7_1

Signed-off-by: Raihaan Shouhell <raihaanhimself@gmail.com>
2 years agotools/ccache: update to 4.7
Raihaan Shouhell [Sat, 22 Oct 2022 13:10:34 +0000 (21:10 +0800)]
tools/ccache: update to 4.7

Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_7

Signed-off-by: Raihaan Shouhell <raihaanhimself@gmail.com>
2 years agokernel: remove handling of xfrm[4|6]_mode_* modules
Martin Schiller [Wed, 19 Oct 2022 09:21:58 +0000 (11:21 +0200)]
kernel: remove handling of xfrm[4|6]_mode_* modules

For kernel versions before 5.2, the required IPsec modes have to be
enabled explicitly (they are built-in for newer kernels).

Commit 1556ed155a9a ("kernel: mode_beet mode_transport mode_tunnel xfram
modules") tried to handle this, but it does not really work.

Since we don't support these kernel versions anymore and the code is
also broken, let's remove it.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
[Remove old generic config options too]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoexpat: update to 2.5.0
Nick Hainke [Wed, 26 Oct 2022 08:43:19 +0000 (10:43 +0200)]
expat: update to 2.5.0

Fixes CVE-2022-43680.

Changes:
https://github.com/libexpat/libexpat/blob/R_2_5_0/expat/Changes

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoodhcpd: update to git HEAD
Hans Dedecker [Mon, 31 Oct 2022 16:53:50 +0000 (17:53 +0100)]
odhcpd: update to git HEAD

a92c0a7 dhcpv6-ia: make tmp lease file hidden
4a673e1 fix null pointer dereference for INFORM messages
860ca90 odhcpd: Support for Option NTP and SNTP

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agoCI: packages: Add github CI job to build all packages
Hauke Mehrtens [Sun, 7 Aug 2022 16:46:11 +0000 (18:46 +0200)]
CI: packages: Add github CI job to build all packages

This will build OpenWrt for MIPS malta BE and x86 64 Bit with all
packages and kernel modules activated. It is triggered when something
changes in the build system or when a package definition is changed.
This task probably needs 90 minutes to execute, but I hope that it
will find build problems in pull requests early.

This intentionally does not activate the feeds, because building them
too would take too long. We only build x86/64 and malta/be to save
resources.

I would like to detect build problems when a package is changed. We
often had build breaks when a package version was increased sometime
even in other packages which used it as a dependency.

This is based on the .github/workflows/packages.yml workflow.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agobpf: check llvm version only when used
Hauke Mehrtens [Wed, 26 Oct 2022 21:05:31 +0000 (23:05 +0200)]
bpf: check llvm version only when used

unetd always includes $(INCLUDE_DIR)/bpf.mk. This file always checks if
the LLVM version is supported in CLANG_VER_VALID. unetd only needs bpf
when UNETD_VXLAN_SUPPORT is set. It fails when UNETD_VXLAN_SUPPORT is
not set and llvm is not installed.

Fix it by only checking the LLVM version when a LLVM toolchain is
available.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoat91: Remove CONFIG_PINCTRL_MCP23S08 configuration option
Hauke Mehrtens [Sun, 30 Oct 2022 22:37:53 +0000 (23:37 +0100)]
at91: Remove CONFIG_PINCTRL_MCP23S08 configuration option

The CONFIG_PINCTRL_MCP23S08 configuration option is already unset in the
generic kernel configuration.

Fixes: f938512af639 ("target/at91: replace gpio-mcp23s08 with pinctrl-mcp23s08-spi update config")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoRevert "at91:"
Hauke Mehrtens [Sun, 30 Oct 2022 23:43:40 +0000 (00:43 +0100)]
Revert "at91:"

This reverts commit 7cc6ffa1b903524fe478804fd215bb858ae8c9b7.

This should have been folded in an other commit.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoat91:
Hauke Mehrtens [Sun, 30 Oct 2022 22:37:53 +0000 (23:37 +0100)]
at91:

[CONFIG_PINCTRL_MCP23S08 is already unset in generic config]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoramips: add support for YunCore FAP640
Volodymyr Puiul [Wed, 19 Oct 2022 20:05:16 +0000 (00:05 +0400)]
ramips: add support for YunCore FAP640

It is an in-wall 802.11ax (Wi-Fi 6) router, based on MediaTek MT7621A.

Specifications:
- SoC: MT7621AT (880MHz, 2 Cores)
- RAM: 128 MB
- Flash: 16 MB SPI
- Wi-Fi:
    - MT7915DN + MT7905DAN: 2.4/5 GHz
- Ethernet: 5x1GiE via MT7530, 1xWAN with POE and 4xLAN
- UART: J4 (115200 baud)
    - Pinout: [3V3] (TXD) (RXD) (GND)
- Power: 802.11af/at PoE;

- Bootloader: U-Boot
- Buttons:
    - Reset
- LEDs:
    - Status - RGB controlled by
      - GPIO 14 LOW - green color
      - GPIO 15 LOW- red color
      - GPIO 16 LOW - blue color
    - WAN - gren color, controlled by switch GPIO 12 LOW
    - LAN1 - gren color, controlled by switch GPIO 9 HIGH
    - LAN2 - gren color, controlled by switch GPIO 6 LOW
    - LAN3 - gren color, controlled by switch GPIO 3 LOW
    - LAN4 - gren color, controlled by switch GPIO 0 LOW

Installation:
OEM firmware is based on LEDE with custom UI and support standard sysupgrade
variant of firmware. However it requires "*.ubin" extension for sysupgrade file.
Always select "Factory reset" switch on upgrade to OpenWRT, otherwise
router will not boot.

MAC addresses with OEM firmware:
vendor   source
lan      factory 0x4 (label)
5g       factory 0x4 (label)
2g       label with flipped bits bit in 1-st byte and bits 5, 6, 7 in
  4-th byte

Example
label:  44:xx:xx:b7:xx:xx
lan:    44:xx:xx:b7:xx:xx
2g      46:xx:xx:c7:xx:xx
5g      44:xx:xx:b7:xx:xx

Signed-off-by: Volodymyr Puiul <volodymyr.puiul@gmail.com>
2 years agoipq40xx: add support for MikroTik hAP ac3 LTE6 kit
Csaba Sipos [Mon, 3 Oct 2022 17:13:22 +0000 (19:13 +0200)]
ipq40xx: add support for MikroTik hAP ac3 LTE6 kit

This adds support for the MikroTik RouterBOARD RBD53GR-5HacD2HnD
(hAP ac³ LTE6 kit), an  indoor dual band, dual-radio 802.11ac
wireless AP with built-in Mini PCI-E LTE modem, one USB port, five
10/100/1000 Mbps Ethernet ports.

See https://mikrotik.com/product/hap_ac3_lte6_kit for more info.

Specifications:
 - SoC: Qualcomm Atheros IPQ4019
 - RAM: 256 MB
 - Storage: 16 MB NOR
 - Wireless:
   · Built-in IPQ4019 (SoC) 802.11b/g/n 2x2:2, 3 dBi internal antennae
   · Built-in IPQ4019 (SoC) 802.11a/n/ac 2x2:2, 5.5 dBi internal antennae
 - Ethernet: Built-in IPQ4019 (SoC, QCA8075) , 5x 1000/100/10 port
 - 1x USB Type A port
 - 1x Mini PCI-E port (supporting USB)
 - 1x Mini PCI-E LTE modem (MikroTik R11e-LTE6, Cat.6)

Installation:

Make sure your unit is runnning RouterOS v6 and RouterBOOT v6 (tested on 6.49.6).

0. Export your MikroTik license key (in case you want to use the device with RouterOS later)
1. Boot the initramfs image via TFTP
2. Upload the "openwrt-ipq40xx-mikrotik-mikrotik_hap-ac3-lte6-kit-squashfs-sysupgrade.bin" via SCP to the /tmp folder
3. Use sysupgrade to flash the image: sysupgrade -n /tmp/openwrt-ipq40xx-mikrotik-mikrotik_hap-ac3-lte6-kit-squashfs-sysupgrade.bin
4. Recovery to factory software is possible via Netinstall:
   https://help.mikrotik.com/docs/display/ROS/Netinstall

Signed-off-by: Csaba Sipos <metro4@freemail.hu>
2 years agotarget/mxs: replace gpio-mcp23s08 with pinctrl-mcp23s08
Florian Eckert [Wed, 26 Jan 2022 15:12:12 +0000 (16:12 +0100)]
target/mxs: replace gpio-mcp23s08 with pinctrl-mcp23s08

The dependency on the kernel module gpio-mcp23s08 is replaced by
pinctrl-mcp23s08-spi and pinctrl-mcp23s08-i2c, as the gpio-mpc23s08 kernel
module no longer exists.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agokernel: remove CONFIG_GPIO_MCP23S08 from default kernel configs
Florian Eckert [Wed, 26 Jan 2022 15:11:09 +0000 (16:11 +0100)]
kernel: remove CONFIG_GPIO_MCP23S08 from default kernel configs

The kernel config option 'CONFIG_GPIO_MCP23S08' no longer exists.
Therefore, it is removed from the generic kernel configuration for
linux-5.10 and linux-5.15.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agotarget/at91: replace gpio-mcp23s08 with pinctrl-mcp23s08-spi update config
Florian Eckert [Wed, 26 Jan 2022 15:04:54 +0000 (16:04 +0100)]
target/at91: replace gpio-mcp23s08 with pinctrl-mcp23s08-spi update config

Adapt the device package to no longer use the gpio-mcp23s08 but instead
use the pinctrl-mcp23s08-spi. In addition, the kernel configuration was
adapted so that this can be built as a module and does not have to be
integrated directly into the kernel for this target.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agokernel: replace gpio-mcp23s08 with pinctrl-mcp23s08*
Florian Eckert [Wed, 26 Jan 2022 14:29:18 +0000 (15:29 +0100)]
kernel: replace gpio-mcp23s08 with pinctrl-mcp23s08*

The kernel module gpio-mcp23s08 has been replaced by the new
pinctrl-mcp23s08* kernel modules.

There are now 3 kernel modules for this device
- Common module for both I2C and SPI kmod-pinctrl-mcp23s08
- Module for I2C kmod-pinctrl-mcp23s08-i2c
- Module for SPI kmod-pinctrl-mcp23s08-spi

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agoltq-vdsl-vr9-app: extend ubus call to provide DSL statistics
Roland Barenbrug [Mon, 8 Aug 2022 21:44:10 +0000 (23:44 +0200)]
ltq-vdsl-vr9-app: extend ubus call to provide DSL statistics

Adding a new method to `ubus call dsl` to retrieve DSL statistics
used to feed the DSL charts (bit allocation, SNR, QLN and HLOG)

Signed-off-by: Roland Barenbrug <roland@treslong.com>
[fix pointer error, clean up]
Signed-off-by: Andre Heider <a.heider@gmail.com>
2 years agoltq-vdsl-vr9-app: skip invalid line status values
Roland Barenbrug [Wed, 10 Aug 2022 18:46:02 +0000 (20:46 +0200)]
ltq-vdsl-vr9-app: skip invalid line status values

DSL_G997_LineStatusData_t defines special invalid values, skip these
metrics.

Signed-off-by: Roland Barenbrug <roland@treslong.com>
[split patch]
Signed-off-by: Andre Heider <a.heider@gmail.com>
2 years agoscripts: fix missing character '0' issue in linksys image
Shiji Yang [Sat, 29 Oct 2022 14:06:24 +0000 (22:06 +0800)]
scripts: fix missing character '0' issue in linksys image

In the stock firmware of Linksys, there is a '0' after the crc checksum.
Validated on EA6350V3, EA7300 and EA7300V2's stock images.

Fixes: 892d741259 build: add a script for generating Linksys factory images
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2 years agoath79: add support for Linksys EA4500 v3
Edward Chow [Wed, 14 Sep 2022 00:15:58 +0000 (08:15 +0800)]
ath79: add support for Linksys EA4500 v3

Add support for the Linksys EA4500 v3 wireless router

Hardware
--------
SoC:    Qualcomm Atheros QCA9558
RAM:    128M DDR2 (Winbond W971GG6KB-25)
FLASH:  128M SPI-NAND (Spansion S34ML01G100TFI00)
WLAN:   QCA9558 3T3R 802.11 bgn
        QCA9580 3T3R 802.11 an
ETH:    Qualcomm Atheros QCA8337
UART:   115200 8n1, same as ea4500 v2
USB: 1 single USB 2.0 host port
BUTTON: Reset - WPS
LED:    1x system-LED
        LEDs besides the ethernet ports are controlled
        by the ethernet switch

MAC Address:
 use        address(sample 1)    source
 label      94:10:3e:xx:xx:6f   caldata@cal_macaddr
 lan        94:10:3e:xx:xx:6f   $label
 wan        94:10:3e:xx:xx:6f   $label
 WiFi4_2G   94:10:3e:xx:xx:70   caldata@cal_ath9k_soc
 WiFi4_5G   94:10:3e:xx:xx:71   caldata@cal_ath9k_pci

Installation from Serial Console
------------

1. Connect to the serial console. Power up the device and interrupt
   autoboot when prompted

2. Connect a TFTP server reachable at 192.168.1.0/24
   (e.g. 192.168.1.66) to the ethernet port. Serve the OpenWrt
   initramfs image as "openwrt.bin"

3. To test OpenWrt only, go to step 4 and never execute step 5;
   To install, auto_recovery should be disabled first, and boot_part
   should be set to 1 if its current value is not.

   ath> setenv auto_recovery no
   ath> setenv boot_part 1
   ath> saveenv

4. Boot the initramfs image using U-Boot

   ath> setenv serverip 192.168.1.66
   ath> tftpboot 0x84000000 openwrt.bin
   ath> bootm

5. Copy the OpenWrt sysupgrade image to the device using scp and
   install it like a normal upgrade (with no need to keeping config
   since no config from "previous OpenWRT installation" could be kept
   at all)

   # sysupgrade -n /path/to/openwrt/sysupgrade.bin

Note: Like many other routers produced by Linksys, it has a dual
      firmware flash layout, but because I do not know how to handle
      it, I decide to disable it for more usable space. (That is why
      the "auto_recovery" above should be disabled before installing
      OpenWRT.) If someone is interested in generating factory
      firmware image capable to flash from stock firmware, as well as
      restoring the dual firmware layout, commented-out layout for the
      original secondary partitions left in the device tree may be a
      useful hint.

Installation from Web Interface
------------

1. Login to the router via its web interface (default password: admin)

2. Find the firmware update interface under "Connectivity/Basic"

3. Choose the OpenWrt factory image and click "Start"

4. If the router still boots into the stock firmware, it means that
   the OpenWrt factory image has been installed to the secondary
   partitions and failed to boot (since OpenWrt on EA4500 v3 does not
   support dual boot yet), and the router switched back to the stock
   firmware on the primary partitions. You have to install a stock
   firmware (e.g. 3.1.6.172023, downloadable from
   https://www.linksys.com/support-article?articleNum=148385 ) first
   (to the secondary partitions) , and after that, install OpenWrt
   factory image (to the primary partitions). After successful
   installation of OpenWrt, auto_recovery will be automatically
   disabled and router will only boot from the primary partitions.

Signed-off-by: Edward Chow <equu@openmail.cc>
2 years agobase-files: bring back nand_do_upgrade_success
Daniel Golle [Sun, 30 Oct 2022 20:22:06 +0000 (20:22 +0000)]
base-files: bring back nand_do_upgrade_success

Several Broadcom targets were using the nand_do_upgrade_success
shell function which has been removed by commit e25e6d8e54
("base-files: fix and clean up nand sysupgrade code"). Refactor the
new nand_do_upgrade to bring back nand_do_upgrade_success with the
behavior expected by those users.

Fixes: e25e6d8e54 ("base-files: fix and clean up nand sysupgrade code")
Reported-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: bump 5.15 to 5.15.76
John Audia [Sat, 29 Oct 2022 10:34:51 +0000 (06:34 -0400)]
kernel: bump 5.15 to 5.15.76

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agorockchip: armv8: add CONFIG_ARM64_ERRATUM_1742098
John Audia [Sat, 29 Oct 2022 11:28:23 +0000 (07:28 -0400)]
rockchip: armv8: add CONFIG_ARM64_ERRATUM_1742098

5.15.76 introduces a new symbol that applies Cortex-A72 SoCs so enable it[1].

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v5.15.76&id2=v5.15.75

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agomvebu: cortexa72: add CONFIG_ARM64_ERRATUM_1742098
John Audia [Sat, 29 Oct 2022 11:05:34 +0000 (07:05 -0400)]
mvebu: cortexa72: add CONFIG_ARM64_ERRATUM_1742098

5.15.76 introduces a new symbol that applies Cortex-A72 SoCs so enable it[1].

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v5.15.76&id2=v5.15.75

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: add # CONFIG_ARM64_ERRATUM_1742098
John Audia [Sat, 29 Oct 2022 10:54:59 +0000 (06:54 -0400)]
kernel: add # CONFIG_ARM64_ERRATUM_1742098

Introduced with 5.15.76[1]

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v5.15.76&id2=v5.15.75

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.15 to 5.15.75
John Audia [Wed, 26 Oct 2022 22:31:12 +0000 (18:31 -0400)]
kernel: bump 5.15 to 5.15.75

Removed upstreamed:
   bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch[1]

Manually rebased:
   patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
   bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
   bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
   bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch

All other patches automatically rebased

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.75&id=2810061452f9b748b096ad023d318690ca519aa3

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: add # CONFIG_ARM64_ERRATUM_2441007 symbol
John Audia [Thu, 27 Oct 2022 07:47:53 +0000 (03:47 -0400)]
kernel: add # CONFIG_ARM64_ERRATUM_2441007 symbol

Introduced with 5.15.75.[1]

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v5.15.75&id2=v5.15.74

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.152
John Audia [Sun, 30 Oct 2022 12:32:36 +0000 (08:32 -0400)]
kernel: bump 5.10 to 5.10.152

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agolayerscape: armv8_64b: add CONFIG_ARM64_ERRATUM_1742098
John Audia [Sun, 30 Oct 2022 09:38:39 +0000 (05:38 -0400)]
layerscape: armv8_64b: add CONFIG_ARM64_ERRATUM_1742098

5.10.152 introduces a new symbol that applies Cortex-A72 SoCs so enable it[1].

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v5.10.152&id2=v5.10.151

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.151
John Audia [Fri, 28 Oct 2022 12:03:27 +0000 (08:03 -0400)]
kernel: bump 5.10 to 5.10.151

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.150
John Audia [Thu, 27 Oct 2022 10:26:25 +0000 (06:26 -0400)]
kernel: bump 5.10 to 5.10.150

Manually rebased:
  bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
[Move gro_skip in 680-NET-skip-GRO-for-foreign-MAC-addresses.patch to old position]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agomediatek: add Xiaomi Redmi Router AX6000 support
Chukun Pan [Sun, 18 Sep 2022 15:16:18 +0000 (23:16 +0800)]
mediatek: add Xiaomi Redmi Router AX6000 support

Hardware specification:
  SoC: MediaTek MT7986A 4x A53
  Flash: ESMT F50L1G41LB 128 MB
  RAM: K4A4G165WF-BCWE 512 MB
  Ethernet: 4x 10/100/1000 Mbps
  WiFi1: MT7976GN 2.4GHz ax 4x4
  WiFi2: MT7976AN 5GHz ax 4x4
  Button: Mesh, Reset

Flash instructions:
  1. Gain ssh and serial port access, see the link below:
     https://openwrt.org/toh/xiaomi/redmi_ax6000#installation
  2. Use ssh or serial port to log in to the router, and
     execute the following command:
     nvram set boot_wait=on
     nvram set flag_boot_rootfs=0
     nvram set flag_boot_success=1
     nvram set flag_last_success=1
     nvram set flag_try_sys1_failed=8
     nvram set flag_try_sys2_failed=8
     nvram commit
  3. Set a static ip on the ethernet interface of your computer
     (e.g. default: ip 192.168.31.100, gateway 192.168.31.1)
  4. Download the initramfs image, rename it to initramfs.bin,
     and host it with the tftp server.
  5. Interrupt U-Boot and run these commands:
     setenv mtdparts nmbm0:1024k(bl2),256k(Nvram),256k(Bdata),2048k(factory),2048k(fip),256k(crash),256k(crash_log),112640k(ubi)
     saveenv
     tftpboot initramfs.bin
     bootm
  6. After openwrt boots up, use scp or luci web
     to upload sysupgrade.bin to upgrade.

Revert to stock firmware:
  Restore mtdparts back to default, then use the
  vendor's recovery tool (Windows only).

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2 years agobase-files: verify nand sysupgrade images
Rodrigo Balerdi [Wed, 4 May 2022 02:54:58 +0000 (23:54 -0300)]
base-files: verify nand sysupgrade images

For nand sysupgrade image files having tar/gzip/tgz envelopes, verify
envelope integrity before starting sysupgrade.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
2 years agobase-files: accept gzipped nand sysupgrade images
Rodrigo Balerdi [Tue, 3 May 2022 10:09:33 +0000 (07:09 -0300)]
base-files: accept gzipped nand sysupgrade images

When firmware images only contained compressed kernels and squashfs roots,
uncompressed tar files were a good option. We are now using UBIFS images,
both raw and tarred, as well as ubinized (full UBI partition) images, all
of which benefit greatly from compression.

For example, a raw ubinized backup taken from a running Askey RT4230W REV6
(such full backups can be restored via the LUCI's sysupgrade UI) is over
400 MB, but compresses to less than 10 MB.

This commit adds support for gzipped versions of all file types already
accepted by the nand sysupgrade mechanism, be them raw or tarred.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
2 years agobase-files: fix ubinized nand sysupgrade
Rodrigo Balerdi [Tue, 3 May 2022 06:47:43 +0000 (03:47 -0300)]
base-files: fix ubinized nand sysupgrade

It has been reported that ubinized nand sysupgrade fails under certain
circumstances, being unable to detach the existing ubi partition due to
volumes within the partition being mounted.

This is an attempt to solve such issues by unmounting and removing
ubiblock devices and unmounting ubi volumes within the target partition
prior to detaching and formatting it.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
2 years agobase-files: fix and clean up nand sysupgrade code
Rodrigo Balerdi [Tue, 3 May 2022 06:31:48 +0000 (03:31 -0300)]
base-files: fix and clean up nand sysupgrade code

- Never return from 'nand_do_upgrade', not even in case of errors, as that
  would cause execution of sysupgrade code not intended for NAND devices.
- Unify handling of sysupgrade success and failure.
- Detect and report more error conditions.
- Fix outdated/incorrect/unclear comments.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
2 years agorealtek: Fix CRC offloading for rtl83xx
Olliver Schinagl [Thu, 27 Oct 2022 18:53:08 +0000 (20:53 +0200)]
realtek: Fix CRC offloading for rtl83xx

In rtl83xx_set_features we set bit 3 to enable, and bit 4 to disable
checksuming. Looking at rtl93xx_set_features we however see that for
both enable and disable the same bit is used (bit 4). This can't be
right, especially as bit 4 for rtl83xx seems to be Collision threshold
occupying 2 bits. Change this to make this more logical.

Fixes: 9e8d62e42117 ("realtek: enable CRC offloading")
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoipq806x: disable ea8500 image by default
Christian Marangi [Thu, 27 Oct 2022 23:06:07 +0000 (01:06 +0200)]
ipq806x: disable ea8500 image by default

Linksys EA8500 is currently broken after the kernel 5.15 bump. Disable
compiling it by default from buildbot to prevent brick from the user.

Don't mark it as BROKEN to permit user to compile images and permit devs
to bisect the problem with the users.

The current problem with the device is that the switch is not detected
and we can't comunicate with it via MDIO.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: disable ea8500 image by default
Christian Marangi [Thu, 27 Oct 2022 23:06:07 +0000 (01:06 +0200)]
ipq806x: disable ea8500 image by default

Linksys EA8500 is currently broken after the kernel 5.15 bump. Disable
compiling it by default from buildbot to prevent brick from the user.

Don't mark it as BROKEN to permit user to compile images and permit devs
to bisect the problem with the users.

The current problem with the device is that the switch is not detected
and we can't comunicate with it via MDIO.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agobcm4908: add pending BQL support for bcm4908_enet
Rafał Miłecki [Thu, 27 Oct 2022 20:33:14 +0000 (22:33 +0200)]
bcm4908: add pending BQL support for bcm4908_enet

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agobcm4908: backport bcm4908_enet fix for NULL dereference
Rafał Miłecki [Thu, 27 Oct 2022 19:05:20 +0000 (21:05 +0200)]
bcm4908: backport bcm4908_enet fix for NULL dereference

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agobcm4908: optimize Ethernet driver by using build_skb()
Rafał Miłecki [Thu, 27 Oct 2022 16:57:39 +0000 (18:57 +0200)]
bcm4908: optimize Ethernet driver by using build_skb()

This should slightly improve performance thanks to the better cache
usage.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agorealtek: use assisted learning on CPU port
Jan Hoffmann [Tue, 25 Oct 2022 22:20:05 +0000 (00:20 +0200)]
realtek: use assisted learning on CPU port

L2 learning on the CPU port is currently not consistently configured and
relies on the default configuration of the device. On RTL83xx, it is
disabled for packets transmitted with a TX header, as hardware learning
corrupts the forwarding table otherwise. As a result, unneeded flooding
of traffic for the CPU port can already happen on some devices now. It
is also likely that similar issues exist on RTL93xx, which doesn't have
a field to disable learning in the TX header.

To address this, disable hardware learning for the CPU port globally on
all devices. Instead, enable assisted learning to let DSA write FDB
entries to the switch.

For now, this does not sync local/bridge entries to the switch. However,
support for that was added in Linux 5.14, so the next switch to a newer
kernel version is going to fix this.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2 years agorealtek: set up L2 table entries properly
Jan Hoffmann [Tue, 25 Oct 2022 22:20:04 +0000 (00:20 +0200)]
realtek: set up L2 table entries properly

Initialize the data structure using memset to avoid the possibility of
writing garbage values to the hardware.

Always set a valid entry type, which should fix writing unicast entries
on RTL930x.

For unicast entries, set the is_static flag to prevent the switch from
aging them out.

Also set the rvid field for unicast entries. This is not strictly
necessary, as the switch fills it in automatically from a non-zero vid.
However, this makes the code consistent with multicast entry setup.

While at it, reorder the statements and fix some style issues (double
space, comma instead of semicolon at end of statement). Also remove the
unneeded priv parameter and debug print for the multicast entry setup
function.

Fixes: cde31976e37 ("realtek: Add support for Layer 2 Multicast")
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2 years agobase-files: wifi: for wifi reconf, scan_wifi after network reload
Bob Cantor [Sun, 4 Jul 2021 17:26:46 +0000 (03:26 +1000)]
base-files: wifi: for wifi reconf, scan_wifi after network reload

Commit e8b542960921 included an unintended change and we now call
scan_wifi before a network reload.

Restore the original behaviour and call scan_wifi only after a network
reload.

Fixes: e8b542960921 ("base-files: wifi: tidy up the reconf code")
Signed-off-by: Bob Cantor <bobc@confidesk.com>
2 years agobase-files: wifi: for wifi up, scan_wifi after network reload
Bob Cantor [Sun, 4 Jul 2021 17:03:58 +0000 (03:03 +1000)]
base-files: wifi: for wifi up, scan_wifi after network reload

Commit b82cc8071366 included an unintended change and we now call
scan_wifi before a network reload.

Restore the original behaviour and call scan_wifi only after a network
reload.

Fixes: b82cc8071366 ("base-files: wifi: swap the order of some ubus calls")
Signed-off-by: Bob Cantor <bobc@confidesk.com>
2 years agorealtek: 5.10: refresh kernel patches
Christian Marangi [Tue, 25 Oct 2022 02:56:16 +0000 (04:56 +0200)]
realtek: 5.10: refresh kernel patches

Refresh kernel patches for realtek 5.10 kernel

Refreshed patch:
- 300-mips-add-rtl838x-platform.patch

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq40xx: convert to DSA and enable Netgear Orbi devices
Davide Fioravanti [Tue, 4 Oct 2022 21:20:39 +0000 (23:20 +0200)]
ipq40xx: convert to DSA and enable Netgear Orbi devices

Convert to DSA and enable again Netgear Orbi devices:
 - RBR50
 - RBS50
 - SRR60
 - SRS60

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
2 years agogeneric: 5.15: add missing CMDLINE_OVERRIDE patch
Christian Marangi [Mon, 24 Oct 2022 21:08:06 +0000 (23:08 +0200)]
generic: 5.15: add missing CMDLINE_OVERRIDE patch

This patch was wrongly dropped with the assumption that it was moved to
generic. This wasn't the case and caused the malfunction of the Asrock
G10 router.

Reintroduce it to fix Asrock G10 functionality.

Fixes: 8cc2caed58e7 ("ipq806x: 5:15: add testing kernel version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: drop mmc-ddr-1_8v from sdcc1 node
Christian Marangi [Sat, 22 Oct 2022 14:58:19 +0000 (16:58 +0200)]
ipq806x: 5.15: drop mmc-ddr-1_8v from sdcc1 node

Zyxel NGB6817 is the only router that use mmc for rootfs. Upstream
kernel dtsi have mmc-ddr-1_8v enabled for sddc1. This is wrong as mmc on
ipq806x is supplied by a fixed 3.3v regulator and can't operate at 1.8v.
This cause the sddc1 to malfunction and cause kernel panic.
In old 5.15 version this was disabled but it was put in addition to many
other changes so it was dropped silently. Restore this patch to fix
working condition of such router.

Fixes: 88bf652 ("ipq806x: 5.15: replace dtsi patches with upstream version")
Fixes: #11000
Tested-by: Hendrik Koerner <koerhen@web.de>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: revert unwanted DSA conversion for ASRock G10
Christian Marangi [Thu, 20 Oct 2022 14:53:01 +0000 (16:53 +0200)]
ipq806x: 5.15: revert unwanted DSA conversion for ASRock G10

In refreshing DTS to the upstream version an unwanted change slipped in
the commit. The ASRock G10 dts got converted to DSA without any support.

Revert this to swconfig driver to restore normal functionality.

Fixes: 88bf6525251f ("ipq806x: 5.15: replace dtsi patches with upstream version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: backport qcom_nandc patch for unprotected spare data fix
Christian Marangi [Fri, 21 Oct 2022 16:56:08 +0000 (18:56 +0200)]
ipq806x: 5.15: backport qcom_nandc patch for unprotected spare data fix

We currently ignore ret of the nandc partition parser if unprotected
spare data is true. This is the case for ipq806x nand.

Backport patch that fix this error and correctly handle error from
partition parser.

Fixes: ae6a63bc97cf ("ipq806x: 5.15: replace nandc patch with upstream version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: backport smempart parser fixup patch with EPROBE_DEFER error
Christian Marangi [Thu, 20 Oct 2022 14:48:16 +0000 (16:48 +0200)]
generic: 5.15: backport smempart parser fixup patch with EPROBE_DEFER error

Backport patch from kernel 5.15 that mute error on EPROBE_DEFER with
smempart parser.

This parser require the smem device to be probed first and currently it
may happen that mtd gets probed before the smem device causing an error
on the smempart parser. This error may be confusing and should be muted.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: backport qcom smem patch for reserved-space support
Christian Marangi [Thu, 20 Oct 2022 14:44:56 +0000 (16:44 +0200)]
generic: 5.15: backport qcom smem patch for reserved-space support

In new kernel version from 5.16, smem node can be declared directly in
the reserved-space node. Upstream ipq806x (and to-be-merged) ipq807x
allign to this new implementation. Backport this patch to kernel 5.15 to
fix support for smem parser for ipq806x target.

Fixes: 88bf6525251f ("ipq806x: 5.15: replace dtsi patches with upstream version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move not backport patch to pending dir
Christian Marangi [Sat, 22 Oct 2022 13:43:47 +0000 (15:43 +0200)]
generic: 5.15: move not backport patch to pending dir

Move patch wrongly placed in backport dir to pending dir as they still
didn't got merged upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move MGLRU patches from pending to backport
Christian Marangi [Fri, 21 Oct 2022 22:24:49 +0000 (00:24 +0200)]
generic: 5.15: move MGLRU patches from pending to backport

Move MGLRU patches from pending to backport as they got merged upstream.
These are direct porting from one of the dev so it's better to just move
than trying to backport them again from upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move mvebu aardvark patch from pending to backport
Christian Marangi [Fri, 21 Oct 2022 21:55:37 +0000 (23:55 +0200)]
generic: 5.15: move mvebu aardvark patch from pending to backport

Move mvebu aardvark patch from pending to backport as they got merged
upstream.
One additional patch is needed as a later fixup for it.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move ZTE MF286D modem patch from pending to backport
Christian Marangi [Fri, 21 Oct 2022 21:36:04 +0000 (23:36 +0200)]
generic: 5.15: move ZTE MF286D modem patch from pending to backport

Move ZTE MF286D modem patch from pending to backport as it was merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move bluetooth mt79 usb id patch from pending to backport
Christian Marangi [Fri, 21 Oct 2022 21:29:39 +0000 (23:29 +0200)]
generic: 5.15: move bluetooth mt79 usb id patch from pending to backport

Move bluetooth mt79 usb id patch from pending to backport as it got
merged upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move mtk eth soc patch from pending to backport
Christian Marangi [Fri, 21 Oct 2022 21:19:44 +0000 (23:19 +0200)]
generic: 5.15: move mtk eth soc patch from pending to backport

Move mtk eth soc patch from pending to backport as it got merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move sfp HALNy patch from pending to backport
Christian Marangi [Fri, 21 Oct 2022 21:08:54 +0000 (23:08 +0200)]
generic: 5.15: move sfp HALNy patch from pending to backport

Move sfp HALNy patch from pending to backport as they got merged
upstream. The patch was reordered and one was squashed in the upstream
variant.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move pending xtx nand patch from pending to backport
Christian Marangi [Fri, 21 Oct 2022 20:43:07 +0000 (22:43 +0200)]
generic: 5.15: move pending xtx nand patch from pending to backport

Move pending xtx nand patch from pending to backport as it got merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move dtc drop interrupt check from pending to backport
Christian Marangi [Fri, 21 Oct 2022 20:37:06 +0000 (22:37 +0200)]
generic: 5.15: move dtc drop interrupt check from pending to backport

Move dtc drop interrupto check from pending to backport as it got merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agogeneric: 5.15: move MIPS cpuinfo patch from pending to backport
Christian Marangi [Fri, 21 Oct 2022 20:14:22 +0000 (22:14 +0200)]
generic: 5.15: move MIPS cpuinfo patch from pending to backport

Move MIPS cpuinfo patch from pending to backport as it got merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agomac80211: fix masking nested A-MSDU support for mesh
Andre Heider [Thu, 20 Oct 2022 10:52:17 +0000 (12:52 +0200)]
mac80211: fix masking nested A-MSDU support for mesh

CONFIG_MAC80211_MESH isn't defined for this package, rendering the patch
useless. Match protecting the access of sta_info.mesh with the very same
define declaring it.

Fixes 45109f69a6 "mac80211: fix compile error when mesh is disabled"
Signed-off-by: Andre Heider <a.heider@gmail.com>
2 years agomac80211: use KERNEL_MAKEOPTS instead of KERNEL_MAKE_FLAGS
Felix Fietkau [Mon, 24 Oct 2022 18:43:14 +0000 (20:43 +0200)]
mac80211: use KERNEL_MAKEOPTS instead of KERNEL_MAKE_FLAGS

Fixes issues with disabling stack validation on non-linux systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agobutton-hotplug: simplify build
Felix Fietkau [Mon, 24 Oct 2022 16:16:56 +0000 (18:16 +0200)]
button-hotplug: simplify build

Remove unnecessary kconfig junk

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoramips: add missing WAN LED for Xiaomi Mi Router 4A / 4C
Shiji Yang [Sat, 17 Sep 2022 10:50:00 +0000 (18:50 +0800)]
ramips: add missing WAN LED for Xiaomi Mi Router 4A / 4C

The blue WAN LED connected to GPIO37 is missing, so re-add it.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2 years agotoolchain: gcc: Remove gcc 10.x support
Hauke Mehrtens [Sat, 22 Oct 2022 14:16:55 +0000 (16:16 +0200)]
toolchain: gcc: Remove gcc 10.x support

This compiler is old and was never used by default in OpenWrt.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agotoolchain: gcc: Remove gcc 8.x support
Hauke Mehrtens [Sat, 22 Oct 2022 14:15:16 +0000 (16:15 +0200)]
toolchain: gcc: Remove gcc 8.x support

This compiler is old and not used by OpenWrt for some time now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agomac80211: Update to version 5.15.74-1
Hauke Mehrtens [Sat, 15 Oct 2022 09:31:42 +0000 (11:31 +0200)]
mac80211: Update to version 5.15.74-1

This updates mac80211 to version 5.15.74-1 which is based on kernel
5.15.74.
The removed patches were applied upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agorealtek: consistently flood RMA frames
Sander Vanheule [Fri, 9 Sep 2022 19:25:17 +0000 (21:25 +0200)]
realtek: consistently flood RMA frames

The switches support different actions for incoming ethernet multicast
frames with Reserved Multicast Addresses (01-80-C2-00-00-{01-2F}). The
current code will set the 2-bit action field to FLOOD (0x3) for most
classes, but the highest bit is always unset for the relevant control
registers. This means the DROP (0x1) action being used for these
classes; whatever class the MSB happens to be in.

For RTL838x, this results in {20,23-2F} frames being dropped, instead of
flooding all ports. On other switch generations, {0F,1F,2F} frames are
dropped. This is inconsistent, and appears to be a mistake. Remove this
inconsistency by flooding all multicast frames with RMA addresses.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: remove RTL839x path in RTL838x multicast
Sander Vanheule [Fri, 9 Sep 2022 17:35:23 +0000 (19:35 +0200)]
realtek: remove RTL839x path in RTL838x multicast

The multicast setup function rtl838x_eth_set_multicast_list() checks if
the current SoC is a RTL839x family device. However, the function is
only included in the RTL838x ops table, so this path should never be
taken, making this dead code. rtl839x_eth_set_multicast_list() is
already present in the RTL839x ops table, so it should be safe to remove
this branch.

While touching the code, also re-sort the functions to match sorting
elsewhere, with rtl838x coming before rtl839x.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: reduce excessive logging for FDB operations
Jan Hoffmann [Fri, 14 Oct 2022 21:06:17 +0000 (23:06 +0200)]
realtek: reduce excessive logging for FDB operations

Currently several messages at KERN_INFO level are printed for every FDB
del/dump operation. This can cause a significant slowdown for example
while using "bridge fdb", and may even trigger a watchdog.

Remove most of these log messages, as the new L2 table debugfs node
should be a good replacement. Change the remaining messages to
KERN_DEBUG level.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2 years agorealtek: add debugfs node for L2 table
Jan Hoffmann [Fri, 14 Oct 2022 21:06:16 +0000 (23:06 +0200)]
realtek: add debugfs node for L2 table

This allows to view all unicast and multicast entries that are currently
in the L2 hash table and the CAM.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2 years agorealtek: avoid busy waiting for RTL839x PHY read/write
Jan Hoffmann [Fri, 14 Oct 2022 21:06:14 +0000 (23:06 +0200)]
realtek: avoid busy waiting for RTL839x PHY read/write

Switch to a polling implementation similar to the one for RTL838x, to
allow other kernel tasks to run while waiting.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2 years agorealtek: disable otto timer for RTL93xx targets
Markus Stockhausen [Mon, 3 Oct 2022 13:15:06 +0000 (15:15 +0200)]
realtek: disable otto timer for RTL93xx targets

The new timer is not yet ready for all targets. Avoid interactive
questions during build

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[rename symbol to CONFIG_REALTEK_OTTO_TIMER]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: timer driver: activate for RTL839X devices
Markus Stockhausen [Mon, 3 Oct 2022 12:50:17 +0000 (14:50 +0200)]
realtek: timer driver: activate for RTL839X devices

Use the new timer driver for the RTL839X devices and remove the
no longer needed modules.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[correct timer compatible order, update selected symbols]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: timer driver: activate for RTL838X devices
Markus Stockhausen [Mon, 3 Oct 2022 12:49:35 +0000 (14:49 +0200)]
realtek: timer driver: activate for RTL838X devices

Use the new timer driver for the RTL838X devices. Remove the no
longer needed modules.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[correct timer compatible order, update selected symbols]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: timer driver: documentation
Markus Stockhausen [Mon, 3 Oct 2022 12:47:18 +0000 (14:47 +0200)]
realtek: timer driver: documentation

Provide some helpful information about the devicetree configuration of
our new driver

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[correct compatible order in examples]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: resurrect timer driver
Markus Stockhausen [Mon, 3 Oct 2022 12:45:21 +0000 (14:45 +0200)]
realtek: resurrect timer driver

Now that we provide a clock driver for the Reltek SOCs the CPU frequency might
change on demand. This has direct visible effects during operation

- the CEVT 4K timer is no longer a stable clocksource
- after CPU frequencies changes time calculation works wrong
- sched_clock falls back to kernel default interval (100 Hz)
- timestamps in dmesg have only 2 digits left

[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps ...
[    0.060000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.080000] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.090000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ...

Looking around where we can start the CEVT timer for RTL930X is a good basis.
Initially it was developed as a clocksource driver for the broken timer in that
specific SOC series. Afterwards it was shifted around to the CEVT location,
got SMP enablement and lost its clocksource feature. So we at least have
something to copy from. As the timers on these devices are well understood
the implementation follows this way:

- leave the RTL930X implementation as is
- provide a new driver for RTL83XX devices only
- swap RTL930X driver at a later time

Like the clock driver this patch contains a self contained module that is SOC
independet and already provides full support for the RTL838X, RTL839X and
RTL930X devices. Some of the new (or reestablished) features are:

- simplified initialization routines
- SMP setup with CPU hotplug framework
- derived from LXB clock speed
- supplied clocksource
- dedicated register functions for better readability
- documentation about some caveats

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[remove unused header includes, remove old CONFIG_MIPS dependency, add
REALTEK_ prefix to driver symbol]
Signed-off-by: Sander Vanheule <sander@svanheule.net>