madwifi/scripts/madwifi-unload
Pavel Roskin 8c73cc55b1 Remove support for Linux kernels older than 2.6.13
Linux 2.6.13 introduced Wireless Extension 18 with WPA support.  It was
released in August 2005.  People making changes to MadWifi should not be
required to be software archeologistists to test their changes.
2013-11-12 11:46:06 -05:00

53 lines
954 B
Bash
Executable File

#!/bin/sh
: ${PATTERN='\(ath_.*\|wlan_.*\|wlan\)$'}
: ${MAX_TRIES=10}
test "$(id -u)" = 0 || {
echo "ERROR: You must be root to run this script" >&2
exit 1
}
test -r /proc/modules || {
echo "ERROR: Cannot read /proc/modules" >&2
exit 1
}
tries="$MAX_TRIES"
while test "$tries" != "0"; do
skipped=0
IFS='
'
for line in $(cat /proc/modules); do
IFS=' '
set x $line
name="$2"
size="$3"
use_count="$4"
use_name="$5"
state="$6"
expr "$name" : "$PATTERN" >/dev/null || continue
if test "$state" != "Live" || test "$use_count" != "0" || \
test "$use_name" != "-"; then
# Don't skip unload in the last run
if test "$tries" != "1"; then
skipped=1
continue
fi
fi
echo "Unloading \"$name\""
sync # to be safe
/sbin/rmmod "$name" || {
echo "ERROR: cannot unload module \"$name\"" >&2
exit 1
}
sync # to be even safer
done
test "$skipped" = "0" && break
tries=$(($tries - 1))
done
exit 0