First of all: Thank you for picking this up, I too am suffering from "line deterioration" where my downstream sync starts out at ~10dB SNR and over about 2 to 3 days gradually goes down to ~6dB. It recovers slightly in between, bouncing between 6 and 7dB sometimes, but in the end falls down to ~3dB (eek) and resyncs. After the resync, I invariably and immediately land at ~10dB again.
FTR: I'm currently using 19.07.1 and modem firmware 5.7.9.5.1.7 on a FritzBox 3370. And I am very happy with its performance, reliably synching at ~110/43 out of a possible ~133/49 mbit. OTOH, I had no luck with newer firmwares (5.8 or 5.9), I could actually provoke those to resync with a simple web-based speedtest.
If I'm looking in the correct places I can't confirm: Pre your modifications:
Trellis: Down: 1 / Up: 1
G.INP: Down: 1 / Up: 1
Bitswap: Down: 1 / Up: 1
Virtual noise: Down: 1 / Up: 1
so ... bitswap was already enabled after all? After manually inserting your patch (dsl_control changed between 19.07 and master) and rebooting:
Trellis: Down: 1 / Up: 1
G.INP: Down: 1 / Up: 1
Bitswap: Down: 1 / Up: 1
Virtual noise: Down: 0 / Up: 1
So your patch is being applied and dials in some other parameters. We'll see how the line holds up, and hopefully recovers from the inevitable dips over the next few days.
IMNSHO, though: I really, really think it's time for a luci-app-dslstats
or something to that tune. For two reasons:
Calling dsl_control status is pegging the CPU for about 3 seconds, and it's called almost continuously from the LuCI front/status page, causing a load of 0.8+ on the device if you keep the page open in the background. An abbreviated "line status overview" like I wrote for myself only uses a fraction of the resources and should be much easier on the device. And the detailed dsl status could go to a subpage if you really need the details.
And on the other hand, it would allow us to do other fun things with what we can get from the modem. Like a spectrum graph, just as the FritzBoxes have it. It's actually quite easy to pull the data from the modem, and it's downright trivial to put them into pretty JavaScript graphs. I looked a bit into it already, but I stumbled a bit mostly because I'm horrible at LUA which would be needed to at least preprocess (e.g. chop off the header of) the results of g997bansg
and g997sansg
(maybe even convert them into JSON). And LuCI changed quite a bit between 19.07 and current master, so I can't even try out very much on my current setup.