openwrt/staging/noltari.git
23 months agoramips: enable BBT on NAND in I-O DATA devices
INAGAKI Hiroshi [Wed, 23 Nov 2022 08:12:29 +0000 (17:12 +0900)]
ramips: enable BBT on NAND in I-O DATA devices

This patch enables MediaTek NAND BBT on I-O DATA devices manufactured by
MSTC (MitraStar Technology Corp.).

[WN-AX2033GR]
Tested-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
[WN-AX1167GR2, WN-DX1167R, WN-DX1200GR, WN-DX2033GR]
Tested-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
23 months agomediatek: drop redmi-ax6000 variant with modified env
Chuanhong Guo [Fri, 30 Dec 2022 07:55:56 +0000 (15:55 +0800)]
mediatek: drop redmi-ax6000 variant with modified env

This variant uses xiaomi factory u-boot and modified u-boot-env &
bootcmd.
By modifying uboot-env, the xiaomi firmware recovery provided in
the vendor u-boot doesn't work anymore. It's possible to put
u-boot into a state where it refuese to take any serial input.
If the u-boot is in this state, users can't restore their
firmware without taking the flash off the board.
We now have a -stock variant where the vendor u-boot is used in
a way that xiaomi firmware recovery still works, and a -ubootmod
variant where we get rid of all xiaomi components, have more
usable space and no uart console lock. These two should cover all
use cases and we don't need this variant anymore.
Drop this redmi-ax6000 variant. Existing users of this variant
should perform a u-boot mod or restore to the -stock layout.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
23 months agoramips: Refresh patches
Hauke Mehrtens [Thu, 29 Dec 2022 18:01:15 +0000 (19:01 +0100)]
ramips: Refresh patches

The patch was not applying cleanly any more.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agotree-wide: Do not use package librt and libpthread
Hauke Mehrtens [Sun, 18 Dec 2022 16:32:46 +0000 (17:32 +0100)]
tree-wide: Do not use package librt and libpthread

The libraries libpthread, libdl, libutil, libanl have been integrated
into the libc library in version 2.34. it is not needed to explicitly
link them any more.

Most of the functions have been moved from the librt.so into libc.so
some time ago already.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agoipq40xx: convert Aruba AP-303H to DSA and enable target again
Nick Hainke [Wed, 21 Dec 2022 09:34:03 +0000 (10:34 +0100)]
ipq40xx: convert Aruba AP-303H to DSA and enable target again

The target was disabled since noone did the DSA conversion. Add the
conversion and enable it again.

Tested-by: John Walshaw <jjw@myself.com>
Signed-off-by: Bjoern Dobe <bjoern@dobecom.de>
Signed-off-by: Nick Hainke <vincent@systemli.org>
23 months agompc85xx: change CPU_TYPE from 8540 to 8548
Šimon Bořek [Wed, 15 Jun 2022 15:38:38 +0000 (17:38 +0200)]
mpc85xx: change CPU_TYPE from 8540 to 8548

All subtargets as p1010, p1020, p2020 uses e500v2 cores [1] [2] [3] [4],
 so let's force cpu type to 8545 for all mpc85xx target even though
there might exist device with e500v1, but there is no such router supported in OpenWrt
and because of that it does not make sense to to set CPU_TYPE for each subtarget.

All MPC85xx SoC can be found here:
https://www.nxp.com/products/processors-and-microcontrollers/legacy-mpu-mcus/powerquicc-processors:POWERQUICC_HOME#powerquicc-iii-mpc85xx

[1] https://www.nxp.com/docs/en/application-note/AN2807.pdf
[2] https://www.nxp.com/docs/en/fact-sheet/QP1010FS.pdf
[3] https://www.nxp.com/docs/en/product-brief/P1020PB.pdf
[4] https://www.nxp.com/docs/en/fact-sheet/QP20XXFS.pdf

Co-authored-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Šimon Bořek <simon.borek@nic.cz>
23 months agompc85xx: add support for cpu type 8548
Šimon Bořek [Wed, 15 Jun 2022 15:31:39 +0000 (17:31 +0200)]
mpc85xx: add support for cpu type 8548

8540 cpu type corresponds to e500v1 core while
8548 cpu type corresponds to e500v2 core

See https://www.nxp.com/products/processors-and-microcontrollers/legacy-mpu-mcus/powerquicc-processors:POWERQUICC_HOME#powerquicc-iii-mpc85xx
and https://www.nxp.com/docs/en/application-note/AN2807.pdf .

Co-authored-by: Josef Schlehofer <josef.schlehofer@nic.cz>
Co-authored-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Šimon Bořek <simon.borek@nic.cz>
23 months agolinux-firmware: disable stripping
Robert Marko [Wed, 28 Dec 2022 21:57:49 +0000 (22:57 +0100)]
linux-firmware: disable stripping

It has been brought to my attention that recently added WCN6855 firmware
is broken as it is getting stripped during building due to being 2 ELF
binaries.
I am sure WCN6750 and any other ELF binaries are having the same issue,
so since stripping firmware binaries is clearly unwanted disable it.

Fixes: b4d3694f81f4 ("linux-firmware: package ath11k consumer cards firmware")
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 months agouboot-mediatek: add support for Xiaomi Redmi Router AX6000
Furong Xu [Thu, 22 Dec 2022 02:40:50 +0000 (10:40 +0800)]
uboot-mediatek: add support for Xiaomi Redmi Router AX6000

U-Boot flash instructions:

0. OpenWrt U-Boot does not support stock layout, it comes with recovery
boot support, automatic tftp recovery and never blocks UART.

A new flash layout is introduced, we call it OpenWrt U-Boot layout,
stock flash layout and the old OpenWrt layout are not supported.

During the whole flash procedure, please do not reboot or power off
unless requested explicitly, or you will break your device.

1. Your device should already running OpenWrt.
If not, follow the instructions to flash OpenWrt:
https://github.com/openwrt/openwrt/pull/11115

2. Backup BL2 Nvram Bdata Factory and FIP in case you break something or
in case you want to go back to stock firmware one day.

cat /dev/mtdblock0 > /tmp/BL2.bin
cat /dev/mtdblock1 > /tmp/Nvram.bin
cat /dev/mtdblock2 > /tmp/Bdata.bin
cat /dev/mtdblock3 > /tmp/Factory.bin
cat /dev/mtdblock4 > /tmp/FIP.bin

And save all whose bin files to somewhere safe.

Then backup your configurations, since ubiformat for entire mtd device is
required to create new ubootenv volume for OpenWrt U-Boot.

3. Run the following cmd to boot into an initramfs with the new OpenWrt
U-Boot layout that expand ubi partion to the end of flash:

ubiformat /dev/mtd7 -y -f /tmp/ax6000-ubootmod-initramfs-factory.ubi

4. After boot into initramfs, check mtd partion info.
The ubi partion should be mtd5

root@OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 BL2
mtd1: 00040000 00020000 Nvram
mtd2: 00040000 00020000 Bdata
mtd3: 00200000 00020000 Factory
mtd4: 00200000 00020000 FIP
mtd5: 07a80000 00020000 ubi

5. Load kmod-mtd-rw to temporarily make the bootloader partions writable.
The kmod-mtd-rw is from the feeds, it is not packed in initramfs-factory
by default.

To install kmod-mtd-rw via opkg:

opkg update && opkg install kmod-mtd-rw

Or, download kmod-mtd-rw.ipk from OpenWrt server and install it manually
e.g:
https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/kmods/
Select your OpenWrt release version and kernel version accordingly.

Load kmod-mtd-rw:
insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1

6. Run the following cmd to clean all pending crash dumps in pstore,
or OpenWrt U-Boot may boot into NAND recovery or tftp recovery.

rm -f /sys/fs/pstore/*

7. Format ubi and create new ubootenv volume:

ubidetach -p /dev/mtd5; ubiformat /dev/mtd5 -y; ubiattach -p /dev/mtd5
ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB

8. This is optional. Skip this if you do not want to have NAND recovery
boot feature offered by OpenWrt U-Boot. Don't worry, you always have
automatic tftp recovery feature enabled.

ubimkvol /dev/ubi0 -n 2 -N recovery -s 10MiB
ubiupdatevol /dev/ubi0_2 /tmp/ax6000-ubootmod-initramfs-recovery.itb

9. Now, flash new U-Boot. Bye-bye ugly stock U-Boot.

mtd write /tmp/ax6000-ubootmod-preloader.bin BL2
mtd write /tmp/ax6000-ubootmod-bl31-uboot.fip FIP

10. Flash the squashfs-sysupgrade.bin as usual:

sysupgrade -n /tmp/ax6000-ubootmod-squashfs-sysupgrade.itb

Enjoy!

Signed-off-by: Furong Xu <xfr@outlook.com>
23 months agomediatek: add new layout for Xiaomi Redmi Router AX6000 for OpenWrt U-Boot
Furong Xu [Thu, 22 Dec 2022 02:40:26 +0000 (10:40 +0800)]
mediatek: add new layout for Xiaomi Redmi Router AX6000 for OpenWrt U-Boot

This new layout is only bootable with OpenWrt U-Boot. It reuses the
two crash partions and expands the ubi partion to the end of whole flash.

Do not use this layout with stock U-Boot!

Signed-off-by: Furong Xu <xfr@outlook.com>
23 months agorealtek: deduplicate GS1900 recipes
Sander Vanheule [Wed, 28 Dec 2022 20:39:46 +0000 (21:39 +0100)]
realtek: deduplicate GS1900 recipes

ZyXEL GS1900 devices with SoCs from both the RTL838x and RTL839x
families share the same image structure and size of the firmware
partition. Additionally, the GS1900-48 recipe provided a parameter for
the zyxel-vers command, but this parameter is not used. Deduplicate the
recipes by moving it to target/linux/realtek/image/common.mk.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
23 months agorealtek: fix GS1900-48 firwmare partition
Sander Vanheule [Wed, 28 Dec 2022 11:26:21 +0000 (12:26 +0100)]
realtek: fix GS1900-48 firwmare partition

The listed partition size doesn't match the original partition size, and
actually overlaps with the following partition. The partition node name
for the "firmware" partition also has an extra 'b' compared to the
partition offset.

Fixes: 47f5a0a3eed5 ("realtek: Add support for ZyXEL GS1900-48 Switch")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
23 months agorealtek: fix ZYXELS_VERS for GS1900-48
Sander Vanheule [Tue, 27 Dec 2022 13:27:44 +0000 (14:27 +0100)]
realtek: fix ZYXELS_VERS for GS1900-48

The GS1900-48 firmware image is identified by the 'AAHN' ID, while the
GS1900-48HP is identified by 'AAHO' [1]. The latter was used, resulting
in the following error message when upgrading via the stock web UI:

  Device only can support firmware from V1.00(AAHN.0) and later version

Fix image generation by using the correct ID.

[1] https://download.zyxel.com/GS1900-48/firmware/GS1900-48_2.70(AAHN.3)C0_2.pdf

Link: https://forum.openwrt.org/t/146533
Fixes: 47f5a0a3eed5 ("realtek: Add support for ZyXEL GS1900-48 Switch")
Suggested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
23 months agorealtek: fix default image generation
Sander Vanheule [Wed, 28 Dec 2022 20:46:48 +0000 (21:46 +0100)]
realtek: fix default image generation

While cleaning up the makefiles for the realtek target, the order of the
default image generating commands was accidentally changed. This caused
the image signature to end up somewhere in the middle, misaligning the
rootfs. As a result, sysupgrade couldn't verify upgrade images anymore,
and devices end up in a boot loop due to the unaligned (and not found)
rootfs.

Fixes: 94d8b4852b9f ("realtek: Cleanup Makefiles")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
23 months agoath79: fix calibration-art for some boards
Nick Hainke [Tue, 20 Dec 2022 15:12:48 +0000 (16:12 +0100)]
ath79: fix calibration-art for some boards

"0x1000" looks suspicious. By looking at data provided
by @DragonBluep I was able to identify the correct size for
AR9380, AR9287 WiFis. Furthermore, PowerCloud Systems CAP324
has a AR9344 WiFi.

Signed-off-by: Nick Hainke <vincent@systemli.org>
23 months agolinux-firmware: ath11k: add symlink for WCN6855 hw2.1
Robert Marko [Wed, 28 Dec 2022 20:42:52 +0000 (21:42 +0100)]
linux-firmware: ath11k: add symlink for WCN6855 hw2.1

WCN6855 exists in 2 HW revisions, but both use the same FW so upstream
just has a symlink for hw2.1 to hw2.0 that I forgot to make.

Fixes: b4d3694f81f4 ("linux-firmware: package ath11k consumer cards firmware")
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 months agolinux-firmware: update to 20221214
Nick Hainke [Sat, 24 Dec 2022 23:51:20 +0000 (00:51 +0100)]
linux-firmware: update to 20221214

Changes:
f3c283e amdgpu: updated navi10 firmware for amd-5.4
ba115d4 amdgpu: updated yellow carp firmware for amd-5.4
b8aba70 amdgpu: updated raven2 firmware for amd-5.4
2b21c5e amdgpu: updated raven firmware for amd-5.4
fc9a1c9 amdgpu: updated PSP 13.0.8 firmware for amd-5.4
7d43336 amdgpu: updated GC 10.3.7 RLC firmware for amd-5.4
c089dab amdgpu: updated vega20 firmware for amd-5.4
75e3494 amdgpu: updated PSP 13.0.5 firmware for amd-5.4
31c5734 amdgpu: add VCN 4.0.0 firmware for amd-5.4
a735158 amdgpu: add SMU 13.0.0 firmware for amd-5.4
0bef6bb amdgpu: Add SDMA 6.0.0 firmware for amd-5.4
bb56d1a amdgpu: add PSP 13.0.0 firmware for amd-5.4
e32209f amdgpu: add GC 11.0.0 firmware for amd-5.4
613db81 amdgpu: add DCN 3.2.0 firmware for amd-5.4
1fc8f6c amdgpu: updated vega10 firmware for amd-5.4
2257447 amdgpu: updated beige goby firmware for amd-5.4
6aa0023 amdgpu: updated dimgrey cavefish firmware for amd-5.4
dd1225a amdgpu: updated vangogh firmware for amd-5.4
5cb010e amdgpu: updated picasso firmware for amd-5.4
edf9699 amdgpu: updated navy flounder firmware for amd-5.4
b7e83d9 amdgpu: updated green sardine firmware for amd-5.4
f820cc3 amdgpu: updated sienna cichlid firmware for amd-5.4
b77f539 amdgpu: updated arcture firmware for amd-5.4
dccfdf1 amdgpu: updated navi14 firmware for amd-5.4
5d1af6d amdgpu: updated renoir firmware for amd-5.4
13b9c94 amdgpu: updated navi12 firmware for amd-5.4
e9b8357 amdgpu: updated aldebaran firmware for amd-5.4
b4af754 sr150 : Add NXP SR150 UWB firmware
0707b2f brcm: add/update firmware files for brcmfmac driver
16c9630 rtl_bt: Update RTL8821C BT(USB I/F) FW to 0x75b8_f098
80ed874 amdgpu: update sdma_5.2.7 firmware
32d8681 QCA: Add Bluetooth firmware for WCN785x This commit will add required Bluetooth firmware files for QCA WCN785x. The image version is 2.0.0-00515.
cdf9499 linux-firmware: update firmware for MT7916
685ea4d linux-firmware: update firmware for MT7915
7f6279b i915: Add DMC v2.08 for DG2
391fb47 amdgpu: update green sardine DMCUB firmware
de854c9 i915: Add DMC v2.10 for MTL
daff404 linux-firmware: update firmware for MT7986
70494e3 linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
750c0dc linux-firmware: update firmware for MT7921 WiFi device

Signed-off-by: Nick Hainke <vincent@systemli.org>
23 months agokernel: fix ethernet regression on mt7986
Felix Fietkau [Wed, 28 Dec 2022 19:06:04 +0000 (20:06 +0100)]
kernel: fix ethernet regression on mt7986

Signed-off-by: Felix Fietkau <nbd@nbd.name>
23 months agouboot-envtools: add support for ramips Asus RX-AX53U
Felix Baumann [Mon, 26 Dec 2022 20:44:45 +0000 (21:44 +0100)]
uboot-envtools: add support for ramips Asus RX-AX53U

Adds uboot-envtools support for ramips Asus RX-AX53U now that partition
can be correctly read.

Signed-off-by: Felix Baumann <felix.bau@gmx.de>
[ improve commit title and description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agoramips: add support for read/write uboot env to Asus RX-AX53U
Felix Baumann [Mon, 26 Dec 2022 20:40:43 +0000 (21:40 +0100)]
ramips: add support for read/write uboot env to Asus RX-AX53U

Add support for read/writing uboot env by renaming the second partition
to its stock label "nvram" and remove the deemed unnecessary
"read-only". Split the first partition "u-boot" in two, in order
to allow `fw_setenv` safe write-access to the uboot environment
variables.

This implements hauke's request from [1].
Based on the patch provided by Shiji Yang.

[1] https://github.com/openwrt/openwrt/pull/10400#discussion_r945153224

Co-Authored-By: Shiji Yang <yangshiji66@qq.com>
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
[ improve commit title and description, fix some whitespace problem ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agorealtek: Fix reset register access
Birger Koblitz [Thu, 12 May 2022 18:40:45 +0000 (20:40 +0200)]
realtek: Fix reset register access

The reset register on RTL93xx not merely have bits to execute
a reset of a hardware component, but also configuration bits for
reset procedures. Keep them during executing a reset.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
[backport to 5.10 kernel]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
23 months agobcm27xx: fix BCMGENET kernel config
Álvaro Fernández Rojas [Wed, 28 Dec 2022 12:40:03 +0000 (13:40 +0100)]
bcm27xx: fix BCMGENET kernel config

Revert backported upstream commits 421f8663b3a7 and 8d820bc9d12b, which have
introduced a regression in BCMGENET kconfig that disabled the network driver
for the Raspberry Pi.

Fixes: 0c405bceba11 ("kernel: bump 5.15 to 5.15.85")
Fixes: e9008223268c ("kernel: bump 5.15 to 5.15.84")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
23 months agokernel: mediatek: fix WED offload regression on MT7622
Felix Fietkau [Tue, 27 Dec 2022 18:09:38 +0000 (19:09 +0100)]
kernel: mediatek: fix WED offload regression on MT7622

Fix dealing with DSA untagging offload

Signed-off-by: Felix Fietkau <nbd@nbd.name>
23 months agokernel: mediatek: improve ethernet fix for dealing with small fragments
Felix Fietkau [Tue, 27 Dec 2022 18:08:27 +0000 (19:08 +0100)]
kernel: mediatek: improve ethernet fix for dealing with small fragments

Replace the workaround on MT7986 with a proper fix. Software workaround is
still needed on older chips.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
23 months agohostapd: allow sharing the incoming DAS port across multiple interfaces
Felix Fietkau [Fri, 16 Dec 2022 12:32:48 +0000 (13:32 +0100)]
hostapd: allow sharing the incoming DAS port across multiple interfaces

Use the NAS identifier to find the right receiver context on incoming messages

Signed-off-by: Felix Fietkau <nbd@nbd.name>
23 months agorealtek: Reduce variable scopes
Olliver Schinagl [Thu, 22 Dec 2022 10:53:30 +0000 (11:53 +0100)]
realtek: Reduce variable scopes

Linus prefers to have loop initializers nice and tightly scoped. In
OpenWRT this has been possible since 41a1a652fbd4 ("kernel: backport
gnu11 upgrade").

This patch cleans up variable scope while trying to do the above for
'simple for loops'.

This cleans up and simplifies some functions and code, and pulls in
variables to a smaller scope.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
23 months agorealtek: Cleanup Makefiles
Olliver Schinagl [Wed, 21 Dec 2022 22:26:08 +0000 (23:26 +0100)]
realtek: Cleanup Makefiles

Our current Makefiles a little bit messy and can be improved somewhat,
both in whitespace and in style.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
23 months agorealtek: Replace C++ style comments
Olliver Schinagl [Thu, 22 Dec 2022 10:27:59 +0000 (11:27 +0100)]
realtek: Replace C++ style comments

The only exception to C++ style comments are SPDX license identifier
markers at the start of C files (even headers have C style markers).

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
23 months agorealtek: Whitespace and codestyle cleanup
Olliver Schinagl [Tue, 30 Aug 2022 19:25:25 +0000 (21:25 +0200)]
realtek: Whitespace and codestyle cleanup

Fix some ugly whitepsaces and codestyle issues around the realtek sources.

While this is by no means perfect, it catches what it caught.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
23 months agorealtek: add cond_resched to loops accessing the FDB table
Jan Hoffmann [Sat, 17 Dec 2022 20:45:43 +0000 (21:45 +0100)]
realtek: add cond_resched to loops accessing the FDB table

A full loop accessing all FDB entries can take several milliseconds
(on RTL839x about 20 ms), so give other kernel tasks a chance to run.
This is especially important for rtl83xx_port_fdb_dump which is itself
called in a loop for all ports by the kernel.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
23 months agorealtek: restructure rtl_table_read/write
Jan Hoffmann [Sat, 17 Dec 2022 20:45:42 +0000 (21:45 +0100)]
realtek: restructure rtl_table_read/write

These two functions are identical apart from writing different values to
the read/write bit. Create a new function rtl_table_exec to reduce code
duplication.

Also replace the unbounded busy-waiting loop. The new implementation may
sleep, but as the hardware typically responds before the first poll, any
callers doing many table accesses still need to make sure not to block
other kernel tasks themselves.

So far, polling timeout errors are only handled by logging an error, but
a return value is added to allow proper handling in the future.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
23 months agorealtek: simplify log messages in rtl83xx_mdio_probe
Jan Hoffmann [Sat, 17 Dec 2022 20:45:41 +0000 (21:45 +0100)]
realtek: simplify log messages in rtl83xx_mdio_probe

This function currently prints three messages for every switch port at
KERN_INFO level. This takes a considerable amount of time during bootup
and can even trigger an external watchdog.

Replace these log messages by a single one at KERN_DEBUG level.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
23 months agorealtek: don't set L2LEARNING flag in rtl83xx TX header
Jan Hoffmann [Sat, 17 Dec 2022 20:39:40 +0000 (21:39 +0100)]
realtek: don't set L2LEARNING flag in rtl83xx TX header

As learning for the CPU port is now disabled globally, the bit in the
TX header doesn't have any effect anymore. Remove it to make the header
consistent with the global configuration.

Originally, this change was intended to be applied before commit
eb456aedfe24 ("realtek: use assisted learning on CPU port"), which is
why the commit message incorrectly mentions that the TX header already
disables learning.

The reason for disabling learning on the CPU port in the first place is
that it doesn't work correctly when packets are trapped to the CPU and
then forwarded by the CPU to other ports. In that case, the switch would
incorrectly learn the CPU port as source. An example that triggered this
issue are Multicast Listener Reports and IGMP membership reports.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
23 months agoiproute2: Fix build with GCC 12 and glibc 2.36
Hauke Mehrtens [Wed, 21 Dec 2022 22:32:23 +0000 (23:32 +0100)]
iproute2: Fix build with GCC 12 and glibc 2.36

This fixes the detection of name_to_handle_at() when GCC 12 and glibc
2.36 are used.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agouhttpd: update to latest Git HEAD
Hauke Mehrtens [Mon, 26 Dec 2022 12:58:47 +0000 (13:58 +0100)]
uhttpd: update to latest Git HEAD

2397755 client: fix incorrectly emitting HTTP 413 for certain content lengths

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agorules: drop -Wno-error additional flags from default TARGET_CFLAGS
Christian Marangi [Sun, 17 Jul 2022 11:26:14 +0000 (13:26 +0200)]
rules: drop -Wno-error additional flags from default TARGET_CFLAGS

We currently enable -Wno-error=unused-but-set-variable and
-Wno-error=unused-result by default on every compile package.

While this is (relatively) unharmful, we should follow other project
direction and starts enforcing good code quality. For example the linux
kernel recently started to enforce Wall by default and clean code is
mandatory for inclusion.

Drop for good these flags and and make it mandatory to correctly handle
return values at least with a warning log if they are not strictly error
condition.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agolibbsd: fix libpath to not use host path
Xuefer H [Sat, 24 Dec 2022 12:16:11 +0000 (20:16 +0800)]
libbsd: fix libpath to not use host path

libpath.so uses host path in ld script causing other packages fail to
cross compile, e.g. perl:
"ld: cannot find /usr/lib/libbsd.so.0.11.6: No such file or directory"

Fixes: openwrt/packages#19390
Signed-off-by: Xuefer H <xuefer@gmail.com>
23 months agodnsmasq: bump to v2.88
Kevin Darbyshire-Bryant [Mon, 17 Oct 2022 18:28:07 +0000 (19:28 +0100)]
dnsmasq: bump to v2.88

Most relevant feature for openwrt in this release, supports dynamically
removing hosts from 'hostsdir' supplied host files.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
23 months agouboot-omap: build with omap generic subtarget
Kuan-Yi Li [Sat, 24 Dec 2022 20:06:38 +0000 (04:06 +0800)]
uboot-omap: build with omap generic subtarget

Fix image build fail by using the generic subtarget.

Fixes: b2bfea48 ("omap: add generic subtarget")
Ref: 40e3f660 ("uboot-fritz4040: build with ipq40xx generic subtarget")
Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
[ add commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agouboot-tegra: build with tegra generic subtarget
Kuan-Yi Li [Sat, 24 Dec 2022 20:06:26 +0000 (04:06 +0800)]
uboot-tegra: build with tegra generic subtarget

Fix image build fail by using the generic subtarget.

Fixes: c028e1b1 ("tegra: add generic subtarget")
Ref: 40e3f660 ("uboot-fritz4040: build with ipq40xx generic subtarget")
Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
[ add commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agouboot-zynq: build with zynq generic subtarget
Kuan-Yi Li [Sat, 24 Dec 2022 20:06:14 +0000 (04:06 +0800)]
uboot-zynq: build with zynq generic subtarget

Fix image build fail by using the generic subtarget.

Fixes: 6d7129ef ("zynq: add generic subtarget")
Ref: 40e3f660 ("uboot-fritz4040: build with ipq40xx generic subtarget")
Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
[ add commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agouboot-mxs: build with mxs generic subtarget
Kuan-Yi Li [Sat, 24 Dec 2022 20:06:03 +0000 (04:06 +0800)]
uboot-mxs: build with mxs generic subtarget

Fix image build fail by using the generic subtarget.

Fixes: 64ef920b ("mxs: add generic subtarget")
Ref: 40e3f660 ("uboot-fritz4040: build with ipq40xx generic subtarget")
Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
[ add commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agouboot-kirkwood: build with kirkwood generic subtarget
Kuan-Yi Li [Sat, 24 Dec 2022 20:05:03 +0000 (04:05 +0800)]
uboot-kirkwood: build with kirkwood generic subtarget

Fix image build fail by using the generic subtarget.

Fixes: cada395a ("kirkwood: add generic subtarget")
Ref: 40e3f660 ("uboot-fritz4040: build with ipq40xx generic subtarget")
Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
[ add commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agosunxi: ensure NanoPi R1 has unique MAC address
Jan-Niklas Burfeind [Fri, 23 Dec 2022 21:03:14 +0000 (22:03 +0100)]
sunxi: ensure NanoPi R1 has unique MAC address

Ensure the MAC address for all NanoPi R1 boards is assigned uniquely for
each board.

The vendor ships the device in two variants; one with and one without
eMMC; but both without static mac-addresses.
In order to assign both board types unique MAC addresses, fall back on
the same method used for the NanoPi R2S and R4S 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_R1#Hardware_Spec

Similar too and based on:

commit b5675f500daf ("rockchip: ensure NanoPi R4S has unique MAC address")

Co-authored-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
23 months agokernel: bump 5.10 to 5.10.161
John Audia [Wed, 21 Dec 2022 19:19:12 +0000 (14:19 -0500)]
kernel: bump 5.10 to 5.10.161

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
23 months agokernel: bump 5.15 to 5.15.85
John Audia [Wed, 21 Dec 2022 19:13:53 +0000 (14:13 -0500)]
kernel: bump 5.15 to 5.15.85

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
23 months agomac80211: Do not build brcmsmac on bcm47xx_legacy
Hauke Mehrtens [Sat, 24 Dec 2022 13:39:17 +0000 (14:39 +0100)]
mac80211: Do not build brcmsmac on bcm47xx_legacy

brcmsmac needs bcma. bcma is build into the kernel for the other bcm47xx
subtargets, but not for the legacy target because it only uses ssb. We
could build bcma as a module for bcm47xx_legacy, but none of these old
devices uses a wifi card supported by brcsmac.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agompc85xx: drop empty patch as it backported to LTS kernel 5.15.70
Josef Schlehofer [Thu, 22 Dec 2022 18:37:36 +0000 (19:37 +0100)]
mpc85xx: drop empty patch as it backported to LTS kernel 5.15.70

This patch is part of Linux kernel 5.15.70, the content was removed, but
the empty file is still being carried over the repository, so remove it
once for all

Fixes: e1b009c ("kernel: bump 5.15 to 5.15.70")
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
23 months agoCI: tools: reogranize and split workflow
Christian Marangi [Fri, 9 Dec 2022 17:09:32 +0000 (18:09 +0100)]
CI: tools: reogranize and split workflow

Generilize tools workflow for future usage in shared workflow for tools
build.

Split tools workflow to tools and push-containers:
- tools just execute build test
- push-containers build and push prebuilt containers

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agorealtek: 5.15: Fix incorrect switch patches
Olliver Schinagl [Mon, 3 Oct 2022 12:45:21 +0000 (14:45 +0200)]
realtek: 5.15: Fix incorrect switch patches

Add correct header to patche(s) to be correctly used
by git am and have better tracking of it.

See commit f1f97db627b2 ("realtek: Convert incorrect v5.10 patches").

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
23 months agorealtek: 5.10: Fix incorrect switch patches
Olliver Schinagl [Mon, 3 Oct 2022 12:45:21 +0000 (14:45 +0200)]
realtek: 5.10: Fix incorrect switch patches

Add correct header to patche(s) to be correctly used
by git am and have better tracking of it.

See commit f1f97db627b2 ("realtek: Convert incorrect v5.10 patches").

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
23 months agotools: Improve diffability/maintainability
Olliver Schinagl [Wed, 14 Dec 2022 10:33:01 +0000 (11:33 +0100)]
tools: Improve diffability/maintainability

There's no purpose to squish multiple tools into a single line (and
spread those out over multiple lines). It might look 'nice' in certain
conditions, but it's annoying to maintain.

For example, but not limited to:
* adding/removing tools, causes hard to read diffs
* Duplicates are harder to spot
* Sorting can not be (easily?) automated

With this proposed change, the above annoyances go away. Inserting a new
tool can be done with a single line-change-diff, sorting can be done by
any editor (in vi, select, :sort for example) and dupes are much easier
to spot.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
23 months agoomap: add generic subtarget
Christian Marangi [Mon, 19 Dec 2022 15:47:35 +0000 (16:47 +0100)]
omap: add generic subtarget

Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic
to the filenames.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agopistachio: add generic subtarget
Christian Marangi [Mon, 19 Dec 2022 15:47:16 +0000 (16:47 +0100)]
pistachio: add generic subtarget

Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic
to the filenames.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agoocteontx: add generic subtarget
Christian Marangi [Mon, 19 Dec 2022 15:46:56 +0000 (16:46 +0100)]
octeontx: add generic subtarget

Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic
to the filenames.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agotegra: add generic subtarget
Christian Marangi [Mon, 19 Dec 2022 15:46:44 +0000 (16:46 +0100)]
tegra: add generic subtarget

Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic
to the filenames.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agozynq: add generic subtarget
Christian Marangi [Mon, 19 Dec 2022 15:46:24 +0000 (16:46 +0100)]
zynq: add generic subtarget

Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic
to the filenames.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agomxs: add generic subtarget
Christian Marangi [Mon, 19 Dec 2022 15:46:10 +0000 (16:46 +0100)]
mxs: add generic subtarget

Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic
to the filenames.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agokirkwood: add generic subtarget
Christian Marangi [Mon, 19 Dec 2022 15:45:39 +0000 (16:45 +0100)]
kirkwood: add generic subtarget

Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic
to the filenames.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agogemini: add generic subtarget
Christian Marangi [Mon, 19 Dec 2022 15:45:11 +0000 (16:45 +0100)]
gemini: add generic subtarget

Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic
to the filenames.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agoath25: add generic subtarget
Christian Marangi [Mon, 19 Dec 2022 15:44:29 +0000 (16:44 +0100)]
ath25: add generic subtarget

Same game as for 853e4dd3062df7cb5704b15d6af6730e3194b571. Add generic
to the filenames.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 months agoramips: Fix drivers/pwm/pwm-mediatek-ramips.c compile
Hauke Mehrtens [Thu, 22 Dec 2022 23:33:44 +0000 (00:33 +0100)]
ramips: Fix drivers/pwm/pwm-mediatek-ramips.c compile

The pwmchip_remove() function returns void now. Fix a compile problem in
the drivers/pwm/pwm-mediatek-ramips.c driver.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Move CONFIG_PWM_IMG and CONFIG_PWM_MEDIATEK to generic configuration
Hauke Mehrtens [Thu, 22 Dec 2022 23:28:51 +0000 (00:28 +0100)]
kernel: Move CONFIG_PWM_IMG and CONFIG_PWM_MEDIATEK to generic configuration

In the build of the ramips/mt76x8 target the user gets asked about these
two configuration options, add them to the generic kernel configuration.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Move CONFIG_DRM_XEN_FRONTEND to generic configuration
Hauke Mehrtens [Thu, 22 Dec 2022 23:14:03 +0000 (00:14 +0100)]
kernel: Move CONFIG_DRM_XEN_FRONTEND to generic configuration

The CONFIG_DRM_XEN_FRONTEND configuration symbol is also used by the
layerscape target, move it to the generic kernel configuration.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agomt76: update to the latest version
Felix Fietkau [Thu, 22 Dec 2022 15:19:28 +0000 (16:19 +0100)]
mt76: update to the latest version

a03ef0aab93e wifi: mt76: mt7921: fix deadlock in mt7921_abort_roc
5b509e80384a wifi: mt76: dma: fix a regression in adding rx buffers

Signed-off-by: Felix Fietkau <nbd@nbd.name>
23 months agouboot-sunxi: use UUID of bootdev and bootpart
Jan-Niklas Burfeind [Tue, 20 Dec 2022 15:43:23 +0000 (16:43 +0100)]
uboot-sunxi: use UUID of bootdev and bootpart

Several sunxi devices come with multiple mmc devices. On such devices,
the mmc device order is unpredictable, so using /dev/mmcblk0p2 as root
device doesn't always work, which results in unbootable devices.

For the Banana Pi BPI-R3 in the mediatek target, this has been solved by
defining aliases for the mmc devices in the DTS. Ideally we would do the
same here, but for sunxi-a64 we already use UUID probing, so let's start
with that (5f2ff607e286 ("uboot-sunxi: a64: allow booting directly from
eMMC")).

Since we're building and including u-boot in each supported device
image, and this method has been proven to work fine for a64, let's just
change the default u-boot env file to do the same.

Fixes: #10080
Fixes: e6d9f6fdff ("sunxi: add support for FriendlyARM NanoPi R1")
Co-authored-by: Karl Palsson <karlp@etactica.com>
Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
[use UUID in default u-boot env, rewrite commit message]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
23 months agosunxi: remove frequency for NanoPi R1
Jan-Niklas Burfeind [Sun, 11 Dec 2022 13:04:46 +0000 (14:04 +0100)]
sunxi: remove frequency for NanoPi R1

The frequency appears as unlisted initial frequency.
Removed it as Hauke suggested.

Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
23 months agogithub: point to forum feature request category
Stijn Tintel [Wed, 21 Dec 2022 15:23:23 +0000 (17:23 +0200)]
github: point to forum feature request category

This should have been amended in the previous commit.

Fixes: 65e72f8e380e ("github: add issue template")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
23 months agogithub: add issue template
Stijn Tintel [Mon, 19 Dec 2022 17:56:55 +0000 (19:56 +0200)]
github: add issue template

Add an issue template with required fields, instructions how to easily
get some of that required data from the device. Aside from that, also
add some links to the OpenWrt contact page, and for feature requests,
link to the forum.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
23 months agokernel: Add missing kernel configuration options
Hauke Mehrtens [Wed, 21 Dec 2022 13:22:46 +0000 (13:22 +0000)]
kernel: Add missing kernel configuration options

This fixes compile of the bmips target.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Reorder kernel configuration options
Hauke Mehrtens [Wed, 21 Dec 2022 13:22:26 +0000 (13:22 +0000)]
kernel: Reorder kernel configuration options

./scripts/kconfig.pl '+' target/linux/generic/config-5.10 /dev/null > target/linux/generic/config-5.10-new
mv target/linux/generic/config-5.10-new target/linux/generic/config-5.10

./scripts/kconfig.pl '+' target/linux/generic/config-5.15 /dev/null > target/linux/generic/config-5.15-new
mv target/linux/generic/config-5.15-new target/linux/generic/config-5.15

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agotoolchain: glibc: Update to glibc 2.36
Hauke Mehrtens [Sat, 6 Aug 2022 22:00:36 +0000 (00:00 +0200)]
toolchain: glibc: Update to glibc 2.36

This updates to glibc to version 2.36.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agotoolchain: gcc: backport patches to fix build with glibc 2.36
Hauke Mehrtens [Sat, 6 Aug 2022 22:36:17 +0000 (00:36 +0200)]
toolchain: gcc: backport patches to fix build with glibc 2.36

glibc 2.36 changed the definition of enum fsconfig_command, it now
collides with the same definition from sys/mount.h. Remove the include
of linux/fs.h This still compiled with musl too.

This backports a patch which is already in the stable branch of GCC 11
and GCC 12.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agoarm-trusted-firmware-sunxi: drop CPE ID
Stijn Tintel [Tue, 20 Dec 2022 18:04:54 +0000 (20:04 +0200)]
arm-trusted-firmware-sunxi: drop CPE ID

The CPE ID is already set in trusted-firmware-a.mk.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
23 months agotrusted-firmware-a.mk: use correct CPE ID
Stijn Tintel [Tue, 20 Dec 2022 18:04:53 +0000 (20:04 +0200)]
trusted-firmware-a.mk: use correct CPE ID

There are 2 different CPE IDs on the NVD website:
cpe:/a:arm:trusted_firmware-a
cpe:/o:arm:arm_trusted_firmware

The ID as currently used in trusted-firmware-a.mk does not exist. The
CPE ID using the arm_trusted_firmware product name only lists a few
records for versions 2.2 and 2.3 on the NVD site. The CPE ID using the
trusted_firmware-a product name lists many more records, and actually
has a CVE linked to it. Therefore, use the CPE ID using the
trusted_firmware-a product name.

Fixes: 104d60fe94ce ("trusted-firmware-a.mk: add PKG_CPE_ID")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
23 months agoxdp-tools: update to version 1.2.9
Daniel Golle [Mon, 19 Dec 2022 18:58:42 +0000 (18:58 +0000)]
xdp-tools: update to version 1.2.9

Changes since v1.2.8:
 32aaf32 libxdp: Fix incorrect rx_ring_setup_done
 6049671 headers: add bpf_endian.h for parsing_helpers.h
 2682c1c export-man: Ignore errors when executing git shell command
 8afda7a xdp-loader/README: Mention lack of support for HW mode in most cards
 dc69919 libxdp: fix prog_fd checks for fd >= 0
 3d7c22a libxdp: Allow falling back to single-program attachment for loaded programs
 af00429 libxdp: Fix check in xdp_program__attach_single()
 41703d2 libxdp: Make sure to set the the program autoload when loading a program
 b1fd2e5 test-xdpdump: Only run tshark attribute test on newer versions of tshark
 5dfe342 libxdp: Convert xdp-dispatcher to use strict section names
 929a22e configure: Try to auto-detect versioned clang binaries
 074fcfb libxdp: Check program name when determining if a program is a dispatcher
 e13a191 Bump TOOLS_VERSION to 1.2.9

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
23 months agoRevert "Revert "mvebu: switch default kernel to 5.15""
Petr Štetiar [Mon, 19 Dec 2022 10:14:41 +0000 (11:14 +0100)]
Revert "Revert "mvebu: switch default kernel to 5.15""

This reverts commit 97c77fff28cf001399f33c7bc1ec6687ba18450b as commit
8be6350f6646 ("generic: 5.15: allow MV88E6xxx built-in when PTP support
disabled") contains the fix, so lets enable kernel 5.15 on mvebu again.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
23 months agokernel: bump 5.10 to 5.10.160
John Audia [Mon, 19 Dec 2022 14:18:02 +0000 (09:18 -0500)]
kernel: bump 5.10 to 5.10.160

No patches affected by this update.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
23 months agokernel: bump 5.15 to 5.15.84
John Audia [Mon, 19 Dec 2022 14:17:10 +0000 (09:17 -0500)]
kernel: bump 5.15 to 5.15.84

All patches automatically rebased

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

Signed-off-by: John Audia <therealgraysky@proton.me>
23 months agotools/xz: update to 5.2.10
Nick Hainke [Wed, 14 Dec 2022 10:00:07 +0000 (11:00 +0100)]
tools/xz: update to 5.2.10

Update to latest version.

Signed-off-by: Nick Hainke <vincent@systemli.org>
23 months agohostapd: add mbedtls variant
Rosen Penev [Thu, 15 Sep 2022 07:48:45 +0000 (00:48 -0700)]
hostapd: add mbedtls variant

This adds the current WIP mbedtls patches for hostapd. The motivation
here is to reduce size.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
23 months agoath79: image: don't depend on other COMPILE targets
Alexander Couzens [Sat, 3 Dec 2022 14:25:12 +0000 (15:25 +0100)]
ath79: image: don't depend on other COMPILE targets

A device COMPILE target should not depend on another COMPILE.
Otherwise race condition may happen.
The loader is very small. Compiling it twice shouldn't
have a huge impact.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
23 months agoimage: fix device profile specific COMPILE targets
Michael Pratt [Tue, 22 Nov 2022 00:37:39 +0000 (00:37 +0000)]
image: fix device profile specific COMPILE targets

Commit a01d23e75 ("image: always rebuild kernel loaders")
is a step in the right direction, but exposed some issues
and regressions in the makefile.

Some of the files made by device specific COMPILE targets
start with an "append" command (i.e. >> instead of > redirection)
and if the file already exists, the target file is the
input to itself before the first recipe-specified input.

Fixes: a01d23e75 ("image: always rebuild kernel loaders")
Fixes: a7fb589e8 ("image: always rebuild kernel loaders")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2 years agomac80211: add ath11k PCI support
Robert Marko [Sun, 6 Feb 2022 14:50:24 +0000 (15:50 +0100)]
mac80211: add ath11k PCI support

ath11k is the upstream driver for Qualcomm 802.11ax radios, both for the
internal AHB and PCI based cards.
This commit does however only provide PCI support while AHB will follow
but its SoC specific so it will require an OpenWrt target first.

It differs a bit from ath10k as it requires stuff like QRTR, MHI and QMI
helpers.

PCI variant requires qrtr-mhi and mhi-bus which backports do provide,
however we are dropping those in a patch as they will conflict with
support for the AHB variant as that one requires qrtr-smd which in turn
requires RPMSG and GLINK and its not feasable to provide those in
backports as they are really SoC specific.

QRTR and MHI in kernel 5.10 are not usable and backporting the changes
is not easy as they have changed drastically from 5.10 to 5.15 ath11k will
only be available on targets that use kernel 5.15.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 years agolinux-firmware: package ath11k consumer cards firmware
Robert Marko [Tue, 13 Dec 2022 22:01:20 +0000 (23:01 +0100)]
linux-firmware: package ath11k consumer cards firmware

Package firmware for ath11k supported QCA consumer cards from linux-firmware.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 years agokernel: package QRTR support
Robert Marko [Tue, 21 Dec 2021 12:47:03 +0000 (13:47 +0100)]
kernel: package QRTR support

QRTR is Qualcomm IPC router protocol and ath11k requires it for both
AHB and PCI support, so package it as a kernel module so it can be
added as a dependency to the ath11k module.

Only kernel 5.15 is currently supported due to various things missing in
5.10 whose backporting is out of scope for this patch.

SMD, TUN and MHI variants are packaged.

SMD variant depends on the ipq807x
target as it has dependency on the RPMSG drivers which are Qualcomm
and SoC specific anyway.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 years agotools/patchelf: update to 0.17.0
Linhui Liu [Fri, 16 Dec 2022 06:40:49 +0000 (14:40 +0800)]
tools/patchelf: update to 0.17.0

Update to the latest released version.

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2 years agotools/sed: Fix handling of symlinks of 128 chars
Hauke Mehrtens [Sun, 18 Dec 2022 02:09:22 +0000 (03:09 +0100)]
tools/sed: Fix handling of symlinks of 128 chars

If the absolute path a symlink is pointing to is 128 bytes long sed
failed with an error message like this: "<path>/sedstbU8O: Not a directory"

This fixes a problem building python seen in the build bot.

This patch is on its way into upstream sed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoramips: add support for Linksys E5400 and clones
Julien Dusser [Sun, 20 Mar 2022 09:11:15 +0000 (10:11 +0100)]
ramips: add support for Linksys E5400 and clones

Linksys E5400 is a 2.4/5GHz dual band AC router, based on MediaTek
MT7628AN. This device is also sold as Linksys E2500v4, E5300 and E5350
with the same hardware, but software speed limitations in vendor
firmwares.

Specification:
 * SoC: MT7628AN (580 MHz)
 * RAM: DDR2 64 MiB
 * Flash: 16 MiB NOR (W25Q128BV)
 * Wi-Fi:
   * 2.4GHz: SoC Built-in
   * 5GHz: MT7612EN
 * Ethernet: 5x 100Mbps
   * Switch: SoC built-in
 * UART:
   * 115200, 8N1, 3.3V (real u-boot speed: 119050)
   * Pinout JB4: 1:[3V3] (TXD) (RXD) [NC] (GND)

Flash Layout:
  0x0000000-0x0030000 : "Bootloader"
  0x0030000-0x0040000 : "Config"
  0x0040000-0x0050000 : "Factory"
  0x0050000-0x0ff0000 : "Kernel"
  0x0ff0000-0x1000000 : "CBTinfo"

MAC address:
  LAN: factory 0x28
  WAN: LAN + 1
  2.4G: LAN + 2
  5G: LAN + 3

Installation:
1. Connect to UART, use LF as EOL (not CRLF)
2. Set IP address
  - Press 4 during boot
  - setenv serverip <TFTPSERVER_IP>
  - setenv ipaddr <DEVICE_IP>
  - setenv bootfile openwrt-ramips-mt76x8-linksys_e5400-initramfs-kernel.bin
  - saveenv
  - reset
3. Load Openwrt Kernel image from TFTP:
  - Press 1 during boot
  - IP and filename should be already set
4. Boot into OpenWrt and perform sysupgrade with sysupgrade image.

Signed-off-by: Julien Dusser <julien.dusser@free.fr>
2 years agogeneric: 5.15: allow MV88E6xxx built-in when PTP support disabled
Johnny S. Lee [Thu, 15 Dec 2022 10:57:31 +0000 (18:57 +0800)]
generic: 5.15: allow MV88E6xxx built-in when PTP support disabled

As described in commit 97c77fff28cf001399f33c7bc1ec6687ba18450b
MV88E6xxx driver (NET_DSA_MV88E6XXX) cannot be built-in when PTP
(PTP_1588_CLOCK) is a module in Linux 5.15. But actually it should be
allowed to be built-in when its PTP support (NET_DSA_MV88E6XXX_PTP) is
disabled.

This adds a patch to fix that.

Signed-off-by: Johnny S. Lee <foss@jsl.io>
2 years agotools/libressl: update to 3.7.0
Linhui Liu [Thu, 15 Dec 2022 07:29:38 +0000 (15:29 +0800)]
tools/libressl: update to 3.7.0

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

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2 years agoiproute2: update to 6.1.0
Nick Hainke [Tue, 13 Dec 2022 19:17:58 +0000 (20:17 +0100)]
iproute2: update to 6.1.0

Announcement:
https://lore.kernel.org/netdev/20221214094130.7b11ec2e@hermes.local/T/#t

Refresh patch:
- 170-ip_tiny.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agorules: fix broken commitcount on alpine system
Christian Marangi [Sat, 17 Dec 2022 15:39:00 +0000 (16:39 +0100)]
rules: fix broken commitcount on alpine system

To generate commitcount we use grep --max-count. This is not present on
alpine grep and cause wrong generation. Use -m as it's just the short
version of --max-count and more portable.

Fixes: #11200
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoimage-commands.mk: Be consistent in command invocation
Olliver Schinagl [Wed, 14 Dec 2022 10:39:17 +0000 (11:39 +0100)]
image-commands.mk: Be consistent in command invocation

Most/all other tools use the staging dir prefix, gzip should as well.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Acked-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoramips: add support for SNR-CPE-W4N-MT router
Alexey Bartenev [Mon, 24 Oct 2022 15:50:33 +0000 (22:50 +0700)]
ramips: add support for SNR-CPE-W4N-MT router

General specification:
- SoC Type: MediaTek MT7620N (580MHz)
- ROM: 8 MB SPI-NOR (W25Q64FV)
- RAM: 64 MB DDR (M13S5121632A)
- Switch: MediaTek MT7530
- Ethernet: 5 ports - 5×100MbE (WAN, LAN1-4)
- Wireless 2.4 GHz: b/g/n
- Buttons: 1 button (RESET)
- Bootloader: U-Boot 1.1.3, MediaTek U-Boot: 5.0.0.5
- Power: 12 VDC, 1.0 A

Flash by the native uploader in 2 stages:
1. Use the native uploader to flash an initramfs image. Choose
 openwrt-ramips-mt7620-snr_cpe-w4n-mt-initramfs-kernel.bin file by
 "Administration/Management/Firmware update/Choose File" in vendor's
 web interface (ip: 192.168.1.10, login: Admin, password: Admin).
 Wait ~160 seconds.
2. Flash a sysupgrade image via the initramfs image. Choose
 openwrt-ramips-mt7620-snr_cpe-w4n-mt-squashfs-sysupgrade.bin
 file by "System/Backup/Flash Firmware/Flash image..." in
 LuCI web interface (ip: 192.168.1.1, login: root, no password).
 Wait ~240 seconds.

Flash by U-Boot TFTP method:
1. Configure your PC with IP 192.168.1.131
2. Set up TFTP server and put the
 openwrt-ramips-mt7620-snr_cpe-w4n-mt-squashfs-sysupgrade.bin
 image on your PC
3. Connect serial port (57600 8N1) and turn on the router.
 Then interrupt "U-Boot Boot Menu" by hitting 2 key (select "2:
 Load system code then write to Flash via TFTP.").
Press Y key when show "Warning!! Erase Linux in Flash then burn
 new one. Are you sure? (Y/N)"
Input device IP (192.168.1.1) ==:192.168.1.1
Input server IP (192.168.1.131) ==:192.168.1.131
Input Linux Kernel filename () ==:
openwrt-ramips-mt7620-snr_cpe-w4n-mt-squashfs-sysupgrade.bin
3. Wait ~120 seconds to complete flashing

Signed-off-by: Alexey Bartenev <41exey@proton.me>
2 years agogdb: Do not link against xxhash
Hauke Mehrtens [Sat, 17 Dec 2022 21:10:39 +0000 (22:10 +0100)]
gdb: Do not link against xxhash

libxxhash is now available in the OpenWrt package feed and gdb will link
against it if gdb finds this library. Explicitly deactivate the usage
of xxhash.

This should fix the build of gdb in build bots.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoath79: add support for KuWFi C910
Davide Fioravanti [Tue, 13 Dec 2022 22:28:08 +0000 (23:28 +0100)]
ath79: add support for KuWFi C910

KuWFi C910 is an 802.11n (300N) indoor router with LTE support.

I can't find anywhere the OEM firmware. So if you want to restore the
original firmware you must do a dump before the OpenWrt flash.

According to the U-Boot, the board name is Iyunlink MINI_V2.

Hardware
--------
SoC:   Qualcomm QCA9533 650/400/200/25/25 MHz (CPU/RAM/AHB/SPI/REF)
RAM:   128 MB DDR2 16-bit CL3-4-4-10 (Nanya NT5TU64M16HG-AC)
FLASH: 16 MB Winbond W25Q128
ETH:
  - 2x 100M LAN (QCA9533 internal AR8229 switch, eth0)
  - 1x 100M WAN (QCA9533 internal PHY, eth1)
WIFI:
  - 2.4GHz: 1x QCA9533 2T2R (b/g/n)
  - 2 external non detachable antennas (near the power barrel side)
LTE:
  - Quectel EC200T-EU (or -CN or -AU depending on markets)
  - 2 external non detachable antennas (near the sim slot side)
BTN:
  - 1x Reset button
LEDS:
  - 5x White leds (Power, Wifi, Wan, Lan1, Lan2)
  - 1x RGB led (Internet)
UART: 115200-8-N-1 (Starting from lan ports in order: GND, RX, TX, VCC)

Everything works correctly.

MAC Addresses
-------------
LAN XX:XX:XX:XX:XX:48 (art@0x1002)
WAN XX:XX:XX:XX:XX:49 (art@0x1002 + 1)
WIFI XX:XX:XX:XX:XX:48

LABEL XX:XX:XX:XX:XX:48

Installation
------------
Turn the router on while pressing the reset button for 4 seconds.
You can simply count the flashes of the first lan led. (See notes)
If done correctly you should see the first lan led glowing slowly and
you should be able to enter the U-Boot web interface.

Click on the second tab ("固件") and select the -factory.bin firmware
then click "Update firmware".

A screen "Update in progress" should appear.

After few minutes the flash should be completed.

This procedure can be used also to recover the router in case of soft
brick.

Backup the original firmware
----------------------------
The following steps are intended for a linux pc. However using the
right software this guide should also work for Windows and MacOS.

1) Install a tftp server on your pc. For example tftpd-hpa.

2) Create two empty files in your tftp folder called:
kuwfi_c910_all_nor.bin
kuwfi_c910_firmware_only.bin

3) Give global write permissions to these files:
chmod 666 kuwfi_c910_all_nor.bin
chmod 666 kuwfi_c910_firmware_only.bin

4) Start a netcat session on your pc with this command:
nc -u -p 6666 192.168.1.1 6666

5) Set the static address on your pc: 192.168.1.2. Connect the router
to your pc.

6) Turn the router on while pressing the reset button for 8-9 seconds.
You can simply count the flashes of the first lan led. If you
press the reset button for too many seconds it will continue
the normal boot, so you have to restart the router. (See notes)

7) If done correctly you should see the U-Boot network console and you
should see the following lines on the netcat session:
Version and build date:
  U-Boot 1.1.4-55f1bca8-dirty, 2020-05-07

Modification by:
  Piotr Dymacz <piotr@dymacz.pl>
  https://github.com/pepe2k/u-boot_mod

u-boot>

8) Start the transfer of the whole NOR:
tftpput 0x9f000000 0x1000000 kuwfi_c910_all_nor.bin

9) The router should start the transfer and it should end with a
message like this (pay attention to the bytes transferred):
TFTP transfer complete!

Bytes transferred: 16777216 (0x1000000)

10) Repeat the same transfer for the firmware:
tftpput 0x9f050000 0xfa0000 kuwfi_c910_firmware_only.bin

11) The router should start the transfer and it should end with a
message like this (pay attention to the bytes transferred):
TFTP transfer complete!

Bytes transferred: 16384000 (0xfa0000)

12) Now you have the backup for the whole nor and for the firmware
partition. If you want to restore the OEM firmware from OpenWrt
you have to flash the kuwfi_c910_firmware_only.bin from the
U-Boot web interface.

WARNING: Don't use the kuwfi_c910_all_nor.bin file. This file
is only useful if you manage to hard brick the router or you
damage the art partition (ask on the forum)

Notes
-----
This router (or at least my unit) has the pepe2k's U-Boot. It's a
modded U-Boot version with a lot of cool features. You can read more
here: https://github.com/pepe2k/u-boot_mod

With this version of U-Boot, pushing the reset button while turning on
the router starts different tools:
 - 3-5 seconds: U-Boot web interface that can be used to replace the
  firmware, the art or the U-Boot itself
 - 5-7 seconds: U-Boot uart console
 - 7-10 seconds: U-Boot network console
 - 11+ seconds: Normal boot

The LTE modem can be used in cdc_ether (ECM) or RNDIS mode.
The default mode is ECM and in this commit only the ECM software is
included. In order to set RNDIS mode you must use this AT command:
AT+QCFG="usbnet",3
In order to use again the ECM mode you must use this AT command:
AT+QCFG="usbnet",1

Look for "Quectel_EC200T_Linux_USB_Driver_User_Guide_V1.0.pdf" for
other AT commands

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
2 years agoramips: improve support for SIM SIMAX1800T and Haier HAR-20S2U1
Shiji Yang [Mon, 12 Dec 2022 11:25:45 +0000 (11:25 +0000)]
ramips: improve support for SIM SIMAX1800T and Haier HAR-20S2U1

1. Use ARTIFACTS to build factory image. This change allows users to
   generate initramfs factory image using OpenWrt ImageBuilder.

2. Override the default bootargs property defined in "mt7621.dtsi".
   Although we use the "bootargs-override" property to set bootargs,
   the default "bootargs" property will still be written into the
   device tree, so it is better to override it.

Tested on SIM SIMAX1800T

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2 years agoramips: improve support for H3C TX180x series devices
Shiji Yang [Mon, 12 Dec 2022 11:18:41 +0000 (11:18 +0000)]
ramips: improve support for H3C TX180x series devices

1. Explicitly declare gpio pin groups to ensure that gpio works properly.

2. Override bootargs in device tree to avoid modifying u-boot envs during
   initial installation.

Tested on H3C TX1801 Plus

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2 years agosunxi: fix board_name for MarsBoard A10
Chukun Pan [Mon, 10 Oct 2022 15:08:27 +0000 (23:08 +0800)]
sunxi: fix board_name for MarsBoard A10

The compatible in the device tree is "haoyu,a10-marsboard",
modify the board_name to keep it consistent.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>