Re: [PATCH rtw-next v2 0/7] wifi: rtw89: improvements for USB part

Fedor Pchelkin
2025-10-14T21:33:23Z

On Sun, 12. Oct 01:49, Bitterblue Smith wrote:
> On 11/10/2025 17:57, Fedor Pchelkin wrote:
> > On Sat, 04. Oct 20:37, Bitterblue Smith wrote:
> >> I tested these patches with RTL8851BU, RTL8832AU, RTL8832BU, RTL8832CU, and
> >> RTL8912AU. They all work, with a few additions.
> >>
> >> Before these patches RTL8851BU and RTL8832AU would remain "connected" when
> >> I power off the router. That's because they don't have beacon filtering in
> >> the firmware and the null frames sent by mac80211 were always marked with
> >> IEEE80211_TX_STAT_ACK. With these patches they disconnect immediately when
> >> I power off the router. So that works nicely.
> >>
> >
> > Glad to hear, thanks for the insight.
> >
> >> What doesn't work is TX reports for management frames. Currently rtw89
> >> doesn't configure the firmware to provide TX reports for the management
> >> queue. That can be enabled with SET_CMC_TBL_MGQ_RPT_EN for the wifi 6 chips
> >> and with CCTLINFO_G7_W0_MGQ_RPT_EN for RTL8922AU.
> >
> > I'll investigate. Looks like the enabling of the management part should go
> > to rtw89_fw_h2c_default_cmac_tbl().
> >
>
> Yes, and rtw89_fw_h2c_default_cmac_tbl_g7().
>
> > Btw, could you give a quick hint please on how I can check during testing
> > that the reporting facility works properly for all cases needed? By far
> > I've dealt with iw utility and debugging printks incorporated into rtw89
> > but it doesn't look sufficient anymore..
> >
>
> I enabled RTW89_DBG_TXRX, which let me see that no TX reports appeared
> during authentication and association. I also added a printk where the
> IEEE80211_TX_CTL_REQ_TX_STATUS flag is checked. Then I just use the
> driver normally, with wpa_supplicant and NetworkManager.

Thanks, Bitterblue!

By the way, do you see lots of "parse phy sts failed\n" messages printed
when RTW89_DBG_TXRX is enabled? (it's with RTL8851BU in my case)

I wonder whether this is kind of a normal failure case or an indicator of
a firmware bug.

Just to point out, I've activated your workarounds from [1], otherwise
the device is unusable due to firmware unresponding during scan and
crashing eventually.

[1]: https://lore.kernel.org/linux-wireless/0abbda91-c5c2-4007-84c8-215679e652e1@gmail.com/

>
> >>
> >> The other thing that doesn't work is the TX reports are different for
> >> RTL8852CU and RTL8922AU. It's only a small difference for RTL8852CU:
> >>
> >> #define RTW89_C2H_MAC_TX_RPT_W5_DATA_TX_CNT_V1 GENMASK(15, 10)
> >>
> >> RTL8922AU is more strange. It needs something like this:
> >>
> >> #define RTW89_C2H_MAC_TX_RPT_W12_TX_STATE_V2 GENMASK(9, 8)
> >> #define RTW89_C2H_MAC_TX_RPT_W12_SW_DEFINE_V2 GENMASK(15, 12)
> >> #define RTW89_C2H_MAC_TX_RPT_W14_DATA_TX_CNT_V2 GENMASK(15, 10)
> >>
> >> The C2H is 80 bytes here (header included).
> >
> > rtw89_mac_c2h_tx_rpt() needs to account for different types of C2H report
> > formats, bah. Will add this missing part.
>