On Mon, Sep 23, 2019 at 06:19:00PM +0200, Tobias Heider wrote: > bluhm@ and I have noticed that our wifi connection breaks when the access > point > switches channel. The fix is to update the node list node's channel with the > received channel in STA mode. I've been using the fix for some days now > without > breakage. > > ok?
Yes, OK. Thank you! > Index: ieee80211_input.c > =================================================================== > RCS file: /cvs/src/sys/net80211/ieee80211_input.c,v > retrieving revision 1.209 > diff -u -p -r1.209 ieee80211_input.c > --- ieee80211_input.c 12 Sep 2019 12:55:07 -0000 1.209 > +++ ieee80211_input.c 22 Sep 2019 08:54:22 -0000 > @@ -1380,8 +1380,9 @@ ieee80211_save_ie(const u_int8_t *frm, u > */ > void > ieee80211_recv_probe_resp(struct ieee80211com *ic, struct mbuf *m, > - struct ieee80211_node *ni, struct ieee80211_rxinfo *rxi, int isprobe) > + struct ieee80211_node *rni, struct ieee80211_rxinfo *rxi, int isprobe) > { > + struct ieee80211_node *ni; > const struct ieee80211_frame *wh; > const u_int8_t *frm, *efrm; > const u_int8_t *tstamp, *ssid, *rates, *xrates, *edcaie, *wmmie; > @@ -1553,6 +1554,10 @@ ieee80211_recv_probe_resp(struct ieee802 > /* we know that ssid[1] <= IEEE80211_NWID_LEN */ > memcpy(ni->ni_essid, &ssid[2], ssid[1]); > } > + > + /* Update channel in case AP has switched */ > + if (ic->ic_opmode == IEEE80211_M_STA) > + ni->ni_chan = rni->ni_chan; > > return; > } >