On Thu, Jan 01, 2026 at 10:43:21AM +0100, Stefan Sperling wrote:
> On Thu, Jan 01, 2026 at 01:12:35AM +0000, Vitaliy Makkoveev wrote:
> > On Wed, Dec 31, 2025 at 10:37:44PM +0100, Stefan Sperling wrote:
> > > Please send a pcap file which contains beacons from the AP:
> > >
> > > tcpdump -n -i iwx0 -y IEEE802_11_RADIO -s 4096 -w /tmp/iwx0.pcap
> > >
> > > Put the interface down, start tcpdump, put the interface up, wait until
> > > a transition from SCAN to AUTH or RUN is shown in dmesg debug output,
> > > then stop tcpdump and the file should contain what we need.
> > >
> >
> > Sure, see attachment.
>
> Not sure what is going wrong there.
>
> My best guess is that this AP is buggy and does not like the
> PFM-capabale bit being set in our assoc request.
>
> Does this patch help?
>
Yes, this fixed wifi on both machines. Thanks!
> blob - 1ffd981a6fe179bc9f0689caaaad2af30277b453
> file + ieee80211_output.c
> --- ieee80211_output.c
> +++ ieee80211_output.c
> @@ -1062,7 +1062,8 @@ ieee80211_add_rsn_body(u_int8_t *frm, struct ieee80211
> /* write RSN Capabilities field */
> rsncaps = (ni->ni_rsncaps & (IEEE80211_RSNCAP_PTKSA_RCNT_MASK |
> IEEE80211_RSNCAP_GTKSA_RCNT_MASK));
> - if (ic->ic_caps & IEEE80211_C_MFP) {
> + if ((ic->ic_caps & IEEE80211_C_MFP) &&
> + (ni->ni_rsncaps & IEEE80211_RSNCAP_MFPC)) {
> rsncaps |= IEEE80211_RSNCAP_MFPC;
> if (ic->ic_flags & IEEE80211_F_MFPR)
> rsncaps |= IEEE80211_RSNCAP_MFPR;
> @@ -1079,7 +1080,8 @@ ieee80211_add_rsn_body(u_int8_t *frm, struct ieee80211
> frm += IEEE80211_PMKID_LEN;
> }
>
> - if (!(ic->ic_caps & IEEE80211_C_MFP))
> + if (!(ic->ic_caps & IEEE80211_C_MFP) ||
> + !(ni->ni_rsncaps & IEEE80211_RSNCAP_MFPC))
> return frm;
>
> if ((ni->ni_flags & IEEE80211_NODE_PMKID) == 0) {