Skip to content

QManager BETA v0.1.9

Pre-release
Pre-release

Choose a tag to compare

@dr-dolomite dr-dolomite released this 01 Apr 01:46
· 1345 commits to development-home since this release

🚀 QManager BETA v0.1.9

New per-antenna signal statistics page, Video Optimizer improvements, stability fixes for tower locking, poller crash prevention, and IPv6 display improvements.


🐛 Bug Fixes

🔒 MTU Reset During Tower Lock/Unlock

  • 🔧 Custom MTU lost after locking or unlocking a tower — The modem briefly disconnects during tower lock/unlock operations, causing the RMNET driver to silently reset the interface MTU back to 1500. The persistent config file was intact, but nothing re-applied it after the interface bounced.
  • ✅ Fix: Added mtu_reapply_after_bounce() to the tower lock library. After any lock/unlock operation, a short-lived background process polls for the interface to recover (up to 30s), then re-applies the custom MTU from /etc/firewall.user.mtu. Self-terminates after re-apply or timeout.
  • 🔗 Integrated into all three code paths: CGI lock/unlock, failover daemon, and scheduled lock apply/clear.
  • ℹ️ Note: TTL/HL settings are unaffected (iptables mangle rules are global kernel state and survive interface resets).

📡 Poller MIMO Read Crash Prevention

  • 🔧 MIMO layer queries crash modem in wrong network mode — AT+QNWCFG="lte_mimo_layers" causes errors in 5G SA mode, and AT+QNWCFG="nr5g_mimo_layers" causes errors in LTE/NSA mode. Previously, these were sent unconditionally and relied on "fails gracefully" — but errors in compound AT chains can abort subsequent commands.
  • ✅ Fix: MIMO read queries are now gated by network_type in both boot-time Group B and Tier 2 polling. Enable commands (,1) remain unconditional since they are idempotent and safe in any mode.

🌐 Ping Target Update

  • 🔧 Default ping targets changed from IPs to hostnames — 8.8.8.8/1.1.1.1 replaced with google.com/cloudflare.com for DNS-aware connectivity checks.

✨ New Features & Enhancements

📺 Video Optimizer — CDN Hostlist Import/Export

  • 🆕 Import and export domain lists — The CDN Hostlist card now supports importing domains from .txt files and exporting the current list. Imported domains are merged (duplicates skipped automatically).
  • 🆕 Default domain tracking — Backend now returns the factory default domain list alongside user domains. Custom (user-added) domains are visually distinguished from defaults in the UI.
  • 🆕 Sorting — Toggle alphabetical sorting (A→Z / Z→A) or revert to original order via a kebab menu.

📺 Video Optimizer — Faster Verification Test

  • 🔧 Verification rewritten from speed test to packet counter — The old verify script ran a full 50 MB download with and without bypass to compare throughput (slow, ~20s+). The new approach reads the nftables packet counter before and after a single HTTPS request to a hostlisted domain — completes in seconds and directly confirms nfqws is intercepting traffic.
  • ✅ Results now show pass/fail with the tested domain and packet count instead of speed comparisons.

📦 WebSocket (websocat) Now a Required Dependency

  • 🆕 websocat added to required packages in the install script — previously it was an optional external binary that users had to install manually for the Bandwidth Monitor's live WebSocket streaming. Now installed automatically via opkg during install/update.

📡 Antenna Statistics Page

  • 🆕 New per-antenna signal metrics page at Cellular Information → Antenna Statistics — Displays RSRP, RSRQ, and SINR for each of the 4 receive chains (Main/PRX, Diversity/DRX, MIMO 3/RX2, MIMO 4/RX3), split into separate LTE and NR5G cards.
  • 📊 Animated progress bars with quality-tinted colors (green/yellow/red) for quick visual comparison across antenna ports.
  • 🔄 Dynamic card ordering — The active technology card always renders first. If only NR5G is active (SA mode), the NR5G card takes the lead position. Empty technology cards show a clean empty state.
  • 🔗 Quick access via the "Per-Antenna" link next to the Active MIMO row on the Cellular Information page.
  • ♿ Accessible — Progress bars include full ARIA attributes (role="progressbar", aria-valuenow, aria-label) for screen reader support.

🎨 UI Improvements

🗂️ Navigation Reorganization

  • 🔧 Logs moved to System Settings — Previously a standalone page under Monitoring, now accessible at System Settings → Logs for a more logical grouping with other system-level tools.
  • 🔧 Software Update moved to System Settings — Relocated from Monitoring to System Settings → Software Update, keeping all device management in one place.
  • 🔧 Email Alerts moved under Network Events — Now accessible at Network Events → Email Alerts as a sub-item, since alerts are directly tied to network event monitoring.

📱 IPv6 Address Display

  • 🔧 IPv6 DNS and WAN addresses now display in proper compressed notation — The Cellular Information card previously showed raw Quectel dotted-decimal format (e.g., 253.0.151.106.0.0.0.0.0.0.0.0.0.0.0.9) which overflowed on mobile. Now converts to RFC 5952 compressed form (e.g., fd00:9b6a::9). A tooltip shows the raw value when the address was compressed.

📥 Installation

Fresh Install

wget -O /tmp/qmanager-installer.sh \
  https://github.com/dr-dolomite/QManager/raw/refs/heads/development-home/qmanager-installer.sh && \
  sh /tmp/qmanager-installer.sh

Upgrading from v0.1.8

Head to System Settings → Software Update and hit "Check for Updates" — download, verify, then install with the two-step flow.


💙 Thank You

Thanks for using QManager! If you find it useful, consider supporting the project. Bug reports and feature requests are always welcome on GitHub Issues.

License: MIT + Commons Clause

Happy connecting! 📡