openwrt/staging/hauke.git
2 years agoipq40xx: add GL-AP1300 label-mac-device
David Bauer [Sun, 11 Sep 2022 14:23:03 +0000 (16:23 +0200)]
ipq40xx: add GL-AP1300 label-mac-device

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 470ca65bda154fb5a601c6bbe20e20646535563f)

2 years agoipq40xx: add WAN LED mapping for GL-AP1300
David Bauer [Sat, 10 Sep 2022 12:05:34 +0000 (14:05 +0200)]
ipq40xx: add WAN LED mapping for GL-AP1300

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 4d014a7bd6d8fbfe7dc4cebd6c55d85601231fa4)

2 years agorockchip: add system-LED aliases specific to OpenWrt
David Bauer [Fri, 9 Sep 2022 21:35:49 +0000 (23:35 +0200)]
rockchip: add system-LED aliases specific to OpenWrt

Add the aliases sections required to detect LEDs specific to OpenWrt
boot / update indication for the NanoPi R4S.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 1588069612f5db0720cbb942a6f8787878c223c3)

2 years agorockchip: ensure NanoPi R4S has unique MAC address
David Bauer [Fri, 9 Sep 2022 23:01:57 +0000 (01:01 +0200)]
rockchip: ensure NanoPi R4S has unique MAC address

Ensure the MAC address for all NanoPi R4S boards is assigned unique for
each board.

FriendlyElec ship two versions of the R4S: The standard as well as the
enterprise edition with only the enterprise edition including the EEPROM
chip that stores the unique MAC address.

In order to assign both board types unique MAC addresses, fall back on
the same method used for the NanoPi R2S in case the EEPROM chip is not
present by generating the board MAC from the SD card CID.

[0] https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R4S#Differences_Between_R4S_Standard_Version_.26_R4S_Enterprise_Version

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit b5675f500daff3ef3f904e53a5566aa7dc09b786)

2 years agorealtek: fix RTL839x receive tag decoding
Bjørn Mork [Fri, 9 Sep 2022 06:28:13 +0000 (08:28 +0200)]
realtek: fix RTL839x receive tag decoding

The previous fixup was incomplete, and the offsets for the
queue and crc_error cpu_tag bitfields were still wrong on
RTL839x.

Fixes: 545c6113c93b ("realtek: fix RTL838x receive tag decoding")
Suggested-by: Jan Hoffmann <jan@3e8.eu>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2 years agoipq40xx: add LTE packages for GL-AP1300
David Bauer [Fri, 9 Sep 2022 16:14:08 +0000 (18:14 +0200)]
ipq40xx: add LTE packages for GL-AP1300

Add LTE packages required for operating the LTE modem optionally shipped
with the GL-AP1300.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit c7c350922668e262068c9301b75434d7bb4b8d10)

2 years agoath79: add support for ZTE MF281
David Bauer [Mon, 5 Sep 2022 17:23:16 +0000 (19:23 +0200)]
ath79: add support for ZTE MF281

Add support for the ZTE MF281 battery-powered WiFi router.

Hardware
--------
SoC:    Qualcomm Atheros QCA9563
RAM:    128M DDR2
FLASH:  2M SPI-NOR (GigaDevice GD25Q16)
        128M SPI-NAND (GigaDevice)
WLAN:   QCA9563 2T2R 802.11 abgn
        QCA9886 2T2R 802.11 nac
WWAN:   ASRMicro ASR1826
ETH:    Qualcomm Atheros QCA8337
UART:   115200 8n1
        Unpopulated connector next to SIM slot
        (SIM) GND - RX - TX - 3V3
        Don't connect 3V3
BUTTON: Reset - WPS
LED:    1x debug-LED (internal)
        LEDs on front of the device are controlled
        using the modem CPU and can not be controlled
        by OpenWrt

Installation
------------

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

2. Connect a TFTP server reachable at 192.168.1.66 to the ethernet port.
   Serve the OpenWrt initramfs image as "speedbox-2.bin"

3. Boot the initramfs image using U-Boot

   $ setenv serverip 192.168.1.66
   $ setenv ipaddr 192.168.1.154
   $ tftpboot 0x84000000 speedbox-2.bin
   $ bootm

4. Copy the OpenWrt factory image to the device using scp and write to
   the NAND flash

   $ mtd write /path/to/openwrt/factory.bin firmware

WWAN
----

The WWAN card can be used with OpenWrt. Example configuration for
connection with a unauthenticated dual-stack APN:

network.lte=interface
network.lte.proto='ncm'
network.lte.device='/dev/ttyACM0'
network.lte.pdptype='IPV4V6'
network.lte.apn='internet.telekom'
network.lte.ipv6='auto'
network.lte.delay='10'

The WWAN card is running a modified version of OpenWrt and handles
power-management as well as the LED controller (AW9523). A root shell
can be acquired by installing adb using opkg and executing "adb shell".

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 1e1695f959e678868bb7911d059b847f38fc9cf4)

2 years agorealtek: fix RTL838x receive tag decoding
Bjørn Mork [Thu, 8 Sep 2022 17:35:34 +0000 (19:35 +0200)]
realtek: fix RTL838x receive tag decoding

Commit dc9cc0d3e2a1 ("realtek: add QoS and rate control") replaced a
16 bit reserved field in the RTL83xx packet header with the initial
cpu_tag word, shifting the real cpu_tag fields by one.  Adjusting for
this new shift was partially forgotten in the new RX tag decoders.

This caused the switch to block IGMP, effectively blocking IPv4
multicast.

The bug was partially fixed by commit 9d847244d9fd ("realtek: fix
RTL839X receive tag decoding")

Fix on RTL838x too, including correct NIC_RX_REASON_SPECIAL_TRAP value.

Suggested-by: Jan Hoffmann <jan@3e8.eu>
Fixes: dc9cc0d3e2a1 ("realtek: add QoS and rate control")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
(cherry picked from commit 545c6113c93bbf7de1b0e515141a4565f7e6cece)

2 years agomt76: update to the latest version
Felix Fietkau [Tue, 6 Sep 2022 20:44:43 +0000 (22:44 +0200)]
mt76: update to the latest version

d70546462b7b mt76: fix 5 GHz connection regression on mt76x0/mt76x2

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

2 years agohostapd: rename hostapd multicast_to_unicast option to multicast_to_unicast_all
Felix Fietkau [Tue, 6 Sep 2022 10:12:12 +0000 (12:12 +0200)]
hostapd: rename hostapd multicast_to_unicast option to multicast_to_unicast_all

There are two feature currently altered by the multicast_to_unicast option.
1. bridge level multicast_to_unicast via IGMP snooping
2. hostapd/mac80211 config multicast_to_unicast setting

The hostapd/mac80211 setting has the side effect of converting *all* multicast
or broadcast traffic into per-station duplicated unicast traffic, which can
in some cases break expectations of various protocols.
It also has been observed to cause ARP lookup failure between stations
connected to the same interface.

The bridge level feature is much more useful, since it only covers actual
multicast traffic managed by IGMP, and it implicitly defaults to 1 already.

Renaming the hostapd/mac80211 option to multicast_to_unicast_all should avoid
unintentionally enabling this feature

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

2 years agobcm27xx: make NVMEM driver patch apply again
Rafał Miłecki [Sun, 4 Sep 2022 14:38:11 +0000 (16:38 +0200)]
bcm27xx: make NVMEM driver patch apply again

Fixes: 4efa0b70d54f1 ("kernel: backport U-Boot environment data NVMEM driver")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agobcm4908: enable NVMEM U-Boot env data driver
Rafał Miłecki [Wed, 17 Aug 2022 20:45:11 +0000 (22:45 +0200)]
bcm4908: enable NVMEM U-Boot env data driver

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

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

2 years agokernel: backport U-Boot environment data NVMEM driver
Rafał Miłecki [Wed, 17 Aug 2022 18:44:52 +0000 (20:44 +0200)]
kernel: backport U-Boot environment data NVMEM driver

It parses U-Boot env data into NVMEM cells.

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

2 years agokernel: backport mtd patch adding of_platform_populate() calls
Rafał Miłecki [Fri, 8 Jul 2022 05:58:20 +0000 (07:58 +0200)]
kernel: backport mtd patch adding of_platform_populate() calls

This is required for non-parser drivers handling MTD devices.

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

2 years agoOpenWrt v22.03.0: revert to branch defaults
Hauke Mehrtens [Sat, 3 Sep 2022 16:49:08 +0000 (18:49 +0200)]
OpenWrt v22.03.0: revert to branch defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoOpenWrt v22.03.0: adjust config defaults v22.03.0
Hauke Mehrtens [Sat, 3 Sep 2022 16:49:01 +0000 (18:49 +0200)]
OpenWrt v22.03.0: adjust config defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agouboot-mediatek: mt7622: suppress unwanted pinctrl warning
Daniel Golle [Sat, 3 Sep 2022 02:53:56 +0000 (03:53 +0100)]
uboot-mediatek: mt7622: suppress unwanted pinctrl warning

Import patch which removes the default pinctrl of uart0 to suppress
the unwanted warning. Apply also to downstream boards.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: mt7622: fix DTS compatible of UniFi 6 LR variants
Daniel Golle [Sat, 3 Sep 2022 01:24:14 +0000 (02:24 +0100)]
mediatek: mt7622: fix DTS compatible of UniFi 6 LR variants

Make sure the compatible string in DTS matches the now v1/v2
differentiated board name in target/linux/mediatek/image/mt7622.mk.

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

2 years agouboot-mediatek: backport fix for unstable UART on MT7622
Daniel Golle [Sat, 3 Sep 2022 00:57:08 +0000 (01:57 +0100)]
uboot-mediatek: backport fix for unstable UART on MT7622

Import pending patch "arm: dts: mt7622: force high-speed mode for uart"
from Weijie Gao <weijie.gao@mediatek.com> fixing the UART problems on
MT7622 which made it hard to use the U-Boot menu on devices with this
SoC.

This patch is also contained in commit
 c09eb08dad ("uboot-mediatek: add support for MT798x platforms")
in the development branch.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agouboot-mediatek: no compression means IH_COMP_NONE
Daniel Golle [Mon, 15 Aug 2022 11:19:15 +0000 (13:19 +0200)]
uboot-mediatek: no compression means IH_COMP_NONE

Treat missing compression node in FIT image as IH_COMP_NONE.
This is implicentely already happening in most places, but for now
was still triggering an annoying warning about initramfs compression
being obsolete despite compression note being absent.
Fix this.

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

2 years agouboot-mediatek: fix factory reset on UBI
Daniel Golle [Sun, 28 Aug 2022 19:20:31 +0000 (20:20 +0100)]
uboot-mediatek: fix factory reset on UBI

Truncating a UBI volume using `ubi write 0x0 volname 0x0` results in
segfault on newer U-Boot. Write 1MB of 0s instead.

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

2 years agouboot-envtools: mt7622: use 4k sectors for UniFi 6 LR (ubootmod)
Daniel Golle [Sun, 28 Aug 2022 15:07:05 +0000 (16:07 +0100)]
uboot-envtools: mt7622: use 4k sectors for UniFi 6 LR (ubootmod)

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

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

2 years agomediatek: mt7622: use variable sector size for spi-nor
Daniel Golle [Sun, 28 Aug 2022 15:05:30 +0000 (16:05 +0100)]
mediatek: mt7622: use variable sector size for spi-nor

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

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

2 years agouboot-mediatek: fix Ubiquiti UniFi 6 LR U-Boot mod
Daniel Golle [Sun, 28 Aug 2022 15:01:12 +0000 (16:01 +0100)]
uboot-mediatek: fix Ubiquiti UniFi 6 LR U-Boot mod

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

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

2 years agompc85xx: Drop pci aliases to avoid domain changes
Martin Kennedy [Tue, 30 Aug 2022 00:47:24 +0000 (20:47 -0400)]
mpc85xx: Drop pci aliases to avoid domain changes

As of upstream Linux commit 0fe1e96fef0a ("powerpc/pci: Prefer PCI
domain assignment via DT 'linux,pci-domain' and alias"), the PCIe
domain address is no longer numbered by the lowest 16 bits of the PCI
register address after a fallthrough. Instead of the fallthrough, the
enumeration process accepts the alias ID (as determined by
`of_alias_scan()`). This causes e.g.:

9000:00:00.0 PCI bridge: Freescale Semiconductor Inc P1020E (rev 11)
9000:01:00.0 Network controller: Qualcomm Atheros AR958x 802.11abgn ...

to become

0000:00:00.0 PCI bridge: Freescale Semiconductor Inc P1020E (rev 11)
0000:01:00.0 Network controller: Qualcomm Atheros AR958x 802.11abgn ...

... which then causes the sysfs path of the netdev to change,
invalidating the `wifi_device.path`s enumerated in
`/etc/config/wireless`.

One other solution might be to migrate the uci configuration, as was
done for mvebu in commit 0bd5aa89fcf2 ("mvebu: Migrate uci config to
new PCIe path"). However, there are concerns that the sysfs path will
change once again once some upstream patches[^2][^3] are merged and
backported (and `CONFIG_PPC_PCI_BUS_NUM_DOMAIN_DEPENDENT` is enabled).

Instead, remove the aliases and allow the fallthrough to continue for
now. We will provide a migration in a later release.

This was first reported as a Github issue[^1].

[^1]: https://github.com/openwrt/openwrt/issues/10530
[^2]: https://lore.kernel.org/linuxppc-dev/20220706104308.5390-1-pali@kernel.org/t/#u
[^3]: https://lore.kernel.org/linuxppc-dev/20220706101043.4867-1-pali@kernel.org/

Fixes: #10530
Tested-by: Martin Kennedy <hurricos@gmail.com>
[Tested on the Aerohive HiveAP 330 and Extreme Networks WS-AP3825i]
Signed-off-by: Martin Kennedy <hurricos@gmail.com>
(cherry picked from commit 7f4b4c29f3489697dca7495216460d0ed5023e02)

2 years agoat91bootstrap: use sdmmc0 as booting media for sama5d27_som1_ek
Claudiu Beznea [Thu, 28 Jul 2022 10:14:59 +0000 (13:14 +0300)]
at91bootstrap: use sdmmc0 as booting media for sama5d27_som1_ek

Commit 0b7c66c ("at91bootstrap: add sama5d27_som1_eksd1_uboot as
default defconfig") changed default booting media for sama5d27_som1_ek
board w/o any reason. Changed it back to sdmmc0 as it is for all the
other Microchip supported distributions for this board (Buildroot,
Yocto Project). The initial commit cannot be cleanly reverted.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
(cherry picked from commit e9f12931e60ee291cd7d2c8fd19a14682dae0197)

2 years agouboot-at91: use sdmmc0 as booting media for sama5d27_som1_ek
Claudiu Beznea [Thu, 28 Jul 2022 10:12:34 +0000 (13:12 +0300)]
uboot-at91: use sdmmc0 as booting media for sama5d27_som1_ek

Commit adc69fe (""uboot-at91: changed som1 ek default defconfigs")
changed the booting media to sdmmc1 as default booting w/o any reason.
The Microchip releases for the rest of supported distributions (Buildroot,
Yocto Project) uses sdmmc0 as default booting media for this board.
Thus change it back to sdmmc0. With this remove references to sdmmc1
config. The initial commit cannot be cleanly reverted.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
(cherry picked from commit 9a49788008c18fd4fe6fefe9697962c102fb14c6)

2 years agokernel: rename 5.20 patches to 6.0
Rafał Miłecki [Wed, 17 Aug 2022 09:04:29 +0000 (11:04 +0200)]
kernel: rename 5.20 patches to 6.0

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

2 years agobcm4908: enable & setup packet steering
Rafał Miłecki [Thu, 28 Jul 2022 15:46:33 +0000 (17:46 +0200)]
bcm4908: enable & setup packet steering

Without packet steering NAT masquarade speed on BCM4908 /jumps/ between
two speeds:
1. 826 Mb/s (±3 Mb/s)
2. 909 Mb/s (±8 Mb/s)
and it never reaches ~940 Mb/s.

Proper packet steering can improve it. Below are testing results for
running iperf TCP traffic from LAN to WAN. They were used to pick up
golden values.

┌──────────┬──────────┬───────────┐
│   eth0   │  br-lan  │   speed   │
│ rps_cpus │ rps_cpus │   [Mbps]  │
├──────────┼──────────┼───────────┤
│        0 │        0 │ 743 / 804 │
│        0 │        1 │ 738 / 821 │
│        0 │        2 │     ✓ 940 │
│        0 │        4 │     ✓ 938 │
│        0 │        8 │     ✓ 941 │
├──────────┼──────────┼───────────┤
│        1 │        0 │       829 │
│        1 │        1 │       829 │
│        1 │        2 │     ✓ 942 │
│        1 │        4 │     ✓ 941 │
│        1 │        8 │     ✓ 941 │
├──────────┼──────────┼───────────┤
│        2 │        0 │     ✓ 942 │
│        2 │        1 │       926 │
│        2 │        2 │     ✓ 942 │
│        2 │        4 │     ✓ 942 │
│        2 │        8 │     ✓ 941 │
├──────────┼──────────┼───────────┤
│        4 │        0 │     ✓ 941 │
│        4 │        1 │       925 │
│        4 │        2 │     ✓ 941 │
│        4 │        4 │     ✓ 941 │
│        4 │        8 │     ✓ 941 │
├──────────┼──────────┼───────────┤
│        8 │        0 │     ✓ 942 │
│        8 │        1 │       925 │
│        8 │        2 │     ✓ 941 │
│        8 │        4 │     ✓ 942 │
│        8 │        8 │     ✓ 942 │
└──────────┴──────────┴───────────┘

Ref: fcbd39689ebfe ("bcm53xx: enable & setup packet steering")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 57cad53f4e52be987cdd61308ff7d2704baca539)

2 years agobcm4908: prepare for Asus GT-AX6000 support
Rafał Miłecki [Wed, 20 Jul 2022 18:03:56 +0000 (20:03 +0200)]
bcm4908: prepare for Asus GT-AX6000 support

It isn't tested & Linux DT will surely need more work.

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

2 years agobcm4908: backport bcmbca DT patches queued for 5.20
Rafał Miłecki [Wed, 20 Jul 2022 16:12:31 +0000 (18:12 +0200)]
bcm4908: backport bcmbca DT patches queued for 5.20

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

2 years agobcm53xx: backport DT changes from 5.17 & 5.18
Rafał Miłecki [Wed, 30 Mar 2022 14:05:55 +0000 (16:05 +0200)]
bcm53xx: backport DT changes from 5.17 & 5.18

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

2 years agobcm53xx: drop dead upgrade code
Rafał Miłecki [Tue, 29 Mar 2022 14:14:54 +0000 (16:14 +0200)]
bcm53xx: drop dead upgrade code

platform_nand_pre_upgrade() is gone since commit 790692dde2b9
("base-files: drop support for the platform_nand_pre_upgrade()").

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

2 years agofirewall4: update to latest Git HEAD
Jo-Philipp Wich [Thu, 1 Sep 2022 10:37:58 +0000 (12:37 +0200)]
firewall4: update to latest Git HEAD

f5fcdcf cli: introduce test mode and refuse firewall restart on errors
a540f6d fw4: fix cosmetic issue with per-ruleset and per-table include paths
695e821 doc: fix swapped include positions in nftables.d README

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit ab31ffc425b59afc102f8a3275791c153f39c8f4)

2 years agoucode: update to latest Git HEAD
Jo-Philipp Wich [Mon, 29 Aug 2022 14:02:16 +0000 (16:02 +0200)]
ucode: update to latest Git HEAD

344fa9e lib: extend render() to support function values
89452b2 lib: improve getenv() and split() implementations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
[fix commit subject]
(cherry picked from commit c6d6306827e9296faad26981996825ce3e90259d)

2 years agomac80211: disable ft-over-ds by default
Felix Fietkau [Tue, 30 Aug 2022 08:57:26 +0000 (10:57 +0200)]
mac80211: disable ft-over-ds by default

Testing has shown it to be very unreliable in variety of configurations.
It is not mandatory, so let's disable it by default until we have a better
solution.

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

2 years agoramips: define Yuncore AX820 switch LEDs
Thibaut VARÈNE [Wed, 17 Aug 2022 17:36:41 +0000 (19:36 +0200)]
ramips: define Yuncore AX820 switch LEDs

This patch defines the two switch LED to bring them under user control.

Fixes: 158a5af80102d ("ramips: improve YunCore AX820 LEDs")
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
[rmilecki: leave "label"s in place]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 7bee10a7d2d16251113147c28dd4548af5c14bab)

2 years agoath79: add support for Extreme Networks WS-AP3805i
Albin Hellström [Thu, 7 Jan 2021 21:51:06 +0000 (22:51 +0100)]
ath79: add support for Extreme Networks WS-AP3805i

Specifications:

 - SoC:    Qualcomm Atheros QCA9557-AT4A
 - RAM:    2x 128MB Nanya NT5TU64M16HG
 - FLASH:  64MB - SPANSION FL512SAIFG1
 - LAN:    Atheros AR8035-A (RGMII GbE with PoE+ IN)
 - WLAN2:  Qualcomm Atheros QCA9557 2x2 2T2R
 - WLAN5:  Qualcomm Atheros QCA9882-BR4A 2x2 2T2R
 - SERIAL: UART pins at J10 (115200 8n1)
           Pinout is 3.3V - GND - TX - RX (Arrow Pad is 3.3V)
 - LEDs: Power (Green/Amber)
   WiFi 5 (Green)
   WiFi 2 (Green)
 - BTN: Reset

Installation:

1. Download the OpenWrt initramfs-image.

Place it into a TFTP server root directory and rename it to 1D01A8C0.img
Configure the TFTP server to listen at 192.168.1.66/24.

2. Connect the TFTP server to the access point.

3. Connect to the serial console of the access point.

Attach power and interrupt the boot procedure when prompted.

Credentials are admin / new2day

4. Configure U-Boot for booting OpenWrt from ram and flash:

 $ setenv boot_openwrt 'setenv bootargs; bootm 0xa1280000'
 $ setenv ramboot_openwrt 'setenv serverip 192.168.1.66;
   tftpboot 0x89000000 1D01A8C0.img; bootm'
 $ setenv bootcmd 'run boot_openwrt'
 $ saveenv

5. Load OpenWrt into memory:

 $ run ramboot_openwrt

6. Transfer the OpenWrt sysupgrade image to the device.

Write the image to flash using sysupgrade:

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

Signed-off-by: Albin Hellström <albin.hellstrom@gmail.com>
[rename vendor - minor style fixes - update commit message]
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit f8c87aa2d27ab405f284dd4357377ab5c893a345)

2 years agokernel: Refresh on 5.10.138
Hauke Mehrtens [Sun, 28 Aug 2022 13:09:23 +0000 (15:09 +0200)]
kernel: Refresh on 5.10.138

Refresh all patches on top of kernel 5.10.138.

The following patches were applied upstream:
 bcm27xx/patches-5.10/950-0311-drm-vc4-Adopt-the-dma-configuration-from-the-HVS-or-.patch
 bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch
 bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch
 bcm27xx/patches-5.10/950-0354-drm-vc4-Add-the-2711-HVS-as-a-suitable-DMA-node.patch
 bcm27xx/patches-5.10/950-0413-drm-vc4-hdmi-Don-t-access-the-connector-state-in-res.patch
 bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch
 bcm27xx/patches-5.10/950-0512-vc4-drm-vc4_plane-Remove-subpixel-positioning-check.patch
 bcm27xx/patches-5.10/950-0560-drm-vc4-drv-Remove-the-DSI-pointer-in-vc4_drv.patch
 bcm27xx/patches-5.10/950-0561-drm-vc4-dsi-Use-snprintf-for-the-PHY-clocks-instead-.patch
 bcm27xx/patches-5.10/950-0562-drm-vc4-dsi-Introduce-a-variant-structure.patch
 bcm27xx/patches-5.10/950-0565-drm-vc4-Correct-pixel-order-for-DSI0.patch
 bcm27xx/patches-5.10/950-0566-drm-vc4-Register-dsi0-as-the-correct-vc4-encoder-typ.patch
 bcm27xx/patches-5.10/950-0567-drm-vc4-Fix-dsi0-interrupt-support.patch
 bcm27xx/patches-5.10/950-0568-drm-vc4-Add-correct-stop-condition-to-vc4_dsi_encode.patch
 bcm27xx/patches-5.10/950-0647-drm-vc4-Fix-timings-for-interlaced-modes.patch
 bcm27xx/patches-5.10/950-0695-drm-vc4-Fix-margin-calculations-for-the-right-bottom.patch

Upstream sets the pixel clock to 340MHz now, do not set it to 600MHz any more.
 bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch

Fixes: 89956c653252 ("kernel: bump 5.10 to 5.10.138")
Fixes: 4209c33ae27d ("kernel: bump 5.10 to 5.10.137")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agombedtls: update to version 2.28.1
Hauke Mehrtens [Sat, 27 Aug 2022 21:11:30 +0000 (23:11 +0200)]
mbedtls: update to version 2.28.1

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

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

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

2 years agoRevert "mediatek: mt7622: fix banana pi r64 wps button"
Petr Štetiar [Sun, 28 Aug 2022 06:46:46 +0000 (08:46 +0200)]
Revert "mediatek: mt7622: fix banana pi r64 wps button"

This reverts commit 5a81e0006380c301cdc691838f519275fc6c28d2 as it was
backported upstream in commit a1e238690916 ("arm64: dts: mt7622: fix
BPI-R64 WPS button").

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

All patches automatically rebased.

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

2 years agokernel: bump 5.10 to 5.10.137
Petr Štetiar [Mon, 22 Aug 2022 20:45:53 +0000 (22:45 +0200)]
kernel: bump 5.10 to 5.10.137

Removed following upstreamed patch:

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

All other patches automagically rebased.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit d1163fd13f6498826d202f0b58cedf32d7891d52)

2 years agoiptables: default to ip(6)tables-nft when using buildroot
Etienne Champetier [Sat, 20 Aug 2022 22:08:15 +0000 (18:08 -0400)]
iptables: default to ip(6)tables-nft when using buildroot

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

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

2 years agoramips: fix GB-PC1 and GB-PC2 device support
Arınç ÜNAL [Tue, 5 Jul 2022 14:10:43 +0000 (17:10 +0300)]
ramips: fix GB-PC1 and GB-PC2 device support

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

Tested on GB-PC2 by Petr.

Tested-by: Petr Louda <petr.louda@outlook.cz>
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
(cherry picked from commit 4807bd6a00bcf44dd821047db76a2a799f403cd4)

2 years agohostapd: fix WPA3 enterprise keys and ciphers
Joerg Werner [Sun, 26 Jun 2022 15:18:39 +0000 (17:18 +0200)]
hostapd: fix WPA3 enterprise keys and ciphers

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

Signed-off-by: Joerg Werner <schreibubi@gmail.com>
(cherry picked from commit 9fbb76c0470fd54f1f34909b1098d0f76078878f)

2 years agoiwinfo: update to latest HEAD
Hauke Mehrtens [Sat, 20 Aug 2022 20:51:29 +0000 (22:51 +0200)]
iwinfo: update to latest HEAD

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

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

2 years agoiproute2: Fix KERNEL_INCLUDE in SDK
Hauke Mehrtens [Tue, 16 Aug 2022 21:38:52 +0000 (23:38 +0200)]
iproute2: Fix KERNEL_INCLUDE in SDK

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

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

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

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 60738fedede1746922a8b227f24ad5c733661585)

2 years agoumbim: bump to git HEAD
Hauke Mehrtens [Sat, 13 Aug 2022 17:01:15 +0000 (19:01 +0200)]
umbim: bump to git HEAD

146bc77 umbim: fix invalid mbim message string encoding

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 90bedc411b1e98e9adf668dde09f8eafe4490344)

2 years agomt76: update to the latest version
Felix Fietkau [Fri, 26 Aug 2022 17:48:45 +0000 (19:48 +0200)]
mt76: update to the latest version

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

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

2 years agonetifd: update to the latest version
Felix Fietkau [Thu, 25 Aug 2022 19:16:00 +0000 (21:16 +0200)]
netifd: update to the latest version

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

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

2 years agonetifd: update to git HEAD
Hauke Mehrtens [Sat, 20 Aug 2022 20:52:49 +0000 (22:52 +0200)]
netifd: update to git HEAD

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

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry-picked from commit 8008816a2ceeb7e66d27d9882685933bb9df4c76)

2 years agorpcd: bump version to 2022-08-24
Petr Štetiar [Wed, 24 Aug 2022 11:10:37 +0000 (13:10 +0200)]
rpcd: bump version to 2022-08-24

gcc 10 with -O2 reports following:

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

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

References: #10442
Reported-by: Alexey Smirnov <s.alexey@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 34ddd2e545f068e4684ecce98c1da3a6c7c9b04a)

2 years agorpcd: update to latest Git HEAD
Jo-Philipp Wich [Fri, 12 Aug 2022 19:37:05 +0000 (21:37 +0200)]
rpcd: update to latest Git HEAD

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

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 66a360206e341abdd1e5560e9cb522d8e453b095)

2 years agouhttpd: update to latest Git HEAD
Jo-Philipp Wich [Fri, 12 Aug 2022 19:24:26 +0000 (21:24 +0200)]
uhttpd: update to latest Git HEAD

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

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 4ee77cfcfadcd2b28678a1f3e8e78383b0b21963)

2 years agoucode: update to latest Git HEAD
Jo-Philipp Wich [Wed, 29 Jun 2022 18:19:35 +0000 (20:19 +0200)]
ucode: update to latest Git HEAD

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

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

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 3446d32616efad335c4eeeafc2f542089839bf20)

2 years agonftables: fix parsing date expressions
Jo-Philipp Wich [Mon, 8 Aug 2022 22:05:02 +0000 (00:05 +0200)]
nftables: fix parsing date expressions

Musl libc does not support the non-POSIX "%F" format for strptime() so
replace all occurrences of it with an equivalent "%Y-%m-%d" format.

Fixes: #10419
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit e6e4f979999393825370e9db9fe04d75cb01acf2)

2 years agofirewall4: update to latest Git HEAD
Jo-Philipp Wich [Wed, 24 Aug 2022 21:04:45 +0000 (23:04 +0200)]
firewall4: update to latest Git HEAD

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

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit fe86b2ffaaf6059250e3ba0a9e1436312415e23f)

2 years agoipq806x: add missing scaling_available_frequencies for dedicated cpufreq
Christian Marangi [Sun, 21 Aug 2022 16:52:52 +0000 (18:52 +0200)]
ipq806x: add missing scaling_available_frequencies for dedicated cpufreq

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

Fixes: 5dbbefcbccc0 ("ipq806x: introduce dedicated krait cpufreq")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
[ fix conflict by dropping 5.15 patch not present in openwrt-22.03 ]
(cherry picked from commit d6994c53cd0e5334478d2aab424674da438804e2)

2 years agomac80211: parse the correct set of HE capabilities for AP mode
Sultan Alsawaf [Fri, 22 Jul 2022 06:36:31 +0000 (23:36 -0700)]
mac80211: parse the correct set of HE capabilities for AP mode

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

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

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

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

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
(cherry picked from commit f338f76a66a50d201ae57c98852aa9c74e9e278a)

2 years agoramips: get MAC addr from the encrypted partition (WG4хх223)
Mikhail Zhilkin [Sat, 9 Jul 2022 17:09:57 +0000 (17:09 +0000)]
ramips: get MAC addr from the encrypted partition (WG4хх223)

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

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

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

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

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit a6b0d0806055a53a2538df83f8322c38ee9f3441)

2 years agobase-files: add mtd_get_mac_encrypted_arcadyan function
Mikhail Zhilkin [Tue, 12 Jul 2022 14:52:04 +0000 (14:52 +0000)]
base-files: add mtd_get_mac_encrypted_arcadyan function

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

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit 12c971bc26ac0ff04257bc475fff6fa68068c6c0)

2 years agouencrypt: add package to decrypt WG4хх223 config
Eneas U de Queiroz [Fri, 8 Jul 2022 14:08:21 +0000 (11:08 -0300)]
uencrypt: add package to decrypt WG4хх223 config

This adds a simple AES-128-CBC encryption/decryption program using
either wolfSSL or OpenSSL as backend to decrypt Arcadyan WG4xx223
configuration partitions.  The ipk size is 3,355 bytes.

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

2 years agoodhcp6c: update to git HEAD
Hans Dedecker [Fri, 5 Aug 2022 16:29:05 +0000 (18:29 +0200)]
odhcp6c: update to git HEAD

7d21e8d dhcpv6: add option to ignore stateless advertise

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
(cherry picked from commit a23d132cff541210b281ac60de619e7ce7ec3ba0)

2 years agoramips: allow custom trx magic for Arcadyan
Mikhail Zhilkin [Thu, 28 Apr 2022 18:24:07 +0000 (18:24 +0000)]
ramips: allow custom trx magic for Arcadyan

This commit:
1. Renames beeline-trx recipe in mt7621.mk to arcadyan-trx. The recipe
   is necessary for:
   - MTS WG430223 (Arcadyan WG430223)
   - Beeline Smartbox Flash (Arcadyan WG443223)
2. Allows specify custom trx magic which is different for the routers
   mentined above.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit 109c503bee9aed34ffb485a29af1e2ec6f3bb6b1)
[fix merging conflict in mt7621.mk]
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2 years agoramips: create new dtsi for Arcadyan routers
Mikhail Zhilkin [Wed, 4 May 2022 15:07:28 +0000 (15:07 +0000)]
ramips: create new dtsi for Arcadyan routers

This commit moves common properties for the boards below to a new dtsi:
Beeline Smartbox Flash (Arcadyan WG443223)
MTS WG430223 (Arcadyan WG430223)

The boards are almost the same. Here is the differences:
+------+----------+----------+
|      | WG430223 | WG443223 |
+------+----------+----------+
| RAM  | 128      | 256      |
+------+----------+----------+
| USB  | -        | 1x3.0    |
+------+----------+----------+
| LEDS | RG       | RGB      |
+------+----------+----------+

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit 5b59137a162c07738abbe9fd37125193b3107cb7)

2 years agoramips: add support for MTS WG430223
Mikhail Zhilkin [Wed, 4 May 2022 15:16:38 +0000 (15:16 +0000)]
ramips: add support for MTS WG430223

MTS WG430223 is a wireless AC1300 (WiFi 5) router manufactured by
Arcadyan company. It's very similar to Beeline Smartbox Flash (Arcadyan
WG443223).

Device specification
--------------------
SoC Type: MediaTek MT7621AT
RAM: 128 MiB
Flash: 128 MiB (Winbond W29N01HV)
Wireless 2.4 GHz (MT7615DN): b/g/n, 2x2
Wireless 5 GHz (MT7615DN): a/n/ac, 2x2
Ethernet: 3xGbE (WAN, LAN1, LAN2)
USB ports: No
Button: 1 (Reset/WPS)
LEDs: 2 (Red, Green)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot (Ralink UBoot Version: 5.0.0.2)
OEM: Arcadyan WG430223

Installation
------------
1. Login to the router web interface (superadmin:serial number)
2. Navigate to Administration -> Miscellaneous -> Access control lists &
   enable telnet & enable "Remote control from any IP address"
3. Connect to the router using telnet (default admin:admin)
4. Place *factory.trx on any web server (192.168.1.2 in this example)
5. Connect to the router using telnet shell (no password required)
6. Save MAC adresses to U-Boot environment:
   uboot_env --set --name eth2macaddr --value $(ifconfig | grep eth2 | \
    awk '{print $5}')
   uboot_env --set --name eth3macaddr --value $(ifconfig | grep eth3 | \
    awk '{print $5}')
   uboot_env --set --name ra0macaddr --value $(ifconfig | grep ra0 | \
    awk '{print $5}')
   uboot_env --set --name rax0macaddr --value $(ifconfig | grep rax0 | \
    awk '{print $5}')
7. Ensure that MACs were saved correctly:
   uboot_env --get --name eth2macaddr
   uboot_env --get --name eth3macaddr
   uboot_env --get --name ra0macaddr
   uboot_env --get --name rax0macaddr
8. Download and write the OpenWrt images:
   cd /tmp
   wget http://192.168.1.2/factory.trx
   mtd_write erase /dev/mtd4
   mtd_write write factory.trx /dev/mtd4
9. Set 1st boot partition and reboot:
   uboot_env --set --name bootpartition --value 0

Back to Stock
-------------
1. Run in the OpenWrt shell:
   fw_setenv bootpartition 1
   reboot
2. Optional step. Upgrade the stock firmware with any version to
   overwrite the OpenWrt in Slot 1.

MAC addresses
-------------
+-----------+-------------------+----------------+
| Interface | MAC               | Source         |
+-----------+-------------------+----------------+
| label     | A4:xx:xx:51:xx:F4 | No MACs was    |
| LAN       | A4:xx:xx:51:xx:F6 | found on Flash |
| WAN       | A4:xx:xx:51:xx:F4 | [1]            |
| WLAN_2g   | A4:xx:xx:51:xx:F5 |                |
| WLAN_5g   | A6:xx:xx:21:xx:F5 |                |
+-----------+-------------------+----------------+
[1]:
a. Label wasb't found neither in factory nor in other places.
b. MAC addresses are stored in encrypted partition "glbcfg". Encryption
   key hasn't known yet. To ensure the correct MACs in OpenWrt, a hack
   with saving of the MACs to u-boot-env during the installation was
   applied.
c. Default Ralink ethernet MAC address (00:0C:43:28:80:A0) was found in
   "Factory" 0xfff0. It's the same for all MTS WG430223 devices. OEM
   firmware also uses this MAC when initialazes ethernet driver. In
   OpenWrt we use it only as internal GMAC (eth0), all other MACs are
   unique. Therefore, there is no any barriers to the operation of several
   MTS WG430223 devices even within the same broadcast domain.

Stock firmware image format
---------------------------
The same as Beeline Smartbox Flash but with another trx magic
+--------------+---------------+----------------------------------------+
| Offset       |               | Description                            |
+==============+===============+========================================+
| 0x0          | 31 52 48 53   | TRX magic "1RHS"                       |
+--------------+---------------+----------------------------------------+

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit 498c15376bae109bfe130cc5581f83e4cc52c0f9)

2 years agoramips: add support for ASUS RT-AX53U
Chuncheng Chen [Tue, 14 Jun 2022 06:11:52 +0000 (14:11 +0800)]
ramips: add support for ASUS RT-AX53U

Specifications:
- Device: ASUS RT-AX53U
- SoC: MT7621AT
- Flash: 128MB
- RAM: 256MB
- Switch: 1 WAN, 3 LAN (10/100/1000 Mbps)
- WiFi: MT7905 2x2 2.4G + MT7975 2x2 5G
- Ports: USB 3.0
- LEDs: 1x POWER (blue, configurable)
        3x LAN (blue, configurable)
        1x WAN (blue, configurable)
        1x USB (blue, not configurable)
1x 2.4G (blue, not configurable)
1x 5G (blue, not configurable)

Flash by U-Boot TFTP method:
- Configure your PC with IP 192.168.1.2
- Set up TFTP server and put the factory.bin image on your PC
- Connect serial port(rate:115200) and turn on AP, then interrupt "U-Boot Boot Menu" by hitting any key
   Select "2. Upgrade firmware"
   Press enter when show "Run firmware after upgrading? (Y/n):"
   Select 0 for TFTP method
   Input U-Boot's IP address: 192.168.1.1
   Input TFTP server's IP address: 192.168.1.2
   Input IP netmask: 255.255.255.0
   Input file name: openwrt-ramips-mt7621-asus_rt-ax53u-squashfs-factory.bin
- Restart AP aftre see the log "Firmware upgrade completed!"

Signed-off-by: Chuncheng Chen <ccchen1984@gmail.com>
(replaced led label, added key-* prefix to buttons, added note about
BBT)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 8c00fd9b4519bf0ef8fb3470a6df421b9f38c03c)

2 years agomvebu: backport pending Turris Omnia LEDs improvements
Josef Schlehofer [Tue, 26 Jul 2022 12:32:37 +0000 (14:32 +0200)]
mvebu: backport pending Turris Omnia LEDs improvements

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

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

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

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

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

2 years agomvebu: backport DTS changes for Turris Omnia from mvebu/dt
Josef Schlehofer [Tue, 26 Jul 2022 12:31:26 +0000 (14:31 +0200)]
mvebu: backport DTS changes for Turris Omnia from mvebu/dt

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

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

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

2 years agompc85xx: enable NAND support for all subtargets
Josef Schlehofer [Tue, 7 Jun 2022 11:13:11 +0000 (13:13 +0200)]
mpc85xx: enable NAND support for all subtargets

In subtarget p2020, there wasn't enabled nand support, and because of
that there weren't available tools from mtd-utils package, which has
utilities for NAND flash memory even though reference board, which
is the only currently supported device in p2020 subtarget has NAND [1].

All subtargets in mpc85xx has already enabled nand support, let's do it
globally.

[1] https://www.nxp.com/design/qoriq-developer-resources/p2020-reference-design-board:P2020RDB

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

2 years agokernel: add kmod-leds-turris-omnia
Stefan Kalscheuer [Thu, 19 May 2022 19:10:34 +0000 (21:10 +0200)]
kernel: add kmod-leds-turris-omnia

Add support for LEDs of the CZ.NIC Turris Omnia using the upstream
driver.

There is no generic way to control the LEDs in UCI manner, however
the kernel module is the first step to actually use the RGB LEDs in
custom logic.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
(removed DMARC notice, added driver to Turris Omnia, moved module
recipe to target/linux/mvebu/modules.mk)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit f8fa38c13fcc3b4ce9a4dfc56d98e5188353afac)
Reviewed-by: Robert Marko <robimarko@gmail.com>
2 years agotoolchain: Update glibc 2.34 to recent HEAD
Hauke Mehrtens [Sat, 6 Aug 2022 21:12:56 +0000 (23:12 +0200)]
toolchain: Update glibc 2.34 to recent HEAD

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

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

2 years agobuild: add support for python3.11 and higher
Oscar Molnar [Sat, 6 Aug 2022 15:13:41 +0000 (16:13 +0100)]
build: add support for python3.11 and higher

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

Signed-off-by: Oscar Molnar <oscar@tymscar.com>
(cherry picked from commit a9e8eec221874e5840d659aed3f68850ff1d9982)

2 years agoiwinfo: update to latest HEAD
Hauke Mehrtens [Sat, 13 Aug 2022 16:35:46 +0000 (18:35 +0200)]
iwinfo: update to latest HEAD

705d3b5 iwinfo: Add missing auth_suites mappings for WPA3

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

2 years agoath25: fix initramfs image generation
Lech Perczak [Tue, 9 Aug 2022 23:10:57 +0000 (01:10 +0200)]
ath25: fix initramfs image generation

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

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

Fixes: 21f460a5dbef ("ath25: fix duplicate LZMA compression")
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
(cherry picked from commit 9f5cbb6e8b9537942db405719bf7662d0e08b8c5)

2 years agoath25: fix ELF image generation
Lech Perczak [Tue, 9 Aug 2022 23:06:24 +0000 (01:06 +0200)]
ath25: fix ELF image generation

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

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

Fixes: 21f460a5dbef ("ath25: fix duplicate LZMA compression")
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
(cherry picked from commit 611291383a826827f240eddebca1949c2e1e7115)

2 years agokernel: bump 5.10 to 5.10.136
John Audia [Thu, 11 Aug 2022 12:37:14 +0000 (08:37 -0400)]
kernel: bump 5.10 to 5.10.136

All patches automatically rebased.

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

2 years agokernel: bump 5.10 to 5.10.135
John Audia [Wed, 3 Aug 2022 18:32:51 +0000 (14:32 -0400)]
kernel: bump 5.10 to 5.10.135

All patches automatically rebased.

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

2 years agokernel: Backport upstream flowtable patches from 5.15
Hauke Mehrtens [Sat, 5 Mar 2022 18:08:27 +0000 (19:08 +0100)]
kernel: Backport upstream flowtable patches from 5.15

This backports some patches from kernel 5.15 to fix issues with
flowtable offloading in kernel 5.10. OpenWrt backports most of the
patches related to flowtable offloading from kernel 5.15 already, but we
are missing some of the extra fixes.

This fixes some connection tracking problems when a flow gets removed
from the offload and added to the normal SW path again.

The patch 614-v5.18-netfilter-flowtable-fix-TCP-flow-teardown.patch was
extended manually with the nf_conntrack_tcp_established() function.

All changes are already included in kernel 5.15.

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

2 years agopkg-config: always use correct path for pkg-config.real
Leonardo Mörlein [Tue, 9 Aug 2022 19:54:04 +0000 (21:54 +0200)]
pkg-config: always use correct path for pkg-config.real

Before this commit, it was assumed that pkg-config.real is in the PATH. While
this was fine for the normal build workflow, this led to some issues if

    make TOPDIR="$(pwd)" -C "$pkgdir" compile

was called manually. The command failed with

    Makefile:15: *** No libnl-tiny development libraries found!.  Stop.
    make[1]: Leaving directory

since pkg-config of the host system was used.

After the commit, the package is built sucessfully.

Signed-off-by: Leonardo Mörlein <me@irrelefant.net>
(cherry picked from commit 37c0d15a8e9eb30920091bff1bf466640bc64dad)

2 years agokernel: kmod-phy-smsc: Add new PHY
Hauke Mehrtens [Sun, 7 Aug 2022 14:00:32 +0000 (16:00 +0200)]
kernel: kmod-phy-smsc: Add new PHY

This adds the SMSC PHY which is needed by the kmod-usb-net-smsc95xx
driver.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5b016a88f92f25dd7d32438bce3a469f343f4009)

2 years agokernel: kmod-phy-ax88796b: Add new PHY
Hauke Mehrtens [Sun, 7 Aug 2022 13:57:15 +0000 (15:57 +0200)]
kernel: kmod-phy-ax88796b: Add new PHY

This adds the AX88796B PHY which is needed by the kmod-usb-net-asix
driver.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 712ff388bcd0811256c07e8e1f4b92a007adaa7f)

2 years agokernel: kmod-ipt-ulog: Remove package
Hauke Mehrtens [Sun, 7 Aug 2022 12:31:59 +0000 (14:31 +0200)]
kernel: kmod-ipt-ulog: Remove package

The ulog iptables target was removed with kernel 3.17, remove the kernel
and also the iptables package in OpenWrt too.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2a0284fb0325f07e79b9b4c58a7d280ba9999a39)

2 years agokernel: kmod-nft-nat6: Remove package
Hauke Mehrtens [Sun, 7 Aug 2022 12:06:14 +0000 (14:06 +0200)]
kernel: kmod-nft-nat6: Remove package

The nft NAT packages for IPv4 and IPv6 were merged into the common
packages with kernel 5.1. The kmod-nft-nat6 package was empty in our
build, remove it.

Multiple kernel configuration options were also removed, remove them
from our generic kernel configuration too.

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

2 years agokernel: ipt-ipset: Add ipset/ip_set_hash_ipmac.ko
Hauke Mehrtens [Fri, 29 Jul 2022 16:36:02 +0000 (18:36 +0200)]
kernel: ipt-ipset: Add ipset/ip_set_hash_ipmac.ko

Add the ipset/ip_set_hash_ipmac.ko file. The CONFIG_IP_SET_HASH_IPMAC
KConfig option is already set by the package.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
(cherry picked from commit 6a2e9f3da6d0f0f3ae382db1e77a65c2f0e67d24)

2 years agokernel: netsupport: kmod-sched: explicitly define included modules
Thomas Langer [Fri, 29 Jul 2022 16:35:57 +0000 (18:35 +0200)]
kernel: netsupport: kmod-sched: explicitly define included modules

Change SCHED_MODULES_EXTRA to an explicit list of modules
instead of taking everything that is not filtered out.
This removes the need of updating the filter each time an extra
sch_*, act_* or similar is added with an own kmod definition.

Signed-off-by: Thomas Langer <tlanger@maxlinear.com>
Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
(cherry picked from commit 1b956e66ccafc962033260567c2f1e845f71683f)

2 years agokernel: netsupport: kmod-sched: Add kmod-lib-textsearch dependency
Hauke Mehrtens [Fri, 29 Jul 2022 16:35:56 +0000 (18:35 +0200)]
kernel: netsupport: kmod-sched: Add kmod-lib-textsearch dependency

The CONFIG_NET_EMATCH_TEXT configuration option depends on the
kmod-lib-textsearch package.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
(cherry picked from commit 3cc878a8d3e4d2d445bf2ee34883e9326bfa0bb2)

2 years agokernel: netsupport: kmod-sched: Remove sch_fq_codel and sch_fifo
Hauke Mehrtens [Fri, 29 Jul 2022 16:35:55 +0000 (18:35 +0200)]
kernel: netsupport: kmod-sched: Remove sch_fq_codel and sch_fifo

The sch_fq_codel.ko and the sch_fifo.ko are always compiled into the
kernel, they are activated in the generic kernel configuration. There is
no need to activate the build of these kernel modules in the kmod-sched*
packages.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
(cherry picked from commit 606e357bf824a314a0c6a147539974e99e8aabe1)

2 years agoarm-trusted-firmware-mediatek: skip bad blocks on SPI-NAND (SNFI)
Daniel Golle [Fri, 12 Aug 2022 20:16:00 +0000 (22:16 +0200)]
arm-trusted-firmware-mediatek: skip bad blocks on SPI-NAND (SNFI)

Add patch to skip bad blocks when reading from SPI-NAND. This is needed
in case erase block(s) early in the flash inside the FIP area are bad
and hence need to be skipped in order to be able to boot on such damaged
chips.

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

2 years agofstools: add uci fstab section to conffiles for package block-mount
Florian Eckert [Wed, 3 Aug 2022 07:54:06 +0000 (09:54 +0200)]
fstools: add uci fstab section to conffiles for package block-mount

The command 'opkg search /etc/config/fstab' does not return a package
name for this config file. In order to know to which package this config
file belongs to, a 'conffiles' entry was made for this file to package
'block-mount'.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit 885f04b30556edddb9378c5e9eb561334e44ac7a)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: scale nf_conntrack_max more reasonably
Vincent Pelletier [Sat, 19 Feb 2022 02:06:23 +0000 (02:06 +0000)]
kernel: scale nf_conntrack_max more reasonably

Use the kernel's built-in formula for computing this value.
The value applied by OpenWRT's sysctl configuration file does not scale
with the available memory, under-using hardware capabilities.
Also, that formula also influences net.netfilter.nf_conntrack_buckets,
which should improve conntrack performance in average (fewer connections
per hashtable bucket).

Backport upstream commit for its effect on the number of connections per
hashtable bucket.

Apply a hack patch to set the RAM size divisor to a more reasonable value (2048,
down from 16384) for our use case, a typical router handling several thousands
of connections.

Signed-off-by: Vincent Pelletier <plr.vincent@gmail.com>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
(cherry picked from commit 15fbb916669dcdfcc706e9e75263ab63f9f27c00)

2 years agodnsmasq: fix jail_mount for serversfile
Bruno Victal [Fri, 15 Apr 2022 14:30:01 +0000 (15:30 +0100)]
dnsmasq: fix jail_mount for serversfile

Fix 'serversfile' option not being jail_mounted by the init script.

Signed-off-by: Bruno Victal <brunovictal@outlook.com>
(cherry picked from commit 0276fab64933dc42bad865974dc224e2672f99fe)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoramips: Add Xiaomi Mi Router 4A 100M International
Nita Vesa [Fri, 29 Apr 2022 10:57:24 +0000 (13:57 +0300)]
ramips: Add Xiaomi Mi Router 4A 100M International

The international version of Mi Router 4A 100M is physically
identical to the non-international one, but appears to be
using a different partitioning scheme with the "overlay"
partition being 2MiB in size instead of 1MiB. This means
the following "firmware" partition starts at a different
address and the DTS needs to be adjusted for the firmware
to work.

Signed-off-by: Nita Vesa <werecatf@outlook.com>
(cherry picked from commit 1a8c74da709190e5157af9f5c2502b600f6273bb)
Signed-off-by: Tom Herbers <freifunk@tomherbers.de>
2 years agozlib: backport null dereference fix
Petr Štetiar [Tue, 9 Aug 2022 05:50:19 +0000 (07:50 +0200)]
zlib: backport null dereference fix

The curl developers found test case that crashed in their testing when
using zlib patched against CVE-2022-37434, same patch we've backported
in commit 7df6795d4c25 ("zlib: backport fix for heap-based buffer
over-read (CVE-2022-37434)"). So we need to backport following patch in
order to fix issue introduced in that previous CVE-2022-37434 fix.

References: https://github.com/curl/curl/issues/9271
Fixes: 7df6795d4c25 ("zlib: backport fix for heap-based buffer over-read (CVE-2022-37434)")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit f443e9de7003c00a935b9ea12f168e09e83b48cd)

2 years agozlib: bump PKG_RELEASE after CVE fix
Petr Štetiar [Mon, 8 Aug 2022 07:55:33 +0000 (09:55 +0200)]
zlib: bump PKG_RELEASE after CVE fix

Fixing missed bump of PKG_RELEASE while backporting commit 7561eab8e86e
("zlib: backport fix for heap-based buffer over-read (CVE-2022-37434)")
as package in master is using AUTORELEASE.

Fixes: 7561eab8e86e ("zlib: backport fix for heap-based buffer over-read (CVE-2022-37434)")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agozlib: backport fix for heap-based buffer over-read (CVE-2022-37434)
Petr Štetiar [Sat, 6 Aug 2022 12:55:07 +0000 (14:55 +0200)]
zlib: backport fix for heap-based buffer over-read (CVE-2022-37434)

zlib through 1.2.12 has a heap-based buffer over-read or buffer overflow
in inflate in inflate.c via a large gzip header extra field. NOTE: only
applications that call inflateGetHeader are affected. Some common
applications bundle the affected zlib source code but may be unable to
call inflateGetHeader.

Fixes: CVE-2022-37434
References: https://github.com/ivd38/zlib_overflow
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 7df6795d4c25447683fd4b4a4813bebcddaea547)

2 years agoodhcpd: update to git HEAD
Hans Dedecker [Tue, 22 Mar 2022 21:00:24 +0000 (22:00 +0100)]
odhcpd: update to git HEAD

860ca90 odhcpd: Support for Option NTP and SNTP
83e14f4 router: advertise removed addresses as invalid in 3 consecutive RAs

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
(cherry picked from commit 73c6d8fd046298face0e8aea8e52cc0faca67324)

2 years agouboot-mvebu: update to v2022.07
Andre Heider [Mon, 11 Jul 2022 17:49:21 +0000 (19:49 +0200)]
uboot-mvebu: update to v2022.07

- Release announcement:
https://lore.kernel.org/u-boot/20220711134339.GV1146598@bill-the-cat/

- Changes between 2022.04 and 2022.07:
https://source.denx.de/u-boot/u-boot/-/compare/v2022.04...v2022.07?from_project_id=531

Remove one upstreamed patch and add patch to fix issue with sunxi tool
as it uses function from newer version libressl (3.5.0).

Signed-off-by: Andre Heider <a.heider@gmail.com>
Tested-by: Josef Schlehofer <pepe.schlehofer@gmail.com> [Turris Omnia]
(cherry picked from commit 24bf6813bad98a8eba5430ed5e4da89d54797274)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
[Improve commit message]

2 years agorealtek: Fix typo in Kconfig prompt
Olliver Schinagl [Thu, 4 Aug 2022 14:09:00 +0000 (16:09 +0200)]
realtek: Fix typo in Kconfig prompt

As the symbol RTL930x shows, the bool enables the RTL930x platform, not
the RTL839x one.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
(slightly changed commit subject)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 943905b0b6ee59fb7eaf3611960c0ec87ed61bbc)