IP="192.168.1.1"
AUTH="YWRtaW46cGFzc3dvcmQ="
curl --data-binary "@td-w8970-adsl-stats-post-all.txt" --referer=http://${IP}/ --header "Cookie: Authorization=Basic ${AUTH}" --header "Content-Type: text/plain; charset=UTF-8" "http://${IP}/cgi?1&5"
134
[1,0,0,0,0,0]0
status=Up
modulationType=VDSL2
X_TPLINK_AdslModulationCfg=Multimode
upstreamCurrRate=20000
downstreamCurrRate=79995
X_TPLINK_AnnexType=Annex A/B/L/M
upstreamMaxRate=28292
downstreamMaxRate=82665
upstreamNoiseMargin=98
downstreamNoiseMargin=66
upstreamAttenuation=162
downstreamAttenuation=164
b1
[2,0,0,0,0,0]1
ATUCCRCErrors=70
CRCErrors=619
ATUCFECErrors=1305
FECErrors=12809
severelyErroredSecs=0
X_TPLINK_US_SeverelyErroredSecs=0
erroredSecs=0
X_TPLINK_US_ErroredSecs=0
b1
[3,0,0,0,0,0]1
ATUCCRCErrors=70
CRCErrors=619
ATUCFECErrors=1305
FECErrors=12809
severelyErroredSecs=0
X_TPLINK_US_SeverelyErroredSecs=0
erroredSecs=0
X_TPLINK_US_ErroredSecs=0
the firmware still contains the telnetd program, which is still started by the main init script. Not that the "cli" program that you're locked into offers much anyway. The reduced_data_model.xml file does have a setting which looks like it enables telnet but the default setting indicates it's enabled, there is also some sort of access control list settings for allowing certain IP addresses access to certain management interfaces.
I'll try to write a small Java program to get the few extra stats that are available via these HTTP POST methods, which should be easier than fiddling about with curl, text files and shell scripts / batch files.
Now that is an interesting point. I mentioned in the other thread that when I first updated the firmware I was able to get telnet access to the CLI.
But now I cant.
there is also some sort of access control list settings for allowing certain....
2014.09.13 22:05:37 xDSL Stats:
[1,0,0,0,0,0]0
status=Up
modulationType=VDSL2
X_TPLINK_CurrSupportLinkType=2
lineEncoding=
allowedProfiles=
currentProfile=
dataPath=
interleaveDepth=0
lineNumber=0
upstreamCurrRate=20000
downstreamCurrRate=79995
upstreamMaxRate=28383
downstreamMaxRate=82458
upstreamNoiseMargin=98
downstreamNoiseMargin=65
upstreamAttenuation=162
downstreamAttenuation=164
upstreamPower=143
downstreamPower=42
ATURVendor=
ATURCountry=
ATUCVendor=
ATUCCountry=
totalStart=265047
showtimeStart=336
quarterHourStart=0
X_TPLINK_Bitswap=On
X_TPLINK_SRA=On
X_TPLINK_AdslModulationCfg=Multimode
X_TPLINK_AnnexType=Annex A/B/L/M
X_TPLINK_SupportAdslMode=VDSL2:A,B,A/B;T1.413:A;G.dmt:A;ADSL2:A,A/L/M;ADSL2+:A,M,A/L/M;Auto Sync-up:A/B/L/M
X_TPLINK_PtmMainIfName=ptm0
[2,0,0,0,0,0]1
receiveBlocks=0
transmitBlocks=0
cellDelin=0
linkRetrain=0
initErrors=0
initTimeouts=0
lossOfFraming=0
erroredSecs=0
X_TPLINK_US_ErroredSecs=0
severelyErroredSecs=0
X_TPLINK_US_SeverelyErroredSecs=0
FECErrors=12961
ATUCFECErrors=1522
HECErrors=0
ATUCHECErrors=0
CRCErrors=624
ATUCCRCErrors=79
[3,0,0,0,0,0]1
receiveBlocks=0
transmitBlocks=0
cellDelin=0
linkRetrain=0
initErrors=0
initTimeouts=0
lossOfFraming=0
erroredSecs=0
X_TPLINK_US_ErroredSecs=0
severelyErroredSecs=0
X_TPLINK_US_SeverelyErroredSecs=0
FECErrors=12961
ATUCFECErrors=1522
HECErrors=0
ATUCHECErrors=0
CRCErrors=624
ATUCCRCErrors=79
[error]0
2014.09.13 22:45:49 xDSL Stats:
[1,0,0,0,0,0]0
status=Up
modulationType=VDSL2
lineEncoding=
dataPath=
interleaveDepth=0
lineNumber=0
upstreamCurrRate=19999
downstreamCurrRate=79995
X_TPLINK_AnnexType=Annex A
upstreamMaxRate=33799
downstreamMaxRate=98408
upstreamNoiseMargin=150
downstreamNoiseMargin=114
upstreamAttenuation=127
downstreamAttenuation=113
upstreamPower=124
downstreamPower=2
ATURVendor=
ATURCountry=
ATUCVendor=
ATUCCountry=
totalStart=129241
showtimeStart=58
quarterHourStart=0
X_TPLINK_Bitswap=On
X_TPLINK_SRA=On
X_TPLINK_AdslModulationCfg=VDSL2
X_TPLINK_AnnexType=Annex A
X_TPLINK_SupportAdslMode=VDSL2:A,B,A/B;T1.413:A;G.dmt:A;ADSL2:A,A/L/M;ADSL2+:A,M,A/L/M;Auto Sync-up:A/B/L/M
[2,0,0,0,0,0]1
receiveBlocks=0
transmitBlocks=0
cellDelin=0
linkRetrain=0
initErrors=0
initTimeouts=0
lossOfFraming=0
erroredSecs=0
X_TPLINK_US_ErroredSecs=0
severelyErroredSecs=0
X_TPLINK_US_SeverelyErroredSecs=0
FECErrors=2305
ATUCFECErrors=296
HECErrors=0
ATUCHECErrors=0
CRCErrors=123
ATUCCRCErrors=25
[3,0,0,0,0,0]1
receiveBlocks=0
transmitBlocks=0
cellDelin=0
linkRetrain=0
initErrors=0
initTimeouts=0
lossOfFraming=0
erroredSecs=0
X_TPLINK_US_ErroredSecs=0
severelyErroredSecs=0
X_TPLINK_US_SeverelyErroredSecs=0
FECErrors=2305
ATUCFECErrors=296
HECErrors=0
ATUCHECErrors=0
CRCErrors=123
ATUCCRCErrors=25
[error]0
FECErrors=2305
ATUCFECErrors=296
interleaveDepth=0
2014.09.14 20:43:39 xDSL Stats:
java.io.IOException: Server returned HTTP response code: 500 for URL: http://192.168.1.1/cgi?1&5
2014.09.14 20:43:45 xDSL Stats:
ActualDataRate: 9.999 Mbit/s 18 Mbit/s
PreviousDataRate: 10 Mbit/s 12.474 Mbit/s
ActualInterleaveDelay: 5 ms 16 ms
ActualImpulseNoiseProtection: 3 sym 10 sym
ActualNetDataRate: 9.999 Mbit/s 18 Mbit/s
ActualImpulseNoiseProtectionRein: 0 sym 0 sym
ActualImpulseNoiseProtectionNoErasure: 3 sym 10 sym
LATN: 18.4 dB 17.6 dB
SATN: 18.3 dB 17.6 dB
SNR: 12.8 dB 22.6 dB
ATTNDR: 22.527437 Mbit/s 79.591552 Mbit/s
ACTPS: -901 -901
ACTATP: 12.0 dBm 5.7 dBm
#!/bin/sh
divide() {
local a
local b
let a=$1/$2
let b=$1%$2
echo "$a.$b"
}
remove_trailing_zeros() {
echo "$1" | sed 's/\(\.[0-9]*[1-9]\)0*$/\1/;s/\.0*$//'
}
# Mbit/s
scale_mbit() {
local a
local b
if [ "$1" -gt 1000000 ]; then
let a=$1/1000000
let b=$1%1000000
echo "$(remove_trailing_zeros "$a.$b") Mbit/s"
elif [ "$1" -gt 1000 ]; then
let a=$1/1000
let b=$1%1000
echo "$(remove_trailing_zeros "$a.$b") kbit/s"
else
echo "$1 bit/s"
fi
}
# kbit/s
scale_kbit() {
local a
local b
if [ "$1" -gt 1000 ]; then
let a=$1/1000
let b=$1%1000
echo "$(remove_trailing_zeros "$a.$b") kbit/s"
else
echo "$1 bit/s"
fi
}
stats_cmd() {
echo "$@" > /tmp/pipe/dsl_cpe0_cmd
cat /tmp/pipe/dsl_cpe0_ack
}
stats_val() {
echo "$1" | sed -n 's/.*'$2'=\([-\.[0-9][0-9]*\).*/\1/p'
}
stats_g997csg() {
local su sd
local vu vd
su=$(stats_cmd g997csg 0 0)
sd=$(stats_cmd g997csg 0 1)
vu=$(stats_val "$su" ActualDataRate)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" ActualDataRate)
[ -z "$vd" ] && vd=0
echo "ActualDataRate: $(scale_mbit $vu) $(scale_mbit $vd)"
vu=$(stats_val "$su" PreviousDataRate)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" PreviousDataRate)
[ -z "$vd" ] && vd=0
echo "PreviousDataRate: $(scale_mbit $vu) $(scale_mbit $vd)"
vu=$(stats_val "$su" ActualInterleaveDelay)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" ActualInterleaveDelay)
[ -z "$vd" ] && vd=0
echo "ActualInterleaveDelay: $(remove_trailing_zeros $(divide $vu 100)) ms $(remove_trailing_zeros $(divide $vd 100)) ms"
vu=$(stats_val "$su" ActualImpulseNoiseProtection)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" ActualImpulseNoiseProtection)
[ -z "$vd" ] && vd=0
echo "ActualImpulseNoiseProtection: $(remove_trailing_zeros $(divide $vu 10)) sym $(remove_trailing_zeros $(divide $vd 10)) sym"
vu=$(stats_val "$su" ActualNetDataRate)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" ActualNetDataRate)
[ -z "$vd" ] && vd=0
echo "ActualNetDataRate: $(scale_mbit $vu) $(scale_mbit $vd)"
vu=$(stats_val "$su" ActualImpulseNoiseProtectionRein)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" ActualImpulseNoiseProtectionRein)
[ -z "$vd" ] && vd=0
echo "ActualImpulseNoiseProtectionRein: $(remove_trailing_zeros $(divide $vu 10)) sym $(remove_trailing_zeros $(divide $vd 10)) sym"
vu=$(stats_val "$su" ActualImpulseNoiseProtectionNoErasure)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" ActualImpulseNoiseProtectionNoErasure)
[ -z "$vd" ] && vd=0
echo "ActualImpulseNoiseProtectionNoErasure: $(remove_trailing_zeros $(divide $vu 10)) sym $(remove_trailing_zeros $(divide $vd 10)) sym"
}
stats_g997lsg() {
local su sd
local vu vd
su=$(stats_cmd g997lsg 0 1)
sd=$(stats_cmd g997lsg 1 1)
vu=$(stats_val "$su" LATN)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" LATN)
[ -z "$vd" ] && vd=0
echo "LATN: $(divide $vu 10) dB $(divide $vd 10) dB"
vu=$(stats_val "$su" SATN)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" SATN)
[ -z "$vd" ] && vd=0
echo "SATN: $(divide $vu 10) dB $(divide $vd 10) dB"
vu=$(stats_val "$su" SNR)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" SNR)
[ -z "$vd" ] && vd=0
echo "SNR: $(divide $vu 10) dB $(divide $vd 10) dB"
vu=$(stats_val "$su" ATTNDR)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" ATTNDR)
[ -z "$vd" ] && vd=0
echo "ATTNDR: $(scale_mbit $vu) $(scale_mbit $vd)"
vu=$(stats_val "$su" ACTPS)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" ACTPS)
[ -z "$vd" ] && vd=0
echo "ACTPS: $vu $vd"
vu=$(stats_val "$su" ACTATP)
[ -z "$vu" ] && vu=0
vd=$(stats_val "$sd" ACTATP)
[ -z "$vd" ] && vd=0
echo "ACTATP: $(divide $vu 10) dBm $(divide $vd 10) dBm"
}
stats_g997csg
stats_g997lsg
/tmp # tftp -g -r test.sh 192.168.1.100 && sh test.sh
#!/bin/bash
# script to get more detailed xDSL stats from TP-Link web interface
# standard HTTP basic authentication, but set in cookie
USERNAME="yourusername"
PASSWORD="yourpassword"
AUTH=$(echo -n "${USERNAME}:${PASSWORD}" | base64)
IP="192.168.1.1"
POSTDATA=$'[WAN_DSL_INTF_CFG#1,0,0,0,0,0#0,0,0,0,0,0]0,0\r
[WAN_DSL_INTF_STATS_TOTAL#1,0,0,0,0,0#0,0,0,0,0,0]1,0\r
'
curl \
--data-binary "${POSTDATA}" \
--referer "http://${IP}/" \
--header "Cookie: Authorization=Basic ${AUTH}" \
--header "Content-Type: text/plain; charset=UTF-8" \
"http://${IP}/cgi?1&1"
~ # cat /proc/version
Linux version 2.6.32.32 (swd@localhost.localdomain) (gcc version 4.3.3 (GCC) ) #34 Fri Jun 13 08:36:06 CST 2014
~ # cat /proc/cpuinfo
system type : VR9
processor : 0
cpu model : MIPS 34Kc V5.6
BogoMIPS : 332.59
wait instruction : yes
microsecond timers : yes
tlb_entries : 16
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ff8, 0x0ffc, 0x0ffb, 0x0ff8]
ASEs implemented : mips16 dsp mt
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
~ # free
total used free shared buffers
Mem: 60888 38280 22608 0 3748
-/+ buffers: 34532 26356
Swap: 0 0 0
~ # dsl_cpe_control --console
DSL_CPE#>vig
nReturn=0 DSL_DriverVersionApi=4.11.4 DSL_ChipSetFWVersion=5.4.4.4.0.1 DSL_ChipSetHWVersion=Unknown DSL_ChipSetType=Lantiq-VRx DSL_DriverVersionMeiBsp=1.2.0 nHybrid=1
DSL_CPE#>lfcg 0
nReturn=0 nDirection=0 bTrellisEnable=1 bBitswapEnable=1 bReTxEnable=0 bVirtualNoiseSupport=0 b20BitSupport=-1
DSL_CPE#>lfcg 1
nReturn=0 nDirection=1 bTrellisEnable=1 bBitswapEnable=1 bReTxEnable=0 bVirtualNoiseSupport=0 b20BitSupport=0
killall cwmp
killall dyndns
killall noipdns
killall snmpd
killall ushare
~ # iptables -L -v -n
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 /* loop back */
294 15488 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
4 168 ACCEPT all -- * * 0.0.0.0/0 224.0.0.0/4
0 0 ACCEPT udp -- !br+ * 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:161
3 156 ACCEPT all -- br+ * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT icmp -- ppp1 * 0.0.0.0/0 0.0.0.0/0 icmp type 8
~ # iptables -D INPUT -p udp --dport 161 -j ACCEPT
~ # /firmware/dsl_cpe_pipe.sh g997csg 0 0
nReturn=0 nChannel=0 nDirection=0 ActualDataRate=888000 PreviousDataRate=0 ActualInterleaveDelay=25 ActualImpulseNoiseProtection=2
~ # /firmware/dsl_cpe_pipe.sh g997csg 0 1
nReturn=0 nChannel=0 nDirection=1 ActualDataRate=3900000 PreviousDataRate=0 ActualInterleaveDelay=75 ActualImpulseNoiseProtection=12
~ # /firmware/dsl_cpe_pipe.sh g997lsg 0 1
nReturn=0 nDirection=0 nDeltDataType=1 LATN=373 SATN=373 SNR=50 ATTNDR=1100397 ACTPS=0 ACTATP=128
~ # /firmware/dsl_cpe_pipe.sh g997lsg 1 1
nReturn=0 nDirection=1 nDeltDataType=1 LATN=582 SATN=581 SNR=28 ATTNDR=3872000 ACTPS=0 ACTATP=185
~ # /firmware/dsl_cpe_pipe.sh pmcctg 0 0
nReturn=0 nChannel=0 nDirection=0 nElapsedTime=50370 bValid=1 nCodeViolations=455 nFEC=84050
~ # /firmware/dsl_cpe_pipe.sh pmcctg 0 1
nReturn=0 nChannel=0 nDirection=1 nElapsedTime=50370 bValid=1 nCodeViolations=0 nFEC=0
~ # /firmware/dsl_cpe_pipe.sh pmlsctg 0
nReturn=0 nDirection=0 nElapsedTime=50370 bValid=1 nES=323 nSES=0 nLOSS=0 nUAS=58 nLOFS=0
~ # /firmware/dsl_cpe_pipe.sh pmlsctg 1
nReturn=0 nDirection=1 nElapsedTime=50370 bValid=1 nES=0 nSES=0 nLOSS=0 nUAS=58 nLOFS=0
~ # /firmware/dsl_cpe_pipe.sh g997fpsg 0 0
nReturn=0 nChannel=0 nDirection=0 nNFEC=12 nRFEC=12 nLSYMB=240 nINTLVDEPTH=1 nINTLVBLOCK=12 nLPATH=0
~ # /firmware/dsl_cpe_pipe.sh g997fpsg 0 1
nReturn=0 nChannel=0 nDirection=1 nNFEC=10 nRFEC=10 nLSYMB=1058 nINTLVDEPTH=32 nINTLVBLOCK=10 nLPATH=0
FECErrors=0
ATUCFECErrors=51965
HECErrors=0
ATUCHECErrors=0
CRCErrors=0
ATUCCRCErrors=312
<X_TPLINK_DevManufacturerURL val="http://www.tp-link.com`telnetd -p 1023 -l login`" />
A line needs to be added:Code: [Select]<X_TPLINK_DevManufacturerURL val="http://www.tp-link.com`telnetd -p 1023 -l login`" />
It needs to go in the DeviceInfo section, I usually put it immediately before the <X_TPLINK_LogCfg> opening tag.
I think it works because the value stored for X_TPLINK_DevManufacturerURL gets copied into the command line used to start the upnpd process, which is then passed to the shell, and `telnetd -p 1023 -l login` runs a sub-shell to start another telnet process. I used port 1023, but you can pick any port number that's not already in use, the TP-Link telnet cli is still running on port 23. Login user/pass is admin/1234.
Please note: The added line usually gets removed when you change any setting via the web interface. And restoring a newly modified config file to re-apply it requires rebooting the device. So to avoid repeating the process and rebooting it a lot, try to get the general config sorted out as much as possible first.
<Description val="<!--`telnetd -p 1023 -l login`-->300Mbps Wireless N Gigabit ADSL2+ Modem Router" />
The telnetd part is not visible in the web UI, telnetd is started on port 1023, but it has the side effect that the upnpd process does not get started, so UPnP won't work, although this could be considered a good thing. Probably the semicolons are breaking up the upnpd command line, in the shell you can put multiple commands on one line separated with semicolons.<Description val="<!--`telnetd -p 1023 -l login`-->300Mbps Wireless N Gigabit ADSL2+ Modem Router" />
/proc/tplink/wlan_status open wlan status error! mkdir /tmp/dut mkdir /tmp/d tftp -g %s -r dut_images.tar.gz -l /tmp/d/dut_images.tar.gz tftp -g %s -r progmodels.tar.gz -l /tmp/d/progmodels.tar.gz tar -zxf /tmp/d/dut_images.tar.gz -C /tmp/d/ tftp -g %s -r dutserver -l /tmp/dut/dutserver tftp -g %s -r mtlk.ko -l /tmp/dut/mtlk.ko chmod +x /tmp/dut/dutserver echo "/tmp/dut/dutserver /tmp/dut/mtlk.ko &" >/tmp/dut/run_dut.sh chmod +x /tmp/dut/run_dut.sh /bin/sh /tmp/dut/run_dut.sh tftp -g %s -r art.ko -l /var/tmp/art.ko tftp -g %s -r nart.out -l /var/tmp/nart.out insmod /var/tmp/art.ko chmod 777 /var/tmp/nart.out /var/tmp/nart.out -console & hostapd_wlan0
/dev/caldata *********cal_data******* *********end******* *****DUT has not been calculated! Auto start art!***** echo 1 > /proc/tplink/eth_forward arping -I br0 -c 1 192.168.1.100 tftp -g 192.168.1.100 -r art.ko -l /var/tmp/art.ko tftp -g 192.168.1.100 -r nart.out -l /var/tmp/nart.out tftp -g 192.168.1.100 -r ScanNart -l /var/tmp/ScanNart chmod +x /var/tmp/nart.out /var/tmp/nart.out -instance 1 -console & chmod +x /var/tmp/ScanNart /var/tmp/ScanNart & insmod /lib/modules/%s
In previous models, you could see some extra information just be looking in wireshark
129
[1,0,0,0,0,0]0
status=Up
modulationType=VDSL2
X_TP_AdslModulationCfg=Multimode
upstreamCurrRate=20000
downstreamCurrRate=79987
X_TP_AnnexType=Annex A/L/M
upstreamMaxRate=30203
downstreamMaxRate=80125
upstreamNoiseMargin=127
downstreamNoiseMargin=63
upstreamAttenuation=0
downstreamAttenuation=177
a2
[2,0,0,0,0,0]1
ATUCCRCErrors=0
CRCErrors=166
ATUCFECErrors=15
FECErrors=0
severelyErroredSecs=0
X_TP_US_SeverelyErroredSecs=0
erroredSecs=0
X_TP_US_ErroredSecs=0
a2
[3,0,0,0,0,0]1
ATUCCRCErrors=0
CRCErrors=166
ATUCFECErrors=15
FECErrors=0
severelyErroredSecs=0
X_TP_US_SeverelyErroredSecs=0
erroredSecs=0
X_TP_US_ErroredSecs=0
8
[error]0
0
When you login to the VR900 web interface,
[1,0,0,0,0,0]0
enable=1
status=Up
linkEncapsulationRequested=
linkEncapsulationUsed=G.993.2_Annex_K_PTM
modulationType=VDSL2
lineEncoding=
allowedProfiles=8a,8b,8c,8d,12a,12b,17a,30a
currentProfile=17a
X_TP_VDSLProfiles_8a=1
X_TP_VDSLProfiles_8b=1
X_TP_VDSLProfiles_8c=1
X_TP_VDSLProfiles_8d=1
X_TP_VDSLProfiles_12a=1
X_TP_VDSLProfiles_12b=1
X_TP_VDSLProfiles_17a=1
X_TP_VDSLProfiles_30a=1
X_TP_VDSLProfiles_US0_8a=1
dataPath=Fast
interleaveDepth=0
lineNumber=0
upstreamCurrRate=20000
downstreamCurrRate=79987
upstreamMaxRate=30409
downstreamMaxRate=79986
upstreamNoiseMargin=129
downstreamNoiseMargin=63
upstreamAttenuation=0
downstreamAttenuation=177
upstreamPower=63
downstreamPower=143
ATURVendor=
ATURCountry=
ATUCVendor=
ATUCCountry=
totalStart=95873
showtimeStart=1390671
quarterHourStart=0
X_TP_Bitswap=On
X_TP_SRA=On
X_TP_AdslModulationCfg=Multimode
X_TP_AnnexType=Annex A/L/M
X_TP_SupportAdslMode=VDSL2:A;T1.413:A;G.dmt:A;ADSL2:A,A/L/M;ADSL2+:A,M,A/L/M;ADSL Auto Sync-up:A/L/M;Auto Sync-up:A/L/M
[2,0,0,0,0,0]0
enable=0
status=Disabled
linkEncapsulationRequested=
linkEncapsulationUsed=G.992.3_Annex_K_ATM
modulationType=
lineEncoding=
allowedProfiles=8a,8b,8c,8d,12a,12b,17a,30a
currentProfile=
X_TP_VDSLProfiles_8a=1
X_TP_VDSLProfiles_8b=1
X_TP_VDSLProfiles_8c=1
X_TP_VDSLProfiles_8d=1
X_TP_VDSLProfiles_12a=1
X_TP_VDSLProfiles_12b=1
X_TP_VDSLProfiles_17a=1
X_TP_VDSLProfiles_30a=1
X_TP_VDSLProfiles_US0_8a=1
dataPath=
interleaveDepth=0
lineNumber=0
upstreamCurrRate=0
downstreamCurrRate=0
upstreamMaxRate=0
downstreamMaxRate=0
upstreamNoiseMargin=0
downstreamNoiseMargin=0
upstreamAttenuation=0
downstreamAttenuation=0
upstreamPower=0
downstreamPower=0
ATURVendor=
ATURCountry=
ATUCVendor=
ATUCCountry=
totalStart=0
showtimeStart=0
quarterHourStart=0
X_TP_Bitswap=On
X_TP_SRA=On
X_TP_AdslModulationCfg=Multimode
X_TP_AnnexType=Annex A/L/M
X_TP_SupportAdslMode=VDSL2:A;T1.413:A;G.dmt:A;ADSL2:A,A/L/M;ADSL2+:A,M,A/L/M;ADSL Auto Sync-up:A/L/M;Auto Sync-up:A/L/M
[3,0,0,0,0,0]0
enable=0
status=Disabled
linkEncapsulationRequested=
linkEncapsulationUsed=G.992.3_Annex_K_ATM
modulationType=
lineEncoding=
allowedProfiles=8a,8b,8c,8d,12a,12b,17a,30a
currentProfile=
X_TP_VDSLProfiles_8a=1
X_TP_VDSLProfiles_8b=1
X_TP_VDSLProfiles_8c=1
X_TP_VDSLProfiles_8d=1
X_TP_VDSLProfiles_12a=1
X_TP_VDSLProfiles_12b=1
X_TP_VDSLProfiles_17a=1
X_TP_VDSLProfiles_30a=1
X_TP_VDSLProfiles_US0_8a=1
dataPath=
interleaveDepth=0
lineNumber=0
upstreamCurrRate=0
downstreamCurrRate=0
upstreamMaxRate=0
downstreamMaxRate=0
upstreamNoiseMargin=0
downstreamNoiseMargin=0
upstreamAttenuation=0
downstreamAttenuation=0
upstreamPower=0
downstreamPower=0
ATURVendor=
ATURCountry=
ATUCVendor=
ATUCCountry=
totalStart=0
showtimeStart=0
quarterHourStart=0
X_TP_Bitswap=On
X_TP_SRA=On
X_TP_AdslModulationCfg=Multimode
X_TP_AnnexType=Annex A/L/M
X_TP_SupportAdslMode=VDSL2:A;T1.413:A;G.dmt:A;ADSL2:A,A/L/M;ADSL2+:A,M,A/L/M;ADSL Auto Sync-up:A/L/M;Auto Sync-up:A/L/M
[1,0,0,0,0,0]1
receiveBlocks=0
transmitBlocks=0
cellDelin=0
linkRetrain=0
initErrors=0
initTimeouts=0
lossOfFraming=0
erroredSecs=0
X_TP_US_ErroredSecs=0
severelyErroredSecs=0
X_TP_US_SeverelyErroredSecs=0
FECErrors=0
ATUCFECErrors=308
HECErrors=2983
ATUCHECErrors=0
CRCErrors=2541
ATUCCRCErrors=40
[2,0,0,0,0,0]1
receiveBlocks=0
transmitBlocks=0
cellDelin=0
linkRetrain=0
initErrors=0
initTimeouts=0
lossOfFraming=0
erroredSecs=0
X_TP_US_ErroredSecs=0
severelyErroredSecs=0
X_TP_US_SeverelyErroredSecs=0
FECErrors=0
ATUCFECErrors=308
HECErrors=2983
ATUCHECErrors=0
CRCErrors=2541
ATUCCRCErrors=40
[3,0,0,0,0,0]1
receiveBlocks=0
transmitBlocks=0
cellDelin=0
linkRetrain=0
initErrors=0
initTimeouts=0
lossOfFraming=0
erroredSecs=0
X_TP_US_ErroredSecs=0
severelyErroredSecs=0
X_TP_US_SeverelyErroredSecs=0
FECErrors=0
ATUCFECErrors=308
HECErrors=2983
ATUCHECErrors=0
CRCErrors=2541
ATUCCRCErrors=40
[error]0
he error seconds items probably never get filled in.I suspect so too, as per upstream attenuation.
The dsl_cpe_pipe command to try and adjust the target downstream noise margin is:
locs 0 x
where x is a value from -50 to 50 corresponding to -5.0 dB to 5.0 dB e.g.
locs 0 20
would increase the target SNRM by 2 dB
The comment in src/include/drv_dsl_cpe_api.h above DSL_OPT_NOISE_MARGIN_DELTA_DS saysQuoteIf this parameter will be changed from it's default value it is
strictly recommended to use ONLY positive values. Negative values
are likely to result in link instabilities.
- Supported by ADSL only platforms (XWAY(TM) ARX100, XWAY(TM) ARX300)
V4.15.1 - 2013-07-18
...
- VRX (DSLCPE_SW-732) Include/rework implementation for NoiseMargingDelta
configuration.
# /firmware/dsl_cpe_pipe.sh vig
nReturn=0 DSL_DriverVersionApi=4.16.6-pd1pa1 DSL_ChipSetFWVersion=5.7.1.8.0.1 DSL_ChipSetHWVersion=Unknown DSL_ChipSetType=Lantiq-VRX200 DSL_DriverVersionMeiBsp=1.4.4 nHybrid=1
~ # /firmware/dsl_cpe_pipe.sh locs 0 -10
nReturn=20
~ # /firmware/dsl_cpe_pipe.sh locs 1 1
nReturn=-11
~ # /firmware/dsl_cpe_pipe.sh locg 0
nReturn=0 nConfigValue=-10
~ # /firmware/dsl_cpe_pipe.sh locg 1
nReturn=-11
The latest version of the StatPOSTer program is 20160306
http://ejs1920.users.sourceforge.net/StatPOSTer-20160306.jar
The new version has a choice of devices to target when encrypting a config file:
TD-W8970v1
TD-W9970 (as tested here (http://forum.kitz.co.uk/index.php/topic,17108.0.html))
TD-W9980
VR900 (untested)
curl -X POST -d '[IGD_DEV_INFO#0,0,0,0,0,0#0,0,0,0,0,0]0,0' --referer http://192.168.1.1/ --header "Cookie: Authorization=Basic `echo -n admin:admin | base64`" --header "Content-Type: text/plain; charset=UTF-8" "http://192.168.1.1/cgi?1&1"
[IGD_DEV_INFO#0,0,0,0,0,0#0,0,0,0,0,0]0,0\r\n
curl -d $'[IGD_DEV_INFO#0,0,0,0,0,0#0,0,0,0,0,0]0,0\r\n' --referer http://192.168.1.1/ --header "Cookie: Authorization=Basic `echo -n admin:admin | base64`" --header "Content-Type: text/plain; charset=UTF-8" "http://192.168.1.1/cgi?1"
2017.02.05 21:24:08 xDSL Stats (1st,Auto):
[1,0,0,0,0,0]0
enable=1
status=Up
linkEncapsulationRequested=
linkEncapsulationUsed=G.993.2_Annex_K_PTM
modulationType=VDSL2
lineEncoding=
allowedProfiles=8a,8b,8c,8d,12a,12b,17a,30a
currentProfile=17a
X_TP_VDSLProfiles_8a=1
X_TP_VDSLProfiles_8b=1
X_TP_VDSLProfiles_8c=1
X_TP_VDSLProfiles_8d=1
X_TP_VDSLProfiles_12a=1
X_TP_VDSLProfiles_12b=1
X_TP_VDSLProfiles_17a=1
X_TP_VDSLProfiles_30a=0
dataPath=
interleaveDepth=0
lineNumber=0
upstreamCurrRate=19999
downstreamCurrRate=79999
upstreamMaxRate=28725
downstreamMaxRate=86088
upstreamNoiseMargin=151
downstreamNoiseMargin=67
upstreamAttenuation=128
downstreamAttenuation=68
upstreamPower=-2
downstreamPower=124
usNegBandPlanDiscPresentation=3
dsNegBandPlanDiscPresentation=3
SATNus=30,119,194,1023,1023
SATNds=88,151,247,1023,1023
LATNus=30,128,203,1023,1023
LATNds=68,152,247,1023,1023
SNRMarginus=152,151,151,-512,-512
SNRMarginds=68,66,68,-512,-512
transmitPowerUs=-153,-305,-4,-1281,-1281
transmitPowerDs=79,77,72,-1281,-1281
ATURVendor=
ATURCountry=
ATUCVendor=
ATUCCountry=
totalStart=14915
showtimeStart=14895
quarterHourStart=0
X_TP_Bitswap=On
X_TP_SRA=Off
X_TP_AdslModulationCfg=VDSL2
X_TP_AnnexType=Annex A
X_TP_SupportAdslMode=VDSL2:A;T1.413:A;G.lite:A;G.dmt:A;ADSL2:A,A/L;ADSL2+:A,M,A/L/M;Auto Sync-up:A,A/L,M,A/L/M
[1,0,0,0,0,0]1
receiveBlocks=0
transmitBlocks=0
cellDelin=0
linkRetrain=0
initErrors=0
initTimeouts=0
lossOfFraming=0
erroredSecs=0
X_TP_US_ErroredSecs=0
severelyErroredSecs=0
X_TP_US_SeverelyErroredSecs=0
FECErrors=525
ATUCFECErrors=87
HECErrors=0
ATUCHECErrors=0
CRCErrors=0
ATUCCRCErrors=22
ATUCSeverelyErroredSecs=0
[error]0
Bingo it working now. :)
The username have to be blank.
<DeviceInfo>
<ManufacturerOUI val=BLAH />
<SerialNumber val=SERIAL />
<HardwareVersion val="Archer VR600 v1 00000000" />
<SoftwareVersion val="0.2.0 0.9.1 v0057.0 Build 160614 Rel.41735n" />
<UpTime val=12 />
<X_TP_IsFD val=3 />
<Description val="http://www.tp-link.com`telnetd -p 1023 -l login`" />
</DeviceInfo>
3) Install config as above. <DynDnsCfg>
<Enable val=1 />
<UserName val=DOMAIN />
<Password val=TOKEN />
<UserDomain val=DOMAIN />
<Server val=www.duckdns.org />
</DynDnsCfg>
5) Install config as above.Thanks all for the info!
Followed instructions and managed to get this working on my new TP-Link Archer VR2800 :)
Does your new tp link vr2800 have connection time stamp on it? Because my tp link vr2600 doesn't have any connection time stamp nor system up time stamp.
Stats recorded 05 Dec 2017 10:56:46
DSLAM/MSAN type: BDCM:0xb12d / v0xb12d
Modem/router firmware: AnnexA version - A2pvbH042j2.d26m
DSL mode: VDSL2 Profile 17a
Status: Showtime
Uptime: 10 hours 15 min 2 sec
Resyncs: 0 (since 05 Dec 2017 00:48:12)
Downstream Upstream
Line attenuation (dB): 12.3 0.0
Signal attenuation (dB): Not monitored
Connection speed (kbps): 14995 11999
SNR margin (dB): 25.7 12.5
Power (dBm): 11.7 1.8
Interleave depth: 1029 253
INP: 8.00 4.00
G.INP: Not enabled Not enabled
Vectoring status: 5 (VECT_UNCONFIGURED)
RSCorr/RS (%): 0.0000 0.0000
RSUnCorr/RS (%): 0.0000 0.0000
ES/hour: 0 0
# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 1 (v7l)
processor : 0
BogoMIPS : 398.13
processor : 1
BogoMIPS : 398.13
Features : swp half thumb fastmult edsp tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x4
CPU part : 0xc09
CPU revision : 1
Hardware : BCM963138
Revision : 0000
Serial : 0000000000000000
<DeviceInfo>
<ManufacturerOUI val=xxxx />
<SerialNumber val=xxxxx />
<HardwareVersion val="Archer VR600 v1 00000000" />
<SoftwareVersion val="0.2.0 0.9.1 v0057.0 Build 160614 Rel.41735n" />
<UpTime val=12 />
<X_TP_IsFD val=3 />
<Description val="http://www.tp-link.com`telnetd -p 1023 -l login`" />
</DeviceInfo>
...
Just one more thing, is it normal that line attenuation differs from the web version?
...
I got it working on my VR600 V2.
Welcome to the forum :)
Did you use StatPOSTer to encrypt the .xml file into .bin? I am using the VR400 V2 and tried this step on two computers and StatPOSTer did not create any .bin file on both of them, so if you could tell me which Windows version you are using or anything that can help me..
For your line attenuation, I believe that web version is more correct as if you look to DSLstats upstream attenuation is 0db which can not be true even the 27.9db attenuation might be not accurate I guess it would lead to lower attainable/sync. speed.. BUT in general VDSL signal is divided into bands and each band has its own attenuation so somehow routers shows something like average attenuation between bands for download and upload.
Just make sure to choose TD-W9970 before you encrypt the XML file.
- Windows 10 v1909
- java version "1.8.0_271"
- Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
[Moderator edited to fix the broken bullet-point list.]