]>
git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/initscripts/packages/hostapd
11 eval $
(/usr
/local
/bin
/readhash
/var
/ipfire
/wlanap
/settings
)
15 mkdir
-p /var
/run
/hostapd
17 boot_mesg
"Starting hostapd... "
19 # Check Interface configuration
20 if [ ! -d "/sys/class/net/${INTERFACE}" ]; then
21 boot_mesg
"Interface $INTERFACE doesn't exist." ${FAILURE}
26 if [ "$(ip link show $INTERFACE | /bin/grep "ether
")" == "" ]; then
27 boot_mesg
"Interface $INTERFACE is assigned to wlan master device." ${FAILURE}
28 boot_mesg
"Please reboot to fix this." ${FAILURE}
33 # Check if INTERFACE is an actual wireless device
34 if [ ! -d "/sys/class/net/${INTERFACE}/wireless" ]; then
35 boot_mesg
"Interface $INTERFACE is no wireless device." ${FAILURE}
41 if [ -e "/sys/class/net/$INTERFACE/phy80211" ]; then
44 elif [ "$(/bin/grep hostap /sys/class/net/$INTERFACE/uevent)" != "" ]; then
48 boot_mesg
"Interface $INTERFACE is a not supported wireless device." ${FAILURE}
53 echo driver
=$driver > /etc
/hostapd.conf.tmp
54 grep -v "^driver=" /etc
/hostapd.conf
>> /etc
/hostapd.conf.tmp
55 mv /etc
/hostapd.conf.tmp
/etc
/hostapd.conf
57 echo DRIVER
=$DRIVER > /var
/ipfire
/wlanap
/settings.tmp
58 grep -v "^DRIVER=" /var
/ipfire
/wlanap
/settings
>> /var
/ipfire
/wlanap
/settings.tmp
59 chown nobody
:nobody
/var
/ipfire
/wlanap
/settings.tmp
60 chmod 644 /var
/ipfire
/wlanap
/settings.tmp
61 mv /var
/ipfire
/wlanap
/settings.tmp
/var
/ipfire
/wlanap
/settings
63 if [ "$DRIVER" == "HOSTAP" ]; then
64 if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode
:Master
")" == "" ]; then
65 boot_mesg
"Setting HOSTAP wlan $INTERFACE to Master mode... "
66 # Set Prism Cards to master mode
67 /usr
/bin
/iwconfig
$INTERFACE mode master
> /dev
/null
71 # First set to any country then reset to World (00)
72 # and then set new country because the card is only
73 # reprogrammed if the region was changed.
74 /usr
/sbin
/iw reg
set DE
75 /usr
/sbin
/iw reg
set 00
76 /usr
/sbin
/iw reg
set $COUNTRY
78 /usr
/sbin
/iwconfig
$INTERFACE channel
$CHANNEL 2>/dev
/null
80 ip link
set ${INTERFACE} up
2>/dev
/null
81 /usr
/sbin
/iwconfig
$INTERFACE txpower
$TXPOWER 2>/dev
/null
83 /usr
/bin
/hostapd
-P /var
/run
/hostapd
/etc
/hostapd.conf
>/dev
/null
2>&1 &
87 if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode
:Master
")" == "" ]; then
88 killproc
/usr
/bin
/hostapd
> /dev
/null
2>&1
89 boot_mesg
"Try to create additional AP device ..."
90 ip link
set ${INTERFACE} down
91 ip link
set ${INTERFACE} name
${INTERFACE}_man
92 iw dev
${INTERFACE}_man interface add
${INTERFACE} type __ap
94 if [ -d /sys
/class
/net
/${INTERFACE} ]; then
95 /usr
/bin
/hostapd
-P /var
/run
/hostapd
/etc
/hostapd.conf
>/dev
/null
2>&1 &
97 ip link
set ${INTERFACE}_man down
98 ip link
set ${INTERFACE}_man name
${INTERFACE}
107 boot_mesg
"Stopping hostapd..."
108 ip link
set ${INTERFACE} down
> /dev
/null
2>&1
109 ip link
set ${INTERFACE} down_man
> /dev
/null
2>&1
111 killproc
/usr
/bin
/hostapd
122 statusproc
/usr
/bin
/hostapd
126 echo "Usage: ${0} {start|stop|restart|status}"