Lantiq vrx200 xDSL firmware recommendation thread

No problems on default OpenWRT firmware for me:

Chipset:	         	Lantiq™ XWAY™ VRX268
Firmware Version:	    5.7.9.9.0.6
API Version:		    4.17.18.6
MEI Version:		    1.5.17.6
Power Management Mode:	L0 - Synchronized
Line State:		        UP [0x801: showtime_tc_sync]
Line Uptime:		    26d 3h 14m 11s
Resyncs:		        5
DSLAM/MSAN VID:		
XTSE Capabilities:	    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2
Annex:			        B
Line Mode:		        G.993.2 (VDSL2)
Profile:		        17a
Trellis:		        D: ON / U: ON
Bitswap:		        D: ON / U: ON
G.INP:			        D: Not Enabled / U: Not Enabled
Virtual Noise Support:  D: Not Supported / U: Not Supported
Attain Data Rate:	    87.334 Mb/s / 25.058 Mb/s
Actual Data Rate:	    79.995 Mb/s / 20.000 Mb/s
Impulse Noise Prot:	    0.0 sym / 0.0 sym
Interleave Delay:	    0.0 ms / 0.0 ms
NFEC:			        255 / 255
RFEC:			        16 / 16
LSYMB:			        21451 / 5410
Interleave Depth:	    1 / 1
Interleave Block:	    255 / 255
LPATH:			        0 / 0
Line Attenuation:	    11.8dB / 13.4dB
Signal Attenuation:	    11.8dB / 13.2dB
Noise Margin:		    4.2dB / 9.3dB
Transmit power:	    	13.8dBm / 3.3dBm
FECS:			        54547 / 16902
ES:			            3201 / 31817
SES:			        0 / 17
LOSS:			        6 / 0
UAS:		        	145 / 145
HEC:			        0 / 0
CRC_P:			        0 / 0
CRCP_P:			        0 / 0
15m Code Violations:	0 / 2
15m FEC Errors:		    3 / 3
1d Code Violations:	    30 / 68
1d FEC Errors:		    6402 / 296

I was curious though, can you get the hlog using a stock build of OpenWRT?

I know you deleted your question, but I will still answer it: I rewrote the statistics collector and display definitions quite extensively for 21.02. I just need to sort out some problems with Github and multple accounts and some shenanigans, but it's on top of the queue for publication.

@takimata , sorry, my mistake.

Sure, would be more than willing to support you get get this working. Just let me know once it's there.

(As for "getting it working", the script has been running fine for months, but I had to work out some kinks with a multi-github account setup to actually push it to github.)

Edit: oops, forgot the ACL script, added now.

2 Likes

Really nice, thanks! Could you maybe add a few example images to the github page as this will be the best advertisement, why one would like to run this :wink: ?

1 Like

For Aussies looking for an NBN "SOS/ROC" compatible (*) xDSL firmware, the version required is 5.7.C.8.1.7_5.7.5.A.1.1 from the Vigor 130 "modem 11" package - see https://github.com/xdarklight/lantiq-xdsl-firmware-info/issues/34 for more info about getting it.

(*) The VRX200 chipset isn't technically SOS/ROC compliant, however it can be sufficiently compliant for NBN's purposes if SRA works properly when the NBN FTTN/FTTB node is configured for SOS/ROC. Unfortunately most Lantiq xDSL blob versions lose downstream SRA in this environment unless the service is put onto a "Stability profile", which deactivates the SOS/ROC configuration and after 3-7 days moves the service to Dynamic Line Management (DLM). The 5.7.C.8.1.7_5.7.5.A.1.1 xDSL version has been confirmed to have bidirectional dynamic SRA on an SOS/ROC enabled connection.

1 Like

Is it possible to activate US0 (to use extra 1mbit-ish upload bandwith of DSL line) on Lantiq VRX 200? I've yet to find a firmware which supports that. I also wasn't able to find any information regarding that.

Maybe you have an idea? @pythonic

A little bit of searching finds references to US0 being part of VDSL2-LR (or LR-VDSL2); AVM doesn't list this as supported with the FB7490 (vrx200) but does list it as supported in the FB7590 & FB7530 (both vrx518) - see here. From that I'd presume you're out of luck. BTW: both ends need to negotiate use of US0 so if the other end doesn't support it being able to do so on your end is of no value.

1 Like

VDSL2-LR requires using US0, but it can also be used with regular VDSL2. From my experience, it just works on both VR9 and VR11 devices. But as you mention, support depends on the actual configuration of the line.

I can confirm that US0 works on my ASUS DSL-AC51 from web UI. Upload syncs 1 Mbit higher than my TD-W9980. It could be because of different chipsets and US0 could actaully be working on Lantiq too, though. Still, is there any way to confirm that US0 is working on OpenWrt? @pythonic

The following commands allow to check the currently configured bands (if US0 is in use, the first upstream band contains carriers in the range 0-64):

dsl_cpe_pipe.sh BandBorderStatusGet 0 # upstream
dsl_cpe_pipe.sh BandBorderStatusGet 1 # downstream

Alternatively, you could also look at spectrum graphs. In the OpenWrt master branch, the package luci-mod-dsl adds those graphs to the web interface. Otherwise, my DSL monitoring tool can also generate spectrum graphs.

Well it's settled then, US0 works on OpenWrt and doesn't need any special configuration. This is my FritzBox 3370 running OpenWrt (demoted to be a modem only) with modem firmware 5.9.1.4.0.7-5.9.0.D.0.2:

root@Modem:~# dsl_cpe_pipe.sh BandBorderStatusGet 0
nReturn=0 nDirection=0 nNumData=3
nFormat=(nBandIndex, (nLimit_firstToneIndex, nLimit_lastToneIndex), (nBorder_firstToneIndex, nBorder_lastToneIndex)) nData="
(00,(0028,0060),(0028,0060))
(01,(0871,1205),(0880,1196))
(02,(1972,2782),(1972,2782))
"
1 Like

Thank you for making it clear. As I see US0 works fine on my device too, so I guess the link sync difference is probably because of different chipsets.

/etc/config$ dsl_cpe_pipe.sh BandBorderStatusGet 0
nReturn=0 nDirection=0 nNumData=2

nFormat=(nBandIndex, (nLimit_firstToneIndex, nLimit_lastToneIndex), (nBorder_firstToneIndex, nBorder_lastToneIndex)) nData="

(00,(0007,0032),(0007,0031))

(01,(0871,1205),(0880,1196))

"

Hi all, I need a little bit of help. I have a HH5 running 22.03.3 and I have noticed that it has bitswap enabled on upload but is disabled on download.
I have tried 3 different firmware and they all have the same issue, I'm not sure if there is a configuration for this.

{
        "api_version": "4.17.18.6",
        "firmware_version": "5.9.0.10.0.2",
        "chipset": "Lantiq-VRX200",
        "driver_version": "1.5.17.6",
        "state": "Showtime with TC-Layer sync",
        "state_num": 7,
        "up": true,
        "uptime": 1533,
        "atu_c": {
                "vendor_id": [
                        181,
                        0,
                        66,
                        68,
                        67,
                        77,
                        161,
                        242
                ],
                "vendor": "Broadcom 161.242",
                "system_vendor_id": [
                        0,
                        0,
                        48,
                        48,
                        48,
                        48,
                        0,
                        0
                ],
                "version": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                ],
                "serial": [
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48,
                        48
                ]
        },
        "power_state": "L0 - Synchronized",
        "power_state_num": 0,
        "xtse": [
                0,
                0,
                0,
                0,
                0,
                0,
                4,
                0
        ],
        "annex": "M",
        "standard": "G.992.5",
        "mode": "G.992.5 (ADSL2+)",
        "upstream": {
                "trellis": true,
                "bitswap": true,
                "retx": false,
                "virtual_noise": false,
                "interleave_delay": 15250,
                "data_rate": 874000,
                "latn": 16.500000,
                "satn": 17.900000,
                "snr": 6.400000,
                "actps": -40.400000,
                "actatp": 12.300000,
                "attndr": 874000
        },
        "downstream": {
                "trellis": true,
                "bitswap": false,
                "retx": false,
                "virtual_noise": false,
                "interleave_delay": 13250,
                "data_rate": 14656000,
                "latn": 4.600000,
                "satn": 2.900000,
                "snr": 5.200000,
                "actps": -42.300000,
                "actatp": 17.600000,
                "attndr": 14128000
        },
        "errors": {
                "near": {
                        "es": 978,
                        "ses": 723,
                        "loss": 205,
                        "uas": 6401,
                        "lofs": 0,
                        "fecs": 749,
                        "hec": 51575,
                        "ibe": 4294967295,
                        "crc_p": 0,
                        "crcp_p": 0,
                        "cv_p": 0,
                        "cvp_p": 0
                },
                "far": {
                        "es": 596,
                        "ses": 105,
                        "loss": 0,
                        "uas": 6401,
                        "lofs": 0,
                        "fecs": 1030,
                        "hec": 730779,
                        "ibe": 85131244,
                        "crc_p": 0,
                        "crcp_p": 0,
                        "cv_p": 0,
                        "cvp_p": 0,
                        "rx_corrupted": 0,
                        "rx_uncorrected_protected": 0,
                        "rx_retransmitted": 0,
                        "rx_corrected": 0,
                        "tx_retransmitted": 0
                }
        }
}

I think the firmware does not actually report bitswap capability, but if a bitswap has happened yet (obviously bitswap incapable firmware will never notice and stay at "bitswap": false forever.
So unless you observed the issue after a long uptime, I would not bother, and even if, as long as the link stays stable no real reason to worry (I guess however without bitswap most links will become unstable quite quickly...)

Yes, that is the main issue, that the line is unstable.

I have found that I can check the configuration using

dsl_cpe_pipe.sh lfcg 0 0  # ADSL upstream
dsl_cpe_pipe.sh lfcg 0 1  # ADSL downstream
dsl_cpe_pipe.sh lfcg 1 0  # VDSL upstream
dsl_cpe_pipe.sh lfcg 1 1  # VDSL downstream

and I can also get the status using

dsl_cpe_pipe.sh lfsg 0 # upstream
dsl_cpe_pipe.sh lfsg 1 # downstream

I have checked the configuration it had bitsawap enable but was disabled when I check the status for the downstream.

Ah could you get a screen shot of your link using @janh's excellent dsl-gui? Occasionally that helps ot figure out the root cause of the instability...

This I what I found, I saw that bitswap is enabled I double check this on the console as well, it was disable for more than 6 hours and out of the blue is enabled now.

dsl-gui is a great tool I didn't know thanks a lot for that

Yes it is. However it seems mainly targeted at VDSL links, for the limited sub-carrier set of ADSL the plots are not ideal. That said the last ploy looks quite odd. Maybe you could try try my homegrown DSL parser:

which should run under octave (as well as matlab) and might even autoscale ADSL plots to the appropriate x-axis?

It looks like there is a bug in the tool, as the DSL standard is not detected. Normally, the graphs should be adjusted automatically (i.e. the x-axis should be limited to 512 carriers).

Can you send me the raw.txt file, so I can look into this issue? If you are using the GUI, click the "Save" button in the top right to save an archive containing it.

1 Like