openwrt/staging/wigyori.git
2 years agoethtool: update to 5.19
Nick Hainke [Tue, 23 Aug 2022 11:53:16 +0000 (13:53 +0200)]
ethtool: update to 5.19

Release Notes:
https://lore.kernel.org/netdev/20220821234539.f7nslwyd53bsftsy@lion.mk-sys.cz/T/

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agostrace: update to 5.19
Nick Hainke [Tue, 23 Aug 2022 12:00:18 +0000 (14:00 +0200)]
strace: update to 5.19

Release Notes:
https://strace.io/files/5.19/

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agotoolchain: bump GCC 12 to 12.2.0
Nick Hainke [Mon, 22 Aug 2022 08:17:33 +0000 (10:17 +0200)]
toolchain: bump GCC 12 to 12.2.0

Refreshed patches:
- 910-mbsd_multi.patch
- 970-macos_arm64-building-fix.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agouboot-envtools: mt7622: use 4k sectors for UniFi 6 LR (ubootmod)
Daniel Golle [Sun, 28 Aug 2022 15:07:05 +0000 (16:07 +0100)]
uboot-envtools: mt7622: use 4k sectors for UniFi 6 LR (ubootmod)

Use 4k sectors when accessing the U-Boot environment on the 64MiB
SPI-NOR flash chip found in the UniFi 6 LR. The speeds up environment
write access as only 4kB instead of 64kB have to be written.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: mt7622: use variable sector size for spi-nor
Daniel Golle [Sun, 28 Aug 2022 15:05:30 +0000 (16:05 +0100)]
mediatek: mt7622: use variable sector size for spi-nor

Make use of minor sector size (4k) on supported SPI-NOR flash chips.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agouboot-mediatek: fix Ubiquiti UniFi 6 LR U-Boot mod
Daniel Golle [Sun, 28 Aug 2022 15:01:12 +0000 (16:01 +0100)]
uboot-mediatek: fix Ubiquiti UniFi 6 LR U-Boot mod

Image names as well as the calculation of the padded image size did
not work as intended. Fix that.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: replace downstream get_mtd_device_by_node() implementation
Rafał Miłecki [Wed, 17 Aug 2022 21:20:45 +0000 (23:20 +0200)]
kernel: replace downstream get_mtd_device_by_node() implementation

Use upstream of_get_mtd_device_by_node() which should behave pretty much
the same. Implementation differences:

get_mtd_device_by_node()  of_get_mtd_device_by_node()
----                      ----
np->dev.of_node           mtd_get_of_node(np)
-EPROBE_DEFER             -ENODEV

Cc: Bernhard Frauendienst <openwrt@nospam.obeliks.de>
Cc: Bernhard Frauendienst <kernel@nospam.obeliks.de>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agombedtls: update to version 2.28.1
Hauke Mehrtens [Sat, 27 Aug 2022 21:11:30 +0000 (23:11 +0200)]
mbedtls: update to version 2.28.1

Changelog: https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.28.1
This release of Mbed TLS provides bug fixes and minor enhancements. This
release includes fixes for security issues.

The build problem was reported upstream:
https://github.com/Mbed-TLS/mbedtls/issues/6243

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agorealtek: switch RTL838X/RTL839X DT to new clock driver
Markus Stockhausen [Thu, 25 Aug 2022 06:24:13 +0000 (08:24 +0200)]
realtek: switch RTL838X/RTL839X DT to new clock driver

Use new DT clockdriver syntax for RTL838X/RTL839X targets. To make it work
we need to change some nodes:
- define the external oscillator speed (25MHz)
- define SRAM
- add clock controller
- Add second CPU for RTL839X
- map all devices to new clocks
- Remove dummy LXB clock
- add CPU OPP table

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2 years agorealtek: activate clock driver for RTL838X/RTL839X targets
Markus Stockhausen [Thu, 25 Aug 2022 06:23:45 +0000 (08:23 +0200)]
realtek: activate clock driver for RTL838X/RTL839X targets

Make use the new clock driver for RTL838X and RTL839x target devices. Of course
we will enable their primary consumer (cpufreq-dt) too. To be careful just set
the default governor to userspace. As we rely on SRAM activate that module too.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2 years agorealtek: enable basic config for cpufreq framework
Markus Stockhausen [Thu, 25 Aug 2022 06:23:02 +0000 (08:23 +0200)]
realtek: enable basic config for cpufreq framework

A new clock driver makes more sense if it can be used from consumers
like cpufreq.  Before we enable the driver we must tell the config that
the RTL838X and RTL839X targets allow CPU frequency changing.

Even though these targets currently rely on the CPU's internal R4K
timer, MIPS_EXTERNAL_TIMER is selected to allow for CPU frequency change
testing. The Realtek timers, which are clocked by the Lexra bus, still
need to be supported and used in order to provide correct wall times
when reclocking the CPU.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[add paragraph about MIPS_EXTERNAL_TIMER to commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: add patch to enable new clock driver in kernel
Markus Stockhausen [Thu, 25 Aug 2022 06:22:36 +0000 (08:22 +0200)]
realtek: add patch to enable new clock driver in kernel

Allow building the clock driver with kernel config options.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2 years agorealtek: add RTL83XX clock driver
Markus Stockhausen [Thu, 25 Aug 2022 06:22:01 +0000 (08:22 +0200)]
realtek: add RTL83XX clock driver

Add a new self-contained combined clock & platform driver that allows to
access the PLL hardware clocks of RTL83XX devices. Currently it provides
info about CPU, MEM and LXB clocks on RTL838X and RTL839X devices and
additionally allows to change the CPU clocks. Changing the clocks
multiple times on a DGS-1210-20 and a DGS-1210-52 already works well and
is multithreading safe on the RTL839X. Even a cpufreq initiated change
of the CPU clock works fine. Loading the driver will add some meaningful
logging.

[0.000000] rtl83xx-clk: initialized, CPU 500 MHz, MEM 300 MHz (8 Bit DDR3), LXB 200 MHz
[0.279456] rtl83xx-clk soc:clock-controller: rate setting enabled, CPU 325-600 MHz,
           MEM 300-300 MHz, LXB 200-200 MHz, OVERCLOCK AT OWN RISK

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[remove trailing whitespaces, C-style SPDX comments for ASM and headers]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: add PLL DT binding includes
Markus Stockhausen [Wed, 24 Aug 2022 18:57:05 +0000 (20:57 +0200)]
realtek: add PLL DT binding includes

Add some constants for sharing between DT and drivers.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2 years agoiptables: default to ip(6)tables-nft when using buildroot
Etienne Champetier [Sat, 20 Aug 2022 22:08:15 +0000 (18:08 -0400)]
iptables: default to ip(6)tables-nft when using buildroot

35fec487e30f05c81bd135326a993dad7f861812 fixed opkg usage,
but when using buildroot we were still defaulting to
ip(6)tables-legacy

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2 years agounetd: add WireGuard based VPN connection manager for OpenWrt
Felix Fietkau [Tue, 23 Aug 2022 21:29:52 +0000 (23:29 +0200)]
unetd: add WireGuard based VPN connection manager for OpenWrt

This package simplifies setting up wireguard networks on OpenWrt by a wireguard
network as a JSON file, which can be shared across all participating nodes.
It can be signed with an authentication key and automatically kept in sync.
unetd also supports deterministically generating ipv6 addresses for each host
based on the public key and storing those in a hosts file that can be used with
dnsmasq. It also supports automatically creating VXLAN tunnels between multiple
endpoints.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: add quirk for Huawei-compatible OEM SFP GE-T
Daniel Golle [Wed, 27 Jul 2022 22:30:12 +0000 (00:30 +0200)]
kernel: add quirk for Huawei-compatible OEM SFP GE-T

Ignore TX_FAULT signal on certain cheap copper/TP gigabit Ethernet SFP
modules.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoltq-vdsl-fw: fix firmware installer
Daniel Golle [Fri, 26 Aug 2022 21:16:25 +0000 (22:16 +0100)]
ltq-vdsl-fw: fix firmware installer

The downloaded filename was wrong in multiple places. Fix that.

Fixes: 2f95dd8ff0 ("ltq-vdsl-fw: update w921v firmware download URL")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomt76: update to the latest version
Felix Fietkau [Fri, 26 Aug 2022 17:48:45 +0000 (19:48 +0200)]
mt76: update to the latest version

9485e3b47066 mt76: remove q->qid
e5674c4aa402 mt76: mt7921: enable HW beacon filter not depending on PM flag
7fd299e3c921 mt76: mt7921: enable HW beacon filter in the initialization stage
d5459efaaf14 mt76: mt7921: make mt7921_pci_driver static
b8304b456e23 mt76: connac: move tx initialization/cleanup in mt76_connac module
6e0d7077486c mt76: mt7921: reduce log severity levels for informative messages
cb80da974fe6 mt76: mt7921: reduce the mutex lock scope during reset
a2d61f4f4063 mt76: mt7915 add ht mpdu density
08ea730c1130 mt76: add len parameter to __mt76_mcu_msg_alloc signature
60ef85fa352c mt76: introduce MT_RXQ_BAND2 and MT_RXQ_BAND2_WA in mt76_rxq_id
8ccbb38ca6e6 mt76: add phy_idx in mt76_rx_status
eb19ac83c07e mt76: introduce phys array in mt76_dev structure
30887591e3ab mt76: add phy_idx to mt76_wcid
4bf8c20a9524 mt76: convert MT_TX_HW_QUEUE_EXT_PHY to MT_TX_HW_QUEUE_PHY
e6c6bf8cee09 mt76: get rid of mt76_wcid_hw routine
120f73ad992a mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init()
111e92cf8c22 mediatek: mt76: eeprom: fix missing of_node_put() in mt76_find_power_limits_node()
13bedd62ff4a mt76: connac: introduce mt76_connac_reg_map structure
5ec78e1ec43d wifi: mt76: fix reading current per-tid starting sequence number for aggregation

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agobcm53xx: 5.15: add missing LEDS_BCM63138 config symbol
Petr Štetiar [Mon, 22 Aug 2022 13:30:21 +0000 (15:30 +0200)]
bcm53xx: 5.15: add missing LEDS_BCM63138 config symbol

Fixes following build issue found during build testing with 5.15.63
kernel:

 LED Support for Broadcom BCM63138 SoC (LEDS_BCM63138) [N/m/y/?] (NEW)

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agokernel: bump 5.15 to 5.15.63
John Audia [Thu, 25 Aug 2022 14:36:19 +0000 (10:36 -0400)]
kernel: bump 5.15 to 5.15.63

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 agonetifd: update to the latest version
Felix Fietkau [Thu, 25 Aug 2022 19:16:00 +0000 (21:16 +0200)]
netifd: update to the latest version

76d2d41b7355 interface: fix use-after-free bug when rewriting resolv.conf

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: bump 5.10 to 5.10.138
John Audia [Thu, 25 Aug 2022 14:52:50 +0000 (10:52 -0400)]
kernel: bump 5.10 to 5.10.138

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agorpcd: bump version to 2022-08-24
Petr Štetiar [Wed, 24 Aug 2022 11:10:37 +0000 (13:10 +0200)]
rpcd: bump version to 2022-08-24

gcc 10 with -O2 reports following:

 In function ‘strncpy’,
     inlined from ‘rpc_sys_packagelist’ at /opt/devel/openwrt/c-projects/rpcd/sys.c:244:4:
 /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: ‘__builtin_strncpy’ specified bound 128 equals destination size [-Werror=stringop-truncation]
   106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In function ‘strncpy’,
     inlined from ‘rpc_sys_packagelist’ at /opt/devel/openwrt/c-projects/rpcd/sys.c:227:4:
 /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: ‘__builtin_strncpy’ specified bound 128 equals destination size [-Werror=stringop-truncation]
   106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Since it is not possible to avoid truncation by strncpy, it is necessary
to make sure the result of strncpy is properly NUL-terminated and the
NUL must be inserted explicitly, after strncpy has returned.

References: #10442
Reported-by: Alexey Smirnov <s.alexey@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agofirewall4: update to latest Git HEAD
Jo-Philipp Wich [Wed, 24 Aug 2022 21:04:45 +0000 (23:04 +0200)]
firewall4: update to latest Git HEAD

a4484d4 fw4: support automatic includes
ca7e3a1 fw4: honour enabled option of include sections
5a02f74 tests: add missing fs.stat) mock data for `nf_conntrack_dummy`
111a7f7 fw4: don't inherit zone family from ct helpers

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agorpcd: update to latest Git HEAD
Jo-Philipp Wich [Fri, 12 Aug 2022 19:37:05 +0000 (21:37 +0200)]
rpcd: update to latest Git HEAD

ae5afea ucode: parse ucode plugin scripts in raw mode, init search path

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agouhttpd: update to latest Git HEAD
Jo-Philipp Wich [Fri, 12 Aug 2022 19:24:26 +0000 (21:24 +0200)]
uhttpd: update to latest Git HEAD

e3395cd ucode: initialize search path before VM init
8cb3f85 ucode: initialize default library search path
188dea2 utils: accept '?' as path terminator in uh_path_match()
c5eac5d file: support using dynamic script handlers as error pages
290ff88 relay: trigger close if in header read state with pending data
f9db538 ucode: ignore exit exceptions
8ba0b64 cmake: use variables and find_library for dependency

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoucode: update to latest Git HEAD
Jo-Philipp Wich [Wed, 29 Jun 2022 18:19:35 +0000 (20:19 +0200)]
ucode: update to latest Git HEAD

bcdd2cb examples: add module search path initialization and freeing
ee1946f ubus: fix GCC strncpy() truncation warning
131d99c lib: introduce three new functions call(), loadstring() and loadfile()
8e8dae0 lib: introduce helper function for indenting error messages
476f02b lib: simplify include_path()
d84b53a source: avoid null pointer access in uc_source_runpath_set()
c43a54f types: gracefully handle unpatched upvalues in ucv_free()
e2fb11a README.md: document gc() function
b41cb2d main: introduce -g flag to allow enabling periodic gc from cli
85d7885 lib: implement gc()
47528f0 vm: support automatic periodic GC runs
381cc75 types: treat vm->exports as GC roots
fcc49e6 compiler: add import statement support for dynamic extensions
c9442f1 vm: introduce new I_DYNLOAD opcode
b6fd8a2 lib: internally expose new uc_require_library() helper
a486adc vm: don't treat offset 0 special for exceptions
41ccd19 compiler: don't treat offset 0 special at syntax errors
b4a3f68 compiler: improve formatting of nested syntax error messages
5d5dadc program: remove now unused uc_program_export_lookup()
304995b compiler: rework export index allocation
506cc37 compiler: fix deriving module path from source runpath
54b7fac compiler: enforce stricter module compilation rules
d62e372 vm: don't initialize upvalues for module functions
b856602 program: add serialization and deserialization for module function flag
d7d1bde compiler: add a flag denoting module functions
156d584 treewide: unexport libucode internal functions
10e056d compiler: add support for import/export statements
862e49d compiler: resolve predeclared upvalues
78dfb08 compiler: require a name in function declarations
afd78c1 compiler: fix reported source position in inc/dec operator error
e1c3db0 tests: run_tests.sh: substitute dynamic test directory path in output
3c168b5 vm, cli: move search path into global configuration structure
d85bc71 vm: introduce import and export opcodes
365782e vm: honor constant flag of objects and arrays
6becc64 vm: transparently resolve upvalue references
3418967 vm: gracefully handle unresolved upvalues
50cf572 program: add function to globally lookup exported name
c441f65 program: add infrastructure to handle multiple sources per program
2322468 program: fix reporting source position of first instruction
9c9a9ec program: fix en/decoding debuginfo upvalue slots in precompiled bytecode
41114a0 source: add tracking of exported symbols
70ae304 lib: honor constant flag of arrays
3c104f5 types: resolve upvalue references on stringification
3a6f9cb types: add ability to mark array and object values as constant
b738f3a lexer: recognize module related keywords
03c8e4b lexer: rewrite token scanner
fd433aa lexer: fix parsing with disabled block left stripping
557577a rtnl: fix parsing/creation of IFLA_AF_SPEC RTA for the AF_BRIDGE family
35c6b73 compiler: fix stack mismatch on continue statements nested in switches
f673096 uloop: end uloop on exceptions in managed code
2e5426c ubus: end uloop on exceptions in managed code
c024270 rtnl: expose IFLA_STATS64 contents
d3c58c0 rtnl: expose ifinfomsg.ifi_change member
c4dde50 rtnl: update NETLINK_GET_STRICT_CHK socket flag with every request
7ef0d02 nl80211: fix NL80211_SURVEY_INFO_NOISE datatype
9a2e592 compiler: fix stack mismatch on nonmatching switch statements with locals
03c8ca5 nl80211: recognize further NL80211_STA_INFO_* NLAs
a1ed566 struct: add optional offset argument to `unpack()`
230e595 rtnl: fix segmentation fault on parsing linkinfo RTA without data
523566d rtnl: zero request message headers
56be30d rtnl: fix premature netlink reply receive abort
1347440 rtnl: avoid stray "netlink: %d bytes leftover after parsing attributes."
44b0a3b struct: fix packing `*` format after other repeated formats

Also package uloop binding module which has been introduced by a previous
ucode update and introduce a host build with the basic set of modules.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agokernel: bump 5.15 to 5.15.62
Petr Štetiar [Mon, 22 Aug 2022 12:02:36 +0000 (14:02 +0200)]
kernel: bump 5.15 to 5.15.62

Deleted following upstreamed patches:

 bcm27xx: 950-0006-drm-vc4-hdmi-Fix-HPD-GPIO-detection.patch
 bcm27xx: 950-0420-drm-vc4-Adopt-the-dma-configuration-from-the-HVS-or-.patch
 bcm27xx: 950-0425-drm-vc4-A-present-but-empty-dmas-disables-audio.patch
 bcm27xx: 950-0432-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch
 bcm27xx: 950-0433-vc4-drm-vc4_plane-Remove-subpixel-positioning-check.patch
 bcm27xx: 950-0435-drm-vc4-Correct-pixel-order-for-DSI0.patch
 bcm27xx: 950-0436-drm-vc4-Register-dsi0-as-the-correct-vc4-encoder-typ.patch
 bcm27xx: 950-0437-drm-vc4-Fix-dsi0-interrupt-support.patch
 bcm27xx: 950-0438-drm-vc4-Add-correct-stop-condition-to-vc4_dsi_encode.patch
 bcm27xx: 950-0443-drm-vc4-Fix-timings-for-interlaced-modes.patch
 bcm27xx: 950-0445-drm-vc4-Fix-margin-calculations-for-the-right-bottom.patch
 bcm27xx: 950-0475-drm-vc4-Reset-HDMI-MISC_CONTROL-register.patch
 bcm27xx: 950-0476-drm-vc4-Release-workaround-buffer-and-DMA-in-error-p.patch
 bcm27xx: 950-0477-drm-vc4-Correct-DSI-divider-calculations.patch
 bcm27xx: 950-0664-drm-vc4-dsi-Correct-max-divider-to-255-not-7.patch

 bcm53xx: 072-next-ARM_dts_BCM53015-add-mr26.patch

 mediatek: 920-linux-next-dts-mt7622-bpi-r64-fix-wps-button.patch

Manually rebased following patches:

 bcm27xx: 950-0004-drm-vc4-hdmi-Remove-the-DDC-probing-for-status-detec.patch
 bcm27xx: 950-0700-net-phy-lan87xx-Decrease-phy-polling-rate.patch
 bcm27xx: 950-0711-drm-vc4-Rename-bridge-to-out_bridge.patch
 bcm27xx: 950-0713-drm-vc4-Remove-splitting-the-bridge-chain-from-the-d.patch
 bcm27xx: 950-0715-drm-vc4-Convert-vc4_dsi-to-using-a-bridge-instead-of.patch
 bcm27xx: 950-0787-vc4-drm-vc4_plane-Keep-fractional-source-coords-insi.patch
 bcm27xx: 950-0914-mmc-block-Don-t-do-single-sector-reads-during-recove.patch

Runtime tested on turris-omnia and glinet-b1300.

Tested-by: John Audia <therealgraysky@proton.me> [bcm2711/RPi4B, mt7622/RT3200]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agokernel: bump 5.10 to 5.10.137
Petr Štetiar [Mon, 22 Aug 2022 20:45:53 +0000 (22:45 +0200)]
kernel: bump 5.10 to 5.10.137

Removed following upstreamed patch:

 * bcm53xx: 081-next-ARM_dts_BCM53015-add-mr26.patch

All other patches automagically rebased.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoipq806x: add missing scaling_available_frequencies for dedicated cpufreq
Christian Marangi [Sun, 21 Aug 2022 16:52:52 +0000 (18:52 +0200)]
ipq806x: add missing scaling_available_frequencies for dedicated cpufreq

Add missing scaling_available_frequencies sysfs entry for dedicated
cpufreq driver.
This sysfs entry is not standard and each cpufreq driver needs to
provide it and declare it in the cpufreq driver struct attr.

Fixes: 5dbbefcbccc0 ("ipq806x: introduce dedicated krait cpufreq")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoath79: add support for ZyXEL NWA1100-NH
Sebastian Schaper [Sat, 6 Aug 2022 22:59:06 +0000 (00:59 +0200)]
ath79: add support for ZyXEL NWA1100-NH

Specifications:
 * AR9342, 16 MiB Flash, 64 MiB RAM, 802.11n 2T2R, 2.4 GHz
 * 1x Gigabit Ethernet (AR8035), 802.3af PoE

Installation:
* OEM Web UI is at 192.168.1.2
  login as `admin` with password `1234`
* Flash factory-AASI.bin

The string `AASI` needs to be present within the file name of the uploaded
image to be accepted by the OEM Web-based updater, the factory image is
named accordingly to save the user from the hassle of manual renaming.

TFTP Recovery:
* Open the case, connect to TTL UART port (this is the official method
  described by Zyxel, the reset button is useless during power-on)
* Extract factory image (.tar.bz2), serve `vmlinux_mi124_f1e.lzma.uImage`
  and `mi124_f1e-jffs2` via tftp at 192.168.1.10
* Interrupt uboot countdown, execute commands
  `run lk`
  `run lf`
  to flash the kernel / filesystem accordingly

MAC addresses as verified by OEM firmware:
use   address   source
LAN   *:cc      mib0 0x30 ('eth0mac'), art 0x1002 (label)
2g    *:cd      mib0 0x4b ('wifi0mac')

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
2 years agoath79: add support for ZyXEL NWA1123-AC
Sebastian Schaper [Sat, 27 Mar 2021 23:33:45 +0000 (00:33 +0100)]
ath79: add support for ZyXEL NWA1123-AC

Specifications:
 * AR9342, 16 MiB Flash, 64 MiB RAM, 802.11n 2T2R, 2.4 GHz
 * QCA9882 PCIe card, 802.11ac 2T2R
 * 1x Gigabit Ethernet (AR8035), 802.3af PoE

Installation:
* OEM Web UI is at 192.168.1.2
  login as `admin` with password `1234`
* Flash factory-AAOX.bin

The string `AAOX` needs to be present within the file name of the uploaded
image to be accepted by the OEM Web-based updater, the factory image is
named accordingly to save the user from the hassle of manual renaming.

TFTP Recovery:
* Open the case, connect to TTL UART port (this is the official method
  described by Zyxel, the reset button is useless during power-on)
* Extract factory image (.tar.bz2), serve `vmlinux_mi124_f1e.lzma.uImage`
  and `mi124_f1e-jffs2` via tftp at 192.168.1.10
* Interrupt uboot countdown, execute commands
  `run lk`
  `run lf`
  to flash the kernel / filesystem accordingly

MAC addresses as verified by OEM firmware:
use   address   source
LAN   *:1c      mib0 0x30 ('eth0mac'), art 0x1002 (label)
2g    *:1c      mib0 0x4b ('wifi0mac')
5g    *:1e      mib0 0x66 ('wifi1mac')

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
2 years agoath79: add support for ZyXEL NWA1123-NI
Sebastian Schaper [Sat, 27 Mar 2021 23:32:46 +0000 (00:32 +0100)]
ath79: add support for ZyXEL NWA1123-NI

Specifications:
 * AR9342, 16 MiB Flash, 64 MiB RAM, 802.11n 2T2R, 2.4 GHz
 * AR9382 PCIe card, 802.11n 2T2R, 5 GHz
 * 1x Gigabit Ethernet (AR8035), 802.3af PoE

Installation:
* OEM Web UI is at 192.168.1.2
  login as `admin` with password `1234`
* Flash factory-AAEO.bin

The string `AAEO` needs to be present within the file name of the uploaded
image to be accepted by the OEM Web-based updater, the factory image is
named accordingly to save the user from the hassle of manual renaming.

TFTP Recovery:
* Open the case, connect to TTL UART port (this is the official method
  described by Zyxel, the reset button is useless during power-on)
* Extract factory image (.tar.bz2), serve `vmlinux_mi124_f1e.lzma.uImage`
  and `mi124_f1e-jffs2` via tftp at 192.168.1.10
* Interrupt uboot countdown, execute commands
  `run lk`
  `run lf`
  to flash the kernel / filesystem accordingly

MAC addresses as verified by OEM firmware:
use   address   source
LAN   *:fb      mib0 0x30 ('eth0mac'), art 0x1002 (label)
2g    *:fc      mib0 0x4b ('wifi0mac')
5g    *:fd      mib0 0x66 ('wifi1mac')

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
2 years agoath79: add support for ZyXEL NWA1121-NI
Sebastian Schaper [Wed, 9 Sep 2020 18:42:53 +0000 (20:42 +0200)]
ath79: add support for ZyXEL NWA1121-NI

Specifications:
 * AR9342, 16 MiB Flash, 64 MiB RAM, 802.11n 2T2R, 2.4 GHz
 * 1x Gigabit Ethernet (AR8035), 802.3af PoE

Installation:
* OEM Web UI is at 192.168.1.2
  login as `admin` with password `1234`
* Flash factory-AABJ.bin

The string `AABJ` needs to be present within the file name of the uploaded
image to be accepted by the OEM Web-based updater, the factory image is
named accordingly to save the user from the hassle of manual renaming.

TFTP Recovery:
* Open the case, connect to TTL UART port (this is the official method
  described by Zyxel, the reset button is useless during power-on)
* Extract factory image (.tar.bz2), serve `vmlinux_mi124_f1e.lzma.uImage`
  and `mi124_f1e-jffs2` via tftp at 192.168.1.10
* Interrupt uboot countdown, execute commands
  `run lk`
  `run lf`
  to flash the kernel / filesystem accordingly

MAC addresses as verified by OEM firmware:
use   address   source
LAN   *:cc      mib0 0x30 ('eth0mac'), art 0x1002 (label)
2g    *:cd      mib0 0x4b ('wifi0mac')

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
2 years agotools/cmake: update to 3.24.1
Nick Hainke [Thu, 18 Aug 2022 05:22:52 +0000 (07:22 +0200)]
tools/cmake: update to 3.24.1

Update cmake to newest version.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agotools/isl: update to 0.25
Nick Hainke [Thu, 18 Aug 2022 12:42:01 +0000 (14:42 +0200)]
tools/isl: update to 0.25

Update isl to latest version.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agotools/xz: update to 5.2.6
Nick Hainke [Thu, 18 Aug 2022 12:49:25 +0000 (14:49 +0200)]
tools/xz: update to 5.2.6

This update contains a security fix to xzgrep (CVE-2022-1271,
ZDI-CAN-16587). Release notes:
https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoramips: mt7621-dts: mux phy0/4 to gmac1
Arınç ÜNAL [Tue, 5 Jul 2022 22:20:32 +0000 (01:20 +0300)]
ramips: mt7621-dts: mux phy0/4 to gmac1

Mux the MT7530 switch's phy0/4 to the SoC's gmac1 on devices where RGMII2
pins are available. This achieves 2 Gbps total bandwidth to the CPU using
the second RGMII.

The ports called "wan" are muxed where possible. On a minority of devices,
this is not possible. Those cases:

mt7621_ampedwireless_ally-r1900k.dts: lan3
mt7621_ubnt_edgerouter-x.dts: eth0
mt7621_gnubee_gb-pc1.dts: ethblue
mt7621_linksys_re6500.dts: lan1
mt7621_netgear_wac104.dts: lan4
mt7621_tplink_eap235-wall-v1.dts: lan0
mt7621_tplink_eap615-wall-v1.dts: lan0
mt7621_ubnt_usw-flex.dts: lan1

The "wan" port is just what the vendor designated on the board/plastic
chasis of the device. On a technical level, there is no difference between
a lan and wan port on MT7621AT, MT7621DAT and MT7621ST SoCs. Prefer
connecting to WAN via the port described above for these devices to benefit
the feature brought with this patch.

mt7621_d-team_newifi-d2.dts cannot benefit this feature, although it looks
like it should, because the rgmii2 pins are wired to unused components.

Tested on a range of devices documented on the GitHub PR.

Link: https://github.com/openwrt/openwrt/pull/10238
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2 years agoramips: mt7621-dts: remove DTS_LEGACY from ethernet node
Arınç ÜNAL [Tue, 5 Jul 2022 14:34:11 +0000 (17:34 +0300)]
ramips: mt7621-dts: remove DTS_LEGACY from ethernet node

Remove DTS_LEGACY put for claiming pin groups for the ethernet node from
the ethernet node. It's not an old kernel trait. These bindings need to be
there on the newer kernels as well.

Fixes: a3764ee29dd0 ("ramips: add linux 5.15 support for mt7621")
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2 years agoramips: mt7621-dts: do not claim rgmii2 group as gpio for certain devices
Arınç ÜNAL [Sun, 14 Aug 2022 07:44:12 +0000 (10:44 +0300)]
ramips: mt7621-dts: do not claim rgmii2 group as gpio for certain devices

These devices do not use rgmii2 as gpio, therefore remove rgmii2 pin group
from state-default. Remove overwriting the ethernet node for these devices.

Move claiming the rgmii2 group from mt7621_zyxel_nwa-ax.dtsi to
mt7621_zyxel_nwa50ax.dts as it's only the latter using rgmii2 pins as gpio.

Remove duplicate ethernet overwrite from mt7621_tplink_archer-x6-v3.dtsi.

Claim rgmii2 group as gpio on mt7621_bolt_arion.dts as it uses an rgmii2
pin, 26, as gpio.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2 years agoramips: fix GB-PC1 and GB-PC2 device support
Arınç ÜNAL [Tue, 5 Jul 2022 14:10:43 +0000 (17:10 +0300)]
ramips: fix GB-PC1 and GB-PC2 device support

Change switch port labels to ethblack & ethblue.
Change lan1 & lan2 LEDs to ethblack_act & ethblue_act and fix GPIO pins.
Add the external phy with ethyellow label on the GB-PC2 devicetree.
Do not claim rgmii2 as gpio, it's used for ethernet with rgmii2 function.
Enable ICPlus PHY driver for IP1001 which GB-PC2 has got.
Update interface name and change netdev function.
Enable lzma compression to make up for the increased size of the kernel.
Make spi flash bindings on par with mainline Linux to fix read errors.

Tested on GB-PC2 by Petr.

Tested-by: Petr Louda <petr.louda@outlook.cz>
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2 years agohostapd: fix WPA3 enterprise keys and ciphers
Joerg Werner [Sun, 26 Jun 2022 15:18:39 +0000 (17:18 +0200)]
hostapd: fix WPA3 enterprise keys and ciphers

WPA3 enterprise requires group_mgmt_cipher=BIP-GMAC-256 and if 802.11r is
active also wpa_key_mgmt FT-EAP-SHA384. This commit also requires
corresponding changes in netifd.

Signed-off-by: Joerg Werner <schreibubi@gmail.com>
2 years agonetifd: update to git HEAD
Hauke Mehrtens [Sat, 20 Aug 2022 20:52:49 +0000 (22:52 +0200)]
netifd: update to git HEAD

87fbefd interface: support "zone" config option
bfa039c netifd: fix WPA3 enterprise ciphers

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoiwinfo: update to latest HEAD
Hauke Mehrtens [Sat, 20 Aug 2022 20:51:29 +0000 (22:51 +0200)]
iwinfo: update to latest HEAD

0dad3e6 Add support for CCMP-256 and GCMP-256 ciphers

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agobuild: always set CONFIG_IPV6
Thibaut VARÈNE [Tue, 16 Aug 2022 17:00:47 +0000 (19:00 +0200)]
build: always set CONFIG_IPV6

Disabling this build tunable breaks build and seems unrealistically
likely to be fixed.

This patch sets the related CONFIG to always true and removes the
config prompt, keeping the change minimal, and, should !CONFIG_IPV6 ever
be fixed, easy to revert.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Acked-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Paul Spooren <mail@aparcar.org>
Acked-by: Josef.Schlehofer <pepe.schlehofer@gmail.com>
Acked-by: Jo-Philipp Wich <jo@mein.io>
2 years agomac80211: parse the correct set of HE capabilities for AP mode
Sultan Alsawaf [Fri, 22 Jul 2022 06:36:31 +0000 (23:36 -0700)]
mac80211: parse the correct set of HE capabilities for AP mode

It is common for 802.11ax NICs to support more than just AP mode, which
results in there being a distinct set of HE capabilities for each mode. As
(bad) luck would have it, iw prints out info for each HE mode in sequential
order according to `enum nl80211_iftype`, and AP mode isn't always first.

As a result, the wrong set of HE capabilities can be parsed if an AP NIC
supports station (managed) mode or any other mode preceding AP mode, since
only the first set of HE capabilities printed by iw is parsed from awk's
output.

This has a noticeable impact on beamforming for example, since managed mode
usually doesn't have beamformer capabilities enabled, while AP mode does.
Hostapd won't be set up with the configs to enable beamformer capabilities
in this scenario, causing hostapd to disable beamforming to HE stations
even when it's supported by the AP.

Always parse the correct set of HE capabilities for AP mode to fix this.
This is achieved by trimming all of iw's output prior to the AP mode
capabilities, which ensures that the first set of HE capabilities are
always for AP mode.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
2 years agorealtek: more generic platform initialization
Markus Stockhausen [Fri, 19 Aug 2022 19:08:42 +0000 (21:08 +0200)]
realtek: more generic platform initialization

Platform startup still "guesses" the CPU clock speed by DT fixed values.
If possible take clock rates from a to be developed driver and align to
MIPS generic platfom initialization code. Pack old behaviour into a
fallback function. We might get rid of that some day.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2 years agorealtek: d-link: add support for dgs-1210-10mp
Daniel Groth [Fri, 12 Aug 2022 18:11:54 +0000 (20:11 +0200)]
realtek: d-link: add support for dgs-1210-10mp

General hardware info:
-------------------------------------------------------------------------------

D-Link DGS-1210-10MP is a switch with 8 ethernet ports and 2 SFP ports, all
ports Gbit capable. It is based on a RTL8380 SoC @ 500MHz, DRAM 128MB and
32MB flash. All ethernet ports are 802.3af/at PoE capable
with a total PoE power budget of 130W.

File info:
-------------------------------------------------------------------------------
The dgs-1210-10mp is very similar to dgs-1210-10p so I used that as a start.

rtl838x.mk:
 - Removed lua-rs232 package since it was a leftover from the old rtl83xx-poe
   package.
 - Updated the soc to 8380.
 - Specified device variant: F.
 - Installed the new realtek-poe package.

rtl8380_d-link_dgs-1210-10mp.dts:
 - Moved dgs-1210 family common parts and non PoE related ports on rtl8231
   to the new device tree dtsi files.

Serial connection:
-------------------------------------------------------------------------------
The UART for the SoC (115200 8N1) is available close to the front panel next
to the LED/key card connector via unpopulated standard 0.1" pin header
marked j4. Pin1 is marked with arrow and square.

Pin 1: Vcc 3,3V
Pin 2: Tx
Pin 3: Rx
Pin 4: Gnd

Installation with TFTP from u-boot
-------------------------------------------------------------------------------
I originally used the install procedure:
'OpenWrt installation using the TFTP method and serial console access' found
in the device wiki for the dgs-1210-16.
< https://openwrt.org/toh/d-link/dgs-1210-16_g1#openwrt_installation_using
_the_tftp_method_and_serial_console_access >

About the realtek-poe package
-------------------------------------------------------------------------------
The realtek-poe package is installed but there isn't any automatic PoE config
setting at this time so for now the PoE config must be edited manually.

Original OEM hardware/firmware data at first installation
-------------------------------------------------------------------------------
It has been installed, developed, and tested on a device with these OEM
hardware and firmware versions.

- U-boot: 2011.12.(2.1.5.67086)-Candidate1 (Jun 22 2020 - 15:03:58)
- Boot version: 1.01.001
- Firmware version: 6.20.007
- Hardware version: F1

Things to be done when support are developed
-------------------------------------------------------------------------------
 - realtek-poe has been included in OpenWrt but the automatic config handling
   has not been solved yet so in the future there will probably be some minor
   updates for this device to handle the poe config.
 - LED link_act and poe are per function supposed to be connected to the PoE
   system.
   But some software development is also needed to make this LED work and
   shift the LED array between act and poe indication and to shift the mode
   lights with mode key.
 - LED poe_max should probably be used as straight forward error output from
   the realtek-poe package error handling. But no code has been written for
   this.
 - SFP is currently not hot pluggable. Development is under progress to get
   working I2C communication with SFP and have them hot pluggable.
   When any device in the dgs-1210 family gets this working, I expect it
   should be possible to implement the same solution in this device.

Signed-off-by: Daniel Groth <flygarn12@gmail.com>
[Capitalisation of abbreviations, DEVICE_VARIANT and update filenames,
device compatibles on single line]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: d-link: dgs-1210 remake of the device tree
Daniel Groth [Fri, 12 Aug 2022 18:10:20 +0000 (20:10 +0200)]
realtek: d-link: dgs-1210 remake of the device tree

I have collected the known information from the dts files we have.
After that I made a new device tree that should work for this whole D-Link
switch family.
This device tree is based on modules where you first select which SoC group
the device belongs to. Then you include the GPIO dtsi file depending on what
hardware your device has, see examples below.
This tree is also expandable for more hardware,
see the part 'Future expansion possibilities' further down.

-------------------------------------------------------------------------------
The device tree now looks like this:
                            ----------------
                            | rtl838x.dtsi |    // Note 1.
                            ----------------
                                    |
                                    |
                    ---------------------------------------
                    | rtl838x_d-link_dgs-1210_common.dtsi | // Note 2.
                    ---------------------------------------
                                |
                                |       --------------
                                |-------| device.dts |      // Note 3.
                                |       --------------
                                |
                -------------------------------------
                | rtl83xx_d-link_dgs-1210_gpio.dtsi |       // Note 4.
                -------------------------------------
                                |
                                |       --------------
                                |-------| device.dts |      // Note 5.
                                        --------------

Note 1; Included in rtl838x_d-link_dgs-1210_common.dtsi.

Note 2; SoC level information and memory mapping. Choose which one to include
in the device dts.

Note 3; At this point dgs-1210-16 will come out here.

Note 4; In this dtsi only common board hardware based on the rtl8231 is found.
No PoE based hardware in this dtsi.
In this dtsi there is no <#include> to above *_common.dtsi.

Note 5; Device dts with only rtl8231 based hardware without PoE will come out
here.

-------------------------------------------------------------------------------
How to set up in dts file:

The device dts will have one of these two <#include> alternatives.

This alternative includes only common features:
<#include "rtl838x_d-link_dgs-1210_common.dtsi">

This alternative includes common and the rtl8231 GPIO (no PoE) features:

<#include "rtl838x_d-link_dgs-1210_common.dtsi">
<#include "rtl83xx_d-link_dgs-1210_gpio.dtsi">

-------------------------------------------------------------------------------
Implementation:

Finally, I also implemented this new family device tree on the current
supported devices:
dgs-1210-10p
dgs-1210-16
dgs-1210-20
dgs-1210-28

The implementation for the dgs-1210-10p is different. I have removed the
information from the rtl8382_d-link_dgs-1210-10p.dts that is already present
in rtl838x_d-link_dgs-1210_common.dtsi.
Since the rest isn't officially probed in the device dts I do not want to
include the rtl83xx_d-link_dgs-1210_gpio.dtsi with dgs-1210-10p.dts.

Since I don't have these devices to test on I have built the original firmware
for each one of these devices before this change and saved the dtb file and
then compared the original dtb file with the dtb file built with this new
device tree.

-------------------------------------------------------------------------------
Future expansion possibilities:

In parallel with the rtl838x_d-link_dgs-1210_common.dtsi in the tree map
we can make a rtl839x_d-link_dgs-1210_common.dtsi to use the rtl839x.dtsi if
the need arises with more devices based on rtl839x soc.

When we have more PoE devices so the hardware map for these gets more clear
we can make a rtl83xx_d-link_dgs-1210_poe.dtsi below
the rtl83xx_d-link_dgs-1210_gpio.dtsi in the tree map.

I looked at the port and switch setup to see if it could be moved to the dtsi.
I decided not to touch this part now. The reason was that there isn't really
any meaningful way this could be shared between the devices.
The only thing in common over the family is the 8+2sfp ports on the
dgs-1210-10xx device.
And then there is the hot plug SFP and I2C ports that aren’t implemented
on any device. So maybe when we see the whole port map for the family
then maybe the ports can be moved to a *_common.dtsi but I don't think it is
the right moment for that now.

Signed-off-by: Daniel Groth <flygarn12@gmail.com>
[Capitalisation of abbreviations and 'D-Link']
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agouencrypt: support all available ciphers
Nick French [Sat, 13 Aug 2022 15:23:58 +0000 (10:23 -0500)]
uencrypt: support all available ciphers

Modify uencrypt to support any cipher provided by ssl library.

Original tool supported only AES-128-CBC to decrypt the config
mtd of Arcadyan WG430223/WG443223.

TP-Link Deco S4 has mtd configuration encrypted with DES-ECB,
so make the cipher generic to support both routers.

Signed-off-by: Nick French <nickfrench@gmail.com>
Reviewed-by: Eneas U de Queiroz >cotequeiroz@gmail.com>
2 years agoramips: get MAC addr from the encrypted partition (WG4хх223)
Mikhail Zhilkin [Sat, 9 Jul 2022 17:09:57 +0000 (17:09 +0000)]
ramips: get MAC addr from the encrypted partition (WG4хх223)

This commit resolves #10062. Adds decryption of the Arcadyan WG4xx223
configuration partition (board_data)to get base MAC address from it.
As a result, after this change the hack with saving MAC addressees to
u-boot-env before installation of OpenWrt is no longer necessary.

This is necessary for the following devices:
- Beeline Smartbox Flash (Arcadyan WG443223)
- MTS WG430223 (Arcadyan WG430223)

Example:
+----------------+-------------------+------------------------+
|                |    MTS WG430223   | Beeline Smartbox Flash |
+----------------+-------------------+------------------------+
| base mac (mtd) | A4:xx:xx:51:xx:F4 | 30:xx:xx:51:xx:06      |
| label          | A4:xx:xx:51:xx:F4 | 30:xx:xx:51:xx:09      |
| LAN            | A4:xx:xx:51:xx:F6 | 30:xx:xx:51:xx:09      |
| WAN            | A4:xx:xx:51:xx:F4 | 30:xx:xx:51:xx:06      |
| WLAN_2g        | A4:xx:xx:51:xx:F5 | 30:xx:xx:51:xx:07      |
| WLAN_5g        | A6:xx:xx:21:xx:F5 | 32:xx:xx:41:xx:07      |
+----------------+-------------------+------------------------+

Collected statistic shows that the 2-4th bits of the 7th byte of the
WLAN_5g MAC are the constant (see #10062 for more details):
- Beeline Smartbox Flash - 100
- MTS WG430223 - 010

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2 years agobase-files: add mtd_get_mac_encrypted_arcadyan function
Mikhail Zhilkin [Tue, 12 Jul 2022 14:52:04 +0000 (14:52 +0000)]
base-files: add mtd_get_mac_encrypted_arcadyan function

Some Arcadyan devices (e.g. MTS WG430223) keep their config in encrypted
mtd. This adds mtd_get_mac_encrypted_arcadyan() function to get the MAC
address from the encrypted partition. Function uses uencrypt utility for
decryption (and openssl if the uencrypt wasn't found).

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2 years agoramips: fix ZyXEL NWA55AXE model name
David Bauer [Thu, 18 Aug 2022 16:02:48 +0000 (18:02 +0200)]
ramips: fix ZyXEL NWA55AXE model name

The model name was missing a letter.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoiproute2: Fix KERNEL_INCLUDE in SDK
Hauke Mehrtens [Tue, 16 Aug 2022 21:38:52 +0000 (23:38 +0200)]
iproute2: Fix KERNEL_INCLUDE in SDK

In the SDK the folder $(LINUX_DIR)/user_headers/include does not exist,
but it more or less contains the same content as
$(LINUX_DIR)/include/uapi which also exists in the SDK.

Since iproute2 commit 1d819dcc741e ("configure: fix parsing issue on
include_dir option") it checks if this folder exists and aborts the
build if it does not exists.
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=1d819dcc741e25958190e31f8186c940713fa0a8

With this commit the KERNEL_INCLUDE variable points to a valid folder
with the kernel include headers. I am not sure if they are actually
needed because the build worked before even with an invalid path.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agobcm4908: enable NVMEM U-Boot env data driver
Rafał Miłecki [Wed, 17 Aug 2022 20:45:11 +0000 (22:45 +0200)]
bcm4908: enable NVMEM U-Boot env data driver

It's needed for devices with U-Boot bootloader.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agokernel: add CONFIG_NVMEM_U_BOOT_ENV symbol to configs
Rafał Miłecki [Wed, 17 Aug 2022 20:40:30 +0000 (22:40 +0200)]
kernel: add CONFIG_NVMEM_U_BOOT_ENV symbol to configs

This fixes:
  U-Boot environment variables support (NVMEM_U_BOOT_ENV) [N/m/y/?] (NEW)

Fixes: 34cf310435044 ("kernel: backport U-Boot environment data NVMEM driver")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agokernel: backport U-Boot environment data NVMEM driver
Rafał Miłecki [Wed, 17 Aug 2022 18:44:52 +0000 (20:44 +0200)]
kernel: backport U-Boot environment data NVMEM driver

It parses U-Boot env data into NVMEM cells.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agokernel: rename 5.20 patches to 6.0
Rafał Miłecki [Wed, 17 Aug 2022 09:04:29 +0000 (11:04 +0200)]
kernel: rename 5.20 patches to 6.0

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agomvebu: leds: Turris Omnia improvements
Josef Schlehofer [Tue, 26 Jul 2022 12:32:37 +0000 (14:32 +0200)]
mvebu: leds: Turris Omnia improvements

It backports this patch series, which is currently on review:
https://lore.kernel.org/linux-leds/20220704105955.15474-1-kabel@kernel.org/T/#rb89a4ca5a836f17bdcc53d65549e0b1779bb6a18

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agomvebu: backport pending DTS changes for Turris Omnia
Josef Schlehofer [Tue, 26 Jul 2022 12:31:26 +0000 (14:31 +0200)]
mvebu: backport pending DTS changes for Turris Omnia

Backport pending patches:
- https://lore.kernel.org/linux-arm-kernel/20220704113622.18887-1-kabel@kernel.org/
- https://lore.kernel.org/linux-arm-kernel/20220704113622.18887-2-kabel@kernel.org/

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agomvebu: refresh the 5.15 kconfigs
Rui Salvaterra [Sun, 10 Apr 2022 20:29:08 +0000 (21:29 +0100)]
mvebu: refresh the 5.15 kconfigs

Clean them up.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agomvebu: add Linux 5.15 as testing kernel
Rui Salvaterra [Mon, 4 Apr 2022 15:06:16 +0000 (16:06 +0100)]
mvebu: add Linux 5.15 as testing kernel

Run-tested on the cortexa9 subtarget (Turris Omnia).

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agomvebu: update the kconfigs for 5.15
Rui Salvaterra [Mon, 4 Apr 2022 14:58:47 +0000 (15:58 +0100)]
mvebu: update the kconfigs for 5.15

And remove irrelevant stuff while at it.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agomvebu: copy 5.10 kconfigs to 5.15
Rui Salvaterra [Mon, 4 Apr 2022 14:54:26 +0000 (15:54 +0100)]
mvebu: copy 5.10 kconfigs to 5.15

Will be refreshed/updated later.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agomvebu: refresh 5.15 patches
Rui Salvaterra [Sun, 10 Apr 2022 11:42:32 +0000 (12:42 +0100)]
mvebu: refresh 5.15 patches

Deleted (upstreamed):
303-linksys_hardcode_nand_ecc_settings.patch [1]

Deleted (not needed):
314-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch [2]

Manually rebased:
700-mvneta-tx-queue-workaround.patch

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4daff3e5b42422cd4af758cc7768223d2b7f6e14
[2] https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=7f73acade0cde61341cb77e0dc74de51ac059d4f

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agomvebu: remove all ≤ 5.15-tagged patches
Rui Salvaterra [Mon, 4 Apr 2022 14:49:30 +0000 (15:49 +0100)]
mvebu: remove all ≤ 5.15-tagged patches

They're already upstream.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agomvebu: copy 5.10 patches to 5.15
Rui Salvaterra [Mon, 4 Apr 2022 14:47:03 +0000 (15:47 +0100)]
mvebu: copy 5.10 patches to 5.15

Linux 5.15 on Marvell EBU, here we go!

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agotoolchain: glibc: Increase min kernel version to 5.10
Hauke Mehrtens [Sat, 6 Aug 2022 23:09:42 +0000 (01:09 +0200)]
toolchain: glibc: Increase min kernel version to 5.10

This removes all compatibility code normally compiled into glibc for
kernel < 5.10 from our build. The build glibc version will only work
with Linux kernel >= 5.10.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agotoolchain: glibc: Update to glibc 2.35
Hauke Mehrtens [Sat, 6 Aug 2022 21:56:38 +0000 (23:56 +0200)]
toolchain: glibc: Update to glibc 2.35

This updates to glibc to version 2.35.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agohostapd: add mbo flag to get_clients ubus method
Stijn Tintel [Thu, 11 Aug 2022 09:46:23 +0000 (12:46 +0300)]
hostapd: add mbo flag to get_clients ubus method

There is no WLAN_STA_MBO flag, but according to the hostapd source code,
when an STA does not support MBO, cell_capa will be 0. Use this to
indicate MBO support in the get_clients ubus method.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Reviewed-by: David Bauer <mail@david-bauer.net>
2 years agokernel: extract kmod-sched-act-ipt from kmod-sched
Stijn Tintel [Thu, 21 Jul 2022 16:26:56 +0000 (18:26 +0200)]
kernel: extract kmod-sched-act-ipt from kmod-sched

There is only one module in kmod-sched that depends on iptables. Move it
to its own kmod package so we can drop the kmod-ipt-core dependency from
kmod-sched. This makes it possible to disable all kmod-ipt-* packages
without having to disable kmod-sched. Since we now default to firewall4
and nftables, we should avoid iptables dependencies where we can.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoRevert "binutils: update to 2.39"
Hauke Mehrtens [Sun, 14 Aug 2022 21:36:58 +0000 (23:36 +0200)]
Revert "binutils: update to 2.39"

This reverts commit cc24c4ed5eae66c061e5787bb172fd2a91861f25.

binutils does not compile with glibc:
Package binutils is missing dependencies for the following libraries:
libgprofng.so.0
libmsgpackc.so.2
libstdc++.so.6

libbpf does not compile against binutils 2.39 any more, see:
https://github.com/libbpf/bpftool/issues/30

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agofstools: update to git HEAD
Hauke Mehrtens [Sat, 13 Aug 2022 12:21:00 +0000 (14:21 +0200)]
fstools: update to git HEAD

8c213b0 libfstools: Rename move_mount() function to ovl_move_mount() for glibc 2.36
81785c1 block: Do not include linux/fs.h any more

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agotoolchain: Update glibc 2.34 to recent HEAD
Hauke Mehrtens [Sat, 6 Aug 2022 21:12:56 +0000 (23:12 +0200)]
toolchain: Update glibc 2.34 to recent HEAD

This adds the following changes:
71326f1f2f nptl: Fix pthread_cancel cancelhandling atomic operations
3e0a91b79b scripts: Add glibcelf.py module
f0c71b34f9 Default to --with-default-link=no (bug 25812)
ca0faa140f misc: Fix rare fortify crash on wchar funcs. [BZ 29030]
0d477e92c4 INSTALL: Rephrase -with-default-link documentation
bc56ab1f4a dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078)
83cc145830 scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier
16245986fb x86-64: Optimize load of all bits set into ZMM register [BZ #28252]
b5a44a6a47 x86: Modify ENTRY in sysdep.h so that p2align can be specified
5ec3416853 x86: Optimize memcmp-evex-movbe.S for frontend behavior and size
6d18a93dbb x86: Optimize memset-vec-unaligned-erms.S
baf3ece634 x86: Replace sse2 instructions with avx in memcmp-evex-movbe.S
f35ad30da4 x86-64: Improve EVEX strcmp with masked load
a182bb7a39 x86-64: Remove Prefer_AVX2_STRCMP
2e64237a87 x86-64: Replace movzx with movzbl
a7392db2ff x86: Optimize memmove-vec-unaligned-erms.S
cecbac5212 x86: Double size of ERMS rep_movsb_threshold in dl-cacheinfo.h
7cb126e7e7 x86: Shrink memcmp-sse4.S code size
4bbd0f866a x86-64: Use notl in EVEX strcmp [BZ #28646]
f3a99b2216 x86: Don't set Prefer_No_AVX512 for processors with AVX512 and AVX-VNNI
c796418d00 x86: Optimize L(less_vec) case in memcmp-evex-movbe.S
9681691402 linux: Fix missing internal 64 bit time_t stat usage
55640ed3fd i386: Regenerate ulps
88a8637cb4 linux: Fix fchmodat with AT_SYMLINK_NOFOLLOW for 64 bit time_t (BZ#29097)
c66c92181d posix/glob.c: update from gnulib
bc6fba3c80 Add PF_MCTP, AF_MCTP from Linux 5.15 to bits/socket.h
fd5dbfd1cd Update kernel version to 5.15 in tst-mman-consts.py
5146b73d72 Add ARPHRD_CAN, ARPHRD_MCTP to net/if_arp.h
6af165658d Update syscall lists for Linux 5.17
81181ba5d9 Update kernel version to 5.16 in tst-mman-consts.py
0499c3a95f Update kernel version to 5.17 in tst-mman-consts.py
f858bc3093 Add SOL_MPTCP, SOL_MCTP from Linux 5.16 to bits/socket.h
c108e87026 aarch64: Add HWCAP2_ECV from Linux 5.16
97cb8227b8 Add HWCAP2_AFP, HWCAP2_RPRES from Linux 5.17 to AArch64 bits/hwcap.h
31af92b9c8 manual: Clarify that abbreviations of long options are allowed
0d5b36c8cc x86: Optimize strcmp-avx2.S
c41a66767d x86: Optimize strcmp-evex.S
d299032743 x86-64: Fix strcmp-avx2.S
53ddafe917 x86-64: Fix strcmp-evex.S
ea19c490a3 x86: Improve vec generation in memset-vec-unaligned-erms.S
190ea5f7e4 x86: Remove SSSE3 instruction for broadcast in memset.S (SSE2 Only)
5cb6329652 x86-64: Optimize bzero
70509f9b48 x86: Set .text section in memset-vec-unaligned-erms
5373c90f2e x86: Fix bug in strncmp-evex and strncmp-avx2 [BZ #28895]
e123f08ad5 x86: Fix fallback for wcsncmp_avx2 in strcmp-avx2.S [BZ #28896]
e4a2fb76ef manual: Document the dlinfo function
91c2e6c3db dlfcn: Implement the RTLD_DI_PHDR request type for dlinfo
b72bbba236 fortify: Ensure that __glibc_fortify condition is a constant [BZ #29141]
8de6e4a199 x86: Improve L to support L(XXX_SYMBOL (YYY, ZZZ))
6cba46c858 x86_64/multiarch: Sort sysdep_routines and put one entry per line
37f373e334 x86-64: Remove bzero weak alias in SS2 memset
dd457606ca x86_64: Remove bcopy optimizations
3c55c20756 x86: Code cleanup in strchr-avx2 and comment justifying branch
dd6d3a0bbc x86: Code cleanup in strchr-evex and comment justifying branch
0ae1006967 x86: Optimize strcspn and strpbrk in strcspn-c.c
0a2da01110 x86: Optimize strspn in strspn-c.c
0dafa75e3c x86: Remove strcspn-sse2.S and use the generic implementation
3811544655 x86: Remove strpbrk-sse2.S and use the generic implementation
a4b1cae068 x86: Remove strspn-sse2.S and use the generic implementation
5997011826 x86: Optimize str{n}casecmp TOLOWER logic in strcmp.S
3605c74407 x86: Optimize str{n}casecmp TOLOWER logic in strcmp-sse42.S
3051cf3e74 x86: Add AVX2 optimized str{n}casecmp
b13a2e68eb x86: Add EVEX optimized str{n}casecmp
80883f4354 x86: Remove AVX str{n}casecmp
4ff6ae069b x86: Small improvements for wcslen
ffe75982cc x86: Remove memcmp-sse4.S
df5de87260 x86: Cleanup page cross code in memcmp-avx2-movbe.S
0a11305416 x86: Optimize {str|wcs}rchr-sse2
00f09a14d2 x86: Optimize {str|wcs}rchr-avx2
596c9a32cc x86: Optimize {str|wcs}rchr-evex
1f83d40dfa elf: Remove unused NEED_DL_BASE_ADDR and _dl_base_addr
b0bd6a1323 elf: Merge dl-sysdep.c into the Linux version
2139b1848e Linux: Remove HAVE_AUX_SECURE, HAVE_AUX_XID, HAVE_AUX_PAGESIZE
458733fffe Linux: Remove DL_FIND_ARG_COMPONENTS
08728256fa Linux: Assume that NEED_DL_SYSINFO_DSO is always defined
4b9cd5465d Linux: Consolidate auxiliary vector parsing
1cc4ddfeeb Revert "Linux: Consolidate auxiliary vector parsing"
28bdb03b1b Linux: Include <dl-auxv.h> in dl-sysdep.c only for SHARED
ff900fad89 Linux: Consolidate auxiliary vector parsing (redo)
be9240c84c elf: Remove __libc_init_secure
1e7b011f87 i386: Remove OPTIMIZE_FOR_GCC_5 from Linux libc-do-syscall.S
1a5b9d1a23 i386: Honor I386_USE_SYSENTER for 6-argument Linux system calls
b38c9cdb58 Linux: Define MMAP_CALL_INTERNAL
b2387bea84 ia64: Always define IA64_USE_NEW_STUB as a flag macro
e7ca2a475c Linux: Implement a useful version of _startup_fatal
43d77ef9b8 Linux: Introduce __brk_call for invoking the brk system call
ede8d94d15 csu: Implement and use _dl_early_allocate during static startup
89b638f48a S390: Enable static PIE
c73c79af7d rtld: Use generic argv adjustment in ld.so [BZ #23293]
b2585cae28 linux: Add a getauxval test [BZ #23293]
14770f3e04 string.h: fix __fortified_attr_access macro call [BZ #29162]
83ae8287c1 x86: Fallback {str|wcs}cmp RTM in the ncmp overflow case [BZ #29127]
ff450cdbde Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose
b349fe0722 misc: Use 64 bit stat for daemon (BZ# 29203)
aa8a87f51d misc: Use 64 bit stat for getusershell (BZ# 29204)
9db6a597ef posix: Use 64 bit stat for posix_fallocate fallback (BZ# 29207)
f9c3e57ac2 posix: Use 64 bit stat for fpathconf (_PC_ASYNC_IO) (BZ# 29208)
61fd3e0e74 socket: Use 64 bit stat for isfdtype (BZ# 29209)
34422108f4 inet: Use 64 bit stat for ruserpass (BZ# 29210)
52431199b5 catgets: Use 64 bit stat for __open_catalog (BZ# 29211)
b3f935940e iconv: Use 64 bit stat for gconv_parseconfdir (BZ# 29213)
9947f2df19 socket: Fix mistyped define statement in socket/sys/socket.h (BZ #29225)
4c92a10412 powerpc: Fix VSX register number on __strncpy_power9 [BZ #29197]
a7ec6363a3 nptl: Fix __libc_cleanup_pop_restore asynchronous restore (BZ#29214)
96944f0f81 hppa: Remove _dl_skip_args usage (BZ# 29165)
bb4148283f nios2: Remove _dl_skip_args usage (BZ# 29187)
368c5c3e00 nss: add assert to DB_LOOKUP_FCT (BZ #28752)
94ab2088c3 nss: handle stat failure in check_reload_and_get (BZ #28752)
4b246b2bbd linux: Fix mq_timereceive check for 32 bit fallback code (BZ 29304)
7789a84923 nptl: Fix ___pthread_unregister_cancel_restore asynchronous restore
8d324019e6 x86_64: Remove end of line trailing spaces
eb9aa96fac x86_64: Remove bzero optimization
8ab861d295 x86_64: Implement evex512 version of strlen, strnlen, wcslen and wcsnlen
f6bc52f080 x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT
82a707aeb7 x86_64: Add strstr function with 512-bit EVEX
70be93d1c5 x86: Create header for VEC classes in x86 strings library
e805606193 x86: Add COND_VZEROUPPER that can replace vzeroupper if no `ret`
4901009dad x86: Optimize memrchr-sse2.S
83a986e9fb x86: Optimize memrchr-evex.S
b05bd59823 x86: Optimize memrchr-avx2.S
a910d7e164 x86: Shrink code size of memchr-avx2.S
3c87383a20 x86: Shrink code size of memchr-evex.S
820504e3ed x86: ZERO_UPPER_VEC_REGISTERS_RETURN_XTEST expect no transactions
fc54e1fae8 x86: Align varshift table to 32-bytes
6e008c884d x86: Fix misordered logic for setting `rep_movsb_stop_threshold`
9d50e162ee x86: Add sse42 implementation to strcmp's ifunc
94b0dc9419 x86: Add bounds `x86_non_temporal_threshold`
ba1c3f23d9 x86: Cleanup bounds checking in large memcpy case
c51d8d383c x86: Add BMI1/BMI2 checks for ISA_V3 check
d201c59177 x86: Align entry for memrchr to 64-bytes.
aadd0a1c7c x86: Put wcs{n}len-sse4.1 in the sse4.1 text section
f4598f0351 x86: Add definition for __wmemset_chk AVX2 RTM in ifunc impl list
7079931c51 x86: Move and slightly improve memset_erms
35f9c72c8b x86: Move mem{p}{mov|cpy}_{chk_}erms to its own file
ccc54bd61c x86: Add missing IS_IN (libc) check to strncmp-sse4_2.S
b991af5063 Update syscall-names.list for Linux 5.18
b2f32e7464 malloc: Simplify implementation of __malloc_assert
875b2414cd dlfcn: Pass caller pointer to static dlopen implementation (bug 29446)
4ab59ce4e5 Update syscall lists for Linux 5.19

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agokernel: kmod-hwmon-tps23861: Add missing dependency to kmod-regmap-i2c
Hauke Mehrtens [Sat, 13 Aug 2022 19:44:24 +0000 (21:44 +0200)]
kernel: kmod-hwmon-tps23861: Add missing dependency to kmod-regmap-i2c

This fixes the following build error:
Package kmod-hwmon-tps23861 is missing dependencies for the following libraries:
regmap-i2c.ko

Fixes: b664646db74a ("kernel: add kmod-hwmon-tps23861 support")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agobuild: add support for python3.11 and higher
Oscar Molnar [Sat, 6 Aug 2022 15:13:41 +0000 (16:13 +0100)]
build: add support for python3.11 and higher

python3.11 beta is out but fails to run the makefile currently
this supports python versions from 3.6 to 3.99 with the python3 binary
it also checks specifically for 3.11 as it is the latest version out

Signed-off-by: Oscar Molnar <oscar@tymscar.com>
2 years agokernel: remove CONFIG_MMC_BLOCK_BOUNCE
Tomas Lara [Sun, 7 Aug 2022 00:13:07 +0000 (20:13 -0400)]
kernel: remove CONFIG_MMC_BLOCK_BOUNCE

 CONFIG_MMC_BLOCK_BOUNCE was removed in kernel v4.13-rc1
 https://github.com/torvalds/linux/commit/c3dccb74be28a345a2ebcc224e41b774529b8b8f

Signed-off-by: Tomas Lara <tl849670@gmail.com>
2 years agoumbim: bump to git HEAD
Hauke Mehrtens [Sat, 13 Aug 2022 17:01:15 +0000 (19:01 +0200)]
umbim: bump to git HEAD

146bc77 umbim: fix invalid mbim message string encoding

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoubox: update to latest git HEAD
Hauke Mehrtens [Sat, 13 Aug 2022 16:56:58 +0000 (18:56 +0200)]
ubox: update to latest git HEAD

fa6cb9a kmodloader: fix bad realloc usage
4c7b720 kmodloader: fix GCC fanalyzer warnings

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoiwinfo: update to latest HEAD
Hauke Mehrtens [Sat, 13 Aug 2022 16:35:46 +0000 (18:35 +0200)]
iwinfo: update to latest HEAD

705d3b5 iwinfo: Add missing auth_suites mappings for WPA3

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agotoolchain: binutils: add support for version 2.39
Nick Hainke [Sun, 7 Aug 2022 21:26:05 +0000 (23:26 +0200)]
toolchain: binutils: add support for version 2.39

Release notes:
https://sourceware.org/pipermail/binutils/2022-August/122246.html

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agobinutils: update to 2.39
Nick Hainke [Sun, 7 Aug 2022 21:09:41 +0000 (23:09 +0200)]
binutils: update to 2.39

Changes:

* The ELF linker will now generate a warning message if the stack is made
  executable.  Similarly it will warn if the output binary contains a
  segment with all three of the read, write and execute permission
  bits set.  These warnings are intended to help developers identify
  programs which might be vulnerable to attack via these executable
  memory regions.
  The warnings are enabled by default but can be disabled via a command
  line option.  It is also possible to build a linker with the warnings
  disabled, should that be necessary.
* The ELF linker now supports a --package-metadata option that allows
  embedding a JSON payload in accordance to the Package Metadata
  specification.
* In linker scripts it is now possible to use TYPE=<type> in an output
  section description to set the section type value.
* The objdump program now supports coloured/colored syntax
  highlighting of its disassembler output for some architectures.
  (Currently: AVR, RiscV, s390, x86, x86_64).
* The nm program now supports a --no-weak/-W option to make it ignore
  weak symbols.
* The readelf and objdump programs now support a -wE option to prevent
  them from attempting to access debuginfod servers when following
  links.
* The objcopy program's --weaken, --weaken-symbol, and
  --weaken-symbols options now works with unique symbols as well.

Announcement:
https://sourceware.org/pipermail/binutils/2022-August/122246.html

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoiproute2: shrink ip-tiny size by disabling features
Nick Hainke [Sat, 6 Aug 2022 21:35:12 +0000 (23:35 +0200)]
iproute2: shrink ip-tiny size by disabling features

With the 5.18 and 5.19 update ip-tiny grows in size. Remove some
features bringing it back to the size before 5.18.

Remove
- Identifier-locator addressing (ila)
- MACsec Device Configuration (macsec)
- Multicast Routing Cache Management (mroute)
- mrule
- Virtual Routing and Forwarding (vrf)
- Segment Routing (sr)

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoiproute2: update to 5.19.0
Nick Hainke [Sat, 6 Aug 2022 07:41:38 +0000 (09:41 +0200)]
iproute2: update to 5.19.0

Add patch:
- 105-ipstats-Define-MIN-function-to-fix-undefined-referen.patch

Refreshed:
- 170-ip_tiny.patch
- 195-build_variant_ip_tc.patch

Changes:
deb48554 v5.19.0
f8decf82 bpf_glue: include errno.h
71178ae0 rdma: update uapi/ib_user_verbs.h
96594fd2 vdpa: update uapi headers from 5.19-rc7
30c7b77f Revert "uapi: add vdpa.h"
c5433c4b ip neigh: Fix memory leak when doing 'get'
2cb76253 mptcp: Fix memory leak when getting limits
afdbb020 mptcp: Fix memory leak when doing 'endpoint show'
6db01afd bridge: Fix memory leak when doing 'fdb get'
1d540336 ip address: Fix memory leak when specifying device
325f706b uapi: add virtio_ring.h
291898c5 uapi: add vdpa.h
6e2fb804 uapi: update bpf.h
329fda18 ip: Fix size_columns() invocation that passes a 32-bit quantity
2a00a4b1 man: tc-fq_codel: add drop_batch
6bf5abef uapi: update mptcp.h
02410392 ip: Fix size_columns() for very large values
ed243312 man: tc-ct.8: fix example
2bb37e90 l2tp: fix typo in AF_INET6 checksum JSON print
855edb3d man: tc-fq_codel: Fix a typo.
4044a453 tc: declaration hides parameter
a44a7918 genl: fix duplicate include guard
703f2de6 uapi: change name for zerocopy sendfile in tls
248ad98e uapi: update socket.h
11e41a63 ip: Convert non-constant initializers to macros
8d3977ef Update kernel headers
5a1ad9f8 man: ip-stats.8: Describe groups xstats, xstats_slave and afstats
d9976d67 ipstats: Expose bond stats in ipstats
36e10429 ipstats: Expose bridge stats in ipstats
79f5ad95 iplink_bridge: Split bridge_print_stats_attr()
1247ed51 ipstats: Add groups "xstats", "xstats_slave"
c6900b79 ipstats: Add a third level of stats hierarchy, a "suite"
2ed73b9a iplink: Add JSON support to MPLS stats formatter
5ed8fd9d ipstats: Add a group "afstats", subgroup "mpls"
dff392fd iplink: Publish a function to format MPLS stats
72623b73 iplink: Fix formatting of MPLS stats
ce41750f ip: ipstats: Do not assume length of response attribute payload
40b50f15 bridge: vni: add support for stats dumping
c7f12a15 ip: iplink_vxlan: add support to set vnifiltering flag on vxlan device
45cd32f9 bridge: vxlan device vnifilter support
837294e4 libbpf: Remove use of bpf_map_is_offload_neutral
64e5ed77 libbpf: Remove use of bpf_program__set_priv and bpf_program__priv
ba6519cb libbpf: Use bpf_object__load instead of bpf_object__load_xattr
a6eb654d f_flower: add number of vlans man entry
5788732e f_flower: Check args with num_of_vlans
5ba31bcf f_flower: Add num of vlans parameter
b28eb051 man: Add man pages for the "stats" functions
a05a27c0 ipmonitor: Add monitoring support for stats events
0f1fd40c ipstats: Add offload subgroup "l3_stats"
179030fa ipstats: Add offload subgroup "hw_stats_info"
af5e7955 ipstats: Add a group "offload", subgroup "cpu_hit"
0517a2fd ipstats: Add a group "link"
df0b2c6d ipstats: Add a shell of "show" command
82f6444f ipstats: Add a "set" command
54d82b06 ip: Add a new family of commands, "stats"
5520cf16 ip: Publish functions for stats formatting
a463d6b1 libnetlink: Add filtering to rtnl_statsdump_req_filter()
38ae12d3 devlink: introduce -[he]x cmdline option to allow dumping numbers in hex format
bba95837 Update kernel headers
f6559bea ip-link: put types on man page in alphabetic order
ee53174b ip/iplink_virt_wifi: add support for virt_wifi

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoiproute2: update to 5.18.0
Nick Hainke [Fri, 5 Aug 2022 10:36:12 +0000 (12:36 +0200)]
iproute2: update to 5.18.0

The ip-tiny size grows from 124k (5.17.0) to 128k (5.18.0).

The update introduces a commit "configure: add check_libtirpc()" that
introduces a check for libtirpc. However, if libtirpc is already in the
staging directory due to an other dependency the check yields that the
library is installed and should be used resulting in failures like:

  Package ss is missing dependencies for the following libraries:
  libtirpc.so.3

To fix it add a patch making libtirpc optional again and setting it
"HAVE_TIRPC=n":
- 155-keep_tirpc_optional.patch

Fix patches:
- 130-no_netem_tipc_dcb_man_vdpa.patch

Refresh patches:
- 140-keep_libmnl_optional.patch
- 150-keep_libcap_optional.patch
- 180-drop_FAILED_POLICY.patch
- 200-drop_libbsd_dependency.patch

Changes:
6474b7c8 v5.18.0
4429a6c9 tipc: fix keylen check
6b6979b9 iplink: remove GSO_MAX_SIZE definition
19c3e009 doc: fix 'infact' --> 'in fact' typo
ed706c78 man: fix some typos
03589beb man: devlink-region: fix typo in example
b84fc332 tc: em_u32: fix offset parsing
b6d17086 uapi: update of virtio_ids
17bf51b7 libbpf: Remove use of bpf_map_is_offload_neutral
fa305925 libbpf: Remove use of bpf_program__set_priv and bpf_program__priv
9e0057b4 libbpf: Use bpf_object__load instead of bpf_object__load_xattr
e81fd551 devlink: fix "devlink health dump" command without arg
6f3b5843 man: use quote instead of acute accent
42d351fa man: 'allow to' -> 'allow one to'
d8a7a0f4 uapi: upstream update to stddef.h
5b2ff061 uapi: update from 5.18-rc1
292509f9 ss: remove an implicit dependency on rpcinfo
1ee309a4 configure: add check_libtirpc()
41848100 ip/geneve: add support for IFLA_GENEVE_INNER_PROTO_INHERIT
28add137 f_flower: Implement gtp options support
b25599c5 ip: GTP support in ip link
e4880869 man: bridge: document per-port mcast_router settings
9e82e828 bridge: support for controlling mcast_router per port
f1d18e2e Update kernel headers
8130653d vdpa: Update man page with added support to configure max vq pair
56eb8bf4 vdpa: Support reading device features
16482fd4 vdpa: Support for configuring max VQ pairs for a device
bd91c764 vdpa: Allow for printing negotiated features of a device
2d1954c8 vdpa: Remove unsupported command line option
93fb6810 Makefile: move HAVE_MNL check to top-level Makefile
2dee2101 man: ip-link: whitespace fixes to odd line breaks mid sentence
609b90aa man: ip-link: mention bridge port's default mcast_flood state
b1c3ad84 man: ip-link: document new bcast_flood flag on bridge ports
c354a434 ip: iplink_bridge_slave: support for broadcast flooding
909f0d51 man: bridge: add missing closing " in bridge show mdb
3b681cf9 man: bridge: document new bcast_flood flag for bridge ports
a6c848eb bridge: support for controlling flooding of broadcast per port
8acb5247 ip/batadv: allow to specify RA when creating link
0431d8e8 Import batman_adv.h header from last kernel sync point
239bfd45 Revert "configure: Allow command line override of toolchain"
a93c90c7 tc: separate action print for filter and action dump
d9977eaf bpf: Remove use of bpf_create_map_xattr
ac4e0913 bpf: Export bpf syscall wrapper
873bb975 bpf_glue: Remove use of bpf_load_program from libbpf
5e17b715 ss: display advertised TCP receive window and out-of-order counter
712ec66e tc: bash-completion: Add profinet and ethercat to procotol completion list
75061b35 lib: add profinet and ethercat as link layer protocol names
0a685b98 man8/ip-link.8: add locked port feature description and cmd syntax
d4fe3673 man8/bridge.8: add locked port feature description and cmd syntax
092af16b ip: iplink_bridge_slave: add locked port flag support
0e51a185 bridge: link: add command to set port in locked mode
04a0077d Update kernel headers
386ae64c configure: Allow command line override of toolchain
bea92cb0 mptcp: add port support for setting flags
2dbc6c90 mptcp: add fullmesh support for setting flags
5fb6bda0 mptcp: add fullmesh check for adding address
9831202f bond: add ns_ip6_target option
e8fd4d4b devlink: Remove strtouint8_t in favor of get_u8
2688abf0 devlink: Remove strtouint16_t in favor of get_u16
95c03f40 devlink: Remove strtouint32_t in favor of get_u32
7cb0e24d devlink: Remove strtouint64_t in favor of get_u64
7848f6bb Update kernel headers
4f015972 f_flower: fix indentation for enc_key_id and u32
25a9c4fa tunnel: Fix missing space after local/remote print
ff14875e Update documentation
8908cb25 Add support for the IOAM insertion frequency
cd24451e Update kernel headers
e4ba36f7 iplink: add ip-link documentation
5d57e130 iplink: add gro_max_size attribute handling
721435dc tc: u32: add json support in `print_raw`, `print_ipv4`, `print_ipv6`
c733722b tc: u32: add support for json output
5f44590d tc/f_flower: fix indentation
9948b6cb tc_util: fix breakage from clang changes
f4cd4f12 tc: add skip_hw and skip_sw to control action offload
ba5ac984 json_print: suppress clang format warning
bf71c8f2 libbpf: fix clang warning about format non-literal
5632cf69 tunnel: fix clang warning
c0248878 tipc: fix clang warning about empty format string
371c13e8 can: fix clang warning
8d27eee5 ipl2tp: fix clang warning
560d2336 tc_util: fix clang warning in print_masked_type
b2450e46 flower: fix clang warnings
4e27d538 netem: fix clang warnings
9d5e29e6 utils: add format attribute
343c4f52 tc: add format attribute to tc_print_rate

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoiproute2: update to 5.17.0
Nick Hainke [Fri, 5 Aug 2022 10:31:06 +0000 (12:31 +0200)]
iproute2: update to 5.17.0

Remove backports:
- 0001-lib-fix-ax25.h-include-for-musl.patch

Changes:
4c424dfd v5.17.0
7846496b link_xfrm: if_id must be non zero
eed4bb1a testsuite: link xfrm delete no if_id test
ac0a54b2 rdma: make RES_PID and RES_KERN_NAME alternative to each other
885e281e uapi: update vdpa.h
19c0def1 ipaddress: remove 'label' compatibility with Linux-2.0 net aliases
1808f002 lib/fs: fix memory leak in get_task_name()
62c0700c uapi: update magic.h
c8d9d925 rdma: Fix the logic to print unsigned int.
a42dfaa4 Revert "rdma: Fix res_print_uint() and add res_print_u64()"
9d0badec rdma: Fix res_print_uint() and add res_print_u64()
86a1452b uapi: update to xfrm.h
09c6a3d2 bridge: Remove vlan listing from `bridge link`
e4fda259 bridge: Fix error string typo
cc143bda lnstat: fix strdup leak in -w argument parsing
90bbf861 iplink_can: print_usage: typo fix, add missing spaces
1b5c7414 dcb: Fix error reporting when accessing "dcb app"
a38d305d tc: fix duplicate fall-through
f8beda6e libnetlink: fix socket leak in rtnl_open_byproto()
7f70eb2a tc_util: Fix parsing action control with space and slash
29da83f8 iprule: Allow option dsfield in 'ip rule show'
07012a1f ss: use freecon() instead of free() when appropriate
03b4de0b man: Fix a typo in the flag documentation of ip address
924f6b4a dcb: app: Add missing "dcb app show dev X default-prio"
5c9571bc uapi: update kernel headers from 5.17-rc1
d542543b tc/action: print error to stderr
52370c61 mptcp: add id check for deleting address
c556f577 dcb: Rewrite array-formatting code to not cause warnings with Clang
0dc5da8e f_flower: fix checkpatch warnings
ffbcb246 netem: fix checkpatch warnings
8bced38a lib: fix ax25.h include for musl
e27bb8e5 uapi: add missing virtio headers
26ff0afa uapi: add missing rose and ax25 files
eb4206ec q_cake: allow changing to diffserv3
db530529 iplink_can: add ctrlmode_{supported,_static} to the "--details --json" output
ac2e9148 Update kernel headers
bb4cc9cc rdma: Don't allocate sparse array
b8767168 rdma: Limit copy data by the destination size
167e33f3 vdpa: Enable user to set mtu of the vdpa device
384938f9 vdpa: Enable user to set mac address of vdpa device
a311f0c4 vdpa: Enable user to query vdpa device config layout
9d8882d5 vdpa: Update kernel headers
5cb7ec0c Update kernel headers and import virtio_net
26113360 mptcp: add support for changing the backup flag
4b301b87 tc: Add support for ce_threshold_value/mask in fq_codel
99d09ee9 bond: add arp_missed_max option
432cb06b mptcp: add support for fullmesh flag
2d777dfe Update kernel headers
a21458fc vdpa: Remove duplicate vdpa UAPI header file

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoiproute2: update to 5.16.0
Nick Hainke [Fri, 5 Aug 2022 10:11:28 +0000 (12:11 +0200)]
iproute2: update to 5.16.0

Import patch:
- 0001-lib-fix-ax25.h-include-for-musl.patch

Refreshed patches:
- 100-configure.patch
- 130-no_netem_tipc_dcb_man_vdpa.patch
- 140-keep_libmnl_optional.patch
- 145-keep_libelf_optional.patch
- 150-keep_libcap_optional.patch
- 170-ip_tiny.patch
- 190-fix-nls-rpath-link.patch
- 195-build_variant_ip_tc.patch
- 200-drop_libbsd_dependency.patch
- 300-selinux-configurable.patch

Size ip-full (mips_24kc):
- 176K ip-full_5.16.0-1_mips_24kc.ipk
- 172K ip-full_5.15.0-2_mips_24kc.ipk

Size ip-tiny (mips_24kc):
- 124K ip-tiny_5.16.0-1_mips_24kc.ipk
- 124K ip-tiny_5.15.0-2_mips_24kc.ipk

Changes:
ade99e20 v5.16.0
1225e307 testsuite: Fix tc/vlan.t test
4734fdb9 uapi: update to mptcp.h
c04e45d0 lib/bpf: fix verbose flag when using libbpf
73590d95 tc: flower: Fix buffer overflow on large labels
3f77bc62 uapi: update to if_ether.h
5f8bb902 ip/ipnexthop: fix unsigned overflow in parse_nh_group_type_res()
3184de37 lib/bpf_legacy: remove always-true check
79026c12 rdma: update uapi headers
fa58de9b vdpa: align uapi headers
be31c264 lnstat: fix buffer overflow in header output
0e949725 tc/m_vlan: fix print_vlan() conditional on TCA_VLAN_ACT_PUSH_ETH
9bd5ab0f mptcp: fix JSON output when dumping endpoints by id
a787d9ae man: tc-u32: Fix page to match new firstfrag behavior
af96c7b5 Fix some typos detected by Lintian in manpages
35c81b18 uapi: update vdpa.h
0c263d7c iplink_can: add new CAN FD bittiming parameters: Transmitter Delay Compensation (TDC)
0f7bb8d8 iplink_can: print brp and dbrp bittiming variables
67f3c7a5 iplink_can: use PRINT_ANY to factorize code and fix signedness
fd5e958c iplink_can: code refactoring of print_ctrlmode()
8316df6e iplink_can: fix configuration ranges in print_usage() and add unit
6e15d27a ip: add AMT support
9cae1de5 Import amt.h
258e350c Update kernel headers
047e9ae5 devlink: Fix cmd_dev_param_set() to check configuration mode
9e009e78 ip, neigh: Add NTF_EXT_MANAGED support
040e5252 ip, neigh: Add missing NTF_USE support
c76a3849 ip, neigh: Fix up spacing in netlink dump
76b30805 xfrm: enable to manage default policies
95cd2a62 iplink: enable to specify index when changing netns
cee0cf84 configure: add the --libdir option
0ee1950b configure: add the --prefix option
4b8bca5f configure: support --param=value style
99245d17 configure: simplify options parsing
c330d097 configure: fix parsing issue with more than one value per option
48c379bc configure: fix parsing issue on libbpf_dir option
1d819dcc configure: fix parsing issue on include_dir option
19ba785f rdma: Add optional-counters set/unset support
7d5cb70e rdma: Add stat "mode" support
d480cb71 rdma: Update uapi headers
e4ca6a49 Update kernel headers
a31e7b79 mptcp: cleanup include section.
41020eb0 Update documentation
8fb522cd Add support for IOAM encap modes
b840c620 ip: nexthop: keep cache netlink socket open
b9017435 devlink: print maximum number of snapshots if available
6448ed37 Update kernel headers
7ca868a7 ip: nexthop: add print_cache_nexthop which prints and manages the nh cache
5d5dc549 ip: route: print and cache detailed nexthop information when requested
cb3d18c2 ip: nexthop: add a helper which retrieves and prints cached nh entry
60a97030 ip: nexthop: add cache helpers
53d7c43b ip: nexthop: factor out ipnh_get_id rtnl talk into a helper
a2ca4312 ip: nexthop: factor out print_nexthop's nh entry printing
945c26db ip: nexthop: parse attributes into nh entry structure before printing
7ec1cee6 ip: nexthop: add nh entry structure
60a7515b ip: nexthop: split print_nh_res_group into parse and print parts
cfb0a872 ip: nexthop: add resilient group structure
371e889d ip: export print_rta_gateway version which outputs prepared gateway string
f7278996 ip: print_rta_if takes ifindex as device argument instead of attribute
e2cc9840 ROSE: Print decoded addresses rather than hex numbers.
26c5782f ROSE: Add rose_ntop implementation.
fd4c1c81 NETROM: Print decoded addresses rather than hex numbers.
c63b769a NETROM: Add netrom_ntop implementation.
399ae00a AX.25: Print decoded addresses rather than hex numbers.
3a92669b AX.25: Add ax25_ntop implementation.
ebbb7017 lib: bpf_legacy: add prog name, load time, uid and btf id in prog info dump
0431e1e7 ip: Support filter links/neighs with no master
12b3d6a2 man: ip-macsec: fix gcm-aes-256 formatting issue
ae895504 bridge: vlan: add support for mcast_router option
12fbe3e4 bridge: vlan: set vlan option attributes while parsing
db28c944 Update kernel headers
6d676ad9 ip: rewrite routel in python
1eaebad2 ip: remove routef script
adddf30c ip: remove ifcfg script
2c811088 ip: remove old rtpr script
72222cd4 bridge: vlan: add support for dumping router ports
7ad5505b bridge: vlan: add global mcast_querier option
061da2e2 bridge: vlan: add global mcast_startup_query_interval option
60dcd5c3 bridge: vlan: add global mcast_query_response_interval option
0e4cfa03 bridge: vlan: add global mcast_query_interval option
ebcee09c bridge: vlan: add global mcast_querier_interval option
3ae784f5 bridge: vlan: add global mcast_membership_interval option
2b6cc38d bridge: vlan: add global mcast_last_member_interval option
7cc7dbf4 bridge: vlan: add global mcast_startup_query_count option
3399c075 bridge: vlan: add global mcast_last_member_count option
a8d7212a bridge: vlan: add global mcast_mld_version option
29fada0f bridge: vlan: add global mcast_igmp_version option
1f608d59 bridge: vlan: add global mcast_snooping option
dee5eb05 bridge: vlan: add support to set global vlan options
ecf6d8b4 bridge: vlan: add support for vlan filtering when dumping options
720f8613 bridge: vlan: add support to show global vlan options
d3a961a9 bridge: vlan: skip unknown attributes when printing options
312e22fe bridge: vlan: factor out vlan option printing
d2eecb9d ip: bridge: add support for mcast_vlan_snooping
ebaa603b ip/bond: add lacp active support
8d6134b2 Update kernel headers
51d8fc70 ip/tunnel: always print all known attributes
71ba9c18 ipioam6: use print_nl instead of print_null
e7841194 tc/skbmod: Introduce SKBMOD_F_ECN option
78832863 IOAM man8
32f4969d New IOAM6 encap type for routes
29098125 Add, show, link, remove IOAM namespaces and schemas
e53f4cd5 Import ioam6 uapi headers
236696e5 Update kernel headers
cf866f0a ipneigh: add support to print brief output of neigh cache in tabular format

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agomvebu: backport pending Turris Omnia LEDs improvements
Josef Schlehofer [Tue, 26 Jul 2022 12:32:37 +0000 (14:32 +0200)]
mvebu: backport pending Turris Omnia LEDs improvements

It backports this patch series, which is currently on review:
https://lore.kernel.org/linux-leds/20220704105955.15474-1-kabel@kernel.org/T/#rb89a4ca5a836f17bdcc53d65549e0b1779bb6a18
It allows being able to configure LEDs in userspace.

This fixes issue described in Turris Build repository
https://gitlab.nic.cz/turris/os/build/-/issues/354
It happens in OpenWrt as well.

- Before
```
root@turris:/# ls /sys/class/leds/
ath10k-phy0  ath9k-phy1   mmc0::
```

 -After
```
root@turris:/# ls /sys/class/leds/
ath10k-phy0      rgb:indicator-2  rgb:lan-3        rgb:wlan-1
ath9k-phy1       rgb:lan-0        rgb:lan-4        rgb:wlan-2
mmc0::           rgb:lan-1        rgb:power        rgb:wlan-3
rgb:indicator-1  rgb:lan-2        rgb:wan
```

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agomvebu: backport DTS changes for Turris Omnia from mvebu/dt
Josef Schlehofer [Tue, 26 Jul 2022 12:31:26 +0000 (14:31 +0200)]
mvebu: backport DTS changes for Turris Omnia from mvebu/dt

My commit backported patches from the following links:
- https://lore.kernel.org/linux-arm-kernel/20220704113622.18887-1-kabel@kernel.org/
- https://lore.kernel.org/linux-arm-kernel/20220704113622.18887-2-kabel@kernel.org/

According to the links, they are applied in repository mvebu in branch dt,
so it should be included in upcoming Linux version soon.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agoath25: fix initramfs image generation
Lech Perczak [Tue, 9 Aug 2022 23:10:57 +0000 (01:10 +0200)]
ath25: fix initramfs image generation

Commit 21f460a5dbef ("ath25: fix duplicate LZMA compression") changed
the way kernel images are generated, affecting initramfs images instead.
Initramfs images were previously ELF images, and by mistake this change
caused the raw kernel image to be used as a source. This caused them to
be non-loadable by bootloaders.

Restore the previous KERNEL_INITRAMFS recipe and adjust
KERNEL_INITRAMFS_NAME to point at the correct source artifact.
While at that, adjust KERNEL_INITRAMFS_SUFFIX to -kernel.elf,
so it matches the suffix of non-initramfs kernel artifact.

Fixes: 21f460a5dbef ("ath25: fix duplicate LZMA compression")
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2 years agoath25: fix ELF image generation
Lech Perczak [Tue, 9 Aug 2022 23:06:24 +0000 (01:06 +0200)]
ath25: fix ELF image generation

Commit 21f460a5dbef ("ath25: fix duplicate LZMA compression"), when
attempting to restore ELF artifact generation, copiedover the raw
kernel image twice. Because of that, the .elf artifact was actually a
duplicate of raw image.

Fix that by copying over .elf suffixed kernel image instead.

Fixes: 21f460a5dbef ("ath25: fix duplicate LZMA compression")
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2 years agoramips: add support for Beeline SmartBox TURBO
Mikhail Zhilkin [Fri, 18 Mar 2022 18:09:45 +0000 (18:09 +0000)]
ramips: add support for Beeline SmartBox TURBO

Beeline SmartBox TURBO is a wireless WiFi 5 router manufactured by
Sercomm company.

Device specification
--------------------
SoC Type: MediaTek MT7621AT
RAM: 256 MiB
Flash: 256 MiB, Micron MT29F2G08ABAGA3W
Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2
Wireless 5 GHz (MT7615E): a/n/ac, 4x4
Ethernet: 5xGbE (WAN, LAN1, LAN2, LAN3, LAN4)
USB ports: 1xUSB3.0
Button: 2 buttons (Reset & WPS)
LEDs: 1 RGB LED
Power: 12 VDC, 1.5 A
Connector type: barrel
Bootloader: U-Boot

Installation
-----------------
1.  Login to the router web interface (admin:admin)
2.  Navigate to Settings -> WAN -> Add static IP interface (e.g.
    10.0.0.1/255.255.255.0)
3.  Navigate to Settings -> Remote cotrol -> Add SSH, port 22,
    10.0.0.0/255.255.255.0 and interface created before
4.  Change IP of your client to 10.0.0.2/255.255.255.0 and connect the
    ethernet cable to the WAN port of the router
5.  Connect to the router using SSH shell (SuperUser:SNxxxxxxxxxx, where
    SNxxxxxxxxxx is the serial number from the backplate label)
6.  Run in SSH shell:
       sh
7.  Make a mtd backup (optional, see related section)
8.  Change bootflag to Sercomm1 and reboot:
       printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
       reboot
9.  Login to the router web interface (admin:admin)
10. Remove dots from the OpenWrt factory image filename
11. Update firmware via web using OpenWrt factory image

Revert to stock
---------------
1. Change bootflag to Sercomm1 in OpenWrt CLI and then reboot:
      printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
2. Optional: Update with any stock (Beeline) firmware if you want to
   overwrite OpenWrt in Slot 0 completely.

mtd backup
----------
1. Set up a tftp server (e.g. tftpd64 for windows)
2. Connect to a router using SSH shell and run the following commands:
      cd /tmp
      for i in 0 1 2 3 4 5 6 7 8 9 10; do nanddump -f mtd$i /dev/mtd$i; \
      tftp -l mtd$i -p 10.0.0.2; md5sum mtd$i >> mtd.md5; rm mtd$i; done
      tftp -l mtd.md5 -p 10.0.0.2

MAC Addresses
-------------
+-----+-----------+---------+
| use | address   | example |
+-----+-----------+---------+
| LAN | label     | *:54    |
| WAN | label + 1 | *:55    |
| 2g  | label + 4 | *:58    |
| 5g  | label + 5 | *:59    |
+-----+-----------+---------+
The label MAC address was found in Factory 0x21000

Co-developed-by: Maximilian Weinmann <x1@disroot.org>
Signed-off-by: Maximilian Weinmann <x1@disroot.org>
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2 years agorealtek: add support for TP-Link SG2008P
Alexandru Gagniuc [Tue, 19 Jul 2022 17:01:11 +0000 (12:01 -0500)]
realtek: add support for TP-Link SG2008P

Add support for the TP-Link SG2008P switch. This is an RTL8380 based
switch with 802.3af one the first four ports.

Specifications:
---------------
 * SoC:       Realtek RTL8380M
 * Flash:     32 MiB SPI flash (Vendor varies)
 * RAM:       256 MiB (Vendor varies)
 * Ethernet:  8x 10/100/1000 Mbps with PoE on 4 ports
 * Buttons:   1x "Reset" button on front panel
 * Power:     53.5V DC barrel jack
 * UART:      1x serial header, unpopulated
 * PoE:       1x TI TPS23861 I2C PoE controller

Works:
------
  - (8) RJ-45 ethernet ports
  - Switch functions
  - System LED

Not yet enabled:
----------------
  - Power-over-Ethernet (driver works, but doesn't enable "auto" mode)
  - PoE, Link/Act, PoE max and System LEDs

Install via web interface:
-------------------------

Not supported at this time.

Install via serial console/tftp:
--------------------------------

The footprints R27 (0201) and R28 (0402) are not populated. To enable
serial console, 50 ohm resistors should be soldered -- any value from
0 ohm to 50 ohm will work. R27 can be replaced by a solder bridge.

The u-boot firmware drops to a TP-Link specific "BOOTUTIL" shell at
38400 baud. There is no known way to exit out of this shell, and no
way to do anything useful.

Ideally, one would trick the bootloader into flashing the sysupgrade
image first. However, if the image exceeds 6MiB in size, it will not
work. The sysupgrade image can also be flashed. To install OpenWRT:

Prepare a tftp server with:
 1. server address: 192.168.0.146
 2. the image as: "uImage.img"

Power on device, and stop boot by pressing any key.
Once the shell is active:
 1. Ground out the CLK (pin 16) of the ROM (U7)
 2. Select option "3. Start"
 3. Bootloader notes that "The kernel has been damaged!"
 4. Release CLK as sson as bootloader thinks image is corrupted.
 5. Bootloader enters automatic recovery -- details printed on console
 6. Watch as the bootloader flashes and boots OpenWRT.

Blind install via tftp:
-----------------------

This method works when it's not feasible to install a serial header.

Prepare a tftp server with:
 1. server address: 192.168.0.146
 2. the image as: "uImage.img"
 3. Watch network traffic (tcpdump or wireshark works)
 4. Power on the device.
 5. Wait 1-2 seconds then ground out the CLK (pin 16) of the ROM (U7)
 6. When 192.168.0.30 makes tftp requests, release pin 16
 7. Wait 2-3 minutes for device to auto-flash and boot OpenWRT

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2 years agokernel: add kmod-hwmon-tps23861 support
Alexandru Gagniuc [Wed, 20 Jul 2022 01:27:49 +0000 (20:27 -0500)]
kernel: add kmod-hwmon-tps23861 support

Package the tps23861.ko module, which supports Texas Instruments
TPS23861 PoE+ controller.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2 years agokernel: add upstream patches for tps23861 PoE controller
Alexandru Gagniuc [Wed, 20 Jul 2022 02:53:41 +0000 (21:53 -0500)]
kernel: add upstream patches for tps23861 PoE controller

These patches support the tps23861 PoE controller found on a number of
managed switches. The TPS23861 is an I2C-based quad IEEE 802.3at (PoE+)
Power-over-Ethernet PSE controller. It's also found on some Realtek
based switches, where we expect the bulk of the users to reside.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
[Disable driver in generic/config-5.10]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: EnGenius EWS2910P: use the mtd3 partition for root overlay
Alexandru Gagniuc [Sun, 29 May 2022 01:56:31 +0000 (20:56 -0500)]
realtek: EnGenius EWS2910P: use the mtd3 partition for root overlay

The root overlay is mounted on the "rootfs_data" partition. This comes
at the end of the firmware image, courtesy of mtdsplit. There is very
little space left (About 1MB), which can fill up rapidly.

The "firmware" and "firmware2" partitions are part of the bootloader
dual firmware logic. They should contain independent, valid uImages.
This leaves "jffs2-cfg" (mtd3) and "jffs2-log" (mtd4) as candidates.

mtd3 is about 13.7 MB and is used by the vendor firmware to store
configuration settings. It is only erased by vendor firmware during a
factory reset. By naming this partition "rootfs_data", it becomes the
root overlay, providing significantly more room. Even with mtdsplit
wanting to create a "rootfs_data" on the firmware partition, mtd3 is
used as the overlay.

Rename "jffs2-cfg" to "rootfs_data", and profit from the extra space.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2 years agorealtek: Netgear GS110TPP v1: add lan9 and lan10
Sander Vanheule [Sat, 13 Aug 2022 16:49:47 +0000 (18:49 +0200)]
realtek: Netgear GS110TPP v1: add lan9 and lan10

The original commit for the GS110TP was missing ports 9 and 10. These
are provided by an external RTL8214C phy, for which no support was
available at the time. Now that this phy is supported, add the missing
entries to enable all device ports.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: skip SFP ports in PoE setup
Paul Spooren [Sat, 30 Jul 2022 18:25:32 +0000 (20:25 +0200)]
realtek: skip SFP ports in PoE setup

The function `ucidef_set_poe` receives a list of ports to add to the PoE array.
Since switches have many ports the varibale `lan_list` is passed instead of
writing every single lan port. However, this list includes partly SFP ports
which are unrelated to PoE.

This commits adds the option to add a third parameter to manually exclide
interfaces, usually the last two.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[Replace glob by regex to be more specific about matching characters]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agotools: mtd-utils: Update to version 2.1.4
Hauke Mehrtens [Sun, 7 Aug 2022 17:59:42 +0000 (19:59 +0200)]
tools: mtd-utils: Update to version 2.1.4

Update to most recent version of mtd-utils and sync with version from
package folder.

Use a https download server instead of ftp.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>