Questions about vdsl_cpe_control


#1

hello
i want to ask about the capabailities of vdsl_cpe_control in supported modems...
i found these on openwrt forum but i dont understand what each does and dont have hardware to test on.

> root@openwrt:~#   /sbin/vdsl_cpe_control --help 
> DSL_CPE: Welcome to DSL CPI API control application
> DSL_CPE: usage: [options]
> DSL_CPE: following options are available:
> DSL_CPE:  --help          (-h)    - help screen
> DSL_CPE:  --version       (-v)    - display version
> DSL_CPE:  --init          (-i)    - init device w/ <xtu> Bits seperated by underscore (e.g. -i05_01_04_00_04_01_00_00)
> DSL_CPE:  --low_cfg       (-l)    - low level configuration file
> DSL_CPE:  --console       (-c)    - start console
> DSL_CPE:  --event_cnf     (-e)    - configure instance activation handling <enable/disable>[_mask] (e.g. -e1_1)
> DSL_CPE:  --msg_dump      (-m)    - enable message dump
> DSL_CPE:  --auto_scr_1    (-a)    - autoboot start script for ADSL (empty by default)
> DSL_CPE:  --auto_scr_2    (-A)    - autoboot start script for VDSL (empty by default)
> DSL_CPE:  --firmware1     (-f)    - firmware file, default /opt/ifx/firmware/xcpe_hw.bin
> DSL_CPE:  --notif         (-n)    - notification script name, default ./xdslrc.sh
> DSL_CPE:  --tcpmsg        (-t)    - enable dbgtool, listen only on <ipaddr> (optional, e.g. -t0.0.0.0)
> DSL_CPE:  --multimode     (-M)    - set multimode config -M<NextMode>[_<AdslSubPref>] (e.g. -M1_1 or -M1)
> DSL_CPE:  --tc-layer      (-T)    - set TC-Layer options -T<TcLayer>_<TcConfigUs>_<TcConfigDs> (e.g. -T2_0x3_0x1)
> DSL_CPE:  --sequence      (-S)    - set activation sequence -S<Sequence>_<Mode> (e.g. -M0_0)
> DSL_CPE:  --debug_drv     (-g)    - 
> DSL_CPE:  --debug_app     (-G)    - 

> root@openwrt:~# /sbin/vdsl_cpe_control --console

> DSL_CPE#>help
>    acog,          AutobootConfigOptionGet
>    acos,          AutobootConfigOptionSet
>    acs,           AutobootControlSet
>    alf,           AutobootLoadFirmware
>    asecg,         AutobootScriptExecuteConfigGet
>    asecs,         AutobootScriptExecuteConfigSet
>    asg,           AutobootStatusGet
>    aufg,          AutobootUsedFirmwareGet
>    alig,          AuxLineInventoryGet
>    bbsg,          BandBorderStatusGet
>    bpstg,         BandPlanSTatusGet
>    bpsg,          BandPlanSupportGet
>    dbgmlg,        DBG_ModuleLevelGet
>    dbgmls,        DBG_ModuleLevelSet
>    dmms,          DeviceMessageModifySend
>    dms,           DeviceMessageSend
>    esmcg,         EventStatusMaskConfigGet
>    esmcs,         EventStatusMaskConfigSet
>    fddg,          FilterDetectionDataGet
>    fpsg,          FramingParameterStatusGet
>    g997amdpfcg,   G997_AlarmMaskDataPathFailuresConfigGet
>    g997amdpfcs,   G997_AlarmMaskDataPathFailuresConfigSet
>    g997amlfcg,    G997_AlarmMaskLineFailuresConfigGet
>    g997amlfcs,    G997_AlarmMaskLineFailuresConfigSet
>    g997bang,      G997_BitAllocationNscGet
>    g997bansg,     G997_BitAllocationNscShortGet
>    g997cdrtcg,    G997_ChannelDataRateThresholdConfigGet
>    g997cdrtcs,    G997_ChannelDataRateThresholdConfigSet
>    g997csg,       G997_ChannelStatusGet
>    g997dpfsg,     G997_DataPathFailuresStatusGet
>    g997dfr,       G997_DeltFreeResources
>    g997dhling,    G997_DeltHLINGet
>    g997dhlinsg,   G997_DeltHLINScaleGet
>    g997dhlogg,    G997_DeltHLOGGet
>    g997dqlng,     G997_DeltQLNGet
>    g997dsnrg,     G997_DeltSNRGet
>    g997fpsg,      G997_FramingParameterStatusGet
>    g997gang,      G997_GainAllocationNscGet
>    g997gansg,     G997_GainAllocationNscShortGet
>    g997lstg,      G997_LastStateTransmittedGet
>    g997lacg,      G997_LineActivateConfigGet
>    g997lacs,      G997_LineActivateConfigSet
>    g997lfsg,      G997_LineFailureStatusGet
>    g997lisg,      G997_LineInitStatusGet
>    g997lig,       G997_LineInventoryGet
>    g997listrg,    G997_LineInventorySTRingGet
>    g997lis,       G997_LineInventorySet
>    g997lsg,       G997_LineStatusGet
>    g997lspbg,     G997_LineStatusPerBandGet
>    g997ltsg,      G997_LineTransmissionStatusGet
>    g997pmsft,     G997_PowerManagementStateForcedTrigger
>    g997pmsg,      G997_PowerManagementStatusGet
>    g997racg,      G997_RateAdaptationConfigGet
>    g997racs,      G997_RateAdaptationConfigSet
>    g997smr,       G997_SnmpMessageReceive
>    g997sms,       G997_SnmpMessageSend
>    g997sang,      G997_SnrAllocationNscGet
>    g997sansg,     G997_SnrAllocationNscShortGet
>    g997xtusecg,   G997_XTUSystemEnablingConfigGet
>    g997xtusecs,   G997_XTUSystemEnablingConfigSet
>    g997xtusesg,   G997_XTUSystemEnablingStatusGet
>    help,          Help
>    hsdg,          HybridSelectionDataGet
>    ics,           InstanceControlSet
>    isg,           InstanceStatusGet
>    lecg,          LastExceptionCodesGet
>    lfcg,          LineFeatureConfigGet
>    lfcs,          LineFeatureConfigSet
>    lfsg,          LineFeatureStatusGet
>    locg,          LineOptionsConfigGet
>    locs,          LineOptionsConfigSet
>    lsg,           LineStateGet
>    llsg,          LoopLengthStatusGet
>    llcg,          LowLevelConfigurationGet
>    llcs,          LowLevelConfigurationSet
>    mlsg,          MiscLineStatusGet
>    mfcg,          MultimodeFsmConfigGet
>    mfcs,          MultimodeFsmConfigSet
>    mfsg,          MultimodeFsmStatusGet
>    nsecg,         NotificationScriptExecuteConfigGet
>    nsecs,         NotificationScriptExecuteConfigSet
>    pm15meet,      PM_15MinElapsedExtTrigger
>    pmbms,         PM_BurninModeSet
>    pmcc15mg,      PM_ChannelCounters15MinGet
>    pmcc1dg,       PM_ChannelCounters1DayGet
>    pmccsg,        PM_ChannelCountersShowtimeGet
>    pmcctg,        PM_ChannelCountersTotalGet
>    pmchs15mg,     PM_ChannelHistoryStats15MinGet
>    pmchs1dg,      PM_ChannelHistoryStats1DayGet
>    pmct15mg,      PM_ChannelThresholds15MinGet
>    pmct15ms,      PM_ChannelThresholds15MinSet
>    pmct1dg,       PM_ChannelThresholds1DayGet
>    pmct1ds,       PM_ChannelThresholds1DaySet
>    pmcg,          PM_ConfigGet
>    pmcs,          PM_ConfigSet
>    pmdpc15mg,     PM_DataPathCounters15MinGet
>    pmdpc1dg,      PM_DataPathCounters1DayGet
>    pmdpcsg,       PM_DataPathCountersShowtimeGet
>    pmdpctg,       PM_DataPathCountersTotalGet
>    pmdpfc15mg,    PM_DataPathFailureCounters15MinGet
>    pmdpfc1dg,     PM_DataPathFailureCounters1DayGet
>    pmdpfcsg,      PM_DataPathFailureCountersShowtimeGet
>    pmdpfctg,      PM_DataPathFailureCountersTotalGet
>    pmdpfhs15mg,   PM_DataPathFailureHistoryStats15MinGet
>    pmdpfhs1dg,    PM_DataPathFailureHistoryStats1DayGet
>    pmdphs15mg,    PM_DataPathHistoryStats15MinGet
>    pmdphs1dg,     PM_DataPathHistoryStats1DayGet
>    pmdpt15mg,     PM_DataPathThresholds15MinGet
>    pmdpt15ms,     PM_DataPathThresholds15MinSet
>    pmdpt1dg,      PM_DataPathThresholds1DayGet
>    pmdpt1ds,      PM_DataPathThresholds1DaySet
>    pmetr,         PM_ElapsedTimeReset
>    pmlesc15mg,    PM_LineEventShowtimeCounters15MinGet
>    pmlesc1dg,     PM_LineEventShowtimeCounters1DayGet
>    pmlescsg,      PM_LineEventShowtimeCountersShowtimeGet
>    pmlesctg,      PM_LineEventShowtimeCountersTotalGet
>    pmleshs15mg,   PM_LineEventShowtimeHistoryStats15MinGet
>    pmleshs1dg,    PM_LineEventShowtimeHistoryStats1DayGet
>    pmlfc15mg,     PM_LineFailureCounters15MinGet
>    pmlfc1dg,      PM_LineFailureCounters1DayGet
>    pmlfcsg,       PM_LineFailureCountersShowtimeGet
>    pmlfctg,       PM_LineFailureCountersTotalGet
>    pmlfhs15mg,    PM_LineFailureHistoryStats15MinGet
>    pmlfhs1dg,     PM_LineFailureHistoryStats1DayGet
>    pmlic15mg,     PM_LineInitCounters15MinGet
>    pmlic1dg,      PM_LineInitCounters1DayGet
>    pmlicsg,       PM_LineInitCountersShowtimeGet
>    pmlictg,       PM_LineInitCountersTotalGet
>    pmlihs15mg,    PM_LineInitHistoryStats15MinGet
>    pmlihs1dg,     PM_LineInitHistoryStats1DayGet
>    pmlit15mg,     PM_LineInitThresholds15MinGet
>    pmlit15ms,     PM_LineInitThresholds15MinSet
>    pmlit1dg,      PM_LineInitThresholds1DayGet
>    pmlit1ds,      PM_LineInitThresholds1DaySet
>    pmlsc15mg,     PM_LineSecCounters15MinGet
>    pmlsc1dg,      PM_LineSecCounters1DayGet
>    pmlscsg,       PM_LineSecCountersShowtimeGet
>    pmlsctg,       PM_LineSecCountersTotalGet
>    pmlshs15mg,    PM_LineSecHistoryStats15MinGet
>    pmlshs1dg,     PM_LineSecHistoryStats1DayGet
>    pmlst15mg,     PM_LineSecThresholds15MinGet
>    pmlst15ms,     PM_LineSecThresholds15MinSet
>    pmlst1dg,      PM_LineSecThresholds1DayGet
>    pmlst1ds,      PM_LineSecThresholds1DaySet
>    pmrtc15mg,     PM_ReTxCounters15MinGet
>    pmrtc1dg,      PM_ReTxCounters1DayGet
>    pmrtcsg,       PM_ReTxCountersShowtimeGet
>    pmrtctg,       PM_ReTxCountersTotalGet
>    pmrths15mg,    PM_ReTxHistoryStats15MinGet
>    pmrths1dg,     PM_ReTxHistoryStats1DayGet
>    pmrtt15mg,     PM_ReTxThresholds15MinGet
>    pmrtt15ms,     PM_ReTxThresholds15MinSet
>    pmrtt1dg,      PM_ReTxThresholds1DayGet
>    pmrtt1ds,      PM_ReTxThresholds1DaySet
>    pmr,           PM_Reset
>    pmsmg,         PM_SyncModeGet
>    pmsms,         PM_SyncModeSet
>    ptsg,          PilotTonesStatusGet
>    quit,          Quit
>    rccg,          RebootCriteriaConfigGet
>    rccs,          RebootCriteriaConfigSet
>    rusg,          ResourceUsageStatisticsGet
>    se,            ScriptExecute
>    sicg,          SystemInterfaceConfigGet
>    sics,          SystemInterfaceConfigSet
>    sisg,          SystemInterfaceStatusGet
>    tmcs,          TestModeControlSet
>    tmsg,          TestModeStatusGet
>    vig,           VersionInformationGet

can i tweak snr?
can i switch to path 0 and disable g.inp and interleaving?
can i set a max rate for the connection?(like xdslcmd configure --maxrate)
what else can i do with the utility? i cant find documentation for it.
i want to improve my line quality with these, i tried lots of unsupported routers and the cli is locked or limited so i started to consider a openwrt/lede modded vdsl router.
if anyone has a supported vdsl openwrt modded router/modem (maybe Netgear Dm200 or TP-link TD-W8970 or something else), it would be great to post all the xdsl options from the cli and gui with explanation.

thanks


I want to override DLM/DSLAM Interleaving/G.Inp profile for better latency
#2

I fear that they only people were know the answer are the programmer only,
because it will not need normally.
When i read the /etc/init.d/dsl_control right them start/stop vdsl_cpe_control the DSL Firmware.
And i can open a console:

vdsl_cpe_control --console

But it is very cryptic example:

> help
...
vpcg,          VdslProfileConfigGet
...

> vpcg
nReturn=0 nVdslProfile=0x000000FF

I Think the most will do the Firmware automatic.
Other some important parameter can be set by uci/luci


#3

how can i contact the programmers?, will they help me?
i need to tweak the things i mentioned (fast path, no inp delay and snr)really bad to improve connection stability and latency, the dslam/msan profile is bad as my isp doesnt care, the distance is very small ~100meter of copper to the cabinet!.


How far i can go with the TP-LINK TD-W8970 500mhz cpu and 64mb ram? and is there any fix for the switch speed?
#4

Pretty sure you can't tweak much, the profile is decided by your ISP and applied by the DSLAM using DLM.


#5

there must be something that i can do , but i don't know what and how!
i couldn't find enough simple documents explaining these stuff.


#6

Problem you need a firmware bin that allow you change the settings but the only thing you can do change SNR UP / DOWN offset but if you change other settings DSLAM with Vectoring put your modem on a ADSL fallback profile. and -+4dbm is the max


#7

i dont have vectoring on my line, at least i think, what should i do? and where can i find a firmware bin?
on ADSL i cant get my full upload speed.


#8

https://xdarklight.github.io/lantiq-xdsl-firmware-info/

But witch Version work.. i dint know it.


#9

ok i will get the router when i find it, and test, i think if i failed then there is no way around it....


#10

Is there a way to run the utility as a simulator without real hardware(on pc qemu for example)?


#11

Well a year late - but EJS, not sure if he posts here, looked at the source code - and came up with some interesting commands. E.g

In the console, these show info on the SNR in the frequency bins, and also the number of bits in each bin:

g997bansg 0
g997bansg 1
g997sansg 0
g997sansg 1


#12

Honestly I couldn't go much further after SNR because I am not a programmer, let's refresh this thread.