On Monday, 20 May 2019 09:55:09 CEST John Crispin wrote: > --- a/src/drivers/driver_nl80211.c > +++ b/src/drivers/driver_nl80211.c > @@ -4352,10 +4352,11 @@ static int nl80211_put_freq_params(struct nl_msg *msg, > if (nla_put_u32(msg, NL80211_ATTR_WIPHY_FREQ, freq->freq)) > return -ENOBUFS; > > + wpa_printf(MSG_DEBUG, " * he_enabled=%d", freq->he_enabled); > wpa_printf(MSG_DEBUG, " * vht_enabled=%d", freq->vht_enabled); > wpa_printf(MSG_DEBUG, " * ht_enabled=%d", freq->ht_enabled); > > - if (freq->vht_enabled) { > + if (freq->vht_enabled || freq->he_enabled) { > enum nl80211_chan_width cw; This part is problematic on 2.4GHz. You are assuming now that freq->bandwidth is set to a non-zero value. But this is not always the case on 2.4GHz and thus broke the wpa_supplicant setup code which uses nl80211_put_freq_params but doesn't go through hostapd_set_freq_params. I didn't check in detail but it looks to me that hostapd_set_freq_params is already adjusted for it. The other place is ibss_mesh_setup_freq - which is missing the bandwidth for non-VHT channels. There might be more places which I didn't discover yet. So we have to think about whether this freq->he_enabled is actually correct here or not. I will now just provide a patch for ibss_mesh_setup_freq. Kind regards, Sven
Attachment:
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap