openwrt/openwrt.git
21 months agomt7622: remove 300 MHz from dts
John Audia [Wed, 6 Jul 2022 15:49:50 +0000 (11:49 -0400)]
mt7622: remove 300 MHz from dts

Due to the bug described here[1], remove the 300 MHz clock to avoid a low
voltage condition that can cause a hang when rebooting the RT3200/E8450.

This solution is probably better than the script-based work-around[2].

1. https://forum.openwrt.org/t/belkin-rt3200-linksys-e8450-wifi-ax-discussion/94302/1490
2. https://github.com/openwrt/openwrt/pull/5025

Signed-off-by: John Audia <therealgraysky@proton.me>
Tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
Tested-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit d0d6b8e1833c587d0c50cac4f6324aa93b0bc8fc)
[ fix the conflict by apply the patch to kernel 5.10 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
21 months agobcm4908: use upstream-accepted watchdog patches
Rafał Miłecki [Mon, 18 Jul 2022 13:44:32 +0000 (15:44 +0200)]
bcm4908: use upstream-accepted watchdog patches

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 864fdf2bf3f4b5c71e57a27c514672b966580148)

21 months agobcm4908: backport latest DT patches
Rafał Miłecki [Mon, 18 Jul 2022 13:11:02 +0000 (15:11 +0200)]
bcm4908: backport latest DT patches

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 001856fa51eaa704a254955138f76907eb02c2b4)

21 months agokernel: update leds-bcm63138 driver
Rafał Miłecki [Mon, 18 Jul 2022 13:06:11 +0000 (15:06 +0200)]
kernel: update leds-bcm63138 driver

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit bb2a2b1dbe9c03d2abbb6989b6c4041e765543b0)

21 months agokernel: backport LEDs driver for BCMBCA devices
Rafał Miłecki [Mon, 18 Jul 2022 06:13:50 +0000 (08:13 +0200)]
kernel: backport LEDs driver for BCMBCA devices

This includes BCM63xx and BCM4908 families.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit d9ab1e56d8d16182bd292f393c012d7e6873ed89)

21 months agoopkg: update to 2022-02-24
Josef Schlehofer [Wed, 15 Jun 2022 14:31:12 +0000 (16:31 +0200)]
opkg: update to 2022-02-24

Changes:
9c44557 opkg_remove: avoid remove pkg repeatly with option --force-removal-of-dependent-packages
2edcfad libopkg: set 'const' attribute for argv

This should fix the CI error in the packages repository, which happens with perl.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit e21fea92891fbdfb4eb14e9fe836530b6225cb1f)

21 months agofirmware: intel-microcode: update to 20220510
Christian Lamparter [Sat, 25 Jun 2022 21:24:40 +0000 (23:24 +0200)]
firmware: intel-microcode: update to 20220510

Debians' changelog by Henrique de Moraes Holschuh <hmh@debian.org>:

 * New upstream microcode datafile 20220419
  * Fixes errata APLI-11 in Atom E3900 series processors
  * Updated Microcodes:
    sig 0x000506ca, pf_mask 0x03, 2021-11-16, rev 0x0028, size 16384

 * New upstream microcode datafile 20220510
  * Fixes INTEL-SA-000617, CVE-2022-21151:
    Processor optimization removal or modification of security-critical
    code may allow an authenticated user to potentially enable information
    disclosure via local access (closes: #1010947)
  * Fixes several errata (functional issues) on Xeon Scalable, Atom C3000,
    Atom E3900
  * New Microcodes:
    sig 0x00090672, pf_mask 0x03, 2022-03-03, rev 0x001f, size 212992
    sig 0x00090675, pf_mask 0x03, 2022-03-03, rev 0x001f, size 212992
    sig 0x000906a3, pf_mask 0x80, 2022-03-24, rev 0x041c, size 212992
    sig 0x000906a4, pf_mask 0x80, 2022-03-24, rev 0x041c, size 212992
    sig 0x000b06f2, pf_mask 0x03, 2022-03-03, rev 0x001f, size 212992
    sig 0x000b06f5, pf_mask 0x03, 2022-03-03, rev 0x001f, size 212992
  * Updated Microcodes:
    sig 0x00030679, pf_mask 0x0f, 2019-07-10, rev 0x090d, size 52224
    sig 0x000406e3, pf_mask 0xc0, 2021-11-12, rev 0x00f0, size 106496
    sig 0x00050653, pf_mask 0x97, 2021-11-13, rev 0x100015d, size 34816
    sig 0x00050654, pf_mask 0xb7, 2021-11-13, rev 0x2006d05, size 43008
    sig 0x00050656, pf_mask 0xbf, 2021-12-10, rev 0x4003302, size 37888
    sig 0x00050657, pf_mask 0xbf, 2021-12-10, rev 0x5003302, size 37888
    sig 0x0005065b, pf_mask 0xbf, 2021-11-19, rev 0x7002501, size 29696
    sig 0x000506c9, pf_mask 0x03, 2021-11-16, rev 0x0048, size 17408
    sig 0x000506e3, pf_mask 0x36, 2021-11-12, rev 0x00f0, size 109568
    sig 0x000506f1, pf_mask 0x01, 2021-12-02, rev 0x0038, size 11264
    sig 0x000606a6, pf_mask 0x87, 2022-03-30, rev 0xd000363, size 294912
    sig 0x000706a1, pf_mask 0x01, 2021-11-22, rev 0x003a, size 75776
    sig 0x000706a8, pf_mask 0x01, 2021-11-22, rev 0x001e, size 75776
    sig 0x000706e5, pf_mask 0x80, 2022-03-09, rev 0x00b0, size 112640
    sig 0x000806a1, pf_mask 0x10, 2022-03-26, rev 0x0031, size 34816
    sig 0x000806c1, pf_mask 0x80, 2022-02-01, rev 0x00a4, size 109568
    sig 0x000806c2, pf_mask 0xc2, 2021-12-07, rev 0x0026, size 97280
    sig 0x000806d1, pf_mask 0xc2, 2021-12-07, rev 0x003e, size 102400
    sig 0x000806e9, pf_mask 0x10, 2021-11-12, rev 0x00f0, size 105472
    sig 0x000806e9, pf_mask 0xc0, 2021-11-12, rev 0x00f0, size 105472
    sig 0x000806ea, pf_mask 0xc0, 2021-11-12, rev 0x00f0, size 105472
    sig 0x000806eb, pf_mask 0xd0, 2021-11-15, rev 0x00f0, size 105472
    sig 0x000806ec, pf_mask 0x94, 2021-11-17, rev 0x00f0, size 105472
    sig 0x00090661, pf_mask 0x01, 2022-02-03, rev 0x0016, size 20480
    sig 0x000906c0, pf_mask 0x01, 2022-02-19, rev 0x24000023, size 20480
    sig 0x000906e9, pf_mask 0x2a, 2021-11-12, rev 0x00f0, size 108544
    sig 0x000906ea, pf_mask 0x22, 2021-11-15, rev 0x00f0, size 104448
    sig 0x000906eb, pf_mask 0x02, 2021-11-12, rev 0x00f0, size 105472
    sig 0x000906ec, pf_mask 0x22, 2021-11-15, rev 0x00f0, size 104448
    sig 0x000906ed, pf_mask 0x22, 2021-11-16, rev 0x00f0, size 104448
    sig 0x000a0652, pf_mask 0x20, 2021-11-16, rev 0x00f0, size 96256
    sig 0x000a0653, pf_mask 0x22, 2021-11-15, rev 0x00f0, size 97280
    sig 0x000a0655, pf_mask 0x22, 2021-11-16, rev 0x00f0, size 96256
    sig 0x000a0660, pf_mask 0x80, 2021-11-15, rev 0x00f0, size 96256
    sig 0x000a0661, pf_mask 0x80, 2021-11-16, rev 0x00f0, size 96256
    sig 0x000a0671, pf_mask 0x02, 2022-03-09, rev 0x0053, size 103424

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 2747a94f0977b36c4c29cc4596879b9127cfaf5f)

21 months agoopenssl: bump to 1.1.1q
Dustin Lundquist [Wed, 6 Jul 2022 16:08:52 +0000 (09:08 -0700)]
openssl: bump to 1.1.1q

Changes between 1.1.1p and 1.1.1q [5 Jul 2022]

  *) AES OCB mode for 32-bit x86 platforms using the AES-NI assembly optimised
     implementation would not encrypt the entirety of the data under some
     circumstances.  This could reveal sixteen bytes of data that was
     preexisting in the memory that wasn't written.  In the special case of
     "in place" encryption, sixteen bytes of the plaintext would be revealed.

     Since OpenSSL does not support OCB based cipher suites for TLS and DTLS,
     they are both unaffected.
     (CVE-2022-2097)
     [Alex Chernyakhovsky, David Benjamin, Alejandro Sedeño]

Signed-off-by: Dustin Lundquist <dustin@null-ptr.net>
(cherry picked from commit 3899f68b54b31de4b4fef4f575f7ea56dc93d965)

21 months agowolfssl: bump to 5.4.0
Eneas U de Queiroz [Fri, 15 Jul 2022 19:09:58 +0000 (16:09 -0300)]
wolfssl: bump to 5.4.0

This version fixes two vulnerabilities:
-CVE-2022-34293[high]: Potential for DTLS DoS attack
-[medium]: Ciphertext side channel attack on ECC and DH operations.

The patch fixing x86 aesni build has been merged upstream.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
(cherry picked from commit 9710fe70a68e0a004b1906db192d7a6c8f810ac5)
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
21 months agoath79: bsap18x0: pad rootfs image
Tomasz Maciej Nowak [Mon, 4 Jul 2022 12:23:06 +0000 (14:23 +0200)]
ath79: bsap18x0: pad rootfs image

This image is supposed to be written with help of bootloader to the
flash, but as it stands, it's not aligned to block size and RedBoot will
happily create non-aligned partition size in FIS directory. This could
lead to kernel to mark the partition as read-only, therefore pad the
image to block erase size boundary.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
(cherry picked from commit 9decd2a8436d2bb6b5f436268c92a6e6728486ce)

21 months agoath79: ja76pf2: use nvmem cells to specify MAC addresses
Tomasz Maciej Nowak [Mon, 4 Jul 2022 12:23:05 +0000 (14:23 +0200)]
ath79: ja76pf2: use nvmem cells to specify MAC addresses

The bootloader on this board hid the partition containig MAC addresses
and prevented adding this space to FIS directory, therefore those had to
be stored in RedBoot configuration as aliases to be able to assigne them
to proper interfaces. Now that fixed partition size are used instead of
redboot-fis parser, the partition containig MAC addresses could be
specified, and with marking it as nvmem cell, we can assign them without
userspace involvement.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
(cherry picked from commit b52719b71a3337e5ae840c7a50fe41ebdc070f4e)

21 months agoath79: move image check for devices with RedBoot
Tomasz Maciej Nowak [Mon, 4 Jul 2022 12:23:04 +0000 (14:23 +0200)]
ath79: move image check for devices with RedBoot

Don't comence the switch to RAMFS when the image format is wrong. This
led to rebooting the device, which could lead to false impression that
upgrade succeded.
Being here, factor out the code responsible for upgrading RedBoot
devices to separate file.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
(cherry picked from commit 5897c52e78e3cd3846db083d48dd9d6b47ff3a08)

21 months agoath79: switch some RedBoot based devices to OKLI loader
Tomasz Maciej Nowak [Mon, 4 Jul 2022 12:23:03 +0000 (14:23 +0200)]
ath79: switch some RedBoot based devices to OKLI loader

After the kernel has switched version to 5.10, JA76PF2 and
RouterStations lost the capability to sysupgrade the OpenWrt version.
The cause is the lack of porting the patches responsible for partial
flash erase block writing and these boards FIS directory and RedBoot
config partitions share the same erase block. Because of that the FIS
directory can't be updated to accommodate kernel/rootfs partition size
changes. This could be remedied by bootloader update, but it is very
intrusive and could potentially lead to non-trivial recovery procedure,
if something went wrong. The less difficult option is to use OpenWrt
kernel loader, which will let us use static partition sizes and employ
mtd splitter to dynamically adjust kernel and rootfs partition sizes.
On sysupgrade from ath79 19.07 or 21.02 image, which still let to modify
FIS directory, the loader will be written to kernel partition, while the
kernel+rootfs to rootfs partition.

The caveats are:
* image format changes, no possible upgrade from ar71xx target images
* downgrade to any older OpenWrt version will require TFTP recovery or
  usage of bootloader command line interface

To downgrade to 19.07 or 21.02, or to upgrade if one is already on
OpenWrt with kernel 5.10, for RouterStations use TFTP recovery
procedure. For JA76PF2 use instructions from this commit message:
commit 0cc87b3bacee ("ath79: image: disable sysupgrade images for routerstations and ja76pf2"),
replacing kernel image with loader (loader.bin suffix) and rootfs
image with firmware (firmware.bin suffix).

Fixes: b10d6044599d ("kernel: add linux 5.10 support")
Fixes: 15aa53d7ee65 ("ath79: switch to Kernel 5.10")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
(mkubntimage was moved to generic-ubnt.mk)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 5c142aad7bc018fe000789740a486c49973035b8)

21 months agorockchip: reliably distribute net interrupts
Ronny Kotzschmar [Wed, 6 Jul 2022 13:14:21 +0000 (15:14 +0200)]
rockchip: reliably distribute net interrupts

On the NanoPI R4S it takes an average of 3..5 seconds for the network devices
to appear in '/proc/interrupts'.
Wait up to 10 seconds to ensure that the distribution of the interrupts
really happens.

Signed-off-by: Ronny Kotzschmar <ro.ok@me.com>
(cherry picked from commit 9b00e9795660f53caf1f4f5fd932bbbebd2eeeb1)

21 months agowolfssl: re-enable AES-NI by default for x86_64
Eneas U de Queiroz [Wed, 6 Jul 2022 20:55:58 +0000 (17:55 -0300)]
wolfssl: re-enable AES-NI by default for x86_64

Apply an upstream patch that removes unnecessary CFLAGs, avoiding
generation of incompatible code.

Commit 0bd536723303ccd178e289690d073740c928bb34 is reverted so the
accelerated version builds by default on x86_64.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
(cherry picked from commit 639419ec4fd1501a9b9857cea96474271ef737b1)

21 months agomac80211: fix AQL issue with multicast traffic
Felix Fietkau [Wed, 13 Jul 2022 05:52:04 +0000 (07:52 +0200)]
mac80211: fix AQL issue with multicast traffic

Exclude multicast from pending AQL budget

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 9f1d6223289b5571ddc77c0e5327ab51137199d9)

21 months agorealtek: build sane factory images for DGS-1210 models
Markus Stockhausen [Wed, 6 Jul 2022 11:43:23 +0000 (13:43 +0200)]
realtek: build sane factory images for DGS-1210 models

During upload of firmware images the WebUI and CLI patch process
extracts a version information from the uploaded file and stores it
onto the jffs2 partition. To be precise it is written into the
flash.txt or flash2.txt files depending on the selected target image.
This data is not used anywhere else. The current OpenWrt factory
image misses this label. Therefore version information shows only
garbage. Fix this.

Before:
DGS-1210-20> show firmware information
IMAGE ONE:
Version      : xfo/QE~WQD"A\Scxq...
Size         : 5505185 Bytes

After:
DGS-1210-20> show firmware information
IMAGE ONE:
Version      : OpenWrt
Size         : 5505200 Bytes

Tested-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
(cherry picked from commit fae3ac3560459320a88be86b31c572c4bca42645)

21 months agorealtek: build factory images for all DGS-1210 models
Markus Stockhausen [Wed, 6 Jul 2022 11:41:51 +0000 (13:41 +0200)]
realtek: build factory images for all DGS-1210 models

Currently we build factory images only for DGS-1210-28 model. Relax
that constraint and take care about all models. Tested on DGS-1210-20
and should work on other models too because of common flash layout.

Tested-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
(cherry picked from commit 2b49ec3a28ad09446f48f1f830a42bdfe3bce9be)

21 months agorealtek: rename u-boot-env2 to board-name
Luiz Angelo Daros de Luca [Mon, 4 Jul 2022 17:11:26 +0000 (14:11 -0300)]
realtek: rename u-boot-env2 to board-name

Some realtek boards have two u-boot-env partitions. However, in the
DGS-1210 series, the mtdblock2 partition is not a valid u-boot env
and simply contains the board/device name, followed by nulls.

00000000  44 47 53 2d 31 32 31 30  2d 32 38 2d 46 31 00 00 |DGS-1210-28-F1..|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
*
00040000

00000000  44 47 53 2d 31 32 31 30  2d 35 32 2d 46 31 00 00 |DGS-1210-52-F1..|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
*
00040000

The misleading u-boot-env2 name also confuses uboot-envtools.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
(cherry picked from commit 8b798dbb39856463878efb07ddef87ce2e522ceb)

21 months agoscripts: fix CAMEO tag generator
Sander Vanheule [Tue, 5 Jul 2022 08:16:08 +0000 (10:16 +0200)]
scripts: fix CAMEO tag generator

What should have been only cosmetic changes, ended up in breaking the
script. Rename UIMAGE_CRC_SLICE back to (the original) UIMAGE_CRC_OFF.

Fixes issue #10204 "cameo-tag.py broken"

Reported-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Fixes: f9e840b65700 ("scripts: add CAMEO tag generator")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit ebfe66e494e57f4b421f1190d6bff1d361db1b3d)

21 months agorealtek: build DGS-1210 images with CAMEO tag
Markus Stockhausen [Tue, 5 Jul 2022 06:46:59 +0000 (08:46 +0200)]
realtek: build DGS-1210 images with CAMEO tag

From now on we will insert CAMEO tags into sysupgrade images for
DGS-1210 devices. This will make the "OS:...FAILED" and "FS:...FAILED"
messages go away.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
(cherry picked from commit e763c4c89fc5569d7264ff60837eb4aff69a0bfb)

21 months agoscripts: add CAMEO tag generator
Markus Stockhausen [Tue, 5 Jul 2022 06:46:21 +0000 (08:46 +0200)]
scripts: add CAMEO tag generator

This script inserts CAMEO tags into an uImage to make U-Boot
of DGS-1210 switches happy.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Suggested-by: Sander Vanheule <sander@svanheule.net> # Mutual checksum algorithm
[commit title prefix, trailing whitespace, OpenWrt capitalisation, move
CRC calculation comment, use UIMAGE_NAME_*, remove parentheses for
return, use f-string instead of str()]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit f9e840b65700e1cdff6d066d39c163bac936d046)

21 months agorealtek: add DGS-1210-28 factory image
Luiz Angelo Daros de Luca [Thu, 23 Jun 2022 20:50:03 +0000 (17:50 -0300)]
realtek: add DGS-1210-28 factory image

DGS-1210 switches support dual image, with each image composed of a
kernel and a rootfs partition. For image1, kernel and rootfs are in
sequence. The current OpenWrt image (written using a serial console),
uses those partitions together as the firmware partition, ignoring the
partition division. The current OEM u-boot fails to validate image1 but
it will only trigger firmware recovery if both image1 and image2 fail,
and it does not switch the boot image in case one of them fails the
check.

The OEM factory image is composed of concatenated blocks of data, each
one prefixed with a 0x40-byte cameo header. A normal OEM firmware will
have two of these blocks (kernel, rootfs). The OEM firmware only checks
the header before writing unconditionally the data (except the header)
to the correspoding partition.

The OpenWrt factory image mimics the OEM image by cutting the
kernel+rootfs firmware at the exact size of the OEM kernel partition
and packing it as "the kernel partition" and the rest of the kernel and
the rootfs as "the rootfs partition". It will only work if written to
image1 because image2 has a sysinfo partition between kernel2 and
rootfs2, cutting the kernel code in the middle.

Steps to install:

1) switch to image2 (containing an OEM image), using web or these CLI
   commands:
   - config firmware image_id 2 boot_up
   - reboot
2) flash the factory_image1.bin to image1. OEM web (v6.30.016)
   is crashing for any upload (ssh keys, firmware), even applying OEM
   firmwares. These CLI commands can upload a new firmware to the other
   image location (not used to boot):
   - download firmware_fromTFTP <tftpserver> factory_image1.bin
   - config firmware image_id 1 boot_up
   - reboot

To debrick the device, you'll need serial access. If you want to
recover to an OpenWrt, you can replay the serial installation
instructions. For returning to the original firmware, press ESC during
the boot to trigger the emergency firmware recovery procedure. After
that, use D-Link Network Assistant v2.0.2.4 to flash a new firmware.

The device documentation does describe that holding RESET for 12s
trigger the firmware recovery. However, the latest shipped U-Boot
"2011.12.(2.1.5.67086)-Candidate1" from "Aug 24 2021 - 17:33:09" cannot
trigger that from a cold boot. In fact, any U-Boot procedure that relies
on the RESET button, like reset settings, will only work if started from
a running original firmware. That, in practice, cancels the benefit of
having two images and a firmware recovery procedure (if you are not
consider dual-booting OpenWrt).

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
(cherry picked from commit 1005dc0a64587e954364ff3a64bbb38b2ca371cd)

21 months agoscripts: add cameo image header generator
Luiz Angelo Daros de Luca [Fri, 24 Jun 2022 19:05:16 +0000 (16:05 -0300)]
scripts: add cameo image header generator

The cameo header is a 0x40-byte header used by D-Link DGS 1210 switches
and Apresia ApresiaLightGS series. cameo-imghdr.py is a clean-room
reimplementation of imghdr present in the DGS-1210-28-GPL package.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
[fix board_version argument's help text]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 2fd66e058b0804b9c561d8d6858363fdf5bd7aea)

21 months agobcm53xx: use -falign-functions=32 for kernel compilation
Rafał Miłecki [Sun, 3 Jul 2022 11:22:00 +0000 (13:22 +0200)]
bcm53xx: use -falign-functions=32 for kernel compilation

Northstar SoCs have pretty small CPU caches and their performance is
heavily affected by cache hits & misses. It means that all kind of
random code changes can affect performance as they often reorganize
(change alignment & possibly reorder) kernel symbols.

It was discussed in ARM / net mailinglists:
1. ARM router NAT performance affected by random/unrelated commits [1] [2]
2. Optimizing kernel compilation / alignments for network performance [3] [4]

It seems that -falign-functions can be used as a partial workaround. It
doesn't solve all cases (e.g. documented watchdog one [5]) but it surely
helps with many of them.

A complete long term solution may be PGO (profile-guided optimization)
but it isn't available at this point.

[1] https://lkml.org/lkml/2019/5/21/349
[2] https://www.spinics.net/lists/linux-block/msg40624.html
[3] https://lore.kernel.org/linux-arm-kernel/066fc320-dc04-11a4-476e-b0d11f3b17e6@gmail.com/T/
[4] https://www.spinics.net/lists/netdev/msg816103.html
[5] http://lists.openwrt.org/pipermail/openwrt-devel/2022-July/038989.html

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit abc5b28db164dc2d807750cb2baae91e288c84a9)

21 months agobcm53xx: enable & setup packet steering
Rafał Miłecki [Fri, 10 Jun 2022 08:51:23 +0000 (10:51 +0200)]
bcm53xx: enable & setup packet steering

Packet steering can improve NAT masquarade performance on Northstar by
40-50%. It makes reaching 940-942 Mb/s possible on BCM4708 (and
obviously BCM47094 too). Add scripts setting up the most optimal
Northstar setup.

Below are testing results for running iperf TCP traffic from LAN to WAN.
They were used to pick up golden values.

┌──────────┬──────────┬────────────────────┬────────────────────┐
│   eth0   │  br-lan  │ flow_offloading=0  │ flow_offloading=1  │
│          │          ├─────────┬──────────┼─────────┬──────────┤
│ rps_cpus │ rps_cpus │ BCM4708 │ BCM47094 │ BCM4708 │ BCM47094 │
├──────────┼──────────┼─────────┼──────────┼─────────┼──────────┤
│        0 │        0 │     387 │      671 │     707 │      941 │
│        0 │        1 │     343 │      576 │     705 │      941 │
│        0 │        2 │   ✓ 574 │    ✓ 941 │     704 │      940 │
│        1 │        0 │     320 │      549 │     561 │      941 │
│        1 │        1 │     327 │      551 │     553 │      941 │
│        1 │        2 │     523 │    ✓ 940 │     559 │      940 │
│        2 │        0 │     383 │      652 │   ✓ 940 │      941 │
│        2 │        1 │     448 │      754 │   ✓ 942 │      941 │
│        2 │        2 │     404 │      655 │   ✓ 941 │      941 │
└──────────┴──────────┴─────────┴──────────┴─────────┴──────────┘

Above tests were performed with all eth0 interrupts handled by CPU0.
Setting "echo 2 > /proc/irq/38/smp_affinity" was tested on BCM4708 but
it didn't increased speeds (just required different steering):

┌──────────┬──────────┬───────────┐
│   eth0   │  br-lan  │ flow_offl │
│   rx-0   │   rx-0   │ oading=0  │
│ rps_cpus │ rps_cpus │  BCM4708  │
├──────────┼──────────┼───────────┤
│        0 │        0 │       384 │
│        0 │        1 │     ✓ 574 │
│        0 │        2 │       348 │
│        1 │        0 │       383 │
│        1 │        1 │       412 │
│        1 │        2 │       448 │
│        2 │        0 │       321 │
│        2 │        1 │       520 │
│        2 │        2 │       327 │
└──────────┴──────────┴───────────┘

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit fcbd39689ebfef20c62fe3882d51f3af765e8028)

21 months agobcm53xx: disable GRO by default at kernel level
Rafał Miłecki [Mon, 20 Jun 2022 08:21:20 +0000 (10:21 +0200)]
bcm53xx: disable GRO by default at kernel level

This improves NAT masquarade network performance.

An alternative to kernel change would be runtime setup but that requires
ethtool and identifying relevant network interface and all related
switch ports interfaces.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 82d0dd8f8aa11249944fe39cd0d75a1524ec22ec)

21 months agobcm53xx: revert bgmac back to the old limited max frame size
Rafał Miłecki [Fri, 10 Jun 2022 12:02:19 +0000 (14:02 +0200)]
bcm53xx: revert bgmac back to the old limited max frame size

Bumping max frame size has significantly affected network performance.
It was done by upstream commit that first appeared in the 5.7 release.

This change bumps NAT masquarade speed from 196 Mb/s to 383 Mb/s for the
BCM4708 SoC.

Ref: f55f1dbaad33 ("bcm53xx: switch to the kernel 5.10")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 230c9da963aad9e1a2f8f128c30067ccad2efef8)

21 months agokernel: drop patch adding hardcoded kernel compilation flags
Rafał Miłecki [Wed, 15 Jun 2022 10:36:37 +0000 (12:36 +0200)]
kernel: drop patch adding hardcoded kernel compilation flags

1. KCFLAGS should be used for custom flags
2. Optimization flags are arch / SoC specific
3. -fno-reorder-blocks may *worsen* network performace on some SoCs
4. Usage of flags was *reversed* since 5.4 and noone reported that

If we really need custom flags then CONFIG_KERNEL_CFLAGS should get
default value adjusted properly (per target).

Ref: 4e0c54bc5bc8 ("kernel: add support for kernel 5.4")
Link: http://lists.openwrt.org/pipermail/openwrt-devel/2022-June/038853.html
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20190409093046.13401-1-zajec5@gmail.com/
Cc: Felix Fietkau <nbd@nbd.name>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: Rui Salvaterra <rsalvaterra@gmail.com>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 22168ae68101b95d03741b0e9e8ad20b8a5ae5b7)

21 months agokernel: support setting extra CFLAGS for kernel compilation
Rafał Miłecki [Wed, 15 Jun 2022 10:36:36 +0000 (12:36 +0200)]
kernel: support setting extra CFLAGS for kernel compilation

They may be used e.g. to optimize kernel size or performance.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 907d7d747243044f86588f0d82993e8c106cb02c)

21 months agokernel: use KCFLAGS for passing EXTRA_OPTIMIZATION flags
Rafał Miłecki [Wed, 15 Jun 2022 08:41:37 +0000 (10:41 +0200)]
kernel: use KCFLAGS for passing EXTRA_OPTIMIZATION flags

This uses kernel's generic variable and doesn't require patching it with
a custom Makefile change. It's expected *not* to change any behaviour.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 1d42af720c6b6dcfcdd0b89bce386fca1607dcb3)
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit 24e27bec9a6df1511a504cf04cd9578a23e74657)

21 months agoOpenWrt v22.03.0-rc5: revert to branch defaults
Hauke Mehrtens [Wed, 6 Jul 2022 21:01:51 +0000 (23:01 +0200)]
OpenWrt v22.03.0-rc5: revert to branch defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agoOpenWrt v22.03.0-rc5: adjust config defaults v22.03.0-rc5
Hauke Mehrtens [Wed, 6 Jul 2022 21:01:47 +0000 (23:01 +0200)]
OpenWrt v22.03.0-rc5: adjust config defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agokernel: Add missing mediatek configuration options
Hauke Mehrtens [Wed, 6 Jul 2022 18:32:11 +0000 (20:32 +0200)]
kernel: Add missing mediatek configuration options

When building the mediatek/mt7629 target in OpenWrt 22.03 the kernel
does not have a configuration option for CONFIG_CRYPTO_DEV_MEDIATEK. Add
this option to the generic kernel configuration and also add two other
configuration options which are removed when we refresh the mt7629
kernel configuration.

Fixes: 2bea35cb55d7 ("mediatek: remove crypto-hw-mtk package")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit dcc0fe24ea216d32300c0f01c8879e586d89cc1e)

21 months agoopenssl: bump to 1.1.1p
Andre Heider [Thu, 23 Jun 2022 07:08:07 +0000 (09:08 +0200)]
openssl: bump to 1.1.1p

Changes between 1.1.1o and 1.1.1p [21 Jun 2022]

  *) In addition to the c_rehash shell command injection identified in
     CVE-2022-1292, further bugs where the c_rehash script does not
     properly sanitise shell metacharacters to prevent command injection have been
     fixed.

     When the CVE-2022-1292 was fixed it was not discovered that there
     are other places in the script where the file names of certificates
     being hashed were possibly passed to a command executed through the shell.

     This script is distributed by some operating systems in a manner where
     it is automatically executed.  On such operating systems, an attacker
     could execute arbitrary commands with the privileges of the script.

     Use of the c_rehash script is considered obsolete and should be replaced
     by the OpenSSL rehash command line tool.
     (CVE-2022-2068)
     [Daniel Fiala, Tomáš Mráz]

  *) When OpenSSL TLS client is connecting without any supported elliptic
     curves and TLS-1.3 protocol is disabled the connection will no longer fail
     if a ciphersuite that does not use a key exchange based on elliptic
     curves can be negotiated.
     [Tomáš Mráz]

Signed-off-by: Andre Heider <a.heider@gmail.com>
(cherry picked from commit eb7d2abbf06f0a3fe700df5dc6b57ee90016f1f1)

21 months agomediatek: mt7622: fix white dome LED of UniFi 6 LR
Daniel Golle [Mon, 4 Jul 2022 17:42:20 +0000 (18:42 +0100)]
mediatek: mt7622: fix white dome LED of UniFi 6 LR

The recent differentiation between v1 and v2 of the UniFi 6 LR added
support for the v2 version which has GPIO-controlled LEDs instead of
using an additional microcontroller to drive an RGB led.
The polarity of the white LED, however, was inverted and the default
states didn't make a lot of sense after all. Fix that.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit f58e562b07803192d029a6be8c8c372e1ed11c68)

21 months agomvebu: cortexa72: fix ImageBuilder for IEI Puzzle devices
Daniel Golle [Mon, 4 Jul 2022 17:33:13 +0000 (18:33 +0100)]
mvebu: cortexa72: fix ImageBuilder for IEI Puzzle devices

The line trying to generate the standard sdcard.img.gz fails due to
boot.scr not being generated.
Remove the line in order to use the default sdcard.img.gz which is
exactly the same but includes generating the boot.scr file.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 1d3b57dbeeae70ab3a8f71d3bdb6fd41a00e1d22)

21 months agouboot-mediatek: update UniFi 6 LR board name
Daniel Golle [Thu, 16 Jun 2022 18:55:02 +0000 (19:55 +0100)]
uboot-mediatek: update UniFi 6 LR board name

Select matching U-Boot for both v1 and v2 variants.

Fixes: 15a02471bb ("mediatek: new target mt7622-ubnt-unifi-6-lr-v1")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 2caa03ec8607fb38e11ac1ce3c7b698f80191b49)

21 months agomediatek: add Ubiquiti UniFi 6 LR v2 targets
Henrik Riomar [Tue, 31 May 2022 17:52:24 +0000 (19:52 +0200)]
mediatek: add Ubiquiti UniFi 6 LR v2 targets

Add targets:
 * Ubiquiti UniFi 6 LR v2
 * Ubiquiti UniFi 6 LR v2 (U-Boot mod)

This target does not have a RGB led bar like v1 did

Used target/linux/ramips/dts/mt7621_ubnt_unifi.dtsi as inspiration

The white dome LED is default-on, blue will turn on when the system is
in running state

Signed-off-by: Henrik Riomar <henrik.riomar@gmail.com>
(cherry picked from commit 31d86a1a119265393db02aa66e6bc6518ee7b905)

21 months agomediatek: new target ubnt_unifi-6-lr-v1-ubootmod
Henrik Riomar [Tue, 31 May 2022 17:49:49 +0000 (19:49 +0200)]
mediatek: new target ubnt_unifi-6-lr-v1-ubootmod

based on current ubnt_unifi-6-lr-ubootmod

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[added SUPPORTED_DEVICES for compatibility with existing setups]
Signed-off-by: Henrik Riomar <henrik.riomar@gmail.com>
(cherry picked from commit 5c8d3893a78fd81454930de30d90efaef99f8734)

21 months agomediatek: new target mt7622-ubnt-unifi-6-lr-v1
Henrik Riomar [Tue, 31 May 2022 17:18:06 +0000 (19:18 +0200)]
mediatek: new target mt7622-ubnt-unifi-6-lr-v1

Based on current mt7622-ubnt-unifi-6-lr, this is a preparation for
adding a v2 version of this target

* v1 - with led-bar
* v2 - two simple GPIO connected LEDs (in later commits)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[added SUPPORTED_DEVICES for compatibility with existing setups]
Signed-off-by: Henrik Riomar <henrik.riomar@gmail.com>
(cherry picked from commit 15a02471bb854245f8f94398c1e1d9ce29c2c341)

21 months agomediatek: build ubnt-ledbar as a module
Chuanhong Guo [Sat, 30 Apr 2022 15:08:00 +0000 (23:08 +0800)]
mediatek: build ubnt-ledbar as a module

The config for LEDS_UBNT_LEDBAR doesn't stay in mt7629 kconfig because
of its I2C dependency. Build it as a module and let buildroot handle
this config option instead.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
(cherry picked from commit d9ea9c06e98b597174e0e94e0a13934637c0c03e)

21 months agomediatek: remove crypto-hw-mtk package
Eneas U de Queiroz [Thu, 31 Mar 2022 13:38:49 +0000 (10:38 -0300)]
mediatek: remove crypto-hw-mtk package

The MediaTek's Crypto Engine module is only available for mt7623, in
which case it is built into the kernel.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
(cherry picked from commit 3f2d0703b60357e3ff1865783335be9f51528eb8)

21 months agomediatek: mt7622: fix banana pi r64 wps button
Nick Hainke [Fri, 1 Jul 2022 13:01:13 +0000 (15:01 +0200)]
mediatek: mt7622: fix banana pi r64 wps button

Fix the wps button to prevent wrongly detected recovery procedures.
In the official banana pi r64 git the wps button is set to
GPIO_ACTIVE_LOW and not GPIO_ACTIVE_HIGH.

Import patch to fix on boot unwanted recovery entering:

  Press the [f] key and hit [enter] to enter failsafe mode
  Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
  - failsafe button wps was pressed -
  - failsafe -

Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry-picked from commit 668619425526cb0d43f8536a2f6f15a6314e6553)

21 months agomediatek/mt7629: Activate CONFIG_ARM_ARCH_TIMER_EVTSTREAM
Hauke Mehrtens [Sun, 3 Jul 2022 20:20:54 +0000 (20:20 +0000)]
mediatek/mt7629: Activate CONFIG_ARM_ARCH_TIMER_EVTSTREAM

The kernel configuration option CONFIG_MACH_MT7629 selects
CONFIG_HAVE_ARM_ARCH_TIMER now. Handle this change in the config-5.10.

This fixes some build problems.

Fixes: 81530d69ef58 ("kernel: bump 5.10 to 5.10.121")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agomt76: update to the latest version
Felix Fietkau [Sun, 3 Jul 2022 17:24:48 +0000 (19:24 +0200)]
mt76: update to the latest version

93e3fce916c6 mt76: pass original queue id from __mt76_tx_queue_skb to the driver

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 06d0cc2fb365485dd1ddd32937afd5091fa4b8a8)

21 months agokernel: Refresh patches for all targets
Hauke Mehrtens [Sun, 3 Jul 2022 15:26:59 +0000 (15:26 +0000)]
kernel: Refresh patches for all targets

This refreshes the patches on top of kernel 5.4.127.

Deleted (upstreamed):
bcm27xx/patches-5.10/950-0005-Revert-mailbox-avoid-timer-start-from-callback.patch [0]
bcm27xx/patches-5.10/950-0678-bcm2711_thermal-Don-t-clamp-temperature-at-zero.patch [1]

Needed manual modifications:
bcm27xx/patches-5.10/950-0410-drm-atomic-Pass-the-full-state-to-CRTC-atomic-begin-.patch

[0]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.127&id=bb2220e0672b7433a9a42618599cd261b2629240
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.127&id=83603802954068ccd1b8a3f2ccbbaf5e0862acb0

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agomt76: update to the latest version
Felix Fietkau [Sat, 2 Jul 2022 14:55:13 +0000 (16:55 +0200)]
mt76: update to the latest version

c07f45927839 firmware: update mt7622 firmware to version 20220630
af406a2d1c36 mt76: do not use skb_set_queue_mapping for internal purposes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 8e90abb39615e25a03f255f2c16c9203ab976ae7)

21 months agomac80211: fix mesh queue selection issue
Felix Fietkau [Sat, 2 Jul 2022 14:53:54 +0000 (16:53 +0200)]
mac80211: fix mesh queue selection issue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 51e9d496ba7958fb9f2d3eb4bc7f257837145dd0)

21 months agoramips: improve YunCore AX820 LEDs
Thibaut VARÈNE [Thu, 30 Jun 2022 08:06:35 +0000 (10:06 +0200)]
ramips: improve YunCore AX820 LEDs

At least two AX820 hardware variants are known to exist, but they cannot
be distinguished (same hardware revision, no specific markings).

They appear to have the same LED hardware, but wired differently:

- One has a red system LED at GPIO 15, a green wlan2g LED at GPIO 14 and
  a blue wlan5g LED at GPIO 16;
- The other only offers a green system LED at GPIO 15, with GPIO 14 and
  16 being apparently not connected

Finally, a Yuncore datasheet says the canonical wiring should be:
- Blue wlan2g GPIO 14, green system GPIO 15, red wlan5g GPIO 16

All GPIOs are tied to a single RGB LED which is exposed via lightpipe on
the device front casing.

Considering the above, this patch exposes all three LEDs, preserves the
common system LED (GPIO 15) as the openwrt status LED, and removes the
color information from the LEDs names since it is not consistent across
hardware. The LED naming is made consistent with other YunCore devices.
A note is added in DTS to ensure this information is always available
and prevent unwanted changes in the future.

Fixes: #10131 "YunCore AX820: GPIO LED not correct"
Reviewed-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
21 months agokernel: bump 5.10 to 5.10.127
John Audia [Wed, 29 Jun 2022 08:22:49 +0000 (04:22 -0400)]
kernel: bump 5.10 to 5.10.127

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 433dc5892a60003753655aac6e6a4b59fb13b2e4)

21 months agokernel: bump 5.10 to 5.10.126
John Audia [Mon, 27 Jun 2022 20:40:48 +0000 (16:40 -0400)]
kernel: bump 5.10 to 5.10.126

No patches rebased, just checksum update for this refresh.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit c5882c33a78153e84acca22af3429ff6eb6c99e0)

22 months agoqoriq: enable Book-E Watchdog Timer
Stijn Tintel [Fri, 1 Jul 2022 13:17:37 +0000 (16:17 +0300)]
qoriq: enable Book-E Watchdog Timer

Enable PowerPC Book-E Watchdog Timer support. Having this enabled
in-kernel will result in procd starting it during boot.

This effectively solves the problem of the WDT in the Winbond W83793 chip
potentially resetting the system during sysupgrade, which could result
in an unbootable device. While the driver is modular, resulting in procd
not starting the WDT during boot (because that happens before kmod
load), the WDT handover during sysupgrade results in the WDT being
started. This normally shouldn't be a problem, but the W83793 WDT does
not like procd's defaults, nor the handover happening during sysupgrade.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 04071cb111f290417074de130d34ae5895fd3a7b)

22 months agoipq40xx: cut ath10k board file for mikrotik subtarget
John Thomson [Fri, 20 May 2022 22:13:21 +0000 (08:13 +1000)]
ipq40xx: cut ath10k board file for mikrotik subtarget

Avoid shipping ath10k board file in Mikrotik initram images

Most will only ever need to use these initram images once—to initially
load OpenWrt, but fix these images for more consistent Wi-Fi performance
between the initram and installed squashfs images.

OpenWrt BUILDBOT config ignores -cut packages in the initram images build.
This results in BUILDBOT initram images including the linux-firmware
qca4019 board-2.bin, and (initram image booted) Mikrotik devices loading
a generic BDF, rather than the intended BDF data loaded
from NOR as an api 1 board_file.

buildbot snapshot booted as initram image:
cat /etc/openwrt_version
r19679-810eac8c7f
dmesg | grep ath10k | grep -E board\|BDF
[    9.794556] ath10k_ahb a000000.wifi: Loading BDF type 0
[    9.807192] ath10k_ahb a000000.wifi: board_file api 2 bmi_id 0:16
crc32 11892f9b
[   12.457105] ath10k_ahb a800000.wifi: Loading BDF type 0
[   12.464945] ath10k_ahb a800000.wifi: board_file api 2 bmi_id 0:17
crc32 11892f9b

CC: Robert Marko <robimarko@gmail.com>
Fixes: 5eee67a72fed ("ipq40xx: mikrotik: dont include ath10k-board-qca4019 by default")
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Reviewed-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 602b5f6c60a2827bd918dfae0ffb271f8b88f4df)
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
22 months agoipq40xx: mikrotik: dont include ath10k-board-qca4019 by default
Robert Marko [Sat, 14 May 2022 18:30:44 +0000 (20:30 +0200)]
ipq40xx: mikrotik: dont include ath10k-board-qca4019 by default

Since MikroTik subtarget now uses dynamic BDF loading its crucial that it
doesnt include the board-2.bin at all which is provided by the
ath10k-board-qca4019 package.

So to resolve this dont include the ath10k-board-qca4019 package on the
MikroTik subtarget.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 5eee67a72fed52ac686dd467d93eea95d44c8dff)
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
22 months agoipq-wifi: remove packaged BDF-s for MikroTik devices
Robert Marko [Tue, 30 Nov 2021 09:25:52 +0000 (10:25 +0100)]
ipq-wifi: remove packaged BDF-s for MikroTik devices

Since we now provide the BDF-s for MikroTik IPQ40xx devices on the fly,
there is noneed to include package and ship them like we do now.

This also resolves the performance issues that happen as MikroTik
changes the boards and ships them under the same revision but they
actually ship with and require a different BDF.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ab141a6e2cb645ff64adb107af2e8973a720c1c7)
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
22 months agoipq40xx: mikrotik: provide BDF-s on demand
Robert Marko [Tue, 30 Nov 2021 09:27:50 +0000 (10:27 +0100)]
ipq40xx: mikrotik: provide BDF-s on demand

Since we now can pass the API 1 BDF-s aka board.bin to the ath10k
driver per radio lets use that to provide the BDF-s for MikroTik devices.

This also resolves the performance issues that happen as MikroTik changes
the boards and ships them under the same revision but they actually ship
with and require a different BDF.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4d4462cc2ace4b044e99e9b22a24cb4d89c7db95)
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
22 months agomac80211: ath10k: backport bus and device specific API 1 BDF selection
Robert Marko [Tue, 30 Nov 2021 09:37:41 +0000 (10:37 +0100)]
mac80211: ath10k: backport bus and device specific API 1 BDF selection

Some ath10k IPQ40xx devices like the MikroTik hAP ac2 and ac3 require the
BDF-s to be extracted from the device storage instead of shipping packaged
API 2 BDF-s.

This is required as MikroTik has started shipping boards that require BDF-s
to be updated, as otherwise their WLAN performance really suffers.
This is however impossible as the devices that require this are release under
the same revision and its not possible to differentiate them from devices
using the older BDF-s.

In OpenWrt we are extracting the calibration data during runtime and we are
able to extract the BDF-s in the same manner, however we cannot package the
BDF-s to API 2 format on the fly and can only use API 1 to provide BDF-s on
the fly.
This is an issue as the ath10k driver explicitly looks only for the board.bin
file and not for something like board-bus-device.bin like it does for pre-cal
data.
Due to this we have no way of providing correct BDF-s on the fly, so lets
extend the ath10k driver to first look for BDF-s in the board-bus-device.bin
format, for example: board-ahb-a800000.wifi.bin
If that fails, look for the default board file name as defined previously.

So, backport the upstream ath10k patch.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3daf2d477ee728b5b066fe7f31808a5f19bb98a1)
[prune unrelated patch refreshes]
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
22 months agoath10k-ct: update to 2022-05-13
Robert Marko [Sat, 14 May 2022 18:14:14 +0000 (20:14 +0200)]
ath10k-ct: update to 2022-05-13

Update ath10k-ct to the latest version which includes the backported
ath10k commit for requesting API 1 BDF-s with a unique name like caldata.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ab97b2a25d69215dcc0d9621e491aa7b17f315cb)
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
22 months agofirewall4: bump to git HEAD
Stijn Tintel [Fri, 17 Jun 2022 11:58:20 +0000 (14:58 +0300)]
firewall4: bump to git HEAD

  11f5c7b fw4.uc: fix zone helper assignment
  b9d35ff fw4.uc: don't skip zone for unavailable helper
  e35e26b tests: add test for zone helpers
  a063317 ruleset: fix conntrack helpers
  e1cb763 ruleset: reuse zone-jump.uc template for notrack and helper chain jumps
  11410b8 ruleset: reorder declarations & output tweaks
  880dd31 fw4: fix skipping invalid IPv6 ipset entries
  5994466 fw4: simplify `is_loopback_dev()`
  53886e5 fw4: fix crash in parse_cthelper() if no helpers are present
  11256ff fw4: add support for configurable includes
  3b5a033 tests: add test coverage for firewall includes
  d79911c fw4: support sets with timeout capability but without default expiry
  15c3831 fw4: add support for `option log` in rule and redirect sections

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit e8433fb4336b72e44a40cb667ee2eb06e0a31109)

22 months agoqoriq: enable HARDENED_USERCOPY
Stijn Tintel [Tue, 28 Jun 2022 21:51:41 +0000 (00:51 +0300)]
qoriq: enable HARDENED_USERCOPY

The random crashes observed with HARDENED_USERCOPY enabled no longer
seem to occur. Enable HARDENED_USERCOPY to improve security.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 61587c92425ecdcabb82a6c81cff698a23ffb049)

22 months agoqoriq: disable CONFIG_COMPAT
Stijn Tintel [Tue, 28 Jun 2022 21:12:23 +0000 (00:12 +0300)]
qoriq: disable CONFIG_COMPAT

We do not need support for 32 bit applications, as we're building
everything for 64 bit.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 3e1848ee0ff3b01461a9d2f772bde27a4101f3d9)

22 months agoqoriq: 02_network fix sweth globbing logic
Thibaut VARÈNE [Tue, 28 Jun 2022 14:40:05 +0000 (16:40 +0200)]
qoriq: 02_network fix sweth globbing logic

This prevents invalid configuration of non-existent sweth devices.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
(cherry picked from commit 5fdbae463c57fa48709d876abaadbbbd5938f84f)

22 months agoqoriq: define reset button for Firebox M300
Thibaut VARÈNE [Tue, 14 Jun 2022 13:54:48 +0000 (15:54 +0200)]
qoriq: define reset button for Firebox M300

This patch provides support for the Firebox M300 reset button.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
(cherry picked from commit 19231cf83835db563ee7431b502fe1695ef1f559)

22 months agoqoriq: define leds for Firebox M300
Thibaut VARÈNE [Tue, 14 Jun 2022 13:54:48 +0000 (15:54 +0200)]
qoriq: define leds for Firebox M300

This patch provides support for the Firebox M300 only user-controllable
bi-color LED, and makes the green "shield" LED act as the typical
OpenWrt status led.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
(cherry picked from commit 4ab421b81d383c127135716f56a1e18337575516)

22 months agoath79: add support for RouterBOARD mAP
Thibaut VARÈNE [Sun, 12 Jun 2022 19:48:40 +0000 (21:48 +0200)]
ath79: add support for RouterBOARD mAP

The MikroTik mAP-2nd (sold as mAP) is an indoor 2.4Ghz AP with
802.3af/at PoE input and passive PoE passthrough.

See https://mikrotik.com/product/RBmAP2nD for more details.

Specifications:
 - SoC: QCA9533
 - RAM: 64MB
 - Storage: 16MB NOR
 - Wireless: QCA9533 802.11b/g/n 2x2
 - Ethernet: 2x 10/100 ports,
    802.3af/at PoE in port 1, 500 mA passive PoE out on port 2
 - 7 user-controllable LEDs

Note: the device is a tiny AP and does not distinguish between both
ethernet ports roles, so they are both assigned to lan.
With the current setup, ETH1 is connected to eth1 and ETH2 is connected
to eth0 via the embedded switch port 2.

Flashing:
 TFTP boot initramfs image and then perform sysupgrade. The "ETH1" port
 must be used to upload the TFTP image. Follow common MikroTik procedure
 as in https://openwrt.org/toh/mikrotik/common.

Tested-By: Andrew Powers-Holmes <aholmes@omnom.net>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
(cherry picked from commit e1223dbee332b89caf71850eb909104529595c31)

22 months agoipq40xx: mikrotik: make RouterBoot partition writeable
Thibaut VARÈNE [Fri, 17 Jun 2022 10:43:43 +0000 (12:43 +0200)]
ipq40xx: mikrotik: make RouterBoot partition writeable

Linux MTD requires the parent partition be writable for a child
partition to be allowed write permission.
In order for soft_config to be writeable (and modifiable via sysfs),
the parent RouterBoot partition must be writeable

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
(cherry picked from commit bb929a0f9cbabef59eaced57d5162d112640c3cd)

22 months agoath79: mikrotik: add rw soft_config to extra devices
John Thomson [Tue, 17 May 2022 23:23:14 +0000 (09:23 +1000)]
ath79: mikrotik: add rw soft_config to extra devices

Linux MTD requires the parent partition be writable for a child
partition to be allowed write permission.

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
(cherry picked from commit 86fb287ad564e344d9630d8235104da144406d08)

22 months agokernel: fix variable erasesize patch
John Thomson [Tue, 17 May 2022 01:15:45 +0000 (11:15 +1000)]
kernel: fix variable erasesize patch

Update this pending patch to remove the untested (variable eraseregions)
section, alongside simplifying the patch.

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
[refresh and split out unrelated refreshes]
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
(cherry picked from commit 4f7065ed250932d6ff725ba175e734ad4c782f14)

22 months agox86: 64: Add kmod-igc to default packages
Hauke Mehrtens [Tue, 28 Jun 2022 22:15:36 +0000 (00:15 +0200)]
x86: 64: Add kmod-igc to default packages

This adds the igc driver for the Intel 2.5GBit Ethernet chip to the
default packages.

Fixes: #10064
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit aae3a8a254275f8be5c45d766ac7b5afb82a9fe6)

22 months agoiptables: default to ip(6)tables-nft
Etienne Champetier [Sun, 26 Jun 2022 04:54:45 +0000 (04:54 +0000)]
iptables: default to ip(6)tables-nft

OpenWrt now uses firewall4 (nft) by default,
so iptables should also default to nftables backend.

When multiple packages provide the same virtual package,
opkg pick the first one by alphabetical order,
so we rename iptables-legacy to iptables-zz-legacy and add
iptables-legacy in PROVIDES.

We also need to remove IPTABLES_NFTABLES config as
this cause recursive dependencies.

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
(cherry picked from commit 35fec487e30f05c81bd135326a993dad7f861812)

22 months agokernel: add missing symbol to 5.10 config
Stijn Tintel [Tue, 28 Jun 2022 21:00:51 +0000 (00:00 +0300)]
kernel: add missing symbol to 5.10 config

Kernel 5.10.124 introduced a new symbol 'LIB_MEMNEQ'. Add it to the
generic 5.10 config.

Fixes: 9e5d743422ed ("kernel: bump 5.10 to 5.10.124")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit f3caba679b812bdaa374929350548025e792eeec)

22 months agoqoriq: use FIT uImage for Firebox M300 kernel
Stijn Tintel [Tue, 26 Apr 2022 15:21:11 +0000 (18:21 +0300)]
qoriq: use FIT uImage for Firebox M300 kernel

This requires U-Boot environment changes:

  setenv OpenWrt_kernel watchguard_firebox-m300-fit-uImage.itb
  setenv loadaddr 0x20000000
  setenv wgBootSysA 'setenv bootargs root=/dev/mmcblk0p2 rw rootdelay=2 console=$consoledev,$baudrate fsl_dpaa_fman.fsl_fm_max_frm=1530; mmc dev 0; ext2load mmc 0:1 $loadaddr $OpenWrt_kernel; bootm $loadaddr'

Trying to sysupgrade an image containing this change on an M300 already
running OpenWrt will fail with the following error:

  Tue Jun 14 12:06:21 EEST 2022 upgrade: The device is supported, but the config is incompatible to the new image (1.0->1.1). Please upgrade without keeping config (sysupgrade -n).
  Tue Jun 14 12:06:21 EEST 2022 upgrade: Kernel switched to FIT uImage. Update U-Boot environment.
  Tue Jun 14 12:06:21 EEST 2022 upgrade: Reading partition table from bootdisk...
  Tue Jun 14 12:06:21 EEST 2022 upgrade: Extract boot sector from the image
  Tue Jun 14 12:06:21 EEST 2022 upgrade: Reading partition table from image...
  Image check failed.

This is to prevent rendering your device unbootable. Make the U-Boot
environment changes as instruced above, and then flash the image using
sysupgrade -F. The config can be kept, there is no need to use -n.

After the new image booted successfully, you can increase the compat_version:

  uci set system.@system[0].compat_version='1.1'
  uci commit

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit c4b499bc03ab0e2eea643c46d1d781ab64e78931)

22 months agoqoriq: use KERNEL_SUFFIX in Build/sdcard-img
Stijn Tintel [Tue, 26 Apr 2022 15:18:20 +0000 (18:18 +0300)]
qoriq: use KERNEL_SUFFIX in Build/sdcard-img

Use the KERNEL_SUFFIX variable in Build/sdcard-img, rather than
using hardcoded "-kernel.bin", to allow overriding KERNEL_SUFFIX for a
device.

Fixes: 080a769b4da8 ("qoriq: new target")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 86948716dbc1c220d4be504cfe5433bfd9e1d630)

22 months agokernel: bump 5.10 to 5.10.125
John Audia [Sat, 25 Jun 2022 17:28:25 +0000 (13:28 -0400)]
kernel: bump 5.10 to 5.10.125

All patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 53d99fedc7afd96adfb6f38fc939c9ee9981c2ed)

22 months agokernel: bump 5.10 to 5.10.124
John Audia [Wed, 22 Jun 2022 15:58:33 +0000 (11:58 -0400)]
kernel: bump 5.10 to 5.10.124

All patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 9e5d743422edc4036cda7d96b96ba62705f382de)

22 months agokernel: bump 5.10 to 5.10.123
John Audia [Thu, 16 Jun 2022 18:47:54 +0000 (14:47 -0400)]
kernel: bump 5.10 to 5.10.123

No patches required a rebase, just updated checksum.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 5202a511cc4557303d4b77bf77ebb66e524dcddf)

22 months agokernel: bump 5.10 to 5.10.122
John Audia [Tue, 14 Jun 2022 19:31:10 +0000 (15:31 -0400)]
kernel: bump 5.10 to 5.10.122

All patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 9edc514e3dafcc36db69046a37daab818cfc1a07)

22 months agokernel: bump 5.10 to 5.10.121
John Audia [Sat, 11 Jun 2022 12:50:59 +0000 (08:50 -0400)]
kernel: bump 5.10 to 5.10.121

Manually rebased:
    oxnas/patches-5.10/100-oxnas-clk-plla-pllb.patch

All other patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 706a4ec40cce108f484b40805bfa48619a0a7f09)

22 months agodropbear: cherry-pick upstream commit 544f28a0
Konstantin Demin [Mon, 20 Jun 2022 07:37:15 +0000 (10:37 +0300)]
dropbear: cherry-pick upstream commit 544f28a0

Resolves #10081

Reported-By: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
(cherry picked from commit f98bb1ffe5327d7309f11a3647efd8116d637b33)

22 months agowolfssl: disable AES-NI by default for x86_64
Eneas U de Queiroz [Tue, 21 Jun 2022 18:21:44 +0000 (15:21 -0300)]
wolfssl: disable AES-NI by default for x86_64

WolfSSL is crashing with an illegal opcode in some x86_64 CPUs that have
AES instructions but lack other extensions that are used by WolfSSL
when AES-NI is enabled.

Disable the option by default for now until the issue is properly fixed.
People can enable them in a custom build if they are sure it will work
for them.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
(cherry picked from commit 0bd536723303ccd178e289690d073740c928bb34)

22 months agox86: fix damaged config 5.10 refresh
Christian Lamparter [Fri, 24 Jun 2022 17:30:50 +0000 (19:30 +0200)]
x86: fix damaged config 5.10 refresh

Restore CONFIG_I8K + CONFIG_INTEL_INT0002_VGPIO that got
removed when I refreshed the config. Each x86 target gets
its own CONFIG_CRYPTO_BLAKE2S + LIB settings as only the
x86_64 can use the accelerated x86 version.

Also remove two extra spaces that sneaked into geode's config.

Fixes: 539e60539a2f ("generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 9fc2d58bf8b37f80e8027dc55b6007e0bfa66ebe)

22 months agogeneric: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]
Tomasz Maciej Nowak [Mon, 20 Jun 2022 12:49:45 +0000 (14:49 +0200)]
generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]

This is now built-in, enable so it won't propagate on target configs.

Link: https://lkml.org/lkml/2022/1/3/168
Fixes: 79e7a2552e89 ("kernel: bump 5.15 to 5.15.44")
Fixes: 0ca93670693b ("kernel: bump 5.10 to 5.10.119")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
(Link to Kernel's commit taht made it built-in,
CRYPTO_LIB_BLAKE2S[_ARM|_X86] as it's selectable, 5.10 backport)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 539e60539a2fde6531bd179c94bb9c7f8f490f2b)

22 months agoinclude/prereq-build.mk: macOS cross build improvements
Mark Mentovai [Thu, 9 Jun 2022 15:00:58 +0000 (11:00 -0400)]
include/prereq-build.mk: macOS cross build improvements

This updates prereq-build.mk to find a suitable realpath utility, and
adds another place to look for a suitable getopt utility.

realpath has been used most notably by scripts/ipkg-build since
commit bb95be9265a9 ("scripts,ipkg-build: use realpath for pkg_dir")
and there are assorted other uses of it during a build.
It is ordinarily provided by GNU coreutils. This adds a SetupHostCommand
to locate it either under its own name or under grealpath, the name that
it will be available as under MacPorts or Homebrew, which use
--program-prefix=g.

Similarly, update the SetupHostCommand for getopt to be able to locate a
util-linux getopt at the default path used by MacPorts, in the same
fashion that
commit cc16f5d73e77 ("build: try to find getopt in macOS homebrew's standard location")'
did for Homebrew. As there is no standard alternative --program-prefix
for util-linux utilities in the way that GNU packages often use a "g"
prefix, this path-based approach is required in case a non-util-linux
getopt (such as one provided by an OS) shadows the util-linux getopt
in the PATH.

Signed-off-by: Mark Mentovai <mark@moxienet.com>
(cherry picked from commit f614332197b7b09d21007af59a31920198cd4885)

22 months agobroadcom-wl: Fix compilation with kernel 5.10
Florian Fainelli [Wed, 22 Dec 2021 22:26:02 +0000 (14:26 -0800)]
broadcom-wl: Fix compilation with kernel 5.10

This adds a few fixes for compiling against Linux 5.10:

1. segment_eq() has been removed with upstream commit
   428e2976a5bf7e7f5554286d7a5a33b8147b106a ("uaccess: remove
   segment_eq") and can use uaccess_kernel() instead
2. ioremap_nocache() is removed and is now an alias for ioremap() with
   upstream commit 4bdc0d676a643140bdf17dbf7eafedee3d496a3c ("remove
   ioremap_nocache and devm_ioremap_nocache")

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
(cherry picked from commit cd3de51bb4a18f922a961fdeb42c1c8f1f80b425)

22 months ago464xlat: delete SNATed conntracks on interface teardown
Alin Nastac [Wed, 8 Jun 2022 09:58:00 +0000 (11:58 +0200)]
464xlat: delete SNATed conntracks on interface teardown

Existing conntracks will continue to be SNATed to 192.0.0.1 even after
464xlat interface gets teared down. To prevent this, matching
conntracks must be killed.

Signed-off-by: Alin Nastac <alin.nastac@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
(cherry picked from commit 289c46869b969864676cf9abde4e1e0df33bcf37)

22 months agomediatek: UniFi 6 LR: disable RTC
Daniel Golle [Sat, 18 Jun 2022 16:30:02 +0000 (17:30 +0100)]
mediatek: UniFi 6 LR: disable RTC

There is not RTC battery connected to the SoC of the UniFi 6 LR board.
Disable the RTC to prevent the system coming up with time set to
2000-01-01 00:00:00 after each reboot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 692d87a27b44ac73c10cd511c00ee0bec1316d9f)

22 months agoramips: decrease SPI frequency for Phicomm K2P
Aviana Cruz [Sat, 11 Jun 2022 17:34:13 +0000 (01:34 +0800)]
ramips: decrease SPI frequency for Phicomm K2P

Some K2P comes with the worse boards with GD25Q128 (may be A2), which
only works with 50MHz frequency and less. Reduce spi frequency so that
these routers can boot.
remove m25p,fast-read because it isn't needed for 50MHz SPI.

Signed-off-by: Aviana Cruz <gwencroft@proton.me>
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
(cherry picked from commit 857ea3f690aba8513b356926d9c430adafc7c50b)

22 months agowireless-regdb: bump to 2022.06.06
Stijn Tintel [Mon, 6 Jun 2022 16:11:33 +0000 (19:11 +0300)]
wireless-regdb: bump to 2022.06.06

  902b321 wireless-regdb: Update regulatory rules for Israel (IL)
  20f6f34 wireless-regdb: add missing spaces for US S1G rules
  25652b6 wireless-regdb: Update regulatory rules for Australia (AU)
  081873f wireless-regdb: update regulatory database based on preceding changes
  166fbdd wireless-regdb: add db files missing from previous commit
  e3f03f9 Regulatory update for 6 GHz operation in Canada (CA)
  888da5f Regulatory update for 6 GHz operation in United States (US)
  647bcaa Regulatory update for 6 GHz operation in FI
  c6b079d wireless-regdb: update regulatory rules for Bulgaria (BG) on 6GHz
  2ed39be wireless-regdb: Remove AUTO-BW from 6 GHz rules
  7a6ad1a wireless-regdb: Unify 6 GHz rules for EU contries
  68a8f2f wireless-regdb: update regulatory database based on preceding changes

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit e3e9eb31a281643737142e8e80c6f49204b5ba18)

22 months agoprereq-build: add additional git detection
Christian 'Ansuel' Marangi [Thu, 9 Jun 2022 12:13:09 +0000 (14:13 +0200)]
prereq-build: add additional git detection

With some OS (Guix) the git submodule command is wrapped in
a script. Current logic parse the git submodule script directly.
If it's wrapped the prereq check wrongly fails while 'git submodule
--recursive' is actually available.
Add an additional check that try to directly use the 'git submodule'
command to check if the prereq is satisfied.

Fixes: #9986
Reported-by: Attila Lendvai <attila@lendvai.name>
Suggested-by: Attila Lendvai <attila@lendvai.name>
Signed-off-by: Christian 'Ansuel' Marangi <ansuelsmth@gmail.com>
(cherry picked from commit ab1f3a87063b94f485bd582f32a066b80007bac9)

22 months agomac80211: increase airtime scheduler quantum
Felix Fietkau [Sun, 26 Jun 2022 09:47:12 +0000 (11:47 +0200)]
mac80211: increase airtime scheduler quantum

improves performance by requiring fewer iterations over tx queues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 7bf5233a2a2b1c81fae2f3a85bb971ef2a7f9b27)

22 months agomac80211: add airtime fairness improvements
Felix Fietkau [Sat, 18 Jun 2022 08:52:09 +0000 (10:52 +0200)]
mac80211: add airtime fairness improvements

This reverts the airtime scheduler back from the virtual-time based scheduler
to the deficit round robin scheduler implementation.
This reduces burstiness and improves fairness by improving interaction with AQL.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry-picked from commit 6d49a25804d78d639e08a67c86b26991ce6485d8)

22 months agoapm821xx: WNDAP660: fix ethernet port ordering
Christian Lamparter [Fri, 24 Jun 2022 18:55:15 +0000 (20:55 +0200)]
apm821xx: WNDAP660: fix ethernet port ordering

Tim Small reported:
| Viewing the 'Network' -> 'Switch' config page in LuCI:
|
| The LuCI LAN 1 port corresponds to the port physically
|     labelled 2 at the rear of the device.
| [...]
|
| When a patch cord is attached to the port labelled 1 [...],
| the LED labelled °2 illuminates.

=> essentially, the Ports and LEDs are reversed.

Reported-by: Tim Small
Fixes: #10111
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 36483600d337ab3ec8a6dabeaa160614d07f5588)

22 months agoramips: mt7621-dts: fix claiming rgmii2 pin group for EdgeRouter X SFP
Arınç ÜNAL [Thu, 17 Mar 2022 13:10:08 +0000 (16:10 +0300)]
ramips: mt7621-dts: fix claiming rgmii2 pin group for EdgeRouter X SFP

For a TX->TX connected external phy to transmit/receive data, the rgmii2
pin group needs to be claimed with gpio function, at least for EdgeRouter X
SFP. We already claim the pin group under the pinctrl node with gpio
function on the gpio node on mt7621_ubnt_edgerouter-x.dtsi.

However, we should claim a pin group under its consumer node. It's the
ethernet node in this case, which we already claim the rgmii2 pin group
under it on mt7621.dtsi. Therefore, set the function as gpio on the rgmii2
node for EdgeRouter X SFP and get rid of claiming the rgmii2 pin group
under the pinctrl node. With this change, we also get to remove a
definition from mt7621_ubnt_edgerouter-x.dtsi which is specific to
EdgeRouter X SFP.

This change is tested on an EdgeRouter X SFP.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
(cherry picked from commit a1ad8377355c41a7cc3012b707fcecab923cbc90)

22 months agoramips: force ZyXEL NR7101 to boot from "Kernel" partition
Bjørn Mork [Fri, 29 Apr 2022 14:38:27 +0000 (16:38 +0200)]
ramips: force ZyXEL NR7101 to boot from "Kernel" partition

Make sure BootingFlag points to the system partition we install to.

The BootingFlag variable selects which system partition the system
boots from (0 => "Kernel", 1 => "Kernel2"). OpenWrt does not yet have
device specific support for this dual image scheme, and can therefore
only boot from "Kernel".

This has not been an issue until now, since all known OEM firmware
versions have ignored "Kernel2" - leaving the BootingFlag fixed at 0.
But the newest OEM firmware has a new upgrade procedure, installing
to the "inactive" system partition and setting BootingFlag accordingly.

This workaround is needed until the dual image scheme is fully
supported.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
(cherry picked from commit 79112e7d4758cc79dea506ffebdf40e00d94fa06)

22 months agoath79: fix rootfs padding for D-Link DAP-2xxx
Sebastian Schaper [Wed, 22 Jun 2022 21:38:26 +0000 (23:38 +0200)]
ath79: fix rootfs padding for D-Link DAP-2xxx

It was observed that `rootfs_data` was sometimes not correctly erased
after performing sysupgrade, resulting in previous settings to prevail.

Add call to `wrgg-pad-rootfs` in sysupgrade image recipe to ensure any
previous jffs2 will be wiped, consistent with DAP-2610 from the ipq40xx
target, which introduced the double-flashing procedure for these devices.

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
(cherry picked from commit f770c33d7bb94b610d3a1c1fa84bc917678b65bc)

22 months agompc85xx: p2020: add RTC ds1307 to kernel
Josef Schlehofer [Sat, 11 Jun 2022 07:37:43 +0000 (09:37 +0200)]
mpc85xx: p2020: add RTC ds1307 to kernel

If the RTC module is compiled as a module, the hctosys fails to
initialize because ds1307 is loaded later.

Fixes:
[    2.004145] hctosys: unable to open rtc device (rtc0)
[   11.957997] rtc-ds1307 0-006f: registered as rtc0

This is similar to commit 5481ce9a1157a43d8b2c963e03fb243e70974361,
which was done for imx6 target.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit dc7f78da97c62cd6c17a75f754da5bf6b957837d)

22 months agobcm53xx: remove 07_set_preinit_iface_bcm53xx
Christian Lamparter [Fri, 10 Jun 2022 23:08:58 +0000 (01:08 +0200)]
bcm53xx: remove 07_set_preinit_iface_bcm53xx

with the switch to DSA setup, the switch gets correctly
programmed via the device-tree now. This hack is no
longer necessary.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 554ca44730731da6fddc51e1d3027c5e666a7d0d)

22 months agotools/libressl: update to version 3.4.3
Josef Schlehofer [Mon, 6 Jun 2022 20:08:42 +0000 (22:08 +0200)]
tools/libressl: update to version 3.4.3

Release notes:
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.4.3-relnotes.txt

```
It includes the following security fix:

    * A malicious certificate can cause an infinite loop.
      Reported by and fix from Tavis Ormandy and David Benjamin, Google.
```

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit 25534d5cc20a807ff776fdb18847344167ce081d)

22 months agonetfilter: kmod-nft-xfrm
Florian Eckert [Mon, 16 May 2022 14:14:41 +0000 (16:14 +0200)]
netfilter: kmod-nft-xfrm

Add kmod-nft-xfrm package.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit 9379bc2fcf905568ef329a121c8c8a11fc98b02c)