+ boot_mesg "Starting hostapd... "
+
+ # Check Interface configuration
+ if ! ip link show $INTERFACE > /dev/null 2>&1; then
+ boot_mesg "Interface $INTERFACE does'nt exist." ${FAILURE}
+ echo_failure
+ exit 0
+ fi
+ if [ "$(ip link show $INTERFACE | /bin/grep "ether")" == "" ]; then
+ boot_mesg "Interface $INTERFACE is assigned to wlan master device." ${FAILURE}
+ boot_mesg "Please reboot to fix this." ${FAILURE}
+ echo_failure
+ exit 0
+ fi
+ if [ "$(iwconfig $INTERFACE | /bin/grep "IEEE")" == "" ]; then
+ boot_mesg "Interface $INTERFACE is no wireless device." ${FAILURE}
+ echo_failure
+ exit 0
+ fi
+
+ # Detect driver
+ if [ -e "/sys/class/net/$INTERFACE/phy80211" ]; then
+ DRIVER="NL80211"
+ driver="nl80211"
+ elif [ -e "/sys/class/net/$INTERFACE/madwifi_name_type" ]; then
+ DRIVER="MADWIFI"
+ driver="madwifi"
+ else
+ boot_mesg "Interface $INTERFACE is a not supported wireless device." ${FAILURE}
+ echo_failure
+ exit 0
+ fi
+
+ echo driver=$driver > /etc/hostapd.conf.tmp
+ grep -v "^driver=" /etc/hostapd.conf >> /etc/hostapd.conf.tmp
+ mv /etc/hostapd.conf.tmp /etc/hostapd.conf
+
+ echo DRIVER=$DRIVER > /var/ipfire/wlanap/settings.tmp
+ grep -v "^DRIVER=" /var/ipfire/wlanap/settings >> /var/ipfire/wlanap/settings.tmp
+ chown nobody:nobody /var/ipfire/wlanap/settings.tmp
+ chmod 644 /var/ipfire/wlanap/settings.tmp
+ mv /var/ipfire/wlanap/settings.tmp /var/ipfire/wlanap/settings
+