Commit graph

69319 commits

Author SHA1 Message Date
Patrick Grimm
bc3d4fa5b2
realtek: support Teltonika TSW202
Add support for TSW202 PoE switch. This is an RTL8380 based switch
with two SFP slots, and 8 PoE 802.3af one every RJ-45 port.

The max budget is 240W.
The vendor firmware configures the PSE
with a per-port budget of 30.0W.

Specifications:
---------------
* SoC:       Realtek RTL8380M
* Flash:     16 MiB SPI NOR W25Q80RV, 8Mb_Serial_Flash, low_power
* RAM:       128 MiB Winbond W631GG8NB 151
* Ethernet:  8x 10/100/1000 Mbps with PoE
             2x SFP slots
* Buttons:   1 "Reset" button on front panel
* Power:     48V-54V DC barrel jack
* UART:      1 serial header with terminal on the back side.
             With ground, rx, tx, and 3.3V
* PoE:       2 XS2184
* LED:       2 i2c SL74HC164

Works:
------
  - (8) RJ-45 ethernet ports
  - (2) SFP with ethernet or fiber
  - Switch functions

TODO:
------
  - LEDs are always on
  - Power-over-Ethernet are always on

Install via web interface:
-------------------------

The openwrt firmware will not accept and flash the sysupgrade image.

It is recommended to flash with sysupgrade -n -f over ssh.

Dokumantation, Bootlogs, and Fotos can be found on

https://git.f2a.space/patrick/openwrt-24.10-tsw202/-/wikis/home

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
Link: https://github.com/openwrt/openwrt/pull/21003
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 20:23:38 +02:00
Luiz Angelo Daros de Luca
0bba5f31fc kernel: backport rtl8365mb DSA driver improvements
Backport several fixes and enhancements for the rtl8365mb DSA driver
from upstream.

The backport includes the following changes:
- Fix for rtl8_4 tag (from v7.1)
- VLAN and Forwarding offload (from v7.2)

Before this backport, all bridge forwarding was handled by the CPU,
causing a significant performance drop between LAN ports, similar
to standard WAN/LAN routing. Enabling hardware forwarding offload
alleviates CPU overhead and restores line-rate switching performance.

Link: https://patch.msgid.link/20260408-realtek_fixes-v1-0-915ff1404d56@gmail.com
Link: https://patch.msgid.link/20260606-realtek_forward-v13-0-b9e409687cbe@gmail.com
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23738
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-11 14:49:43 +02:00
Robert Marko
4fa4766986 qualcommbe: kiwi: include Realtek PHY kmod and RTL8261N firmware
Since 6.18 RTL8261N support was added to the generic Realtek PHY driver
and was dropped from the downstream driver.

So, fix the missing RTL8261N support by including the Realtek PHY kmod
and the relevant firmware.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-06-11 13:35:29 +02:00
Robert Marko
eee679b9b3 qualcommbe: ipq95xx: 6.18: refresh config
Refresh the really outdated kernel config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-06-11 13:35:29 +02:00
Shine
9ba54d2d9e scripts: dhcp/dhcpv6: handling of invalid client ID values
Verify and clean up client ID and global DUID config values before use, in
order to prevent DHCP client malfunction and loss of IPv4 and/or IPv6
connectivity.

- Accept common separators in the string (colon, dash, spaces/tabs, lf)
- Ignore invalid values (non-hex or odd-numbered length)
- Log a warning for invalid settings

The fall back mechanism is as follows:

If a (user-configured) network.<ifname>.clientid setting is found invalid,
ignore and fall back to using network.globals.dhcp_default_duid. In case
that's also invalid (e.g. has been tampered with), don't pass a client
ID to updhc/odhcpc. In that case, udhcpc/odhcpc will use their defaults,
which currently is the i/f MAC address resp. the i/f DUID-LL.

Only error handling is introduced, no behavior change for valid settings.

Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23662
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-11 10:40:57 +02:00
Rosen Penev
cbd8fe4461
ipq40xx: remove ethernet0 alias
Not needed when using nvmem. All others left alone.

Move some swport nvmem definitions to the root gmac to avoid a
randomized MAC address for the GMAC. The former inherits from the latter anyway.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22550
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 10:38:22 +02:00
Rosen Penev
641f3190c2
ath79: iodata etg3-r: set eth MAC in dts
Userspace handling is deprecated. WAN stuff needs to remain as no DSA
yet.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21119
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 10:36:07 +02:00
Rosen Penev
f079f0252b
nvram: use strdup
No need for malloc + strcpy.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22370
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 10:33:00 +02:00
Rosen Penev
113d3edce0
nvram: move variable assignment out of if
More readable.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22370
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 10:33:00 +02:00
Rosen Penev
55d146432f
nvram: use flex array
Clarifies that the struct needs to be over allocated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22370
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 10:32:59 +02:00
Rosen Penev
51a018ee49
ramips: mt7621: use dts for label mac
Userspace handling was needed before band mac overrides.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22306
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 10:29:39 +02:00
Rosen Penev
eaa1d41b55
ramips: mr600-v2-eu: fix WAN MAC address
78110c3 states that the MAC for the WAN interface is LAN + 1.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22306
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 10:29:39 +02:00
Rosen Penev
f3bc5ea5d9
ipq40xx: use nvmem for mikrotik mac address
Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16257
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 09:04:28 +02:00
Rosen Penev
193f1e3266
gpio-rb91x-key: add gc owner
For platform drivers themselves this is not needed. but for gpiochips,
it is to avoid module unload.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23731
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 21:41:22 +02:00
Rosen Penev
e6f2cd1ca8
gpio-rb4xx: use GPIO_LINE_DIRECTION_OUT
Remove the comment since the macro is descriptive enough.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23731
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 21:41:21 +02:00
Rosen Penev
5814684332
gpio-rb4xx: fix rb4xx_gpio_set on newer kernels
Propagate error code from rb4xx_gpio_cpld_set instead of just returning
0.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23731
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 21:41:21 +02:00
Rosen Penev
11b93e9df5
gpio-rb4xx: use dev and remove of_node
Claude seems to get confused by a supposedly NULL of_node. Just use dev.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23731
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 21:41:21 +02:00
Rosen Penev
92f97baba7
gpio-rb4xx: fix unset ret
Add an else branch to do so.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23731
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 21:41:21 +02:00
John Audia
7329e1be21
libnl: add host package
Add a host package, which is a new requirement for nfs-kernel-server.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22889
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 21:30:40 +02:00
Paul Spooren
86184b18d2 package: nftables backport of reproducible builds patches
Building `nftables` twice results in slightly different binaries and since
it's including in the OpenWrt default firmware, breaks reproducibility of
shipped artifacts.

Enabling autoreconf, since the patches introduce a `nftvbersion.h.in` file.

This commit backports patches netfilter to fix this:

* https://git.netfilter.org/nftables/commit/?id=ca86f206c92704170a295b8dc7a41f6448835dde
* https://git.netfilter.org/nftables/commit/?id=b92571cc59ce49fdd9fe2daac9350529adfb2424
* https://git.netfilter.org/nftables/commit/?id=2a0ec8a7246e5c5eb85270e3d4de43e20a00c577

Fixes: https://github.com/openwrt/openwrt/issues/23709
Link: https://github.com/openwrt/openwrt/pull/23735
Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-06-10 20:15:49 +02:00
Paul Spooren
353e23dfbc package: make APK embedded help gzip reproducible
APK compresses it's helptext using LUA and require `zlib`, which isn't
available on the Buildbots. It thens falls back to `gzip`, which embeds the
MTIME, making the binary itself unreproducible.

This commits adds a downstream patch to run `gzip` with `-n`, setting the time
to 0.

Link: https://github.com/openwrt/openwrt/pull/23736
Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-06-10 20:15:15 +02:00
Rosen Penev
631d74d1b7 prereq-build: increase GCC requirement to 10
With ccache 4.13, it mandates a minimum of 10.

Fixes: 84cb042e3a ("tools/ccache: update to 4.13.3")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23718
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-10 11:43:38 +02:00
Rosen Penev
1ac7a562ef
ath79: wndap360: switch MACs to newer firmware
Original ar71xx has this setup:

define WNDAP360_WMAC0_MAC_OFFSET               0x120c
define WNDAP360_WMAC1_MAC_OFFSET               0x520c

/* Reusing wifi MAC with offset of 1 as eth0 MAC */
ath79_init_mac(ath79_eth0_data.mac_addr,
               art + WNDAP360_WMAC0_MAC_OFFSET, 1);

ap94_pci_init(art + WNDAP360_CALDATA0_OFFSET,
              art + WNDAP360_WMAC0_MAC_OFFSET,
              art + WNDAP360_CALDATA1_OFFSET,
              art + WNDAP360_WMAC1_MAC_OFFSET);

The ath79 port made a questionable change for eth0 being just art with
no offset. That MAC ends up being the OUI for Atheros.

WNDAP360_WMAC1_MAC_OFFSET is the same as WNDAP360_WMAC0_MAC_OFFSET
except with the first hex value being subtracted by 2, which is not a
valid OUI.

And newer Netgear firmware seems to assign differently as well,
art_120C as a base and the others incremented by 0x8.

Switch the assignment to the latest firmware and add label-mac-device to
document that the first Wi-FI MAC address is printed on the device.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22895
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 09:06:06 +02:00
Rosen Penev
076eefdc2c
treewide: remove usage of of_device.h
of_device.h was used only for of_match_device. That is no longer
used in most places so we can drop the extra header.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23071
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 09:03:11 +02:00
Rosen Penev
31d7dd77c6
prereq-build: bump python requirement to 3.8
Even though 3.8 is quite old, it's still used by Ubuntu 20.04 LTS. Bump
the version to get some extra features.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23521
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-10 09:00:33 +02:00
Rosen Penev
c699a1ab37
ath79: mynet-wifi-rangeextender: use nvmem
Convert the last remaining userspace eeprom for ath9k to nvmem. Well,
easily converted at least.

wifi MAC has to be handled in userspace as the kernel nvram driver works
on memory mapped addresses, not mtd ones.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14666
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 12:43:26 +02:00
Rosen Penev
f93b02e545
ath79: fix label-mac-device
It appears 683-of_net-add-mac-address-to-of-tree.patch relies on the
mac-address nvmem property being present. These nodes don't need it as
they take it from the eeprom but label-mac-device needs it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14666
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 12:43:26 +02:00
Robert Marko
1a2d3bb23d microchipsw: lan969x: refresh config
Refresh the kernel config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-06-09 11:30:01 +02:00
Robert Marko
ce81558d33 microchipsw: use upstreamed NVMEM support
NVMEM OTP support was upstreamed, so backport those patches instead of
our downstream ones.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-06-09 11:28:27 +02:00
Robert Marko
957b042056 microchipsw: replace hwmon patch with upstreamed one
Selection of Sparx5 hwmon driver for LAN969x was upstreamed, so use that
instead of the downstream patch.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-06-09 11:10:00 +02:00
Robert Marko
849dd5d4f0 microchipsw: renumber upstreamed patches
Lets restart the numbering from 0 as most of the patches were upstreamed.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-06-09 11:02:45 +02:00
Robert Marko
5101f3f12f microchipsw: backport MDIO probe defferal silencing
Currently, MDIO driver will print the probe defferal as error.
So, instead of spaming the log, backport the upstream fix for it.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-06-09 09:51:30 +02:00
Darell Tan
5584caa5b1
realtek: rtl930x: add support for Sirivision SR-ST3408F
This commit adds support for the Sirivision SR-ST3408F,
an 8-port 10G switch with 4x RJ45 ports and 4x SFP ports.

SoC:      Realtek RTL9303
RAM:      512 MiB DDR3
Flash:    SPI-NOR 16 MiB (Winbond)
Ethernet: 4x RJ45 via RTL8261BE PHY (10G/5G/2.5G/1G/100M/10M)
          4x SFP+
LEDs:     1x power, 1x system green
          2x RJ45 LEDs/port (link/act, 10G)
          1x SFP+ LED/port (link/act)
Button:   Reset
Console:  Cisco-style RJ45, 115200 8n1
Fan:      4040 12V fan (hardwired)
Power:    12V 3A internal PSU

OpenWrt installation
---------------------

1. Attach to serial console using a Cisco cable, 115200 8n1
2. Power on the switch and rapidly press Esc to interrupt U-Boot
3. Initialize the RJ45 ports by running `rtk network on`
4. Serve the initramfs-kernel.bin image on TFTP, IP 192.168.1.111
5. Use any RJ45 port to connect to your TFTP server
6. Run `tftpboot 0x81000000 initramfs-kernel.bin; bootm`
7. Use `mtd dump` or `dd` to backup the original firmware at `mtd5` first
8. Run sysupgrade to flash sysupgrade.bin into the switch and reboot

Restoring original firmware
-----------------------------

Vendor does not provide firmware images, so you should have made a backup.
Use `mtd write` to restore your backed up copy into the `mtd5` partition.

MAC Address
------------
All interfaces are assigned the same MAC address, from the U-Boot env
`ethaddr`. This MAC address is also printed on the device label.

Signed-off-by: Darell Tan <darell.tan@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23686
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:22:07 +02:00
Thomas Richard
e005805489
kernel: iio: add kmod-iio-ad7405 package
Create kernel package for the AD7405 ADC driver.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:23 +02:00
Thomas Richard
61b4cb4ed0
stm32: add kmod-stm32-omm package
This adds STM32 Octo Memory Manager support.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:22 +02:00
Thomas Richard
e4602d7a98
stm32: add kmod-stm32-csi package
This adds STM32 Camera Serial Interface (CSI) support.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:22 +02:00
Thomas Richard
3af95bb05e
stm32: add kmod-spi-stm32-ospi and kmod-spi-stm32-qspi
This adds STM32 OCTO and QUAD SPI controller support.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:22 +02:00
Thomas Richard
d82162bf89
stm32: 6.18: disable some unnecessary options
The COMMON_CLK_STM32MP215 option is for clock support on MP215 platforms,
and PINCTRL_STM32_HDP is for Hardware Debug Port pin control. They can be
safely removed.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:22 +02:00
Thomas Richard
354aed7828
stm32: enable 6.18 testing kernel
The stm32 target now supports 6.18 kernel as testing.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:21 +02:00
Thomas Richard
98eb8e6d99
stm32: 6.18: update kernel 6.18 config
Update stm32mp1 kernel config for 6.18.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:21 +02:00
Thomas Richard
a7bf2ef519
stm32: fix return value of phy_power_on() in dwmac-stm32 driver
Patch 700-net-stmmac-dwmac-stm32-add-support-of-phy-supply-pro.patch
introduces phy-supply support in dwmac-stm32 driver. But the phy_power_on()
function always returns 0 even if it failed to drive the regulator. So fix
phy_power_on() to return an error if something wrong happened.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:21 +02:00
Thomas Richard
91642f109a
stm32: 6.18: refresh kernel patches
Drop upstreamed patches and refresh remaining ones.

Manually rebased:
- 700-net-stmmac-dwmac-stm32-add-support-of-phy-supply-pro.patch

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:20 +02:00
Thomas Richard
cd0f38dfc2
kernel/stm32: restore files for v6.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

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:20 +02:00
Thomas Richard
6d48210a90
kernel/stm32: create files for v6.18 (from v6.12)
This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/22989
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-09 09:10:20 +02:00
Hauke Mehrtens
ab253fb4bb uclient: update to Git HEAD (2026-06-07)
f227ab4f1285 uclient: fix memory leak of url when backend alloc fails
645236607a3d uclient: free proxy_url in uclient_free
53d2d11fb00d uclient-http: fix NULL deref when digest WWW-Authenticate lacks params
0ba1b8718be5 ucode: check calloc return in uc_uclient_new
5cb19466d076 uclient-fetch: reset redirect counter per request
568c447950c1 uclient-fetch: retry short writes and surface errors
4c4a61a69ac3 uclient-fetch: use strtoull to parse Content-Length
440ca260622d uclient-http: validate Content-Length and chunk sizes from the server
8658324bd234 uclient: cast to unsigned char before ctype classifications
bf403fa0f8e5 uclient-fetch: reject CR in --header values
ec47f4176b1e uclient-fetch: always allocate auth_str and free it on exit
391dacd10d31 uclient-http: fail digest auth when the cnonce cannot be randomized
ba1f4311b099 ucode: clamp read length to the size of the static buffer
0ba47f319b09 uclient-fetch: advance to the next URL between requests
9dd0055d527d uclient: initialize *port for unknown address families
f816506651d5 uclient-http: start digest nonce count at 1
9b9b2da40835 uclient-http: fix 2-byte buffer undercount in digest add_field
80fb1e5ee68b ucode: avoid double-free of SSL context on ssl_init error
d44fb561bbcf ucode: don't clear an unrelated registry slot on free
02562403d2a3 uclient-fetch: close the output file before fetching the next URL
4a63561d0012 uclient-http: initialize fd to -1 so a failed connect can't close stdin
428ae8342118 uclient: cancel pending timers in uclient_free()
ffd8db308289 uclient-fetch: guard SSL debug setup against a missing SSL context
9f4db039a263 ucode: release callback argument references
d2af92b0aad9 uclient-http: resolve redirects against the proxy target URL
5dddda023267 uclient-utils: avoid out-of-bounds pointer in get_url_filename
8507588e7ce7 uclient-http: use the proxy target URL for HTTP authentication
322c89c6ca0a uclient-http: retry 401 auth for all body-less request methods
db3bb00ddda7 uclient-http: accept unquoted digest auth parameter values
5ce9983b2a11 uclient-http: follow 303 and 308 redirects
070c868486dc uclient-fetch: finalize request on invalid 206 Content-Range
83659a5a9bc1 uclient-fetch: concatenate multiple URLs into a single -O file
43bed2753998 ucode: don't leak string references in status()/get_headers()
03b17e4fc793 uclient-fetch: attach credentials to the proxy target, not the proxy
74c07b12f7ab uclient-fetch: don't run the progress meter in spider mode
daad21fa2c17 uclient-fetch: handle init_request failure on the 204 resume retry

Link: https://github.com/openwrt/openwrt/pull/23693
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-09 00:57:32 +02:00
Anna Kiri
a5107ad58c
mtd: fix buffer leak and fd leak in mtd_dump()
Two leaks in mtd_dump():

- The buffer allocated with malloc(erasesize) is never freed before
  returning, leaking erasesize bytes on every call.
- The pre-existing malloc-NULL early return path also leaked the just-
  opened fd by returning directly instead of going through cleanup.

Initialize buf to NULL, route the malloc-NULL case through the
existing 'out:' label, and add free(buf) on the cleanup path so both
fd and buf are released consistently on every exit.

Signed-off-by: Anna Kiri <bredcorn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23706
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-08 16:18:23 +02:00
Anna Kiri
2818ac5ccd
mtd: check malloc() return value in mtd_check()
After malloc(erasesize) in mtd_check(), the result was never checked
for NULL. On allocation failure, the buf pointer remained NULL and
would later be used in image_check() via read(imagefd, buf + buflen,
...), causing a NULL pointer dereference.

Add a NULL check after the allocation and return early. The early
return path also closes the just-opened fd and frees the strdup'd
colon-separated device-list copy to avoid leaks.

Signed-off-by: Anna Kiri <bredcorn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23705
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-08 16:17:42 +02:00
Anna Kiri
2f809f9cff
mtd: check return values of lseek() and write() in mtd_write_buffer()
Two ignored return values in mtd_write_buffer() caused silent failures:

- lseek() return value was ignored. A failed seek (e.g. EBADF, ESPIPE)
  followed by write() would silently write at the wrong offset.
- write() return value was ignored, silently discarding write errors.
  This could lead to data corruption on the MTD device without any
  indication.

Check both return values, report errors to stderr and return -1 on
failure.

Signed-off-by: Anna Kiri <bredcorn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23552
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-08 16:17:02 +02:00
Tim Small
e122d49577 linux-firmware: improve firmware package descriptions
Improve some descriptions so that they make the purpose of the
particular firmware package clearer to the user (e.g. as viewed in
verbose package listings).

Signed-off-by: Tim Small <tim@seoss.co.uk>
Link: https://github.com/openwrt/openwrt/pull/23688
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-08 14:44:12 +02:00
Grische
33ed49c948 ipq806x: ap3935: disable hibernation on LAN1
The Extreme Networks AP3935's LAN1 port (gmac0/RGMII to AR8035 at MDIO
addr 1) fails to acquire a link if no Ethernet cable is connected at
power-on; the port stays dead even after a cable is later inserted, and
only a network restart recovers it.

The AR803x family enables hibernation mode by default, this setting
overrides it.

Signed-off-by: Grische <github@grische.xyz>
Link: https://github.com/openwrt/openwrt/pull/23208
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-08 09:59:19 +02:00