IssyPutchy

Crude dynamic SQM rate adjustment for DSL lines in OpenWRT

May 3rd, 2022
1,194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.55 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. drate="$(/etc/init.d/dsl_control dslstat |jq .downstream.attndr |awk '{print $1 / 1024}')"
  4. urate="$(/etc/init.d/dsl_control dslstat |jq .upstream.attndr |awk '{print $1 / 1024}')"
  5. drate_r="$(echo $drate |sed 's/\.\d//')"
  6. urate_r="$(echo $urate |sed 's/\.\d//')"
  7.  
  8. down="$(echo $drate_r |awk '{print ($1 / 100) * 95}' |sed 's/\.\d//')"
  9. up="$(echo $urate_r |awk '{print ($1 / 100) * 95}' |sed 's/\.\d//')"
  10.  
  11. curdown="$(uci get sqm.@queue[0].download)"
  12. curup="$(uci get sqm.@queue[0].upload)"
  13. l2curdown="$(uci get sqm.@queue[0].download)"
  14. l2curup="$(uci get sqm.@queue[0].upload)"
  15.  
  16. l2up="$(echo $up |awk '{print $1 * 2}' |sed 's/\.\d//')"
  17. l2down="$(echo $down |awk '{print $1 / 1.85}' |sed 's/\.\d//')"
  18.  
  19. state="1"
  20.  
  21. if [ $down = $curdown ] && [ $up = $curup ]; then
  22.         logger -t SQMDSLTune -p user.info "Attainable rate same from last check!"
  23.    else
  24.  if [ $down > 0 ]; then
  25.         uci set "sqm.@queue[0].download=$down"
  26.         uci set "sqm.@queue[1].download=$l2down"
  27.     else
  28.         state="2"
  29.  fi
  30.  if [ $up > 0 ]; then
  31.         uci set "sqm.@queue[0].upload=$up"
  32.         uci set "sqm.@queue[1].upload=$l2up"
  33.     else
  34.         logger -t SQMDSLTune -p user.info "No need to adjust TX rate for SQM"
  35.         state="2"
  36.  fi
  37.   if [ $state = 2 ]; then
  38.         logger -t SQMDSLTune -p user.info "No adjustments needed!"
  39.         exit 0
  40.     else
  41.         uci commit sqm
  42.         logger -t SQMDSLTune -p user.info "Data rates for SQM being adjusted: DSL Up=$up/Down=$down | L2TP Up=$l2up/Down=$l2down"
  43.         /etc/init.d/sqm reload
  44.   fi
  45. fi
Advertisement
Add Comment
Please, Sign In to add comment