On Sun, Nov 21, 2021 at 09:05:29AM +0000, Laurence Tratt wrote: > As of a kernel from a couple of days ago, iwx semi-regularly stops > associating with my wireless AP. An easy way to trigger this is "pkg_add > -u": at some point, downloading stops mid-package, and I need to "sh > /etc/netstart" to bring the interface back up. > > My previous kernel was about a week old. I had noticed with that kernel that > sometimes iwx stopped soon after boot, but one kick of /etc/netstart seemed > to make it good for the whole day, whereas now it seems to stop multiple > times (but I hadn't done pkg_add very often in that week!). The AP is a > Ruckus R510 and none of the other clients connected to it seems to have this > issue. > > I'm attaching my dmesg + IWX_DEBUG set to 1 in case it helps anyone.
Please try this patch. I cannot promise that it will help, but it might. diff f6006ae72dd91e94a3c4244318ea54107ae8eedc /usr/src blob - 38768d23f5005d3cc3d2fc6295ef3a3085484a7e file + sys/dev/pci/if_iwx.c --- sys/dev/pci/if_iwx.c +++ sys/dev/pci/if_iwx.c @@ -5911,9 +5911,11 @@ iwx_umac_scan_fill_channels(struct iwx_softc *sc, * Firmware may become unresponsive when asked to send * a directed probe request on a passive channel. */ +#if 0 if (n_ssids != 0 && !bgscan && (c->ic_flags & IEEE80211_CHAN_PASSIVE) == 0) chan->flags = htole32(1 << 0); /* select SSID 0 */ +#endif chan++; nchan++; } @@ -6160,7 +6162,9 @@ iwx_scan_umac_fill_ch_p_v6(struct iwx_softc *sc, int iwx_umac_scan_v14(struct iwx_softc *sc, int bgscan) { +#if 0 struct ieee80211com *ic = &sc->sc_ic; +#endif struct iwx_host_cmd hcmd = { .id = iwx_cmd_id(IWX_SCAN_REQ_UMAC, IWX_LONG_GROUP, 0), .len = { 0, }, @@ -6196,6 +6200,7 @@ iwx_umac_scan_v14(struct iwx_softc *sc, int bgscan) return err; } +#if 0 if (ic->ic_des_esslen != 0) { scan_p->probe_params.direct_scan[0].id = IEEE80211_ELEMID_SSID; scan_p->probe_params.direct_scan[0].len = ic->ic_des_esslen; @@ -6204,6 +6209,7 @@ iwx_umac_scan_v14(struct iwx_softc *sc, int bgscan) bitmap_ssid |= (1 << 0); n_ssid = 1; } +#endif iwx_scan_umac_fill_ch_p_v6(sc, &scan_p->channel_params, bitmap_ssid, n_ssid, bgscan);