WiFi rtw_8821au dies periodically

I have

$ sudo inxi -nxxx
Network:
---8<---
  Device-3: TP-Link AC600 wireless Realtek RTL8811AU [Archer T2U Nano]
    driver: rtw_8821au type: USB rev: 2.1 speed: 480 Mb/s lanes: 1 bus-ID: 1-2:3
    chip-ID: 2357:011e class-ID: 0000 serial: 00e04c000001
  IF: wlp0s20u2 state: down mac: aa:4f:ec:c1:7c:b4
---8<---

I used sunwire/dkms-8821au before kernel 6.13
sunwire/dkms-8821au Copr
and WiFi works fine, without failures.

Now my driver id rtw_8821au from

$ uname -r
6.13.6-200.fc41.x86_64

and my wifi dies periodically
time to death varies from 30 minutes to 10 hours
after the wifi died
my wlp0s20u2 state = DOWN

$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 5c:f9:dd:45:27:08 brd ff:ff:ff:ff:ff:ff
3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether 60:36:dd:08:71:18 brd ff:ff:ff:ff:ff:ff
4: wlp0s20u2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000
    link/ether aa:4f:ec:c1:7c:b4 brd ff:ff:ff:ff:ff:ff permaddr 28:ee:52:13:c2:92

solution =
unplug the USB adapter and plug it back in

journalctl says:

$ journalctl -b -g rtw_8821au
Mar 18 15:53:14 DELLV kernel: rtw_8821au 1-2:1.0: Firmware version 42.4.0, H2C version 0
Mar 18 15:53:15 DELLV kernel: usbcore: registered new interface driver rtw_8821au
Mar 18 15:53:15 DELLV kernel: rtw_8821au 1-2:1.0 wlp0s20u2: renamed from wlan0
Mar 18 15:53:17 DELLV NetworkManager[1373]: <info>  [1742305997.7346] rfkill2: found Wi-Fi radio killswitch (at /sys/devices/pci000>
Mar 18 16:44:20 DELLV kernel: rtw_8821au 1-2:1.0: failed to get tx report from firmware
Mar 18 16:44:22 DELLV kernel: rtw_8821au 1-2:1.0: failed to get tx report from firmware
Mar 18 16:44:24 DELLV kernel: rtw_8821au 1-2:1.0: failed to get tx report from firmware
Mar 18 16:44:26 DELLV kernel: rtw_8821au 1-2:1.0: failed to get tx report from firmware
Mar 18 16:44:28 DELLV kernel: rtw_8821au 1-2:1.0: failed to get tx report from firmware
Mar 18 16:44:34 DELLV kernel: rtw_8821au 1-2:1.0: failed to get tx report from firmware
Mar 18 16:44:34 DELLV kernel: rtw_8821au 1-2:1.0: failed to get tx report from firmware
Mar 18 16:44:35 DELLV kernel: rtw_8821au 1-2:1.0: failed to get tx report from firmware

…

$ journalctl -b -g wpa_supplicant --no-pager
Mar 18 15:53:18 DELLV systemd[1]: Starting wpa_supplicant.service - WPA supplicant...
Mar 18 15:53:18 DELLV wpa_supplicant[1439]: Successfully initialized wpa_supplicant
Mar 18 15:53:18 DELLV audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=wpa_supplicant comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'                              
Mar 18 15:53:18 DELLV systemd[1]: Started wpa_supplicant.service - WPA supplicant.
Mar 18 15:53:19 DELLV wpa_supplicant[1439]: dbus: fill_dict_with_properties dbus_interface=fi.w1.wpa_supplicant1.Interface.P2PDevice dbus_property=P2PDeviceConfig getter failed
Mar 18 15:53:19 DELLV wpa_supplicant[1439]: dbus: fill_dict_with_properties dbus_interface=fi.w1.wpa_supplicant1.Interface.P2PDevice dbus_property=P2PDeviceConfig getter failed

Any thoughts?

Thanx.

It looks like the 6.13 kernel comes with a 8821au driver. You might try removing your dkms module and using that instead.

$ modinfo rtw88_8821au
filename:       /lib/modules/6.13.6-200.fc41.x86_64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821au.ko.xz
license:        Dual BSD/GPL
description:    Realtek 802.11ac wireless 8821au/8811au driver
author:         Bitterblue Smith <rtl8821cerfe2@gmail.com>
alias:          usb:v2357p011Ed*dc*dsc*dp*icFFiscFFipFFin*
depends:        rtw88_8821a,rtw88_usb
intree:         Y
name:           rtw88_8821au
retpoline:      Y
vermagic:       6.13.6-200.fc41.x86_64 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         Fedora kernel signing key
sig_key:        5C:4A:9B:02:2E:0E:BA:4C:B1:14:B2:F6:08:CE:30:EB:EB:B7:90:CB
sig_hashalgo:   sha256
signature:      8B:BB:28:99:9C:9D:B2:F5:04:BD:9D:11:A3:E1:41:DA:F2:63:59:BC:
		F4:6B:14:04:5E:75:49:DD:A0:F1:57:16:C6:75:BA:E1:CE:B7:76:1C:
		A8:5A:07:3A:F5:FE:71:DD:03:2C:50:A7:B5:50:3F:90:79:A5:DA:2A:
		29:F5:E2:3B:D8:76:53:E1:61:CE:99:41:64:45:48:0E:E5:2A:38:1E:
		16:E7:ED:6F:14:52:3B:C5:1C:DC:DD:16:C6:01:15:DD:17:2E:A1:E5:
		94:7E:16:51:A0:35:38:AD:AF:41:37:60:FC:B4:61:22:72:10:95:EE:
		C0:68:0B:66:B7:16:5B:2C:CA:61:E1:7C:4D:59:80:FA:9C:42:43:1D:
		11:AF:6C:97:30:D2:2A:D1:42:68:68:DA:10:CD:1D:69:63:26:92:55:
		D8:2A:3B:53:04:26:BE:F4:1E:AC:DA:9F:C0:F2:9C:84:7E:40:48:4A:
		6B:1E:32:53:D9:F1:F9:CC:33:D1:31:0A:75:58:C2:93:C2:99:EC:C4:
		5F:F8:62:CB:4E:75:08:3D:A8:AE:4E:A5:BF:CF:C4:4A:83:CF:14:52:
		04:30:16:E5:95:0A:59:DC:68:43:05:26:47:8F:B9:DD:81:67:BE:4E:
		5A:19:BE:4A:AD:CA:3B:AF:DF:41:4E:C1:29:84:1C:42:0D:B1:EA:66:
		E0:46:B4:3F:55:73:84:6A:D8:6E:67:6F:2A:C3:72:EB:31:E9:67:F5:
		34:C9:30:24:57:49:4E:3E:E8:C2:C0:CF:FF:E7:BE:CE:08:B6:89:16:
		1F:C4:F1:D9:CB:E4:C9:17:A0:7C:0B:C9:92:F0:91:7D:1C:F3:62:5D:
		16:BE:C0:E1:09:12:B4:00:B9:D5:3E:A3:A2:55:C6:10:39:95:C1:F3:
		12:CA:CE:6B:7C:FD:B5:D3:8D:D0:95:B5:75:18:2D:88:D3:FF:0F:70:
		D8:5A:90:5F:DE:E6:CD:6A:79:CE:C4:A3:BE:8F:67:ED:37:F2:E5:7E:
		B6:31:DD:DA:30:06:39:D6:E0:FA:65:9B:EC:77:F6:87:F8:E4:82:52:
		AC:F9:84:74:A6:4F:F8:03:5B:E3:88:11:71:CA:E5:E4:E3:5E:DB:25:
		79:0C:AD:15:B4:1A:D7:E0:0A:22:CC:E1:B6:DB:1E:3F:AF:CF:B0:64:
		A1:D7:57:46:6D:8C:3E:83:5E:A5:2F:59:05:DD:D3:C8:F5:97:C2:2D:
		0C:6C:B2:DB:AD:63:37:BF:F5:56:CD:8F:61:E3:6C:E8:4B:13:DA:35:
		6B:25:18:3F:EF:10:ED:27:B0:24:32:BE:E6:50:A8:C0:5C:73:F8:A2:
		BA:0B:DC:64:0D:81:30:3C:8A:9E:F2:A8
1 Like

I removed my dkms module as soon as the kernel was updated to version 6.13

$ history |grep "dnf remove dkms"
  271  sudo dnf remove dkms-8821au
  272  sudo dnf remove dkms
  277  sudo dnf remove dkms-8821au
$ sudo dnf list installed *dkms*
Updating and loading repositories:
Repositories loaded.
Available packages
dkms.noarch 3.1.6-1.fc41 updates
# grep enabled= /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:sunwire:dkms-8821au.repo 
enabled=0
$ lsmod | grep rtw
rtw88_8821au           12288  0
rtw88_8821a            45056  1 rtw88_8821au
rtw88_88xxa            49152  1 rtw88_8821a
rtw88_usb              36864  1 rtw88_8821au
rtw88_core            319488  3 rtw88_88xxa,rtw88_8821a,rtw88_usb
mac80211             1847296  3 iwldvm,rtw88_core,rtw88_usb
cfg80211             1478656  4 iwldvm,rtw88_core,iwlwifi,mac80211
$ modinfo rtw88_8821au
filename:       /lib/modules/6.13.7-200.fc41.x86_64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821au.ko.xz
license:        Dual BSD/GPL
description:    Realtek 802.11ac wireless 8821au/8811au driver
author:         Bitterblue Smith <rtl8821cerfe2@gmail.com>
alias:          usb:v2357p011Ed*dc*dsc*dp*icFFiscFFipFFin*
depends:        rtw88_8821a,rtw88_usb
intree:         Y
name:           rtw88_8821au
retpoline:      Y
vermagic:       6.13.7-200.fc41.x86_64 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         Fedora kernel signing key
sig_key:        1C:43:39:78:80:73:FB:21:D4:EF:AD:38:CF:89:7E:C2:F9:C6:23:E6
sig_hashalgo:   sha256
signature:      87:DF:D2:CB:17:40:80:B5:EE:7C:99:43:B8:43:07:05:B5:67:0E:13:
                93:52:62:F4:56:24:36:49:06:49:95:60:3B:D5:B7:B8:24:EF:8D:A6:
                97:B2:AA:DF:DC:CA:99:14:23:C9:52:F3:CB:7E:8B:52:EB:BE:D0:26:
                E0:D9:82:AF:DD:73:F9:9D:31:81:AB:1B:67:66:52:79:77:AC:D3:3E:
                97:43:E2:0E:AD:EC:C7:D2:DC:E7:E0:69:7A:C7:02:FA:C5:31:4B:A5:
                9C:75:4C:6C:86:C8:F2:39:F3:AB:6D:94:42:7D:8B:45:7E:03:6A:83:
                5E:5A:2C:C5:B7:61:6B:CD:CA:85:2F:3C:6A:F3:D6:5D:41:AF:98:21:
                A2:2C:EE:73:14:84:64:93:5F:5C:4D:40:4A:30:07:CF:3F:4A:2B:80:
                38:29:C4:1C:C7:5F:2E:42:B1:C6:C2:4F:90:58:63:D2:10:31:76:4C:
                A4:82:FE:E5:9B:12:B0:0A:60:1B:04:84:9D:16:07:23:2A:90:C6:35:
                C6:BA:1D:1E:6B:61:0A:E2:07:AC:40:F5:75:49:86:11:18:C3:A2:AC:
                E9:2A:66:C7:F4:6D:08:24:23:65:BA:62:97:20:02:0F:11:E9:DB:7E:
                D5:A4:EB:F3:3B:11:CE:88:69:68:3D:63:33:6C:9A:5C:0F:DA:46:66:
                B1:94:98:97:E9:79:85:FC:16:A2:D0:94:7B:13:1C:8F:36:EA:23:65:
                3C:6E:AB:2B:AE:38:E4:AD:4A:BC:52:39:72:C0:FF:A5:B3:09:5D:20:
                0A:92:37:73:E8:F5:43:94:7B:64:3E:3C:7B:FA:0F:61:E5:30:8E:45:
                30:19:71:81:0C:C3:D9:F6:2A:28:EC:B5:5D:6F:F2:6D:49:8D:F9:D1:
                25:E3:85:09:FA:66:3A:EE:19:CC:41:0C:23:C3:BA:AC:22:11:40:7B:
                E6:F3:2F:6C:06:BF:DF:FA:F4:A2:2C:1C:C6:CA:1C:D1:4F:64:EE:02:
                DB:9D:7B:10:35:CA:DA:16:50:56:56:9C:5F:CE:AB:AF:5E:81:7E:92:
                E5:FE:51:F8:AC:52:88:F8:89:C4:32:5B:4E:52:3D:B9:6C:1C:9A:35:
                6B:CB:21:3A:A8:8D:21:76:F2:50:9C:82:31:07:F7:0E:35:61:90:6A:
                5C:A6:DC:03:11:B3:3D:27:7C:51:80:79:F6:FE:FA:A5:03:1C:E5:38:
                00:78:D2:91:2A:47:B7:7B:AF:0B:DB:98:53:17:F7:7A:99:E9:E5:AF:
                8B:9E:1E:2A:C5:B4:9C:C5:3B:33:22:F4:53:32:18:C3:8A:84:FE:F7:
                36:50:0A:B2:02:38:A3:95:04:03:8A:EA

?

I think the problem is that dkms-8821au was installed at the time you upgraded to the 6.13.6-200.fc41.x86_64 kernel. Consequently, the rtw_8821au driver was built and used.

sudo dnf remove dkms-8821au may not have been enough to remove the driver.

Does dkms status show that the module is built for the 6.13 kernel? If so, can you remove it with dkms remove -m rtw_8821au -v 1.2 -k 6.13.7-200.fc41.x86_64?

Edit: Nevermind. Your lsmod output from your updated post shows that your are using the newer rtw88_8821au driver. That wasn’t the case in your initial inxi -nxxx output. I think you are using the new driver now. (And you are on a newer kernel. That’s probably why.)

I don’t remember :frowning:

$ dkms status

8821au/5.12.5.2-2.git20240330.fc39: broken
Error! 8821au/5.12.5.2-2.git20240330.fc39: Missing the module source directory or the symbolic link pointing to it.
Manual intervention is required!

8821au/5.12.5.2-2.git20240615.fc40: broken
Error! 8821au/5.12.5.2-2.git20240615.fc40: Missing the module source directory or the symbolic link pointing to it.
Manual intervention is required!

8821au/5.12.5.2-2.git20240615.fc41: broken
Error! 8821au/5.12.5.2-2.git20240615.fc41: Missing the module source directory or the symbolic link pointing to it.
Manual intervention is required!

inxi the same as initial

$ sudo inxi -nxxx

Network:
Device-3: TP-Link AC600 wireless Realtek RTL8811AU [Archer T2U Nano]
driver: rtw_8821au type: USB rev: 2.1 speed: 480 Mb/s lanes: 1 bus-ID: 1-2:3
chip-ID: 2357:011e class-ID: 0000 serial: 00e04c000001
IF: wlp0s20u2 state: up mac: 28:ee:52:13:c2:92

You might want to check the config files under /etc/modprobe.d and make sure the native rtw88_8821au isn’t being blacklisted. You might also try creating a config file there containing blacklist rtw_8821au to try to prevent the dkms driver from being used. Beyond that, sorry, I’m not sure what is happening.

Edit: I think the inxi -nxxx output must be bogus if lsmod doesn’t show that that driver is loaded.

I don’t understand either.

# grep -nir rtw /etc/modprobe.d/*

No output…

let’s leave it alone.

Thanx.

1 Like

There’s an inconsistency with this module naming:

> sudo rmmod rtw88_8821au
> sudo modprobe rtw88_8821au
> journalctl --no-hostname -k -S -1m -g usbcore
Mar 29 04:53:48 kernel: usbcore: deregistering interface driver rtw_8821au
Mar 29 04:53:54 kernel: usbcore: registered new interface driver rtw_8821au

> readlink -f /sys/bus/usb/drivers/rtw_8821au/module
/sys/module/rtw88_8821au

However, it should be unrelated to your original issue.


The Copr package is built upon this repo:
GitHub - morrownr/8821au-20210708: Linux Driver for USB WiFi Adapters that are based on the RTL8811AU and RTL8821AU Chipsets - v5.12.5.2

It claims to support kernel 6.13, so you can use it for now and blacklist the upstream module until the issue is resolved with kernel or firmware updates, possibly in F42:

sudo tee /etc/modprobe.d/rtw88.conf << EOF > /dev/null
blacklist rtw88_8821au
EOF

Keep in mind that the upstream repo explicitly states they don’t plan supporting it beyond kernel 6.13, and F42 starts with kernel 6.14.


On the other hand, you can try using the upstream module and play with its parameters:

# List module dependencies recursively
mod_dep() {
	local MOD="$(modinfo -F depends "${@}")"
	for MOD in ${MOD//,/$'\n'}; do
		mod_dep "${MOD}"
		printf "%s\n" "${MOD}"
	done
}

# List module parameters recursively
mod_parm() {
	local MOD="$(mod_dep "${@}" | sort -u)"
	for MOD in "${@}" ${MOD}; do
		printf "==> %s <==\n" "${MOD}"
		modinfo -p "${MOD}" \
		| while read -r PARM; do
			printf "%s (current: %s)\n" "${PARM}" "$(cat \
				"$(printf "%s" /sys/module/ "${MOD}" \
				/parameters/ "${PARM%%:*}")" 2> /dev/null)"
		done
	done
}

# An example listing and customizing module parameters
mod_parm rtw88_8821au
sudo tee /etc/modprobe.d/rtw88.conf << EOF > /dev/null
options rtw88_usb switch_usb_mode=0
EOF

Remember to reload the affected module or reboot to properly apply the changes.

1 Like

You know,
I said “blacklist rtw88_8821au” on March 23
and installed again dkms-8821au

$ sudo dnf list installed dkms-8821au
Updating and loading repositories:
Repositories loaded.
Installed packages
dkms-8821au.noarch 5.12.5.2-2.git20250304.fc41 copr:copr.fedorainfracloud.org:sunwire:dkms-8821au

And the WiFi has been working without any glitches for a week now.

I think, for now, the problem has been solved.

Thanxx.

1 Like

The Copr module can still work on F42 with kernel 6.13 from F41 or an LTS kernel, but the latter is not signed for Secure Boot.

# Installing LTS kernel
sudo dnf copr enable kwizart/kernel-longterm-6.12
sudo dnf install kernel-longterm kernel-longterm-devel
sudo dracut -f --regenerate-all
sudo reboot

BTW, the defaults for USB mode switching are different for old and new modules:

It may be worth testing the new module with this parameter explicitly disabled.
See also: USB 3.0 Radio Frequency Interference Impact on 2.4 GHz Wireless Devices

2 Likes