<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/blocktrron/package, branch master</title>
<subtitle>Staging tree of David Bauer</subtitle>
<id>https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/'/>
<updated>2026-10-16T10:01:56Z</updated>
<entry>
<title>hostapd: use subelement detail definition</title>
<updated>2026-10-16T10:01:56Z</updated>
<author>
<name>David Bauer</name>
</author>
<published>2026-10-15T09:45:43Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=5c77e4f431bfe6d8287294e16e56aa7c095b51f5'/>
<id>urn:sha1:5c77e4f431bfe6d8287294e16e56aa7c095b51f5</id>
<content type='text'>
Use the subelement detail value definition to improve code readability.

No functional change.

Signed-off-by: David Bauer &lt;mail@david-bauer.net&gt;
</content>
</entry>
<entry>
<title>hostapd: use SSID subelement definition</title>
<updated>2026-10-16T10:01:56Z</updated>
<author>
<name>David Bauer</name>
</author>
<published>2026-10-15T09:22:09Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=995d38f6bdd8124f1877d7ed3cb9177e0e8eb3d0'/>
<id>urn:sha1:995d38f6bdd8124f1877d7ed3cb9177e0e8eb3d0</id>
<content type='text'>
For beacon request subelements, a dedicated mapping of types exist. Use
the correct type definition to make the code more consistent.

No functional change, as both definitions resolve to 0.

Signed-off-by: David Bauer &lt;mail@david-bauer.net&gt;
</content>
</entry>
<entry>
<title>qualcommax: ipq50xx: add support for Xunison Exigo Hub D50 5G</title>
<updated>2026-10-16T07:52:28Z</updated>
<author>
<name>Steve Meek</name>
</author>
<published>2026-10-06T14:49:51Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=5df6ceb3d4a4783920c04d3523809ac2749e4891'/>
<id>urn:sha1:5df6ceb3d4a4783920c04d3523809ac2749e4891</id>
<content type='text'>
The Xunison Exigo Hub D50 5G is a 5G/LTE router with Wi-Fi 6. It is also
sold as the Zearts D50 5G.

Specifications:
  SoC:      Qualcomm IPQ5018, dual-core Cortex-A53 @ 1.0 GHz
  RAM:      512 MiB
  Flash:    128 MiB SPI NAND (ESMT F50D1G41LB)
  WLAN:     IPQ5018 2.4 GHz, QCN9074 5 GHz (PCIe), both 802.11ax
  Ethernet: 1x GbE WAN (IPQ5018 internal GE PHY, gmac0)
            3x GbE LAN (QCA8337 switch, SGMII to gmac1)
  WWAN:     Quectel RM500Q-AE, 5G Sub-6 / LTE Cat 16, on USB 2.0 and
            PCIe
  Buttons:  reset, WPS
  LEDs:     MESH (green/red), 5G (green/red), 4G, WiFi, Internet, WAN;
            power is hardwired
  Power:    12 V / 2 A DC
  Serial:   115200 8N1, 4-pin header JP1 next to SW4 on the main board,
            from pin 1: VCC, TX, RX, GND

Notes:
- WAN is gmac0 wired straight to the internal GE PHY, not a switch
  port; its netdev is named wan by the label property.
- The console RX line (gpio20) is pulled up. Left floating with nothing
  on the header it causes an interrupt storm and, on some units, a hang
  at boot.
- USB is 2.0 only: the controller is limited to the HS PHY and clocks
  its pipe from UTMI. The 5 V supply for the port and the modem is
  switched by gpio24 (active low).
- MACs follow the stock firmware: LAN uses 0:art 0x0, WAN 0:art 0x6.
  The label has no MAC printed, so there is no label-mac-device.
- Wi-Fi calibration data and MAC addresses come from 0:art through
  nvmem cells on the Wi-Fi nodes (calibration: IPQ5018 at 0x1000,
  QCN9074 at 0x26800). The caldata holds the Qualcomm placeholder MAC,
  so the radios take the 0:art 0x0 MAC + 2 and + 3 instead.
- Board data for both radios is submitted separately to
  firmware_qca-wireless under the calibration variant
  Xunison-Exigo-Hub-D50-5G, both taken from the stock firmware:
  bdwlan.b24-brax for the IPQ5018 and qcn9000/bdwlan.ba0 for the
  QCN9074. The brax file is the vendor's board variant; on my unit it
  outperformed the bdwlan.b24 that the stock firmware loads.
- The modem power line (gpio31) has no consumer and is kept high with a
  GPIO hog.
- The Internet LED is lit while the modem's wwan0 is up. The WiFi LED
  uses the network trigger in link mode, so it is lit while an AP is up
  on either radio; the phyNradio triggers never light it with ath11k on
  this board. The 4G and 5G LEDs have no trigger, as nothing in the
  kernel reports the modem's access technology.

Modem:
The RM500Q-AE is wired to both USB and PCIe, and its data_interface
setting selects which one carries data. The stock firmware leaves it on
PCIe (data_interface 1,0) and this port uses it there, so no AT command
is needed after installing. It is driven by mhi-pci-generic with MBIM:
data on wwan0, control on /dev/wwan0mbim0 and AT commands on
/dev/wwan0at0. No modem interface is preconfigured; add one with the
"mbim" protocol on /dev/wwan0mbim0.

Installation:
  The factory image is a raw UBI image for the U-Boot web recovery.
  1. Power the router off, hold the reset button and power it on. Keep
     holding until the Internet LED stays lit (about 10 seconds).
  2. Set a computer on a LAN port to 192.168.1.2/24 and open
     http://192.168.1.254
  3. Upload openwrt-qualcommax-ipq50xx-xunison_exigo-hub-d50-5g-squashfs-factory.img
     and wait for the router to reboot.
  Later upgrades use the sysupgrade image.

The port started from George Moussalem's device support in the 4IceG
OpenWrt tree, with the device tree reworked by Lukasz Szczur (LS3434):
USB, the modem supply and the NAND/sysupgrade layout. Thanks to Hostle
for the flashing work on this board and to Rafał Wabik (4IceG) for the
tree it was developed in.

Link: https://forum.openwrt.org/t/adding-support-for-xunison-exigo-d50-5g-zearts-d50-5g-ipq5018/247016
Co-developed-by: George Moussalem &lt;george.moussalem@outlook.com&gt;
Signed-off-by: George Moussalem &lt;george.moussalem@outlook.com&gt;
Co-developed-by: Lukasz Szczur &lt;8sdasfasfas@royaleplaysempire.com&gt;
Signed-off-by: Lukasz Szczur &lt;8sdasfasfas@royaleplaysempire.com&gt;
Co-developed-by: Rafał Wabik &lt;4rafal@gmail.com&gt;
Signed-off-by: Rafał Wabik &lt;4rafal@gmail.com&gt;
Signed-off-by: Steve Meek &lt;stevemeek82@gmail.com&gt;

Link: https://github.com/openwrt/openwrt/pull/25890
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>ipq-wifi: update to Git HEAD (2026-10-15)</title>
<updated>2026-10-16T07:51:39Z</updated>
<author>
<name>Robert Marko</name>
</author>
<published>2026-10-16T07:51:23Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=fe4d665fea6bb2b9a9118dc398cb766dd2572d8d'/>
<id>urn:sha1:fe4d665fea6bb2b9a9118dc398cb766dd2572d8d</id>
<content type='text'>
68e4bae262c0 ipq5018: add BDF for Xunison Exigo Hub D50 5G
5c5244c0b4fc qcn9074: add BDF for Xunison Exigo Hub D50 5G

Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>airoha: introduce device tree overlay support for AN7583</title>
<updated>2026-10-16T07:30:40Z</updated>
<author>
<name>Yalei Zang</name>
</author>
<published>2026-10-09T13:57:16Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=7287a40ccf2d0b17508c68c0c0bd5ac8ac9aa74a'/>
<id>urn:sha1:7287a40ccf2d0b17508c68c0c0bd5ac8ac9aa74a</id>
<content type='text'>
To reduce code duplication across different AN7583 evaluation boards,
introduce a shared multi-EVB base device tree and utilize Device Tree
Overlays (DTSO) for board-specific configurations.

Signed-off-by: Yalei Zang &lt;yalei.zang@airoha.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24926
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>airoha: introduce device tree overlay support for AN7581</title>
<updated>2026-10-16T07:30:40Z</updated>
<author>
<name>Yalei Zang</name>
</author>
<published>2026-09-21T13:55:14Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=04499f8e3b37171f8b1045fe0993946ea319a502'/>
<id>urn:sha1:04499f8e3b37171f8b1045fe0993946ea319a502</id>
<content type='text'>
To reduce code duplication across different AN7581 evaluation boards,
introduce a shared multi-EVB base device tree and utilize Device Tree
Overlays (DTSO) for board-specific configurations.

Signed-off-by: Yalei Zang &lt;yalei.zang@airoha.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24926
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>uboot-airoha: enable OF_LIBFDT_OVERLAY support</title>
<updated>2026-10-16T07:30:39Z</updated>
<author>
<name>Yalei Zang</name>
</author>
<published>2026-08-25T08:01:27Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=934b7221bdd321b79cf0f50dc98828ea3547063b'/>
<id>urn:sha1:934b7221bdd321b79cf0f50dc98828ea3547063b</id>
<content type='text'>
Enable CONFIG_OF_LIBFDT_OVERLAY for the AN7581 and AN7583
EVB defconfigs to support loading and applying device tree
overlays at boot time.

Signed-off-by: Yalei Zang &lt;yalei.zang@airoha.com&gt;
Link: https://github.com/openwrt/openwrt/pull/24926
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>libjson-c: fix memory leak in json_object_put()</title>
<updated>2026-10-15T20:06:28Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2026-10-15T19:44:48Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=e95288dcd5fa61004c08a07f5d051a3af2192872'/>
<id>urn:sha1:e95288dcd5fa61004c08a07f5d051a3af2192872</id>
<content type='text'>
json-c 0.19 wraps the actual object free in json_object_put() inside an
assert(), so when compiled with NDEBUG (as OpenWrt does) the free is
compiled out and every JSON object/array parsed by users such as
ucode's json() leaks memory (~1.7KB per object).

Apply the upstream fix, moving the free call outside the assert:

  json-c/json-c@f291fa81c6f21d925ea771a8cca597f5886309cc
  "free objects outside assert() in json_object_put"

Fixes: https://github.com/ucode-lang/ucode/issues/495
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>mediatek: filogic: comfast cf-wa933: replace 128M variant with all-in-UBI</title>
<updated>2026-10-15T20:03:42Z</updated>
<author>
<name>Andrii Kuiukoff</name>
</author>
<published>2026-09-09T15:29:22Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=9a161faa40ec1a130a07da13e34e3d3a7f966a2c'/>
<id>urn:sha1:9a161faa40ec1a130a07da13e34e3d3a7f966a2c</id>
<content type='text'>
Replace the expanded fixed-partition 128M target with a dedicated
all-in-UBI target and OpenWrt U-Boot. Include bootloader configuration,
image generation and upgrade support together.

Share the fixed-partitions container and read-only 1 MiB BL2 range
in the common DTSI. Declare the remaining partitions and factory NVMEM
data in the variant DTS files. Keep NMBM on the legacy target and preserve
its stock partition map and 64 MiB UBI region.
The new layout uses a 1 MiB bl2 partition followed by a 127 MiB ubi
partition, with factory and fit NVMEM/rootdisk references and redundant
U-Boot environment volumes. Set the UBI variant boot arguments to
`root=/dev/fit0 rootwait` and identify its fit volume as the root disk.
The bootloader supplies memory and console parameters.

Add the U-Boot configuration, default environment and target, recovery
FIT and sysupgrade FIT images, BL2 and BL31/U-Boot artifacts, UBI
environment access and FIT upgrade checks. Recognise the new compatible
in board defaults. Bump the uboot-tools package release for the
new environment configuration support.

The installer creates fip, factory, ubootenv, ubootenv2, recovery and
initial fit volumes. U-Boot and sysupgrade manage the production FIT
and writable rootfs_data. DTS declarations identify volumes consumed
by Linux; they do not themselves create or populate factory data.

MAC address layout
------------------
Factory data is read from the legacy Factory MTD partition or the
factory UBI volume; the offsets within the data are unchanged.
Unit-specific address bytes are xx:xx:xx.

LAN: factory offset 0xe000, mac-base cell index 0.
WAN: factory offset 0xe000, mac-base cell index 1 (LAN MAC + 1).
2.4 GHz: factory offset 0x4, mac-base cell index 0.
5 GHz: factory offset 0x8000, mac-base cell index 0.

Flash instructions
------------------
Conversion requires an installer; the sysupgrade ITB alone cannot
convert the stock partition layout or preserve its factory data.

1. Start from the standard CF-WA933 OpenWrt target with stock MTD
   partitions. Back up BL2, u-boot-env, Factory and FIP with mtd dump,
   and copy all four files off the device before proceeding:

     mtd dump BL2 &gt; /tmp/BL2.bin
     mtd dump u-boot-env &gt; /tmp/u-boot-env.bin
     mtd dump Factory &gt; /tmp/Factory.bin
     mtd dump FIP &gt; /tmp/FIP.bin

2. Obtain the CF-WA933 installer from:
   https://github.com/andros-ua/owrt-ubi-installer/releases
   Its source and build script are available at:
   https://github.com/andros-ua/owrt-ubi-installer/tree/cf-wa933
   Connect the PC to a LAN port and use 192.168.1.254/24; the device
   is at 192.168.1.1. Copy the resulting image to /tmp and run:

     cd /tmp
     sysupgrade -n \
       openwrt-*-comfast_cf-wa933-ubi-initramfs-recovery-installer.itb

   This external installer extracts calibration/MAC data from the old
   Factory region before erasing it, creates and populates the static
   factory UBI volume, writes BL2 and fip, and creates the redundant
   environment, recovery and initial fit volumes. It copies one NAND
   eraseblock of factory data; keep the full external Factory backup.
   The blue WLAN LED blinks during installation and stays lit for five
   seconds before reboot. Run the installer only for initial conversion.

3. Once recovery boots, copy the production image to /tmp and run:

     cd /tmp
     sysupgrade -n \
       openwrt-*-comfast_cf-wa933-ubi-squashfs-sysupgrade.itb

To return to the legacy layout, boot the standard CF-WA933 initramfs
in RAM, restore the saved BL2/u-boot-env/Factory/FIP to their original
MTD partitions (using kmod-mtd-rw when needed), then sysupgrade to the
standard CF-WA933 image. The restored vendor bootloader's recovery
page can install vendor firmware. UART recovery of BL2/FIP is also
available using https://github.com/981213/mtk_uartboot.

Signed-off-by: Andrii Kuiukoff &lt;andros.ua@gmail.com&gt;
Signed-off-by: Guillaume RISCHARD &lt;git@stereo.lu&gt;
Link: https://github.com/openwrt/openwrt/pull/24590
Signed-off-by: Jonas Jelonek &lt;jonas@jonasjelonek.de&gt;
</content>
</entry>
<entry>
<title>base-files: legacy-sdcard: don't erase extra partitions on sysupgrade</title>
<updated>2026-10-15T08:38:14Z</updated>
<author>
<name>John Audia</name>
</author>
<published>2026-10-04T08:31:40Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=89d8b6df9c67ecf8d16ff61593b7a245c99e269b'/>
<id>urn:sha1:89d8b6df9c67ecf8d16ff61593b7a245c99e269b</id>
<content type='text'>
Writing the full image erases partitions the image lacks. Refuse that at
upgrade time unless sysupgrade -p is given, so --force and failsafe
cannot bypass it, and read MBR and GPT tables the same way everywhere.

sysupgrade now exports SAVE_PARTITIONS to the image check and the -p help
text mentions the erase.

Signed-off-by: John Audia &lt;therealgraysky@proton.me&gt;
</content>
</entry>
</feed>
