Upstream Modulation Health Assessment (#78)
Fixes a bug where upstream channels running at degraded modulation (4-QAM/QPSK due to upstream interferer / Rueckwegstoerer) were reported as "good". The health assessment now evaluates modulation alongside power level.
Bug Fix
- Upstream modulation evaluation -
_assess_us_channel()now checks QAM order against configurable thresholds- 4-QAM / QPSK: critical (upstream interferer indicator)
- 8-QAM / 16-QAM: warning (degraded)
- 32-QAM+: good
- Overall health aggregation - Summary health now includes
us_modulation_critical/us_modulation_warn, escalating topoorwhen 4-QAM is detected on any upstream channel - Configurable thresholds - New
upstream_modulationsection inthresholds.jsonwithcritical_max_qamandwarning_max_qam
Technical
- New
_parse_qam_order()helper for extracting QAM order from modulation strings (handles 64QAM, QPSK, etc.) - 15 new tests (41 analyzer tests total, all passing)
Context
Reported by community user via Reddit. Their Vodafone connection had a confirmed Rueckwegstoerer with upstream channels running at 4-QAM/16-QAM, yet DOCSight reported "good" health. Speedtest data showed up to 93% packet loss and near-dead upload.