summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorcvs2svn <cvs2svn@FreeBSD.org>2005-09-03 06:59:35 +0000
committercvs2svn <cvs2svn@FreeBSD.org>2005-09-03 06:59:35 +0000
commit5e1bf608fcbedf8db0b0928a3921c2c435099b7c (patch)
tree26b9f0fbe3805c798624a1f0218b10cb9e613b6a /tools
parentb6d7001810940c26fe666fe6690a45feb31e3d3e (diff)
Notes
Diffstat (limited to 'tools')
-rw-r--r--tools/tools/ath/athctrl.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/tools/ath/athctrl.sh b/tools/tools/ath/athctrl.sh
new file mode 100644
index 000000000000..5adee1c3c4a4
--- /dev/null
+++ b/tools/tools/ath/athctrl.sh
@@ -0,0 +1,42 @@
+#! /bin/sh
+#
+# Set the IFS parameters for an interface configured for
+# point-to-point use at a specific distance. Based on a
+# program by Gunter Burchardt.
+#
+# $FreeBSD$
+#
+DEV=ath0
+d=0
+
+usage()
+{
+ echo "Usage: $0 [-i athX] [-d meters]"
+ exit 2
+}
+
+args=`getopt d:i: $*`
+test $? -ne 0 && usage
+
+set -- $args
+for i; do
+ case "$i" in
+ -i) DEV="$2"; shift; shift;;
+ -d) d="$2"; shift; shift;;
+ --) shift; break;
+ esac
+done
+
+test $d -eq 0 && usage
+
+slottime=`expr 9 + \( $d / 300 \)`
+if expr \( $d % 300 \) != 0 >/dev/null 2>&1; then
+ slottime=`expr $slottime + 1`
+fi
+timeout=`expr $slottime \* 2 + 3`
+
+printf "Setup IFS parameters on interface ${DEV} for %i meter p-2-p link\n" $d
+ATHN=`echo $DEV | sed 's/ath//'`
+sysctl dev.ath.$ATHN.slottime=$slottime
+sysctl dev.ath.$ATHN.acktimeout=$timeout
+sysctl dev.ath.$ATHN.ctstimeout=$timeout