Repository navigation
QManager BETA v0.1.9
Pre-release
Pre-release
·
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, andAT+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_typein 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.1replaced withgoogle.com/cloudflare.comfor 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
.txtfiles 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
- 🆕
websocatadded 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 viaopkgduring 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.shUpgrading 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! 📡