You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.4 KiB
Bash

#!/bin/sh
IWCONFIG=/sbin/iwconfig
if [ ! -x $IWCONFIG ]; then
exit 0
fi
# check if this is a 802.11 device we're supposed to be effecting
case "${IF_WIRELESS:-enable}" in
wireless-tools|iwconfig)
# *we* and not some other 802.11 tool should be used
;;
true|yes|enable|1)
# 802.11 should be used on this device, check for extensions
$IWCONFIG $IFACE >/dev/null 2>&1 || exit 0
;;
*)
exit 0
;;
esac
apply_settings()
{
if [ -n "$IF_WIRELESS_MODE" ]; then
$IWCONFIG "$IFACE" mode auto
fi
if [ -n "$IF_WIRELESS_AP" ]; then
$IWCONFIG "$IFACE" ap off
fi
if [ -n "$IF_WIRELESS_RATE" ]; then
$IWCONFIG "$IFACE" rate auto
fi
if [ -n "$IF_WIRELESS_RTS" ]; then
$IWCONFIG "$IFACE" rts auto
fi
if [ -n "$IF_WIRELESS_FRAG" ]; then
$IWCONFIG "$IFACE" frag auto
fi
if [ -n "$IF_WIRELESS_POWER" ]; then
$IWCONFIG "$IFACE" power off
fi
if [ -n "$IF_WIRELESS_TXPOWER" ]; then
$IWCONFIG "$IFACE" txpower auto
fi
if [ -n "$IF_WIRELESS_ENC" ]; then
$IWCONFIG "$IFACE" enc off
fi
if [ -n "$IF_WIRELESS_KEY" ]; then
$IWCONFIG "$IFACE" key off
fi
if [ -n "$IF_WIRELESS_DEFAULTKEY" ]; then
$IWCONFIG "$IFACE" key off
fi
if [ -n "$IF_WIRELESS_NWID" ]; then
$IWCONFIG "$IFACE" nwid off
fi
if [ -n "$IF_WIRELESS_ESSID" ]; then
$IWCONFIG "$IFACE" essid any
fi
if [ -n "$IF_WIRELESS_COMMIT" ]; then
$IWCONFIG "$IFACE" commit
fi
}
apply_settings 2>/dev/null