Skip to content

Dsl Tweaking

negan07 edited this page Sep 29, 2021 · 34 revisions

Dsl driver configuration level is made by /usr/sbin/xdslctl.bin (originally /usr/sbin/xdslctl )

Dsl tweak is made by /usr/sbin/anc multibinary pointed by /usr/sbin/xdslctl symlink.

When called with parameter configure it parses settings with those stored switching to xdslctl.bin configure ... ... ... .

This tweak helps saving stuff configuration settings and configuration profile settings in persistent mode at every reboot/reflash.

Usage

Profile Configure Settings

There are 3 kind of profile configure settings (distinguish from: VDSL profile setting that's different, see next).

The profile recap can be shown at any time with:

xdslctl profile --show

Profile settings can be setup with:

nvram set anc_dslconfprofile=<own|broadcom|netgear> (netgear)

netgear profile settings

This is the original netgear setting configuration mode, chosen as default.

Activate with:

nvram set anc_dslconfprofile=netgear

xdslctl configure

Same as typing:

xdslctl.bin configure --lpair i --mod <dlt2pemv|vp|2v|dmv|v> --bitswap on --sra on --trellis on --sesdrop off --CoMinMgn off --SOS on --dynamicD on

With this conf profile the only adjustable setting is modulation mode wan_dsl_mode setting (see next).

With this conf profile all the other modifications are ignored, including snr tweak.

broadcom profile settings

This is the broadcom driver default profile: same as netgear's profile with the exception of dlt2pev fixed modulation mode and sra off in place of on .

Activate with:

nvram set anc_dslconfprofile=broadcom

xdslctl configure

Same as typing:

xdslctl.bin configure (unparsed)

With this conf profile setting all the other modifications are ignored, including snr tweak.

Personal profile settings

User's own profile settings.

Setup the settings manually: see next.

Activate with:

nvram set anc_dslconfprofile=own

xdslctl configure

All tweaks configuration available: see next.

Setup personal (own) profile settings

These following settings have effect only in conjunction with anc_dslconfprofile=own nvram setting (Web GUI: personal).

Type:

anc nvram set <setting> <value> ... <setting> <value> && nvram commit

or

nvram set <setting>=<value>

to modify dsl settings.

At the end of the configuration, apply modifications with:

xdslctl configure

Settings Usage

Dsl transmission mode

Select the transmission mode: it depends from the connection type: adsl/vdsl .

nvram set wan_dsl_mode=<MMODE A2PMOD A2MOD GDMT VDSL> (MMODE)

MMODE=multimode

A2PMOD=vdsl2/adsl2/2+

A2MOD=vdsl2/adsl2

GDMT=adsl(g.dmt)

VDSL=vdsl2 only (try to negotiate link faster forcing 'v' configure flag only)

Bitswap

SNR frequency equalizer.

nvram set bitswap=<on|off> (on)

Seamless Rate Adaptation

Negotiate speed dynamically.

Default is on but in addition with snr tweak above the off setting could be recommended.

nvram set sra=<on|off> (on)

Trellis Mode

Increase link performance.

nvram set trellis=<on|off> (on)

Sesdrop

Try to reduce latency removing error checks.

nvram set sesdrop=<on|off> (off)

CoMinMgn

Check and limit minimal snr.

nvram set cominmgn=<on|off> (off)

SOS

Emergency Rate Adjustment.

Rapid recovery from temporarily degraded line conditions.

nvram set sos=<on|off> (on)

DynamicD

Dynamic SRA for direction ?

nvram set dynamicd=<on|off> (on)

DynamicF

Dynamic SRA for filtering ?

nvram set dynamicf=<on|off> (off)

I24k Interleave Buffer

Raise the malloc() buffer for interleaving from 16k to 24k.

nvram set i24k=<on|off> (on)

Monitor Tone

Tone monitoring.

nvram set monitortone=<on|off> (on)

PhyReXmt

Low pass NB/ALN filter. Setting made by the sum of 2 bits: Upstream & Downstream.

nvram set phyrexmt=<0|1|2|3> (1)

0=US off, DS off

1=US off, DS on

2=US on, DS off

3=US on, DS on

GinP

Another kind of low pass noise filter. Setting made by the sum of 2 bits: Upstream & Downstream.

nvram set ginp=<0|1|2|3> (3)

0=US off, DS off

1=US off, DS on

2=US on, DS off

3=US on, DS on

TpsTc

Transport Protocol Specific Transmission Convergence sublayer. Setting made by the sum of 4 bits: Av Pv Aa Pa.

nvram set tpstc=<0-15> (14=AvPvAa)

0=void

1=Pa

2=Aa

3=AaPa

4=Pv

...

8=Av

...

14=AvPvAa

15=AvPvAaPa

Signal Noise Ratio

This tweak can be activated in conjunction with: anc_dslconfprofile=own nvram setting only.

According, enable this tweak with:

nvram set anc_dslconfprofile=own

nvram set anc_snrtweak_enable=1

Disable with:

nvram unset anc_snrtweak_enable

Then setup the snr target value with: nvram set snr=< -136 - 32767> (100)

Value > 100 increase snr.

Value < 100 decrease snr.

Note that DSL driver allows positive numbers only so this workaround conversion for negatives:

[ min -136 = 65400 ] ... [ -1 = 65535 ] [ 0 = 65536 ] 1 ... [ 100 = default ] ... [ 32767 max ]

Max Data Rate Limiter

Limit Downlink and/or Uplink rate to a maximum value to improve line stability & reliability with the disadvantage of a lower line speed performance.

These settings are related to VDSL connection type only.

This tweak can be activated in conjunction with: anc_dslconfprofile=own nvram setting only.

This tweak can be applied only if the router is connected in ptm mode (VDSL) otherwise these settings won't take effects.

Enable max data rate limiter settings with:

nvram set anc_dslconfprofile=own

nvram set anc_maxdataratetweak_enable=1

Disable with:

nvram set anc_maxdataratetweak_enable=0

Setup Downlink band limiter (Kbps) with:

nvram set maxdataratedl=<------> (0=disable dl limiter)

Setup Uplink band limiter (Kbps) with:

nvram set maxdatarateul=<------> (0=disable ul limiter)

VDSL Profile

These settings are related to VDSL connection type only.

This tweak can be activated in conjunction with: anc_dslconfprofile=own nvram setting only.

This tweak can be applied only if the router is connected in ptm mode (VDSL) otherwise these settings won't take effects.

Enable profile settings with:

nvram set anc_dslconfprofile=own

nvram set anc_dslprofile_enable=1

Disable with:

nvram set anc_dslprofile_enable=0

Set the vdsl profile with:

nvram set profile=<8a|8b|8c|8d|12a|12b|17a|30a|BrcmPriv1> (17a)

Enable/disable us0 profile (upstream band) with:

nvram set us0=<on|off> (on)

The profile named BrcmPriv1 is an alias for 35b profile: this profile is available only in conjunction with a 35b compatible hardware equipment.