Hi, > -----Original Message----- > From: openwrt-devel [mailto:[email protected]] > On Behalf Of Florian Eckert > Sent: Dienstag, 16. Juni 2020 10:26 > To: [email protected]; [email protected]; [email protected] > Cc: [email protected]; Florian Eckert <[email protected]> > Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping > > 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 <[email protected]> > --- > .../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 ;;
Wouldn't it be more user-friendly to just use the decimal number equivalent of the hex code? Empty and error could be modelled with negative numbers then. Just meant as a suggestion, I won't block this if you keep the current scheme ... Best Adrian > + "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 > [email protected] > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
openpgp-digital-signature.asc
Description: PGP signature
_______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
