Re: [PATCH v2 10/10] rtw88: disable powersave modes for USB devices

From: Ping-Ke Shih
Date: Sun Jun 12 2022 - 20:10:41 EST


On Fri, 2022-06-10 at 15:26 +0200, s.hauer@xxxxxxxxxxxxxx wrote:
> On Thu, Jun 09, 2022 at 12:51:49PM +0000, Ping-Ke Shih wrote:
> >
> > Today, I borrow a 8822cu, and use your patchset but revert
> > patch 10/10 to reproduce this issue. With firmware 7.3.0,
> > it looks bad. After checking something about firmware, I
> > found the firmware is old, so upgrade to 9.9.11, and then
> > it works well for 10 minutes, no abnormal messages.
>
> I originally used firmware 5.0.0. Then I have tried 9.9.6 I have lying
> around here from my distro. That version behaves like the old 5.0.0
> version. Finally I switched to 9.9.11 from current linux-firmware
> repository. That doesn't work at all for me unfortunately:
>
> [ 221.076279] rtw_8822cu 2-1:1.2: Firmware version 9.9.11, H2C version 15
> [ 221.078405] rtw_8822cu 2-1:1.2: Firmware version 9.9.4, H2C version 15
> [ 239.783261] wlan0: authenticate with 76:83:c2:ce:83:0b
> [ 242.398435] wlan0: send auth to 76:83:c2:ce:83:0b (try 1/3)
> [ 242.402992] wlan0: authenticated
> [ 242.420735] wlan0: associate with 76:83:c2:ce:83:0b (try 1/3)
> [ 242.437094] wlan0: RX AssocResp from 76:83:c2:ce:83:0b (capab=0x1411 status=0 aid=4)
> [ 242.485521] wlan0: associated
> [ 242.564847] wlan0: Connection to AP 76:83:c2:ce:83:0b lost
> [ 244.577617] wlan0: authenticate with 76:83:c2:cd:83:0b
> [ 244.578257] wlan0: bad VHT capabilities, disabling VHT
>
> This goes on forever. I finally tried 9.9.10 and 9.9.9, they also behave
> like 9.9.11.
>

Please help do more experiements on your 8822cu with the
latest firmware 9.9.11.

1. which module RFE type you are using?
My 8822cu is RFE type 4.
Get this information from

cat /sys/kernel/debug/ieee80211/phyXXX/rtw88/coex_info

The 4th line:
Mech/ RFE = Non-Shared/ 4

4. Disable power save to see if it still disconnect from AP

iw wlan0 set power_save off

If this can work well, still power save mode works abnormal.

3. Disable keep-alive. (with power_save on)

--- a/main.c
+++ b/main.c
@@ -2199,6 +2199,7 @@ int rtw_register_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw)
ieee80211_hw_set(hw, HAS_RATE_CONTROL);
ieee80211_hw_set(hw, TX_AMSDU);
ieee80211_hw_set(hw, SINGLE_SCAN_ON_ALL_BANDS);
+ ieee80211_hw_set(hw, CONNECTION_MONITOR);

This can make it still connected even it doesn't receive anything.
Check if it can leave power save without abnormal messages.

4. USB interference

Very low possibility, but simply try USB 2.0 and 3.0 ports.

5. Try another AP working on different band (2.4GHz or 5Ghz)


I wise these can narrow down the problem you met.

Ping-Ke