realtek: avoid interrupt storm on mass packet receive
RTL83xx devices have two types of receive interrupts for each of its
8 rings. One for packet received and another for ring overflow. When
the switch is flooded with incoming packets the receive handler will
disable the packet receive notification but still keeps the overflow
notification enabled. While the receive path "slowly" processes the
received packets each new packet triggers the overflow IRQ again. The
device becomes unresponsive and eventually produces messages like:
[18441.709764] rcu: Stack dump where RCU GP kthread last ran:
[18441.727892] Sending NMI from CPU 1 to CPUs 0:
[18441.742300] NMI backtrace for cpu 0 skipped: idling at 0x8080e994
[18415.251700] rcu: INFO: rcu_sched detected stalls on CPUs/tasks:
[18415.271350] rcu: 0-...!: (0 ticks this GP) idle=d740/0/0x0 ...
[18415.303046] rcu: (detected by 1, t=6004 jiffies, g=230925, ...
[18415.326095] Sending NMI from CPU 1 to CPUs 0:
[18415.340540] NMI backtrace for cpu 0
Fix this issue by always disabling receive and overflow interrupts at
the same time.
Test with hping3 --udp -p 5021 -d 1400 --flood 192.168.2.72
Before (3sec run):
[183260.324846] rtl838x-eth 1b00a300.ethernet eth0: RX buffer overrun: status 0x101, mask: 0x7ffeff
[183260.340524] rtl838x-eth 1b00a300.ethernet eth0: RX buffer overrun: status 0x1, mask: 0x7ffeff
[183260.345799] net_ratelimit: 489997 callbacks suppressed
After (3 sec run):
[ 373.981479] rtl838x-eth 1b00a300.ethernet eth0: rx ring overrun: status 0x101, mask: 0x7fffff
[ 374.031118] rtl838x-eth 1b00a300.ethernet eth0: rx ring overrun: status 0x101, mask: 0x7fffff
[ 377.919996] net_ratelimit: 34 callbacks suppressed
Add an OpenWrt-based U-Boot build for this device, allowing for more
flexibility and customization.
Expected behaviour
------------------
When plugging the device, keeping the reset button pressed will enter
TFTP recovery mode: the board will send requests for the initramfs file
(openwrt-mediatek-filogic-glinet_gl-mt2500-initramfs-kernel.bin) from
IP 192.168.1.1 to 192.168.1.10 TFTP server.
The bootloader will populate the environment with the unit serial number
as reported by the "sn" value in eMMC, the "sn_bak" value, the country
code and ddns. WAN and LAN MAC addresses are reported in the environment
as well.
Limitations
-----------
No web interface is available, and only the LAN port can be used for
system recovery.
Notes
-----
This port has been tested with the Maxlinear version only, and with a
board that does not exhibit eMMC communication problems. Even though eMMC
frequency has been lowered, some testing is probably needed and always
very welcome.
A -factory image has been introduced, and is only needed when using the
"Load Firmware via TFTP then write to eMMC." boot menu function.
The device has not been converted to use uImage.FIT including the rootfs
to keep compatibility with stock bootloader and firmware.
Installation
------------
From a Linux root shell:
0. Transfer the needed files to the board, placing them in /tmp.
1. Make sure your U-Boot environment is erased: all of my units came with
unpopulated environment, but I am not sure this is always the case.
Issue the command
cat /dev/zero >/dev/mmcblk0p2
(you will get a "no space left" error, which is reasonable and expected).
2. Unlock the eMMC boot area where BL2 is located:
echo 0 >/sys/block/mmcblk0boot0/force_ro
3. Write the new BL2 code:
cat openwrt-mediatek-filogic-glinet_gl-mt2500-emmc-preloader.bin >/dev/mmcblk0boot0
4. Write new BL31+U-Boot image:
cat openwrt-mediatek-filogic-glinet_gl-mt2500-emmc-bl31-uboot.fip >/dev/mmcblk0p4
5. Reboot.
uboot-mediatek: GatoNetworks GDSP support fixes and updates
This commit updates the OpenWrt-based U-Boot for this device, allowing
to boot a FIT firmware image stored in an SD card.
The environment has been updated accordingly to allow for managing images
on the two different supported firmware boot media configurations
(NOR or SDMMC).
Erasing the U-Boot environment when upgrading is recommended, so that
the correct DTS overlay is applied.
New behaviour
-------------
The default environment "bootconf" variable is set to
config-1#mt7981b-gatonetworks-gdsp-gps
rendering the GPS module accessible.
You may set it to something like
config-1#mt7981b-gatonetworks-gdsp-sd
to be able to use the MMC controller.
To boot from a firmware image stored in an SD card, you may set the
bootmedia environment variable:
# fw_setenv bootmedia sd
and reboot.
Should the bootmedia variable be absent or it's content not recognized
as valid (e.g., does not contain "nor" or "sd"), NOR boot will be
attempted.
mediatek: filogic: add SD card support to GatoNetworks GDSP
The device is equipped with a GPS module, reporting data via /dev/ttyS1.
A TF card reader is also present. Only one of those components can be
used at once, since they share some PINs.
This commit adds two devicetree overlays to allow for the user to select
the desired configuration. Another overlay configuration to allow booting
from SD card is provided.
Shiji Yang [Tue, 27 May 2025 14:23:39 +0000 (22:23 +0800)]
lantiq: add the missing function pointer ltq_pci_plat_dev_init
Partial revert upstream commit 075dd2eef025 ("MIPS: lantiq: Remove
unused function pointer variables") to fix the build error:
mips-openwrt-linux-musl-ld: arch/mips/lantiq/xway/ath5k_eep.o: in function `of_ath5k_eeprom_probe':
arch/mips/lantiq/xway/ath5k_eep.c:(.init.text+0x31c): undefined reference to `ltq_pci_plat_dev_init'
mips-openwrt-linux-musl-ld: arch/mips/lantiq/xway/ath5k_eep.c:(.init.text+0x338): undefined reference to `ltq_pci_plat_dev_init'
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
lantiq: fix vmmc driver build warnings
Shiji Yang [Fri, 9 May 2025 13:55:07 +0000 (21:55 +0800)]
lantiq: fix i2c driver compatibility issue on 6.12 kernel
* Drop obsolete flag I2C_CLASS_SPD. [1]
* Change .remove callback return type to NULL.
* Use strscpy instead of strlcpy.
This patch fixes the following build errors:
drivers/i2c/busses/i2c-lantiq.c:599:41: error: 'I2C_CLASS_SPD' undeclared (first use in this function); did you mean 'I2C_CLASS_HWMON'?
599 | adap->class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
| ^~~~~~~~~~~~~
| I2C_CLASS_HWMON
drivers/i2c/busses/i2c-lantiq.c:600:9: error: implicit declaration of function 'strlcpy'; did you mean 'strncpy'? [-Wimplicit-function-declaration]
600 | strlcpy(adap->name, DRV_NAME "-adapter", sizeof(adap->name));
| ^~~~~~~
| strncpy
drivers/i2c/busses/i2c-lantiq.c:729:19: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Wincompatible-pointer-types]
729 | .remove = ltq_i2c_remove,
|
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=e61bcf42d290e73025bab38e0e55a5586c2d8ad5 Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
The .remove has been converted to .remove_new in the 6.12 kernel.
We have to change remove function return type from int to void
to match the upstream changes.
Import patches from kernel 6.13:
- net: dsa: realtek: Use for_each_child_of_node_scoped()
- net: dsa: realtek: rtl8365mb: Make use of irq_get_trigger_type()
- net: dsa: realtek: rtl8366rb: Make use of irq_get_trigger_type()
Jan Hoffmann [Fri, 11 Jul 2025 18:31:29 +0000 (20:31 +0200)]
ltq-adsl-mei: check status register before reading mailbox messages
The interrupt handler reads from the mailbox if no other reason for the
interrupt is known. If a spurious interrupt is received just after a
mailbox message has been sent, this means that the response to the
previous message is read again and returned by DSL_BSP_SendCMV instead
of the actual response.
To fix this, check the status register before reading from the mailbox
in the interrupt handler.
Tested on Fritzbox 7320. Without this change, there is occasionally a
kernel panic due to an out-of-bounds memory access in the ltq-adsl
driver (in DSL_DRV_DEV_G997_SnrAllocationNscGet), as a result of an
incorrect value returned by DSL_DRV_DANUBE_CmvRead. This is reproducible
by calling "dsl_cpe_pipe.sh g997dsnrg 1 1" multiple times.
Tony Ambardar [Tue, 15 Jul 2025 05:43:17 +0000 (22:43 -0700)]
perf: fix build on mips
Building perf on mips/malta fails on intel-pt-decoder due to a header issue
previously seen in f434643857 ("perf: fix build on PowerPC"):
In file included from util/intel-pt-decoder/intel-pt-insn-decoder.c:12:
util/intel-pt-decoder/../../../arch/x86/include/asm/insn.h: In function 'insn_field_set':
util/intel-pt-decoder/../../../arch/x86/include/asm/insn.h:56:21: error: implicit declaration of function '__cpu_to_le32'; did you mean 'cpu_to_le32'? [-Wimplicit-function-declaration]
56 | p->little = __cpu_to_le32(v);
| ^~~~~~~~~~~~~
| cpu_to_le32
util/intel-pt-decoder/../../../arch/x86/include/asm/insn.h: In function 'insn_set_byte':
util/intel-pt-decoder/../../../arch/x86/include/asm/insn.h:64:20: error: implicit declaration of function '__le32_to_cpu'; did you mean 'le32_to_cpu'? [-Wimplicit-function-declaration]
64 | p->value = __le32_to_cpu(p->little);
| ^~~~~~~~~~~~~
| le32_to_cpu
Extend the previous powerpc fix to mips, disabling intel-pt-decoder build.
Daniel Golle [Sat, 12 Jul 2025 04:26:50 +0000 (05:26 +0100)]
kernel: package modules for I2C HID devices
Package driver modules for I2C HID devices such as touchpads,
touchscreens and trackpoints found on some laptops. Only the ACPI
firmware variant of the driver is packaged for now as that's what I got
for testing.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 15 Jul 2025 14:56:15 +0000 (15:56 +0100)]
x86: modules: add packages for Intel LPSS drivers
Add driver packages for Intel Low-Power Subsystem devices which are part
of some Intel chipsets. They are mainly needed to have access to the I2C
bus used for HID devices.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Leo Barsky [Mon, 14 Jul 2025 14:44:57 +0000 (10:44 -0400)]
kernel: bump 6.12 to 6.12.38
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.38
Minor kernel update with a single fix:
- x86/CPU/AMD: Properly check the TSA microcode
Leo Barsky [Mon, 14 Jul 2025 14:53:33 +0000 (10:53 -0400)]
kernel: bump 6.6 to 6.6.98
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.98
Minor kernel update with a single fix:
- x86/CPU/AMD: Properly check the TSA microcode
Automatically refreshed:
- airoha/patches-6.6/901-snand-mtk-bmt-support.patch
qualcommax: ipq50xx: update qcn6122 caldata offset of yuncore ax830
The current offset used for extracting QCN6122 calibration data
is incorrect on the Yuncore AX830. This patch corrects the
offset to ensure proper WiFi initialization.
b3e3c05 client: don't send stray EOF chunk on connection timeout fad0d05 proc: inhibit chunked transfer encoding on existing TEs or known length 3d6f01b file: prevent writes beyond end of uh_buf on enumerating directories c7294e7 client: reject requests with multiple content-lengths and/or TEs 7e64e8b client: Allow sending content in DONE state
Pawel Dembicki [Sat, 7 Jun 2025 11:30:49 +0000 (13:30 +0200)]
kernel/kirkwood: Restore kernel files for v6.6
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Daniel Golle [Sat, 12 Jul 2025 02:39:43 +0000 (03:39 +0100)]
x86: enable built-in driver for MMC/SDHCI
Many x86 machines can boot from SD cards, and some embedded x86 devices
come with an eMMC. Include drivers for all common MMC/SDHCI controllers
to allow booting from SD/MMC on x86.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Shiji Yang [Tue, 17 Jun 2025 14:06:38 +0000 (22:06 +0800)]
base-files: introduce a function to get kernel version number
A new function "get_linux_version()" to normalize and print the
kernel version as an integer. In some migration scripts, it is
useful for checking the Linux kernel version.
Mateusz Krzak [Thu, 22 May 2025 16:36:38 +0000 (18:36 +0200)]
mediatek: filogic: D-Link M30/M60: include initramfs in recovery
Currently, if OEM recovery flashes OpenWrt to second ubi1,
OpenWrt cannot boot. With this commit, recovery image is built
with initramfs kernel, so that it can boot from either ubi or ubi1.
This adds an extra step to OpenWrt installation from OEM:
user needs to sysupgrade from initramfs to full system.
Florian Eckert [Tue, 7 Mar 2023 11:02:26 +0000 (12:02 +0100)]
kernel: make tty count for 8250 configurable
The number of serial interfaces for the chip 8250 can be configured at
build time. This is currently not configurable and is always set to 16
interfaces. This is too little for some small embedded devices and too much
for others (x86_64). Therefore, this commit creates the possibility to set
this at compile time.
MAC address
-----------
+-----------+-------------------+-----------+
| Interface | MAC | Algorithm |
+-----------+-------------------+-----------+
| WLAN 2.4G | B0:38:6C:xx:xx:xx | label |
| WLAN 5G | B2:38:6C:4x:xx:xx | |
| WAN | B0:38:6C:xx:xx:xx | label + 1 |
| LAN | B0:38:6C:xx:xx:xx | label + 3 |
+-----------+-------------------+-----------+
The WLAN 2.4G MAC address was found in 'Factory' partition, 0x4
Installation
------------
1. Download the *initramfs-kernel.bin file from the OpenWrt website
2. Attach UART to the router, and interrupt the boot process by pressing '0'
If you successfully interrupt the boot process, a terminal prompt
name should look like this:
MT7981>
3. Connect the router(LAN port) to the PC
4. Assign the PC IP address: 192.168.0.100/24
5. Load and run the *initramfs-kernel.bin:
tftpboot 0x46000000 initramfs-kernel.bin
bootm
6. Upload the OpenWrt *squashfs-sysupgrade.bin to the router
7. Run 'sysupgrade -n' with the sysupgrade OpenWrt image
Host default environment doesn't provide/require gnutls headers needed
for building mkeficapsule tools, and as tegra target doesn't require EFI
capability, disable the build of mentioned tool.
Sky Huang [Fri, 16 May 2025 10:45:02 +0000 (18:45 +0800)]
mediatek: filogic: mt7986: fix SPI driving for NAND and increase to 52MHz on ZyXEL EX5601
8mA driving will cause overshoot issue on SPI NAND. Change it to 4mA.
- Reference:
https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/003744197aa3a587828b4330ab1112ebdb9e840a
On Linux mainline (mt7986.dtsi), spi's source clock is: clocks = <&topckgen CLK_TOP_MPLL_D2>, which is
208MHz. Usable clock division will be:
- 208/4=52MHz
- 208/6~=35MHz
- 208/8=26MHz
and so on
If we specify 50MHz for spi-max-frequency, it will actually run under about 35MHz. Most SPI NAND & NOR
flashes are capable of running with more than 52MHz, include Micorn MT29F4G01ABAFDWB on ZyXEL EX5601.
[Ref: #18752] To reach highest performance on mt7986, use spi-max-frequency = <520000000>. Basically,
this setting should work on all mt7986 PCBs since most mt7986 boards follow reference design. However,
other boards needs further test to guarantee stability.
Signed-off-by: Sky Huang <SkyLake.Huang@mediatek.com> Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> Link: https://github.com/openwrt/openwrt/pull/18813 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Paweł Owoc [Wed, 28 May 2025 15:18:24 +0000 (17:18 +0200)]
uboot-mediatek: add USB bootmenu for Zyxel EX5601
Add new option to bootmenu which allows to boot the system from USB.
You can use dd to prepare USB with initramfs:
- dd bs=1M if=openwrt-mediatek-filogic-zyxel_ex5601-t0-ubootmod-initramfs-factory.ubi of=/dev/sdX
Jonas Jelonek [Wed, 18 Jun 2025 21:40:03 +0000 (21:40 +0000)]
realtek: rtl931x: fix setting number of leds per port
In rtl931x_led_init, the number of leds per port is not properly set. It
currently uses a hardcoded value of 1 which seems to be taken initially
from a specific device. This hardcoded value assumes any port always has
exactly two leds.
The RTL930x variant - rtl930x_led_init - does a better job at this. So
take it and use it for RTL931x too with the corresponding register.
While at it, rename the function to a proper naming scheme.
Shiji Yang [Sun, 6 Jul 2025 12:36:27 +0000 (20:36 +0800)]
opensbi: update tarball hash compressed by the zstd 1.5.7
The source code tarball packaged by the zstd 1.5.6 was accidentally
lost from OpenWrt mirror https://sources.cdn.openwrt.org/ and
https://sources.openwrt.org/. Now we have to use the new tarball
packaged by the zstd 1.5.7 to fix the GitHub CI warning.
ath79: add support for Dell SonicPoint ACi APL27-0B1
Dell/SonicWall APL27-0B1 (marketed as SonicPoint ACi) is a dual band
wireless access point. Very similar to already supported APL26-0AE,
which all antennas are external, while this variant has internal
antennas. End of life as of 2022-07-31.
Specification
SoC: QualcommAtheros QCA9550
RAM: 256 MB DDR2
Flash: 32 MB SPI NOR
WIFI: 2.4 GHz 3T3R integrated
5 GHz 3T3R QCA9890 oversized Mini PCIe card
Ethernet: 2x 10/100/1000 Mbps QCA8334
port labeled lan1 is PoE capable (802.3at)
USB: 1x 2.0
LEDs: LEDs: 6x which 5 are GPIO controlled and two of them are dual color
Buttons: 1x GPIO controlled
Serial: RJ-45 port, SonicWall pinout
baud: 115200, parity: none, flow control: none
Before flashing, be sure to have a copy of factory firmware, in case You
wish to revert to original firmware.
Installation
1. Prepare TFTP server with OpenWrt sysupgrade image and rename that
image to "ap135.bin".
2. Connect to one of LAN ports.
3. Connect to serial port.
4. Hold the reset button (small through hole on side of the unit),
power on the device and when prompted to stop autoboot, hit any key.
The held button can now be released.
5. Alter U-Boot environment with following commands:
setenv bootcmd bootm 0x9F110000
saveenv
6. Adjust "ipaddr" (access point, default is 192.168.1.1) and "serverip"
(TFTP server, default is 192.168.1.10) addresses in U-Boot
environment, then run following commands:
tftp 0x80060000 ap135.bin
erase 0x9F110000 +0x1EF0000
cp.b 0x80060000 0x9F110000 $filesize
7. After successful flashing, execute:
boot
8. The access point will boot to OpenWrt. Wait few minutes, until the
wrench LED will stop blinking, then it's ready for configuration.
Notes
By default no power is provided on USB port, so attached USB devices
won't enumerate. To change that enable regulator with:
echo "enabled" > /sys/devices/platform/output-usb-vbus/state
To disable power write "disabled" to the same file.
Ther regulator state will reset on reboot, consider running this command
on hotplug event or add it to /etc/rc.local. The hotplug event should
look like this:
if [ "${PRODUCT}" = "1d6b/2/606" ] && [ "${ACTION}" = "add" ]; then
echo "enabled" > /sys/devices/platform/output-usb-vbus/state
fi
Place it in /etc/hotplug.d/usb/10-usb-power.
Known issues
Initramfs image can't be bigger than specified kernel size, otherwise
bootloader will throw LZMA decompressing error. Switching to lzma-loader
should workaround that.
Allows to enable/disable attached regulators from userspace, i.e. by
simply writing value to a sysfs exported state file. Useful in case of
USB port VBUS toggled by GPIO.
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
tegra: bring back workaround for spurious interrupts
Unfortunately they still apear with prolonged serial console usage.
While it's not common to use serial console past initial setup, alas
when the condition is hit the console is almost unusable.
toolchain: glibc: Update glibc 2.41 to recent HEAD
9f48a8abb2b2 Remove advisories from release branch 0a7c7a3e283a NEWS: start new section bdccbfbc52d3 math: Fix log10p1f internal table value (BZ 32626) d85a7719536f math: Fix sinhf for some inputs (BZ 32627) cb7f20653724 nptl: Correct stack size attribute when stack grows up [BZ #32574] cf88351b685d math: Fix tanf for some inputs (BZ 32630) 69fda28279b4 assert: Add test for CVE-2025-0395 1e0e33e1b19a Fix tst-aarch64-pkey to handle ENOSPC as not supported a900dbaf70f0 x86 (__HAVE_FLOAT128): Defined to 0 for Intel SYCL compiler [BZ #32723] 2cb04444b934 math: Fix `unknown type name '__float128'` for clang 3.4 to 3.8.1 (bug 32694) 07288c7445bb math: Add optimization barrier to ensure a1 + u.d is not reused [BZ #30664] 30992cb5e9d7 RISC-V: Fix IFUNC resolver cannot access gp pointer 7c9a0868077c Aarch64: Improve codegen in SVE asinh 94859e86807a Aarch64: Improve codegen in SVE exp and users, and update expf_inline f3d9c116cb0a AArch64: Improve codegen for SVE erfcf 2025e27a817f AArch64: Improve codegen for SVE pow 7774a9d07ab2 AArch64: Improve codegen for SVE powf 6d1f97bb0667 aarch64: Add configure checks for GCS support fda5730898bc aarch64: Add tests for Guarded Control Stack 61ba3cdfa9e9 aarch64: Add GCS tests for transitive dependencies 8d98ee8d70cd aarch64: Add GCS tests for dlopen 009c5a2dca7c aarch64: Add GCS test with signal handler e0bc5f64eaf7 math: Improve layout of exp/exp10 data c47c3890f15e AArch64: Add SVE memset 89be78704ed8 AArch64: Use prefer_sve_ifuncs for SVE memset 56609f8df1fa Pass -Wl,--no-error-execstack for tests where -Wl,-z,execstack is used [PR32717] 746ef8e93964 static-pie: Skip the empty PT_LOAD segment at offset 0 [BZ #32763] fd202462c5f8 elf: Check if __attribute__ ((aligned (65536))) is supported 91f8cff2c48f configure: Fix spelling of -Wl,--no-error-execstack option 1a3083b99992 posix: Move environ helper variables next to environ definition (bug 32541) 66fc3bd75871 math: Remove an extra semicolon in math function declarations 33bfd9020fda Linux: Remove attribute access from sched_getattr (bug 32781) e22c132484ea nptl: clear the whole rseq area before registration 98c712855d66 nptl: PTHREAD_COND_INITIALIZER compatibility with pre-2.41 versions (bug 32786) ce9b765522f0 nptl: Check if thread is already terminated in sigcancel_handler (BZ 32782) 6a3a4a5e583a x86_64: Add tanh with FMA 7e72fa7577f2 x86_64: Add sinh with FMA bcd4cf9d5ff2 x86_64: Add atanh with FMA a282e2c0aee8 x86: Skip XSAVE state size reset if ISA level requires XSAVE 80cd6566496e x86: Use separate variable for TLSDESC XSAVE/XSAVEC state size (bug 32810) 200d20123cb8 x86: Link tst-gnu2-tls2-x86-noxsave{,c,xsavec} with libpthread b861755a84ee elf: Extend glibc.rtld.execstack tunable to force executable stack (BZ 32653) d6d56af6e78c elf: Fix arm-linux-gnueabihf build break from b861755a84 f68b407d4bc5 x86: Optimize xstate size calculation aca31d27123d x86: Add ARL/PTL/CWF model detection support a53e76465791 x86: Handle unknown Intel processor with default tuning 046b33800c3e x86: Detect Intel Diamond Rapids 5cb575ca9a3d elf: tst-audit10: split AVX512F code into dedicated functions [BZ #32882] 5b4c4617016d nptl: Fix pthread_getattr_np when modules with execstack are allowed (BZ 32897) 5cf17ebc659c hurd: Fix tst-stack2 test build on Hurd dab44a3b2bb5 elf: Keep using minimal malloc after early DTV resize (bug 32412) 2ca34d76270d support: Use const char * argument in support_capture_subprogram_self_sgid 624285af3bfc elf: Test case for bug 32976 (CVE-2025-4802) 899dd3ab2fc2 x86_64: Fix typo in ifunc-impl-list.c. 515d4166f4db elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987) d952c6efaa87 sparc: Fix argument passing to __libc_start_main (BZ 32981) 84bdbf8a6f2f ppc64le: Revert "powerpc: Optimized strncmp for power10" (CVE-2025-5745) 55cdcadf7306 ppc64le: Revert "powerpc: Fix performance issues of strcmp power10" (CVE-2025-5702) b48d7ab03643 ppc64le: Revert "powerpc : Add optimized memchr for POWER10" (Bug 33059) 0c76c951620f ppc64le: Revert "powerpc: Optimized strcmp for power10" (CVE-2025-5702) 61e461ed0c16 sparc: Fix sparc32 Fix argument passing to __libc_start_main (BZ 32981) 11e634ccf32e support: Pick group in support_capture_subprogram_self_sgid if UID == 0 6e489c17f827 Fix error reporting (false negatives) in SGID tests
glibc 2.39 has removed libcrypt completely:
- configuration flag "--enable-crypt" is obsolete and removed
- patch "050-Revert-Disallow-use-of-DES-encryption-functions-in-n.patch"
does not matter anymore
The bootup of the armsr target sometimes failed like this:
```
[ 0.762283] NET: Registered PF_INET6 protocol family
[ 0.791987] workqueue: Failed to create a worker thread: -EAGAIN
[ 0.801986] workqueue: Failed to create a rescuer kthread for wq "mld": -EAGAIN
[ 0.964017] NET: Unregistered PF_INET6 protocol family
```
Increase the maximum number of threads the kernel allows.
Weijie Gao [Fri, 20 Jun 2025 11:25:20 +0000 (19:25 +0800)]
loongarch64: Restore kernel files for v6.6
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Jonathan Sturges [Fri, 30 May 2025 18:58:15 +0000 (14:58 -0400)]
ramips: add support for Wavlink WL-WN570HA2
The Wavlink Aerial HD3 (WL-WN570HA2) is an AC1200 dual-band outdoor
access point. It supports 802.3AT/AF PoE and is IP67 waterproof.
It is based on the MediaTek MT7628DAN SoC and MT7613BEN WiFi 5 chip.
This model uses the 100Mbit LAN and 2.4Ghz WiFi elements of the
MT7628 and the 5Ghz WiFi of the MT7613.
Specification:
- SoC: MediaTek MT7628DAN (1C/1T) @ 580MHz
- RAM: 64MB DDR2 (integrated in SoC)
- FLASH: 16MB SPI NOR (Fudan FM25Q128A)
- Ethernet: 1x 10/100Mbps
- WiFi: 2.4/5 GHz 2T2R
- 2.4GHz MediaTek MT7628DAN bgn
- 5GHz MediaTek MT7613BEN nac
- Antennas: 2x detachable, dual-band 7dBi with RP-SMA connectors.
- USB: none
- BTN: Reset
- LED: 6 total: power; WAN/LAN; WiFi; WiFi low; WiFi med; Wifi high
- UART: surface-mount on PCB. Pins are marked via silkscreen.
pin1 (square pad, towards Ethernet)=Vcc, pin2=RX,
pin3=TX, pin4=GND. Settings: 57600/8N1.
NOTE: The TX & RX silkscreens were reversed on my test unit.
Installation:
1) This device requires a HTTP recovery procedure to do an initial load
of OpenWRT. You will need:
a. A web browser (private window recommended)
b. Configure an Ethernet interface to 192.168.1.x/24; don't use .1
c. Connect a cable between the computer and the Wavlink's PoE injector.
2) Put the Wavlink in HTTP recovery mode.
a. Do this by pressing and holding the reset button on the bottom while
powering the unit on.
b. As soon as all 6 LEDs light up blue (roughly 2-3 seconds), release
the button.
c. The LEDs should all remain lit, indicating it's in HTTP recovery.
3) Point the browser at http://192.168.1.1/index.html
4) Click "Choose File" and select the OpenWRT sysupgrade image.
5) Click the "Update Firmware" button and wait while the unit flashes
the image and reboots.
6) When the system comes back up fully, only the power LED will be lit.
Wait an extra minute then you should be able to reach OpenWRT on
http://192.168.1.1
5) Log into LuCI as root; there is no password.
Revert to the OEM Firmware:
--------------------------
* U-boot HTTP:
Follow the HTTP recovery steps, and use a firmware image downloaded
from Wavlink.
ath79: ubnt-amplifi-hd: Add 2nd USB bus (integrated ath3k bluetooth)
Add/enable 2nd USB bus (integrated ath3k bluetooth) to dts. This already
exists in the qca956x dtsi, adding the pointer here to bring the bluetooth to life.
The 2nd bus hosts the integrated bluetooth at 0x1b400000.
Flashing is only possible via a serial connection using the sysupgrade
image; the factory image must be signed. You can flash the sysupgrade
image directly through the U-Boot console, or preferably, by booting the
initramfs image and flashing with the sysupgrade command. Follow these
steps for sysupgrade flashing:
1. Establish a UART serial connection.
2. Set up a TFTP server at 192.168.0.2 and copy the initramfs image
there.
3. Power on the device and press any key to interrupt normal boot.
4. Load the initramfs image using tftpboot.
5. Boot with bootm.
6. If you haven't done so already, back up all stock mtd partitions.
7. Copy the sysupgrade image to the router.
8. Flash OpenWrt through either LuCI or the sysupgrade command. Remember
not to attempt saving settings.
Revert to stock firmware
------------------------
Flash stock firmware via OEM web-recovery mode. If you don't have access
to the stock firmware image, you will need to restore the firmware
partition backed up earlier.
Web-Recovery
------------
The router supports an HTTP recovery mode:
1. Turn off the router.
2. Press the reset button and power on the device.
3. When the LED start flashing, release reset and quickly press it
again.
The interface is reachable at 192.168.0.1 and supports installation of
the OEM factory image. Note that flashing OpenWrt this way is not
possible, as mentioned above.
Tim Harvey [Fri, 20 Jun 2025 19:49:51 +0000 (12:49 -0700)]
uboot-envtools: add support for Gateworks venice
Add uboot-envtools support for Gateworks venice boards based on i.MX8M
SoC's (imx_cortexa53) which boot from and store their U-Boot env on
eMMC boot0 hardware partition.