RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - pob - 17-05-2012 08:24 PM
(17-05-2012 07:40 PM)prichardson Wrote: I'm not digging in that mess ever again though, but I did find my power pack for my Empeg
Wow! That's a blast from the past. I was at university with the guy that developed the Empeg. I remember him talking about and demonstrating his initial ideas. I think he called his car the 'red hat car' due to the fact it had a PC running Red Hat Linux in the boot. This was around 1996/97, a couple of years before the Empeg 1 came out.
Sorry for the off-topic post!
RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - alexatkin - 17-05-2012 08:40 PM
Now back on topic:
RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - Bald_Eagle1 - 17-05-2012 08:53 PM
(17-05-2012 08:40 PM)alexatkin Wrote: Now back on topic:
Any chance of posting the log file used to create the graphs somewhere?
I'd like to run it through my Windows scripts to see what it looks like then.
RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - alexatkin - 17-05-2012 10:31 PM
http://csdprojects.co.uk/HG612/xdsl.txt
Oh and also could you point out to whoever it was who compiled the modded firmware that changing the password in the web UI doesn't change the password in telnet/ssh. That is a pretty nasty bug IMO.
RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - Bald_Eagle1 - 17-05-2012 11:34 PM
(17-05-2012 10:31 PM)alexatkin Wrote: http://csdprojects.co.uk/HG612/xdsl.txt
Oh and also could you point out to whoever it was who compiled the modded firmware that changing the password in the web UI doesn't change the password in telnet/ssh. That is a pretty nasty bug IMO.
Here are the Windows versions.
Your graphs were from a different log file, weren't they?
RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - alexatkin - 21-05-2012 03:26 AM
Okay mine now looks like this as I backported some of the stuff from the Windows script:
I have this script set to run every minute (overkill I know, but the plan is to track the sync speed later):
Code:
#!/bin/bash
if [ ! -d /tmp/xdsl ]; then
mkdir /tmp/xdsl
fi
/home/alexatkin/HG612.expect | tr -d "\r" | tr -d "\007" > /tmp/xdslstats.txt
# Only move the file when its complete so that if the graphing script executes part way through an update, it will use the previous data rather than failing
mv -f /tmp/xdslstats.txt /tmp/xdsl/
The expect script is:
Code:
#!/usr/bin/expect -f
set command [lrange $argv 0 0]
set timeout -1
spawn telnet 192.168.1.152
match_max 100000
expect "*Login:"
send -- "admin\r"
expect "*?assword:"
send -- "admin\r"
expect "ATP>"
send -- "sh\r"
expect "# "
send -- "\r"
expect "*# "
send -- "xdslcmd info --Bits\r"
expect "*# "
send -- "xdslcmd info --linediag\r"
expect "*# "
send -- "xdslcmd info --pbParams; echo\r"
expect "*# "
send -- "xdslcmd info --show\r"
expect "*# "
send -- "exit\r"
expect "ATP>"
send -- "exit\r"
expect eof
My graph.sh looks like this (comments stripped to save space in this post, see original file linked below for full commented/credited version):
Code:
#!/bin/bash
PNAME=$(basename $0)
TEMP="/tmp/xdsl/"
BITS="${TEMP}xdsl-Bits.txt"
SNR="${TEMP}xdsl-SNR.txt"
QLN="${TEMP}xdsl-QLN.txt"
HLOG="${TEMP}xdsl-Hlog.txt"
PBPARAMS="${TEMP}xdsl-pbParams.txt"
SHOW="${TEMP}xdsl-show.txt"
if [ $# -ne 1 ]; then
SYNCLOG="${TEMP}xdslstats.txt"
else
SYNCLOG="$1"
fi
if [ ! -r $SYNCLOG ]; then
echo "$PNAME: $SYNCLOG is unreadable or does not exist."
exit 2
fi
bits_split() {
awk 'NR=='$LINE_NO', NR=='$LINE_NO'+1 + ('$DS_BANDPLAN_FROM_1' - 1) { printf "%s %s 0 0\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$DS_BANDPLAN_FROM_1'), (NR=='$LINE_NO' + '$US_BANDPLAN_TO_1') { printf "%s 0 0 %s\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$US_BANDPLAN_TO_1' +1), (NR=='$LINE_NO' + '$DS_BANDPLAN_TO_1') { printf "%s 0 %s 0\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$DS_BANDPLAN_TO_1' +1), (NR=='$LINE_NO' + '$US_BANDPLAN_FROM_2' - 1) { printf "%s 0 0 %s\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$US_BANDPLAN_FROM_2'), (NR=='$LINE_NO' + '$US_BANDPLAN_TO_2') { printf "%s %s 0 0\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$US_BANDPLAN_TO_2' +1), (NR=='$LINE_NO' + '$DS_BANDPLAN_FROM_2' - 1) { printf "%s 0 0 %s\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$DS_BANDPLAN_FROM_2'), (NR=='$LINE_NO' + '$DS_BANDPLAN_TO_2') { printf "%s 0 %s 0\n",$1,$2 }' $SYNCLOG
if [ "$PROFILE" = "17a" ]; then
awk '(NR=='$LINE_NO' + '$DS_BANDPLAN_TO_2' + 1), (NR=='$LINE_NO' + '$US_BANDPLAN_FROM_3' - 1) { printf "%s 0 0 %s\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$US_BANDPLAN_FROM_3'), (NR=='$LINE_NO' + '$US_BANDPLAN_TO_3') { printf "%s %s 0 0\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$US_BANDPLAN_TO_3' + 1), (NR=='$LINE_NO' + '$DS_BANDPLAN_FROM_3' - 1) { printf "%s 0 0 %s\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$DS_BANDPLAN_FROM_3'), (NR=='$LINE_NO' + '$DS_BANDPLAN_TO_3') { printf "%s 0 %s 0\n",$1,$2 }' $SYNCLOG
awk '(NR=='$LINE_NO' + '$DS_BANDPLAN_TO_3' +1), (NR=='$LINE_NO' + 4095) { printf "%s 0 0 %s\n",$1,$2 }' $SYNCLOG
fi
}
gnp_common() {
echo "set terminal png font \"arial, 23\" size 800,480"
echo "set nokey"
echo "set xlabel 'Tone (subcarrier index - 4.3125KHz spacing)'"
echo "set xrange [0:$XMAX]"
echo "set mxtics 5"
echo "set grid xtics back"
echo "set grid mxtics back"
echo "set grid ytics back"
echo "set boxwidth 0.1 absolute"
}
bits_gnp() {
gnp_common
echo "set title 'VDSL2 (Profile $PROFILE) - Bit Loading'"
echo "set ylabel 'Bits per carrier'"
echo "set yrange [0:16]"
echo "set xtics axis nomirror 250"
echo "set ytics axis nomirror 1"
echo "set multiplot"
echo "plot '$BITS' using 1:2 title ' US ' linecolor 14 w boxes fs solid"
echo "plot '$BITS' using 1:3 title ' DS ' linecolor 1 w boxes fs solid"
echo "plot '$BITS' using 1:4 title ' Shared / Other' linecolor 46 w boxes fs solid"
echo "unset multiplot"
}
snr_gnp() {
gnp_common
echo "set title 'VDSL2 (Profile $PROFILE) - Signal to Noise Ratio'"
echo "set ylabel 'SNR (dB)'"
echo "set xtics axis nomirror 250"
echo "set ytics axis nomirror autofreq"
echo "set mytics 10"
echo "set multiplot"
echo "plot '$SNR' using 1:2 title ' US ' linecolor 14 w boxes fs solid"
echo "plot '$SNR' using 1:3 title ' DS ' linecolor 1 w boxes fs solid"
echo "plot '$SNR' using 1:4 title ' Shared / Other' linecolor 46 w boxes fs solid"
echo "unset multiplot"
}
qln_gnp() {
gnp_common
echo "set title 'VDSL2 (Profile $PROFILE) - Quiet Line Noise (QLN)'"
echo "set ylabel 'QLN (dBm/Hz)'"
echo "set xtics nomirror 250"
echo "set ytics axis nomirror autofreq"
echo "set mytics 10"
echo "set multiplot"
echo "plot '$QLN' using 1:2 title ' US ' linecolor 14 w boxes fs solid"
echo "plot '$QLN' using 1:3 title ' DS ' linecolor 1 w boxes fs solid"
echo "plot '$QLN' using 1:4 title ' Shared / Other' linecolor 46 w boxes fs solid"
echo "unset multiplot"
}
hlog_gnp() {
gnp_common
echo "set title 'VDSL2 (Profile $PROFILE) - Line Characteristics [Hlog(f)]'"
echo "set ylabel 'Hlog(dB)'"
echo "set xtics nomirror 250"
echo "set ytics axis nomirror autofreq"
echo "set mytics 10"
echo "set multiplot"
echo "plot '$HLOG' using 1:2 title ' US ' linecolor 14 w boxes fs solid"
echo "plot '$HLOG' using 1:3 title ' DS ' linecolor 1 w boxes fs solid"
echo "plot '$HLOG' using 1:4 title ' Shared / Other' linecolor 46 w boxes fs solid"
echo "unset multiplot"
}
DTSTAMP=$(date -r $SYNCLOG +%F_%H:%M)
PROFILE=$(awk '/VDSL2 Profile:/ { print $4 }' $SYNCLOG)
if [ -z "$PROFILE" ]; then
PROFILE=17a
echo "The VDSL2 profile could not be determined."
echo "Defaulting to produce graphs for VDSL2 profile $PROFILE."
else
echo "Producing graphs for VDSL2 profile $PROFILE."
fi
case $PROFILE in
8c) XMAX=2000 ;;
17a) XMAX=4096 ;;
esac
grep -A 40 "^# xdslcmd info --pbParams" $SYNCLOG | expand - > $PBPARAMS
grep -A 40 "VDSL2 framing" $SYNCLOG | expand - > $SHOW
BANDS="${TEMP}bands.txt"
grep -A 2 "^Discovery Phase (Initial) Band Plan" $PBPARAMS > $BANDS
US_BANDPLAN_FROM_1=$(awk -F "[(|)|,]" ' NR==2 { print $2 }' $BANDS)
US_BANDPLAN_TO_1=$(awk -F "[(|)|,]" ' NR==2 { print $3 }' $BANDS)
US_BANDPLAN_FROM_2=$(awk -F "[(|)|,]" ' NR==2 { print $5}' $BANDS)
US_BANDPLAN_TO_2=$(awk -F "[(|)|,]" ' NR==2 { print $6 }' $BANDS)
US_BANDPLAN_FROM_3=$(awk -F "[(|)|,]" ' NR==2 { print $8 }' $BANDS)
US_BANDPLAN_TO_3=$(awk -F "[(|)|,]" ' NR==2 { print $9 }' $BANDS)
DS_BANDPLAN_FROM_1=$(awk -F "[(|)|,]" ' NR==3 { print $2 }' $BANDS)
DS_BANDPLAN_TO_1=$(awk -F "[(|)|,]" ' NR==3 { print $3 }' $BANDS)
DS_BANDPLAN_FROM_2=$(awk -F "[(|)|,]" ' NR==3 { print $5}' $BANDS)
DS_BANDPLAN_TO_2=$(awk -F "[(|)|,]" ' NR==3 { print $6 }' $BANDS)
DS_BANDPLAN_FROM_3=$(awk -F "[(|)|,]" ' NR==3 { print $8 }' $BANDS)
DS_BANDPLAN_TO_3=$(awk -F "[(|)|,]" ' NR==3 { print $9 }' $BANDS)
LINE_NO=$(awk "/Tone number Bit Allocation/ { print NR }" $SYNCLOG)+1
bits_split > $BITS
LINE_NO=$(awk "/Tone number SNR/ { print NR }" $SYNCLOG)+1
bits_split > $SNR
LINE_NO=$(awk "/Tone number QLN/ { print NR }" $SYNCLOG)+1
bits_split > $QLN
LINE_NO=$(awk "/Tone number Hlog/ { print NR }" $SYNCLOG)+1
bits_split > $HLOG
[ -s $BITS ] && bits_gnp | gnuplot 2>/dev/null > /tmp/xdsl/bits.png
[ -s $SNR ] && snr_gnp | gnuplot 2>/dev/null > /tmp/xdsl/snr.png
[ -s $QLN ] && qln_gnp | gnuplot 2>/dev/null > /tmp/xdsl/qln.png
[ -s $HLOG ] && hlog_gnp | gnuplot 2>/dev/null > /tmp/xdsl/hlog.png
[ -s /tmp/xdsl/pbParams.txt ] && convert -size 640x -background white -fill black -font courier -pointsize 14 label:@/tmp/xdsl/pbParams.txt /tmp/xdsl/pbparams.jpg
[ -s /tmp/xdsl/show.txt ] && convert -size 640x -background white -fill black -font courier -pointsize 14 label:@/tmp/xdsl/show.txt /tmp/xdsl/show.jpg
montage /tmp/xdsl/bits.png /tmp/xdsl/qln.png /tmp/xdsl/pbparams.jpg /tmp/xdsl/snr.png /tmp/xdsl/hlog.png /tmp/xdsl/show.jpg -quality 80 -geometry 640x480 -tile 3x2 /home/html/xdsl/line_stats_l-$DTSTAMP.png 2>/dev/null
exit 0
The current version of the files (including the comments which were stripped from the above) is also here.
RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - Bald_Eagle1 - 21-05-2012 07:12 AM
The other Windows scripts do something similar every minute 24/7, also storing other data such as error counts etc.
RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - mirdragon - 28-05-2012 06:52 PM
well i'm still waiting for my spare modem to arrive, but it seems the courier has possibly delivered this to another address
RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - prichardson - 28-05-2012 11:16 PM
Did they use Yodel (aka HDN)?
DR/Thales are moving away from HDN. Or rather Netlynk are who Thales use for warehousing, dispatch and TR069 of the Cellpipe.
Funny enough, I have a meeting with Netlynk in the morning and will see what info I can gleam from them about the Cellpipe.
RE: Using the Huawei HG612 on Digital Region instead of the Cellpipe - mirdragon - 29-05-2012 07:02 PM
anyone know how to change the telnet and ssh password on the unit as passwd and chpasswd do not work
also this is my line stats
Code:
xdslcmd: ADSL driver and PHY status
Status: Showtime
Retrain Reason: 0
Max: Upstream rate = 30568 Kbps, Downstream rate = 86744 Kbps
Path: 0, Upstream rate = 20000 Kbps, Downstream rate = 79999 Kbps
Link Power State: L0
Mode: VDSL2 Annex B
VDSL2 Profile: Profile 17a
TPS-TC: PTM Mode
Trellis: U:ON /D:ON
Line Status: No Defect
Training Status: Showtime
Down Up
SNR (dB): 7.8 12.6
Attn(dB): 0.0 0.0
Pwr(dBm): 14.1 -3.7
VDSL2 framing
Path 0
B: 239 236
M: 1 1
T: 23 5
R: 0 16
S: 0.0955 0.3771
L: 20107 5410
D: 1 1
I: 240 255
N: 240 255
Counters
Path 0
OHF: 1811175 489001
OHFErr: 0 0
RS: 0 1704625
RSCorr: 0 0
RSUnCorr: 0 0
Path 0
HEC: 0 0
OCD: 0 0
LCD: 0 0
Total Cells: 460555470 0
Data Cells: 2054557 0
Drop Cells: 0
Bit Errors: 0 0
ES: 0 0
SES: 0 0
UAS: 21 21
AS: 2996
Path 0
INP: 0.00 0.00
PER: 1.64 6.12
delay: 0.00 0.00
OR: 116.56 203.67
Bitswap: 188 5
also Notes on xdslcmd stats for Huawei Echolife Home Gateway/Openreach VDSL2 modem will provide further info on what some of the bits mean
|