openwrt/staging/stintel.git
3 days agou-boot.mk: support Python 3.12 and 3.13 master
Stijn Tintel [Tue, 1 Jul 2025 17:06:52 +0000 (20:06 +0300)]
u-boot.mk: support Python 3.12 and 3.13

Fixes the following build problem on systems with Python 3.12 or 3.13:

Checking 'python3-setuptools'... failed.
Checking 'swig'... ok.

u-boot: Please install the Python3 setuptools module

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 days agoqualcommax: ipq50xx: Add support for Yuncore AX830
Shubham Vishwakarma [Fri, 13 Jun 2025 18:17:05 +0000 (23:47 +0530)]
qualcommax: ipq50xx: Add support for Yuncore AX830

Specifications:
SOC: Qualcomm IPQ5018 (64-bit dual-core ARM Cortex-A53 @ 1.0Ghz)
Memory: 512MB DDR3L
Standard: 802.11ax/ac/b/g/n
Flash: SPI NOR 8MB (Winbond W25Q64DW) + NAND 128MB (Winbond W25N01GWZEIG)
2.4G Frequency: 2.4GHz - 2.484GHz
2.4G Wi-Fi standard: 802.11b/g/n/ax
5.8G Frequency: 4.9~5.9G
5.8G Wi-Fi Standard: 802.11 a/n/ac/ax
Interface:
  Optional 1(Without 8081):
    1 * 10/100 /1000Mbps RJ45 WAN Port and PoE port;
    1* Gigabit Console port;
  Optional 2(With 8081):
    1 * 10/100/1000/2500Mbps RJ45 WAN port and PoE port,
    1*10/100/1000Mbps LAN port
Buttons: 1 * Reset button, press 10 seconds to revert to default setting
Antenna: Build in 4*4dBi dual band MIMO Antenna
Data Rate: 3000Mbps (2.4G 600Mbps, 5.8G 2400Mbps)
End Users: 128+
2.4G RF Power: ≤ 23dBm
5.8G RF Power: ≤ 23dBm
DC: 12V----2A
PoE: 48V (IEEE 802.3at)
LED Light: Sys, WAN, LAN
Power Consumption: ≤ 20W

BACKUP YOUR STOCK FIRMWARE:
- Put openwrt-*-initramfs-uImage.itb to your
  TFTP server and rename it to initramfs.bin
- Enable serial console and enter to u-boot cli
  and exec these commands:
    ```
    tftpboot <your_tftp_server_ip>:initramfs.bin
    bootm
    ```
- Once boot completed and you get the openwrt shell
  execute below commands:
    ```
    device=ax830
    mkdir -p /tmp/fw_backup; cd /tmp/fw_backup
    rootfs=$(cat /proc/mtd | grep \"rootfs\" | cut -d: -f1)
    rootfs_1=$(cat /proc/mtd | grep \"rootfs_1\" | cut -d: -f1)
    dd if=/dev/${rootfs} of=rootfs_${rootfs} bs=1M
    dd if=/dev/${rootfs_1} of=rootfs_1_${rootfs_1} bs=1M
    cp /sys/firmware/fdt fdt.dtb
    md5sum * > md5sum
    tar -cvzf /tmp/${device}.tar.gz .
    sum=$(md5sum /tmp/${device}.tar.gz | cut -d' ' -f1)
    mv /tmp/${device}.tar.gz /tmp/${device}_${sum}.tar.gz
    echo "stock fw backup saved to: /tmp/${device}_${sum}.tar.gz"
    ```
- Upload/save your backup to a safe place.

STOCK FIRMWARE RECOVERY:
- Boot initramfs image
- Upload your backed-up stock fw tarball to the device
  using scp or download it from the device using wget.
- Enter device ssh cli or tty and exec:
    ```
    cd /tmp && wget <your_web_server_ip>/${stock_fw_backup}.tar.gz`
    tar -xpzf ${stock_fw_backup}.tar.gz
    rootfs=$(cat /proc/mtd | grep \"rootfs\" | cut -d: -f1)
    rootfs_1=$(cat /proc/mtd | grep \"rootfs_1\" | cut -d: -f1)
    ubiformat /dev/${rootfs} -y -f /tmp/rootfs_${rootfs}
    ubiformat /dev/${rootfs_1} -y -f /tmp/rootfs_1_${rootfs_1}
    reboot
    ```

INSTALLATION:
1. initramfs method
- Put openwrt-*-initramfs-uImage.itb to your
  TFTP server and rename it to initramfs.bin
- Enable serial console and enter to u-boot cli
  and exec these commands:
    ```
    tftpboot <your_tftp_server_ip>:initramfs.bin
    bootm
    ```
- Once boot completed and you get the openwrt shell
  execute below commands:
    ```
    cd /tmp && wget <your_web_server_ip>/factory.ubi`
    export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1)
    export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1)
    ubiformat /dev/${rootfs} -y -f factory.ubi
    ubiformat /dev/${rootfs_1} -y -f factory.ubi
    reboot
    ```

2. u-boot factory.ubi image method
- Put factory.ubi to your TFTP server and
  enter u-boot cli and exec these commands:
    ```
    tftpboot <your_tftp_server_ip>:factory.ubi
    #After downloading is finished:
    flash rootfs
    flash rootfs_1
    reset
    ```

Signed-off-by: Shubham Vishwakarma <shubhamvis98@fossfrog.in>
Link: https://github.com/openwrt/openwrt/pull/18968
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoipq-wifi: update to Git HEAD (2025-06-23)
Robert Marko [Sun, 29 Jun 2025 16:03:53 +0000 (18:03 +0200)]
ipq-wifi: update to Git HEAD (2025-06-23)

63bd0faafd4a Add IPQ5018 BDF for Yuncore AX830.

Link: https://github.com/openwrt/openwrt/pull/18968
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agodownload: improve rawgit tar reliability
Ondrej Cierny [Fri, 27 Jun 2025 02:39:37 +0000 (19:39 -0700)]
download: improve rawgit tar reliability

Packages that depend on rawgit can fail on systems with the tar UID
issue (https://bugzilla.redhat.com/show_bug.cgi?id=913406).
Fix this by adding tar flags to overwrite UID/GID, as in the
dl_tar_pack method.

Signed-off-by: Ondrej Cierny <o.cierny@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19243
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agolinux-firmware: update to 20250627
John Audia [Sat, 28 Jun 2025 08:44:56 +0000 (04:44 -0400)]
linux-firmware: update to 20250627

% git log --no-merges --pretty=oneline --abbrev-commit 20250613...20250627
cb826c70e912 WHENCE: extract license texts
db6e24385793 WHENCE: expand the advansys license statement
e8a4acb51210 WHENCE: some older AMD drivers are MIT licensed
ebbcfe361cbf qcom: update firmware binary for SM8550
09db581815f8 amdgpu: DMCUB updates for DCN401
c319d6bea7a6 qcom: venus-5.4: add the firmware binary for qcs615
dbfe16e9e8ac Revert "qcom: Add sdx61 Foxconn vendor firmware image file"
cbbce56d6dcc amdgpu: update dmcub fw for dcn401
8c091f4b0ec5 qcom: Add sdx61 Foxconn vendor firmware image file
1c4846b614e0 brcm: Fix symlinks for Khadas VIM SDIO wifi config
f191695a00ba amdgpu: update renoir firmware
c71a6daecc53 amdgpu: update vcn 5.0.0 firmware
72a8d25438c0 amdgpu: update smu 14.0.3 firmware
9f33f83a3245 amdgpu: update sdma 7.0.1 firmware
ef19800204dd amdgpu: update psp 14.0.3 firmware
103e235bafd0 amdgpu: update gc 12.0.1 firmware
f69dbbbd61b1 amdgpu: update navy flounder firmware
839067097384 amdgpu: update psp 14.0.4 firmware
0fde9638f26e amdgpu: update gc 11.5.2 firmware
128b759e5c8f amdgpu: update sienna cichlid firmware
94e718de8906 amdgpu: add raven2 ip discovery firmware
cbd24c08ceff amdgpu: update smu 14.0.2 firmware
fe7f99e3d01b amdgpu: update sdma 7.0.0 firmware
20e709912411 amdgpu: update psp 14.0.2 firmware
0e6cf73ebe2a amdgpu: update gc 12.0.0 firmware
00ce8ee06be2 amdgpu: update vcn 4.0.6 firmware
ed9525cb5743 amdgpu: update psp 14.0.1 firmware
cd7f739592db amdgpu: update gc 11.5.1 firmware
56accbf3cc71 amdgpu: update psp 13.0.11 firmware
03523034b0a5 amdgpu: update gc 11.0.4 firmware
1035014812d6 amdgpu: add picasso ip discovery firmware
7e14bde8ffdf amdgpu: add raven ip discovery firmware
2427860b84e9 amdgpu: update vega20 firmware
c354a0967253 amdgpu: update vega12 firmware
6e36b3917519 amdgpu: update smu 13.0.7 firmware
97e3e9cb4d96 amdgpu: update vcn 4.0.4 firmware
52f8bb5fd748 amdgpu: update psp 13.0.7 firmware
b2f81cf8dd1d amdgpu: update gc 11.0.2 firmware
46646de90c81 amdgpu: update navi14 firmware
6d59ec7d67dd amdgpu: update vega10 firmware
6a451a89f175 amdgpu: update gc 10.3.6 firmware
aa3e04655f08 amdgpu: update smu 13.0.10 firmware
97c3f575f445 amdgpu: update psp 13.0.10 firmware
c58be58dc9b4 amdgpu: update gc 11.0.3 firmware
403f1c578204 amdgpu: update navi12 firmware
a21004dd4edb amdgpu: update vangogh firmware
d45a9e3e51f5 amdgpu: update navi10 firmware
c70bcef9759d amdgpu: add smu 13.0.0 kicker firmware
c5077ee16e2c amdgpu: add psp 13.0.0 kicker firmware
25fbfc9a9fe6 amdgpu: add gc 11.0.0 kicker firmware
9fff2b17d3b1 amdgpu: add vcn 5.0.1 firmware
fea4ac9c76cb amdgpu: add sdma 4.4.4 firmware
8a9e3b47ef3d amdgpu: add psp 13.0.12 firmware
41e2f753b3a7 amdgpu: add gc 9.5.0 firmware
38945107950a amdgpu: add arcturus IP discovery firmware
49447aed4821 amdgpu: update vcn 4.0.0 firmware
734cc9b82e60 amdgpu: update smu 13.0.0 firmware
36934f24c008 amdgpu: update psp 13.0.0 firmware
464402529b3f amdgpu: update gc 11.0.0 firmware
1f9ea1b74498 amdgpu: update psp 13.0.14 firmware
877eed711964 amdgpu: update gc 9.4.4 firmware
a4a2882f0391 amdgpu: update psp 13.0.6 firmware
49105d8ee7e1 amdgpu: update gc 9.4.3 firmware
976433406ee3 amdgpu: update beige_goby firmware
3073095c049f amdgpu: update vcn 4.0.5 firmware
f2f8b021e7ca amdgpu: update gc 11.5.0 firmware
ad90939ad7a8 amdgpu: update vcn 4.0.2 firmware
6937d2e155c9 amdgpu: update gc 11.0.1 firmware
00198a7ab7a8 amdgpu: update dimgrey_cavefish firmware
95f5f3cc1044 amdgpu: update aldebaran firmware
b8369884e1db WHENCE: fix subtly incorrect licensing
a26e413e7481 amdgpu: update dmcub fw for dcn32 and dcn401
3c5341f382e0 mediatek: Update mt8186 SCP firmware
9096bad65cb9 amdgpu: Update DMCUB fw for DCN401 & DCN315
0a0b23e207c9 WHENCE: unify Driver statements
4cb2b59c30c2 qcom: add gpu firmwares for X1P42100 chipset

Build system: x86/64
Build-tested: x86/64
Run-tested: x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19251
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: rt-loader bootbase device enhancement
Markus Stockhausen [Sat, 28 Jun 2025 15:39:27 +0000 (11:39 -0400)]
realtek: rt-loader bootbase device enhancement

Until now the rt-loader only works on U-Boot driven devices where the
environment (e.g. coprocessor) is usually setup properly. Devices like
the ZyXEL GS1920 series use BootBase as start environment and skip
some of the basic initialization steps. rt-loader will fail in these
cases. Take care about the CP0 registers.

Additionally enhance the documentation of the printf implementation.
It was optimized during the different revisions of the initial PR.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19253
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agox86: 64: Enable PCI MMCONFIG
Kazuhiro Ito [Sun, 29 Jun 2025 07:47:31 +0000 (16:47 +0900)]
x86: 64: Enable PCI MMCONFIG

Some devices can't boot since kernel 6.6 without PCI MMCONFIG.

Fixes: https://github.com/openwrt/openwrt/issues/18228
Fixes: https://forum.openwrt.org/t/openwrt-24-10-x86-64-boot-hangs-after-pci-nvme-initialization/229086
Signed-off-by: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
Link: https://github.com/openwrt/openwrt/pull/19256
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agokernel: allow seamless migration from I40EVF
xiao bo [Sun, 29 Jun 2025 02:20:50 +0000 (10:20 +0800)]
kernel: allow seamless migration from I40EVF

Resolve the issue of seamless migration from I40EVF
link: https://github.com/openwrt/openwrt/pull/19197/files#r2173571237
Signed-off-by: xiao bo <peterwillcn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19255
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agokernel: bump 6.6 to 6.6.95
John Audia [Fri, 27 Jun 2025 11:04:12 +0000 (07:04 -0400)]
kernel: bump 6.6 to 6.6.95

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.95

Removed upstreamed:
 backport-6.6/201-v6.16-mips-Add-std-flag-specified.patch[1]
 mvebu/patches-6.6/0004-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[2]
 mvebu/patches-6.6/0005-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[3]
 mvebu/patches-6.6/0006-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[4]
 mvebu/patches-6.6/0007-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[5]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=231f6a1de15b3f62eb8d6163a8b1bc5935025c69
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=ae48bc0b8be8786fd0ceab4b5a95c09b5aa93816
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=8a15a5438c5816a1003b88ce20f25ccc92909ee7
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=02c966a8869becb29282403540c88ba33e19c347
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=14a26f6692062a529b612420adb6c0b9290b25d3

Build system: x86/64
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19248
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agokernel: bump 6.12 to 6.12.35
Shiji Yang [Fri, 27 Jun 2025 14:30:02 +0000 (22:30 +0800)]
kernel: bump 6.12 to 6.12.35

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.35

Remove upstreamed patches:
  bcm27xx/patches-6.12/950-0961-media-imx335-Use-correct-register-width-for-HNUM.patch [1]
  bcm27xx/patches-6.12/950-1003-drivers-media-i2c-imx335-Fix-frame-size-enumeration.patch [2]
  gemini/patches-6.12/0001-net-ethernet-cortina-Use-TOE-TSO-on-all-TCP.patch [3]
  generic/backport-6.12/300-v6.16-mips-Add-std-flag-specified.patch [4]
  mvebu/patches-6.12/0004-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch [5]
  mvebu/patches-6.12/0005-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch [6]
  mvebu/patches-6.12/0006-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch [7]
  mvebu/patches-6.12/0007-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch [8]

Manually rebased patches:
  bcm27xx/patches-6.12/950-0392-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch [9]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.35&id=b93864e0865f235a791e69dc9ef4f896e559ef77
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.35&id=1f78790d988c9d55cf8d4b4d511d4b3e38ecb81d
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.35&id=2bd434bb0eeb680c2b3dd6c68ca319b30cb8d47f
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.35&id=6dbda47fe8bd6aa978c150bc9d321a286d2cc3f4
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.35&id=2cd2022c38fa26257cc6eec100ae122de9c1541c
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.35&id=133f17922b3dbae44fe583fb898b92b03558a657
[7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.35&id=aefe45843ea667366e35df4fcfef5ff9051a86c9
[8] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.35&id=461d5a73ae45fbe6c300a6e64600f9792684eb52
[9] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.35&id=3f2098f4fba7718eb2501207ca6e99d22427f25a

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19249
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agorealtek: Convert LGS310C to compressed kernel
Markus Stockhausen [Sun, 8 Jun 2025 16:43:56 +0000 (12:43 -0400)]
realtek: Convert LGS310C to compressed kernel

There are too many supported Realtek devices so avoid activating the
rt loader recipe in the default builds. Just start with the LGS310C.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18397
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: add rt-loader recipe
Markus Stockhausen [Sun, 8 Jun 2025 16:42:10 +0000 (12:42 -0400)]
realtek: add rt-loader recipe

To make use of the new rt-loader provide the needed recipes.
This has been tested with the following devices:

- rtl838x Linksys LGS310: initramfs & flash
- rtl930x Zyxel XGS1210: initramfs

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18397
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agorealtek: add rt-loader (runtime loader)
Markus Stockhausen [Sun, 8 Jun 2025 16:11:37 +0000 (12:11 -0400)]
realtek: add rt-loader (runtime loader)

The bootloader of many Realtek switches only supports gzipped kernel images.
With limited flash space that might get critical in future versions. For better
compression allow support for compressed images. For this a new loader was
developed. Several ideas have been taken over from the existing lzma loader
but this has been enhanced to make integration simpler. What is new:

- Loader is position independent. No need to define load addresses
- Loader identifies device memory on its own
- Loader uses "official" upstream kernel lzma uncompress
  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/decompress_unlzma.c
- Loader uses "official" UNMODIFIED nanoprintg that is used by several
  bare metal projects. https://github.com/charlesnicholson/nanoprintf

Compiled the loader ist just under 12KiB and during boot it will show:

rt-loader
Found RTL8380M (chip id 6275C) with 256MB
Relocate 2924240 bytes from 0x80100000 to 0x8fce0000
Extract kernel with 2900144 bytes from 0x8fce521c to 0x80100000...
Extracted kernel size is 9814907 bytes
Booting kernel from 0x80100000 ...

[    0.000000] Linux version 6.12.33 ...
[    0.000000] RTL838X model is 83806800
...

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18397
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agowifi-scripts: ucode: fix invalid generated MAC address
Felix Fietkau [Fri, 27 Jun 2025 11:08:32 +0000 (13:08 +0200)]
wifi-scripts: ucode: fix invalid generated MAC address

macaddr_base can be NULL, in which case it needs to be passed as an empty string

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 days agouboot-tools: move ubootenv_add_ubi_default to common functions
Paweł Owoc [Fri, 16 May 2025 14:22:54 +0000 (16:22 +0200)]
uboot-tools: move ubootenv_add_ubi_default to common functions

The same function is used twice, so let's make it common.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18818
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 days agouboot-tools: use ubootenv_add_* functions
Paweł Owoc [Fri, 16 May 2025 14:19:05 +0000 (16:19 +0200)]
uboot-tools: use ubootenv_add_* functions

Use ubootenv_add_* functions for code simplification.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18818
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 days agouboot-tools: update ubootenv_add_* functions
Paweł Owoc [Fri, 16 May 2025 14:06:57 +0000 (16:06 +0200)]
uboot-tools: update ubootenv_add_* functions

Add posibility to specify:
- ROOTDEV (mmc)
- number of blocks (mtd)

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18818
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 days agouboot-tools: move ubootenv_add_* functions to common functions
Paweł Owoc [Fri, 16 May 2025 13:58:28 +0000 (15:58 +0200)]
uboot-tools: move ubootenv_add_* functions to common functions

Functions ubootenv_add_mtd, ubootenv_add_sys_mtd and ubootenv_add_mmc
can be shared so make them common.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18818
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 days agowifi-scripts: iwinfo(ucode): add missing null checks
Felix Fietkau [Thu, 26 Jun 2025 17:44:43 +0000 (19:44 +0200)]
wifi-scripts: iwinfo(ucode): add missing null checks

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 days agowifi-scripts: fix validation of require_mode
Felix Fietkau [Thu, 26 Jun 2025 17:18:49 +0000 (19:18 +0200)]
wifi-scripts: fix validation of require_mode

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 days agowifi-scripts: fix missing variables for setting frag/rts
Felix Fietkau [Thu, 26 Jun 2025 17:16:21 +0000 (19:16 +0200)]
wifi-scripts: fix missing variables for setting frag/rts

Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 days agoscripts: getver.sh: approximate version from date
Eric Fahlgren [Sat, 1 Feb 2025 16:12:07 +0000 (08:12 -0800)]
scripts: getver.sh: approximate version from date

When doing package support and management it is often the case that
knowing the corresponding openwrt repo's release version is useful.

For example, when adding package changes to the ASU server, the
openwrt revision is used as the cutoff for applying those changes.
Knowing a package change's hash in its remote feed repo allows us
to look up its change date, which we can now use with getver.sh
to approximate the revision in openwrt at which it was made.

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17817
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agomediatek: mt7988a: 6.12: move SoC dtsi changes to dedicated patch
Daniel Golle [Wed, 25 Jun 2025 23:53:57 +0000 (00:53 +0100)]
mediatek: mt7988a: 6.12: move SoC dtsi changes to dedicated patch

Move changes to mt7988a.dtsi from patch adding the support for the
MT7988A Reference Board to a dedicated patch to ease maintainance.

Fixes: f9206d1111 ("kernel/mediatek: 6.12: replace downstream files by patches")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 days agomediatek: 6.12: mt7988a-rfb: complete conversion to all-UBI fitblk
Daniel Golle [Wed, 25 Jun 2025 23:44:38 +0000 (00:44 +0100)]
mediatek: 6.12: mt7988a-rfb: complete conversion to all-UBI fitblk

Restore the conversion to an all-UBI NAND layout and use of fitblk on
SPI-NAND connected via the mt65xx SPI controller.
Apply the same also for SPI-NAND connected via the SNFI controller, and
use fitblk also for boot from SPI-NOR, eMMC and SD.

Fixes: f9206d1111 ("kernel/mediatek: 6.12: replace downstream files by patches")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 days agomediatek: 6.12: fix wrong SoC compatible of MT7988A RFB
Daniel Golle [Wed, 25 Jun 2025 23:22:42 +0000 (00:22 +0100)]
mediatek: 6.12: fix wrong SoC compatible of MT7988A RFB

The MediaTek MT7988A RFB currently hangs on boot as CCI fails to probe.
This is due to the wrong SoC compatible string "mediatek,mt7988" instead of
"mediatek,mt7988a". Fix that.

Fixes: f9206d1111 ("kernel/mediatek: 6.12: replace downstream files by patches")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
9 days agouboot-envtools: set nonshared flag correctly per-subpackage
Mario Andrés Pérez [Sun, 22 Jun 2025 17:13:27 +0000 (19:13 +0200)]
uboot-envtools: set nonshared flag correctly per-subpackage

Currently, uboot-envtools is being built for a (shared) instruction
set (phase2 in buildbots) instead of target-specific (phase1 in builbots).
So the package does not contain the uci-defaults file specific for each
target_subtarget. (Only the fortunate target with coincidentally the same
instruction set and target as the SDK chosen by the buildbot will have the
uci-defaults file.)

This commit sets the nonshared flag correctly in the Makefile so that
uboot-envtools is built for the target-specific (phase 1).

This is done by using the PKGFLAGS variable which is intended for
per-binary flags (instead of PKG_FLAGS which has a global scope), as
stated in some old commits 349e7b635e[1], 2d7eaf2e15[2], 064e7c8f00[3] and
2cb75cd8b9[4].

While at here, use PKG_URL, instead of URL, which is intended for global
scope. As stated in commit e32edf712b[5].

[1] https://github.com/openwrt/openwrt/commit/349e7b635ea819ad34a571bc0adcce9b205df4e9
[2] https://github.com/openwrt/openwrt/commit/2d7eaf2e15aa77bcf526b7ea9747732b35194b2e
[3] https://github.com/openwrt/openwrt/commit/064e7c8f00ebc1721553c0fcb312f809b00e179a
[4] https://github.com/openwrt/openwrt/commit/2cb75cd8b9d451bde0cfffce80fa67d58944c44b
[5] https://github.com/openwrt/openwrt/commit/e32edf712b7c43e25b4bec40fedfd948a0ed5bd6

Fixes: #19040
Fixes: 46e376c ("uboot-tools: migrate uboot-envtools to uboot-tools")
Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19180
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agorealtek: overwrite c22 polling unconditionally on RTL930x
Markus Stockhausen [Tue, 17 Jun 2025 07:43:36 +0000 (03:43 -0400)]
realtek: overwrite c22 polling unconditionally on RTL930x

During setup the mdio driver decides the polling mode of the 4 smi
busses depending on the DTS phy settings. This works as follows:

- set polling to c45 if at least one phy is ethernet-phy-ieee802.3-c45
- set polling to c22 if all phys are ethernet-phy-ieee802.3-c22

On RTL930x it is not possible to switch to c22 if uboot has set c45
before. Fix this by overwriting the bitfield properly. While we are
here:

- Sort variables according to kernel style (inverse christmas tree)
- Initialize fields properly with  = { 0 }
- Use GENMASK() for better readability
- Make use of RTMDIO_MAX_SMI_BUS

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19161
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 days agowifi-scripts: fix another regression in the ucode auth_type changes
Felix Fietkau [Wed, 25 Jun 2025 11:25:57 +0000 (13:25 +0200)]
wifi-scripts: fix another regression in the ucode auth_type changes

Clear the right variable
Handle psk2 explicitly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
10 days agowifi-scripts: fix corner case in RSN override support
Felix Fietkau [Wed, 25 Jun 2025 08:48:34 +0000 (10:48 +0200)]
wifi-scripts: fix corner case in RSN override support

When used, all relevant parameters need to be set

Signed-off-by: Felix Fietkau <nbd@nbd.name>
10 days agoqualcommbe: ipq95xx: add 8devices Kiwi-DVK support
Mantas Pucka [Tue, 18 Mar 2025 08:23:55 +0000 (10:23 +0200)]
qualcommbe: ipq95xx: add 8devices Kiwi-DVK support

Specifications:
  SoC:     Qualcomm IPQ9570
  RAM:     1 GiB DDR4
  Flash:   4 GiB eMMC
  ETH1:    2.5G Maxlinear GPY211C (48V POE-in)
  ETH2:    10G Realtek RTL8261N
  SFP:     10G SFP+ cage
  WLAN1:   QCN9274 2.4GHz 802.11b/g/n/ax/be 2x2
  WLAN2:   QCN9274 5-6GHz 802.11a/n/ac/ax/be 2x2
  PCIE0:   Gen3x1 mPCIe or M.2(B+M)
  PCIE1:   Gen3x1 M.2(A+E) or M.2(B+M)
  PCIE2:   Gen3x2 M.2(A+E)
  USB:     1x 3.0
  Console: USB-C via FTDI
  Button:  Reset

Install using sysupgrade:

  sysupgrade openwrt-qualcommbe-ipq95xx-8devices_kiwi-dvk-squashfs-sysupgrade.bin

Install using U-Boot:

 * Put factory.bin at TFTP server(192.168.2.254) as fwupdate.bin
 * Run 'run do_recovery' in U-Boot shell

Signed-off-by: Mantas Pucka <mantas@8devices.com>
Link: https://github.com/openwrt/openwrt/pull/18435
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoqualcommbe: package PPE and PCS drivers as kmods
Mantas Pucka [Tue, 3 Jun 2025 12:20:39 +0000 (15:20 +0300)]
qualcommbe: package PPE and PCS drivers as kmods

This will allow more flexibility in using PHY drivers as kmods.

Signed-off-by: Mantas Pucka <mantas@8devices.com>
Link: https://github.com/openwrt/openwrt/pull/18435
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agokernel: modules: support Maxlinear GPHY
Alexandru Gagniuc [Thu, 15 May 2025 04:51:59 +0000 (23:51 -0500)]
kernel: modules: support Maxlinear GPHY

Add support for Maxlinear GPHY module. Also add support for
kmod-polynomial, which is a dependency for this module.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18435
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoqualcommbe: add PCS driver fixes
Mantas Pucka [Thu, 5 Jun 2025 07:41:20 +0000 (10:41 +0300)]
qualcommbe: add PCS driver fixes

After update to v6.12 some PCS driver fixes were dropped and additional
are needed due to updated driver.

Signed-off-by: Mantas Pucka <mantas@8devices.com>
Link: https://github.com/openwrt/openwrt/pull/18435
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoqualcommbe: v6.12: update PCS patches to use .pcs_validate()
Alexandru Gagniuc [Wed, 4 Jun 2025 17:51:18 +0000 (12:51 -0500)]
qualcommbe: v6.12: update PCS patches to use .pcs_validate()

The original PCS driver did not use the .pcs_validate() in
phylink_pcs_ops. The patches for 1000/2500base-x and 10g modes were
taken from this old driver, and thus did not bother with
.pcs_validate(). Thus, even though these modes are supported, phylink
would not enable them.

To fix these, list these modes in .pcs_validate(). Also list them in
ipq_pcs_clk_rate_get(). While the latter does not appear to change
behavior, it does change the clock rates listed under
/sys/kernel/debug/clk

Co-developed-by: Mantas Pucka <mantas@8devices.com>
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18435
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoqualcommbe: v6.12: drop upstreamed patch
Mantas Pucka [Wed, 25 Jun 2025 07:49:47 +0000 (10:49 +0300)]
qualcommbe: v6.12: drop upstreamed patch

0102-arm64-dts-qcom-ipq9574-Fix-USB-vdd-info.patch was merged in 6.12.34
Other patches automatically refreshed.

Fixes: cb1b65602712 ("kernel: bump 6.12 to 6.12.34")
Signed-off-by: Mantas Pucka <mantas@8devices.com>
Link: https://github.com/openwrt/openwrt/pull/19232
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agoipq806x: add support for IgniteNet SunSpot AC Wave2
Daniel Golle [Tue, 10 Jun 2025 16:51:32 +0000 (18:51 +0200)]
ipq806x: add support for IgniteNet SunSpot AC Wave2

The IgniteNet SS-W2-AC2600 is an 802.11ac outdoor (IP-55) access point.
FCC ID: HEDSSW2AC2600

Specification:
 - Qualcomm dual-core IPQ8068 @ 1.4 GHz
 - 256 MB of DDR3L RAM (2x Winbond W631GU6KB-12)
 - 16 MB of SPI NOR (Winbond W25Q128FW)
 - 128 MB of NAND (Macronix MX30UF1G18AC)
 - Qualcomm QCA9994 2.4GHz 802.11bgn
 - Qualcomm QCA9994 5GHz 802.11ac
 - 2 x 10/100/1000 Mbit/s Ethernet
 - 115200, 8N1 RS-232 console (unpopulated RJ-45)
 - Reset button
 - Power and WLAN LEDs
 - Powered via 802.3at PoE or 12V 2A barrel connector

Tested-by: Elektra Wagenrad <onelektra@gmx.net>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
10 days agouboot-tools: envtools: ipq806x: add env for IgniteNet SS-W2-AC2600
Daniel Golle [Tue, 10 Jun 2025 21:56:47 +0000 (23:56 +0200)]
uboot-tools: envtools: ipq806x: add env for IgniteNet SS-W2-AC2600

The IgniteNet SunSpot AC Wave2 uses the standard smem-assigned partition
for its bootloader environment.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
10 days agouboot-tools: envtools: ipq806x: ignore case of partition name
Daniel Golle [Wed, 11 Jun 2025 10:14:41 +0000 (12:14 +0200)]
uboot-tools: envtools: ipq806x: ignore case of partition name

The qcomsmem MTD partition parser converts all partition names to
lower case while the vendor solution uses upper case names, which
often made their way into OpenWrt as labels in 'fixed-partitions'
(probably due to contributors and reviewers being unaware of the
qcomsmem parsers).

Use case-insensitive matching of the 'APPSBLENV' name to make
ubootenv_mtdinfo() work in both cases.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
10 days agoipq-wifi: add BDF for IgniteNet SS-W2-AC2600
Daniel Golle [Tue, 10 Jun 2025 16:51:14 +0000 (18:51 +0200)]
ipq-wifi: add BDF for IgniteNet SS-W2-AC2600

The IgniteNet SunSpot AC Wave2 comes with 2x QCA9994 ath10k chips
connected to the IPQ8068 SoC via PCIe.
Add board-2.bin for both radios on this board.

 3ac4a64 qca9984: add BDFs for IgniteNet SS-W2-AC2600

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
10 days agoscripts: make-index-json: rework for old Python versions
Eric Fahlgren [Mon, 23 Jun 2025 22:50:23 +0000 (15:50 -0700)]
scripts: make-index-json: rework for old Python versions

The current code uses functions and features only found in newer
versions of Python, so rework to allow use on systems only supporting
older Python.  Tested on Python 3.8 (released Oct 2019), but should
work on 3.7 also.

Suggested-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
10 days agoci: add missing permission to add comments
Paul Spooren [Tue, 24 Jun 2025 14:29:05 +0000 (16:29 +0200)]
ci: add missing permission to add comments

While this worked during testing, the repository of a organization requires
extra permissions. Add write access to pull requests, like we do over at
packages.git.

Signed-off-by: Paul Spooren <mail@aparcar.org>
10 days agoci: add bot to build on comment
Paul Spooren [Tue, 24 Jun 2025 08:28:38 +0000 (10:28 +0200)]
ci: add bot to build on comment

This has been requested many times, so let's add this to speed up reviews. When
a member of the "reviewers" group comments the magic word written below, that
specific firmware is created and attached by a bot.

    build <target>/<subtarget>/<profile>

Members of the "reviewers" group have no extra privileges, they can not commit
to the repository nor perform any action outside the `build-on-comment` action.

Motivation is to speedup reviews and have a better source for sharing compiled
firmware.

Signed-off-by: Paul Spooren <mail@aparcar.org>
10 days agowifi-scripts: add support for RSN overide and use it for improved WPA3 compat
Felix Fietkau [Tue, 24 Jun 2025 13:04:17 +0000 (15:04 +0200)]
wifi-scripts: add support for RSN overide and use it for improved WPA3 compat

Override via RSNE is a relatively new feature, which can be used to enable
WPA3 features in a way that is invisible to older clients.
Use it by default to mask the GCMP-256 cipher from older clients, since
there are compatibility issues with existing devices.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
10 days agoqualcommax: ipq60xx: WAX610 remove unmountable oem partitions on upgrade
Erik Servili [Mon, 23 Jun 2025 17:18:31 +0000 (19:18 +0200)]
qualcommax: ipq60xx: WAX610 remove unmountable oem partitions on upgrade

When using TFTP install method on a fresh unit, wifi_fw and ubi_rootfs UBI volumes must be removed or will hang when mounting.

Signed-off-by: Erik Servili <serverror@serverror.com>
Link: https://github.com/openwrt/openwrt/pull/19215
Signed-off-by: Robert Marko <robimarko@gmail.com>
11 days agotoolchain/wrapper: add missing qstrip to info.mk export
Ondrej Cierny [Fri, 20 Jun 2025 21:43:00 +0000 (14:43 -0700)]
toolchain/wrapper: add missing qstrip to info.mk export

When using an external toolchain, the SetToolchainInfo function
is missing a qstrip call on GCC_VERSION, which results in quotes
making it to the toolchain info.mk file.

This leads to a failure to build the libgcc ipk package because
the quotes make it to its version and filename. For some reason,
it only fails on the first make invocation, but succeeds on
subsequent ones on my setup.

Fix this issue by adding the qstrip, making it consistent with
the internal toolchain approach.

Signed-off-by: Ondrej Cierny <o.cierny@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19192
Signed-off-by: Robert Marko <robimarko@gmail.com>
11 days agoimx: venice: disable PCI AER
Tim Harvey [Thu, 19 Jun 2025 21:34:34 +0000 (14:34 -0700)]
imx: venice: disable PCI AER

As a workaround to an issue causing hang during PCI enumeration on
imx8mp with a specific PCIe switch, disable PCI AER.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19189
Signed-off-by: Robert Marko <robimarko@gmail.com>
11 days agoimx: venice: add dt overlay support
Tim Harvey [Thu, 19 Jun 2025 21:32:11 +0000 (14:32 -0700)]
imx: venice: add dt overlay support

Enable DT overlay support:
 - add dt-overlay to board features
 - add DEVICE_DTS_OVERLAYS
 - update the boot script to resize before applying each overlay

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19189
Signed-off-by: Robert Marko <robimarko@gmail.com>
11 days agoimx: 6-12: add additional patches
Tim Harvey [Thu, 19 Jun 2025 23:11:44 +0000 (16:11 -0700)]
imx: 6-12: add additional patches

Backport some additional upstream patches:
 - 6.13-arm64-dts-imx8mm-venice-gw73xx-remove-compatible-in-overlay-files.patch
   (this resolves some issues when using dt overlays on gw73xx-0x)
 - 6.16-PCI-imx6-Skip-link-up-workaround-for-newer-platforms.patch
 - pending-PCI-imx6-Remove-apps_reset-toggle-in-_core_reset-function
   (these resolve enumeration issues on imx8mm/imx8mp with a pcie switch)

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19189
Signed-off-by: Robert Marko <robimarko@gmail.com>
11 days agohostapd: preserve vif radio mask for extra bss interfaces
Felix Fietkau [Mon, 23 Jun 2025 09:21:48 +0000 (11:21 +0200)]
hostapd: preserve vif radio mask for extra bss interfaces

Fixes status information and scanning on extra BSS interfaces when operating
on multi-radio devices.

Reported-by: Chad Monroe <chad.monroe@adtran.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 days agolibcrypt-compat: introduce package
Konstantin Demin [Mon, 16 Jun 2025 23:51:20 +0000 (02:51 +0300)]
libcrypt-compat: introduce package

glibc 2.39 has removed libcrypt completely.
solution: build libxcrypt with glibc compatibility.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19160
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agobase-files: handle packages alternatives when apk removes packages
Mario Andrés Pérez [Thu, 12 Jun 2025 13:49:59 +0000 (15:49 +0200)]
base-files: handle packages alternatives when apk removes packages

On commit 3010ab8 ("base-files: add update_alternatives function") was
implemented the function to handle ALTERNATIVES when using APK (OPKG
handle it internally) but in commit bcc6415 ("base-files: add
compatibility for APK and OPKG") was only called when adding a package,
so call it also when removing packages.

While we are here, check for a more specific *.alternatives files instead
of *.list, and remove redundant "filelist" variable definition.

Fixes: bcc6415 ("base-files: add compatibility for APK and OPKG")
Fixes: https://github.com/openwrt/openwrt/issues/19090
Fixes: https://github.com/openwrt/openwrt/issues/16991
Reported-and-tested-by: Eric Fahlgren <ericfahlgren@gmail.com>
Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19093
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorpcd: update to Git HEAD (2025-06-22)
Eric Fahlgren [Sun, 22 Jun 2025 14:02:35 +0000 (07:02 -0700)]
rpcd: update to Git HEAD (2025-06-22)

9389775ceb47 rpc-sys: update packagelist call to handle apk abiversion tag
ed0d01e4360b file: linkstat to get link stat info

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19211
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agoramips: mt76x8: add support for Keenetic 4G (KN-1212)
Anton Yu. Ivanusev [Mon, 16 Jun 2025 22:23:40 +0000 (03:23 +0500)]
ramips: mt76x8: add support for Keenetic 4G (KN-1212)

Specification:
SoC: MediaTek MT7628NN
RAM: 128 MB, EtronTech EM68C16CWQG-25H (DDR2)
Flash: 32MB, Winbond 25Q256JVFQ (Dual Boot, SPI)
Switch: MediaTek MT7628AN, 4 ports 100 Mbps
WiFi: MediaTek MT7603 2T2R/2.4GHz 802.11n
GPIO: 3 buttons (Wi-Fi, Reset, FN), 3 LEDs (Power, Internet, Wi-Fi), 1 port USB 2.0

Disassembly:
At the bottom, under the LEDs, there are 2 screws hidden by rubber feet. After removing the screws, pry the gray plastic part around (it is secured with latches) and remove it.

Serial Interface:
The serial interface can be connected to the 5 pin dots located on the right between the operating mode switch and the antenna.
Pins (from antenna to operating mode switch):
VCC
TX
RX
NC
GND
Settings: 115200, 8N1

Flashing via OEM recovery software:
1. Download the OEM recovery software from the manufacturer's website
2. Download the firmware image (for OpenWRT it is *-squashfs-factory.bin), rename it to KN-1212_recovery.bin
3. Replace the file in the fw folder OEM recovery software with the file from step 2.
4. Run the OEM recovery software and follow the instructions.

Flashing via TFTP:
1. Connect your PC and router to port 1-3, configure PC interface using IP 192.168.1.2, mask 255.255.255.252
2. Serve the firmware image (for OpenWRT it is *-squashfs-factory.bin) renamed to KN-1212_recovery.bin via TFTP
3. Power up the router while pressing Reset button on the back
4. Release Restart button when Power LED starts blinking

To revert back to OEM firmware:
The return to the OEM firmware is carried out by using the methods described above with the help of the appropriate firmware image.

When using OEM bootloader, the firmware image size cannot exceed the size of one OEM «Firmware_x» partition or Kernel + rootFS size.

Signed-off-by: Anton Yu. Ivanusev <ivanusevanton@yandex.ru>
Link: https://github.com/openwrt/openwrt/pull/19157
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agorealtek: Use Otto timer on RTL931x
Markus Stockhausen [Sun, 22 Jun 2025 07:53:08 +0000 (03:53 -0400)]
realtek: Use Otto timer on RTL931x

Until now the timer management on the RTL931x devices depends
on the MIPS default timer. Looking at the clock progress on
these devices one can see that it is totally off. It is running
at half the required speed (e.g. if 1 minute passes the date
command shows that according to the timers only 30 seconds have
elapsed). This is a mix from wrong DTS and bad startup code.

This is not only a cosmetic issue but has effects on every
delay operation inside the kernel. Switch RTL931x to the proven
Otto timer.

Tested on LGS352C based on RTL9311.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19205
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: build Otto timer for RTL931x
Markus Stockhausen [Sun, 22 Jun 2025 07:51:51 +0000 (03:51 -0400)]
realtek: build Otto timer for RTL931x

The Otto timer is very helpful on the RTL931x devices.
Include it into the builds.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19205
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: backport MIPS GIC patch
Markus Stockhausen [Sun, 22 Jun 2025 07:49:29 +0000 (03:49 -0400)]
realtek: backport MIPS GIC patch

Upstream has gained support for forced affinity settings in the MIPS
GIC interrupt controller. This is needed to enable the Otto timer on
the RTL931x platform. See

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/
commit/?id=2250db8628a0d8293ad2e0671138b848a185fba1

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19205
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agomt76: Change CRLF to LF in patch 002
Mieczyslaw Nalewaj [Thu, 19 Jun 2025 20:26:45 +0000 (22:26 +0200)]
mt76: Change CRLF to LF in patch 002

Change CRLF to LF in patch 002-wifi-mt76-replace-strlcpy-with-strscpy.patch

Fixes: 225622e0f9fb ("mt76: replace strlcpy with strscpy")
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/19185
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agomvebu: add support for Check Point V-81
INAGAKI Hiroshi [Sun, 7 Apr 2024 02:53:17 +0000 (11:53 +0900)]
mvebu: add support for Check Point V-81

Check Point V-80 (Quantum Spark 1590 Appliance) is an Appliance, based
on Armada 8040 (88F8040).

Specification:

- SoC             : Marvell Armada 8040 (88F8040)
- RAM             : DDR4 2 GiB (4x 512 MiB chip)
- Flash           : eMMC 4 GiB
- Ethernet        : 10x 10/100/1000 Mbps
  - LAN 1-8       : Marvell 88E6393X
  - WAN           : Marvell 88E1512
  - DMZ           : Marvell 88E1512 (RJ-45/SFP combo)
- LEDs/Keys (GPIO): 11x/1x
- UART            : "CONSOLE" port (USB 1.1 Type-C)
  - chip          : Silicon Labs CP2102N
  - port          : ttyS0
  - settings      : 115200bps 8n1
- HW Monitoring   : 2x nuvoTon NCT7802Y
- USB             : USB 3.0 Type-A
- Power           : 12 VDC, 3.3 A
  - plug          : DC Plug 2.5/5.5 mm (inner/outer)

Flash instruction (common):

1. Boot V-81 normally
2. Login to the vendor CLI (default: admin/admin) and login to the Linux
   CLI by `expert` command
3. Update U-Boot environment variables by the following commands

   fw_setenv bootcmd_ow_usb 'usb start; load usb 0:1 ${loadaddr} boot.scr && source ${loadaddr}'
   fw_setenv bootcmd_ow_sd 'load mmc 0:1 ${loadaddr} boot.scr && source ${loadaddr}'
   fw_setenv bootcmd_ow_emmc 'run set_mmc_internal; mmc read ${loadaddr} ${prim_header_mmc_blk} 4 && source ${loadaddr}'
   fw_setenv bootcmd 'run bootcmd_ow_usb; run bootcmd_ow_sd; run bootcmd_ow_emmc; run bootcmd_part${activePartition};'

   Attention: don't forget single quatations of values to prevent
              expansion of variables

4. Turn off the device

Flash instruction (USB-boot/SD-boot):

1. Extract and burn (squashfs|ext4)-sdcard.img.gz to USB storage or
   MicroSD card
2. Connect that storage to V-81
3. Turn on V-81 and it will be booted with OpenWrt in that USB storage

Flash instruction (eMMC-boot):

1. Copy initramfs image, dtb and bootsctipt to the USB storage with
   renaming

   initramfs.bin -------> Image
   dtb -----------------> armada-8040-v-81.dtb
   bootscript (.scr) ---> boot.scr

2. Connect that storage to the USB 3.0 port on V-81
3. Turn on V-81 and it will be booted with OpenWrt initramfs image in
   that USB storage
4. Upload (squashfs|ext4)-sysupgrade.gz to V-81
5. Perform sysupgrade with the uploaded image
6. Wait ~100 seconds to complete flashing

Reverting to stock firmware:

1. Turn on V-81 and interrupt booting by Ctrl + C
2. Select "4. Restore to Factory Defaults (local)"
3. Wait ~180 seconds to complete restoring and rebooting

Notes:

- The partition table in the internal eMMC has single partition, but
  "blkdevparts=" parameter will be passed from the bootloader and that
  definition will be used instead.

- The port-side LED pairs of RJ-45/SFP ports on V-81 are switched by a
  GPIO pin of pin7 on &cp0_gpio2. (High(1): RJ-45, Low(0): SFP)
  This needs to be switched manually.

- The MicroSD card slot is too unstable and the following messages are
  printed without "marvell,xenon-phy-slow-mode;" property.

  [   97.060851] mmc0: error -84 whilst initialising SD card
  [   97.137049] mmc0: error -84 whilst initialising SD card
  [   97.214315] mmc0: error -84 whilst initialising SD card
  ...

- There are no detailed information about maximum power consumption
  limit of the SFP port or optional DSL-SFP modules sold officially.
  But the power requirement of almost DSL-SFP modules are 3.3V/700mA, so
  set the maximum value of the SFP port to 2000 mW (Power Level III).

- Do not insert a MicroSD card before turning of the device when OpenWrt
  installation. The stock firmware deletes all files in the first
  partition automatically, to use it as a storage for logs.

MAC addresses:

LAN: 00:1C:7F:xx:xx:FA (mmcblk1boot0, ethaddr  (text))
WAN: 00:1C:7F:xx:xx:F9 (mmcblk1boot0, eth2addr (text))
DMZ: 00:1C:7F:xx:xx:FB (mmcblk1boot0, eth1addr (text))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agouboot-envtools: add support for Check Point V-81
INAGAKI Hiroshi [Mon, 8 Apr 2024 04:46:03 +0000 (13:46 +0900)]
uboot-envtools: add support for Check Point V-81

Add support for Check Point V-81 to add/edit bootcmd variables for
booting OpenWrt.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agomvebu: add support for Check Point V-80
INAGAKI Hiroshi [Sun, 7 Apr 2024 02:53:17 +0000 (11:53 +0900)]
mvebu: add support for Check Point V-80

Check Point V-80 (Quantum Spark 1550 Appliance) is an Appliance, based
on Armada 7040 (88F7040).

Specification:

- SoC             : Marvell Armada 7040 (88F7040)
- RAM             : DDR4 2 GiB (4x Nanya NT5AD512M8D3-HR)
- Flash           : eMMC 4 GiB (Toshiba THGBMNG5D1LBAIL)
- Ethernet        : 6x 10/100/1000 Mbps
  - LAN 1-5       : Marvell 88E6352
  - WAN           : Marvell 88E1512
- LEDs/Keys (GPIO): 6x/1x
- UART            : "CONSOLE" port (USB 1.1 Type-C)
  - chip          : Silicon Labs CP2102N
  - port          : ttyS0
  - settings      : 115200bps 8n1
- HW Monitoring   : 2x nuvoTon NCT7802Y
- USB             : USB 3.0 Type-A
- Power           : 12 VDC, 3.3 A
  - plug          : DC Plug 2.5/5.5 mm (inner/outer)

Flash instruction (common):

1. Boot V-80 normally
2. Login to the vendor CLI (default: admin/admin) and login to the Linux
   CLI by `expert` command
3. Update U-Boot environment variables by the following commands

   fw_setenv bootcmd_ow_usb 'usb start; load usb 0:1 ${loadaddr} boot.scr && source ${loadaddr}'
   fw_setenv bootcmd_ow_emmc 'run set_mmc_internal; mmc read ${loadaddr} ${prim_header_mmc_blk} 4 && source ${loadaddr}'
   fw_setenv bootcmd 'run bootcmd_ow_usb; run bootcmd_ow_emmc; run bootcmd_part${activePartition};'

   Attention: don't forget single quatations of values to prevent
              expansion of each variables

4. Turn off the device

Flash instruction (USB-boot):

1. Burn (squashfs|ext4)-sdcard.img.gz to USB storage
2. Connect that storage to the USB 3.0 port on V-80
3. Turn on V-80 and it will be booted with OpenWrt in that USB storage

Flash instruction (eMMC-boot):

1. Copy initramfs image, dtb and bootsctipt to the USB storage with
   renaming

   initramfs.bin -------> Image
   dtb -----------------> armada-7040-v-80.dtb
   bootscript (.scr) ---> boot.scr

2. Connect that storage to the USB 3.0 port on V-80
3. Turn on V-80 and it will be booted with OpenWrt initramfs image in
   that USB storage
4. Upload (squashfs|ext4)-sysupgrade.gz to V-80
5. Perform sysupgrade with the uploaded image
6. Wait ~100 seconds to complete flashing

Reverting to stock firmware:

1. Turn on V-80 and interrupt booting by Ctrl + C
2. Select "4. Restore to Factory Defaults (local)"
3. Wait ~180 seconds to complete restoring and rebooting

Notes:

- V-80 has some HW versions. Internal MicroSD card slot and mPCIe slot
  is available on some HW versions, but not on the other HW versions.

  confirmed (MicroSD/mPCIe slots):

  - 1.0.1: unavailable
  - 1.0.3: available

- The partition table in the internal eMMC has single partition, but
  "blkdevparts=" parameter will be passed from the bootloader and that
  definition will be used instead.

MAC addresses:

LAN: 00:1C:7F:xx:xx:4B (mmcblk1boot0, ethaddr (text))
WAN: 00:1C:7F:xx:xx:4A (mmcblk1boot0, eth1addr (text))

Tested-by: Yanase Yuki <dev@zpc.st>
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agouboot-envtools: add support for Check Point V-80
INAGAKI Hiroshi [Mon, 8 Apr 2024 04:46:03 +0000 (13:46 +0900)]
uboot-envtools: add support for Check Point V-80

Add support for Check Point V-80 to add/edit bootcmd variables for
booting OpenWrt.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agomvebu: add specific signature support to Build/boot-scr
INAGAKI Hiroshi [Sun, 7 Apr 2024 00:38:35 +0000 (09:38 +0900)]
mvebu: add specific signature support to Build/boot-scr

Add image-specific signature support to Build/boot-scr.
This is required to switch root devices passed to the kernel on Check
Point V-80 and V-81.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agomvebu: cortexa72: enable emmc feature
INAGAKI Hiroshi [Mon, 8 Apr 2024 14:21:44 +0000 (23:21 +0900)]
mvebu: cortexa72: enable emmc feature

Enable "emmc" feature to use the emmc helpers on sysupgrade.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agomvebu: cortexa72: enable CONFIG_CMDLINE_PARTITION for blkdevparts
INAGAKI Hiroshi [Sun, 7 Apr 2024 09:52:39 +0000 (18:52 +0900)]
mvebu: cortexa72: enable CONFIG_CMDLINE_PARTITION for blkdevparts

Enable CONFIG_CMDLINE_PARTITION symbol to use "blkdevparts=" parameter
support on Check Point V-80.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agobuild: add dtb support for sysupgrade-tar
INAGAKI Hiroshi [Mon, 8 Apr 2024 06:25:15 +0000 (15:25 +0900)]
build: add dtb support for sysupgrade-tar

Add dtb support for Build/sysupgrade-tar definition and
sysupgrade-tar.sh script.
This changes are required for updating dtb separately.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agobase-files: add dtb support to emmc_upgrade_tar()
INAGAKI Hiroshi [Mon, 8 Apr 2024 11:24:47 +0000 (20:24 +0900)]
base-files: add dtb support to emmc_upgrade_tar()

Add dtb support for emmc_upgrade_tar() to update dtb separately.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agobase-files: add gzip-compressed tar support to emmc_upgrade_tar()
INAGAKI Hiroshi [Sun, 4 Aug 2024 09:14:43 +0000 (18:14 +0900)]
base-files: add gzip-compressed tar support to emmc_upgrade_tar()

Add support for the tar archive compressed by gzip to emmc_upgrade_tar()
function.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agobase-files: ignore initscript output in sysupgrade
Niall McGee [Fri, 30 May 2025 21:55:35 +0000 (22:55 +0100)]
base-files: ignore initscript output in sysupgrade

Suppress output from `/etc/init.d/service enabled` to avoid corrupting
of the sysupgrade tarball.

Fixes: 0ad062a21b ("base-files: sysupgrade: add uci-defaults script disabling services #2")
Signed-off-by: Niall McGee <niall.mcgee@bt.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
12 days agox86: config-6.12: enable RAPL interface
John Audia [Sat, 15 Mar 2025 14:54:53 +0000 (10:54 -0400)]
x86: config-6.12: enable RAPL interface

Expose the sysfs interface to userspace tools for power monitoring.
Useful for tracking energy usage in CPU package, cores, DRAM, etc.

Build system: x86/64
Build-tested: x86/64
Run-tested: x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18255
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agomediatek: Ruijie RG-X60 Pro: Fix LAN port status light
jinkela air [Sun, 22 Jun 2025 02:13:56 +0000 (10:13 +0800)]
mediatek: Ruijie RG-X60 Pro: Fix LAN port status light

Fix the status indicator light of the LAN port.

Signed-off-by: jinkela air <air_jinkela@163.com>
Link: https://github.com/openwrt/openwrt/pull/19135
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agomediatek: add support for Cudy TR3000 256MB v1 flash version
cheng wang [Sun, 22 Jun 2025 00:44:30 +0000 (08:44 +0800)]
mediatek: add support for Cudy TR3000  256MB  v1 flash version

This device is similar to the Cudy TR3000 v1 128MB version.
The difference is that the flash memory is 128mb and the other is 256mb

Hardware:
 - SoC: MediaTek MT7981B
 - CPU: 2x 1.3 GHz Cortex-A53
 - Flash: 256 MiB SPI NAND
 - RAM: 512 MiB
 - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN, 802.11ax)
 - Ethernet: 1x 10/100/1000/2500 Mbps RTL8221B WAN, 1x10/100/1000 Mbps MT7981 LAN
 - USB 3.0 port
 - Buttons: 1 Reset button, 1 slider button
 - LEDs: 1x Red, 1x White
 - Power: 5 VDC, 3 A

Installation:
Cudy has distributed intermediate firmware to make installation easier
1. Go to [Cudy CN official website](https://www.cudy.com/zh-cn/pages/download-center/tr3000-1-0) and download the intermediate firmware
2. Upgrade the intermediate firmware on the page
3. Visit the intermediate firmware 192.168.1.1 webpage and use the sysupgrade image to update

other:
If you fail to flash the device, you can use TFTP to flash back to the original firmware.
1. Ask Cudy CN official customer service for the original firmware
2. With the router off, press the RESET button. While the router is turning on, the button should continue to be pressed for at least 5 seconds.
3. A u-boot shell will automatically open.
4. Connect to LAN and set your IP to 192.168.1.88/24. Configure a TFTP server and an recovery.bin firmware file.

Signed-off-by: cheng wang <typedelta@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19167
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agoomnia-eeprom: simplify Makefile
Josef Schlehofer [Wed, 11 Jun 2025 20:56:54 +0000 (22:56 +0200)]
omnia-eeprom: simplify Makefile

1. No need to explicitly call the defaults
2. There is efficient way how to set PKG_BUILD_DIR,
which allows to drop PKG_SOURCE_DIR.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19105
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agorealtek: remove patches, files and config for 6.6
Jonas Jelonek [Sun, 22 Jun 2025 09:48:01 +0000 (09:48 +0000)]
realtek: remove patches, files and config for 6.6

Remove all files etc. for 6.6 because 6.12 is default now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19139
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: switch to 6.12 as default
Jonas Jelonek [Sat, 14 Jun 2025 21:49:22 +0000 (21:49 +0000)]
realtek: switch to 6.12 as default

Use Linux 6.12 as default for all subtargets.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19139
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for Zyxel XGS1210-12
Markus Stockhausen [Tue, 17 Jun 2025 05:43:55 +0000 (01:43 -0400)]
realtek: make use of serdes helper for Zyxel XGS1210-12

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. For
this device it is only a substitution of the existing DTS configuration.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for Zyxel XGS1250-12
Markus Stockhausen [Tue, 17 Jun 2025 05:42:16 +0000 (01:42 -0400)]
realtek: make use of serdes helper for Zyxel XGS1250-12

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. For
this device it is only a substitution of the existing DTS configuration.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for TP-Link TL-ST1008F v2.0
Markus Stockhausen [Tue, 17 Jun 2025 05:38:27 +0000 (01:38 -0400)]
realtek: make use of serdes helper for TP-Link TL-ST1008F v2.0

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. For
this device it is only a substitution of the existing DTS configuration.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for XIKESTOR SKS8300-8X
Markus Stockhausen [Tue, 20 May 2025 08:10:17 +0000 (04:10 -0400)]
realtek: make use of serdes helper for XIKESTOR SKS8300-8X

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. For
this device it is only a substitution of the existing DTS configuration.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for Zyxel GS1900-24(HP) v1/v2
Markus Stockhausen [Tue, 20 May 2025 08:09:19 +0000 (04:09 -0400)]
realtek: make use of serdes helper for Zyxel GS1900-24(HP) v1/v2

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for D-Link DGS-1210-26
Markus Stockhausen [Tue, 20 May 2025 08:07:05 +0000 (04:07 -0400)]
realtek: make use of serdes helper for D-Link DGS-1210-26

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for D-Link DGS-1210-10P
Markus Stockhausen [Tue, 20 May 2025 08:06:32 +0000 (04:06 -0400)]
realtek: make use of serdes helper for D-Link DGS-1210-10P

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for Zyxel GS1900-10HP
Markus Stockhausen [Tue, 20 May 2025 08:06:10 +0000 (04:06 -0400)]
realtek: make use of serdes helper for Zyxel GS1900-10HP

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for TP-Link SG2xxx
Markus Stockhausen [Tue, 20 May 2025 08:05:43 +0000 (04:05 -0400)]
realtek: make use of serdes helper for TP-Link SG2xxx

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for Panasonic M8EG PN28080K
Markus Stockhausen [Tue, 20 May 2025 08:04:44 +0000 (04:04 -0400)]
realtek: make use of serdes helper for Panasonic M8EG PN28080K

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for Netgear GS310TP v1
Markus Stockhausen [Tue, 20 May 2025 07:55:52 +0000 (03:55 -0400)]
realtek: make use of serdes helper for Netgear GS310TP v1

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

REMARK! The original commit c829bc1f2c3c47e2 ("realtek: Add support for
Netgear S350 series switches GS308T and GS310TP") says that the SFP
ports are untested. Looking at device internal pictures from
https://techinfodepot.shoutwiki.com/wiki/Netgear_GS310TP there are no
external phys for the SFP ports. So fix port description.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for HPE 1920 8G
Markus Stockhausen [Tue, 20 May 2025 07:55:12 +0000 (03:55 -0400)]
realtek: make use of serdes helper for HPE 1920 8G

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for Engenius EWS2910P
Markus Stockhausen [Tue, 20 May 2025 07:54:26 +0000 (03:54 -0400)]
realtek: make use of serdes helper for Engenius EWS2910P

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for D-Link DGS-1210-10MP
Markus Stockhausen [Tue, 20 May 2025 07:51:44 +0000 (03:51 -0400)]
realtek: make use of serdes helper for D-Link DGS-1210-10MP

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: make use of serdes helper for Linksys LGS310C
Markus Stockhausen [Tue, 20 May 2025 07:46:04 +0000 (03:46 -0400)]
realtek: make use of serdes helper for Linksys LGS310C

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agorealtek: add dts helper for internal phy with serdes
Markus Stockhausen [Tue, 20 May 2025 07:37:10 +0000 (03:37 -0400)]
realtek: add dts helper for internal phy with serdes

Until now only the RTL930x devices make use of the following notation.

  phy8: ethernet-phy@8 {
    compatible = "ethernet-phy-ieee802.3-c22";
    phy-is-integrated;
    reg = <8>;
    sds = <3>;
  };

This indicates that the link is driven by a serdes directly without
external phy. As the devices have multiple serdes it must be clarified
what serdes is responsible for that port.

Nevertheless all other devices have the same requirements. E.g. RTL838x
usually drives port 24 from serdes 4 and port 26 from serdes 5. All this
currently works because the driver has a lot of hardcoded port/serdes
mapping.

Make the situation better by adding dts helpers that can describe the
topology as needed.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agokernel: Fix IPv6 UDP fragmentation regression
Hauke Mehrtens [Sat, 21 Jun 2025 17:17:46 +0000 (19:17 +0200)]
kernel: Fix IPv6 UDP fragmentation regression

Fixes a IPv6 UDP fragmentation regression introduced in v6.6.93.

Fixes: https://github.com/openwrt/openwrt/issues/19198
Link: https://github.com/openwrt/openwrt/pull/19199
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 days agopackage: include abiversion tag in package metadata
Eric Fahlgren [Mon, 9 Jun 2025 23:59:13 +0000 (16:59 -0700)]
package: include abiversion tag in package metadata

OpenWrt library packages are often named using their ABI version,
for example 'libubus20250102'.  Updates that cause the ABI version
to change result in changes to the package name.  This makes it
impossible for downstream tools to determine when a package update
is available without further information.

The opkg package manager stores the ABI version as part of its
package metadata in the ABIVersion field.  This makes extraction
of the canonical name of the package possible, allowing various
versions of a package to be associated with one another, their
versions or build dates compared.

We add a custom tag 'openwrt:abiversion=<ABI version>' to the
apk v3 package metadata, restoring the status quo and making it
functionally backwards compatible with opkg (the tag format was
selected per the guidelines in the apk-tools documentation).

Links: https://gitlab.alpinelinux.org/alpine/apk-tools/-/commit/1925de55beef8859c987f72c3b2727d756296ddb
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19082
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agokernel: Add missing config option
Hauke Mehrtens [Sat, 21 Jun 2025 17:21:51 +0000 (19:21 +0200)]
kernel: Add missing config option

This broke the armsr/armv8 build.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/19200
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agokernel: Refresh kernel configs
Hauke Mehrtens [Sat, 21 Jun 2025 17:23:47 +0000 (19:23 +0200)]
kernel: Refresh kernel configs

Run this script:
./scripts/kconfig-reorder.sh

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/19200
Signed-off-by: Robert Marko <robimarko@gmail.com>
13 days agorealtek: switch HP-1920-48G to new shared gpio driver
Joe Holden [Sun, 25 May 2025 12:13:30 +0000 (12:13 +0000)]
realtek: switch HP-1920-48G to new shared gpio driver

This allows the SFPs to work without manually switching port type.

Signed-off-by: Joe Holden <jwh@zorins.us>
Link: https://github.com/openwrt/openwrt/pull/18914
Signed-off-by: Robert Marko <robimarko@gmail.com>
13 days agortl839x: fix sfp ports on HPE 1920-48G PoE
Joe Holden [Sat, 3 May 2025 15:04:56 +0000 (15:04 +0000)]
rtl839x: fix sfp ports on HPE 1920-48G PoE

The 4 sfp ports on the RTL8214FC are actually wired to the gpio expander instead of internal.

Relatively minor changes to the dts are required, simply overriding some of the properties
inherited from rtl8393_hpe_1920.dtsi.

The speed is reported as 100/full and the media type is incorrect, but the ports pass traffic
just fine.

Signed-off-by: Joe Holden <jwh@zorins.us>
Link: https://github.com/openwrt/openwrt/pull/18914
Signed-off-by: Robert Marko <robimarko@gmail.com>
13 days agoqualcommbe: enable CONFIG_THERMAL and CONFIG_THERMAL_HWMON
Zheng Zhang [Sat, 14 Jun 2025 14:56:04 +0000 (22:56 +0800)]
qualcommbe: enable CONFIG_THERMAL and CONFIG_THERMAL_HWMON

The Qualcomm TSENS driver only exposes sensors to as a thermal
zone without registering hwmon, making these temperature sensors
unreadable by lm-sensors. This commit enables CONFIG_THERMAL and
CONFIG_THERMAL_HWMON for qualcommbe target to access the sensors
from hwmon.

Suggested-by: Yao Zi <ziyao@disroot.org>
Signed-off-by: Zheng Zhang <everything411@qq.com>
Link: https://github.com/openwrt/openwrt/pull/19137
Signed-off-by: Robert Marko <robimarko@gmail.com>
13 days agoqualcommax: enable CONFIG_THERMAL and CONFIG_THERMAL_HWMON
Zheng Zhang [Sun, 15 Jun 2025 00:34:26 +0000 (08:34 +0800)]
qualcommax: enable CONFIG_THERMAL and CONFIG_THERMAL_HWMON

The Qualcomm TSENS driver only exposes sensors to as a thermal
zone without registering hwmon, making these temperature sensors
unreadable by lm-sensors. This commit enables CONFIG_THERMAL and
CONFIG_THERMAL_HWMON for qualcommax targets to access the sensors
from hwmon.

Suggested-by: Yao Zi <ziyao@disroot.org>
Signed-off-by: Zheng Zhang <everything411@qq.com>
Link: https://github.com/openwrt/openwrt/pull/19137
Signed-off-by: Robert Marko <robimarko@gmail.com>
13 days agokernel: remove expired i40evf drivers
xiao bo [Sun, 22 Jun 2025 01:29:15 +0000 (09:29 +0800)]
kernel: remove expired i40evf drivers

In the development history of Intel's drivers, the i40evf driver was later
renamed the iavf driver. For example, some documents mention that
Intel® Network Connections Software Version 24.0 renamed the i40evf
and ixlv drivers to iavf. In subsequent versions, the i40evf driver was
gradually removed, and its functions were taken over by the iavf driver.
In the Linux system, relevant configuration instructions also exist. For
instance, the User Guide for X722 Onboard Network Card states that the
i40evf driver module should be disabled, and the iavf driver should be
installed and used.

blamed commit: https://github.com/openwrt/openwrt/commit/5d81b28a829ac20fb60991e71ee7a7c53d14fd58

Signed-off-by: xiao bo <peterwillcn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19197
Signed-off-by: Robert Marko <robimarko@gmail.com>
13 days agowifi-scripts: enforce management frame protection on 6 GHz
Felix Fietkau [Wed, 11 Jun 2025 09:34:16 +0000 (11:34 +0200)]
wifi-scripts: enforce management frame protection on 6 GHz

Configurations that don't enforce it are rejected by hostapd

Signed-off-by: Felix Fietkau <nbd@nbd.name>