Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- drate="$(/etc/init.d/dsl_control dslstat |jq .downstream.attndr |awk '{print $1 / 1024}')"
- urate="$(/etc/init.d/dsl_control dslstat |jq .upstream.attndr |awk '{print $1 / 1024}')"
- drate_r="$(echo $drate |sed 's/\.\d//')"
- urate_r="$(echo $urate |sed 's/\.\d//')"
- down="$(echo $drate_r |awk '{print ($1 / 100) * 95}' |sed 's/\.\d//')"
- up="$(echo $urate_r |awk '{print ($1 / 100) * 95}' |sed 's/\.\d//')"
- curdown="$(uci get sqm.@queue[0].download)"
- curup="$(uci get sqm.@queue[0].upload)"
- l2curdown="$(uci get sqm.@queue[0].download)"
- l2curup="$(uci get sqm.@queue[0].upload)"
- l2up="$(echo $up |awk '{print $1 * 2}' |sed 's/\.\d//')"
- l2down="$(echo $down |awk '{print $1 / 1.85}' |sed 's/\.\d//')"
- state="1"
- if [ $down = $curdown ] && [ $up = $curup ]; then
- logger -t SQMDSLTune -p user.info "Attainable rate same from last check!"
- else
- if [ $down > 0 ]; then
- uci set "sqm.@queue[0].download=$down"
- uci set "sqm.@queue[1].download=$l2down"
- else
- state="2"
- fi
- if [ $up > 0 ]; then
- uci set "sqm.@queue[0].upload=$up"
- uci set "sqm.@queue[1].upload=$l2up"
- else
- logger -t SQMDSLTune -p user.info "No need to adjust TX rate for SQM"
- state="2"
- fi
- if [ $state = 2 ]; then
- logger -t SQMDSLTune -p user.info "No adjustments needed!"
- exit 0
- else
- uci commit sqm
- logger -t SQMDSLTune -p user.info "Data rates for SQM being adjusted: DSL Up=$up/Down=$down | L2TP Up=$l2up/Down=$l2down"
- /etc/init.d/sqm reload
- fi
- fi
Advertisement
Add Comment
Please, Sign In to add comment