aboutsummaryrefslogtreecommitdiffstats
path: root/packages/wireless-tools/wireless-tools/zzz-wireless.if-pre-up
blob: 4c8e95bf2a040280a13d285de7a580e662063089 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/sh
#
# /etc/network/if-pre-up.d/zzz-wireless
# by Stefan Tomanek (stefan@pico.ruhr.de)


IWCONFIG=/sbin/iwconfig
IFCONFIG=/sbin/ifconfig
GREP=/bin/grep
LOGGER=/usr/bin/logger
SLEEP=/bin/sleep

# How long do we wait for association?
RETRIES=15
SLEEPTIME=1

# Only sleep if we use DHCP (add others methods seperated by spaces)
ONLY_FOR="static dhcp"

if [ -z "$IF_WIRELESS_TYPE" ] && echo "$ONLY_FOR" | grep -q "$METHOD" ; then
	$IFCONFIG $IFACE up
	$LOGGER Checking for WLAN association...
	while ( [ $RETRIES -gt 0 ] && ($IWCONFIG "$IFACE" | $GREP -q "Access Point: Not-Associated") ); do
		$LOGGER No association yet, $RETRIES retries until timeout
		RETRIES=$(($RETRIES-1))
		$SLEEP $SLEEPTIME
	done
	
	if [ $RETRIES -eq 0 ]; then
		$LOGGER Timeout waiting for association, continuing anyway...
	else
		$LOGGER Found association!
	fi
fi