summaryrefslogtreecommitdiff
path: root/wlan-ng/files/pre-up
diff options
context:
space:
mode:
Diffstat (limited to 'wlan-ng/files/pre-up')
-rw-r--r--wlan-ng/files/pre-up227
1 files changed, 0 insertions, 227 deletions
diff --git a/wlan-ng/files/pre-up b/wlan-ng/files/pre-up
deleted file mode 100644
index 0ae410edfa..0000000000
--- a/wlan-ng/files/pre-up
+++ /dev/null
@@ -1,227 +0,0 @@
-#!/bin/sh
-
-case "$METHOD" in loopback) exit 0 ;; esac
-
-#
-# This script takes care of bringing up wlan-ng device.
-# It is run by ifup, and gets information from the
-# /etc/network/interfaces file. It is derived from the
-# init.d/wlan script in the wlan-ng distribution
-
-WLANCTL=/sbin/wlanctl-ng
-PRIV_GENERATOR=/sbin/nwepgen
-
-if [ ! -x $WLANCTL ] ; then
- exit 0
-fi
-
-# Detect and act only on linux-wlan-ng interfaces
-if [ "$IF_WIRELESS_TYPE" != "wlan-ng" ]; then
- exit 0
-fi
-
-# Create a lock file; remove on script exit. This is a fairly crummy lock,
-# but all it needs to do is prevent hotplug from calling this script,
-# which may happen when the module is loaded below. Since it should only
-# happen when the module is loaded, I don't need a proper lock.
-if [ -e /var/lock/wlan-$IFACE.lock ]; then
- exit 0
-fi
-touch /var/lock/wlan-$IFACE.lock
-cleanup () {
- rm -f /var/lock/wlan-$IFACE.lock
-}
-trap cleanup 0
-
-if [ -z "$IF_WIRELESS_MODE" ]; then
- IF_WIRELESS_MODE="ad_hoc"
-fi
-
-if [ -z "$IF_WLAN_NG_HOSTWEP" ]; then
- IF_WLAN_NG_HOSTWEP=false
-fi
-
-if [ -z "$IF_WLAN_NG_DEFAULT_KEY_ID" ]; then
- IF_WLAN_NG_DEFAULT_KEY_ID=0
-fi
-
-if [ -z "$IF_WLAN_NG_EXCLUDE_UNENCRYPTED" ]; then
- IF_WLAN_NG_EXCLUDE_UNENCRYPTED=true
-fi
-
-if [ -z "$IF_WLAN_NG_PRIV_KEY128" ]; then
- IF_WLAN_NG_PRIV_KEY128=false
-fi
-
-if [ -z "$IF_WLAN_NG_BCINT" ]; then
- IF_WLAN_NG_BCINT=100
-fi
-
-if [ -z "$IF_WLAN_NG_BASICRATES" ]; then
- IF_WLAN_NG_BASICRATES="2 4"
-fi
-
-if [ -z "$IF_WLAN_NG_OPRATES" ]; then
- IF_WLAN_NG_OPRATES="2 4 11 22"
-fi
-
-if [ -z "$IF_WLAN_NG_AUTHTYPE" ]; then
- IF_WLAN_NG_AUTHTYPE="opensystem"
-fi
-
-if [ -z "$IF_WIRELESS_CHANNEL" ]; then
- IF_WIRELESS_CHANNEL=1
-fi
-
-if ! modprobe p80211; then
- echo "Failed to load p80211.o." >&2
- exit 1
-fi
-
-# NOTE: We don't explicitly insmod the card driver here. The
-# best thing to do is to specify an alias in /etc/modules.conf.
-# Then, the first time we call wlanctl with the named device,
-# the kernel module autoload stuff will take over.
-# But, if you prefer, you could modprobe it here.
-
-
-# Bring the card up into an operable state.
-result=`$WLANCTL $IFACE lnxreq_ifstate ifstate=enable`
-if [ $? = 0 ] ; then
- eval $result
- if [ $resultcode != "success" ]; then
- echo "Failed to enable the device, resultcode=" $resultcode "." >&2
- exit 1
- fi
-else
- echo "Failed to enable the device, exitcode=" $? "." >&2
- exit 1
-fi
-
-# Set user-specified MIB items.
-for i in $IF_WLAN_NG_USER_MIBS; do
- result=`$WLANCTL $IFACE dot11req_mibset "mibattribute=$i"`
-
- if [ $? = 0 ] ; then
- eval $result
- if [ $resultcode != "success" ] ; then
- echo "Failed to set user MIB $i." >&2
- exit 1
- fi
- else
- echo "Failed to set user MIB $i." >&2
- exit 1
- fi
-done
-
-if [ "$IF_WIRELESS_ENC" = "on" ]; then
- # Set up WEP.
- result=`$WLANCTL $IFACE dot11req_mibget mibattribute=dot11PrivacyOptionImplemented`
- if [ $? = 0 ] ; then
- eval $result
- eval $mibattribute
- else
- echo "mibget failed." >&2
- exit 1
- fi
-
- if [ "$dot11PrivacyOptionImplemented" != "true" ]; then
- echo "Cannot enable privacy, dot11PrivacyOptionImplemented=$dot11PrivacyOptionImplemented." >&2
- exit 1
- fi
-
- $WLANCTL $IFACE lnxreq_hostwep decrypt=$IF_WLAN_NG_HOSTWEP encrypt=$IF_WLAN_NG_HOSTWEP >/dev/null
-
- $WLANCTL $IFACE dot11req_mibset \
- mibattribute=dot11WEPDefaultKeyID=$IF_WLAN_NG_DEFAULT_KEY_ID \
- >/dev/null
-
- $WLANCTL $IFACE dot11req_mibset \
- mibattribute=dot11ExcludeUnencrypted=$IF_WLAN_NG_EXCLUDE_UNENCRYPTED \
- >/dev/null
-
- $WLANCTL $IFACE dot11req_mibset \
- mibattribute=dot11PrivacyInvoked=true >/dev/null
-
- if [ -e "$IF_WLAN_NG_KEYFILE" ]; then
- IF_WLAN_NG_PRIV_GENSTR=`cat $IF_WLAN_NG_KEYFILE`
- fi
- if [ ! -z "$IF_WLAN_NG_PRIV_GENSTR" ]; then
- if [ "$IF_WLAN_NG_PRIV_KEY128" = "false" ]; then
- keys=`$PRIV_GENERATOR "$IF_WLAN_NG_PRIV_GENSTR" 5`
- else
- keys=`$PRIV_GENERATOR "$IF_WLAN_NG_PRIV_GENSTR" 13`
- fi
-
- knum=0
- for i in $keys; do
- $WLANCTL $IFACE dot11req_mibset \
- mibattribute=dot11WEPDefaultKey$knum=$i \
- >/dev/null
- knum=$(expr $knum + 1)
- done
- else
- $WLANCTL $IFACE dot11req_mibset \
- mibattribute=dot11WEPDefaultKey0=$IF_WLAN_NG_KEY0 \
- >/dev/null
- $WLANCTL $IFACE dot11req_mibset \
- mibattribute=dot11WEPDefaultKey1=$IF_WLAN_NG_KEY1 \
- >/dev/null
- $WLANCTL $IFACE dot11req_mibset \
- mibattribute=dot11WEPDefaultKey2=$IF_WLAN_NG_KEY2 \
- >/dev/null
- $WLANCTL $IFACE dot11req_mibset \
- mibattribute=dot11WEPDefaultKey3=$IF_WLAN_NG_KEY3 \
- >/dev/null
- fi
-fi
-
-# MAC startup
-if [ "$IF_WIRELESS_MODE" = "ad_hoc" ] ||
- [ "$IF_WIRELESS_MODE" = "ad-hoc" ]; then
- startcmd="$WLANCTL $IFACE dot11req_start "
- startcmd="$startcmd ssid=$IF_WIRELESS_ESSID"
- startcmd="$startcmd bsstype=independent"
- startcmd="$startcmd beaconperiod=$IF_WLAN_NG_BCINT"
- startcmd="$startcmd dtimperiod=3"
- startcmd="$startcmd cfpollable=false"
- startcmd="$startcmd cfpollreq=false"
- startcmd="$startcmd cfpperiod=3"
- startcmd="$startcmd cfpmaxduration=100"
- startcmd="$startcmd probedelay=100"
- startcmd="$startcmd dschannel=$IF_WIRELESS_CHANNEL"
- j=1
- for i in $IF_WLAN_NG_BASICRATES; do
- startcmd="$startcmd basicrate$j=$i"
- j=$(expr $j + 1)
- done
- j=1
- for i in $IF_WLAN_NG_OPRATES; do
- startcmd="$startcmd operationalrate$j=$i"
- j=$(expr $j + 1)
- done
-
- results=`$startcmd`
- if [ $? = 0 ]; then
- eval $results
- if [ $resultcode != "success" ] ; then
- echo "IBSS not started, resultcode=$resultcode" >&2
- exit 1
- fi
- else
- echo FAILED: $startcmd >&2
- exit 1
- fi
-else
- # Infrastructure mode.
- results=`$WLANCTL $IFACE lnxreq_autojoin \
- "ssid=$IF_WIRELESS_ESSID" \
- authtype=$IF_WLAN_NG_AUTHTYPE | sed 's/\([^=]*\)=\(.*\)/\1="\2"/'`
- if [ $? = 0 ]; then
- eval $results
- if [ ${resultcode:-"failure"} != "success" ]; then
- echo 'error: Autojoin indicated failure!' >&2
- exit 1
- fi
- fi
-fi