On Fri, Feb 16, 2024 at 11:45:30AM +0100, Kirill A. Korinsky wrote:
> Stefan,
> 
> On Fri, 16 Feb 2024 10:13:50 +0100,
> Stefan Sperling wrote:
> >
> > If your AP still announces 6M even while you've disabled this rate in 
> > settings,
> > then the AP is broken and there is nothing to fix for us, you could only try
> > asking the vendor for an AP firmware fix. Otherwise, there could be a bug in
> > net80211, iwx, or intel wifi firmware where the lack of support for 6 Mbps
> > on the AP breaks something.
> 
> When I disable 6mbps it announces as:
> 
>   11:39:06.596019 802.11 flags=0<>: beacon, 
> caps=10421<ESS,PRIVACY,SPECTRUM_MGMT,RADIO_MEASUREMENT>, ssid (catap's 
> Network), rates 9M 12M* 18M 24M* 36M 48M 54M, ds (chan 40), tim 0x01040000, 
> country 'DE ', channels 40-41 limit 23dB, power constraint 0dB, tpcreport 
> 0x0000, 195:3 0x011e1e, 70:5 0xf200010000, 51:3 0x082830, 54:3 0x961000, 
> rsn=<version 1,groupcipher ccmp,cipher ccmp,akms PSK 4 SAE,rsncap 0x80>, 3 
> stations, 3% utilization, admission capacity 976us/s, <radiotap v0, 0Mbit/s, 
> chan 40, 11n, sig 48dBm, noise -106dBm>
> 
> so, AP works as expected.

Thanks, good to know.

I might have found the root cause of your problem in iwx.
Can you try this diff please?

diff /usr/src
commit - 5f5902b3789b6f994566004963a31af6304d3a70
path + /usr/src
blob - 4b945edf2c73c6e2582819b283277baff81a6586
file + sys/dev/pci/if_iwx.c
--- sys/dev/pci/if_iwx.c
+++ sys/dev/pci/if_iwx.c
@@ -6085,13 +6085,12 @@ iwx_tx_fill_cmd(struct iwx_softc *sc, struct iwx_node 
        } else if (sc->sc_rate_n_flags_version >= 2)
                rate_flags |= IWX_RATE_MCS_LEGACY_OFDM_MSK;
 
-       rval = (rs->rs_rates[ni->ni_txrate] & IEEE80211_RATE_VAL);
        if (sc->sc_rate_n_flags_version >= 2) {
                if (rate_flags & IWX_RATE_MCS_LEGACY_OFDM_MSK) {
-                       rate_flags |= (iwx_fw_rateidx_ofdm(rval) &
+                       rate_flags |= (iwx_fw_rateidx_ofdm(rinfo->rate) &
                            IWX_RATE_LEGACY_RATE_MSK);
                } else {
-                       rate_flags |= (iwx_fw_rateidx_cck(rval) &
+                       rate_flags |= (iwx_fw_rateidx_cck(rinfo->rate) &
                            IWX_RATE_LEGACY_RATE_MSK);
                }
        } else

Reply via email to