The line_state of the DSL connection is described in the system via a hexadecimal variable. With this change the hexadecimal is mapped to a decimal value. With this change it is now possible to store this value in a database, so that it can be easily evaluated.
This is especially relevant for the collectd and gravana backend. Signed-off-by: Florian Eckert <f...@dev.tdt.de> --- .../base-files/lib/functions/lantiq_dsl.sh | 82 +++++++++++++------ 1 file changed, 55 insertions(+), 27 deletions(-) diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh index 11b02fc4aa..4827d10bc5 100755 --- a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh +++ b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh @@ -650,40 +650,68 @@ line_data() { line_state() { local lsg=$(dsl_cmd lsg) local ls=$(dsl_val "$lsg" nLineState); - local s; + local s n; case "$ls" in - "0x0") s="not initialized" ;; - "0x1") s="exception" ;; - "0x10") s="not updated" ;; - "0xff") s="idle request" ;; - "0x100") s="idle" ;; - "0x1ff") s="silent request" ;; - "0x200") s="silent" ;; - "0x300") s="handshake" ;; - "0x380") s="full_init" ;; - "0x400") s="discovery" ;; - "0x500") s="training" ;; - "0x600") s="analysis" ;; - "0x700") s="exchange" ;; - "0x800") s="showtime_no_sync" ;; - "0x801") s="showtime_tc_sync" ;; - "0x900") s="fastretrain" ;; - "0xa00") s="lowpower_l2" ;; - "0xb00") s="loopdiagnostic active" ;; - "0xb10") s="loopdiagnostic data exchange" ;; - "0xb20") s="loopdiagnostic data request" ;; - "0xc00") s="loopdiagnostic complete" ;; - "0x1000000") s="test" ;; - "0xd00") s="resync" ;; - "0x3c0") s="short init entry" ;; - "") s="not running daemon"; ls="0xfff" ;; - *) s="unknown" ;; + "0x0") s="not initialized" + n=1 ;; + "0x1") s="exception" + n=2 ;; + "0x10") s="not updated" + n=3 ;; + "0xff") s="idle request" + n=4 ;; + "0x100") s="idle" + n=5 ;; + "0x1ff") s="silent request" + n=6 ;; + "0x200") s="silent" + n=7 ;; + "0x300") s="handshake" + n=8 ;; + "0x380") s="full_init" + n=9 ;; + "0x400") s="discovery" + n=10 ;; + "0x500") s="training" + n=11 ;; + "0x600") s="analysis" + n=12 ;; + "0x700") s="exchange" + n=13 ;; + "0x800") s="showtime_no_sync" + n=14 ;; + "0x801") s="showtime_tc_sync" + n=15 ;; + "0x900") s="fastretrain" + n=16 ;; + "0xa00") s="lowpower_l2" + n=17 ;; + "0xb00") s="loopdiagnostic active" + n=18 ;; + "0xb10") s="loopdiagnostic data exchange" + n=19 ;; + "0xb20") s="loopdiagnostic data request" + n=20 ;; + "0xc00") s="loopdiagnostic complete" + n=21 ;; + "0x1000000") s="test" + n=22 ;; + "0xd00") s="resync" + n=23 ;; + "0x3c0") s="short init entry" + n=24 ;; + "") s="not running daemon" + ls="0xfff" + n=25 ;; + *) s="unknown" + n=26 ;; esac if [ "$action" = "lucistat" ]; then echo "dsl.line_state_num=$ls" echo "dsl.line_state_detail=\"$s\"" + echo "dsl.line_state_mapping=$n" if [ "$ls" = "0x801" ]; then echo "dsl.line_state=\"UP\"" else -- 2.20.1 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel