[OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping
mail at adrianschmutzler.de
mail at adrianschmutzler.de
Tue Jun 16 07:27:02 EDT 2020
Hi,
> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of Florian Eckert
> Sent: Dienstag, 16. Juni 2020 10:26
> To: john at phrozen.org; dev at kresin.me; Eckert.Florian at googlemail.com
> Cc: openwrt-devel at lists.openwrt.org; Florian Eckert <fe at dev.tdt.de>
> 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 <fe at 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 ;;
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
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20200616/eb78a3f2/attachment.sig>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list