aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/wlan-ng/files
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/wlan-ng/files
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/wlan-ng/files')
-rw-r--r--recipes/wlan-ng/files/might-sleep.patch16
-rw-r--r--recipes/wlan-ng/files/more-compat.patch7
-rw-r--r--recipes/wlan-ng/files/msleep-vs-mdelay.patch16
-rw-r--r--recipes/wlan-ng/files/no-compat.patch47
-rw-r--r--recipes/wlan-ng/files/pcmciasrc.patch45
-rwxr-xr-xrecipes/wlan-ng/files/post-down31
-rwxr-xr-xrecipes/wlan-ng/files/pre-up227
-rwxr-xr-xrecipes/wlan-ng/files/resume22
-rw-r--r--recipes/wlan-ng/files/scripts-makefile-hostcc.patch16
-rwxr-xr-xrecipes/wlan-ng/files/usbctlbin0 -> 4040 bytes
-rw-r--r--recipes/wlan-ng/files/wlan-ng.modutils1
-rw-r--r--recipes/wlan-ng/files/wlan.agent107
12 files changed, 535 insertions, 0 deletions
diff --git a/recipes/wlan-ng/files/might-sleep.patch b/recipes/wlan-ng/files/might-sleep.patch
new file mode 100644
index 0000000000..a156229331
--- /dev/null
+++ b/recipes/wlan-ng/files/might-sleep.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.2/src/include/wlan/wlan_compat.h~might_sleep
++++ linux-wlan-ng-0.2.2/src/include/wlan/wlan_compat.h
+@@ -584,7 +584,7 @@
+ #endif
+
+ #ifndef might_sleep
+-#define might_sleep(a) do { } while (0)
++#define might_sleep() do { } while (0)
+ #endif
+
+ /* Apparently 2.4.2 ethtool is quite different, maybe newer too? */
diff --git a/recipes/wlan-ng/files/more-compat.patch b/recipes/wlan-ng/files/more-compat.patch
new file mode 100644
index 0000000000..4ce8173f93
--- /dev/null
+++ b/recipes/wlan-ng/files/more-compat.patch
@@ -0,0 +1,7 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.2/wlan_compat.h
++++ /dev/null
diff --git a/recipes/wlan-ng/files/msleep-vs-mdelay.patch b/recipes/wlan-ng/files/msleep-vs-mdelay.patch
new file mode 100644
index 0000000000..d98116b07c
--- /dev/null
+++ b/recipes/wlan-ng/files/msleep-vs-mdelay.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.2/src/prism2/driver/prism2_usb.c~msleep-vs-mdelay
++++ linux-wlan-ng-0.2.2/src/prism2/driver/prism2_usb.c
+@@ -279,7 +279,7 @@
+ * is "wake up", so that's easy.
+ * (I'd like a better way to do this, really.)
+ */
+- msleep(100);
++ mdelay(100);
+
+ /* Now delete the CTLXs, because no-one else can now. */
+ list_for_each_safe(entry, temp, &cleanlist) {
diff --git a/recipes/wlan-ng/files/no-compat.patch b/recipes/wlan-ng/files/no-compat.patch
new file mode 100644
index 0000000000..4f59f0fa5d
--- /dev/null
+++ b/recipes/wlan-ng/files/no-compat.patch
@@ -0,0 +1,47 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.1pre21/src/include/wlan/wlan_compat.h~no-compat
++++ linux-wlan-ng-0.2.1pre21/src/include/wlan/wlan_compat.h
+@@ -351,14 +351,14 @@
+
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,20))
+ #ifdef _LINUX_LIST_H
+-
++/*
+ static inline void list_move_tail(struct list_head *list,
+ struct list_head *head)
+ {
+ __list_del(list->prev, list->next);
+ list_add_tail(list, head);
+ }
+-
++*/
+ static inline void __list_splice(struct list_head *list,
+ struct list_head *head)
+ {
+@@ -372,13 +372,13 @@
+ last->next = at;
+ at->prev = last;
+ }
+-
++/*
+ static inline void list_move(struct list_head *list, struct list_head *head)
+ {
+ __list_del(list->prev, list->next);
+ list_add(list, head);
+ }
+-
++*/
+ static inline void list_splice_init(struct list_head *list,
+ struct list_head *head)
+ {
+@@ -388,7 +388,6 @@
+ }
+ }
+
+-
+ #endif // LIST_H
+ #endif
diff --git a/recipes/wlan-ng/files/pcmciasrc.patch b/recipes/wlan-ng/files/pcmciasrc.patch
new file mode 100644
index 0000000000..ea76baa98b
--- /dev/null
+++ b/recipes/wlan-ng/files/pcmciasrc.patch
@@ -0,0 +1,45 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.2/Configure~pcmciasrc
++++ linux-wlan-ng-0.2.2/Configure
+@@ -358,37 +358,6 @@
+ # kernel PCMCIA.
+
+ if [ $WLAN_KERN_PCMCIA != "y" ] ; then
+- if [ ! "$PCMCIA_SRC" ] ; then
+- if [ -f /sbin/cardctl ] ; then
+- PCMCIA_SRC=`/sbin/cardctl -V 2>&1 | sed -e 's/cardctl version //'`
+- PCMCIA_SRC=/usr/src/pcmcia-cs-$PCMCIA_SRC
+- fi
+- fi
+- ask_str "pcmcia-cs source dir" PCMCIA_SRC
+-
+- if [ ! -f $PCMCIA_SRC/Makefile ] ; then
+- $ECHO "pcmcia-cs source tree $PCMCIA_SRC is incomplete or missing!"
+- $ECHO "The wlan driver for pcmcia cannot be built without "
+- $ECHO "the pcmcia-cs source tree present and configured."
+- fail
+- fi
+- if [ ! -f $PCMCIA_SRC/include/pcmcia/config.h ] ; then
+- $ECHO "The pcmcia-cs source tree does not appear to be configured."
+- $ECHO "The wlan driver for pcmcia cannot be built without "\
+- $ECHO "the pcmcia-cs source tree present and configured."
+- fail
+- fi
+- $ECHO ""
+-
+- # Now we need to generate the module options flags.
+- # It's only relevant if modversions is turned on.
+- grep CONFIG_MODVERSIONS=y < $PCMCIA_SRC/config.mk > /dev/null
+- if [ $? = 0 ] ; then
+- PCMCIA_MODFLAGS="-DMODULE -DMODVERSIONS -include $PCMCIA_SRC/include/linux/modversions.h"
+- else
+- PCMCIA_MODFLAGS="-DMODULE"
+- fi
+-
+ # new versions of pcmcia-cs don't generate their own modversion.h
+ # if they don't have it, use the kernel module flags instead.
+ if [ ! -f $PCMCIA_SRC/include/linux/modversions.h ] ; then
diff --git a/recipes/wlan-ng/files/post-down b/recipes/wlan-ng/files/post-down
new file mode 100755
index 0000000000..bf4ba0ae60
--- /dev/null
+++ b/recipes/wlan-ng/files/post-down
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# This script takes care of bringing down wlan-ng devices.
+# It is run by ifdown.
+
+WLANCTL=/sbin/wlanctl-ng
+
+if [ ! -x $WLANCTL ] ; then
+ exit 0
+fi
+
+case $IFACE in
+wlan?)
+ # Reset device to make sure it is not trying to generate
+ # interrupts.
+ result=`$WLANCTL $IFACE lnxreq_ifstate ifstate=disable`
+
+ # Remove modules. Of course, for all I know they are still in use
+ # by another interface, in which case these rmmods will fail. Also,
+ # depending on how modutils is set up, different prism2 modules
+ # might be loaded.
+ (
+ rmmod prism2_pci || rmmod prism2_cs || rmmod prism2_usb || \
+ rmmod prism2_plx || true
+ rmmod p80211 || true
+ ) 2>/dev/null
+
+ # Remove lock file, just in case.
+ rm -f /var/lock/wlan-$IFACE.lock
+;;
+esac
diff --git a/recipes/wlan-ng/files/pre-up b/recipes/wlan-ng/files/pre-up
new file mode 100755
index 0000000000..0ae410edfa
--- /dev/null
+++ b/recipes/wlan-ng/files/pre-up
@@ -0,0 +1,227 @@
+#!/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
diff --git a/recipes/wlan-ng/files/resume b/recipes/wlan-ng/files/resume
new file mode 100755
index 0000000000..f875939da6
--- /dev/null
+++ b/recipes/wlan-ng/files/resume
@@ -0,0 +1,22 @@
+#!/bin/sh
+# This script is run on resume to force a down and up of any linux-wlanng
+# iterfaces. Otherwise they could get into a weird state.
+IFACES=$(ifconfig | grep -B 1 ^wlan | cut -d ' ' -f 1)
+for iface in $IFACES; do
+ echo down $ifcase >>/tmp/log
+ ifdown $iface || ifconfig $iface down
+done
+
+rmmod prism2_pci 2>/dev/null
+rmmod prism2_usb 2>/dev/null
+rmmod prism2_cs 2>/dev/null
+rmmod prism2_plx 2>/dev/null
+rmmod p80211 2>/dev/null
+
+# There is a race here for some reason.
+sleep 2
+
+for iface in $IFACES; do
+ ifup $iface
+done
+
diff --git a/recipes/wlan-ng/files/scripts-makefile-hostcc.patch b/recipes/wlan-ng/files/scripts-makefile-hostcc.patch
new file mode 100644
index 0000000000..1746b8a359
--- /dev/null
+++ b/recipes/wlan-ng/files/scripts-makefile-hostcc.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-wlan-ng-0.2.2/scripts/Makefile~scripts-makefile-hostcc
++++ linux-wlan-ng-0.2.2/scripts/Makefile
+@@ -24,7 +24,7 @@
+ exit 1;\
+ fi
+
+- $(CC) -I$(KERNEL_SOURCE)/include get_version.c -o get_version
++ $(BUILD_CC) -I$(KERNEL_SOURCE)/include get_version.c -o get_version
+
+ get_options:
+ $(MAKE) -f $(CURR_DIR)/Makefile.get_options -C $(KERNEL_SOURCE) get_version_target
diff --git a/recipes/wlan-ng/files/usbctl b/recipes/wlan-ng/files/usbctl
new file mode 100755
index 0000000000..5a34b03c39
--- /dev/null
+++ b/recipes/wlan-ng/files/usbctl
Binary files differ
diff --git a/recipes/wlan-ng/files/wlan-ng.modutils b/recipes/wlan-ng/files/wlan-ng.modutils
new file mode 100644
index 0000000000..010e20d375
--- /dev/null
+++ b/recipes/wlan-ng/files/wlan-ng.modutils
@@ -0,0 +1 @@
+alias wlan0 prism2_usb
diff --git a/recipes/wlan-ng/files/wlan.agent b/recipes/wlan-ng/files/wlan.agent
new file mode 100644
index 0000000000..945d646984
--- /dev/null
+++ b/recipes/wlan-ng/files/wlan.agent
@@ -0,0 +1,107 @@
+#!/bin/sh
+#
+# p80211/wlan hotplug policy agent.
+#
+# wlan hotplug params include:
+#
+# ACTION=%s [register|remove|shutdown|startup|suspend|resume]
+# INTERFACE=%s
+# NSDNAME=%s
+#
+
+cd /etc/hotplug
+# must have ./ here or busybox shell barfs
+. ./hotplug.functions
+
+#DEBUG=yes export DEBUG
+
+if [ "$INTERFACE" = "" ]; then
+ mesg Bad WLAN invocation: \$INTERFACE is not set
+ exit 1
+fi
+
+if [ "$NSDNAME" = "" ]; then
+ mesg Bad WLAN invocation: \$NSDNAME is not set
+ exit 1
+fi
+
+debug_mesg WLAN $ACTION on $INTERFACE \($NSDNAME\)
+
+if [ "$NSDNAME" = "prism2_cs" ] ; then
+ mesg "WLAN Hotplug bypassed for pcmcia"
+ exit 0
+fi
+
+# load up the shared scripts
+if [ ! -f /etc/wlan/shared ] ; then
+ mesg "/etc/wlan/shared not present, aborting"
+ exit 1
+fi
+
+ECHO=mesg
+. /etc/wlan/shared
+
+case $ACTION in
+'register'|'resume')
+ eval 'WLAN_ENABLE=$ENABLE_'$INTERFACE
+ if ! is_true $WLAN_ENABLE ; then
+ mesg "WLAN $ACTION - interface $INTERFACE not enabled, aborting"
+ exit 1
+ fi
+ debug_mesg WLAN $INTERFACE registered.
+ wlan_bring_it_up $INTERFACE
+ if [ $? = 0 ] ; then
+ mesg WLAN $INTERFACE brought up successfully.
+ if [ -x /etc/wlan/network ] ; then
+ mesg "WLAN bringing up layer 3+ with /etc/wlan/network"
+ /etc/wlan/network start $INTERFACE
+ elif [ -x /etc/wlan/pre-ifup ] ; then
+ # pre-ifup is presumed to call ifup if it
+ # wants to...it may choose to skip it.
+ mesg "WLAN bringing up layer 3+ with /etc/wlan/pre-ifup"
+ /etc/wlan/pre-ifup $INTERFACE
+ else
+ mesg "WLAN bringing up layer 3+ with /sbin/ifup"
+ /sbin/ifup $INTERFACE
+ fi
+ else
+ mesg WLAN Could not bring up $INTERFACE
+ exit 1
+ fi
+ # eventually invoke net.agent on $INTERFACE w/ REGISTER
+;;
+'remove'|'suspend')
+ debug_mesg WLAN $INTERFACE removed.
+ eval 'WLAN_ENABLE=$ENABLE_'$INTERFACE
+ if ! is_true $WLAN_ENABLE ; then
+ mesg "WLAN $ACTION - interface $INTERFACE not enabled, aborting"
+ exit 1
+ fi
+ if [ -x /etc/wlan/network ] ; then
+ mesg "WLAN taking down layer 3+ with /etc/wlan/network"
+ /etc/wlan/network stop $INTERFACE
+ elif [ -x /etc/wlan/post-ifdown ] ; then
+ # post-ifdown is presumed to call ifdown if it
+ # wants to...it may choose to skip it.
+ mesg "WLAN taking down layer 3+ with /etc/wlan/post-ifdown"
+ /etc/wlan/post-ifdown $INTERFACE
+ else
+ mesg "WLAN taking down layer 3+ with /sbin/ifdown"
+ /sbin/ifdown $INTERFACE
+ fi
+ wlan_disable $INTERFACE
+;;
+'startup')
+ # kick off wland.
+ debug_mesg WLAN p80211 starting!
+ start_wland
+;;
+'shutdown')
+ debug_mesg WLAN p80211 shutting down!
+ stop_wland
+;;
+*)
+ debug_mesg WLAN $ACTION event not supported
+ exit 1 ;;
+
+esac