Probing of the RTL8214FC on RTL839x is currently very strange.
- On RTL8393 nothing is detected and only generic PHY is reported
- On RTL8392 the port 1 is not detected while port 2-4 seem to work
Someone left a special RTL8393 detection rules that seems to indicate
that the we probe the internal SerDes instead. That is not true. Since
upgrade to kernel 6.6 the RTL8218/RTL8214FC detection is 100% accurate
and probing functions are only called when really needed.
Fix the issue by removing the condition. For now do PHY patching only
on the RTL838x where it already worked before.
Stijn Tintel [Thu, 1 May 2025 20:02:54 +0000 (23:02 +0300)]
kernel: fix KERNEL_PROBE_EVENTS_BTF_ARGS
We no longer support kernels < 6.6, so drop the dependency. This fixes a
missing symbol with 6.12 when KERNEL_DEBUG_INFO_BTF and
KERNEL_KPROBE_EVENTS are enabled.
qualcommax: ipq50xx: fix ECC strength for Linksys MR5500
Commit fc3ff2af0c57504a2e03d635692396c5bb099f17 introduced reading
ECC strength from the device tree. Linksys MR5500 uses the mx-base dtsi
which was originally developed for Linksys MX2000 and MX5500 where the
ECC strength is set to 8. Correct this and set it to strength of 4 as
per the NAND specs for Gigadevice GD5F2GQ5REYIH.
While fixing support for 2.5Gbps mode on uniphy in phy to phy link
setups, it inadvertently broke fixed link scenario. So let's revert this
commit until there's a fix that doesn't impact fixed links.
Scott Mercer [Wed, 30 Apr 2025 18:46:51 +0000 (14:46 -0400)]
qualcommax: ipq5018: glinet_gl-b3000: fix kernel alignment
fixes the following warning seen in bootlog
"Kernel image misaligned at boot, please fix your bootloader!"
Fixes: 3307fe8 ("qualcommax: ipq50xx: add support for GL.iNET GL-B3000") Signed-off-by: Scott Mercer <TheRootEd24@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18658 Signed-off-by: Robert Marko <robimarko@gmail.com>
toolchain: glibc: Update glibc 2.38 to recent HEAD
f510d75f nscd: Use time_t for return type of addgetnetgrentX 5aa4bb67 resolv: Fix some unaligned accesses in resolver [BZ #30750] 249646f1 Force DT_RPATH for --enable-hardcoded-path-in-tests 697ab62d i386: Disable Intel Xeon Phi tests for GCC 15 and above (BZ 31782) c8cb4d2b misc: Add support for Linux uio.h RWF_NOAPPEND flag 71245363 s390x: Fix segfault in wcsncmp [BZ #31934] 7bfc3595 nptl: fix potential merge of __rseq_* relro symbols d9d019d6 elf: Make dl-rseq-symbols Linux only bb30bd21 Linux: Make __rseq_size useful for feature detection (bug 31965) dc512364 resolv: Allow short error responses to match any query (bug 31890) 6cad0f54 resolv: Do not wait for non-existing second DNS response after error (bug 30081) 1bed6acf resolv: Track single-request fallback via _res._flags (bug 31476) 0301637b linux: Update the mremap C implementation [BZ #31968] f0e21145 mremap: Update manual entry 6bb75212 Add mremap tests 3ac7ba61 Update syscall lists for Linux 6.5 9184c136 resolv: Fix tst-resolv-short-response for older GCC (bug 32042) 059f82c3 Fix name space violation in fortify wrappers (bug 32052) c005d1bd x86: Fix bug in strchrnul-evex512 [BZ #32078] 28f358bc support: Add FAIL test failure helper 99ffa84b stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650] 87a1968a Make tst-ungetc use libsupport 804d3c8d ungetc: Fix uninitialized read when putting into unused streams [BZ #27821] b9f72bd5 ungetc: Fix backup buffer leak on program exit [BZ #27821] 15ca6630 posix: Use <support/check.h> facilities in tst-truncate and tst-truncate64 f30501ca nptl: Use <support/check.h> facilities in tst-setuid3 370be858 libio: Attempt wide backup free only for non-legacy code 4dd86414 Add crt1-2.0.o for glibc 2.0 compatibility tests fa4ad104 elf: Change ldconfig auxcache magic number (bug 32231) 9423cc53 nptl: initialize rseq area prior to registration 37ded328 nptl: initialize cpu_id_start prior to rseq registration cf067723 x86: Avoid integer truncation with large cache sizes (bug 32470) 5c9be512 x86_64: Sort fpu/multiarch/Makefile 49016f21 x86_64: Add log2 with FMA b2a45f1e x86_64: Add expm1 with FMA c92946d9 x86_64: Add log1p with FMA 58822f95 x86: Check the lower byte of EAX of CPUID leaf 2 [BZ #30643] 7772f935 elf: Fix slow tls access after dlopen [BZ #19924] 5a64f933 x86: Only align destination to 1x VEC_SIZE in memset 4x loop 0d14bf07 sysdeps/x86/Makefile: Split and sort tests dc176211 x86_64: Fix missing wcsncat function definition without multiarch (x86-64-v4) 04b8d484 x86: Improve large memset perf with non-temporal stores [RHEL-29312] 12fec8aa x86/string: Fixup alignment of main loop in str{n}cmp-evex [BZ #32212] 48642ef1 elf: Avoid some free (NULL) calls in _dl_update_slotinfo 549e7f7c elf: Support recursive use of dynamic TLS in interposed malloc c32fd593 Fix underallocation of abort_msg_s struct (CVE-2025-0395) 650a0aaa stdlib: Test using setenv with updated environ [BZ #32588] f984e2d7 assert: Add test for CVE-2025-0395 9ca74b8a AArch64: Improve generic strlen 95aa2143 AArch64: Optimize memset 5fe151d8 AArch64: Remove zva_128 from memset 3de51123 math: Improve layout of expf data 52c2b155 AArch64: Add SVE memset 097299ff AArch64: Use prefer_sve_ifuncs for SVE memset 5a08d049 math: Improve layout of exp/exp10 data
Package kmod-drm-ttm-helper is missing dependencies for the following libraries:
drm_kms_helper.ko
fb_sys_fops.ko
syscopyarea.ko
sysfillrect.ko
sysimgblt.ko
kernel: fortify: Hide run-time copy size from value range tracking
Fix compilation warning treated as an error:
./include/linux/fortify-string.h:114:33: error: '__builtin_memcpy' reading between 65 and 536870904 bytes from a region of size 64 [-Werror=stringop-overread]
114 | #define __underlying_memcpy __builtin_memcpy
| ^
./include/linux/fortify-string.h:633:9: note: in expansion of macro '__underlying_memcpy'
633 | __underlying_##op(p, q, __fortify_size); \
| ^~~~~~~~~~~~~
./include/linux/fortify-string.h:678:26: note: in expansion of macro '__fortify_memcpy_chk'
678 | #define memcpy(p, q, s) __fortify_memcpy_chk(p, q, s, \
| ^~~~~~~~~~~~~~~~~~~~
./include/linux/bitmap.h:259:17: note: in expansion of macro 'memcpy'
259 | memcpy(dst, src, len);
| ^~~~~~
kernel/padata.c: In function '__padata_set_cpumasks':
kernel/padata.c:735:48: note: source object 'pcpumask' of size [0, 64]
735 | cpumask_var_t pcpumask,
| ~~~~~~~~~~~~~~^~~~~~~~
kernel: update fb-sys-fops package for kernel 6.12
For kernel 6.12 the fb-sys-fops module setting has been renamed
from CONFIG_FB_SYS_FOPS to CONFIG_FB_SYSMEM_FOPS.
This patch sets the KCONFIG value depending on the kernel version.
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
Remove obsolete backport patches already included in kernel 6.12 including the patches:
- 623-v6.14-net-ipv6-fix-TCP-GSO-segmentation-with-NAT.patch - backported to kernel 6.12.21[1]
- 785-05-v6.15-net-sfp-add-quirk-for-FS-SFP-10GM-T-copper-SFP-module.patch - backported to kernel 6.12.24[2]
- 910-v6.13-pmdomain-core-add-dummy-release-function-to-genpd-de.patch - backported to kernel 6.12.9[3]
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
Robert Marko [Wed, 30 Apr 2025 09:53:45 +0000 (11:53 +0200)]
ead: fix compilation with GCC14
Trying to compile EAD with now default GCC14 will fail due to now erroring
out on implicit int type as well as implicit function declarations.
Due to this, the packaged configure script will fail on the simple compiler
test as the generated test uses main loop with an implicit int type.
So, instead of patching multiple test cases in the shipped configure script
for tinysrp lets run autoreconf on it so its regenerated.
We also need to pass -Wno-error=implicit-function-declaration as there are
multiple instances of tinysrp code relying on implicit function declarations.
Scott Mercer [Mon, 21 Apr 2025 15:23:07 +0000 (11:23 -0400)]
package: basefiles: add oem image dectection to fwtool.sh
with more new device, now able to flash oem
images from luci, fwtools erroneously marks
firmware as incompatible and does not warn
across keeping configs during update.
this patch aims to add both oem detection
and a warning msg advising firmware is compatible
(OpenWrt -> OEM) but configuration is not
tested on ipq5018: gl-b3000
Signed-off-by: Scott Mercer <TheRootEd24@gmail.com>
package: basefiles: add oem image dectection to fwtool
some new devices are now able to flash oem
images from luci, fwtools erroneously marks
firmware as incompatible and does not warn
of keeping configs during update for this condition.
this patch aims to add both oem detection
and trigger the existing warning msg, advising firmware is compatible
(OpenWrt -> OEM) but configuration is not
George Moussalem [Tue, 29 Apr 2025 13:24:46 +0000 (17:24 +0400)]
qualcommax: ipq50xx: fix GE_PHY and Uniphy resets
Fix the resets of the GE_PHY and Uniphy found on the IPQ5018 SoC.
Bitmasks are used to perform multiple resets simultaneously, including
the RX and TX clocks. This enables the Uniphy to properly shift between
SGMII/1G and SGMII+/2.5G modes.
While at it, properly reorder the patches, and rename some to follow
naming standards.
Felix Fietkau [Wed, 30 Apr 2025 08:40:38 +0000 (10:40 +0200)]
ucode-mod-uline: fix crash on cleanup
- only run a single poll in the uloop_fd cb to avoid use-after-free on close
- delete the uloop_fd on close
- when calling into ucode, fetch the vm pointer before the call in order
to avoid accessing the stale uline context
generic: drop extra-old-deprecated pending fix patch for sch codel
Patch 620-net_sched-codel-do-not-defer-queue-length-update.patch is
actually an ancient patch that somehow manage to be ported for 7 solid
years.
This comes from [1] where a fix patch was proposed. Nobody notice that
the proposed patch was actually rejected upstream in favor of [2]. And
the upstream fix patch is present in kernel from version 4.18.
This means that we were actually fixing for a non existant bug and maybe
introducing regression down the line.
Drop the patch for good as we already have a fix for it in flace for a
long time.
George Moussalem [Tue, 29 Apr 2025 10:32:20 +0000 (14:32 +0400)]
qualcommax: ipq50xx: fix ipq5018 GE PHY and tidy up mdio nodes
As part of the previous commit to add the #clock-cells property to the
GE PHY, the PHY was inadvertently moved under the second mdio node in
the dtsi, and therefore broke the init sequence as the driver was trying
to use the wrong mdio bus to set the init values (ex. DAC, MSE, and AZ).
So let's move it back under the right mdio node and, while at it, pad
the register addresses to 8 hex numbers and re-order properties in line
with Linux DTS coding standards.
Fixes: 6782d0e66fd607a3536d5fd94e998d2d700ffeaf Signed-off-by: George Moussalem <george.moussalem@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18634 Signed-off-by: Robert Marko <robimarko@gmail.com>
Shiji Yang [Tue, 29 Apr 2025 10:16:29 +0000 (18:16 +0800)]
ramips: correct wifi driver packages for TP-Link MR200 v6
TP-Link Archer MR200 v6 uses the MT7613 wireless chip, hence
the default wifi driver packages should be kmod-mt7615e and
kmod-mt7663-firmware-ap.
Fixes: https://github.com/openwrt/openwrt/issues/18627 Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/18633 Signed-off-by: Robert Marko <robimarko@gmail.com>
qualcommax: ipq50xx: drop unused factory.ubi for ELECOM WRC-X3000GS2
Drop the firmware image entry "factory.ubi" from IMAGES for ELECOM
WRC-X3000GS2.
`Device/UbiFit` is added in the early stage of working for adding
support of the device, but finally, only `KERNEL_IN_UBI` is neccesary
and factory.ubi is not. So `Device/UbiFit` should have been replaced
to `KERNEL_IN_UBI` but it was forgotten.
Fixes: 3b7d72bc2e ("qualcommax: add support for ELECOM WRC-X3000GS2") Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18611 Signed-off-by: Robert Marko <robimarko@gmail.com>
2. Connect the PC via LAN to one of the yellow router ports and wait
until your PC to get a DHCP lease.
3. Browse to http://192.168.50.1
4. If your router is brand new, finish the setup process and log into
the Web-UI.
5. Navigate to Administration -> Firmware Upgrade and upload the
downloaded OpenWrt image.
6. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
using scp and install using sysupgrade.
$ sysupgrade -n <path-to-sysupgrade.bin>
-----------------------------------------------------------
TFTP Method
-----------------------------------------------------------
1. Download the OpenWrt initramfs image. Copy the image to a TFTP server
reachable at 192.168.1.70/24. Rename the image to rtax52.bin.
2. Connect the PC with TFTP server to the RT-AX52.
Set a static ip on the ethernet interface of your PC.
(ip address: 192.168.1.70, subnet mask:255.255.255.0)
Conect to the serial console,
interrupt the autoboot process by pressing '4' when prompted.
4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
using scp and install using sysupgrade.
$ sysupgrade -n <path-to-sysupgrade.bin>
---------------------------------------------------------------------------
Revert to stock firmware:
1: Download the rt-ax52 firmware from ASUS official website. Save
the firmware to tftp server directory and rename to RT-AX52.trx
2: Connect the PC with TFTP server to the RT-AX52.
Set a static ip on the ethernet interface of your PC.
(ip address: 192.168.1.70, subnet mask:255.255.255.0)
3: Conect to the serial console, power on again, interrupt the
autoboot process by pressing '4' when prompted.
$: ubi remove linux
$: ubi remove jffs2
$: ubi remove rootfs
$: ubi remove rootfs_data
$: ubi create linux 0x45fe000
$: reset
Then the dut will reboot,interrupt the autoboot process by
pressing '2' when prompted.
2: Load System code then write to Flash via TFTP.
Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
$: enter y
you will see the follow, type enter directly:
Input device IP (192.168.1.1) ==:
Input server IP (192.168.1.70) ==:
Input Linux Kernel filename (RT-AX52.trx) ==:
4: wait for the device run up
Based on support for ASUS RT-AX52 by liudongdongdong7397
and trx image generation by remittor
Signed-off-by: Christoph Krapp <achterin@gmail.com>
Add missing semicolon to the end of the property.
Remove whitespace while at it.
Fixes: 5a3b9d88f158 ("lantiq: Improve support for LED's fritz736x") Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> Link: https://github.com/openwrt/openwrt/pull/18594 Signed-off-by: Robert Marko <robimarko@gmail.com>
The GL-B3000 has a Winbond W25N01GW and the spare size (oobsize) of it
is 64. So the maximum available ECC strength with the qpic-snand driver
is 4 but not 8.
The "nand-ecc-strength" property was not used before the commit fc3ff2af0c ("qualcommax: allow overriding ECC strength for qpic-snand")
and calculated from the registered spare size in the Linux Kernel. As a
result, we had no issues on the GL-B3000 with the wrong ECC strength
value.
Fixes: 3307fe8ee4 ("qualcommax: ipq50xx: add support for GL.iNET GL-B3000") Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18595 Signed-off-by: Robert Marko <robimarko@gmail.com>
Daniel Golle [Thu, 24 Apr 2025 05:43:59 +0000 (06:43 +0100)]
uboot-tools: validate all uImage.FIT sub-images
uImage.FIT validation was restricted to certain sub-image types
which is problematic as it then won't validate eg. 'filesystem' type
subimages. Also prevent decompressing sub-images into a arbitrary
sized buffer just to then free that buffer -- there is not need to
do this and creating malicious compressed payloads which overflow the
buffer is too easy.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Robert Marko [Wed, 23 Apr 2025 12:18:48 +0000 (14:18 +0200)]
mold: dont allow on MacOS
Mold does not really work on MacOS, when attempting to use it for example
for ubus:
mold: get_self_path is not supportedcollect2: error: ld returned 1 exit status
Which was introduced by [1] so it seems that MacOS is not supported, so
lets make it non selectable when MacOS is the host.