Questions about vdsl_cpe_control

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 ./
> 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.


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

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!.

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

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.

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

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.

But witch Version work.. i dint know it.

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

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

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

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