Add ifup-pre-local script to correctly set the mode for madwifi.
authorDaniel Hokka Zakrisson <dhokka@cs.princeton.edu>
Wed, 5 Dec 2007 20:16:18 +0000 (20:16 +0000)
committerDaniel Hokka Zakrisson <dhokka@cs.princeton.edu>
Wed, 5 Dec 2007 20:16:18 +0000 (20:16 +0000)
ifup-pre-local [new file with mode: 0755]
madwifi.spec

diff --git a/ifup-pre-local b/ifup-pre-local
new file mode 100755 (executable)
index 0000000..c7c7a89
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+# $Id$
+# Script to set the mode for MADWIFI. Should be called by ifup.
+# Copyright (C) 2007 The Trustees of Princeton University
+
+. /etc/sysconfig/network-scripts/network-functions
+CONFIG="$1"
+source_config
+
+WLANDEV=$(basename $(readlink -e /sys/class/net/$DEVICE/device/net:wifi* 2>/dev/null) 2>/dev/null)
+if [ -n "$MODE$WLANDEV" ]; then
+    wlanconfig "$DEVICE" destroy &> /dev/null
+    m=$( echo "$MODE" | tr '[A-Z]' '[a-z]' | tr -d - )
+    case "$m" in
+      managed)
+        m=sta
+        ;;
+      master)
+        m=ap
+        ;;
+      repeater)
+        m=wds
+        ;;
+    esac
+    wlanconfig "$DEVICE" create wlandev $WLANDEV wlanmode "$m"
+fi
index 93b50a4..1782673 100644 (file)
@@ -17,7 +17,7 @@
 %define name madwifi
 %define version 0.9.3.3
 
-%define release %{kernel_version}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%define release %{kernel_version}.1%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 %define kernel_id_arch %{kernel_version}-%{kernel_release}-%{kernel_arch}
 %define kernel_id %{kernel_version}-%{kernel_release}
 
@@ -28,6 +28,7 @@ Release: %{release}
 License: GPL
 Group: System Environment/Kernel
 Source0: %{name}-%{version}.tar.bz2
+Source1: ifup-pre-local
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 
 Vendor: MadWifi