Releases: AliLostInTheDark/luci-app-vsol-ddm
Release list
luci-app-vsol-ddm-1.0.0-r1
Optical diagnostics for the VSOL V2802RH XPON ONT and other Realtek-based XPON ONUs, in OpenWrt LuCI. DDM telemetry is read straight off the ONT's telnet CLI and rendered live — no external libraries, no frameworks, and no compiled component, so one .apk installs on every architecture.
Optical telemetry
Receive power, transmit power, transceiver temperature, supply voltage and laser bias, each graded against its own limits rather than a generic band. Receiver sensitivity and overload are shown as the Loss of Signal assert points they are — below sensitivity there is no framing, above overload the receiver is saturated and there is likewise none.
Limits follow the V2802RH datasheet rather than the class minimum. The transmit window is 0 to +4 dBm, narrower than ITU-T G.984.2 permits a Class B+ ONU in general, and grading against the vendor figure is what tells you whether this optic is in spec. Warning bands are derived inside each alarm limit, so a warning band can never drift outside its own alarm band.
The optic states its own class where it can: a V2802RH returns a vendor string of ONU_B+_G, so the power budget class is read from the hardware. Where an optic says nothing, the class is labelled as assumed rather than presented as confirmed.
OMCI managed entities
Read on demand from the ONT's own omcicli, one card per managed entity:
| ME | Card | What it shows |
|---|---|---|
| 11 | Ethernet UNI | the physical Ethernet user network interfaces |
| 84 | VLAN Tag Filter | the VLANs the ONT is provisioned to accept |
| 131 | OLT-G Identification | the upstream OLT's vendor and time of day |
| 171 | Extended VLAN Tagging | the tagging and translation rules, as filter and treatment tuples |
| 329 | VEIP | the virtual Ethernet interface point |
Vendor identifiers arrive as four packed ASCII bytes in a hex word and are decoded beside the raw value, so 0x414c434c also reads as ALCL. Administrative and operational state are printed as reported, with the ITU-T G.988 meaning stated alongside rather than rendered as a coloured badge — this firmware does not report those two consistently between its ports, and a badge would have been a guess dressed as a fact.
The rule table is a table on a wide screen and a stacked list of labelled fields on a phone, so none of it has to be scrolled to.
Twenty-four hours of history
Receive power, transmit power, temperature and bias are sampled into a circular buffer and drawn as full-width time-series cards, with a 1h/6h/12h/24h range switcher whose subdivisions follow the selected window. The optimal and warning bands are painted behind the trace, so a reading merely inside its alarm limits still looks different from one sitting mid-range.
The buffer lives in RAM and is capped at 24 hours. A telemetry chart is not worth flash wear on a router.
Restarting the ONT
A restart control at the top of the page, which confirms first, reports what the ONT actually returned, and drops the caches so the dashboard repopulates from the rebooted device.
Nothing is invented
A value the ONT did not report shows as -- — never a plausible default, never a fake alarm. The address, username and password have no defaults anywhere in the package: until all three are set the dashboard stays empty and no connection is attempted, and it says so rather than reporting the ONT as unreachable when nothing was ever asked of it.
Access to the device is serialised. The ONT accepts only about two concurrent telnet sessions, and two browser tabs polling independently were enough to starve any other caller, so callers arriving during an in-flight query collapse onto its result instead of opening another session.
Installing
wget -qO /etc/apk/keys/luci-app-vsol-ddm.pem https://raw.githubusercontent.com/AliLostInTheDark/luci-app-vsol-ddm/main/keys/luci-app-vsol-ddm.pem && wget -qO /tmp/vsol.apk "$(wget -qO- https://api.github.com/repos/AliLostInTheDark/luci-app-vsol-ddm/releases/latest | sed -n 's/.*"browser_download_url": *"\([^"]*\.apk\)".*/\1/p' | head -1)" && apk add /tmp/vsol.apk && rm -f /tmp/vsol.apkInstalls the signing key and the current release together. Re-run it to upgrade.
Then set the ONT address and credentials under Status → VSOL V2802RH DDM → Settings.