[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