Skip to content

[pull] master from openwrt:master#992

Open
pull[bot] wants to merge 10000 commits intoGoodHolidays:masterfrom
openwrt:master
Open

[pull] master from openwrt:master#992
pull[bot] wants to merge 10000 commits intoGoodHolidays:masterfrom
openwrt:master

Conversation

@pull
Copy link

@pull pull bot commented Jan 29, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jan 29, 2022
@aparcar aparcar deleted the branch GoodHolidays:master May 23, 2023 14:58
@aparcar aparcar deleted the master branch May 23, 2023 14:58
blogic and others added 26 commits February 7, 2026 10:04
Allow callers of edit_create_destroy to pass additional named arguments
via info.named_args that get merged into the create command parameters.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: John Crispin <john@phrozen.org>
Add support for DPP (Device Provisioning Protocol) as both a primary
encryption type and as an optional addition to existing authentication.

Primary DPP mode (encryption=dpp):
- Sets WPA2 with key_mgmt=DPP
- Requires Management Frame Protection (ieee80211w=2)
- Supports dpp_connector, dpp_csign, dpp_netaccesskey options

Optional DPP mode (dpp=1 boolean on AP):
- Adds DPP to existing key management methods
- Allows AP to accept both DPP and other auth types
- Supports the same connector options

Both ucode and legacy shell implementations are updated for AP and STA
modes.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
When storing device-level data, wdev_set_data() spread the entire wdev
object into handler_data. Since handler_config.data is set from the
previous handler_data[wdev.name] before each setup, this created
exponentially growing nesting with each reload, eventually causing
"nesting too deep" JSON parse errors.

Fix by initializing cur to a simple object containing only the device
name instead of the entire wdev object.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Add a ucode API to hostapd and wpa_supplicant for external DPP frame
handling. This allows an external controller to intercept DPP frames
and handle the DPP protocol externally.

The API provides:
- RX callbacks (dpp_rx_action, dpp_rx_gas) called when DPP frames are
  received, allowing external handling before internal processing
- TX methods (dpp_send_action, dpp_send_gas_resp/dpp_send_gas_req) for
  transmitting DPP frames
- A ubus channel-based API (dpp_channel) for bidirectional communication
  with exclusive hook registration per interface
- CCE control for hostapd (set_cce method)

The wpa_supplicant API mirrors hostapd but adapted for STA role:
- Uses tx_gas_req instead of tx_gas_resp
- GAS RX provides full frame instead of parsed query
- No CCE control (AP-only feature)

Both implementations include:
- Timeout handling with automatic channel disconnect after 3 failures
- Hook cleanup on interface removal
- Last-caller-wins semantics for hook registration

Signed-off-by: Felix Fietkau <nbd@nbd.name>
The xrx200 ethernet driver falls back to a random MAC address on any
error from of_get_ethdev_address(), including -EPROBE_DEFER. When the
MAC address comes from an nvmem layout driver (such as u-boot-env on
NAND), the nvmem cell may not be available yet at first probe attempt.

Fix this by propagating EPROBE_DEFER so the driver probe is deferred
until the nvmem cell becomes available.

Tested on Zyxel P-2812HNU-F1 (NAND, u-boot-env nvmem layout).

Signed-off-by: Burak Aydos <byhexadecimal@gmail.com>
Link: #21861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.69

All patches automatically rebased.

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: #21904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The phy driver still uses the ancient unknown firmware file format
for the internal RTL8218B of the RTL838x. Get rid of that and
convert the initialization to the bare minimum.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: #21885
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Looking at the Realtek mdio busses there are curently the following

root@OpenWrt:~# mdio
1b000000.switchcore:mdio-controller-mii
fixed-0
realtek-aux-mdio
realtek-serdes-mdio
rtldsa_mdio-0

The main mdio bus for the phys is named after the dts node it belongs
to (1b000000.switchcore:mdio-controller-mii). As it is attached to the
controller node it is even more confusing.

Align the naming to the other busses and use "realtek-mdio".

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: #21702
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add board support for the Xikestor SKS8300-12E2T2X switch.

Hardware specifications:
========================
 -Realtek RTL9302C SoC, 1x MIPS-34Kc, 800 MHz
 -512 MB DDR3 RAM
 -32 MB SPI-NOR Flash
 -12x 2.5GBASE-T Ports (RTL8224)
 -2x 10GBASE-T Ports (RTL8261)
 -2x 10G SPF+ Ports
 -Reset Button on the front panel
 -Power & SYS LED's
 -UART (115200 8N1) via RJ45

Flash instruction:
==================
 -Prepare TFTP server & connect to serial port
 -Connect your computer to one of the RJ45 ports
 -Power on and interrupt autoboot with Shift + A.
 -Use Shift + Q to drop from vendor CLI to U-Boot CLI.
 -Change U-Boot Bootcommand (needed for network functionality):
	> setenv bootcmd 'rtk network on; boota'
	> saveenv
 -Start network:
	> rtk network on
 -Set switch IP and TFTP server IP:
	> setenv ipaddr [IP-ADDRESS]
	> setenv serverip [IP-ADDRESS]
 -Load initramfs image from TFTP server:
	> tftpboot 0x82000000 [IMAGEFILE]
 -Boot with the downloaded image:
	> bootm 0x82000000
 -Backup the stock firmware if needed
 -Perform sysupgrade with the sysupgrade image (in Luci or Terminal via scp & sysupgrade)

Back to stock firmware:
=======================
 -In the Terminal enter:
	> fw_setenv bootcmd 'boota'
 -Write firmware with:
	> sysupgrade -F [IMAGEFILE]

Signed-off-by: Michael Wagenhofer <michael@wagenhofer.de>
Link: #21773
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 - SoC: MediaTek MT7981B
 - CPU: 2x 1.3 GHz Cortex-A53
 - Flash: 128 MiB SPI NAND (Winbond W25N01GV)
 - RAM: 256 MiB (Nanya NT5CC128M16JR-EK)
 - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN, 802.11ax)
 - Ethernet: 1x 10/100/1000/2500 Mbps MaxLinear GPY211C WAN, 1x10/100/1000 Mbps MT7981 LAN
 - USB 3.0 port
 - 2x buttons: Reset, Mesh
 - 3x LEDs on top panel (red, green, blue)
 - 3x PHY port LEDs (1 amber, 2 green)
 - Board version: WD830M V2.0
 - Power: 5 VDC, 3 A

UART: internal test points, 3V3 115200 8N1 (RX, TX, GND)

Interface	MAC			Algorithm
LAN (label)	1c:bf:ce:xx:xx:x1	0x4
WAN		1c:bf:ce:xx:xx:x2	0xa
WLAN 2.4G	1c:bf:ce:xx:xx:x3	0x2a
WLAN 5G		1c:bf:ce:xx:xx:x4	0x24

At the moment installation is possible via UART only since SSH root
is password protected.

Set a static ip on the ethernet interface of your PC:
(ip address: 192.168.1.2, subnet mask:255.255.255.0).
Boot into initramfs via TFTP:
```
setenv serverip 192.168.1.2
tftpboot 0x46000000 openwrt-mediatek-filogic-bazis_ax3000wm-initramfs-recovery.itb
bootm 0x46000000
```

Install kmod-mtd-rw and activate it:
```
apk update && apk add kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
```
Upload to the router and write OpenWrt BL2 and FIP bootloader:
```
mtd write openwrt-mediatek-filogic-bazis_ax3000wm-preloader.bin BL2
mtd write openwrt-mediatek-filogic-bazis_ax3000wm-bl31-uboot.fip FIP
```
Prepare ubi partition:
```
ubidetach -p /dev/mtd4
ubiformat /dev/mtd4 -y
ubiattach -p /dev/mtd4
```

Upgrade via luci web interface with sysupgrade file or by issuing a command:
```
sysupgrade -n openwrt-mediatek-filogic-bazis_ax3000wm-squashfs-sysupgrade.itb
```
Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: #21813
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Backport the PSE-PD (Power Sourcing Equipment - Powered Device)
framework updates from Linux 6.13 through 6.19. This brings modern
PoE (Power over Ethernet) controller support to OpenWrt, enabling
userspace control of PSE hardware via ethtool.

Key features:
- Enhanced ethtool integration for PSE status and configuration
- Power domain support with budget evaluation strategies
- PSE event reporting via netlink
- Port priority management for power budget allocation
- New Si3474 PSE controller driver

Backported commits:

v6.13 core framework and TPS23881 improvements:
- 6e56a6d47a7f net: pse-pd: Add power limit check
- 0b567519d115 net: pse-pd: tps23881: Simplify function returns
- 4c2bab507eb7 net: pse-pd: tps23881: Use helpers to calculate bit offset
- f3cb3c7bea0c net: pse-pd: tps23881: Add missing configuration register
- 3e9dbfec4998 net: pse-pd: Split ethtool_get_status
  into multiple callbacks
- 4640a1f0d8f2 net: pse-pd: Remove is_enabled callback from drivers
- 7f076ce3f173 net: pse-pd: tps23881: Add power limit
  and measurement features
- 10276f3e1c7e net: pse-pd: Fix missing PI of_node description
- 5385f1e1923c net: pse-pd: Clean ethtool header of PSE structures

v6.17 power domains and event support:
- fa2f0454174c net: pse-pd: Introduce attached_phydev to pse control
- fc0e6db30941 net: pse-pd: Add support for reporting events
- f5e7aecaa4ef net: pse-pd: tps23881: Add support for PSE events
- 50f8b341d268 net: pse-pd: Add support for PSE power domains
- 1176978ed851 net: ethtool: Add support for power domains index
- c394e757dedd net: pse-pd: Add helper to report hw enable status
- ffef61d6d273 net: pse-pd: Add support for budget evaluation strategies
- 359754013e6a net: pse-pd: pd692x0: Add PSE PI priority feature
- 24a4e3a05dd0 net: pse-pd: pd692x0: Add controller and manager power
- 56cfc97635e9 net: pse-pd: tps23881: Add static port priority feature
- d12b3dc10609 net: pse-pd: pd692x0: reduce stack usage

v6.18 Si3474 driver and fixes:
- 1c67f9c54cdc net: pse-pd: pd692x0: Fix power budget leak
- 7ef353879f71 net: pse-pd: pd692x0: Skip power budget when undefined
- a2317231df4b net: pse-pd: Add Si3474 PSE controller driver

v6.19 maintenance and TPS23881B support:
- 2c95a756e0cf net: pse-pd: tps23881: Fix current measurement scaling
- f197902cd21a net: pse-pd: pd692x0: Replace __free macro
- 6fa1f8b64a47 net: pse-pd: pd692x0: Separate configuration parsing
- 8f3d044b34fe net: pse-pd: pd692x0: Preserve PSE configuration
- 4d07797faaa1 net: pse-pd: tps23881: Add support for TPS23881B

Signed-off-by: Carlo Szelinsky <github@szelinsky.de>
Link: #21810
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add \ to fix parsing with make 4.1.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: #21910
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Drop a register write sequence from the USXGMII setup for RTL931x in
favor of using a function that is already present. From the name, the
function initializes LEQ DFE. Though it's not yet clear what it exactly
does, this is already better then having a sequence with no explanation
somewhere in the code.

Apparently, when this code was added, the function wasn't present
but it's content was just added here as single usage.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: #21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
From the Realtek SDK we know that the chip type tell us whether a chip
is a normal chip or an engineering sample/testchip [1]. Such engineering
samples likely never reach any consumer device, only some initial
development boards. So far we haven't encountered any device with that,
thus the code paths handling this are practically dead and can hardly be
checked of they work properly. To focus on support for the devices we
actually have, drop support for such engineering samples/testchips. This
may be readded later if there's sufficient need for this.

[1] https://github.com/plappermaul/realtek-doc/blob/3261cf2e6150a519a1d50d1afecd7ad98644cdd6/sources/rtk-dms1250/system/drv/swcore/chip_probe.c#L345

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: #21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The SerDes setup for RTL931x relies on chip specifics in some cases,
Determining both usually requires some register operations. But we can
avoid to do this every time again and again since the information is
static anyway. Thus, move this to initialization for RTL93xx, only read
once and store it in the global control structure. Though not used for
RTL930x, it has the same registers and information.

While at it, give referenced defines a proper prefix.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: #21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Currently, the CMU is configured after media specific settings have been
set. This seems to work however does not make that much sense. The
proper clock should be configured before the TX/RX channels are
configured. Thus, move the call to the CMU configuration above the media
handling.

While at it, handle the return code of the CMU config properly.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: #21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add some comments to several register writes explaining what these
fields are. The information was extracted from the SDK. This allows to
understand much better what's going on there.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: #21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The function 'rtpcs_931x_sds_init_leq_dfe' was taken over mostly as-is
from the SDK. After looking at what it actually does (by seeing which
register are written and how they are used elsewhere), it becomes clear
that 'init' isn't the correct term to describe what it does. It sets the
LEQ and DFE parameters to baseline values (mostly 0) and turns off auto
mode, switching to manual LEQ/DFE and forcing those baseline values.
This is rather a reset to a known state instead of an initialization.
Name the function accordingly.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: #21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
There is still a stray call in setup_serdes to read the current CMU
band. The only effect is that the current band is printed to the log, the
value itself isn't used for anything further. Drop this since it's not
needed.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: #21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
RTL930x and RTL931x basically share the same logic for mac_config().
No need to duplicate that logic in two functions and to call one
from the other.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: #21895
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
As prep work to support the A52x/T52x-series, bump the TFA to use
the 2.14 release.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Compile-tested: all targets
Runtime-tested:
 - Linksprite pcDuino v2 (A10)
 - Banana Pro (A20)
 - Banana Pi M2 Berry (V40)
 - Banana Pi P2 Zero (H2+)
 - Pine64+ (A64)

Patches refreshed as required.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Add callbacks to intercept WPS M7 reception (registrar side) and M8
reception (enrollee side), allowing external code to inject extra
encrypted attributes and optionally skip credential building.

On the registrar side, the m7_rx callback receives the decrypted M7
content and can return extra data to include in M8's encrypted settings
as well as a flag to skip credential generation.

On the enrollee side, add a wps_set_m7 method to set extra encrypted
data for M7, and a m8_rx callback to handle the decrypted M8 content
externally.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Code was moved from 601-ucode_support.patch into ucode.{c,h},
but the patch still contained the old hunks. As a result, the patch
no longer applies.

Fix this by dropping the moved code from 601-ucode_support.patch.

Fixes: a775634 ("hostapd: extend DPP ucode API with WPS M7/M8 encrypted settings handling")
Signed-off-by: Nick Hainke <vincent@systemli.org>
There are two redundant sections. One at 0x0 and the other at 0x80000.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: #16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
plappermaul and others added 30 commits February 21, 2026 20:33
Place it where it belongs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: #22068
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Place it where it belongs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: #22068
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Avoid a family_id check and derive the values from the cpu port.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: #22068
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The banana pi r4 comes with 2 sfp+ ports running at 10gbps
Readd support for aquantia sfp+ modules that was removed by
57a127c

Closes: #19878
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
Link: #19884
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Backport patches from upstream u-boot and mtk-openwrt-feeds to fix
MT7981 register offset issue and correct MT798x IES register config.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: #21423
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Backport patches from upstream linux and mtk-openwrt-feeds to fix
MT7981 register offset issue and correct MT798x IES register config.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: #21423
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Userspace handling is deprecated. NVMEM allows flexibility in terms of
exotic setups by avoiding random MAC addresses.

u-boot env-size taken from the entry in uboot-envtools

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: #22107
Signed-off-by: Robert Marko <robimarko@gmail.com>
Userspace handling is deprecated. NVMEM allows more flexibility in terms
of exotic setups while keeping correct MAC addresses.

env-size taken from file in uboot-envtools.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: #22107
Signed-off-by: Robert Marko <robimarko@gmail.com>
Given that Linksys is the same brand and probably use the same OEM, it
stands to reason all devinfo hw_mac_addr implementations are the same.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: #22092
Signed-off-by: Robert Marko <robimarko@gmail.com>
299a51f0c301 global: add support for PSE-PD control

Signed-off-by: Robert Marko <robimarko@gmail.com>
Register phy led_triggers earlier to avoid AB-BA deadlock.

Fixes: #18472
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: #22136
Signed-off-by: Robert Marko <robimarko@gmail.com>
The RB750r2 (HEXLite) does not have wifi and those packages bloat the image
by a significant amount. When building a custom image with WireGuard and
booting that from initramfs, there wasn't enough space left in tmpfs to
upload and flash the squashfs image. Investigating what packages I could
remove, I discovered these unneeded ones.

Signed-off-by: Eicke Herbertz <wolletd@posteo.de>
Link: #22134
Signed-off-by: Robert Marko <robimarko@gmail.com>
We do not want to rely on the soc_info structure. But at the moment
it is still referenced in several places. Add an EXPORT() to it.
So drivers that need access to this structure can be build as modules.

Suggested-by: Balázs Triszka <info@balika011.hu>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: #22121
Signed-off-by: Robert Marko <robimarko@gmail.com>
The ethernet driver has a hard link to the dsa driver. Especially
the setup_tc() function must be available when the driver loads.
Decouple it by using a dsa callback recipe.

Suggested-by: Balázs Triszka <info@balika011.hu>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: #22121
Signed-off-by: Robert Marko <robimarko@gmail.com>
The makefile recipe is wrong and a module compilation tries
to build each object individually. Fix that. This allows to
build the dsa driver as a module.

Suggested-by: Balázs Triszka <info@balika011.hu>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: #22121
Signed-off-by: Robert Marko <robimarko@gmail.com>
sc->gpiochip is assigned to gc when it should be the other way around.
This allows gpiod_free to work properly.

Fixes: e78dc2e ("mac80211: ath9k: clean up gpiochi")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: #22158
Signed-off-by: Robert Marko <robimarko@gmail.com>
This adds kernel packages for the Microchip KSZ9477 switch family.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: #22120
Signed-off-by: Robert Marko <robimarko@gmail.com>
The KSZ9477 driver was added to the cortexa53 kernel to support the
Gateworks Venice product family which has a board with this switch. Now
that the kmod-dsa-ksz9477 driver is available as a package remove the
static configuration ad add the package.

This resolves an issue caused by having the switch driver static and the
PHY driver as a module such that the PHY driver was not registered early
enough to be used causing some errata to not be worked around.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: #22120
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use libdeflate for faster and better compression in FitImages.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Instead of redifining the DEVICE_PACKAGES, make sure to expand the list
so yafut is included by default as well.

Fixes: 42cd486 ("ath79: remove kmod-ath9k and wpad from Mikrotik RB750r2")
Signed-off-by: Robert Marko <robimarko@gmail.com>
On MT7620-class platforms (CONFIG_NET_RALINK_MT7620) we observe sporadic
wrong-jump-targets, kernel oopses, hanging, corrupted backtraces or even
"half-written" instructions when the compiler emits a direct 'jal imm26'
call.
This is triggered in:
  - the small random helpers inside get_random_u32_below(), and
  - the blkcg_maybe_throttle_current() call in resume_user_mode_work().

This patch forces those two call sites to use an indirect call via
a volatile function pointer (load into register + jalr) when building
for MT7620, avoiding embedding a 26-bit immediate jump target.

Additionally, on MT7620 builds the exec path in fs/exec.c is modified:
  - skip arch_align_stack() + PAGE_ALIGN() in setup_arg_pages()
    because the micro-randomization (< PAGE_SIZE) implemented by many
    ports (including MT7620) is negated immediately by PAGE_ALIGN().
    Skipping the redundant PAGE_ALIGN() reduces exposure to the
    problematic code pattern.

These changes are targeted workarounds for MT7620; behavioral logic is unchanged.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: #20553
Signed-off-by: Robert Marko <robimarko@gmail.com>
Needed for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
The DASAN H660GM-A GPON ONT exists in two hardware variants, one
distributed by ISPs and one sold directly by the manufacturer [1].

Split the single DTS into a shared dtsi and per-variant DTS files
with the correct GPIO mappings, flash layout, and LED definitions.

Variant comparison:

  Feature        | Airtel                    | Generic
  ---------------+---------------------------+-------------------------
  Supplied by    | Airtel Xstream Fiber      | Retail
  Flash          | Micron MT29F2G01ABAGD     | Micron MT29F1G01ABAFD
                 | 256 MB                    | 128 MB
  Known P/N      | DPW-G-P-66GMAZ-A3         | DPW:G-P-660GMAY-G0
                 | (some units unlabelled)   | DPW:G-P-660GMAY-G3
  WPS LED        | Yes                       | No
  WLAN button    | No                        | Yes
  USB LED        | No                        | Yes
  LAN LEDs       | Green only                | Green + Amber

[1] https://dasanns.com/en/solution/detail.php?mode=view&cat_no=32&offset=&idx=122

Tested-by: Arif Rahman Hakim <arif2785id@gmail.com>
Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: #22095
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Due to a missing include, the constant UINT_MAX is undefined. This
fixes issues when building v25.12.0-rc5. Including a newer version of
iproute2 would include the patch, but causes other building issues.

Signed-off-by: Jonas Lochmann <openwrt@jonaslochmann.de>
Link: #22128
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
75bedc5 wireless-regdb: Update regulatory info for Australia (AU) for 2025
a6e5195 wireless-regdb: Update broken link in regulatory.bin(5) manpage
9e8c67f wireless-regdb: Update regulatory info for Malaysia (MY) for 2024
61a4637 wireless-regdb: Update regulatory info for Malaysia (MY) for 2025
5cefe55 wireless-regdb: Update regulatory info for Tunisia (TN) on 6GHz for 2025
1a729ae wireless-regdb: Update regulatory info for Canada (CA) for 2025
ea20dfa wireless-regdb: update regulatory database based on preceding changes

Link: #22150
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The reset line wired to the RTL8231 on the GS1900 series may also
connect to other external ICs on the board. On the GS1900-24E, the
reset line is wired (via buffers) to the board's RTL8231 expanders and
the RTL8218 phys. As these external devices (phys) are on different
busses, the reset line shouldn't be specified on one bus or the other.

Drop the reset specification from the generic GPIO description, so it
can be added back on a per-device basis after confirming the behavior.

Link: #18620
Fixes: fd978c2 ("realtek: Enable Zyxel GS1900's RTL8231 reset line")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
The GPIO line connecting to the reset signals of the GS1900-24E(A1)'s
external ICs (RTL8218B phys and RTL8231 expander) cannot be asserted by
the MDIO subsystem, as the reset is shared between busses.

To prevent users from accidentally asserting the reset line, a GPIO hog
is created to permanently de-assert the signal, reliably keeping the
phys and GPIO expanders on.

Tested-by: Simon Fischer <simi.fischa@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Use clock index macros defined in dt-bindings header to improve the
code readability.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: #22163
Signed-off-by: Robert Marko <robimarko@gmail.com>
Userspace handling is deprecated. Once mac-base goes upstream, the patch
itself can go upstream as well.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: #22058
Signed-off-by: Robert Marko <robimarko@gmail.com>
69a5afc9713a bridge: skip present toggle in bridge_free_member() when device is active

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.