#!/bin/sh # rc.wlan # # chkconfig: 2345 9 91 # description: Activates/Configures/Disables the devices if [ ! -f /etc/wlan/shared ] ; then echo "/etc/wlan/shared not present" exit 0 fi . /etc/wlan/shared if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions fi usage() { echo "Usage: $0 {start|stop|status|restart|reload|force-reload}" } if [ $# -lt 1 ] ; then usage ; exit 1 ; fi action=$1 case "$action" in start) # This will implicitly fire off wland via hotplug. echo -n "Starting WLAN Devices: " if ! $MODPROBE p80211; then echo "Failed to load p80211.o." 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. for DEVICE in $WLAN_DEVICES; do $MODPROBE $DEVICE # if we don't have hotplug.. do things the old-fashioned way. if [ $HAS_HOTPLUG = 'n' ] ; then wlan_bring_it_up $DEVICE fi done # And hotplug will take care of the rest, namely device # initialization and whatnot. if [ -f /etc/init.d/functions ] ; then echo_success else echo fi ;; stop) echo -n "Shutting Down WLAN Devices: " echo -n "Shutting Down WLAN Devices: " # Do a reset on each device to make sure none of them are still # trying to generate interrupts. for DEVICE in $WLAN_DEVICES; do wlan_disable $DEVICE ifconfig $DEVICE down $MODPROBE -r $DEVICE done # remove p80211, which will implictly kill wland. $MODPROBE -r p80211 if [ -f /etc/init.d/functions ] ; then echo_success else echo fi ;; status) status wland ;; restart|reload|force-reload) $0 stop $0 start EXITCODE=$? ;; *) usage ;; esac