10 eval $
(/usr
/local
/bin
/readhash
/var
/ipfire
/wlanap
/settings
)
14 mkdir
-p /var
/run
/hostapd
16 boot_mesg
"Starting hostapd... "
18 # Check Interface configuration
19 if ! ip link show
$INTERFACE > /dev
/null
2>&1; then
20 boot_mesg
"Interface $INTERFACE doesn't exist." ${FAILURE}
24 if [ "$(ip link show $INTERFACE | /bin/grep "ether
")" == "" ]; then
25 boot_mesg
"Interface $INTERFACE is assigned to wlan master device." ${FAILURE}
26 boot_mesg
"Please reboot to fix this." ${FAILURE}
30 if [ "$(iwconfig $INTERFACE | /bin/grep "IEEE
")" == "" ]; then
31 boot_mesg
"Interface $INTERFACE is no wireless device." ${FAILURE}
37 if [ -e "/sys/class/net/$INTERFACE/phy80211" ]; then
40 elif [ -e "/sys/class/net/$INTERFACE/madwifi_name_type" ]; then
44 boot_mesg
"Interface $INTERFACE is a not supported wireless device." ${FAILURE}
49 echo driver
=$driver > /etc
/hostapd.conf.tmp
50 grep -v "^driver=" /etc
/hostapd.conf
>> /etc
/hostapd.conf.tmp
51 mv /etc
/hostapd.conf.tmp
/etc
/hostapd.conf
53 echo DRIVER
=$DRIVER > /var
/ipfire
/wlanap
/settings.tmp
54 grep -v "^DRIVER=" /var
/ipfire
/wlanap
/settings
>> /var
/ipfire
/wlanap
/settings.tmp
55 chown nobody
:nobody
/var
/ipfire
/wlanap
/settings.tmp
56 chmod 644 /var
/ipfire
/wlanap
/settings.tmp
57 mv /var
/ipfire
/wlanap
/settings.tmp
/var
/ipfire
/wlanap
/settings
59 if [ "$DRIVER" == "MADWIFI" ]; then
60 if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode
:Master
")" == "" ]; then
61 boot_mesg
"Setting MADWIFI wlan $INTERFACE to Master mode... "
62 # Set Atheros Cards to master mode
63 /usr
/bin
/wlanconfig
$INTERFACE destroy
> /dev
/null
64 /usr
/bin
/wlanconfig
$INTERFACE create wlandev wifi0 wlanmode ap
> /dev
/null
68 /usr
/sbin
/iwconfig
$INTERFACE channel
$CHANNEL
69 /usr
/sbin
/iwconfig
$INTERFACE txpower
$TXPOWER
71 /usr
/bin
/hostapd
-P /var
/run
/hostapd
/etc
/hostapd.conf
>/dev
/null
2>&1 &
75 if [ $DRIVER == "MADWIFI" ]; then
76 iwpriv
$INTERFACE maccmd
3
77 if [ $MACMODE != 0 ]; then
78 FILE
="/var/ipfire/wlanap/macfile"
82 iwpriv
$INTERFACE addmac
$LINE
85 iwpriv
$INTERFACE maccmd
$MACMODE
91 if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode
:Master
")" == "" ]; then
92 boot_mesg
"Error! Can't set wlan master mode"
96 # enable wlan module of collectd
97 sed -i -e "s|#LoadPlugin wireless|LoadPlugin wireless|g" /etc
/collectd.conf
103 boot_mesg
"Stopping hostapd..."
105 killproc
/usr
/bin
/hostapd
116 statusproc
/usr
/bin
/hostapd
120 echo "Usage: ${0} {start|stop|restart|status}"