openwrt/staging/robimarko.git
20 months agoopenssl: fix sysupgrade failure with devcrypto
Eneas U de Queiroz [Mon, 6 Mar 2023 14:58:56 +0000 (11:58 -0300)]
openssl: fix sysupgrade failure with devcrypto

The bump to 3.0.8 inadvertently removed patches that are needed here,
but were not adopted upstream.  The most important one changes the
default value of the DIGESTS setting from ALL to NONE.  The absence of
this patch causes a sysupgrade failure while the engine is in use with
digests enabled.  When this happens, the system fails to boot with a
kernel panic.

Also, explicitly set DIGESTS to NONE in the provided config file, and
change the default ciphers setting to disable ECB, which has been
recommended for a long time and may cause trouble with some apps.

The config file change by itself is not enough because the config file
may be preserved during sysupgrade.

For people affected by this bug:

You can either:
1. remove, the libopenssl-devcrypto package
2. disable the engine in /etc/config/openssl;
3. change /etc/ssl/engines.cnf.d/devcrypto.cnf to set DIGESTS=NONE;
4. update libopenssl-devcrypto to >=3.0.8-3

However, after doing any of the above, **you must reboot the device
before running sysupgrade** to ensure no running application is using
the engine.  Running `/etc/init.d/openssl restart` is not enough.

Fixes: 7e7e76afca "openssl: bump to 3.0.8"
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
20 months agobinutils: Update to version 2.40
Hauke Mehrtens [Sun, 26 Feb 2023 14:47:09 +0000 (15:47 +0100)]
binutils: Update to version 2.40

binutils 2.39: https://lists.gnu.org/archive/html/info-gnu/2022-08/msg00002.html
binutils 2.40: https://lists.gnu.org/archive/html/info-gnu/2023-01/msg00003.html

This version includes a new libsframe.so library, pack it into the
libbfd package as it is used by this library. Also deactivate some
optional configuration options for now.

An extra patch to fix compile problem in AARCH64 is added.
gprofng needs a C++ standard library, deactivate it for now.

Activate feature-disassembler-init-styled in bpftools too to fix
compilation with the updated binutils.

An bpftool version 7.0 or later is needed for binutils 2.39 and later.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agobpftool: Update to version 7.1.0
Hauke Mehrtens [Sat, 25 Feb 2023 21:21:15 +0000 (22:21 +0100)]
bpftool: Update to version 7.1.0

bpftool changelog: https://github.com/libbpf/bpftool/releases
libbpf changelog: https://github.com/libbpf/libbpf/releases

This updates the bfptool to version 7.1.0. This also includes an update
of the libbpf to version 1.1.

This also adds some new feature options and removes some old ones which
were also removed form the source code. zlib for example is now
mandatory.

Add -flto also to LD flags to make it really work.

Before this change bpftool was on a git commit between version 6.7 and
6.8 and libbpf was on a commit between version 0.7 and 0.8.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agomac80211: enable ATH9K_HWRNG
Rosen Penev [Wed, 15 Feb 2023 03:31:03 +0000 (19:31 -0800)]
mac80211: enable ATH9K_HWRNG

in kernel 5.17, fcd09c90c3c5254b18ef34e30c57c65d34290a84 integrated it
better with thee random framework.

Gives boot time randomness on supported devices.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
20 months agoksmbd: update to 3.4.7
Rosen Penev [Wed, 1 Feb 2023 22:50:22 +0000 (14:50 -0800)]
ksmbd: update to 3.4.7

Remove upstreamed patches.

Switch to normal tarballs. Codeload recently had a reproducibility issue.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
20 months agobcm47xx: Refresh patches
Hauke Mehrtens [Sun, 5 Mar 2023 17:42:49 +0000 (18:42 +0100)]
bcm47xx: Refresh patches

The kernel patches did not apply cleanly any more, refresh them
automatically.

Fixes: 26bc8f68767e ("generic: MIPS: Add barriers between dcache & icache flushes")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agosdk: expose PATENTED an NLS build options
Tomasz Maciej Nowak [Fri, 17 Feb 2023 13:21:01 +0000 (14:21 +0100)]
sdk: expose PATENTED an NLS build options

Some packages offer functionalities guarded by these options and it'll
be impossible to reach them without changing Config-build.in. So allow
to toggle these in more friendly way, by exposing them in configuration
menu.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
20 months agoRemove ccache wrappers
Paul Fertser [Fri, 20 Jan 2023 15:25:13 +0000 (18:25 +0300)]
Remove ccache wrappers

These wrappers are not needed as CC doesn't need to be a single word.

a53b084e497a9f1629a2caada833ebe14a6838b7 which introduced the wrappers
doesn't explain why they were really needed and why only for the target
and not for the host.

Moreover, name of the wrappers breaks a ccache assumption: since
v4.0-3-g6a92b4cd3a67 it has special handling for "chained" invocation
such as "ccache ccache gcc" where it skips all the "ccache*" names in
the middle and proceeds to run as if it was started as "ccache
gcc"[1][2].

This becomes important when a build system sees ccache in the PATH and
automatically enables it by prepending to CC. An example of such a
system would be autosetup as used by jimtcl. With the wrappers it breaks
as the command line ends up being just "ccache -Os..." because
"ccache_cc" gets skipped as it starts with "ccache".

[1] https://github.com/ccache/ccache/blob/master/src/ccache.cpp#L2105
[2] https://github.com/ccache/ccache/blob/master/src/Util.cpp#L802

Reported-by: Karl Palsson <karlp@etactica.com>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
20 months agokernel: set default for KERNEL_BPF_KPROBE_OVERRIDE
Stijn Tintel [Mon, 20 Feb 2023 14:00:54 +0000 (16:00 +0200)]
kernel: set default for KERNEL_BPF_KPROBE_OVERRIDE

Without the default value this still causes a missing symbol. Disable by
default as it depends on FUNCTION_ERROR_INJECTION, which is disabled in
the generic config and we don't have a build symbol to enable that.

Fixes: 500c37c56ff6 ("kernel: add missing symbol")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
20 months agomediatek: backport more WED upstream fixes
Felix Fietkau [Sun, 5 Mar 2023 16:25:34 +0000 (17:25 +0100)]
mediatek: backport more WED upstream fixes

Fixes hang if the WO firmware can't be loaded

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agoipq806x: Add buttons to OnHub
Alan Luck [Sun, 26 Feb 2023 06:17:37 +0000 (22:17 -0800)]
ipq806x: Add buttons to OnHub

These are the factory reset button (external) and "developer mode"
button (hidden inside the case (ASUS) or under a screw in the base
(TP-Link)) found on the TP-Link and ASUS OnHub devices.

Signed-off-by: Alan Luck <luckyhome2008@gmail.com>
[Brian: add description; factor out for both ASUS and TP-Link; use
existing pinmux definitions; add keycode for dev button]
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
20 months agokernel: add kmod-hwmon-max6642 support
Tim Harvey [Tue, 28 Feb 2023 00:13:07 +0000 (16:13 -0800)]
kernel: add kmod-hwmon-max6642 support

Add package for Maxim MAX6642 i2c based temperature sensor.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
20 months agouci: update to git HEAD
Hauke Mehrtens [Sun, 5 Mar 2023 15:39:24 +0000 (16:39 +0100)]
uci: update to git HEAD

5de3871 cli: drop redundant uci_add_delta_path() call for -P
f49a2fd delta: simplify uci_load_delta() by using a helper
9b6605e uci: fix use-after-free uci_set on update option
b7ceda9 uci: maintain option position in uci_set
7e01d66 uci: optimize update option in uci_set
47697e6 uci: fix use-after-free uci_add_list
74f2797 uci: fix atomicity of uci_add_list
b2f3417 uci: maintain option position in uci_add_list
16e8a3b uci: fix memory leak uci_set on update section
ae61e1c uci: optimize update section in uci_set
04d0c46 uci: macro uci_alloc_element not in uci.h

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agoRevert "bmips: add missing switch cpu label"
Álvaro Fernández Rojas [Sun, 5 Mar 2023 10:51:46 +0000 (11:51 +0100)]
Revert "bmips: add missing switch cpu label"

This reverts commit dc0de05e10a9c6e1ef66ca2934e8a0ff0d488943.
As pointed out by @BKPepe and @arinc9 this was removed by 9df035b since it
isn't needed.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agomediatek: add missing DTS entries for WED on MT7986
Felix Fietkau [Sun, 5 Mar 2023 08:58:40 +0000 (09:58 +0100)]
mediatek: add missing DTS entries for WED on MT7986

Needed to support WLAN offloading

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: backport upstream mtk_eth_soc fixes
Felix Fietkau [Sat, 4 Mar 2023 18:11:37 +0000 (19:11 +0100)]
kernel: backport upstream mtk_eth_soc fixes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: move accepted mtk_eth_soc patches to generic-backport
Felix Fietkau [Sat, 4 Mar 2023 16:57:46 +0000 (17:57 +0100)]
kernel: move accepted mtk_eth_soc patches to generic-backport

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agodtc: update to 1.7.0
Nick Hainke [Wed, 1 Mar 2023 21:18:14 +0000 (22:18 +0100)]
dtc: update to 1.7.0

Changelog:
039a994 Bump version to v1.7.0
3f29d6d pylibfdt: add size_hint parameter for get_path
2022bb1 checks: Update #{size,address}-cells check for 'dma-ranges'
abbd523 pylibfdt: Work-around SWIG limitations with flexible arrays
a41509b libfdt: Replace deprecated 0-length arrays with proper flexible arrays
2cd89f8 dtc: Warning rather than error on possible truncation of cell values
55778a0 libfdt: tests: add get_next_tag_invalid_prop_len
7359034 libfdt: prevent integer overflow in fdt_next_tag
035fb90 libfdt: add fdt_get_property_by_offset_w helper
98a0700 Makefile: fix infinite recursion by dropping non-existent `%.output`
a036cc7 Makefile: limit make re-execution to avoid infinite spin
c6e9210 libdtc: remove duplicate judgments
e37c256 Don't generate erroneous fixups from reference to path
5045465 libfdt: Don't mask fdt_get_name() returned error
e64a204 manual.txt: Follow README.md and remove Jon
f508c83 Update README in MANIFEST.in and setup.py to README.md
c2ccf8a Add description of Signed-off-by lines
90b9d9d Split out information for contributors to CONTRIBUTING.md
0ee1d47 Remove Jon Loeliger from maintainers list
b33a73c Convert README to README.md
7ad6073 Allow static building with meson
fd9b8c9 Allow static building with make
fda71da libfdt: Handle failed get_name() on BEGIN_NODE
c7c7f17 Fix test script to run also on dash shell
01f23ff Add missing relref_merge test to meson test list
ed31080 pylibfdt: add FdtRo.get_path()
c001fc0 pylibfdt: fix swig build in install
26c54f8 tests: add test cases for label-relative path references
ec7986e dtc: introduce label relative path references
651410e util: introduce xstrndup helper
4048aed setup.py: fix out of tree build
ff5afb9 Handle integer overflow in check_property_phandle_args()
ca72944 README: Explain how to add a new API function
c0c2e11 Fix a UB when fdt_get_string return null
cd5f69c tests: setprop_inplace: use xstrdup instead of unchecked strdup
a04f690 pylibfdt: add Property.as_*int*_array()
8310271 pylibfdt: add Property.as_stringlist()
d152126 Fix Python crash on getprop deallocation
17739b7 Support 'r' format for printing raw bytes with fdtget
45f3d1a libfdt: overlay: make overlay_get_target() public
c19a4ba libfdt: fix an incorrect integer promotion
1cc41b1 pylibfdt: Add packaging metadata
db72398 README: Update pylibfdt install instructions
383e148 pylibfdt: fix with Python 3.10
23b56cb pylibfdt: Move setup.py to the top level
69a7607 pylibfdt: Split setup.py author name and email
0b106a7 pylibfdt: Use setuptools_scm for the version
c691776 pylibfdt: Use setuptools instead of distutils
5216f3f libfdt: Add static lib to meson build
4eda259 CI: Cirrus: bump used FreeBSD from 12.1 to 13.0
0a3a9d3 checks: Add an interrupt-map check
8fd2474 checks: Ensure '#interrupt-cells' only exists in interrupt providers
d8d1a9a checks: Drop interrupt provider '#address-cells' check
52a16fd checks: Make interrupt_provider check dependent on interrupts_extended_is_cell
37fd700 treesource: Maintain phandle label/path on output
e33ce1d flattree: Use '\n', not ';' to separate asm pseudo-ops
d24cc18 asm: Use assembler macros instead of cpp macros
ff3a30c asm: Use .asciz and .ascii instead of .string
5eb5927 fdtdump: fix -Werror=int-to-pointer-cast
0869f82 libfdt: Add ALIGNMENT error string
69595a1 checks: Fix bus-range check
72d09e2 Makefile: add -Wsign-compare to warning options
b587787 checks: Fix signedness comparisons warnings
69bed6c dtc: Wrap phandle validity check
9102211 fdtget: Fix signedness comparisons warnings
d966f08 tests: Fix signedness comparisons warnings
ecfb438 dtc: Fix signedness comparisons warnings: pointer diff
5bec74a dtc: Fix signedness comparisons warnings: reservednum
24e7f51 fdtdump: Fix signedness comparisons warnings

Remove upstreamed:
- 0001-Support-r-format-for-printing-raw-bytes-with-fdtget.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agomac80211: refresh patches
Nick Hainke [Wed, 1 Mar 2023 20:14:54 +0000 (21:14 +0100)]
mac80211: refresh patches

The last mac80211 commits did not refresh the patches.

Refresh:
- ath/402-ath_regd_optional.patch
- ath10k/080-ath10k_thermal_config.patch
- ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch
- ath9k/551-ath9k_ubnt_uap_plus_hsr.patch
- rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agobmips: add missing switch cpu label
Álvaro Fernández Rojas [Sat, 4 Mar 2023 20:27:30 +0000 (21:27 +0100)]
bmips: add missing switch cpu label

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobcm63xx: kernel: power cycle the bcm6358 USB PLL
Daniel González Cabanelas [Mon, 19 Dec 2022 14:25:30 +0000 (15:25 +0100)]
bcm63xx: kernel: power cycle the bcm6358 USB PLL

Some BCM6358 based boards may detect USB2.0 high speed devices as USB1.1
full speed. This is an old well known bug, but nobody cared about it. It
is quite random and hard to track.

With the latest versions of Openwrt, one user confirmed that the bug is
still there (tested router: HG556a).

Power cycle the USB PLL to fix it.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
20 months agobcm63xx: kernel: fix up bcm63268 roboswitch gpio registers
Daniel González Cabanelas [Mon, 19 Dec 2022 14:21:28 +0000 (15:21 +0100)]
bcm63xx: kernel: fix up bcm63268 roboswitch gpio registers

Some BCM63268 bootloaders may leave gpio registers, related to the
roboswitch, disabled before loading the OpenWrt firmware. As result of
this the switch won't work.

These registers, if not enabled, probably avoid forwarding packets.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
20 months agobcm63xx: drop kernel 5.10 support
Álvaro Fernández Rojas [Sat, 4 Mar 2023 18:47:06 +0000 (19:47 +0100)]
bcm63xx: drop kernel 5.10 support

Now that the target is on kernel 5.15 this is no longer needed.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobcm63xx: switch to Kernel 5.15 by default
Paul Spooren [Wed, 22 Feb 2023 18:50:58 +0000 (19:50 +0100)]
bcm63xx: switch to Kernel 5.15 by default

Getting ready for the next release.

Signed-off-by: Paul Spooren <mail@aparcar.org>
20 months agobmips: check for DMA error when refilling Rx
Sieng-Piaw Liew [Tue, 19 Jul 2022 00:20:45 +0000 (08:20 +0800)]
bmips: check for DMA error when refilling Rx

dma_mapping_error() should be called as dma_map_single() could fail and
return error.

Signed-off-by: Sieng-Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: fix Tx cleanup when NAPI poll budget is zero
Sieng-Piaw Liew [Fri, 8 Jul 2022 08:16:08 +0000 (16:16 +0800)]
bmips: fix Tx cleanup when NAPI poll budget is zero

NAPI poll() function may be passed a budget value of zero, i.e. during
netpoll, which isn't NAPI context.
Therefore, napi_consume_skb() must be given budget value instead of
!force to truly discern netpoll-like scenarios.

https://lore.kernel.org/netdev/20220707141056.2644-1-liew.s.piaw@gmail.com/t/#m470f5c20225e76fb08c44d6cfa2f1b739ffaaea4
Signed-off-by: Sieng-Piaw Liew <liew.s.piaw@gmail.com>
[improve code format]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobmips: add BQL support
Sieng Piaw Liew [Wed, 29 Jun 2022 08:18:12 +0000 (16:18 +0800)]
bmips: add BQL support

Add Byte Queue Limits support to reduce/remove bufferbloat.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: batch process eth_type_trans() in rx path
Sieng Piaw Liew [Wed, 29 Jun 2022 08:16:13 +0000 (16:16 +0800)]
bmips: batch process eth_type_trans() in rx path

Improve cache efficiency by running eth_type_trans() in its own loop.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: batch process rx path
Sieng Piaw Liew [Wed, 29 Jun 2022 08:11:38 +0000 (16:11 +0800)]
bmips: batch process rx path

Use netif_receive_skb_list() to batch process rx skb. This improves
cache efficiency.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: improve rx loop
Sieng Piaw Liew [Thu, 23 Jun 2022 06:48:42 +0000 (14:48 +0800)]
bmips: improve rx loop

Use existing rx processed count to track against budget, thereby making
budget decrement operation redundant.
rx_desc_count can be calculated outside the rx loop, making the loop a
bit smaller.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: switch to napi_build_skb() to reuse skbuff_heads
Sieng Piaw Liew [Thu, 23 Jun 2022 04:49:28 +0000 (12:49 +0800)]
bmips: switch to napi_build_skb() to reuse skbuff_heads

napi_build_skb() reuses NAPI skbuff_head cache in order to save some
cycles on freeing/allocating skbuff_heads on every new rx or completed
tx.
Use napi_consume_skb() to feed the cache with skbuff_heads of completed
tx so it's never empty.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: check NAPI context when refilling rx SKB
Sieng Piaw Liew [Thu, 23 Jun 2022 03:49:23 +0000 (11:49 +0800)]
bmips: check NAPI context when refilling rx SKB

Check if we're in NAPI context when refilling rx. Normally we're almost
always running in NAPI context. Dispatch to napi_alloc_frag() directly
instead of relying on netdev_alloc_frag() which does the same but with
the overhead of local_bh_disable/enable.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[improve code format]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobmips: convert to build_skb()
Sieng Piaw Liew [Thu, 23 Jun 2022 03:16:47 +0000 (11:16 +0800)]
bmips: convert to build_skb()

We can increase the efficiency of rx path by using buffers to receive
packets then build SKBs around them just before passing into the network
stack. In contrast, preallocating SKBs too early reduces CPU cache
efficiency.
Performance is slightly increased but the changes allow more
potential optimizations.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[improve code format]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobmips: use netdev_alloc_skb() for copybreak
Sieng Piaw Liew [Wed, 22 Jun 2022 05:22:17 +0000 (13:22 +0800)]
bmips: use netdev_alloc_skb() for copybreak

bmips is using Broadcom B53 DSA driver which means the ethernet driver
must compensate for 6 bytes tags from the internal switch.
This means using NET_IP_ALIGN actually misaligns the skb, lowering
performance significantly. Therefore napi_alloc_skb() which uses
NET_IP_ALIGN is changed to netdev_alloc_skb().
Performance in iperf3 is increased from ~47Mbps to 52Mbps.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agoramips: mt7621: TP-Link EAP235/615-Wall: add poe passthrough gpio definitions
André Fonseca [Mon, 27 Feb 2023 11:58:08 +0000 (12:58 +0100)]
ramips: mt7621: TP-Link EAP235/615-Wall: add poe passthrough gpio definitions

Add the missing definitions for the PoE passthrough functionality.
The relevant pin is already being exported, but it is missing from
the initial board configuration file. With this change, the user is
now able to toggle the PoE passthorough functionality via the uci cli

Signed-off-by: André Fonseca <mail@andrefonseca.pt>
20 months agobpf-headers: fix package category
Chukun Pan [Sun, 12 Feb 2023 15:19:16 +0000 (23:19 +0800)]
bpf-headers: fix package category

This removes the non-selectable 'Kernel' item
when make menuconfig.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
20 months agouboot-mediatek: mark all packages as hidden
Felix Fietkau [Sat, 4 Mar 2023 15:26:54 +0000 (16:26 +0100)]
uboot-mediatek: mark all packages as hidden

They are enabled by selecting devices. Fixes build errors when enabling extra
devices without creating a new config from scratch.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agoramips: fix wrong pcie port number for Arcadyan WE420223-99
Mikhail Zhilkin [Sun, 26 Feb 2023 18:28:54 +0000 (18:28 +0000)]
ramips: fix wrong pcie port number for Arcadyan WE420223-99

Wrong pcie port number for WLAN causes missing 5g WLAN interface with 5.15
kernel on Arcadyan WE420223-99 (KPN Experia WiFi).

This changes port from pcie0 to pcie1.

[1.331556] mt7621-pci 1e140000.pcie: pcie0 no card, disable it (RST & CLK)
[1.345299] mt7621-pci 1e140000.pcie: pcie2 no card, disable it (RST & CLK)
[1.359116] mt7621-pci 1e140000.pcie: PCIE1 enabled

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
20 months agoramips: add support for D-Link Dir-853 A1
Hang Zhou [Sun, 26 Feb 2023 09:13:33 +0000 (20:13 +1100)]
ramips: add support for D-Link Dir-853 A1

Specifications:
* SoC: MT7621AT
* RAM: 256MB (NT5CC64M16GP-DI)
* Flash: 16MB NOR SPI flash (GD25Q127CSIG, using GD25Q128C driver)
* WiFi: MT7615DN (2.4GHz+5Ghz) with DBDC
* Ethernet: 4x1000M LAN, 1x 1000M WAN
* LEDs: Power Blue+Orange,Wan Blue+Orange,WPS Blue,"2.4G"Blue, "5G" Blue,
  USB Blue
* Buttons: Reset,WPS, Wifi
* Serial interface: on board but not populated, pinout (from the DC jack
side to the WAN port side) is "3.3V Input Output Gnd". Baud rate is 57600,
settings are 8 data bits, no parity bit, one stop bit, and no flow control.

Stock flash layout:
```
GD25Q128C(c8 40180000) (16384 Kbytes)
mtd .name = raspi, .size = 0x01000000 (16M) .erasesize = 0x00010000 (64K)
.numeraseregions = 0
Creating 7 MTD partitions on "raspi":
0x000000000000-0x000001000000 : "ALL"
0x000000000000-0x000000030000 : "Bootloader"
0x000000030000-0x000000040000 : "Config"
0x000000040000-0x000000050000 : "Factory"
0x000000050000-0x000000060000 : "Config2"
0x000000060000-0x000000fb0000 : "Kernel"
0x000000fb0000-0x000001000000 : "Private"
```
The kernel partition will be replaced with the OpenWrt image, the other
partitions are left untouched.

"Config2" seems to be the config storage used by the stock firmware.

"Private" is a 320kB empty JFFS2 partition that comes with the stock
firmware. One can get a larger space for OpenWrt by merging it with
"Kernel".

OpenWrt flash layout:
```
0x000000000000-0x000000030000 : "u-boot"
0x000000030000-0x000000040000 : "u-boot-env"
0x000000040000-0x000000050000 : "factory"
0x000000050000-0x000000060000 : "config2_stock"
0x000000060000-0x000000fb0000 : "firmware"
0x000000fb0000-0x000001000000 : "private_stock"
```

The OpenWrt image must have 96 bytes of padding in the header.

MAC addresses on OEM firmware:
|       | location on the flash  | notes     |
|------ |----------------------- |---------- |
| lan (eth2)  | factory + 0xe000       | on label  |
| wan (eth3)  | factory + 0xe006       |           |
| 2.4g (rax0)  | not on flash           | lan + 1   |
| 5g (ra0)  | not on flash           | lan + 2   |

Mac addresses of the 2.4g and 5g interface are stored as ASCII strings in
the u-boot-env partition, but they are not used. OpenWrt calculates
Wifi Mac addresses based on the LAN Mac.

Flash and test instructions:
Flash the encrypted image (available in the OpenWrt forum) through the
stock D-Dink web interface.

1. Open the case, and solder the 4-pin header near the WAN port.
2. Connect it to a USB-UART TTL (3.3V) adapter, no need to connect VCC.
3. Open a terminal emulator (e.g. `screen /dev/ttyUSB0` on linux) with
the settings mentioned above.
4. Setup a TFTP server on your PC that can serve
`xxx-ramips-mt7621-dlink_dir-853-a1-initramfs-kernel.bin`.
5. Connect any LAN port to your PC and set a static IPv4 address to
192.168.0.101 (netmask 255.255.255.0).
6. Power on the device and keeps pressing 1 until you see the prompt.
7. Use default IP addresses and enter the file name accordingly, then hit
enter.
8. Wait until it boots to OpenWrt, the default IP address is 192.168.1.1,
you need to change your PC network adapter to use DHCP in order to access
LUCI.
9. So far, the OpenWrt runs in RAM and the flash contents are not touched.
You can try OpenWrt without having to overwrite the stock firmware, a
reboot clears all changes.
10. Optionally, backup the stock firmware (the "firmware" partition) in
Luci.
11. To permantly install OpenWrt to the device , click
on "System -> Backup/Flash Firmware" in Luci and flash
`xxx-ramips-mt7621-dlink_dir-853-a1-squashfs-sysupgrade.bin`

Known problems:
* WLAN0 defaults to 5G after a fresh installation, to enable 2.4G network,
you need to config it manually in LUCI.

* If you see jffs2 related warnings/errors after updating from the stock
web interface, you need to do a reset in LUCI. The error will be gone after
a cold reboot.

Signed-off-by: Hang Zhou <929513338qq@gmail.com>
20 months agoipq807x: don't generate factory.ubi for Buffalo WXR-5950AX12
INAGAKI Hiroshi [Sat, 25 Feb 2023 00:56:27 +0000 (09:56 +0900)]
ipq807x: don't generate factory.ubi for Buffalo WXR-5950AX12

On WXR-5950AX12, squashfs-factory.ubi is unnecessary for OpenWrt
installation and other purposes, so drop it from IMAGES and don't
generate to prevent confusion of users.

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
20 months agogeneric: MIPS: Add barriers between dcache & icache flushes
David Bauer [Thu, 2 Mar 2023 15:53:59 +0000 (16:53 +0100)]
generic: MIPS: Add barriers between dcache & icache flushes

This fixes spurious boot-errors with some ath79 MIPS 74Kc boards such
as the AC Lite as well as Archer C7 v2.

The missing barrier leads to the icache flush being executed before the
dcache writeback, which results in the CPU executing the dummy infinite
loop in tlbmiss_handler_setup_pgd.

Applying this patch from upstream ensures the dcache is written back
before flushing the icache.

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agokernel: bump 5.15 to 5.15.98
John Audia [Fri, 3 Mar 2023 18:39:04 +0000 (13:39 -0500)]
kernel: bump 5.15 to 5.15.98

Removed upstreamed:
backport-5.15/883-0001-net-Remove-WARN_ON_ONCE-sk-sk_forward_alloc-from-sk_.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.98&id=e7f460696340fe5caba5f21ddb262a44a2388af2

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agompc85xx: p2020: enable CONFIG_MAX63XX_WATCHDOG
Josef Schlehofer [Mon, 5 Sep 2022 14:36:26 +0000 (16:36 +0200)]
mpc85xx: p2020: enable CONFIG_MAX63XX_WATCHDOG

This enables CONFIG_MAX63XX_WATCHDOG [1], which can be used on P2020
RDB.

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

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
20 months agokernel: add support for max6370 watchdog via GPIO
Josef Schlehofer [Mon, 5 Sep 2022 12:54:44 +0000 (14:54 +0200)]
kernel: add support for max6370 watchdog via GPIO

This backports the third version [1], which is awaiting upstream merge. It
adds support for watchdog max6370, which is connected via GPIO. It
is useful primarily for P2020 RDB and Turris 1.x routers, which are
not yet supported.

[1] https://www.spinics.net/lists/linux-watchdog/msg23299.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
20 months agokernel: move CONFIG_PAGE_POOL to generic
Nick Hainke [Thu, 23 Feb 2023 10:45:52 +0000 (11:45 +0100)]
kernel: move CONFIG_PAGE_POOL to generic

Move "# CONFIG_PAGE_POOL is not set" to generic.

Suggested-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agomac80211: fix regression in sw a-msdu tx introduced in mesh improvement patches
Felix Fietkau [Fri, 3 Mar 2023 10:20:46 +0000 (11:20 +0100)]
mac80211: fix regression in sw a-msdu tx introduced in mesh improvement patches

Fixes: 6262d3eb068c ("mac80211: sync mesh fast xmit patch with upstream requested changes")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agobmips: loader-lzma: drop unused RAMSIZE parameter
Álvaro Fernández Rojas [Thu, 2 Mar 2023 17:32:29 +0000 (18:32 +0100)]
bmips: loader-lzma: drop unused RAMSIZE parameter

This parameter has never been used.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobcm63xx: loader-lzma: drop unused RAMSIZE parameter
Álvaro Fernández Rojas [Thu, 2 Mar 2023 17:00:40 +0000 (18:00 +0100)]
bcm63xx: loader-lzma: drop unused RAMSIZE parameter

This parameter has never been used.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agofritz-tools: fix segfault in caldata-extract
David Bauer [Tue, 28 Feb 2023 18:53:44 +0000 (19:53 +0100)]
fritz-tools: fix segfault in caldata-extract

 * Fix incorrect error message in case input file opening fails
 * Don't close files in case the pointers are invalid

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agomac80211: add mesh fast-rx support
Felix Fietkau [Thu, 2 Mar 2023 13:03:47 +0000 (14:03 +0100)]
mac80211: add mesh fast-rx support

This helps bring down rx CPU usage by avoiding calls to the rx handlers in
the slow path. Supports forwarding and local rx, including A-MSDU.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: fix mtk dsa tag padding
Felix Fietkau [Thu, 2 Mar 2023 11:58:16 +0000 (12:58 +0100)]
kernel: fix mtk dsa tag padding

The padding intended to avoid corrupted non-zero padding payload was
accidentally adding too many padding bytes, tripping up some setups.
Fix this by using eth_skb_pad instead.
Fixes #11942.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agolinux-firmware: add mt7986 offload firmware
Felix Fietkau [Thu, 2 Mar 2023 10:24:15 +0000 (11:24 +0100)]
linux-firmware: add mt7986 offload firmware

This is needed for WED support on MT7986.
Enable it by default for the filogic subtarget.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomt76: update to the latest version
Felix Fietkau [Wed, 1 Mar 2023 18:59:35 +0000 (19:59 +0100)]
mt76: update to the latest version

71d84bfb343e wifi: mt76: mt76x0u: report firmware version through ethtool
99d13130b517 wifi: mt76: support ww power config in dts node
09c614734880 Revert "wifi: mt76: mt7996: rely on mt76_connac2_mac_decode_he_radiotap"
e1c9c1cb50a8 mt76: mt7921: Let PCI core handle power state and use pm_sleep_ptr()
34064dbcd72a wifi: mt76: mt7921e: add pci .shutdown() support
18ccfa73a9e2 wifi: mt76: remove redundent MCU_UNI_CMD_* definitions
282845ce7f3d wifi: mt76: mt7921: fix wrong command to set STA channel
546934dacfd4 wifi: mt76: mt7921: fix PCI DMA hang after reboot
fc2ed0dfc5b0 wifi: mt76: mt7996: Remove unneeded semicolon
1b602db9c235 wifi: mt76: mt7915: unlock on error in mt7915_thermal_temp_store()
ce2438aa616a wifi: mt76: mt7996: fix radiotap bitfield
17ec2146b8f0 wifi: mt76: dynamic channel bandwidth changes in AP mode
ab2d3650a456 wifi: mt76: mt7915: expose device tree match table
90d78253498e wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device
a69c34a60451 wifi: mt76: mt7915: rework init flow in mt7915_thermal_init()
39079b5e44a7 wifi: mt76: drop the incorrect scatter and gather frame
f9ca70d6367a wifi: mt76: mt7915: add back 160MHz channel width support for MT7915
eff7666e1aa4 wifi: mt76: handle failure of vzalloc in mt7615_coredump_work
920bc6e1fc8e wifi: mt76: do not run mt76_unregister_device() on unregistered hw
b0721b96927b wifi: mt76: connac: refresh tx session timer for WED device
c32d6d849c43 wifi: mt76: usb: fix use-after-free in mt76u_free_rx_queue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomac80211: add patch for allowing the driver to refresh aggregation sessions
Felix Fietkau [Thu, 2 Mar 2023 10:18:14 +0000 (11:18 +0100)]
mac80211: add patch for allowing the driver to refresh aggregation sessions

Required by a mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomac80211: backport upstream HE/VHT capability handling changes
Felix Fietkau [Wed, 1 Mar 2023 13:41:01 +0000 (14:41 +0100)]
mac80211: backport upstream HE/VHT capability handling changes

Will be required by an mt76 update at some point

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomac80211: sync mesh fast xmit patch with upstream requested changes
Felix Fietkau [Tue, 28 Feb 2023 10:05:48 +0000 (11:05 +0100)]
mac80211: sync mesh fast xmit patch with upstream requested changes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agotoolchain/binutils: switch to version 2.40 by default
Hauke Mehrtens [Mon, 20 Feb 2023 21:38:27 +0000 (22:38 +0100)]
toolchain/binutils: switch to version 2.40 by default

This was build tested with all core packages on all targets
successfully.

This was run tested on the following systems:
* lantiq/xrx200 musl
* x86/64 musl
* x86/64 glibc
* malta/be

The size of some of the initramfs images from lantiq/xrx increased by
240 bytes.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agotoolchain/binutils: backport stable patches
Hauke Mehrtens [Mon, 20 Feb 2023 21:35:50 +0000 (22:35 +0100)]
toolchain/binutils: backport stable patches

Add the patches with real changes from the binutils 2.40 stable branch.
I am not aware that we ran into any of these problems, but I think it is
better to take the existing stable patches.

They were exported like this:
git format-patch binutils-2_40...origin/binutils-2_40-branch
I removed the patches changing the version numbers and updating the
translations only.

I removed the following patches:
 *Automatic-date-updat*
 001-Re-enable-development.-Update-version-to-2.40.0.patch
 004-Updated-translations-for-the-gas-and-binutils-sub-di.patch
 015-Updated-Swedish-translation-for-the-binutils-sub-dir.patch
 027-Updated-Swedish-translation-for-the-binutils-sub-dir.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agokernel: fix hwmon-gsc driver
Tim Harvey [Tue, 28 Feb 2023 00:11:33 +0000 (16:11 -0800)]
kernel: fix hwmon-gsc driver

Fix hwmon-gsc driver by replacing out-of-tree hwmon-gsc driver with in-tree
driver that was merged in Linux v5.8:
 - remove the old out-of-tree module
 - add configuration for the in-tree modules

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
20 months agomt7621: move uboot-envtools to DEFAULT_PACKAGES
Bjørn Mork [Tue, 28 Feb 2023 11:39:36 +0000 (12:39 +0100)]
mt7621: move uboot-envtools to DEFAULT_PACKAGES

Several devices depend on fw_printenv during sysupgrade.  Make sure
it always is present in all images, including initramfs images built
by the buildbots.

Fixes: 2449a632084b ("ramips: mt7621: Add support for ZyXEL NR7101")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
20 months agoramips: rt5350: enable lzma-loader for ALLNET ALL5003
Sergio Paracuellos [Sat, 25 Feb 2023 11:01:40 +0000 (12:01 +0100)]
ramips: rt5350: enable lzma-loader for ALLNET ALL5003

Fixes the boot loader LZMA decompression issue:
LZMA ERROR 1 - must RESET board to recover

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
20 months agokexec-tools: update to 2.0.26
Nick Hainke [Sun, 28 Aug 2022 04:57:17 +0000 (06:57 +0200)]
kexec-tools: update to 2.0.26

Release Notes:
- 2.0.22: https://www.spinics.net/lists/kexec/msg26864.html
- 2.0.23: https://www.spinics.net/lists/kexec/msg27693.html
- 2.0.24: https://www.spinics.net/lists/kexec/msg28922.html
- 2.0.25: https://lore.kernel.org/all/YuYl22cyGldQQc5m@vergenet.net/
- 2.0.26: https://www.spinics.net/lists/kexec/msg30743.html

Remove upstreamed patch:
- 001-arm-do-not-copy-magic-4-bytes-of-appended-DTB-in-zIm.patch

Tested-by: Linhui Liu <liulinhui36@gmail.com> # x86_64
Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agokernel: add tty led trigger kernel module package
Florian Eckert [Wed, 8 Feb 2023 08:23:08 +0000 (09:23 +0100)]
kernel: add tty led trigger kernel module package

This allows LEDs to be controlled by activity on ttys which includes
serial devices like '/dev/ttyS0'.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
20 months agokernel: bump 5.15 to 5.15.96
John Audia [Mon, 27 Feb 2023 22:54:37 +0000 (17:54 -0500)]
kernel: bump 5.15 to 5.15.96

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agokernel: bump 5.15 to 5.15.95
John Audia [Thu, 23 Feb 2023 11:16:52 +0000 (06:16 -0500)]
kernel: bump 5.15 to 5.15.95

Removed upstreamed:
backport-5.15/807-v6.1-0003-nvmem-core-add-error-handling-for-dev_set_name.patch[1]
bcm47xx/patches-5.15/070-net-bgmac-fix-BCM5358-support-by-setting-correct-fla.patch[2]

Added fix:
backport-5.15/883-0001-net-Remove-WARN_ON_ONCE-sk-sk_forward_alloc-from-sk_.patch[3]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.95&id=14eea6449473c1f55e196cc104ba16d144465869
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.95&id=2603a5ca6223bb3a88814e2728335eec14f715ab
3. https://lore.kernel.org/stable/20230227211548.13923-1-kuniyu@amazon.com

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agofstools: update to the latest master
Rafał Miłecki [Tue, 28 Feb 2023 09:04:56 +0000 (10:04 +0100)]
fstools: update to the latest master

bfe882d libblkid-tiny: add exfat superblock support

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
20 months agobcm47xx: fix bgmac support for BCM5358
Rafał Miłecki [Mon, 27 Feb 2023 09:46:14 +0000 (09:46 +0000)]
bcm47xx: fix bgmac support for BCM5358

Fix two long-standing regressions.

Fixes: https://github.com/openwrt/openwrt/issues/8278
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
20 months agobcm47xx: add pending devices support
Rafał Miłecki [Mon, 27 Feb 2023 07:44:12 +0000 (07:44 +0000)]
bcm47xx: add pending devices support

This includes Lines E2500 V2 and Huawei B593u-12.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
20 months agobcm47xx: reorder MIPS BCM47XX patches
Rafał Miłecki [Mon, 27 Feb 2023 06:30:58 +0000 (06:30 +0000)]
bcm47xx: reorder MIPS BCM47XX patches

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
20 months agomac80211: fix mesh path discovery based on unicast packets
Felix Fietkau [Sun, 26 Feb 2023 19:35:40 +0000 (20:35 +0100)]
mac80211: fix mesh path discovery based on unicast packets

If a packet has reached its intended destination, it was bumped to the code
that accepts it, without first checking if a mesh_path needs to be created
based on the discovered source.
Fix this by moving the destination address check further down

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomac80211: rework mesh fast xmit implementation
Felix Fietkau [Sun, 26 Feb 2023 12:36:58 +0000 (13:36 +0100)]
mac80211: rework mesh fast xmit implementation

Refactor in order to make use of generic fast xmit functions
Fix issues with mesh SA/DA addressing

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agoocteontx: add f2fs and ext4 support
Tim Harvey [Tue, 21 Feb 2023 23:08:29 +0000 (15:08 -0800)]
octeontx: add f2fs and ext4 support

Add both ext4 and f2fs support for overlayfs. The fstools mount_root
application will choose f2fs if the overlay volume space available
exceeds 100MB, otherwise ext4 is used.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
20 months agoocteontx: add default packages for on-board devices
Tim Harvey [Sat, 18 Feb 2023 01:06:41 +0000 (17:06 -0800)]
octeontx: add default packages for on-board devices

The Gateworks Newport boards supported by the octeontx target have
the following on-board devices:
 - Gateworks System Controller
 - GPIO buttons
 - GPIO leds
 - GPS PPS
 - Accelerometer
 - MCP251X CAN controller

Add kernel drivers for these devices in DEFAULT_PACKAGES

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
20 months agoath79: add support for MikroTik RouterBOARD 911 Lite2/Lite5
Tomasz Maciej Nowak [Wed, 24 Aug 2022 16:05:58 +0000 (18:05 +0200)]
ath79: add support for MikroTik RouterBOARD 911 Lite2/Lite5

Forward-port from ar71xx target the board introduced in commit
eb9e3651dd1a (" ar71xx: add support for the MikroTik RB911-2Hn/5Hn
boards"). Citing:

The patch adds support for the MikroTik RB911-2Hn (911 Lite2)
and the RB911-5Hn (911 Lite5) boards:

  https://mikrotik.com/product/RB911-2Hn
  https://mikrotik.com/product/RB911-5Hn

The two boards are using the same hardware design, the only difference
between the two is the supported wireless band.

Specifications:
  * SoC: Atheros AR9344 (600MHz)
  * RAM: 64MiB
  * Storage: 16 MiB SPI NOR flash
  * Ethernet: 1x100M (Passive PoE in)
  * Wireless: AR9344 built-in wireless MAC, single chain
              802.11b/g/n (911-2Hn) or 802.11a/g/n (911-5Hn)

Notes:
  * Older versions of these boards might be equipped with a NAND
    flash chip instead of the SPI NOR device. Those boards are not
    supported (yet).[1]
  * The MikroTik RB911-5HnD (911 Lite5 Dual) board also uses the
    same hardware. Support for that can be added later with little
    effort probably.[2]

End of citation.

Follow intallation instruction from that commit message, using
openwrt-ath79-mikrotik-mikrotik_routerboard-911-lite-initramfs-kernel.bin
and
openwrt-ath79-mikrotik-mikrotik_routerboard-911-lite-squashfs-sysupgrade.bin
images found in ath79/mikrotik directory. Be advised that the board
accepts 10-30 V on PoE input.

Known issues
Compared to ar71xx target image, there is still small leak of current to
user LED, which makes it lit, although weaker, even if brightness is set
to 0. The cause of that is still unknown.

1. https://github.com/openwrt/openwrt/pull/3652
2. RB911-5HnD should work with this commit or with [1], depending on
   what flash topology was used.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
20 months agoath79: mikrotik: stack ar9344 devices to single dtsi
Tomasz Maciej Nowak [Wed, 24 Aug 2022 16:05:57 +0000 (18:05 +0200)]
ath79: mikrotik: stack ar9344 devices to single dtsi

Most of boards from MikroTik with AR9344 SoC (supported and
un-supported) replicate the same schematic, so stack common device nodes
to a single dtsi.

ar9344_mikrotik_routerboard-16m-nor.dtsi:
- remove include paragraph and wmac node, make it single nor flash node
  for others dts to include

ar9344_mikrotik_routerboard-lhg-5nd.dts:
- move all of the nodes to new file ar9344_mikrotik_routerboard.dtsi
  and leave only power, user and lan LEDs which differ from sxt-5nd-r2
  and other yet unsupported devices

ar9344_mikrotik_routerboard-sxt-5n.dtsi:
- remove, it made no sense to keep it, as only
  ar9344_mikrotik_routerboard-sxt-5nd-r2.dts included this file and
  added only compatible and model

ar9344_mikrotik_routerboard-sxt-5nd-r2.dts:
- include ar9344_mikrotik_routerboard.dtsi
- add nand gpio activating node, beeper, additional LEDs and flash chips
  which previously have been in ar9344_mikrotik_routerboard-sxt-5n.dtsi

ar9344_mikrotik_routerboard.dtsi:
- inherited most of the content from ar9344_mikrotik_routerboard-lhg-5nd.dts
  except three LEDs
- add wmac node, removed from ar9344_mikrotik_routerboard-16m-nor.dtsi

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
20 months agobuild: fix for sourcing targets image config installed via feeds
Prasun Maiti [Wed, 16 Nov 2022 11:03:33 +0000 (16:33 +0530)]
build: fix for sourcing targets image config installed via feeds

Sourcing of image/Config.in will not happen
When a target is installed from target/linux/feeds/

Signed-off-by: Prasun Maiti <prasunmaiti87@gmail.com>
Acked-by: Petr Štetiar <ynezz@true.cz>
20 months agotreewide: remove label = "cpu" from DSA dt-binding
Arınç ÜNAL [Wed, 30 Nov 2022 18:00:13 +0000 (21:00 +0300)]
treewide: remove label = "cpu" from DSA dt-binding

This is not used by the DSA dt-binding, so remove it from all devicetrees.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9cc115d8d6f73dd260de1609182f3645844d6907
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
20 months agobcm53xx: Add D-Link DWL-8610AP board settings
Linus Walleij [Fri, 16 Dec 2022 20:52:44 +0000 (21:52 +0100)]
bcm53xx: Add D-Link DWL-8610AP board settings

The D-Link DWL-8610AP does not make use of the B53 switch
like most equipment. It lies dormant and the machine is using
eth0 and eth1 directly.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agobcm53xx: Add support for D-Link DWL-8610AP
Linus Walleij [Fri, 16 Dec 2022 20:52:27 +0000 (21:52 +0100)]
bcm53xx: Add support for D-Link DWL-8610AP

The D-Link DWL-8610AP is a pretty straight-forward BC53016
device, D-Link has invented a firmware package format which
is a tar file, and we implement this for the factory image.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agosunxi: enable CONFIG_NVMEM_SYSFS
Jan-Niklas Burfeind [Fri, 30 Dec 2022 02:41:17 +0000 (03:41 +0100)]
sunxi: enable CONFIG_NVMEM_SYSFS

in both the stable and the testing kernel

h2+/h3/h5 devices have a Secure ID that can be read from
`/sys/bus/nvmem/devices/sunxi-sid0/nvmem`.
Enabling CONFIG_NVMEM_SYSFS grants sysfs access from userspace.

Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
20 months agogrub2: re-add test module
Tomasz Maciej Nowak [Mon, 23 Jan 2023 13:44:50 +0000 (14:44 +0100)]
grub2: re-add test module

It seems more hardware needs early load of firmware when initialised
to work properly (at least Intel hardware). One of previous case is CPU
microcode, which this series[1] tried to change. The second one is Intel
graphics IC, which needs firmware for controlling DMC circuit (switch
conncted display to DC6 power state). As it stands, the i915 module is
built-in and it seems the hardware can't cope with firmware loaded
later from rootfs, it needs to be supplied when the module is loaded.
Unfortunately we need bootloader to handle the load of firmware in this
case, but as previously mentioned series[1], there was an error when
initrd was hardcoded, instead of testing existence for it and then
loading. To remedy this in later the 55b808e0c4be ('x86: image: add test
module to bootloader') was commited. Which was later accidentally
dropped when grub2 image creation was moved to packages. Therefore bring
back test module, so we can test for cases of existing firmware in
grub.cfg.

1. https://patchwork.ozlabs.org/project/openwrt/cover/20181120162044.16371-1-tomek_n@o2.pl

Fixes: 5a5df62d95f5 ("x86/grub2: move grub2 image creation to package")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
20 months agox86: remove bootloader upgrade from preinit
Tomasz Maciej Nowak [Mon, 23 Jan 2023 13:44:49 +0000 (14:44 +0100)]
x86: remove bootloader upgrade from preinit

This hack was to bring all existing installations to the newest GRUB
version as fast as possible. Since 19.07.x is EoL we can assume this
task is completed. Now sysupgrade will solely be responsible for
bootloader upgrade.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
20 months agomvebu: add support for Buffalo LinkStation LS220DE
Daniel González Cabanelas [Mon, 20 Feb 2023 23:43:55 +0000 (00:43 +0100)]
mvebu: add support for Buffalo LinkStation LS220DE

The Buffalo LinkStation LS220DE is a dual bay NAS, based on Marvell
Armada 370

Hardware:
   SoC:         Marvell Armada 88F6707
   CPU:         Cortex-A9 800 MHz, 1 core
   Flash 1:     SPI-NOR 1 MiB (U-Boot)
   Flash 2:     NAND 512 MiB (OS)
   RAM:         DDR3 256 MiB
   Ethernet:    1x 1GbE
   USB:         1x 2.0
   SATA:        2x 3Gb/s
   LEDs/Input:  5x / 2x (1x button, 1x slide-switch)
   Fan:         1x casing

Flash instructions, from hard drive:
  1. Get access to the "boot" partition at the hard drive where the stock
     firmware is installed. It can be done with acp-commander or by
     plugging the hard drive to a computer.
  2. Backup the stock uImage:
         mv /boot/uImage.buffalo /boot/uImage.buffalo.bak
  3. Move and rename the Openwrt initramfs image to the boot partition:
         mv openwrt-initramfs-kernel.bin /boot/uImage.buffalo
  4. Power on the Linkstation with the hardrive inside. Now Openwrt will
     boot, but still not installed.
  5. Connect via ssh to OpenWrt:
         ssh root@192.168.1.1
  6. Rename boot files inside boot partition
         mount -t ext3 /dev/sda1 /mnt
         mv /mnt/uImage.buffalo /mnt/uImage.buffalo.openwrt.bak
         mv /mnt/initrd.buffalo /mnt/initrd.buffalo.bak
  7. Format ubi partitions at the NAND flash ("kernel_ubi" and "ubi"):
         ubiformat /dev/mtd0 -y
         ubidetach -p /dev/mtd1
         ubiformat /dev/mtd1 -y
  8. Flash the sysupgrade image:
         sysupgrade -n openwrt-squashfs-sysupgrade.bin
  9. Wait until it finish, the device will reboot with OpenWrt installed
     on the NAND flash.

Restore the stock firmware:
  1. Take the hard drive used for the installation and restore boot backup
     files to their original names:
         mount -t ext3 /dev/sda1 /mnt
         mv /mnt/uImage.buffalo.bak /mnt/uImage.buffalo
         mv /mnt/initrd.buffalo.bak /mnt/initrd.buffalo
  2. Boot from the hard drive and perform a stock firmware update using
     the Buffalo utility. The NAND will be restored to the original
     state.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
20 months agoocteontx: switch to Kernel 5.15
Tim Harvey [Tue, 21 Feb 2023 20:35:05 +0000 (12:35 -0800)]
octeontx: switch to Kernel 5.15

Switch over from testing version.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
20 months agoramips: Alternative name Asus RT-AC750L for Asus RT-AC1200V2
Karl Chan [Thu, 16 Feb 2023 10:47:21 +0000 (18:47 +0800)]
ramips: Alternative name Asus RT-AC750L for Asus RT-AC1200V2

The Asus RT-AC750L is identical to the already supported Asus RT-AC1200V2. Use the ALT0 buildroot tags to show both devices.

Reference : https://forum.openwrt.org/t/asus-rt-ac750l-is-the-same-as-rt-ac1200-v2/151783

Signed-off-by: Karl Chan <exkc@exkc.moe>
20 months agomac80211: fix mesh fast xmit header cache flush
Felix Fietkau [Thu, 23 Feb 2023 14:06:14 +0000 (15:06 +0100)]
mac80211: fix mesh fast xmit header cache flush

split into multiple functions depending on sta, mpath or mpp

Signed-off-by: Felix Fietkau <nbd@nbd.name>
21 months agoncurses: add alacritty terminfo
Tobias Hilbig [Sat, 25 Feb 2023 10:40:37 +0000 (11:40 +0100)]
ncurses: add alacritty terminfo

Add terminfo file for the terminal emulator alacritty.

https://github.com/alacritty/alacritty

Signed-off-by: Tobias Hilbig <web.tobias@hilbig-ffb.de>
21 months agodnsmasq: bump to v2.89
Kevin Darbyshire-Bryant [Wed, 18 Jan 2023 09:39:18 +0000 (09:39 +0000)]
dnsmasq: bump to v2.89

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
21 months agoipq40xx: Linksys MR8300: fix the USB port power
Daniel González Cabanelas [Thu, 16 Feb 2023 22:04:20 +0000 (23:04 +0100)]
ipq40xx: Linksys MR8300: fix the USB port power

The USB port on the MR8300 randomly fails to feed bus-powered devices.

This is caused by a misconfigured pinmux. The GPIO68 should be used to
enable the USB power (active low), but it's inside the NAND pinmux.

This GPIO pin was found in the original firmware at a startup script in
both MR8300 and EA8300. Therefore apply the fix for both boards.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>
21 months agoramips: correct the PCIe port number for some mt7621 devices
Felix Baumann [Mon, 20 Feb 2023 02:40:20 +0000 (03:40 +0100)]
ramips: correct the PCIe port number for some mt7621 devices

MT7621 uses a new PCIe driver in the 5.15+ kernel. Allocating wrong PCIe
port will cause the PCIe NIC to not work properly. This commit fixes
the wrong port numbers on Netgear R6220, WAC104 and WNDR3700 v5.

According to bootlog, MT7612E (5GHz) is connected to pcie0, and
MT7603E (2GHz) is connected to pcie2:
[2.758986] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK)
[2.772862] mt7621-pci 1e140000.pcie: PCIE0 enabled
[2.782579] mt7621-pci 1e140000.pcie: PCIE2 enabled
...
[3.009151] pci 0000:01:00.0: [14c3:7662] type 00 class 0x028000
[3.125715] pci 0000:02:00.0: [14c3:7603] type 00 class 0x028000

Tested-by: Maximilian Baumgartner <aufhaxer@googlemail.com>
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[felix.bau@gmx.de: adjust commit message for Netgear devices]
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
21 months agotools/squashfs4: fix PKG_MIRROR_HASH
Daniel Golle [Sat, 25 Feb 2023 17:49:10 +0000 (17:49 +0000)]
tools/squashfs4: fix PKG_MIRROR_HASH

The hash currently matches neither the SHA256 of the Github download
nor the hash of the archive generated by the OpenWrt build system.
(and yes, they differ...)

Set hash of Github-generated tarball.

Fixes: 30f2d516ba ("tools/squashfs4: add new tool for squashfs4 images")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
21 months agomvebu: setup effective thermal zones on Puzzle M901 and M902
Daniel Golle [Sat, 25 Feb 2023 17:42:23 +0000 (17:42 +0000)]
mvebu: setup effective thermal zones on Puzzle M901 and M902

Assign fan with 4 active cooling levels to be used for the main CPU as
well as external SerDes units.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
21 months agomvebu: puzzle: fix fan thermal cooling driver
Daniel Golle [Sat, 25 Feb 2023 02:35:16 +0000 (02:35 +0000)]
mvebu: puzzle: fix fan thermal cooling driver

Several fixes for the Puzzle WT61P803 hwmon driver were needed to make
it behave well as thermal cooling device:
 - wire-up cooling device with OF node in device tree
 - properly parse cooling-levels (u32 with range check vs. u8)
 - actually use cooling-levels
 - keep current state and only write to uC if state has changed
   (avoids flooding the uC with commands which will result in uC crashing)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
21 months agonetifd: update to the latest version
Hauke Mehrtens [Sat, 25 Feb 2023 18:56:12 +0000 (19:56 +0100)]
netifd: update to the latest version

ed65a00 netifd: bridge: Fix format string position
19372d8 netifd: Fix multiple -Wsign-compare warnings
8ebf033 netifd: Do not return values in void function
c77417a netifd: Explicitly zero initialize variables
463a120 netifd: Activate -Wextra compile warnings

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agoustream-ssl: update to Git version 2023-02-25
Hauke Mehrtens [Sat, 25 Feb 2023 17:37:26 +0000 (18:37 +0100)]
ustream-ssl: update to Git version 2023-02-25

498f6e2 ustream-mbedtls: Use getrandom() instead of /dev/urandom

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agoath79: add support for GL.iNet GL-X1200
Xinfa Deng [Thu, 9 Feb 2023 07:37:30 +0000 (15:37 +0800)]
ath79: add support for GL.iNet GL-X1200

This patch adds supports for GL-X1200.

Specification:
- SOC: QCA9563 (775MHz)
- Flash: 16 MiB
- RAM: 128 MiB DDR2
- Ethernet: 4x 1Gbps LAN + 1x 1Gbps WAN
- Wireless: QCA9563(2.4GHz) and QCA9886(5GHz)
- SIM: 2x SIM card slots
- MicroSD: 1x microSD slot
- Antenna: 2x external 5dBi antennas
- USB: 1x USB 2.0 port
- Button: 1x reset button
- LED: 16x LEDs (3x GPIO controllable)
- UART: 1x UART on PCB (JP1: 3.3V, RX, TX, GND)
- OEM U-Boot supplies HTTP/GUI access

Implementation Notes
====================

Both the NOR and NAND variants boot off a NOR-based kernel,
consistent with the OEM's firmware.

The mode LEDs are
    * Boot, Running   system
    * Failsafe        2G
    * Upgrade         5G

Installation
============

Using sysupgrade
----------------

sysupgrade may be used to install a NAND image on a device running
a NAND image or a NOR image on a device running a NOR image. It is
recommended to *not* preserve config when upgrading from OEM firmware
or previous versions of OpenWrt. No supported sysupgrade path should
require "force". Transitioning from NOR to NAND can be accomplished

Using U-Boot
------------

The OEM U-Boot can be put into a graphical, firmware-upload mode by
holding down the button on the side of the router while applying power
and for a bit more than five seconds following with the current OEM
U-Boot. The power LED will come on, then the 5G LED will flash five
times, about once a second.  When the 5G LED stops flashing and the
2G LED lights solid, the router's U-Boot will provide an upload page
at http://192.168.1.1/ Either a browser may be used to upload an image,
or a utility such as curl may be used:

curl -X POST -F gl_firmware=\@*-nand-squashfs-factory.img \
         http://192.168.1.1/index.html
or
    curl -X POST -F gl_firmware=\@*-nor-squashfs-sysupgrade.bin \
         http://192.168.1.1/index.html

Note that NOR vs. NAND is based on the file name extension.

Signed-off-by: Xinfa Deng <xinfa.deng@gl-inet.com>
21 months agotoolchain: remove references to $(LIBC)/utils subtarget
Michael Pratt [Tue, 21 Feb 2023 19:58:20 +0000 (14:58 -0500)]
toolchain: remove references to $(LIBC)/utils subtarget

The utils subtarget was used for uClibc and eglibc
which are both obsolete and replaced in Openwrt by mainline
musl and glibc, which do not have a utils Makefile target.

Ref: 5d19a38d8 ("toolchain: sync eglibc headers/build split with uclibc changes")
Fixes: 63fb17520 ("toolchain: remove uClibc-ng")
Suggested-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
21 months agotoolchain: cleanup dependencies
Michael Pratt [Wed, 10 Aug 2022 21:56:41 +0000 (17:56 -0400)]
toolchain: cleanup dependencies

Reorganize dependencies between toolchain targets to save a line.
This also puts them in a linear order which is easier to read.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
21 months agotoolchain: fix stampfile dependency
Michael Pratt [Sat, 10 Sep 2022 01:43:18 +0000 (21:43 -0400)]
toolchain: fix stampfile dependency

Use the gcc/final/install target stampfile as the prerequisite
for the toolchain/compile target stampfile.

The previous filename was also incorrect,
the stampfile name format was changed (see reference)
but was never updated here.

The issue was never noticed
because the usage of timestamp.pl was broken
(fixed in previous commit)
causing the extra prereq files passed to 'call stampfile'
to never get checked at all.

Fixes: 5149ed151 ("gcc: split up the build process into three distinct stages")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
21 months agoiproute2: update to 6.2
Nick Hainke [Wed, 22 Feb 2023 14:56:25 +0000 (15:56 +0100)]
iproute2: update to 6.2

Release Notes:
https://lwn.net/Articles/923952/

Refresh patches:
- 110-darwin_fixes.patch
- 115-add-config-xtlibdir.patch
- 140-allow_pfifo_fast.patch
- 140-keep_libmnl_optional.patch
- 145-keep_libelf_optional.patch
- 150-keep_libcap_optional.patch
- 155-keep_tirpc_optional.patch
- 170-ip_tiny.patch
- 175-reduce-dynamic-syms.patch
- 180-drop_FAILED_POLICY.patch
- 190-fix-nls-rpath-link.patch
- 195-build_variant_ip_tc.patch
- 200-drop_libbsd_dependency.patch
- 300-selinux-configurable.patch

Remove upstreamed:
- 320-configure-Remove-include-sys-stat.h.patch

While working on it remove AUTORELEASE.

Signed-off-by: Nick Hainke <vincent@systemli.org>