Digital Region Community Support Forum
Using the Huawei HG612 on Digital Region instead of the Cellpipe - Printable Version

+- Digital Region Community Support Forum (https://drlforum.co.uk)
+-- Forum: ISP Forum & Digital Region Discussion (/forumdisplay.php?fid=3)
+--- Forum: Digital Region General Discussion (/forumdisplay.php?fid=9)
+--- Thread: Using the Huawei HG612 on Digital Region instead of the Cellpipe (/showthread.php?tid=211)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17


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:
[Image: line_stats_l-20120518-0336.png]


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?


[Image: aafQR2xZ.png]


[Image: aapyuB4r.png]


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:
[Image: line_stats_l-2012-05-21_02:59.png]

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