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

Bitterblue Smith
2025-10-20T13:52:32Z

On 15/10/2025 00:33, Fedor Pchelkin wrote:
> 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.
>

Yes, I see that with RTL8851BU, RTL8832BU, RTL8832AU. I didn't
investigate.

> 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/
>

Maybe I should send a patch for that. I thought it was an easy problem
and the firmware will be fixed before 6.17. Then I forgot about it.

>>
>>>>
>>>> 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.
>>