diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index a5409db06..ff8d48f77 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -93,18 +93,33 @@ _ping() { local host=$1 local device=$2 local localip=$3 - ret=$(ping -B -I "${device}" \ - -w "$OMR_TRACKER_TIMEOUT" \ - -c 1 \ - -q \ - "${host}" - ) && echo "$ret" | grep -sq " 0% packet loss" && { - if [ "$localip" = "yes" ]; then - OMR_TRACKER_LATENCY=$(echo "$ret" | cut -d "/" -s -f5 | cut -d "." -f1) - _update_rto "$OMR_TRACKER_LATENCY" - fi - return - } + if [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "3g" ]; then + ret=$(ping -I "${device}" \ + -w "$OMR_TRACKER_TIMEOUT" \ + -c 1 \ + -q \ + "${host}" + ) && echo "$ret" | grep -sq " 0% packet loss" && { + if [ "$localip" = "yes" ]; then + OMR_TRACKER_LATENCY=$(echo "$ret" | cut -d "/" -s -f5 | cut -d "." -f1) + _update_rto "$OMR_TRACKER_LATENCY" + fi + return + } + else + ret=$(ping -B -I "${device}" \ + -w "$OMR_TRACKER_TIMEOUT" \ + -c 1 \ + -q \ + "${host}" + ) && echo "$ret" | grep -sq " 0% packet loss" && { + if [ "$localip" = "yes" ]; then + OMR_TRACKER_LATENCY=$(echo "$ret" | cut -d "/" -s -f5 | cut -d "." -f1) + _update_rto "$OMR_TRACKER_LATENCY" + fi + return + } + fi false }