This is something I've been playing with to try and measure noise on my line. It's grown a few arms and legs as I look at things, so I thought I would put it up in case anyone finds it useful. Most useful if you have two or more vdsl circuits.
Despite my best intentions I never got to the modem configuration - so anyone using it will have to edit the Modem.config file themselves.
Here's the program (called DslStats.Net as I couldn't think of anything else better than the Form1 it was called very recently, I'm open to suggestions):
https://1drv.ms/u/s!AofPcWieuJD2trcWmKAr981H5lU8oA You can add 5 modems to it (5 beacuse I haven't done the config page and have only 5 colour sets hard-coded). Each modem has an entry like:
<Base xsi:type="ZyxelVMG8924B10A"> <!--Possible Values ZyxelVMG8924B10A, ZyxelVMG8324B10A, ZyxelVMG1312B10A, ZyxelVMG1312B10B, ZyxelVMG1312B10D, HG635, HG612 -->
<IP>192.168.1.1</IP>
<Password>*******</Password>
<FriendlyName>VMG8924-B10A</FriendlyName>
<Username>admin</Username>
<Port>23</Port>
</Base>
The type is important as it is how the modem is created in memory together with any thing special that modem needs to emit stats (e.g. a shell command).
Things I know that are broken:
The telnet client isn't 100% and can decide it's finished getting output incorrectly and it can miss a bit in the middle of the output.
There is little error checking - If you fill the Config incorrectly the program won't start. Most of the time the program will fail gracefully and the chart will just not show whatever has an error (the underlying data is refreshed every 60 seconds, but not what you are looking at - so to see an update you'd need to pick it again from the menu).
It tries to work with DslStats, but not always sucessfully
.
The click and drag zoom draws incorrectly, but works as expected (right click graphs for more options).
I have yet put in on a linux box for Mono testing, so only Windows is guaranteed to be working.
One of the projects is copying some extra assemblies, so the zip is much bigger than it should be.
I don't have an ADSL modem here, so it might default to 4096 tones or fail.
Help I would like:
I'm trying to figure out how to determine the noise on the circuit, which I'm doing by predicting SNR from the QLN and HLog and it seems pretty accurate (would likely be better if it had the SNR at the time the other two were captured), but I want to know if it's generic or per line. I'd appreciate some grabs of that screen and/or the data from the Debug directory.
How to use it:
There's only two buttons - start and stop. These start/stop capturing. Only the first grab of data will hold the program up and a background thread is used after that.
The very first press of start captures all the data in the Debug Directory whether it fails or not - which will be useful to fix anything.
There are 6 graphs at present the first 3 are comparisons across the modems - with the other 3 specific to a particluar modem:
SNR - SNR per tone with each modem in a different colour set.
https://1drv.ms/u/s!AofPcWieuJD2trcSvvILFJY8kxdwJAHLog - ditto for HLog
https://1drv.ms/u/s!AofPcWieuJD2trcUIf7wbDSf2cYF7w QLN - Same again
https://1drv.ms/u/s!AofPcWieuJD2trcVApmGWjqoZkdrBwHealth Graph - A combined graph showing QLN and HLog, together with the bands that were tried and which were actually used
https://1drv.ms/u/s!AofPcWieuJD2trcTF3t8STjqiNRTXABits - Bit Loading against the SNR
https://1drv.ms/u/s!AofPcWieuJD2trcRf2o0f8QFEWeF5gPredicted SNR Per Tone - Derives a formula for SNR (Upstream and DownStream separately). I've ignored ADSL tones due to the extra noise there
https://1drv.ms/u/s!AofPcWieuJD2trcQJ_lr_w9-2WAPwwAnd a sample of what a zoomed graph looks like
https://1drv.ms/u/s!AofPcWieuJD2trcPq5e9i5bvD3XXNgIf anyone needs a particular BroadCom Modem added I just need the name, stats command and, if necessary, the shell command.