mac80211: start hostapd with logging wpa_printf messages to syslog
[openwrt/openwrt.git] / package / kernel / mac80211 / files / lib / netifd / wireless / mac80211.sh
index e3d612e4b2f3d6dc1345bf71311fd31ee3649f1e..baa023ecf63ba3515e1458064e1b14bc5c74a8bc 100644 (file)
@@ -611,7 +611,42 @@ mac80211_setup_vif() {
                                mcval=
                                [ -n "$mcast_rate" ] && wpa_supplicant_add_rate mcval "$mcast_rate"
 
-                               iw dev "$ifname" mesh join "$mesh_id" ${mcval:+mcast-rate $mcval}
+                               case "$htmode" in
+                                       VHT20|HT20) mesh_htmode=HT20;;
+                                       HT40*|VHT40)
+                                               case "$hwmode" in
+                                                       a)
+                                                               case "$(( ($channel / 4) % 2 ))" in
+                                                                       1) mesh_htmode="HT40+" ;;
+                                                                       0) mesh_htmode="HT40-";;
+                                                               esac
+                                                       ;;
+                                                       *)
+                                                               case "$htmode" in
+                                                                       HT40+) mesh_htmode="HT40+";;
+                                                                       HT40-) mesh_htmode="HT40-";;
+                                                                       *)
+                                                                               if [ "$channel" -lt 7 ]; then
+                                                                                       mesh_htmode="HT40+"
+                                                                               else
+                                                                                       mesh_htmode="HT40-"
+                                                                               fi
+                                                                       ;;
+                                                               esac
+                                                       ;;
+                                               esac
+                                       ;;
+                                       VHT80)
+                                               mesh_htmode="80Mhz"
+                                       ;;
+                                       VHT160)
+                                               mesh_htmode="160Mhz"
+                                       ;;
+                                       *) mesh_htmode="NOHT" ;;
+                               esac
+
+                               freq="$(get_freq "$phy" "$channel")"
+                               iw dev "$ifname" mesh join "$mesh_id" freq $freq $mesh_htmode ${mcval:+mcast-rate $mcval}
                        fi
 
                        for var in $MP_CONFIG_INT $MP_CONFIG_BOOL $MP_CONFIG_STRING; do
@@ -721,7 +756,7 @@ drv_mac80211_setup() {
        for_each_interface "ap" mac80211_prepare_vif
 
        [ -n "$hostapd_ctrl" ] && {
-               /usr/sbin/hostapd -P /var/run/wifi-$phy.pid -B "$hostapd_conf_file"
+               /usr/sbin/hostapd -s -P /var/run/wifi-$phy.pid -B "$hostapd_conf_file"
                ret="$?"
                wireless_add_process "$(cat /var/run/wifi-$phy.pid)" "/usr/sbin/hostapd" 1
                [ "$ret" != 0 ] && {