Collectd-mod-exec script to retrieve DSL values from ZyXEL VMG1312 modem

For posterity and public amusement: There seems to be a weird bug in the Zyxel VMG1312 xdslctl tool. I got curious why my uptime graph plateaus like this:

It appears the function in xdslctl that tranforms line uptime seconds to a human-readable string wets the bed and is stuck at either 49 days 17 hours 2 min 45 sec (the value I read and re-parse to seconds) or rolls over zero (in the webstats). Which is ... weird because the device uptime string still updates completely fine. I suspect someone chose a really inappropriate data type somewhere in the postprocessing functions.

xdslctl stats --show still gives a sensible "available seconds" (AS) value, but I'm not sure how closely it relates to the actual line uptime (edit: it might not be related to the continuous uptime at all.) And right now I don't want to reset my line just to check. For the time being, I don't think I will rewrite the parser and I'll just read the graph as "line uptime is great thxbye."

1 Like