diff --git a/roles/network/templates/hostapd/50-hostapd b/roles/network/templates/hostapd/50-hostapd index b663599b3..47a769639 100644 --- a/roles/network/templates/hostapd/50-hostapd +++ b/roles/network/templates/hostapd/50-hostapd @@ -1,12 +1,20 @@ if [ "$interface" = "wlan0" ]; then - syslog info "50-hostapd-ap0" - sleep 2 - # wpa_supplicant wants MHz for frequency= while hostapd wants channel..... whatever - # FREQ=`iw wlan0 info|grep channel|cut -d' ' -f9` - FREQ=`iw wlan0 info|grep channel|cut -d' ' -f2` - sed -i -e "s/^frequency.*/channel=$FREQ /" /etc/hostapd/hostapd.conf - syslog info "50-hostapd restarting hostapd" - systemctl daemon-reload - systemctl restart hostapd + REASON="$reason" + if [ "$reason" = "CARRIER" ]; then + syslog info "50-iiab CARRIER change wlan0" + # wpa_supplicant wants MHz for frequency= while hostapd wants channel..... whatever + # FREQ=`iw wlan0 info|grep channel|cut -d' ' -f9` + FREQ=`iw wlan0 info|grep channel|cut -d' ' -f2` + syslog info "40-iiab set channel $FREQ" + sed -i -e "s/^channel.*/channel=$FREQ /" /etc/hostapd/hostapd.conf + # will need a reboot for hostapd if the channel changed + fi + # spams the logging + #syslog info "50-iiab set ap0 spam $REASON" + if [ -e /sys/class/net/ap0 ] && ! [ "$reason" = "ROUTERADVERT" ]; then + syslog info "50-iiab set ap0 up $REASON" + # keeps ap0 up so hostapd works + ip link set ap0 up + fi fi