diff --git a/luci-app-sqm-autorate/root/etc/init.d/sqm-autorate b/luci-app-sqm-autorate/root/etc/init.d/sqm-autorate index 6c2ee9495..a85da1420 100755 --- a/luci-app-sqm-autorate/root/etc/init.d/sqm-autorate +++ b/luci-app-sqm-autorate/root/etc/init.d/sqm-autorate @@ -24,11 +24,11 @@ _config_autorate() { config_get min_download "$1" min_download "0" config_get download "$1" download "0" config_get max_download "$1" max_download "0" - [ "${min_download}" == "0" ] || [ "${max_download}" == "0" ] || [ "${download}" == "0" ] && return + [ "${max_download}" == "0" ] || [ "${download}" == "0" ] && return config_get min_upload "$1" min_upload "0" config_get upload "$1" upload "0" config_get max_upload "$1" max_upload "0" - [ "${min_upload}" == "0" ] || [ "${max_upload}" == "0" ] || [ "${upload}" == "0" ] && return + [ "${max_upload}" == "0" ] || [ "${upload}" == "0" ] && return # config_get interface "$1" interface # cp /usr/share/sqm-autorate/cake-autorate_template.sh /usr/share/sqm-autorate/cake-autorate_config.${interface}.sh cp /usr/share/sqm-autorate/config_template.sh /usr/share/sqm-autorate/config.$1.sh diff --git a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking index 0a4661b05..ae6a868df 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking +++ b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking @@ -1298,7 +1298,7 @@ fi _log "Reload MPTCP config for $OMR_TRACKER_DEVICE" /etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" fi - _log "Multipath $OMR_TRACKER_DEVICE switched to $multipath_config" + _log "Multipath $OMR_TRACKER_DEVICE switched to $multipath_config (from $multipath_status)" multipath "$OMR_TRACKER_DEVICE" "$multipath_config" fi } @@ -1610,13 +1610,20 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then fi if [ "$(pgrep -f omr-test-speed-server)" = "" ] && [ "$(uci -q get openmptcprouter.${OMR_TRACKER_INTERFACE}.testspeed)" = "1" ] && [ -z "$(uci -q get openmptcprouter.${OMR_TRACKER_INTERFACE}.testspeed_lc)" ]; then - download_speed=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest | tr -d '\n') - download_speed2=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest | tr -d '\n') - download_speed3=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest | tr -d '\n') + download_speed=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest) + download_speed2=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest) + download_speed3=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest) [ "$download_speed2" -gt "$download_speed" ] && download_speed=${download_speed2} [ "$download_speed3" -gt "$download_speed" ] && download_speed=${download_speed3} download_speed=$((download_speed/1000)) if [ -n "$download_speed" ] && [ "$download_speed" != "0" ]; then + upload_speed=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload) + upload_speed2=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload) + upload_speed3=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload) + [ "$upload_speed2" -gt "$upload_speed" ] && upload_speed=${upload_speed2} + [ "$upload_speed3" -gt "$upload_speed" ] && upload_speed=${upload_speed3} + + # Set Download speed settings if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ]; then uci -q set sqm.${OMR_TRACKER_INTERFACE}.download=$((download_speed*65/100)) uci -q set sqm.${OMR_TRACKER_INTERFACE}.max_download=${download_speed} @@ -1626,11 +1633,8 @@ if [ "$(pgrep -f omr-test-speed-server)" = "" ] && [ "$(uci -q get openmptcprout fi _log "Calculated ${OMR_TRACKER_INTERFACE} download speed: ${download_speed}" uci -q set network.${OMR_TRACKER_INTERFACE}.downloadspeed=${download_speed} - upload_speed=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload | tr -d '\n') - upload_speed2=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload | tr -d '\n') - upload_speed3=$(/bin/omr-test-speed-server vps ${OMR_TRACKER_DEVICE} fasttest upload | tr -d '\n') - [ "$upload_speed2" -gt "$upload_speed" ] && upload_speed=${upload_speed2} - [ "$upload_speed3" -gt "$upload_speed" ] && upload_speed=${upload_speed3} + + # Set Upload speed settings upload_speed=$((upload_speed/1000)) if [ -n "$upload_speed" ] && [ "$upload_speed" != "0" ]; then if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ]; then @@ -1645,6 +1649,7 @@ if [ "$(pgrep -f omr-test-speed-server)" = "" ] && [ "$(uci -q get openmptcprout fi uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.testspeed_lc=$(date +"%s") uci commit network + uci commit sqm uci commit openmptcprouter fi sleep 5 @@ -1795,9 +1800,11 @@ if [ "$(pgrep -f openmptcprouter-vps)" = "" ] && ([ "$(uci -q show openmptcprout fi if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.enabled)" = "1" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -z $(pgrep -f "config.${OMR_TRACKER_INTERFACE}") ]; then - _log "Restart SQM Autorate" - /etc/init.d/sqm-autorate restart >/dev/null 2>&1 - sleep 5 + if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.max_download)" != "0" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.download)" != "0" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.max_upload)" != "0" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.upload)" != "0" ]; then + _log "Restart SQM Autorate" + /etc/init.d/sqm-autorate restart >/dev/null 2>&1 + sleep 5 + fi fi #if [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep -f openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && ([ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ] || (([ -f /usr/sbin/iptables-legacy-save ] && [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ]) || [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ])); then diff --git a/openmptcprouter/files/bin/omr-test-speed b/openmptcprouter/files/bin/omr-test-speed index 2aaf3b72b..f80c6d1ce 100755 --- a/openmptcprouter/files/bin/omr-test-speed +++ b/openmptcprouter/files/bin/omr-test-speed @@ -43,7 +43,7 @@ trap : HUP INT TERM if [ -z "$INTERFACE" ]; then curl -4 -o /dev/null $HOST || echo else - : /etc/init.d/sqm stop $INTERFACE + /etc/init.d/sqm stop $INTERFACE domain=$(echo $HOST | awk -F/ '{print $3}') hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then @@ -62,5 +62,5 @@ else ipset del ss_rules_dst_bypass_all $ip done fi - : /etc/init.d/sqm start $INTERFACE + /etc/init.d/sqm start $INTERFACE fi diff --git a/openmptcprouter/files/bin/omr-test-speed-server b/openmptcprouter/files/bin/omr-test-speed-server index a937a6763..de644506e 100755 --- a/openmptcprouter/files/bin/omr-test-speed-server +++ b/openmptcprouter/files/bin/omr-test-speed-server @@ -13,7 +13,14 @@ MP=false if [ -n "$KEY" ] && [ -n "$HOST" ] && [ -n "$PORT" ]; then trap : HUP INT TERM [ -z "$FASTTEST" ] && echo "Disable SQM bandwidth limit on $INTERFACE" - : /etc/init.d/sqm stop $INTERFACE 2>&1 >/dev/null + [ -n "$(tc qdisc | grep $INTERFACE | grep bandwidth)" ] && { + export SQM_VERBOSITY_MIN=10 + export SQM_VERBOSITY_MAX=0 + export SQM_SYSLOG=1 + /etc/init.d/sqm stop $INTERFACE 2>&1 >/dev/null + #tc qdisc delete dev $INTERFACE root 2>&1 >/dev/null + #tc qdisc delete dev ifb4$INTERFACE root 2>&1 >/dev/null + } [ -z "$FASTTEST" ] && echo "Download test via server ${SERVER}:" if [ -n "$INTERFACE" ]; then #if [ "$(multipath ${INTERFACE} | grep default)" ]; then @@ -44,5 +51,5 @@ if [ -n "$KEY" ] && [ -n "$HOST" ] && [ -n "$PORT" ]; then curl -k -o /dev/null -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest || echo fi [ -z "$FASTTEST" ] && echo "Restart SQM on $INTERFACE" - : /etc/init.d/sqm start $INTERFACE 2>&1 >/dev/null + /etc/init.d/sqm start $INTERFACE 2>&1 >/dev/null fi \ No newline at end of file