Download raw body.
sys/qwz: add 802.11n with 40Mhz width
On Mon, May 25, 2026 at 11:39:18PM +0200, Kirill A. Korinsky wrote: > tech@, > > here support of 40Mhz width for qwz at 802.11n, tested against Unifi > with 2.4Ghz and 5Ghz, and AP reports RX and TX as 300 Mbps. > > 30 seconds iperf shows ~140 Mbits/sec and with -R ~171 Mbits/sec. > > I don't like +/- 10 for channel center, but better apporach is helper in > net80211 which I plan to add as the next step with 11ac and 80Mhz width. > > Ok? This looks ok, but I don't understand why you are setting TX_MSC_SET_DEFINED in HT capabilities with this diff. As far as I understand TX_MCS_SET_DEFINED has to do with Tx/Rx rate sets. When set, the supported rate sets for Tx and Rx are different, otherwise Tx and Rx rate sets are equal. Is this really necessary for 40MHz support, or an unrelated change? > diff -u -p -r1.11 if_qwz_pci.c > --- sys/dev/pci/if_qwz_pci.c 18 May 2026 13:47:32 -0000 1.11 > +++ sys/dev/pci/if_qwz_pci.c 25 May 2026 20:54:14 -0000 > @@ -969,13 +969,14 @@ qwz_pci_attach(struct device *parent, st > ic->ic_sup_rates[IEEE80211_MODE_11B] = ieee80211_std_rateset_11b; > ic->ic_sup_rates[IEEE80211_MODE_11G] = ieee80211_std_rateset_11g; > > - ic->ic_htcaps = IEEE80211_HTCAP_SGI20 | IEEE80211_HTCAP_AMSDU7935; > - ic->ic_htcaps |= > + ic->ic_htcaps = IEEE80211_HTCAP_SGI20 | IEEE80211_HTCAP_SGI40 | > + IEEE80211_HTCAP_CBW20_40 | IEEE80211_HTCAP_AMSDU7935 | > (IEEE80211_HTCAP_SMPS_DIS << IEEE80211_HTCAP_SMPS_SHIFT); > ic->ic_htxcaps = 0; > ic->ic_txbfcaps = 0; > ic->ic_aselcaps = 0; > ic->ic_ampdu_params = (IEEE80211_AMPDU_PARAM_SS_NONE | 0x3 /* 64k */); > + ic->ic_tx_mcs_set = IEEE80211_TX_MCS_SET_DEFINED;
sys/qwz: add 802.11n with 40Mhz width