openwrt/staging/hauke.git
3 years agoath79: use correct USB package for DIR-505
David Bauer [Thu, 21 Oct 2021 13:51:48 +0000 (15:51 +0200)]
ath79: use correct USB package for DIR-505

AR9331 requires kmod-usb2-chipidea to use the USB ports. Include the
correct package so they can be used with the base image.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agohostapd: fix up patches after the last commit
Felix Fietkau [Thu, 21 Oct 2021 10:37:09 +0000 (12:37 +0200)]
hostapd: fix up patches after the last commit

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agohostapd: fix a race condition on adding AP mode wds sta interfaces
Felix Fietkau [Wed, 20 Oct 2021 19:13:10 +0000 (21:13 +0200)]
hostapd: fix a race condition on adding AP mode wds sta interfaces

Both hostapd and netifd attempt to add a VLAN device to a bridge.
Depending on which one wins the race, bridge vlan settings might be incomplete,
or hostapd might run into an error and refuse to service the client.
Fix this by preventing hostapd from adding interfaces to the bridge and
instead rely entirely on netifd handling this properly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agonetifd: update to the latest version
Felix Fietkau [Wed, 20 Oct 2021 19:12:31 +0000 (21:12 +0200)]
netifd: update to the latest version

c61a1d432b34 wireless: fix creating AP mode WDS station interfaces
f78bdec2ed5f wireless: fix handling vif attributes on reload with mode change

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agokernel: 5.10: backport Marvell 88E1510/2 PHY SFP support
Robert Marko [Fri, 8 Oct 2021 16:49:46 +0000 (18:49 +0200)]
kernel: 5.10: backport Marvell 88E1510/2 PHY SFP support

Backport upstream SFP support for the Marvell 88E1510/2 PHY-s.

Globalscale MOCHAbin uses this PHY for the hybrid
WAN port that has 1G SFP and 1G RJ45 with PoE PD
connected to it.

This allows the SFP port to be used on it as well as
parsing the SFP module details with ethtool.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agokernel: 5.10: backport 100 BaseX SFP support
Robert Marko [Fri, 8 Oct 2021 16:49:45 +0000 (18:49 +0200)]
kernel: 5.10: backport 100 BaseX SFP support

Backport upstream support for 100Base-FX, 100Base-LX, 100Base-PX and
100Base-BX10 SFP modules.

This is a prerequisite for the Globalscale MOCHAbin hybrid 1G
SFP/Copper support backporting.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agoltq-vdsl-app: add error vector counters to the ubus metrics
Andre Heider [Sun, 3 Oct 2021 10:07:41 +0000 (12:07 +0200)]
ltq-vdsl-app: add error vector counters to the ubus metrics

These are useful stats to debug vector related line deteriorations,
see [0].

Example output:
    "erb": {
    "sent": 169925,
    "discarded": 0
    }

[0] https://forum.openwrt.org/t/vectoring-on-lantiq-vrx200-vr9-missing-callback-for-sending-error-samples/104046

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agoltq-vdsl-app: prepare for multiple mei ioctls
Andre Heider [Sun, 3 Oct 2021 10:05:51 +0000 (12:05 +0200)]
ltq-vdsl-app: prepare for multiple mei ioctls

Refactor so that the outer function opens and closes the mei fd and
passes it around, just as with the main fd.

That also allows us to use the IOCTL macro in get_vector_status() and
clean up accordingly.

Switch to AUTORELEASE while at it.

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agoath10k-ct: update to version from 2021-09-22
Andrew Robbins [Tue, 5 Oct 2021 15:00:16 +0000 (11:00 -0400)]
ath10k-ct: update to version from 2021-09-22

Add in a fix for 160Mhz dfs on 5.10 and higher.
Add support for 5.13 and 5.15 kernels.
Add of_get_mac_address support for 5.15 driver.

Signed-off-by: Andrew Robbins <andrew@robbinsa.me>
3 years agokernel: bump 5.10 to 5.10.75
Rui Salvaterra [Wed, 20 Oct 2021 12:07:59 +0000 (13:07 +0100)]
kernel: bump 5.10 to 5.10.75

Deleted (upstreamed):
bcm27xx/patches-5.10/950-0735-xhci-guard-accesses-to-ep_state-in-xhci_endpoint_res.patch [1]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=dc3e0a20dbb9dbaa22f4a33dea34230f8c663c40

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agokernel: bump 5.10 to 5.10.74
Rui Salvaterra [Sun, 17 Oct 2021 17:31:09 +0000 (18:31 +0100)]
kernel: bump 5.10 to 5.10.74

Patches automatically refreshed.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agokernel: bump 5.10 to 5.10.73
Rui Salvaterra [Wed, 13 Oct 2021 10:02:37 +0000 (11:02 +0100)]
kernel: bump 5.10 to 5.10.73

Patches automatically refreshed.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agokernel: bump 5.4 to 5.4.155
John Audia [Wed, 20 Oct 2021 12:32:55 +0000 (08:32 -0400)]
kernel: bump 5.4 to 5.4.155

All patches automatically rebased.

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.4 to 5.4.154
John Audia [Sun, 17 Oct 2021 13:14:42 +0000 (09:14 -0400)]
kernel: bump 5.4 to 5.4.154

All patches automatically rebased.

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.4 to 5.4.153
John Audia [Wed, 13 Oct 2021 19:14:17 +0000 (15:14 -0400)]
kernel: bump 5.4 to 5.4.153

Removed upstreamed:
  backport-5.4/070-v5.5-MIPS-BPF-Restore-MIPS32-cBPF-JIT.patch

All other patches automatically rebased.

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agowolfssl: fix compile when enable-devcrypto is set
Ivan Pavlov [Fri, 15 Oct 2021 05:11:10 +0000 (08:11 +0300)]
wolfssl: fix compile when enable-devcrypto is set

fixing linking error when --enable-devcrypto=yes
fixes: 7d92bb050961 wolfssl: update to 4.8.1-stable

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
3 years agoiw: sync nl80211 with kernel backports
Hauke Mehrtens [Sun, 10 Oct 2021 13:41:43 +0000 (15:41 +0200)]
iw: sync nl80211 with kernel backports

The nl80211 was out of sync with the version used in our backports. This
broke the configuration of the antenna gain.

Fixes: 2bfac61483db ("mac80211: backport support for BSS color changes")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agorealtek: switch to kernel 5.10
Adrian Schmutzler [Tue, 19 Oct 2021 19:08:58 +0000 (21:08 +0200)]
realtek: switch to kernel 5.10

The usual testers did their tests. Now we need testers who use the
master builds.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agomac80211: add missing patch chunk for mac80211_hwsim
Felix Fietkau [Wed, 20 Oct 2021 12:04:24 +0000 (14:04 +0200)]
mac80211: add missing patch chunk for mac80211_hwsim

Fixes build error

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomt76: update to the latest version
Felix Fietkau [Tue, 19 Oct 2021 10:43:03 +0000 (12:43 +0200)]
mt76: update to the latest version

ebf5b2336591 mt7615/mt7915: fix hwmon device name
8d12f9ed275d mt76: mt7615: mt7622: fix ibss and meshpoint
e7883cdc0b4e mt76: mt7915: improve code readability in mt7915_mcu_sta_bfer_ht
831d5967abb9 wireless: fix spelling of A-MSDU in HE capabilities
f09cb04be261 wireless: align some HE capabilities with the spec
0eeba8f2952d wireless: align HE capabilities A-MPDU Length Exponent Extension
655a6c65b8a7 mt76: mt7915: introduce mt7915_mcu_beacon_check_caps()
4440025d0ba9 mt76: mt7915: fix txbf starec TLV issues
87d2fb6fbff5 mt76: mt7915: improve starec readability of txbf
53c6a3cb7f6b mt76: mt7915: fix sta_rec_wtbl tag len
f517845e4f28 mt76: mt7915: rework starec TLV tags
1df017bc39a3 mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req()
6724b0a9a748 mt76: mt7915: set VTA bit in tx descriptor
f1f505cbbb30 mt76: mt7915: set muru platform type
8c9d4b38d258 mt76: mt7915: remove dead code in mt7915_get_et_stats
d0ccc4297935 mt76: rely on phy pointer in mt76_register_debugfs_fops routine signature
0af0af82bb97 mt76: mt7915: introduce mt76 debugfs sub-dir for ext-phy
10e85d62f213 mt76: mt7915: improve code readability for xmit-queue handler
b6051f7713d2 mt76: sdio: export mt76s_alloc_rx_queue and mt76s_alloc_tx routines
9a97c38a309d mt76: mt7921: get rid of unused variable in mt7921_tx_complete_skb
c02847c05884 mt76: mt7921: get rid of unused variable in mt7921_mac_tx_free
60dd47a0a62e mt76: mt7915: remove dead code in debugfs code
ce74fc020d81 mt76: mt7921: add MU EDCA cmd support
c062f6920356 mt76: mt7921: refactor mac.c to be bus independent
bfa909c833e8 mt76: mt7921: refactor dma.c to be pcie specific
6556bddf26d2 mt76: mt7921: refactor mcu.c to be bus independent
1c8418207c86 mt76: mt7921: refactor init.c to be bus independent
6cf8248c1a44 mt76: mt7921: add MT7921_COMMON module
77600b0c10ac mt76: connac: move mcu reg access utility routines in mt76_connac_lib module
65362a00d07d mt76: mt7663s: rely on mcu reg access utility
956206bb55c3 mt76: mt7921: make all event parser reusable between mt7921s and mt7921e
f0dedcf6aaf0 mt76: mt7921: use physical addr to unify register access
5079d5b0b13c mt76: sdio: move common code in mt76_sdio module
26257594398b mt76: sdio: introduce parse_irq callback
e353424f1b07 mt76: sdio: extend sdio module to support CONNAC2
ddab3dd25f94 mt76: connac: extend mcu_get_nic_capability
b2d9a1748a41 mt76: mt7921: rely on mcu_get_nic_capability
e6ce5d9cbda0 mt76: mt7921: refactor mt7921_mcu_send_message
ce3706a65ccd mt76: mt7921: introduce mt7921s support
3143118baf53 mt76: mt7921s: add reset support
645eac64bece mt76: mt76x0: correct VHT MCS 8/9 tx power eeprom offset
d54796787cb7 mt76: move mt76_sta_stats in mt76.h
094e085abf5a mt76: move mt76_ethtool_worker_info in mt76 module
f80ab6dde63d mt76: mt7915: run mt7915_get_et_stats holding mt76 mutex
4a11cb67dc27 mt76: mt7915: move tx amsdu stats in mib_stats
486da6fa2512 mt76: do not reset MIB counters in get_stats callback
d8837b7c8dcd mt76: mt7921: add some more MIB counters
5ffe086fcd1b mt76: mt7921: introduce stats reporting through ethtool
69154ae23f6b mt76: mt7921: add sta stats accounting in mt7921_mac_add_txs_skb
4b65fbc4e203 mt76: mt7921: move tx amsdu stats in mib_stats
35b8025f466b mt76: mt7921: add per-vif counters in ethtool
cfbbd861eb12 mt76: mt7915: enable HE UL MU-MIMO
a0b94987df80 mt76: mt7915: rework mt7915_mcu_sta_muru_tlv()
5fbb686e9c0c mt76: mt7915: fix missing HE phy cap
b649678c18ca mt76: mt7915: change max rx len limit of hw modules

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: backport a few trivial patches
Felix Fietkau [Tue, 19 Oct 2021 09:19:26 +0000 (11:19 +0200)]
mac80211: backport a few trivial patches

No functional changes, just some renames to make it easier to keep mt76 in
sync with upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agotools/llvm-bpf: add llvm+clang build suitable for compiling code to eBPF
Felix Fietkau [Sun, 17 Oct 2021 15:50:53 +0000 (17:50 +0200)]
tools/llvm-bpf: add llvm+clang build suitable for compiling code to eBPF

Preparation for building packages that ship eBPF code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoinclude/cmake.mk: fix host builds with CMAKE_BINARY_SUBDIR
Felix Fietkau [Sun, 17 Oct 2021 15:01:23 +0000 (17:01 +0200)]
include/cmake.mk: fix host builds with CMAKE_BINARY_SUBDIR

Use it in the same way as for target builds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoREADME: mention video feed
Paul Spooren [Thu, 14 Oct 2021 18:33:29 +0000 (08:33 -1000)]
README: mention video feed

The video feed just got support for Wayland which allows OpenWrt devices
to run as a Kiosk (displaying browser content via a display).

The availability of these packages should be mentioned to users.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoncurses: add tmux terminfo
Jitao Lu [Sun, 17 Oct 2021 06:16:57 +0000 (14:16 +0800)]
ncurses: add tmux terminfo

They're preferred terminal descriptions for tmux, with additional support to
some special characters and italic fonts. More info can be found at:
https://github.com/tmux/tmux/wiki/FAQ

Fixes: FS#3404
Signed-off-by: Jitao Lu <dianlujitao@gmail.com>
3 years agohostapd: fix goto loop for ubus assoc handler
David Bauer [Sun, 17 Oct 2021 21:29:57 +0000 (23:29 +0200)]
hostapd: fix goto loop for ubus assoc handler

When a ubus event handler denies a association with a non-zero return
value, the code jumps to preceeding code, creating an endless loop until
the event handler accepts the assc request.

Move the ubus handler further up the code to avoid creating such a loop.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agowireguard-tools: add uci option to disable wireguard peers
Stepan Henek [Sun, 25 Apr 2021 21:32:29 +0000 (23:32 +0200)]
wireguard-tools: add uci option to disable wireguard peers

Right now when I want to temporarily disable wg peer I need to delete
the entire peer section. This is not such a good solution because I
loose the previous configuration of the peer.

This patch adds `disabled` option to peer config which causes that
the config section is ignored.

Signed-off-by: Stepan Henek <stepan.henek@nic.cz>
[use $(AUTORELEASE)]
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agonftables: bump to 1.0.0
Stijn Tintel [Thu, 14 Oct 2021 19:08:44 +0000 (22:08 +0300)]
nftables: bump to 1.0.0

This introduces support for hardware flow offloading, which was added in
in nftables 0.9.9.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Jo-Philipp Wich <jo@mein.io>
3 years agotegra: switch to kernel 5.10
Adrian Schmutzler [Mon, 18 Oct 2021 19:27:33 +0000 (21:27 +0200)]
tegra: switch to kernel 5.10

This target has testing support for kernel 5.10 for four months now.
Time to switch the default.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Tomasz Maciej Nowak <tmn505@gmail.com>
3 years agobcm53xx: enable Linksys EA6300 & EA9200 builds
Rafał Miłecki [Mon, 18 Oct 2021 13:59:43 +0000 (15:59 +0200)]
bcm53xx: enable Linksys EA6300 & EA9200 builds

Both should be supported since:
1. Adding NVMEM driver for NVRAM
2. Using NVRAM info for determining active firmware partition

Linksys EA9500 uses very similar design and works fine.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agoprocd: update to git HEAD
Daniel Golle [Sun, 17 Oct 2021 20:21:49 +0000 (21:21 +0100)]
procd: update to git HEAD

 9b1e035 jail: netifd: code cosmetics
 d2a2ecc jail: netifd: fix error handling issue reported by coverity
 e1d7cee jail: netifd: check target netns fd before using it
 59f7699 uxc: add missing 'break' statement

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agowolfssl: remove --enable-sha512 configure switch
Andre Heider [Sat, 2 Oct 2021 08:40:00 +0000 (10:40 +0200)]
wolfssl: remove --enable-sha512 configure switch

It's the default anyway and this just looks confusing, as if it wasn't.

Switch to AUTORELEASE while at it.

The binary size is unchanged.

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agowolfssl: always build with --enable-reproducible-build
Andre Heider [Sat, 2 Oct 2021 08:50:49 +0000 (10:50 +0200)]
wolfssl: always build with --enable-reproducible-build

This gates out anything that might introduce semantically frivolous jitter,
maximizing chance of identical object files.

The binary size shrinks by 8kb:
1244352 staging_dir/target-mipsel_24kc_musl/usr/lib/libwolfssl.so.4.8.1.39c36f2f
1236160 staging_dir/target-mipsel_24kc_musl/usr/lib/libwolfssl.so.4.8.1.39c36f2f

Signed-off-by: Andre Heider <a.heider@gmail.com>
3 years agowolfssl: build with WOLFSSL_ALT_CERT_CHAINS
Andre Heider [Wed, 6 Oct 2021 08:54:48 +0000 (10:54 +0200)]
wolfssl: build with WOLFSSL_ALT_CERT_CHAINS

"Alternate certification chains, as oppossed to requiring full chain
validataion. Certificate validation behavior is relaxed, similar to
openssl and browsers. Only the peer certificate must validate to a trusted
certificate. Without this, all certificates sent by a peer must be
used in the trust chain or the connection will be rejected."

This fixes e.g. uclient-fetch and curl connecting to servers using a Let's
Encrypt certificate which are cross-signed by the now expired
DST Root CA X3, see [0].

This is the recommended solution from upstream [1].

The binary size increases by ~12.3kb:
1236160 staging_dir/target-mipsel_24kc_musl/usr/lib/libwolfssl.so.4.8.1.39c36f2f
1248704 staging_dir/target-mipsel_24kc_musl/usr/lib/libwolfssl.so.4.8.1.39c36f2f

[0] https://github.com/openwrt/packages/issues/16674
[1] https://github.com/wolfSSL/wolfssl/issues/4443#issuecomment-934926793

Signed-off-by: Andre Heider <a.heider@gmail.com>
[bump PKG_RELEASE]
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoramips: remove kmod-mt7663-firmware-sta from device packages
Felix Fietkau [Sun, 17 Oct 2021 14:05:34 +0000 (16:05 +0200)]
ramips: remove kmod-mt7663-firmware-sta from device packages

This firmware should only be used for mobile devices (e.g. laptops), where
AP mode functionality is typically not used. This firmware supports a lot
of power saving offload functionality at the expense of AP mode support.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoramips: fix dtc warnings for telco-electronics_x1
Rosen Penev [Fri, 15 Oct 2021 02:15:49 +0000 (19:15 -0700)]
ramips: fix dtc warnings for telco-electronics_x1

In all other dts files, the entire block is not edited like this.
They're edited separately.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agozynq: switch to kernel 5.10
Luis Araneda [Sun, 10 Oct 2021 02:55:06 +0000 (23:55 -0300)]
zynq: switch to kernel 5.10

Use kernel 5.10 by default

compile-tested: all devices from target (wth ALL_KMODS)
run-tested: Digilent Zybo Z7-20

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
3 years agozynq: kernel: update config for 5.10
Luis Araneda [Sun, 10 Oct 2021 02:55:05 +0000 (23:55 -0300)]
zynq: kernel: update config for 5.10

Update config with make kernel_oldconfig

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
3 years agozynq: kernel: copy config from 5.4 to 5.10
Luis Araneda [Sun, 10 Oct 2021 02:55:04 +0000 (23:55 -0300)]
zynq: kernel: copy config from 5.4 to 5.10

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
3 years agozynq: kernel: remove wireless extensions symbols
Luis Araneda [Sun, 10 Oct 2021 02:55:03 +0000 (23:55 -0300)]
zynq: kernel: remove wireless extensions symbols

This fixes compilation of several wireless drivers that
require support for the old wireless extension to work.
One example is kmod-hermes.

The symbols are set to "y" on generic configuration.
But they were wrongly disabled on the target-specific
configuration.

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
3 years agozynq: kernel: refresh config
Luis Araneda [Sun, 10 Oct 2021 02:55:02 +0000 (23:55 -0300)]
zynq: kernel: refresh config

using "make kernel_oldconfig"

Several configs are now part of generic

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
3 years agobuildsystem: add CONFIG_SECCOMP
Florian Eckert [Fri, 15 Oct 2021 07:19:12 +0000 (09:19 +0200)]
buildsystem: add CONFIG_SECCOMP

Until now, this feature was switched on via the kernel configuration
option KERNEL_SECCOMP.

The follwing change a7f794cd2aa104fdbd4c6e38f9b76373bf9b96e1 now requires that
the package procd-seccomp must also enabled for buildinmg.

However, this is not the case we have no dependency and the imagebuilder
cannot build the image, because of the implicit package selection.

This change adds a new configuration option CONFIG_SECCOMP.
The new option  has the same behaviour as the configuration
option CONFIG_SELINUX.

If the CONFIG_SECCOMP is selected then the package procd-seccomp and
KERNEL_SECCOMP is enabled for this build.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agomediatek: add EEPROM data for BPi-R64 2.4GHz wmac
Daniel Golle [Fri, 20 Aug 2021 17:31:48 +0000 (18:31 +0100)]
mediatek: add EEPROM data for BPi-R64 2.4GHz wmac

EEPROM data extracted from vendor image found at
http://forum.banana-pi.org/t/bpi-r64-mt7622-mac80211-wifi-driver/10246/77
http://forum.banana-pi.org/uploads/short-url/jworbyBYpvrw9VQ2sx92B9z6DWS.bin

MAC address in the EEPROM has been zero'd which results in random
address on boot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agokernel: backport a rewrite of the mips eBPF JIT implementation
Felix Fietkau [Wed, 13 Oct 2021 15:49:31 +0000 (17:49 +0200)]
kernel: backport a rewrite of the mips eBPF JIT implementation

This adds support for eBPF JIT for 32 bit targets and significantly improves
correctness.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agohostapd: ubus: add BSS transtiton request method
David Bauer [Sat, 5 Dec 2020 19:17:35 +0000 (20:17 +0100)]
hostapd: ubus: add BSS transtiton request method

The existing wnm_disassoc_imminent ubus method only supports issuing a
bss transition request with the disassoc imminent flag set.
For use-cases, where the client is requested to roam to another BSS
without a pending disassoc, this existing method is not suitable.

Add a new bss_transition_request ubus method, which provides a more
universal way to dispatch a transition request. It takes the following
arguments:

Required:
addr: String - MAC-address of the STA to send the request to (colon-seperated)

Optional:
abridged - Bool - Indicates if the abridged flag is set
disassociation_imminent: Bool - Whether or not the disassoc_imminent
                         flag is set
disassociation_timer: I32 - number of TBTTs after which the client will
                      be disassociated
validity_period: I32 - number of TBTTs after which the beacon
                 candidate list (if included) will be invalid
neighbors: blob-array - Array of strings containing neighbor reports as
           hex-string

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agohostapd: ubus: add notification for BSS transition response
David Bauer [Wed, 21 Oct 2020 18:50:01 +0000 (20:50 +0200)]
hostapd: ubus: add notification for BSS transition response

To allow steering daemons to be aware of the STA-decided transition
target, publish WNM transition responses to ubus. This way, steerings
daemons can learn about STA-chosen targets and send a better selection
of transition candidates.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agotools/fakeroot: explicitly pass CPP variable
Felix Fietkau [Wed, 13 Oct 2021 14:36:16 +0000 (16:36 +0200)]
tools/fakeroot: explicitly pass CPP variable

For some reason, the generated configure script fails to properly set up
the internal preprocessor command variable, causing the host OS check for
Darwin to fail after the last update.
Explicitly setting CPP fixes this issue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agox86/64: enable MMIO_CMDLINE_DEVICES for firecracker support
Paul Spooren [Mon, 11 Oct 2021 20:33:26 +0000 (10:33 -1000)]
x86/64: enable MMIO_CMDLINE_DEVICES for firecracker support

This Kernel option allows to run OpenWrt witin a `firecracker` micro VM.

Firecracker is a KVM-based tool for superfast booting VMs on x86_64 and
aarch64. It makes rootfs available to the guest as a virtio-mmio device
and passes its address via the kernel cmdline. A kernel without
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES will not recognize the rootfs
virtio-mmio device.

Suggested-by: Packet Please <pktpls@systemli.org>
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoarmvirt: enable MMIO_CMDLINE_DEVICES for firecracker support
Paul Spooren [Mon, 11 Oct 2021 20:29:40 +0000 (10:29 -1000)]
armvirt: enable MMIO_CMDLINE_DEVICES for firecracker support

This Kernel option allows to run OpenWrt witin a `firecracker` micro VM.

Firecracker is a KVM-based tool for superfast booting VMs on x86_64 and
aarch64. It makes rootfs available to the guest as a virtio-mmio device
and passes its address via the kernel cmdline. A kernel without
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES will not recognize the rootfs
virtio-mmio device.

Suggested-by: Packet Please <pktpls@systemli.org>
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoprocd: update to git HEAD
Daniel Golle [Tue, 12 Oct 2021 23:38:12 +0000 (00:38 +0100)]
procd: update to git HEAD

 97bcdcf uxc: fix segfault caused by use-after-free
 6398e05 uxc: don't free the stack
 324ebd0 jail: fs: add support for asymmetric mount bind
 c44ab7f jail: netifd: generate netifd uci config and mount it
 82dd390 jail: make use of per-container netifd via ubus

The new per-jail netifd is now configured by filtering the host
network configuration. As libuci is used for that, procd-ujail now
depends on libuci.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agonetifd: update to git HEAD
Daniel Golle [Tue, 12 Oct 2021 23:33:44 +0000 (00:33 +0100)]
netifd: update to git HEAD

 be8cd8f interface: don't fork() to start jail interface
 7a048bd interface, ubus: rework netns up/down

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agomt76: update to the latest version
Felix Fietkau [Tue, 12 Oct 2021 12:44:50 +0000 (14:44 +0200)]
mt76: update to the latest version

83598c2e872f mt76: avoid possible infinite loop in mt76_tx_status_check

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomt76: update to the latest version
Felix Fietkau [Mon, 11 Oct 2021 19:54:13 +0000 (21:54 +0200)]
mt76: update to the latest version

1af0242d1241 mt76: mt7915: replace a 64 bit divsion with a call to div_u64_rem

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: remove kcov bits from TWT backport patch
Felix Fietkau [Mon, 11 Oct 2021 14:40:20 +0000 (16:40 +0200)]
mac80211: remove kcov bits from TWT backport patch

Our backports version does not have support for kcov in mac80211
Fixes build errors on some platforms

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomt76: update to the latest version
Felix Fietkau [Mon, 11 Oct 2021 11:26:39 +0000 (13:26 +0200)]
mt76: update to the latest version

74dedf9352c5 mt76: mt7615: fix skb use-after-free on mac reset
7201290eda43 mt76: mt7921: Fix out of order process by invalid event pkt
ca1b57e9971a mt76: mt7915: add a missing HT flag for GI parsing
4932c5d80153 of: net: pass the dst buffer to of_get_mac_address()
51d9eb3e6f52 mt76: mt7915: fix endianness warnings in mu radiotap
833ca13014ab mt76: mt7921: Add mt7922 support
8f8ed44d026e mt76: mt7915: add control knobs for thermal throttling
16f18bab6b11 mt76: mt7915: send EAPOL frames at lowest rate
affea639c586 mt76: mt7921: send EAPOL frames at lowest rate
ac00fed412d4 mt76: mt7915: fix potential overflow of eeprom page index [update]
e576ddb76dfa mt76: mt7915: switch proper tx arbiter mode in testmode
222847c3d5eb mt76: mt7915: fix bit fields for HT rate idx
d04814366c83 mt76: add support for setting mcast rate
4602acc9271a mt76: mt7921: fix dma hang in rmmod
ec2cf3bf96fd mt76: connac: fix GTK rekey offload failure on WPA mixed mode
2fdb9d621431 mt76: connac: add support for limiting to maximum regulatory Tx power
489ace63d42c mt76: mt7921: get rid of monitor_vif
22da8d28fcc8 mt76: mt7921: get rid of mt7921_mac_set_beacon_filter
c94130519786 mt76: mt7921: introduce mt7921_mcu_set_beacon_filter utility routine
51cff39d7ad3 mt76: overwrite default reg_ops if necessary
da11c1c6edef mt76: mt7615: move mt7615_mcu_set_p2p_oppps in mt76_connac module
47f50b0aa4b8 mt76: mt7921: report HE MU radiotap
4f48ba4b0254 mt76: mt7915: checkpatch cleanup
bc7ee7d7bdea mt76: mt7915: add HE-LTF into fixed rate command
6a19e40820aa mt76: mt7921: continue to probe driver when fw already downloaded
8b3d8e2de084 mt76: mt7921: fix firmware usage of RA info using legacy rates
17305a54b166 mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate
801c15577293 mt76: mt7921: fix endianness warnings in mt7921_mac_decode_he_mu_radiotap
0182a5b99a7a mt76: mt7915: update mac timing settings
e2ee9d0a33ed mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD
fa6504aceb4f Revert "mt76: mt7915: checkpatch cleanup"
56b842b72a72 mt76: mt7915: fix wmm index on DBDC cards
8044311f5de5 mt76: mt7915: fix potential NPE in TXS processing
28da4baec7c5 mt76: mt7915: fix he_mcs capabilities for 160mhz
f7088ebe7452 mt76: mt7915: add LED support
ee019046284d mt76: mt7915: introduce bss coloring support
9848094e4bb5 mt76: mt7921: Fix fall-through warning for Clang
5710d0643418 mt76: add a bound check in mt76_calculate_default_rate()
a509cf2b654e mt76: mt7921: move mt7921_queue_rx_skb to mac.c
5a0f2382fcfe mt76: mt7915: rework debugfs queue info
62ffc31f4d7b mt76: mt7915: rename debugfs tx-queues
4750b5c918e5 mt76: mt7921: always wake device if necessary in debugfs
ac6adf74b3f2 mt76: mt7921: update mib counters dumping phy stats
eb75b9266ce6 net:wireless:mt76: fix boolreturn.cocci warnings
d7c4698435b3 mt76: mt7921: fix the inconsistent state between bind and unbind
9dcfba3169c4 mt76: switch from 'pci_' to 'dma_' API
d8b5e42c9a73 mt76: fill boottime_ns in Rx path
8ee6446075f2 mt76: disable BH around napi_schedule() calls
e17d730bf2f6 mt76: mt7915: add LED support [update to v3]
80fe40c9457e mt76: mt7915: enable configured beacon tx rate
c8f0d1d81d05 mt76: mt7915: fix hwmon temp sensor mem use-after-free
3b9ba7e02076 mt76: mt7615: fix hwmon temp sensor mem use-after-free
5e82eceb45cb mt76: mt7921: start reworking tx rate reporting
eb66b5c9ff77 mt76: mt7921: add support for tx status reporting
c8010f170e76 mt76: mt7921: report tx rate directly from tx status
4dc7f3db572b mt76: mt7921: remove mcu rate reporting code
db89c6f86724 mt76: mt7921: remove mt7921_sta_stats
6bb8b4267dbe mt76: move spin_lock_bh to spin_lock in tasklet
0eacf41985da mt76: mt7915: honor all possible error conditions in mt7915_mcu_init()
4dfff296ee6e mt76: mt7915: fix possible infinite loop release semaphore
537ed88dd2d0 mt76: mt7921: robustify hardware initialization flow
e0b846159221 mt76: mt7921: fix retrying release semaphore without end
c55dedcea268 mt76: mt7915: add ethtool stats support
d1d5e8cd3a3e mt76: mt7915: add tx stats gathered from tx-status callbacks
1687189d68b7 mt76: mt7915: add some per-station tx stats to ethtool
f4dde5f765af mt76: mt7915: add tx mu/su counters to mib
9752bf0643c9 mt76: mt7915: add more MIB registers
4727415017c9 mt76: mt7915: add mib counters to ethtool stats
4ca80a749e7f mt76: connac: set 6G phymode in mt76_connac_get_phy_mode{,v2}
3f2a5d39631e mt76: connac: enable 6GHz band for hw scan
817a41826bd7 mt76: connac: add 6GHz support to mt76_connac_mcu_set_channel_domain
a6ab81c21080 mt76: connac: set 6G phymode in single-sku support
ca4f47028a44 mt76: connac: add 6GHz support to mt76_connac_mcu_sta_tlv
d2e192ea81e2 mt76: connac: add 6GHz support to mt76_connac_mcu_uni_add_bss
c3dd12b4c8ae mt76: connac: enable hw amsdu @ 6GHz
91ed2b256c20 mt76: add 6GHz support
de8c4f92621f mt76: mt7921: add 6GHz support
f143aedc1d57 mt76: introduce packet_id idr
bcc8d9e03a5d mt76: remove mt76_wcid pointer from mt76_tx_status_check signature
ccbd84763153 mt76: substitute sk_buff_head status_list with spinlock_t status_lock
69bb59df894c mt76: schedule status timeout at dma completion
03a992645310 mt76: support reading EEPROM data embedded in fdt
75615480b3fe mt76: introduce __mt76_mcu_send_firmware routine
e8e2eae41f94 mt76: drop MCU header size from buffer size in __mt76_mcu_send_firmware
4c455e8b1a20 mt76: mt7915: introduce __mt7915_get_tsf routine
9d49c611a2d7 mt76: mt7915: introduce mt7915_mcu_twt_agrt_update mcu command
f44ca79c9aed mt76: mt7915: introduce mt7915_mac_add_twt_setup routine
2f9555a2f18f mt76: mt7915: enable twt responder capability
440e2db8d541 mt76: mt7915: add twt_stats knob in debugfs
eb5f640f8afa mt76: debugfs: improve queue node readability
53d7eb3b4884 mt76: mt7615: fix monitor mode tear down crash
2aa3d4414826 mt76: mt7921: add delay config for sched scan
47e8e96e8e4d mt76: use a separate CCMP PN receive counter for management frames
5560b08f8e2d mt76: do not access 802.11 header in ccmp check for 802.3 rx skbs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: backport AP mode TWT support
Felix Fietkau [Mon, 11 Oct 2021 09:48:49 +0000 (11:48 +0200)]
mac80211: backport AP mode TWT support

Required for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoscripts/rstrip.sh: do not strip .o files with STRIP_KMOD
Felix Fietkau [Fri, 8 Oct 2021 10:00:49 +0000 (12:00 +0200)]
scripts/rstrip.sh: do not strip .o files with STRIP_KMOD

Fixes packaging of eBPF modules

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agotools/ccache: update to 4.4.2
Rosen Penev [Tue, 5 Oct 2021 01:37:34 +0000 (18:37 -0700)]
tools/ccache: update to 4.4.2

Refreshed patch.

Disable hiredis backend since it seems to default to it now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agoRevert "gpio-cdev: add nu801 userspace driver"
Christian Lamparter [Sun, 10 Oct 2021 20:06:51 +0000 (22:06 +0200)]
Revert "gpio-cdev: add nu801 userspace driver"

This reverts commit f536f5ebddd9c532a08ac4a9be3ef0c02f7bfeb8.

As Hauke commented, this causes builder failures on 5.4 kernels.
This revert includes changes to the mx100 kernel modules
dependency as well as the uci led definitions.

Tested-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agotools/meson: fix usage with SDK
Rosen Penev [Sat, 9 Oct 2021 19:24:44 +0000 (12:24 -0700)]
tools/meson: fix usage with SDK

The python path cannot be embedded in the meson binary as it changes
with the SDK.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agoipq40xx: use zImage for GL.iNet GL-B1300, GL-S1300 to shrink below 4096k
Szabolcs Hubai [Sat, 9 Oct 2021 23:32:30 +0000 (01:32 +0200)]
ipq40xx: use zImage for GL.iNet GL-B1300, GL-S1300 to shrink below 4096k

In the "ipq40xx: switch to Kernel 5.10" discussion at GitHub,
Adrian noted [0] that these GL.iNet Conexa series devices,
GL-B1300 and GL-S1300 failed their image generation [1] as their gzipped
uImage kernel went above 4096k.

While notifying the vendor about this problem [2], I tested all U-Boot
releases from GL.iNet:
- they really fail to boot kernel above 4096k
- they don't support lzma: "Unimplemented compression type 3"
- but they boot zImage

Using zImage (xz compression) the kernel is 2909k which is
more than a megabyte away from the KERNEL_SIZE := 4096k limit.

The gzip compressed version would be 4116k.

[0]: https://github.com/openwrt/openwrt/pull/4620#issuecomment-932765776
[1]: commit 7b1fa276f5a2 ("ipq40xx: add testing support for kernel 5.10")
[2]: https://forum.gl-inet.com/t/ipq40xx-kernel-size-and-u-boot-v5-10-is-too-big-for-4-mb/17619

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
3 years agox86: add support for Meraki MX100
Chris Blake [Fri, 1 Oct 2021 14:38:56 +0000 (09:38 -0500)]
x86: add support for Meraki MX100

This commit will add support for the Meraki MX100 in OpenWRT.

Specs:
* CPU: Intel Xeon E3-1200 Series 1.5GHz 2C/4T
* Memory: 4GB DDR3 1600 ECC
* Storage: 1GB USB NAND, 1TB SATA HDD
* Wireless: None
* Wired: 10x 1Gb RJ45, 2x 1Gb SFP

UART:
The UART header is named CONN11 and is found in the
center of the mainboard. The pinout from Pin 1 (marked
with a black triangle) to pin 4 is below:
Pin 1: VCC
Pin 2: TX
Pin 3: RX
Pin 4: GND
Note that VCC is not required for UART on this device.

Booting:
1. Flash/burn one of the images from this repo to a
flash drive.
2. Take the top off the MX100, and unplug the SATA
cable from the HDD.
3. Hook up UART to the MX100, plug in the USB drive,
and then power up the device.
4. At the BIOS prompt, quickly press F7 and then
scroll to the Save & Exit tab.
5. Scroll down to Boot Override, and select the
UEFI entry for your jumpdrive.

Note: UEFI booting will fail if the SATA cable for
the HDD is plugged in.
The issue is explained under the Flashing instructions.

Flashing:
1. Ensure the MX100 is powered down, and not plugged
into power.
2. Take the top off the MX100, and unplug the SATA
cable from the HDD.
3. Using the Mini USB female port found by the SATA
port on the motherboard,
flash one of the images to the system. Example:
`dd if=image of=/dev/sdb conv=fdatasync` where sdb
is the USB device for the MX100's NAND.
4. Unplug the Mini USB, hook up UART to the MX100,
and then power up the device.
5. At the BIOS prompt, quickly press F7 and then
scroll to the Boot tab.
6. Change the boot order and set UEFI: USB DISK 2.0
as first, and USB DISK 2.0 as second.
Disable the other boot options.
7. Go to Save & Exit, and then select Save Changes and
Reset

Note that OpenWRT will fail to boot in UEFI mode when
the SATA hard drive is plugged in. To fix this, boot
with the SATA disk unplugged and then run the following
command:
`sed -i "s|hd0,gpt1|hd1,gpt1|g" boot/grub/grub.cfg`
Once the above is ran, OpenWRT will boot when the HDD
is plugged into SATA. The reason this happens is the
UEFI implementation for the MX100 will always set
anything on SATA to HD0 instead of the onboard USB
storage, so we have to accomidate it since OpenWRT's
GRUB does not support detecting a boot disk via UUID.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
3 years agogpio-cdev: add nu801 userspace driver
Chris Blake [Fri, 24 Sep 2021 13:42:03 +0000 (08:42 -0500)]
gpio-cdev: add nu801 userspace driver

This adds a userspace interpretation of the nu801 driver used by Meraki
hardware. Previously this was a driver that was added per target, but as
multiple targets now have this driver, we should move to something that
can be shared by all targets since no driver exists upstream.

Co-developed-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agoapm821xx: disable and move kernel CONFIG_ symbols
Christian Lamparter [Sat, 9 Oct 2021 22:39:41 +0000 (00:39 +0200)]
apm821xx: disable and move kernel CONFIG_ symbols

try to reduce the kernel size by disabling and moving
options from the common kernel configuration to the
SATA target that doesn't have the constraints.

For NAND this has become necessary because as with 5.10
some devices outgrew their kernels. Though, in my tests
this didn't help much: just a smidgen over 100kib was
saved on the  uncompressed kernel.

... running make kernel_oldconfig also removed some
other config symbols, mostly those that already set
from elsewhere or became obsolete in the meantime.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agoapm821xx: disable MX60(W) due to kernel size
Christian Lamparter [Sat, 9 Oct 2021 22:21:39 +0000 (00:21 +0200)]
apm821xx: disable MX60(W) due to kernel size

disables the MX60(W) from being built by the builders for now.
But there's an effort to bring it back:
<https://github.com/openwrt/openwrt/pull/4617>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agogemini: splash banner on framebuffer console
Linus Walleij [Sat, 9 Oct 2021 11:32:09 +0000 (13:32 +0200)]
gemini: splash banner on framebuffer console

The D-Link DIR-685 has a small screen with a framebuffer
console, so if we have this, when we start, display the
banner on this framebuffer console so the user know they
are running OpenWRT as root filesystem.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 years agoapm821xx: WNDAP620 + WNDAP660: reorganize partitions for 5.10
Christian Lamparter [Sat, 2 Oct 2021 22:19:58 +0000 (00:19 +0200)]
apm821xx: WNDAP620 + WNDAP660: reorganize partitions for 5.10

Due to 5.10 increased kernel size, the current 4MiB-ish kernel
partition got too small. Luckily, netgear's uboot environment
is setup to read 0x60000 bytes from the kernel partition location.

... While at it: also do some cleanups in the DTS in there.

The original (re-)installation described in
commit d82d84694e60 ("apm821xx: add support for the Netgear WNDAP620 and WNDAP660")
seemed to be still working for now. What I noticed though
is that the bigger initramfs images needed to use a different
destination address (1000000) to prevent it overwriting
itself during decompression. i.e:
 # tftp 1000000 openwrt-...-wndap620-initramfs-kernel.bin
 # bootm

However, in case of the WNDAP620+660 the factory.img image can be
written directly to the flash through uboot.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agoapm821xx: switch to Kernel 5.10
Paul Spooren [Thu, 30 Sep 2021 05:13:55 +0000 (19:13 -1000)]
apm821xx: switch to Kernel 5.10

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoapm821xx: move CONFIG_DMA* to the generic apm821xx config
Christian Lamparter [Sat, 2 Oct 2021 22:59:31 +0000 (00:59 +0200)]
apm821xx: move CONFIG_DMA* to the generic apm821xx config

Both NAND and SATA targets need the DMA engine in one way
or another.

Due to a kernel config refresh various existing symbols
got removed from the apm821xx main config file as well.
(That being said, they are still included because the
built-in crpyto4xx depends on these.)

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agobuild: prereq detect Python 3.10 for `python3` binary
Paul Spooren [Sun, 10 Oct 2021 09:09:46 +0000 (23:09 -1000)]
build: prereq detect Python 3.10 for `python3` binary

While the binary `python3.10` is correctly detected by the build system
the default `python3` binary is currently not detected if pointing to a
Python 3.10 installation.

Fix this by extending the grep regex.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agokernel: bump 5.4 to 5.4.152
John Audia [Sat, 9 Oct 2021 17:44:30 +0000 (13:44 -0400)]
kernel: bump 5.4 to 5.4.152

All patches automatically rebased.

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.4 to 5.4.151
John Audia [Thu, 7 Oct 2021 10:24:12 +0000 (06:24 -0400)]
kernel: bump 5.4 to 5.4.151

All patches automatically rebased.

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.10 to 5.10.72
John Audia [Sat, 9 Oct 2021 16:22:14 +0000 (12:22 -0400)]
kernel: bump 5.10 to 5.10.72

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B
Run-tested: bcm2711/RPi4B

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agokernel: bump 5.10 to 5.10.71
John Audia [Wed, 6 Oct 2021 15:38:15 +0000 (11:38 -0400)]
kernel: bump 5.10 to 5.10.71

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, ipq806x/R7800
Run-tested: bcm2711/RPi4B, ipq806x/R7800

Signed-off-by: John Audia <graysky@archlinux.us>
3 years agorockchip: rename "Rock Pi 4" to "Rock Pi 4A"
Adrian Schmutzler [Sat, 2 Oct 2021 15:36:48 +0000 (17:36 +0200)]
rockchip: rename "Rock Pi 4" to "Rock Pi 4A"

Kernel has added the different variants of the Rock Pi 4 in commit
b5edb0467370 ("arm64: dts: rockchip: Mark rock-pi-4 as rock-pi-4a
dts"). The former Rock Pi 4 is now Rock Pi 4A.

For compatibility with kernel 5.4, this rename has been held back
so far. Having switched to kernel 5.10 now, we can finally apply
it in our tree as well.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agorockchip: switch to kernel 5.10
Adrian Schmutzler [Sat, 9 Oct 2021 22:51:39 +0000 (00:51 +0200)]
rockchip: switch to kernel 5.10

This target has testing support for more than half a year now.
Time to switch.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokernel: drop support for mtd-mac-address
Ansuel Smith [Sun, 22 Aug 2021 12:58:53 +0000 (14:58 +0200)]
kernel: drop support for mtd-mac-address

Now that we have fully switched to nvmem interface we can drop
the use of mtd-mac-address patches as it's not used anymore and
the new nvmem implementation should be used for any new device.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
3 years agomvebu: mochabin: correct LED labels in DTS
Robert Marko [Sat, 2 Oct 2021 17:57:57 +0000 (19:57 +0200)]
mvebu: mochabin: correct LED labels in DTS

LED labels got reversed by accident, so fix it to the usual color:led_name format.

Fixes: 78cf3e53b1f4 ("mvebu: add Globalscale MOCHAbin")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
[add Fixes:]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokirkwood: switch to kernel 5.10
Adrian Schmutzler [Sat, 9 Oct 2021 16:44:55 +0000 (18:44 +0200)]
kirkwood: switch to kernel 5.10

This target has testing support for more than half a year now.
Time to switch.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agooxnas: switch to Linux 5.10
Daniel Golle [Sat, 9 Oct 2021 15:44:01 +0000 (16:44 +0100)]
oxnas: switch to Linux 5.10

Linux 5.10 has been there as testing kernel for a while now.
Do the switch and drop config and patches for Linux 5.4.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agomediatek: enable configfs for DT overlay on mt7622 and mt7623
Daniel Golle [Fri, 8 Oct 2021 21:18:34 +0000 (22:18 +0100)]
mediatek: enable configfs for DT overlay on mt7622 and mt7623

Enable kernel options to allow loading device tree overlay via configfs
at runtime. This is useful for devboards like the BPi-R2 and BPi-R64
which got RasbPi-compatible 40-pin GPIO header which allow all sorts
of extensions.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agorealtek: add legacy realtek GPIO driver for rtl9300 support
Birger Koblitz [Mon, 27 Sep 2021 18:57:29 +0000 (20:57 +0200)]
realtek: add legacy realtek GPIO driver for rtl9300 support

The otto GPIO driver does not work with rtl9300 SoCs. Add
the legacy driver again and use that by default in the 9300 .dtsi

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: enable Aquantia PHY support
Birger Koblitz [Mon, 27 Sep 2021 17:35:36 +0000 (19:35 +0200)]
realtek: enable Aquantia PHY support

Enables Aquantia PHY support in the kernel

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Fix bug when accessing external PHYs on SoCs older than Revision C
Birger Koblitz [Mon, 13 Sep 2021 18:44:43 +0000 (20:44 +0200)]
realtek: Fix bug when accessing external PHYs on SoCs older than Revision C

RTL8393 SoCs older than Revision C hang on accesses to PHYs with PHY address
larger or equal to the CPU-port (52). This will make scanning the MDIO bus
hang forever. Since the RTL8390 platform does not support more than
52 PHYs, return -EIO for phy addresses >= 52. Note that the RTL8390 family
of SoCs has a fixed mapping between port number and PHY-address.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: cleanup PHY driver
Birger Koblitz [Fri, 10 Sep 2021 13:09:18 +0000 (15:09 +0200)]
realtek: cleanup PHY driver

Removes unnecessary output from the RTL PHY drivers.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add debugfs support for RTL9300
Birger Koblitz [Fri, 10 Sep 2021 13:08:27 +0000 (15:08 +0200)]
realtek: Add debugfs support for RTL9300

Adds support for debugfs on RTL9300, in particular the drop counters.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add SoC-specific routing offload implementation
Birger Koblitz [Fri, 10 Sep 2021 13:06:24 +0000 (15:06 +0200)]
realtek: Add SoC-specific routing offload implementation

Adds SoC specific routing offload implementations for
RTL8380/90 and RTL9300. RTL83xx supports merely nexthop
routing, RTL9300 full host and prefix routes.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: add driver support for routing offload
Birger Koblitz [Fri, 10 Sep 2021 13:04:27 +0000 (15:04 +0200)]
realtek: add driver support for routing offload

Add generic support for listening to FIB and Event notifier updates and
use this information to hook into the L3 hardware capabilities of the
RTL SoCs.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agokernel: Add AQR113C and AQR813 support
Birger Koblitz [Mon, 27 Sep 2021 08:41:25 +0000 (10:41 +0200)]
kernel: Add AQR113C and AQR813 support

This hack adds support for the Aquantia 4th generation, 10GBit
PHYs AQR113C and AQR813.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Improve MDIO bus probing for RTL9300
Birger Koblitz [Sun, 26 Sep 2021 15:37:25 +0000 (17:37 +0200)]
realtek: Improve MDIO bus probing for RTL9300

Improve handling of multi-gig ports on the RTL9300 when probing
the MDIO bus.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Fix bug in VLAN ingress and egress filtering
Birger Koblitz [Wed, 8 Sep 2021 18:16:39 +0000 (20:16 +0200)]
realtek: Fix bug in VLAN ingress and egress filtering

The ingress filter registers use 2 bits for each port to define the filtering
state, whereas the egress filter uses 1 bit. So for for the ingress filter
the register offset for a given port is:
(port >> 4) << 4: since there are 16 entries in a register of 32 bits
and for the egress filter:
(port >> 5) << 4: since there are 32 entries in a register of 32 bits

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Configure initial L2 learning setup
Birger Koblitz [Wed, 8 Sep 2021 18:00:31 +0000 (20:00 +0200)]
realtek: Configure initial L2 learning setup

Configure a sane L2 learning configuration upon DSA driver load so that the
switch can start learning L2 addresses. Also configure the correct flood masks
for broadcast and unknown unicast traffice.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add phylink configuration routines for RTL93xx
Birger Koblitz [Wed, 8 Sep 2021 14:13:18 +0000 (16:13 +0200)]
realtek: Add phylink configuration routines for RTL93xx

This adds RTL93xx-specific MAC configuration routines that allow also configuration
of 10GBit links for phylink. There is support for the Realtek-specific HISGMI
protocol.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Packet Inspection Engine support for RTL930x SoCs
Birger Koblitz [Wed, 8 Sep 2021 05:56:11 +0000 (07:56 +0200)]
realtek: Packet Inspection Engine support for RTL930x SoCs

Adds the RTL930x-specific PIE support routines.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Packet Inspection Engine support for RTL839x SoCs
Birger Koblitz [Tue, 7 Sep 2021 16:51:10 +0000 (18:51 +0200)]
realtek: Packet Inspection Engine support for RTL839x SoCs

Adds the RTL839x-specific PIE support routines.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Packet Inspection Engine support for RTL838x SoCs
Birger Koblitz [Tue, 7 Sep 2021 13:32:56 +0000 (15:32 +0200)]
realtek: Packet Inspection Engine support for RTL838x SoCs

Adds the RTL838x-specific PIE support routines.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add driver support for TC offloading
Birger Koblitz [Tue, 7 Sep 2021 13:30:29 +0000 (15:30 +0200)]
realtek: Add driver support for TC offloading

This adds support for offloading TC flower by using the Packet Inspection Engine
of the RTL-SoCs. Basic infrastructure support is provide with callbacks to the
tc subsystem and support for HW packet counters.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Add port to smi-bus address mapping
Birger Koblitz [Mon, 6 Sep 2021 05:24:09 +0000 (07:24 +0200)]
realtek: Add port to smi-bus address mapping

All RTL SoCs addresss PHYs via their port number, which is mapped to an
SMI address. Add support for configuring this mapping via the .dts on all
SoCs apart from the 839x, where the mapping to the 64 ports is fixed.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Increase maximum RX ring buffer length
Birger Koblitz [Sun, 5 Sep 2021 18:22:59 +0000 (20:22 +0200)]
realtek: Increase maximum RX ring buffer length

Increase the maximum ring buffer length in order to improve
performance on RTL839x devices.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
3 years agorealtek: Improve TX CPU-Tag usage
Birger Koblitz [Sun, 5 Sep 2021 18:03:59 +0000 (20:03 +0200)]
realtek: Improve TX CPU-Tag usage

On RTL83xx enable learning of the MAC source address of the CPU port
from outgoing packets. Add documentation on bit fields. On RTL93xx
enable port-mask usage and the use of internal priority, these
SoCs automatically learn the MAC.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>