To whom it may be of use: I recently switched to a ZyXEL VMG1312-B30A modem attached to my router and, naturally, I wanted to get the DSL line values into collectd.
Here is my result: A script that pulls the data via netcat (emulating telnet) and offers them to collectd-mod-exec with meaningful values:
This is the result, displayed in LuCI:
Note: From time to time, and without any identifiable underlying cause, the modem seems to randomly bump the FEC "error" counter by ~10000 from one minute to the next, resulting in a huge spike. (You can see this in the screenshot above, towards the end of the timeline.) After logging for a while I confirmed this is not a parsing issue, but already present in the raw value output of xdslctl
, so there's really nothing I can do about it. Without any deeper insight, I suspect a glitch in the firmware. The FEC counter by itself is only a very weak indicator anyway since "forward error correction" is not actually an "error counter", but rather monitoring the very regular operation of the protocol. Personally, I don't even watch FEC counters anymore.