Releases: mfoster978/OpenWrt-ZBT-Z8803BE-Mega
Release list
OpenWrt Mega Edition — firmware-202609170605.1
Highlights
- The LAN IPv6 default changes from Manual to Auto for new or unset modem profiles and in LuCI. Existing saved Manual, Auto or Disabled policies are preserved.
- In Auto mode, the guard suppresses stock LAN RA/DHCPv6 when the active cellular WAN lacks delegated-prefix evidence and restores its managed server settings when a prefix returns. This addresses one cause of unusable LAN IPv6; it is not a global IPv6 firewall block or a guarantee against all IPv6 connectivity problems.
- Resolved an issue where dormant or standard QModem extend_prefix and ra_master profile flags bypassed IPv6 suppression under the Auto policy even without an active delegated prefix.
- Built locally against Far5eer v25.12.021 and Linux kernel 6.12.74.
Bug fixes
- Corrected LAN IPv6 guard evaluation logic in /usr/sbin/zbt-lan-ipv6-guard to prevent QModem ra_master and extend_prefix configuration options from overriding Auto suppression when no delegated prefix (PD) is present on the cellular interface.
- Prevented premature release of LAN Router Advertisements (RA) and DHCPv6 service on mobile networks where QModem profile flags are present but upstream carrier IPv6 prefix delegation is unavailable.
Features and additions
- Updated /usr/sbin/zbt-qmodem-profile to initialize new cellular modem profiles with lan_ipv6_policy set to auto instead of manual.
- Updated the LuCI modem configuration interface patch (qmodem-lan-ipv6-v18.patch) to present Auto as the default selection, dynamically suspending RA and DHCPv6 when the active cellular connection lacks a delegated prefix while leaving manual override available.
Upgrade notes
-
Keeping settings from the previous release also keeps any saved Manual policy. To enable the guard, open QModem → Dial Configuration → Edit → LAN IPv6 and choose Auto: require a delegated prefix on each modem where you want it enabled.
-
Local input, regression, image and publication checks passed. One privileged TTL test was skipped locally.
-
Build verification was performed via local compilation and script unit tests; no physical hardware flashing, modem link validation, or over-the-air testing was conducted on a ZBT-Z8803BE device for this release.
-
Existing manual, relay, or hybrid configurations specified by users in LuCI or UCI remain intact, as zbt_lan_ipv6_suppress continues to safeguard custom LAN configurations from unwanted alteration.
-
After flashing, verify your active modem profile settings in LuCI or via UCI under qmodem to confirm whether lan_ipv6_policy is set to auto or manual to align with your carrier's IPv6 prefix delegation behavior.
Build provenance
- Edition: OpenWrt Mega Edition for ZBT-Z8803BE; release
firmware-202609170605.1. - Firmware was compiled on the maintainer's local server. This Actions workflow only validated uploaded assets, generated release notes and published the draft.
- Base: Far5eer
v25.12.021, Linux6.12.74; target ZBT-Link ZBT-Z8803BE. - Repository changes describe intended behavior, not hardware-test certification. This publication workflow did not flash or operate a router.
- Use the device-specific SquashFS sysupgrade image for normal upgrades. The initramfs image is for recovery/testing, not a normal persistent upgrade.
- Verify downloads using the included
SHA256SUMS. Back up settings and read upgrade notes before flashing.
Credits
- Mega Edition developer and maintainer: mfoster978.
- Upstream firmware foundation: 0xFar5eer, with special thanks for assembling the working ZBT-Z8803BE base.
OpenWrt Mega Edition — firmware-202609162305.1
Highlights
- Introduces an opt-in per-modem LAN IPv6 Guard service designed to protect LAN and Wi-Fi clients from broken IPv6 connectivity when cellular carriers provide an IPv6 default route without delegating a routable IPv6 prefix (PD).
- Adds LuCI configuration controls within QModem modem settings for primary and secondary cellular interfaces (slots 4_1 and 2_1) to select between Manual, Auto, and Disabled LAN IPv6 behaviors.
- Defaults safely to Manual mode, leaving existing LAN DHCPv6, Router Advertisement (RA), and custom carrier routing untouched.
Bug fixes
- In Auto mode, addresses the risk of unusable LAN IPv6 when the active cellular WAN has no delegated prefix by suppressing stock LAN RA/DHCPv6 service. This is an opt-in guard, not proof that all IPv6 connectivity problems are resolved.
- Avoids overriding manual or advanced networking configurations by relinquishing control and clearing guard state whenever the owner applies custom RA/DHCPv6 parameters or enables relay/hybrid modes.
Features and additions
- Added the zbt-lan-ipv6-guard daemon and procd init service (/etc/init.d/zbt-lan-ipv6-guard), scheduled to monitor interface state and reload dynamically on qmodem, network, or mwan3 events.
- Integrated the qmodem-lan-ipv6-v18.patch to display a dedicated 'LAN IPv6' dropdown menu in LuCI for QModem slots 4_1 and 2_1, offering 'Manual / preserve LAN IPv6 settings', 'Auto: require a delegated prefix', and 'Disable LAN IPv6 while this modem is active'.
- Implemented automated prefix delegation detection using ubus status queries on cellular interfaces, automatically disabling dhcp.lan.ra and dhcp.lan.dhcpv6 when a prefix is missing and safely restoring server mode when a valid prefix is acquired.
- Included logic to detect active non-cellular WANs or QModem advanced options (such as ra_master or extend_prefix), backing off during its checks so non-cellular IPv6 WANs and, in Auto mode, explicit carrier relay settings take precedence.
- Added default profile provisioning in zbt-qmodem-profile to initialize lan_ipv6_policy=manual for new cellular connection profiles.
Upgrade notes
-
The Disabled choice suppresses stock LAN RA/DHCPv6 while the selected modem is active. It is not a global kernel IPv6 switch or a firewall block; custom relay/hybrid/mixed LAN setups remain owner-managed.
-
Local input, regression, image and publication checks passed, including 12 LAN IPv6 guard tests. One privileged TTL test was skipped locally.
-
Compilation success was verified in local build environments, but physical flashing and live hardware testing were not executed as part of this release; runtime validation on the router is recommended.
-
Existing LAN IPv6 settings remain unchanged upon upgrade because new modem profiles default to 'manual'. Users wanting automatic suppression when carriers omit prefix delegation must explicitly set 'LAN IPv6' to 'Auto' under LuCI QModem settings.
-
After flashing, verify that the zbt-lan-ipv6-guard service is running via '/etc/init.d/zbt-lan-ipv6-guard status' and review system logs using logread to observe guard actions during cellular connection setup.
-
If your cellular service requires hybrid or relay IPv6 modes, ensure QModem relay master or custom odhcpd settings are intact, as custom configurations intentionally bypass automatic guard suppression.
Build provenance
- Edition: OpenWrt Mega Edition for ZBT-Z8803BE; release
firmware-202609162305.1. - Firmware was compiled on the maintainer's local server. This Actions workflow only validated uploaded assets, generated release notes and published the draft.
- Base: Far5eer
v25.12.021, Linux6.12.74; target ZBT-Link ZBT-Z8803BE. - Repository changes describe intended behavior, not hardware-test certification. This publication workflow did not flash or operate a router.
- Use the device-specific SquashFS sysupgrade image for normal upgrades. The initramfs image is for recovery/testing, not a normal persistent upgrade.
- Verify downloads using the included
SHA256SUMS. Back up settings and read upgrade notes before flashing.
Credits
- Mega Edition developer and maintainer: mfoster978.
- Upstream firmware foundation: 0xFar5eer, with special thanks for assembling the working ZBT-Z8803BE base.
OpenWrt Mega Edition — firmware-202609161150.1
Highlights
- Corrected the LuCI web interface display for the Cellular MTU configuration field, resolving an issue that prevented the setting from appearing on supported modem configurations.
- Preserved core platform alignment with Far5eer v25.12.021 and Linux kernel 6.12.74 for the ZBT-Z8803BE platform.
Bug fixes
- Resolved a LuCI form rendering defect in the QModem MTU patch where the render callback signature expected section_id as its first parameter instead of accommodating option_index, section_id, and in_table. Because LuCI passes option_index first, the section check evaluated against the index rather than the section name, improperly hiding the Cellular MTU input field.
- Restored normal LuCI rendering and configuration parsing for the Cellular MTU field under designated modem sections 4_1 and 2_1, while maintaining intentional exclusion for non-matching or external modem configurations.
Features and additions
- No new functional features or protocol additions are documented in this build; repository updates are strictly focused on repairing the Cellular MTU field rendering behavior within LuCI.
Upgrade notes
- This firmware image was compiled in a local maintainer environment and has not been tested via on-hardware flashing or live network execution by the publication workflow; flashing success and runtime stability must be verified on your physical device.
- After flashing, access the LuCI cellular configuration interface and confirm that the Cellular MTU field is now rendered and adjustable on modem interfaces 4_1 and 2_1.
- Verify that saving custom Cellular MTU values preserves settings accurately across reboots and applies the intended MTU values to the corresponding network interfaces.
- Always maintain a recent configuration backup and verify access to device recovery procedures prior to performing firmware upgrades on the ZBT-Z8803BE.
Build provenance
- Edition: OpenWrt Mega Edition for ZBT-Z8803BE; release
firmware-202609161150.1. - Firmware was compiled on the maintainer's local server. This Actions workflow only validated uploaded assets, generated release notes and published the draft.
- Base: Far5eer
v25.12.021, Linux6.12.74; target ZBT-Link ZBT-Z8803BE. - Repository changes describe intended behavior, not hardware-test certification. This publication workflow did not flash or operate a router.
- Use the device-specific SquashFS sysupgrade image for normal upgrades. The initramfs image is for recovery/testing, not a normal persistent upgrade.
- Verify downloads using the included
SHA256SUMS. Back up settings and read upgrade notes before flashing.
Credits
- Mega Edition developer and maintainer: mfoster978.
- Upstream firmware foundation: 0xFar5eer, with special thanks for assembling the working ZBT-Z8803BE base.
OpenWrt Mega Edition — firmware-202609161100.1
Highlights
- Introduces configurable per-slot raw-IP QMI MTU settings in the web interface for Modem 1 and Modem 2, supporting whole integers from 1280 to 1500 bytes while retaining a default of 1500 bytes.
- Integrated runtime supervisor logic continuously validates and reapplies the configured MTU on active raw-IP interfaces without restarting the cellular modem or tearing down the data session.
- Safeguards existing configurations during profile initialization by only seeding default values on unconfigured slots, automatically falling back to 1500 bytes if invalid values are encountered without modifying UCI storage.
Bug fixes
- Corrected patch hunk counts in the QModem web interface patch stack to prevent build failures and maintain patch integrity across build environments.
- Hardened MTU configuration parsing in cellular session management scripts by strictly validating numeric four-digit ranges, preventing shell syntax errors or invalid interface link states.
Features and additions
- Added a Cellular MTU field to the LuCI QModem Dial Configuration interface for physical slots Modem 1 (qmodem.4_1.mtu) and Modem 2 (qmodem.2_1.mtu), hidden automatically when bridge mode is active.
- Implemented input validation in the web interface restricting cellular MTU values strictly to whole numbers between 1280 and 1500 bytes.
- Updated zbt-qmodem-profile to seed a 1500-byte MTU default only when no MTU value exists, preserving custom user configurations and non-managed devices.
- Enhanced the zbt_qmi_normalize_mtu supervisor in qmi-session.sh to verify interface ownership before and after running link updates, ensuring peer modems and replacement interfaces remain untouched.
- Configured MTU adjustments to operate outside the modem dial fingerprint, allowing live link MTU updates without triggering connection restarts or modem redials.
Upgrade notes
- The recommended MTU setting remains 1500 bytes; lowering the cellular interface MTU may reintroduce RX packet drop errors on affected Quectel RM551E modules and driver pairings.
- Configuring a custom MTU sets only the local router host-interface MTU and does not alter or guarantee carrier-side end-to-end path MTU.
- Custom modem settings persist across upgrades that keep configuration; verify active MTU assignments after flashing using the LuCI QModem page or via command line with 'uci get qmodem.4_1.mtu' and 'uci get qmodem.2_1.mtu'.
- Successful compilation does not verify runtime operation on physical hardware; operators should monitor system logs using 'logread -e zbt-qmi' and confirm link MTU status with 'ip link show' on active wwan interfaces after boot.
Retained fixes and features
- Retains USB-only AdGuard Home and Application Storage, opt-in Speedify, Quick Wi-Fi and the existing MultiWAN/modem recovery improvements.
- Includes the prior fixes for identified modem connection-drop causes. These are software fixes, not a guarantee against carrier, signal or hardware outages; this build server did not perform physical-router testing.
- Both RM551E-GL modems remain in QMI mode. No modem firmware update is included. The September mt76/MT7996 source and existing MLO/hostapd fixes are retained.
- Both GitHub sanity workflows, local input/regression checks, image validation and publication guards passed. One privileged TTL test was skipped locally.
Build provenance
- Edition: OpenWrt Mega Edition for ZBT-Z8803BE; release
firmware-202609161100.1. - Firmware was compiled on the maintainer's local server. This Actions workflow only validated uploaded assets, generated release notes and published the draft.
- Base: Far5eer
v25.12.021, Linux6.12.74; target ZBT-Link ZBT-Z8803BE. - Repository changes describe intended behavior, not hardware-test certification. This publication workflow did not flash or operate a router.
- Use the device-specific SquashFS sysupgrade image for normal upgrades. The initramfs image is for recovery/testing, not a normal persistent upgrade.
- Verify downloads using the included
SHA256SUMS. Back up settings and read upgrade notes before flashing.
Credits
- Mega Edition developer and maintainer: mfoster978.
- Upstream firmware foundation: 0xFar5eer, with special thanks for assembling the working ZBT-Z8803BE base.
OpenWrt Mega Edition — firmware-202609160943.1
Highlights
- Introduced USB-only Application Storage and AdGuard Home lifecycle management, keeping internal NAND flash protected while running the full official ARM64 AdGuard release entirely from external storage.
- Transitioned Speedify from an automatic online installation to an explicit opt-in service with complete lifecycle controls in LuCI and clean rule teardown when disabled.
- Stabilized dual RM551E-GL QMI sessions by normalizing owned raw-IP network device MTUs to 1500 and eliminating false-positive modem recovery triggers from baseline receive-error counts.
Bug fixes
- Corrected cellular connection drops caused by sub-1500 MTUs on owned raw-IP QMI devices by enforcing an MTU of 1500 with sysfs readback verification, allowing qmi_wwan RX buffer resizing to operate correctly.
- Eliminated false-positive modem recovery resets by ignoring non-zero initial receive-error counter samples instead of treating existing baselines as active packet drops.
- Prevented healthy cellular sessions from being torn down during transient routing changes or stale mwan3 tracker states, keeping modem recovery operations strictly scoped to the affected modem.
- Fixed USB storage utility execution paths and added build-time root filesystem validation for parted, partprobe, mkfs.ext4, block, and util-linux-flock to prevent partitioning failures.
Features and additions
- Added System to Application Storage LuCI management, supporting adoption of existing unmounted ext4 partitions or full disk erasing with typed confirmation, mounted by UUID to /mnt/mega-apps.
- Integrated Services to AdGuard Home LuCI management, providing one-click installation of official pinned ARM64 binaries to USB storage, administrator credential creation, and runtime service supervision.
- Added automated block hotplug and guard scripts that monitor application storage health, stopping AdGuard Home and restoring dnsmasq DNS while preserving DHCP if the USB drive is removed.
- Added an opt-in toggle for Speedify in LuCI and CLI, ensuring the installer, background guards, forwarding rules, and interception redirects are fully stopped and removed when disabled.
- Patched standard LuCI Mount Points to display a direct entry point to Mega Application Storage configuration.
Upgrade notes
- Speedify is now disabled by default on clean installations and resets; users wanting cellular bonding must navigate to the Speedify page in LuCI and select Enable Speedify.
- AdGuard Home cannot be installed on internal router flash; users must attach a supported USB storage device and initialize it under System to Application Storage before starting AdGuard Home.
- Erasing a disk through the Application Storage interface permanently wipes all partitions on the selected target; verify the selected disk device carefully before typing confirmation.
- After flashing, verify that cellular interfaces establish connections with an MTU of 1500 and that both modems maintain stable connectivity without unexpected recovery resets.
- This firmware was built on a local compilation server without physical device flashing tests; verify USB storage mounts, DNS failback behavior, and multi-WAN routing on your specific router hardware.
Build provenance
- All six source and integration validation jobs, final Mega build/rootfs/image checks, extracted-image checks, and guarded publication passed. The public sysupgrade download checksum matches the locally built image.
- Both RM551E-GL modems remain in QMI mode; no modem firmware update is included. The September mt76 driver and existing MLO/hostapd fixes are retained.
- Edition: OpenWrt Mega Edition for ZBT-Z8803BE; release
firmware-202609160943.1. - Firmware was compiled on the maintainer's local server. This Actions workflow only validated uploaded assets, generated release notes and published the draft.
- Base: Far5eer
v25.12.021, Linux6.12.74; target ZBT-Link ZBT-Z8803BE. - Repository changes describe intended behavior, not hardware-test certification. This publication workflow did not flash or operate a router.
- Use the device-specific SquashFS sysupgrade image for normal upgrades. The initramfs image is for recovery/testing, not a normal persistent upgrade.
- Verify downloads using the included
SHA256SUMS. Back up settings and read upgrade notes before flashing.
Credits
- Mega Edition developer and maintainer: mfoster978.
- Upstream firmware foundation: 0xFar5eer, with special thanks for assembling the working ZBT-Z8803BE base.
OpenWrt Mega Edition — firmware-202609160540.1
Driver refresh release
This release promotes the tested ZBT-Z8803BE driver-refresh build to the normal public Mega Edition release channel.
- Updates MT7996/mt76 to the September 2026 source used by the tested image.
- Backports the qmi_wwan RX URB/max-MTU fix while keeping both RM551E-GL modems in QMI mode.
- Keeps Linux 6.12.74, existing Mega MLO/hostapd fixes, watchdog recovery, MultiWAN and Speedify support.
- Does not update RM551E modem firmware.
Hardware boot, Wi-Fi startup and both QMI modem interfaces were verified on the ZBT-Z8803BE before promotion. Ongoing modem-drop and MLO transmit-power investigation remains separate from this release.
Z8803BE Driver Refresh Test
EXPERIMENTAL TEST FIRMWARE — DO NOT USE AS A PRODUCTION RELEASE
This is a prerelease of ZBT-Z8803BE Mega Edition from the isolated driver-refresh-test branch. It is not the normal/latest production release. PR #6 remains unmerged, and this publication does not merge or delete the experimental branch.
Driver stack being tested
- September 2026 mt76/MT7996 Wi-Fi driver source:
be5ce7910521492d4a2e4ce7ee3843680a46c047, source date 2026-09-01. - Linux 6.12.74 remains unchanged in version. The
qmi_wwanRX URB/max-MTU fix is backported from upstream commit55f854dd5bdd8e19b936a00ef1f8d776ac32c7b0usingfirmware/kernel-patches/762-net-usb-qmi-wwan-rx-urb-size.patch. - Existing Mega MLO/hostapd fixes are retained. The newer mt76 source contains or supersedes the older Mega PS/TIM and legacy-client backports; only those redundant mt76 patches are retired by the experimental wrapper.
- No modem firmware update. Both RM551E-GL modems remain in QMI mode. This build does not switch the modems to MBIM, ECM, or RNDIS.
Build/source information
- Recipe commit:
ff4021d81580e19bddbcce79eee3df7145c4d569ondriver-refresh-test. - Target:
mediatek/filogic; device:zbtlink_zbt-z8803be. - OpenWrt base: Far5eer
v25.12.021, commitedc738504fe8fae81eb15de967456204699b1830. - Built locally through
firmware/docker/build-openwrt-driver-refresh.sh, using an isolated cache copy and a clean kernel rebuild. - Embedded identity is
local-ff4021d81580, the supported development-build identity, with the exact clean source SHA inzbt-mega-build.json. The downloadable filenames and GitHub tag identify this experimental build separately from production firmware. - One build-wrapper correction was required: keep generated code outside the source checkout, retain the original recipe path, and remove the temporary builder on both success and failure. A regression test reproduces the previous clean-source validation failure and confirms the fix. Source validation has not been disabled or bypassed.
- The first complete compile then exposed missing wireless APIs. The experimental branch now backports the real airtime-weight notifications, per-link FILS templates, and per-link unsolicited probe templates into the pinned mac80211 6.18.7 stack. These operations are not stubbed or disabled. A small mt76 compatibility patch uses the older action-frame union while retaining field-length checks and omits unreachable NAN data-interface cases unsupported by that nl80211 API. The MT7996 AP/station/MLO modes remain available. See technical details.
- The pinned feeds emit existing optional-dependency warnings and recursive-dependency diagnostics for unselected HomeProxy/Passwall/IPsec packages during index/config preparation. The same diagnostics occur in the production build log. These unrelated feed definitions were not changed; the selected Mega package manifest is validated before publication.
Testing and installation cautions
- Passed: repository input/sanity checks, all five driver-refresh tests, exact Linux patch application, upstream mt76 feature checks, full normal Mega manifest/rootfs/image validation, and additional extracted-sysupgrade identity/module/patch/MLO checks. The final experimental-wrapper build exited successfully with both nonzero firmware images. GitHub Sanity and Driver Refresh Sanity also passed for the exact source commit. One privileged TTL test was skipped in the local test environment; no validation was disabled to pass this build.
- Passing compilation and automated checks is not hardware certification. This build has not been flashed or tested on the user's physical router by this build server. It does not establish that modem drops, watchdog behavior, MDVR compatibility, or MLO interoperability are fixed.
- Back up the router configuration and retain a known-good production sysupgrade image and a recovery method before testing.
- Use the versioned sysupgrade image for a normal flash on the supported ZBT-Z8803BE. The initramfs image is for temporary boot/recovery/testing, not a normal persistent upgrade.
- Verify the download against
SHA256SUMS. This prerelease is intentionally excluded from the normal production Latest channel.
OpenWrt Mega Edition — firmware-202609142031.1
Highlights
- Preserves standalone legacy Wi-Fi access points alongside shared Wi-Fi 7 Multi-Link Operation (MLO) networks, preventing standalone 2.4 GHz networks from being overwritten when using matching SSIDs.
- Updates the LuCI Wi-Fi 7 MLO editor to manage networks by configuration section identity instead of SSID matching, protecting distinct standalone and guest networks from unintended modification or deletion.
- Enforces strict pre-save validation in the MLO web interface, requiring at least two linked bands in BE mode and restricting security selections to WPA3-SAE or OWE with protected management frames.
- Improves LuCI Quick Wi-Fi Setup targeting to prioritize active MLO networks on 5 GHz and 6 GHz while preferring dedicated standalone access points on 2.4 GHz, displaying target selections before changes are applied.
- Corrects OpenWrt wireless enable and disable controls to safely handle multi-device interface lists so toggling a standalone network does not shut off shared radio hardware used by an active MLD link.
Bug fixes
- Fixed an MLO editor defect in LuCI where saving, editing, or deleting an MLD group matched interfaces solely by SSID name, causing unrelated standalone networks or guest access points sharing that SSID to be deleted or overwritten.
- Fixed LuCI Network Wireless enable and disable actions to evaluate multi-device arrays properly, preventing the disabling of a standalone interface from deactivating radios still required by an active MLO interface.
- Corrected the first-boot MLO migration script (74-zbt-mlo-shared-iface-repair) to distinguish scalar device entries from device lists. Modern MLD sections remain independent even when their SSIDs match, guest networks are not forced into LAN, and a section's non-EHT links are removed only when at least two valid links remain.
- Fixed scoring logic in Quick Wi-Fi Setup so active interfaces outrank disabled factory access point records, ensuring updates apply to the active primary LAN and MLO interfaces.
Features and additions
- Added validation checks to the MLO configuration dialog that verify linked radios are running in BE (EHT) mode, check passphrase byte lengths, and disallow unsupported WPA2, mixed mode, and unencrypted configurations.
- Added a configuration target summary section in Network Quick Wi-Fi Setup that explicitly lists which wireless sections are targeted across 2.4 GHz, 5 GHz, and 6 GHz, indicating when an interface is an active shared MLO network.
- Added setup documentation for configuring a legacy 2.4 GHz WPA2 access point alongside a shared 5 GHz and 6 GHz Wi-Fi 7 MLO network using identical network names.
- Masked the WPA3 passphrase input field in the LuCI MLO modal dialogue and added radio status indicators showing whether available bands are currently operating in BE mode.
Upgrade notes
- This release changes Wi-Fi/MLO configuration handling only. Modem watchdog/recovery behavior is unchanged from
firmware-202609141921.1; this release does not fix the reported sequential modem resets or establish a permanent fix for SA connection instability. - Existing SSIDs, passwords, and radio modes are not automatically rewritten. The corrected setup tools must be used to apply the desired configuration.
- Compiling successfully does not verify runtime wireless behavior; verify physical wireless association, authorization, and link behavior over an Ethernet connection after flashing.
- If an older firmware build previously deleted a standalone legacy 2.4 GHz network, this upgrade will not automatically recreate it; re-create the missing access point manually under Network Wireless.
- Ensure 5 GHz and 6 GHz radios are configured in BE mode under Network Wireless before creating or editing an MLD group, as the MLO interface requires valid EHT radio modes.
- Check Network Quick Wi-Fi Setup after flashing to review the displayed target networks, confirming that 2.4 GHz targets remain separate from shared 5 GHz and 6 GHz MLO networks.
Build provenance
- Edition: OpenWrt Mega Edition for ZBT-Z8803BE; release
firmware-202609142031.1. - Firmware was compiled on the maintainer's local server. This Actions workflow only validated uploaded assets, generated release notes and published the draft.
- Base: Far5eer
v25.12.021, Linux6.12.74; target ZBT-Link ZBT-Z8803BE. - Repository changes describe intended behavior, not hardware-test certification. This publication workflow did not flash or operate a router.
- Use the device-specific SquashFS sysupgrade image for normal upgrades. The initramfs image is for recovery/testing, not a normal persistent upgrade.
- Verify downloads using the included
SHA256SUMS. Back up settings and read upgrade notes before flashing.
Credits
- Mega Edition developer and maintainer: mfoster978.
- Upstream firmware foundation: 0xFar5eer, with special thanks for assembling the working ZBT-Z8803BE base.
OpenWrt Mega Edition — firmware-202609141921.1
Highlights
- Introduced USB deauthorization and reauthorization recovery to re-enumerate modems without cutting GPIO power.
- Reworked the modem watchdog escalation ladder to persistently retry recovery actions until internet connectivity is restored, rather than stopping after three cycles.
- Optimized handling for growing receive error storms by bypassing soft redial attempts and directly engaging USB reset and GPIO power cycles.
- Fixed a shell variable scoping bug in QMI route publishing that caused active connection manager sessions to fail ownership verification.
Bug fixes
- Resolved dynamic variable scoping in the ash shell where declaring qmi_ifindex inside zbt_qmi_publish shadowed the caller session identity, causing zbt_qmi_owned ownership checks to fail before notify_proto.
- Removed the hard three-cycle hourly cutoff in modem-recovery.sh, allowing persistent network outages to continually advance through the recovery sequence until internet connectivity returns.
- Modified the USB reset procedure to evaluate observed kernel device state and network interface status rather than failing prematurely when sysfs writes return non-zero exit codes despite succeeding.
- Added a termination trap to the recovery routine ensuring that USB devices are automatically reauthorized if the recovery worker process exits or is interrupted.
Features and additions
- Added a dedicated usb_reset action that unbinds and re-enumerates the modem via the USB authorized sysfs control attribute before escalating to hardware power cycles.
- Implemented a tiered recovery ladder under power_cycle policies that progresses from soft redial to USB reset and ultimately to GPIO power cycling.
- Added specialized recovery handling for rx_errors_growing conditions, alternating between USB reset and GPIO power cycles in response to the observed receive-error failure.
- Added the 99-zbt-qmi-publish-scope-v18 uci-defaults script to patch existing installations and prevent interface index variable collisions in qmi-publish.sh.
Upgrade notes
- Known limitation: this improves recovery, but does not establish a permanent fix for SA instability. In the supplied router-testing conversation, an earlier SA session failed again after roughly 40 minutes; the final combined recovery changes had only a reported 15-minute observation with both modems online. Longer unattended fault/recovery testing is still needed.
- This build preserves the supplied modem recovery behavior and existing Wi-Fi settings. Additional source changes for this release are regression tests and CI coverage, not further modem or radio configuration changes.
- This firmware was compiled in a local environment against Far5eer v25.12.021 and Linux kernel 6.12.74 without automated hardware flashing tests; verify operational behavior on your router after installation.
- Review system logs using logread to confirm that the modem watchdog properly identifies USB sysfs paths and executes recovery actions as intended.
- Check that QMI modem interfaces establish network sessions and publish default routes without ownership validation errors following the uci-defaults execution.
- Verify that USB reset recovery actions successfully reauthorize the modem and recreate the network interface if recovery is triggered during high receive error rates.
Build provenance
- Edition: OpenWrt Mega Edition for ZBT-Z8803BE; release
firmware-202609141921.1. - Firmware was compiled on the maintainer's local server. This Actions workflow only validated uploaded assets, generated release notes and published the draft.
- Base: Far5eer
v25.12.021, Linux6.12.74; target ZBT-Link ZBT-Z8803BE. - Repository changes describe intended behavior, not hardware-test certification. This publication workflow did not flash or operate a router.
- Use the device-specific SquashFS sysupgrade image for normal upgrades. The initramfs image is for recovery/testing, not a normal persistent upgrade.
- Verify downloads using the included
SHA256SUMS. Back up settings and read upgrade notes before flashing.
Credits
- Mega Edition developer and maintainer: mfoster978.
- Upstream firmware foundation: 0xFar5eer, with special thanks for assembling the working ZBT-Z8803BE base.
OpenWrt Mega Edition — firmware-202609141235.1
Highlights
- Hardened QMI route recovery requires the cached Connection Manager PID, interface index, and address to match before adding a missing default route without replacing an existing backup WAN route.
- Corrected the QModem Network Configuration Save & Apply workflow in LuCI so changes wait for standard LuCI commit handling and procd reload triggers instead of reloading prematurely.
- Decoupled modem watchdog power-cycle recovery from transient device presence, preventing recovery sequences from aborting when USB or netdev interfaces disappear during teardown.
- Preserved user-selected Allowed Network Types under automatic 5G mode, ensuring LTE-only and custom radio preferences are not overwritten.
Bug fixes
- Resolved an issue where QModem Network Configuration save operations executed an immediate service reload before UCI transactions committed or when user actions were canceled.
- Packaged the QModem web interface correction before LuCI JavaScript minification. The first-boot script accepts the already-correct minified page unchanged and can migrate older readable handlers.
- Prevented modem power-cycle recovery routines from aborting halfway through a power pulse by evaluating persistent administrative authorization rather than hardware link readiness during interface teardown.
- QMI route recovery now acquires the shared netifd lock (/var/lock/zbt-qmi-netifd.lock) and rechecks session ownership before mutating routes.
- Corrected QMI route restoration to add rather than replace missing default routes, preventing recovery helpers from overwriting healthy alternative WAN gateways.
- Fixed an issue where automatic 5G mode unconditionally forced modem radio access technology back to AUTO, allowing user configurations such as LTE-only mode to persist.
Features and additions
- Introduced PID-bound IPv4 route caching and restoration in qmi-publish.sh, recording the gateway, metric, supervised PID, and interface index to restore dropped routes safely.
- Implemented dedicated administrative authorization checks in modem-recovery.sh that verify UCI configuration without depending on transient USB, GPIO, or network interface states.
- Added granular stage-by-stage syslog reporting for modem recovery watchdog operations, tracking process teardowns, GPIO state transitions, and authorization checks.
- Introduced targeted radio access technology selection logic in qmodem-5g.sh to distinguish between active automatic modes and transitions originating from explicit NSA or SA configurations.
Upgrade notes
- This firmware was compiled on a local server using pinned Far5eer v25.12.021 sources with Linux kernel 6.12.74; repository changes have not undergone physical router flashing or hardware testing in this release cycle.
- After flashing, open the LuCI QModem Network Configuration view and confirm that saving settings applies configurations as expected without premature dialer restarts.
- Verify routing tables with ip route show to confirm that restored QMI default routes correctly retain their configured metrics without disturbing secondary WAN failover routes.
- Review system logs using logread to ensure modem recovery watchdog events and GPIO power toggles complete their full sequence if cellular link teardown occurs.
- Inspect the QModem network mode settings to confirm that specific Allowed Network Types (such as LTE-only) remain intact while operating under automatic 5G mode.
Build provenance
- Edition: OpenWrt Mega Edition for ZBT-Z8803BE; release
firmware-202609141235.1. - Firmware was compiled on the maintainer's local server. This Actions workflow only validated uploaded assets, generated release notes and published the draft.
- Base: Far5eer
v25.12.021, Linux6.12.74; target ZBT-Link ZBT-Z8803BE. - Repository changes describe intended behavior, not hardware-test certification. This publication workflow did not flash or operate a router.
- Use the device-specific SquashFS sysupgrade image for normal upgrades. The initramfs image is for recovery/testing, not a normal persistent upgrade.
- Verify downloads using the included
SHA256SUMS. Back up settings and read upgrade notes before flashing.
Credits
- Mega Edition developer and maintainer: mfoster978.
- Upstream firmware foundation: 0xFar5eer, with special thanks for assembling the working ZBT-Z8803BE base.