wt., 28 maj 2024 o 14:25 Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> napisał(a): > > On 28/05/2024 13:42, Marcin Ślusarz wrote: > > pon., 27 maj 2024 o 20:43 Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> napisał(a): > >> > >> On 27/05/2024 20:34, Marcin Ślusarz wrote: > >>> From: Marcin Ślusarz <mslusarz@xxxxxxxxx> > >>> > >>> If I don't connect to any Wifi network, after around 10 minutes, the device > >>> hangs with endless spamming of: > >>> rtw_8821cu 1-1:1.2: rtw_usb_reg_sec: reg 0x4e0, usb write 1 fail, status: -71 > >>> killing both Wifi and Bluetooth part of the device. > >>> > >>> On arm, just leaving the wifi device unconnected kills it in up to 20 minutes. > >>> If I keep restarting wpa_supplicant I can trigger it within a minute. > >>> Looping "ifconfig wlan0 down; ifconfig wlan0 up" also triggers it within a minute. > >>> > >>> On x86_64 system the only way I could trigger this was via ifconfig loop, > >>> but it took 3 hours and 20 minutes to do it. > >>> > >>> The only thing that can "fix" the device is replugging it. > >>> > >>> I found out that the reason for those hangs is a power-off+on sequence that's > >>> triggered by the above steps. > >>> > >>> Disabling power-off for that chip "fixes" the issue. The patches below > >>> implement that, but I'm not seriously proposing them for merging. > >>> > >>> Marcin Ślusarz (2): > >>> wifi: rtw88: use RTW_FLAG_RUNNING for deciding whether to enter/leave > >>> IPS > >>> wifi: rtw88: disable power offs for 8821C > >>> > >>> drivers/net/wireless/realtek/rtw88/main.c | 14 ++++++++------ > >>> drivers/net/wireless/realtek/rtw88/ps.c | 4 ++-- > >>> 2 files changed, 10 insertions(+), 8 deletions(-) > >>> > >> > >> The first patch alone doesn't fix it? > > > > The first patch exists only to make the second patch work. > > Without the first one, rtw_enter_ips will perform all actions except actually > > doing the power off, which clears the POWERON flag. > > After that, rtw_leave_ips will happily return early success without actually > > undoing the stuff that rtw_enter_ips did (like canceling all work_structs). > > I see. > > I wonder if it's really the chip that has a problem, or rtw88? > Can you try your ifconfig loop with the other driver? > https://github.com/morrownr/8821cu-20210916/ Actually, the issue was found on this driver. I started looking at the issue more closely (and discovered the exact reproduction steps) after I switched to rtw88 and discovered it has exactly the same problem. So yeah, it's either a chip issue or the same bug in both drivers.