Jan Hoffmann [Thu, 20 Nov 2025 17:24:44 +0000 (18:24 +0100)]
mediatek: filogic: add factory image for Asus TUF-AX4200
The initramfs.trx image can be flashed from the web interface of factory
firmware.
Unfortunately, the default boot command of the bootloader does not load
the ramdisk in the FIT image. This means that the image can only be
built when the option TARGET_ROOTFS_INITRAMFS_SEPARATE is disabled.
Tested with firmware 3.0.0.4.388_33965 (U-Boot 2022.10 / 2.0.0.5).
1. Download the OpenWrt initramfs image. Copy the image to a TFTP server
2. Connect the TFTP server to the EAX17. Conect to the serial console,
interrupt the autoboot process by pressing '0' when prompted.
3. Download & Boot the OpenWrt initramfs image.
$ tftpboot openwrt.bin
$ bootm
4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
using scp and install using sysupgrade.
MAC table, same as stock firmware:
LAN: 80:3F:5D:xx:xx:x1 partition "hw" at 0x44e (ASCII)
WAN: 80:3F:5D:xx:xx:x2 partition "hw" at 0x460 (ASCII)
2G: 80:3F:5D:xx:xx:x3
5G: 80:3F:5D:xx:xx:x4
* Installation with OEM WebUI:
Note: Make sure PC is connected on LAN1 port. The OEM firmware has an unknown root password and settings are kept after upgrading firmware. Therefore, a customized Openwrt firmware is needed to remove the root password on login, by adding `passwd -d root` to /etc/init.d/bootcount. The WebUI does a filename check so the customized firmware is named accordingly.
1. Download modified firmware file `WAVLINK_WN536AX6-A_M36AX6_V250320-WO-437baca-modified.bin` from https://github.com/ses1er/firmware-misc/tree/main/wavlink/wl-wn536ax6a
2. Log into WebUI on default IP: http://192.168.20.1
3. Browse to More (top menu) -> System -> Firmware Upgrade.
4. Under `Local Upgrade` section, check the device to be upgraded and upload downloaded modified firmware. Click `UPLOAD FILE`, then `APPLY`
5. Wait about 2 minutes (ignore progress bar), and browse to http://192.168.20.1. You should see LUCI login page. Username is root and no password.
6. Browse to `System -> Backup/Flash Firmware`, click on `Flash Image`, click `Browse` and locate `openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-squashfs-sysupgrade.bin` file.
7. Uncheck `Keep settings and retain the current configuration` and click `Continue`.
8. Router will now be set to IP 192.168.1.1 which is the Openwrt default.
* Installation with UART:
Note: Having UART connected while cold booting the device will result in a kernel panic when initializing wifi. I've found this workaround:
1. Power off the device and ensure UART is not connected to PC.
2. Power up the device, when lights come on, plug in UART.
3. Warm boots and soft restarts will not cause kernel panic for the duration of device being powered on. Repeat steps for subsequent cold boots.
1. Configure TFTP server with IP 192.168.1.66. Copy `openwrt-mediatek-filogic-wavlink_wl-wn536ax6a-initramfs.itb` to TFTP root.
2. Interrupt boot by pressing 0.
3. Run the following in Uboot console: `setenv serverip 192.168.1.66; setenv ipaddr 192.168.1.1; tftpboot 0x46000000 openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-initramfs.itb; bootm`
4. Transfer `openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-squashfs-sysupgrade.bin` to device:
(`scp -O openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/`)
5. Run the following on device: `sysupgrade -n /tmp/openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-squashfs-sysupgrade.bin`
Signed-off-by: Qing W. <ses1er@gmail.com> Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Link: https://github.com/openwrt/openwrt/pull/20760 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
busybox: backport hexdump fix for Big Endian systems
hexdump isn't working properly on some Big Endian systems, producing
incorrect output such as:
hexdump -vn 5 -e '"fd" 1/1 "%02x:" 2/2 "%x:"' /dev/urandom
fdff:542c0054:17920017:
Which should be:
fdff:542c:1792:
This breaks the default ULA prefix generation on some systems. See:
https://github.com/openwrt/openwrt/issues/19844
The issue has already been fixed upstream, so we can backport the fix:
https://git.busybox.net/busybox/commit/libbb/dump.c?id=f5c7cae55fc3e19d074198bc12152486067ea8c7
JIT support in pcre2 allows for extra performance for regex operations in
applications that support it. As outlined in
https://pcre.org/current/doc/html/pcre2jit.html#SEC2 64-bit ARM is
supported.
I tested this on an GL.Inet MT6000 which is an aarch64 device and to my
knowledge everything works as expected. The primary application I tested
this on was haproxy, which makes use pcre for several operations.
If there are no known downsides or known breakages I suggest to
default-enable this feature for aarch64.
Nick Hainke [Wed, 10 May 2023 01:53:34 +0000 (03:53 +0200)]
toolchain: gcc: add fanalyzer config option
Add gcc config option for fanalyzer. As a result of this option, a static
analysis of the program flow is conducted, allowing interprocedural paths
to be identified and warnings to be issued if problems are identified.
Changelog:
Notable Changes
- Several updates and fixes for systemd
- Add new permissions and policy capabilities
- Drop reiserfs support (it was removed in kernel 6.13)
Nick Hainke [Sat, 22 Nov 2025 07:11:34 +0000 (08:11 +0100)]
selinux-policy: update to 2.8.3
Changelog:
- b1d7050 README
- 13f78a8 nlbwmon fix
- 9a98b2b ratelimit and nlbwmon rules
- a193e4b adds nlbwmon skel
- b5672a0 README: adds nlbwmon to wish list
- 2058100 adds radius and uam unreserved port
- 026b712 ratelimit for busybox ip
- 7661081 adds ratelimit sysagent skel and update README
- 3bea826 luci and rpcserver apk related
- ba8607d all sys agents can use inherited ssh server pipes
- 24b9396 README: adds some more items to wish list
- da7a02c ttyxperm: adds TIOCSERGETLSR
- 2fce9ee Revert "file_contexts.subs_dist: order matters with libselinux 3.8"
- 9a13714 file_contexts.subs_dist: order matters with libselinux 3.8
- a148827 README update
- 9d9a1ff iproute2 ip: ip mptcp monitor
- cf7efdc envtools: setenv
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
package: drop creating spurious tmp directory in feed directory
In implementing APK support it seems a a leftover was never removed that
creates an unused tmp directory in the package feed directory.
Drop it as it's not used anywhere. What is actually needed is the
creation of the $$(PDIR_$(1)) directory for the feed package directory
in the bin/packages directory.
This was a side effect of using INSTALL_DIR on $$(PDIR_$(1))/tmp that
indirectly creates the $$(PDIR_$(1)) parent directory.
generic: 6.12: backport b53 patches from netdev-next
These patches have been accepted in netdev-next for linux v6.19.
2b3013ac0302 net: dsa: b53: add support for bcm63xx ARL entry format 300f78e8b6b7 net: dsa: b53: add support for 5389/5397/5398 ARL entry format a7e73339ad46 net: dsa: b53: move ARL entry functions into ops struct e0c476f325a8 net: dsa: b53: split reading search entry into their own functions 1716be6db04a net: dsa: b53: provide accessors for accessing ARL_SRCH_CTL bf6e9d2ae1db net: dsa: b53: move writing ARL entries into their own functions 4a291fe72267 net: dsa: b53: move reading ARL entries into their own function a6e4fd38bf2f net: dsa: b53: b53_arl_read{,25}(): use the entry for comparision
MAC addresses:
| Interface | MAC | Algorithm |
|:----------|:-----------------:|:--------------------------|
| WLAN 2.4G | 58:86:94:XX:XX:34 | label |
| WAN | 58:86:94:XX:XX:35 | label + 1 |
| LAN | 58:86:94:XX:XX:37 | label + 3 |
| WLAN 5G | 5A:86:94:XX:XX:37 | label + 3 with LA bit set |
- The WLAN 2.4G MAC address (label) is stored in factory partition, 0x4
Installation:
- Stock web interface:
1. Flash the **initramfs-factory** image through the web page.
2. Boot into OpenWrt and perform sysupgrade with **sysupgrade** image.
- Recovery mode:
1. Turn on the device and press the Reset button more than 10 seconds
to enter recovery mode.
2. Access the recovery web interface at 192.168.0.1/24 and flash the
**initramfs-factory** image.
3. Boot into OpenWrt and perform sysupgrade with **sysupgrade** image.
Gain SSH access:
Method 1:
1. Connect UART Adapter to the router
2. UART pins are enabled, set the root password with passwd command
start the dropbear instance on port 22
Method 2:
1. Login into web interface, and restore the router with SSH enabled configuration.
2. After reboot Default Web interface password will be 12345678
SSH password is empty
Flash instructions:
1. Connect to HX21, backup everything, especially 'Factory' part.
3. Write new FIP:
mtd write openwrt-mediatek-filogic-hx_21-bl31-uboot.fip FIP
4. Set static IP on your PC:
IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.
8. To write new BL2
Install mtd-rw
opkg update && opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
mtd write openwrt-mediatek-filogic-imou_hx21-preloader.bin bl2
Radek Dostál [Sun, 9 Nov 2025 17:38:15 +0000 (18:38 +0100)]
ath79: re-enable build of TP-Link RE355 v1, RE450 v1 and RE450 v2
With previous patches these devices have only 128 KiB less space than
RE450 v3. It may be even possible to revert commit 65b6f1c1b251 ("ath79:
move TP-Link RE450 v1 & v2 and RE355 v1 to tiny target") but that was
not done as the device has only 8 MiB flash and will eventually run out of
it anyway.
Radek Dostál [Sun, 9 Nov 2025 16:35:51 +0000 (17:35 +0100)]
ath79: reduce config partition size for RE450 v1 and RE355 v1 to 0x20000
Dump of content of my RE450 v1 showed, that there are valid data only
up to 0x10420. Everything after is just 0xFF. This will also make
partition table identical to qca9563_tplink_re450-v2.dts, which seems
to be logical.
Marcin Leksmark [Thu, 11 Sep 2025 14:40:20 +0000 (16:40 +0200)]
ramips: add support for D-Link DIR-2660 A2
This patch adds support for D-Link DIR-2660 A2.
Based on the commit: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=b5dd746cbb1aaf91f4b68e9f3eda97413550d904,
Both devices look identical, except for the A1/A2 designation.
You can safely install the A1 firmware for the A2 – I've been testing it for several months as a DUMB AP – without any problems.
Specifications:
* SoC: MediaTek MT7621AT
* RAM: 256 MB (DDR3)
* Flash: 128 MB (NAND)
* WiFi: MediaTek MT7615N (x2)
* Switch: 1 WAN, 4 LAN (Gigabit)
* Ports: 1 USB 2.0, 1 USB 3.0
* Buttons: Reset, WPS
* LEDs: Power (white/orange), Internet (white/orange), WiFi 2.4G (white),
WiFi 5G (white), USB 3.0 (white), USB 2.0 (white)
Notes:
* WiFi 2.4G and WiFi 5G LEDs are wired directly to the wireless chips
Installation:
* D-Link Recovery GUI: power down the router, press and hold the reset
button, then re-plug it. Keep the reset button pressed until the power
LED starts flashing orange, manually assign a static IP address under
the 192.168.0.xxx subnet (e.g. 192.168.0.2) and go to http://192.168.0.1
* Some modern browsers may have problems flashing via the Recovery GUI,
if that occurs consider uploading the firmware through cURL:
Tianling Shen [Thu, 13 Nov 2025 13:41:30 +0000 (21:41 +0800)]
mediatek: fix ubi size for zbtlink zbt z8102ax v2
According to the factory uboot and firmware[1], the ubi size is set
to 512 MiB (0x20000000) and it exceeds the size of the flash, after
that the uboot and kernel resizes it to 114.5 MiB (0x7280000) instead
of 114.125 MiB (0x7220000). The mismatch of the ubi size causes
kernel fails to read ubi volumes and throws panic.
Fixes: e34e874a11f0 ("mediatek: add support for Zyxel NWA90AX PRO") Signed-off-by: James Davis <james.l.davis@outlook.com> Link: https://github.com/openwrt/openwrt/pull/20759 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Note: The LED color is amber or blue, depending on your router's color
(black/white).
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 OEM recovery software (ipTIME Firmware Wizard (11ac))
from the manufacturer's website
2. Download the *squashfs-factory.bin file from the OpenWrt website
3. Press a reset button, and power up the router (keep pressing the reset button)
4. Wait more than 10 seconds until the CPU LED stop blinking
5. Connect the router (LAN port) to the PC
6. Run the OEM recovery software and follow the instructions
7. Select the *squashfs-factory.bin file during the router recovery process
8. Wait for the router to boot from *squashfs-factory.bin
Limitation: Triggering the WLAN LED for activity on both phy0 (2.4GHz) and phy1 (5GHz)
----------
Currently, the UCI doesn't support triggering a single LED for activity
on multiple WLAN interfaces. As a temporary workaround, the LED is
configured to only indicate activity on `phy1`. If you wish to monitor
`phy0` instead, you must change the device from `phy1-ap0` to `phy0-ap0`
in the LuCI LED configuration.
Ziyang Huang [Sun, 19 Oct 2025 12:26:32 +0000 (20:26 +0800)]
airoha: an7581: enable NPU by default
There is no reason not to do this.
Use the following commands to enable hardware offloading:
uci set firewall.@defaults[0].flow_offloading='1'
uci set firewall.@defaults[0].flow_offloading_hw='1'
uci commit
Liangbin Lian [Thu, 13 Nov 2025 07:17:57 +0000 (15:17 +0800)]
uboot-rockchip: add dedicated uboot for LinkEase EasePi R1
The generic-rk3568 does not reset the gmac phy, causing the kernel to
fail to initialize gmac during cold boot with the error message
"mdio_bus stmmac-1: MDIO device at address 1 is missing."
Adding a dedicated uboot for EasePi R1 to resolve this issue.
The EasePi R1's DTS hasn't been merged into the Linux release yet,
so it cannot be submitted to the upstream u-boot.
Fixes: ef093299db ("uboot-rockchip: add support for LinkEase EasePi R1") Signed-off-by: Liangbin Lian <jjm2473@gmail.com> Link: https://github.com/openwrt/openwrt/pull/20772 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
this change allows one to selectively "hush" scripts from /etc/profile.d/ directory.
e.g., to skip "opkg to apk cheatsheet" message ("/etc/profile.d/apk-cheatsheet.sh") create empty file "/etc/profile.d/apk-cheatsheet.hush" using, for example, command "touch /etc/profile.d/apk-cheatsheet.hush"
Zhu Yujie [Wed, 19 Nov 2025 11:46:32 +0000 (19:46 +0800)]
siflower: 6.12: change .remove_new callback to .remove
Move back to .remove from .remove_new as kernel 6.12 unified the usage
of .remove and .remove_new (and .remove_new is expected to be dropped in
later version)
Zhu Yujie [Wed, 19 Nov 2025 09:09:52 +0000 (17:09 +0800)]
siflower: 6.12: apply trivial driver fixes
Apply trivial fixes for 6.12 files:
- Make functions static
- Add lots of missing header in drivers
- Fix no newline at end of file error and other new line error
- Drop deprecated validate function for xgmac
- Use devm for stmmac probe
- Remove host_ prefix from pcie_host_ops
Zhu Yujie [Fri, 14 Nov 2025 07:19:13 +0000 (15:19 +0800)]
siflower: spi: replace 'master' with 'controller' in driver
This change replaces the term 'master' with 'controller' in the
Siflower SPI driver (sf_qspi) to align with the Linux kernel's
inclusive language policy.
Zhu Yujie [Fri, 14 Nov 2025 07:15:44 +0000 (15:15 +0800)]
siflower: 6.12: refresh patches
This involves rebasing the patches and resolving any conflicts
arising from changes in the base kernel between the previous
supported version and 6.12.
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
Rany Hany [Sat, 15 Nov 2025 20:25:59 +0000 (20:25 +0000)]
wifi-scripts: bump reassociation_deadline default to 20000
Most users on forums face a broken 802.11r setup when having
a very simple 802.11r config (i.e., just ieee80211r enabled).
In most cases, simply bumping reassociation_deadline to
20000 fixes their problems and allows 802.11r to just work.
Reassociation Deadline is already set to 20 seconds on Cisco
equipment by default[1] which is why this value has been
chosen.
It is also mentioned on the OpenWRT Wiki as a value that should
be changed in order for 802.11r to work on Apple devices. I think
it would be better to change the defaults instead so users don't
have to do much work for a working setup.
Robert Marko [Wed, 19 Nov 2025 12:46:29 +0000 (13:46 +0100)]
include: rootfs: fix APK compressed scripts tarball support
APK will generate the compressed scripts.tar by default, however we rely
on using TAR support for updating the tarball on the fly and this does not
work when tarball is compressed and will cause the following errors:
staging_dir/host/bin/tar: Cannot update compressed archives
Try /staging_dir/host/bin/tar --help' or
staging_dir/host/bin/tar --usage' for more information.
So, lets simply decompress the scripts.tar.gz before usage and then
compress it after we are done.
Fixes: 5d85657f6dbb ("apk-tools: implement compression of on-device scripts.tar") Signed-off-by: Robert Marko <robimarko@gmail.com>
Lorenzo Bianconi [Sun, 16 Nov 2025 14:17:32 +0000 (15:17 +0100)]
mt76: Enable NPU support for Airoha AN7581 SoC
Airoha AN7581 SoC supports a Network Processor (NPU) to offload WiFi
traffic. Add the required bits to enable the support of it in the MT76
driver. This will be enabled by default if we are compiling for the
Airoha AN7581 SoC.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
[ improve commit title/description ] Link: https://github.com/openwrt/openwrt/pull/20826 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>