<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/nbd/target/linux, branch master</title>
<subtitle>Felix Fietkaus staging tree</subtitle>
<id>https://git-03.infra.openwrt.org/openwrt/staging/nbd/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/'/>
<updated>2026-08-21T15:50:22Z</updated>
<entry>
<title>realtek: pse: replace pending with backport patches</title>
<updated>2026-08-21T15:50:22Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-07-26T14:25:53Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=0cc0f5f64c7dae298a4d58dad2f5f734227e485e'/>
<id>urn:sha1:0cc0f5f64c7dae298a4d58dad2f5f734227e485e</id>
<content type='text'>
The Realtek PSE MCU driver patches have been accepted upstream, being
available in v7.3. Replace the current pending patches with the
backported variants. This requires some additional DTS changes since the
final version differs from what was merged as pending.

Link: https://github.com/openwrt/openwrt/pull/24821
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>kernel: backport adt7470 PWM/thermal support from v7.3</title>
<updated>2026-08-21T15:48:15Z</updated>
<author>
<name>Luiz Angelo Daros de Luca</name>
</author>
<published>2026-07-15T02:33:37Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=574b9222535d0589b9b9ac92edff664148baa018'/>
<id>urn:sha1:574b9222535d0589b9b9ac92edff664148baa018</id>
<content type='text'>
Backport a series of upstream patches for the adt7470 hwmon driver,
accepted for kernel v7.3. It exposes the fan control lines via the
generic PWM framework and thermal zone sensors.

Instead of relying on userland scripts, the kernel can now control
the fan speed directly through standard cooling maps and PWM fans
configured in the DTS. Currently in the tree, only edgecore_ecs4100-12ph
seems to use this chip.

Signed-off-by: Luiz Angelo Daros de Luca &lt;luizluca@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24803
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>kernel: 6.12-6.18: move ksmbd signing fix to backports</title>
<updated>2026-08-21T15:44:35Z</updated>
<author>
<name>Andrea Pesaresi</name>
</author>
<published>2026-08-21T08:10:05Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=d9f4284a719da3c391876774219b5be0b5fea2a0'/>
<id>urn:sha1:d9f4284a719da3c391876774219b5be0b5fea2a0</id>
<content type='text'>
The multi-iov signing fix has moved from the SMB code-review tree to
ksmbd-for-next.

Move both patches from pending to backport, number them 502 so the v7.1
session teardown fix is applied first, and refresh them for the new
ordering.

Match the continuation-line indentation in the upstream commit.

Link: https://github.com/smfrench/smb3-kernel/commit/a4c06ff2eb66fc704582a443b47798a52c4303e2

Signed-off-by: Andrea Pesaresi &lt;andreapesaresi82@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24804
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>kernel: 6.12-6.18: backport ksmbd session teardown fix</title>
<updated>2026-08-21T15:44:34Z</updated>
<author>
<name>Andrea Pesaresi</name>
</author>
<published>2026-08-21T08:09:51Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=c53603002d6c123ee911919fdb87afdf48eb8eb7'/>
<id>urn:sha1:c53603002d6c123ee911919fdb87afdf48eb8eb7</id>
<content type='text'>
Backport the upstream ksmbd file-lifetime hardening for session and tree
connection teardown. The fix closes races that can corrupt file lists,
over-release or leak file references, and sleep while holding the file
table spinlock.

Refresh the patches against Linux 6.12.103 and 6.18.44.

Link: https://git.kernel.org/torvalds/c/a42896bebfcc

Signed-off-by: Andrea Pesaresi &lt;andreapesaresi82@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24804
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>mediatek: filogic: fix GatoNetworks GDSP GPIOs exports</title>
<updated>2026-08-21T07:09:06Z</updated>
<author>
<name>Enrico Mioso</name>
</author>
<published>2026-08-20T16:48:27Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=f1bf2d18392ef7b9f5f7bc6773055cfbddde371b'/>
<id>urn:sha1:f1bf2d18392ef7b9f5f7bc6773055cfbddde371b</id>
<content type='text'>
DTS GPIOs export properties handling changed in commit
0ca78951739a1e6e2f569438764381bd5fdb5190. Update the devicetree
accordingly. This commit has been tested on single-modem and
multi-modem versions of the device.
Thanks a lot to Rosen Penev for pointing this out.

Signed-off-by: Enrico Mioso &lt;mrkiko.rs@gmail.com&gt;
CC: Rosen Penev &lt;rosenp@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24176#issuecomment-5074386039
Link: https://lists.openwrt.org/pipermail/openwrt-devel/2026-August/044986.html
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>econet: en7528: add support for JioFiber JCOW407/JCOW407-IN</title>
<updated>2026-08-21T06:57:55Z</updated>
<author>
<name>Ahmed Naseef</name>
</author>
<published>2026-08-20T05:36:14Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=193648a73a472460620c74a96d6496b791185d2c'/>
<id>urn:sha1:193648a73a472460620c74a96d6496b791185d2c</id>
<content type='text'>
The JioFiber JCOW407 is an ISP provided GPON ONT and home router, based
on the EcoNet EN7528. The JCOW407-IN is the same board with a
second-source SPI NAND, Winbond W25M02G in place of the Micron
MT29F2G01, and is covered by the same image.

Both share their flash layout, MAC pool, WiFi EEPROM offsets, PCIe
topology, switch and USB with the JioFiber JCOW414 and reuse
en7528_jiofiber.dtsi. The LEDs and buttons are wired differently: the
RGB status LED is on GPIO 2/3/4 rather than 27/25/23, WPS is on GPIO 1
rather than GPIO 4, and the two colours of each LAN jack are swapped,
green on the odd pin and amber on the even one.

Specifications
==============
* SoC: EcoNet EN7528
* RAM: 512MiB DDR3
* Flash: 256MiB SPI NAND (Winbond W25M02G or Micron MT29F2G01)
* WiFi 2.4GHz: MT7603E 2T2R, on PCIe port 0
* WiFi 5GHz: MT7663 2T2R 802.11ac, on PCIe port 1
* Ethernet: 4x 10/100/1000
* LEDs: 1x RGB status (3 GPIOs), plus green and amber per LAN jack
* Buttons: Reset, WPS
* USB: 2x USB ports
* UART: 4-pin header, GND 3.3V RX TX, 115200 8n1
* Other: 1x FXS phone jack, 1 GPON port

Notes
=====
* OpenWrt has to live in the first image slot (tclinux). Which slot the
  vendor firmware boots from varies between units. The bootloader
  picks the slot from a single ASCII byte at flash offset 0x0DFC0000,
  '0' selects tclinux and '1' selects tclinux_slave. If your device is
  booting from the second slot, the flag has to be moved after flashing;
  see "Switching slots" below.
* The green LAN LEDs are described but stay dark until pinctrl support
  lands. This bootloader leaves GPIO 31/33/35/37 muxed to the GPHY LED
  function, so writing the GPIO output has no effect. Muxing them back
  to GPIO makes all four work as ordinary GPIOs. The amber LEDs are
  unaffected, their pins come up in GPIO mode already, as do all eight
  on the JCOW414.
* The rootfs is a UBI volume on an mtd-concat of tclinux_rootfs and the
  7.25MiB region at 0x0D680000 that the vendor partition table does not
  cover, giving 43.25MiB.

Installation
============
Both methods need serial console access. Power the device on, press a
key within one second to stop the bootloader, and log in with
telecomadmin / nE7jA%5m.

Booting an initramfs image over TFTP
------------------------------------
The bootloader runs a TFTP server that only validates the file name
after the transfer has finished, so any name other than tcboot.bin or
tclinux.bin lands in RAM without touching the flash.

1. Connect ethernet and give the PC the address 192.168.1.2
2. Upload the image:

     tftp 192.168.1.1 -m binary -v -c put \
       openwrt-econet-en7528-jiofiber_jcow407-initramfs-kernel.bin

   The bootloader answers "Invalid filename, upload failed" after
   reporting "start = 0x80020000". That is expected, the image is in
   RAM at that point.
3. bldr&gt; jump 80020000

Booting an initramfs image over XMODEM
--------------------------------------
1. Get the image length in hex:

     printf '%X\n' "$(stat -c%s \
       openwrt-econet-en7528-jiofiber_jcow407-initramfs-kernel.bin)"

2. bldr&gt; xmdm 80020000 &lt;file length hex&gt;
3. Once "CCCC" appears, start the transfer from the terminal, e.g. with
   picocom --send-cmd "lsx -vv" -b 115200 /dev/ttyUSB0 and ctrl+a ctrl+s
4. bldr&gt; jump 80020000

Installing permanently
----------------------
1. Load openwrt-econet-en7528-jiofiber_jcow407-squashfs-tclinux.trx into
   RAM with either method above
2. Write it to the first slot:

     bldr&gt; flash 80000 80020000 &lt;file length hex&gt;

3. Move the boot flag to the first slot as described below, then
   power-cycle

Switching slots
---------------
From OpenWrt:

    en75_chboot                # show the active slot
    en75_chboot openwrt        # first slot, OpenWrt
    en75_chboot factory        # second slot, vendor

From the vendor firmware:

    sys bootflag read          # show the active slot
    sys bootflag swap          # switch to the other slot

From the bootloader, writing the byte directly:

    bldr&gt; memwl a1000000 30   # 30='0' tclinux, 31='1' tclinux_slave
    bldr&gt; memrl a1000000       # read it back to confirm the staged byte
    bldr&gt; flash dfc0000 a1000000 1

Power-cycle afterwards.

Reverting to stock is "en75_chboot factory" followed by a power cycle,
or the same bootloader sequence with 31 instead of 30.

MAC addresses
=============
MAC addresses are stored in the bootloader partition at offset 0x3fe48
and are assigned exactly as the vendor firmware assigns them:

    offset 0    vendor WAN/PON
    offset 1    LAN, br-lan and eth0
    offset 2    WLAN 2.4GHz
    offset 3    WLAN 5GHz

Signed-off-by: Ahmed Naseef &lt;naseefkm@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24798
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>econet: en7528: add support for JioFiber JCOW414/JCO4032</title>
<updated>2026-08-21T06:57:55Z</updated>
<author>
<name>Ahmed Naseef</name>
</author>
<published>2026-08-20T05:36:14Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=f9002452a65f39d16abb3fae9d9419b7a013e9b5'/>
<id>urn:sha1:f9002452a65f39d16abb3fae9d9419b7a013e9b5</id>
<content type='text'>
The JioFiber JCOW414 is an ISP provided GPON ONT and home router, based
on the EcoNet EN7528.

The JioFiber JCO4032 is a different form factor built on the same
internals and is covered by the same image. Flash layout, bootloader
build, PCIe topology, WiFi EEPROM offsets, MAC pool, LEDs and USB were
all verified to be identical on both.

The parts that are common to every EN7528 board Jio ships live in
en7528_jiofiber.dtsi, leaving the board files to describe only their
LEDs and buttons.

Specifications
==============
* SoC: EcoNet EN7528
* RAM: 512MiB DDR3
* Flash: 256MiB SPI NAND (Micron MT29F2G01)
* WiFi 2.4GHz: MT7603E 2T2R, on PCIe port 0
* WiFi 5GHz: MT7663 2T2R 802.11ac, on PCIe port 1
* Ethernet: 4x 10/100/1000
* LEDs: 1x RGB status (3 GPIOs), plus green and amber per LAN jack
* Buttons: Reset, WPS
* USB: 2x USB ports
* UART: 4-pin header, GND TX RX 3.3V reading from the triangle marking
  towards the PCB edge, 115200 8n1
* Other: 1x FXS phone jack, 1 GPON port

Notes
=====
* OpenWrt has to live in the first image slot (tclinux). Which slot the
  vendor firmware boots from varies between units. The bootloader
  picks the slot from a single ASCII byte at flash offset 0x0DFC0000,
  '0' selects tclinux and '1' selects tclinux_slave. If your device is
  booting from the second slot, the flag has to be moved after flashing;
  see "Switching slots" below.
* The rootfs is a UBI volume on an mtd-concat of tclinux_rootfs and the
  7.25MiB region at 0x0D680000 that the vendor partition table does not
  cover, giving 43.25MiB.

Installation
============
Both methods need serial console access. Power the device on, press a
key within one second to stop the bootloader, and log in with
telecomadmin / nE7jA%5m.

Booting an initramfs image over TFTP
------------------------------------
The bootloader runs a TFTP server that only validates the file name
after the transfer has finished, so any name other than tcboot.bin or
tclinux.bin lands in RAM without touching the flash.

1. Connect ethernet and give the PC the address 192.168.1.2
2. Upload the image:

     tftp 192.168.1.1 -m binary -v -c put \
       openwrt-econet-en7528-jiofiber_jcow414-initramfs-kernel.bin

   The bootloader answers "Invalid filename, upload failed" after
   reporting "start = 0x80020000". That is expected, the image is in
   RAM at that point.
3. bldr&gt; jump 80020000

Booting an initramfs image over XMODEM
--------------------------------------
1. Get the image length in hex:

     printf '%X\n' "$(stat -c%s \
       openwrt-econet-en7528-jiofiber_jcow414-initramfs-kernel.bin)"

2. bldr&gt; xmdm 80020000 &lt;file length hex&gt;
3. Once "CCCC" appears, start the transfer from the terminal, e.g. with
   picocom --send-cmd "lsx -vv" -b 115200 /dev/ttyUSB0 and ctrl+a ctrl+s
4. bldr&gt; jump 80020000

Installing permanently
----------------------
1. Load openwrt-econet-en7528-jiofiber_jcow414-squashfs-tclinux.trx into
   RAM with either method above
2. Write it to the first slot:

     bldr&gt; flash 80000 80020000 &lt;file length hex&gt;

3. Move the boot flag to the first slot as described below, then
   power-cycle

Switching slots
---------------
From OpenWrt:

    en75_chboot                # show the active slot
    en75_chboot openwrt        # first slot, OpenWrt
    en75_chboot factory        # second slot, vendor

From the vendor firmware:

    sys bootflag read          # show the active slot
    sys bootflag swap          # switch to the other slot

From the bootloader, writing the byte directly:

    bldr&gt; memwl a1000000 30   # 30='0' tclinux, 31='1' tclinux_slave
    bldr&gt; memrl a1000000       # read it back to confirm the staged byte
    bldr&gt; flash dfc0000 a1000000 1

Power-cycle afterwards.

Reverting to stock is "en75_chboot factory" followed by a power cycle,
or the same bootloader sequence with 31 instead of 30.

MAC addresses
=============
MAC addresses are stored in the bootloader partition at offset 0x3fe48
and are assigned exactly as the vendor firmware assigns them:

    offset 0    vendor WAN/PON
    offset 1    LAN, br-lan and eth0
    offset 2    WLAN 2.4GHz
    offset 3    WLAN 5GHz

Signed-off-by: Ahmed Naseef &lt;naseefkm@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24798
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>econet: make the TRX header and jump stub configurable per device</title>
<updated>2026-08-21T06:57:54Z</updated>
<author>
<name>Ahmed Naseef</name>
</author>
<published>2026-08-20T05:36:14Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=8b8e47906fc7577825f91ff7eb7cb3f883a38b0a'/>
<id>urn:sha1:8b8e47906fc7577825f91ff7eb7cb3f883a38b0a</id>
<content type='text'>
The tclinux TRX generator hardcodes the address that the bootloader
decompresses the kernel to, and TRX_MODEL is a plain global rather than
a per-device variable, so the last device to set it wins for every
device in the target. The free bootbase jump stub is also emitted as a
big endian instruction, which is wrong on little endian subtargets.

Add a --loadaddr option to tclinux-trx.sh, export TRX_MODEL and
TRX_LOADADDR per device and reset both in Device/Default, and pick the
jump stub encoding from CONFIG_BIG_ENDIAN. Behaviour is unchanged for
the existing devices.

Signed-off-by: Ahmed Naseef &lt;naseefkm@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24798
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>mediatek: drop kmod-switch-rtl8367s package</title>
<updated>2026-08-20T21:49:58Z</updated>
<author>
<name>Mikhail Zhilkin</name>
</author>
<published>2026-08-04T19:35:36Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=725cbf11ff7b034eedd25856bdd2353ed37bbd7e'/>
<id>urn:sha1:725cbf11ff7b034eedd25856bdd2353ed37bbd7e</id>
<content type='text'>
Dropping kmod-switch-rtl8367s leaves it with zero in-tree users. Clean up
the tree by removing its definition in modules.mk.

Keep Realtek SDK located under
target/linux/mediatek/files/drivers/net/phy/rtk/ untouched since it's
necessary for mt7622 devices:
- totolink,a8000ru
- elecom,wrc-2533gent
- buffalo,wsr-2533dhp2

Signed-off-by: Mikhail Zhilkin &lt;csharper2005@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24435
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>mediatek: convert MERCUSYS MR85X to DSA</title>
<updated>2026-08-20T21:49:57Z</updated>
<author>
<name>Mikhail Zhilkin</name>
</author>
<published>2026-08-04T07:44:18Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=0df582fabf996fc1e3717ec36e9565346db54524'/>
<id>urn:sha1:0df582fabf996fc1e3717ec36e9565346db54524</id>
<content type='text'>
Migrate the Mercusys MR85X network switch configuration from the legacy
swconfig architecture to the Distributed Switch Architecture (DSA) driver
framework.

This updates the device tree bindings to utilize the realtek-rtl8365mb
DSA driver for the integrated Realtek RTL8367S switch, enabling proper
native Linux bridging interface management.

Co-authored-by: Schneider Azima &lt;Schneider-Azima12@protonmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/19445
Co-authored-by: Mieczyslaw Nalewaj &lt;namiltd@yahoo.com&gt;
Co-authored-by: Mikhail Zhilkin &lt;csharper2005@gmail.com&gt;
Signed-off-by: Mikhail Zhilkin &lt;csharper2005@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24435
Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
</feed>
