From the old /lib/functions/lantiq_dsl.sh
latency_delay() {
local csg
local idu
local idu_s;
local sidu
local idd
local idd_s;
local sidd
csg=$(dsl_cmd g997csg 0 1)
idd=$(dsl_val "$csg" ActualInterleaveDelay)
csg=$(dsl_cmd g997csg 0 0)
idu=$(dsl_val "$csg" ActualInterleaveDelay)
[ -z "$idd" ] && idd=0
[ -z "$idu" ] && idu=0
if [ "$idd" -gt 100 ]; then
idd_s="Interleave"
else
idd_s="Fast"
fi
if [ "$idu" -gt 100 ]; then
idu_s="Interleave"
else
idu_s="Fast"
fi
sidu=$(scale_latency $idu)
sidd=$(scale_latency $idd)
if [ "$action" = "lucistat" ]; then
echo "dsl.latency_down=\"$(scale_latency_us $idd)\""
echo "dsl.latency_up=\"$(scale_latency_us $idu)\""
echo "dsl.latency_num_down=\"$sidd\""
echo "dsl.latency_num_up=\"$sidu\""
echo "dsl.latency_s_down=\"$idd_s\""
echo "dsl.latency_s_up=\"$idu_s\""
else
echo "Latency [Interleave Delay]: ${sidd} [${idd_s}] ${sidu} [${idu_s}]"
fi
}
The file also contains:
# Basic functions to send CLI commands to the vdsl_cpe_control daemon
#
dsl_cmd() {
killall -q -0 ${XDSL_CTRL} && (
lock /var/lock/dsl_pipe
echo "$@" > /tmp/pipe/dsl_cpe0_cmd
cat /tmp/pipe/dsl_cpe0_ack
lock -u /var/lock/dsl_pipe
)
}
dsl_val() {
echo $(expr "$1" : '.*'$2'=\([-\.[:alnum:]]*\).*')
}
dsl_string() {
echo $(expr "$1" : '.*'$2'=(\([A-Z0-9,]*\))')
}
So maybe you just copy/adopt these shell functions into your own code used to generate the reports?