lwfinger / rtw88

A backport of the Realtek Wifi 5 drivers from the wireless-next repo.
602 stars 175 forks source link

[rtw88_8822ce] Spontaneous Wifi adapter breakage #82

Open scrungus opened 2 years ago

scrungus commented 2 years ago

Not sure if this is the right place to put this but my wifi seems to drop out almost randomly and I have to restart my computer to fix it. Normally this is fine but now I have a process that takes about 4 days to run and is about halfway through so I can't restart.

When I do ip link set wlp1s0 up: I get 'Operation already in progress'.

When I do rmmod rtw88_8822ce rtw88_8822c rtw88_pci rtw88_core and then modprobe rtw88_8822ce it doesn't give any output, but then checking dmesg:

[94349.904626] rtw_8822ce 0000:01:00.0: Firmware version 9.9.6, H2C version 15 

[94349.904642] rtw_8822ce 0000:01:00.0: can't change power state from D3cold to D0 (config space inaccessible)

[94349.904691] rtw_8822ce 0000:01:00.0: Firmware version 9.9.4, H2C version 15

[94349.906997] rtw_8822ce 0000:01:00.0: mac power on failed

[94349.907003] rtw_8822ce 0000:01:00.0: failed to power on mac

[94349.907004] rtw_8822ce 0000:01:00.0: failed to setup chip efuse info

[94349.907005] rtw_8822ce 0000:01:00.0: failed to setup chip information

[94349.907766] rtw_8822ce: probe of 0000:01:00.0 failed with error -114

And after doing this, my wireless interface has now disappeared. Let me know what other info I should provide. Running Ubuntu 21.04

lwfinger commented 2 years ago

My first comment would be that a code that runs for 4 days without dumping intermediate file that allows recovery is a bad design.

Your system likely needs some options set. Run the command echo "options rtw88_pci disable_msi=y disable_aspm=y" | sudo tee /etc/modprobe.d/50-rtw88_pci.conf

Then unload/reload the driver, or reboot.

scrungus commented 2 years ago

Well that may be so but I think a system that needs to be rebooted to work is also a bad design 😄

That command didn't seem to do anything, I still dont have a wireless interface. Any other ideas?

lwfinger commented 2 years ago

What messages are shown in the dmesg output when the connection drops?

After you reboot, if you do a 'sudo modprobe -rv rtw88_8822ce' then 'sudo modprobe -v rtw88_8822ce', do your options show on the rtw88_pci line.

scrungus commented 2 years ago

I'll have to post it next time it happens. It's not consistent and I don't know what the trigger is.

lwfinger commented 2 years ago

I just pushed an update to the code to bring it up to the kernel 5.18 level. I know some of the changes helped 8821ce - perhaps it will help 8822ce as well.

mcloaked commented 2 years ago

I have also had intermittent (seemingly random wifi disconnects for quite some time with 8822CE. In the journal I see lines like: May 03 19:38:01 ryzen1 kernel: rtw_8822ce 0000:01:00.0: timed out to flush pci tx ring[1] May 03 19:38:01 ryzen1 kernel: rtw_8822ce 0000:01:00.0: failed to get tx report from firmware May 03 19:38:01 ryzen1 kernel: rtw_8822ce 0000:01:00.0: timed out to flush queue 1 May 03 19:38:01 ryzen1 kernel: rtw_8822ce 0000:01:00.0: timed out to flush queue 2 May 03 19:38:01 ryzen1 kernel: rtw_8822ce 0000:01:00.0: timed out to flush pci tx ring[1] May 03 19:38:01 ryzen1 kernel: rtw_8822ce 0000:01:00.0: timed out to flush queue 1 May 03 19:38:01 ryzen1 kernel: rtw_8822ce 0000:01:00.0: timed out to flush queue 2 May 03 19:38:01 ryzen1 iwd[645]: Received Deauthentication event, reason: 4, from_ap: false

If I rmmod rmmod rtw88_8822ce and then modprobe the same module to reload it - then the wireless connection is re-esablished - my system is arch linux and the wireless set up is using systemd-networkd with iwd. Most of the time it is fine but randomly perhaps once or twice in a 5 hour period it disconnects with reason 4 as above.

The journal shows loading during boot as per:

May 03 18:26:35 ryzen1 kernel: rtw_8822ce 0000:01:00.0: enabling device (0000 -> 0003) May 03 18:26:35 ryzen1 kernel: input: HD-Audio Generic HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00> May 03 18:26:35 ryzen1 kernel: input: PC Speaker as /devices/platform/pcspkr/input/input21 May 03 18:26:35 ryzen1 kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.4, H2C version 15 May 03 18:26:35 ryzen1 kernel: rtw_8822ce 0000:01:00.0: Firmware version 9.9.11, H2C version 15

mcloaked commented 2 years ago

Also if it is any help the modinfo shows: sudo modinfo rtw88_8822c filename: /lib/modules/5.17.5-1-stable/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822c.ko.zst license: Dual BSD/GPL description: Realtek 802.11ac wireless 8822c driver author: Realtek Corporation firmware: rtw88/rtw8822c_wow_fw.bin firmware: rtw88/rtw8822c_fw.bin srcversion: 7735D22194316D872B79644 depends: rtw88_core retpoline: Y intree: Y name: rtw88_8822c vermagic: 5.17.5-1-stable SMP preempt mod_unload sig_id: PKCS#7 signer: Build time autogenerated kernel key sig_key: 3A:EF:F8:7A:29:35:6C:02:A1:DD:D5:68:0B:64:80:01:36:06:1E:16 sig_hashalgo: sha512 signature: 30:65:02:31:00:E6:4B:AE:B3:8C:4D:EB:F2:97:7E:7E:28:73:03:87: 47:E9:AF:60:5E:3D:D1:1B:CE:4F:62:78:0F:C2:7C:9B:26:FB:58:57: 18:D7:46:20:3E:61:AC:CB:E7:A0:ED:35:BD:02:30:35:24:09:60:81: 61:E4:F0:3F:0F:EB:E8:E2:CF:85:F1:FA:7B:34:A4:50:6D:19:53:36: A2:9D:9D:0C:BA:54:1E:BE:E6:7F:EF:22:60:3A:1F:FB:32:A9:53:F9: 7D:63:5B

mcloaked commented 2 years ago

and sudo modinfo rtw88_8822ce filename: /lib/modules/5.17.5-1-stable/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822ce.ko.zst license: Dual BSD/GPL description: Realtek 802.11ac wireless 8822ce driver author: Realtek Corporation srcversion: BF9D29A6BD5A0222292439C alias: pci:v000010ECd0000C82Fsvsdbcsci alias: pci:v000010ECd0000C822svsdbcsci depends: rtw88_pci,rtw88_8822c retpoline: Y intree: Y name: rtw88_8822ce vermagic: 5.17.5-1-stable SMP preempt mod_unload sig_id: PKCS#7 signer: Build time autogenerated kernel key sig_key: 3A:EF:F8:7A:29:35:6C:02:A1:DD:D5:68:0B:64:80:01:36:06:1E:16 sig_hashalgo: sha512 signature: 30:66:02:31:00:F6:EE:FE:5F:01:3F:77:C7:CA:0A:7B:F9:C4:EA:B6: 09:E5:EA:AF:ED:25:9F:6B:87:24:CB:69:C6:49:D3:28:9A:1F:CC:3F: 5D:AD:13:A9:99:D9:7C:3F:86:84:7E:DA:FB:02:31:00:BB:2B:5D:A8: E5:5C:A7:BE:25:EC:D8:AA:9B:2B:EE:88:65:C4:7C:52:13:38:C6:22: A5:78:EA:15:21:80:1A:8A:7A:D5:4E:D6:3F:D4:89:85:AD:5B:0C:FC: 04:60:BE:1C

Kampfmoehre commented 2 years ago

I have a similar problem, since I updated via dnf (running Fedora) on 2022-07-21 Wi-Fi doesn't work most of the time. Right after boot it doesn't work until I switch to guest Wi-Fi and back. Sometimes it works nearly the full work day but sometimes it doesn't and breaks every 3-5 minutes. Strangely it seems to work longer when I leave gnome Wi-Fi settings open.

I have a HP EliteBook 855 G8 with Realtek RTL8822BE. Since I have dual boot with Windows where everything is running fine I can exclude a hardware problem.

Wi-Fi works some times then it doesn't in Fedora. When it stops working I can see this line in dmesg and jourmalctl rtw_8822ce failed to get tx report from firmware Relevant lspci lines are

01:00.0 Wireless controller [0d40]: Intel Corporation XMM7360 LTE Advanced Modem (rev 01)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter

and modinfo is

$ sudo modinfo rtw88_8822ce 
filename:       /lib/modules/5.18.13-200.fc36.x86_64/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822ce.ko.xz
license:        Dual BSD/GPL
description:    Realtek 802.11ac wireless 8822ce driver
author:         Realtek Corporation
alias:          pci:v000010ECd0000C82Fsv*sd*bc*sc*i*
alias:          pci:v000010ECd0000C822sv*sd*bc*sc*i*
depends:        rtw88_pci,rtw88_8822c
retpoline:      Y
intree:         Y
name:           rtw88_8822ce
vermagic:       5.18.13-200.fc36.x86_64 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         Fedora kernel signing key
sig_key:        6F:B6:86:92:50:36:0C:18:F3:98:D7:8A:3C:78:5B:67:F7:93:C3:81
sig_hashalgo:   sha256
signature:      6D:07:88:E8:CC:EE:80:8E:7A:3D:37:89:30:C0:B8:97:2E:33:A8:38:
        07:50:C8:1C:8F:00:09:E2:53:85:AF:54:35:37:9E:92:72:C6:55:30:
        FC:87:16:49:ED:39:E5:49:69:1C:1F:11:11:F5:AC:76:AF:9A:D6:D1:
        0A:A7:92:54:3D:79:9E:23:BE:2A:04:D3:37:DC:69:8A:F6:D9:05:AE:
        D5:16:A9:71:0C:96:F6:5B:74:5E:C1:56:5B:37:06:68:01:60:81:C3:
        D9:91:94:61:93:AA:25:D8:0E:84:1D:9C:21:8D:3F:7B:D5:12:51:86:
        69:B4:84:EE:39:3F:7F:9B:42:B8:52:9B:D8:6B:D8:82:9C:E5:93:4E:
        9A:C6:15:5A:73:84:EC:4F:F8:A9:68:45:79:17:23:C9:0D:29:1E:B7:
        37:A9:05:B6:BA:69:5A:AB:AA:34:FC:0B:25:4E:E6:8C:DE:C4:87:81:
        71:A3:67:2E:AE:49:37:B5:08:C3:A5:25:D4:2A:1F:8B:5A:12:50:90:
        27:B0:09:BE:9C:67:BE:2E:61:78:A3:7F:FC:2F:F7:88:DA:99:36:63:
        1E:2A:FB:09:E2:09:A6:FE:E7:94:2A:6B:CB:46:29:19:AA:CA:63:7B:
        27:D9:68:D3:65:37:CB:4B:CE:D2:3E:7F:6E:19:D1:76:35:71:8C:3A:
        8B:B8:64:6D:A1:73:DC:03:3C:1D:BA:28:F9:4F:F6:B7:B8:E2:D8:FC:
        4B:B0:17:6B:BC:F5:DE:2D:E9:57:2E:DF:07:63:E1:26:28:97:31:AE:
        8C:AD:FE:59:DE:C8:63:C6:41:AD:BC:B4:B4:AA:79:DE:29:B8:D1:9C:
        13:DD:5E:3D:CF:E0:0E:A5:D7:3D:11:0F:B5:C2:F4:DC:55:61:D3:4E:
        DF:14:EC:B7:A9:4C:86:93:04:E3:80:55:9E:56:6C:16:B1:29:6B:51:
        0D:F9:DA:7F:21:30:A7:65:BA:FC:00:24:18:6C:E6:1D:1F:1C:CF:AB:
        59:94:C0:19:DA:E6:0B:6C:DA:61:F6:35:B2:B3:50:D1:1F:B1:5B:9D:
        3C:22:3B:B8:C1:92:0D:8C:DF:0E:28:FE:57:94:C6:81:8F:88:5C:AB:
        AE:26:16:F8:AB:6F:83:5B:74:D5:16:3C:18:8A:BB:56:E1:81:B1:4E:
        9B:0A:B9:42:18:7C:30:55:51:BD:B7:ED:D8:6C:75:0B:EC:11:E7:50:
        B1:35:B0:14:59:C6:C6:8F:7B:B5:25:31:C3:CB:41:E6:FC:D7:C2:8A:
        55:7C:DE:75:F3:DF:E4:65:F7:5A:B9:CE:A4:07:D0:8C:AF:F1:2D:8C:
        AB:6D:08:74:41:05:0F:99:46:83:83:42

And these were the packages that were updated before Wi-Fi stopped working:

$ sudo dnf history info 184
Transaction ID : 184
Begin time     : Do 21 Jul 2022 07:33:53 CEST
Begin rpmdb    : 06bbc43864924b5ec38a3e6db2926d41d5d35591275f3743e07ed6d6a1f535f6
End time       : Do 21 Jul 2022 07:33:58 CEST (5 seconds)
End rpmdb      : 0e0b73cfbdae587c4a8ebc24808a759af913206647bb946f800173c400b7e137
User           : root <root>
Return-Code    : Success
Releasever     : 
Command Line   : 
Comment        : 
Packages Altered:
    Upgrade  curl-7.82.0-7.fc36.x86_64                            @updates
    Upgrade  emacs-filesystem-1:28.1-2.fc36.noarch                @updates
    Upgrade  fedora-release-common-36-18.noarch                   @updates
    Upgrade  fedora-release-identity-workstation-36-18.noarch     @updates
    Upgrade  fedora-release-workstation-36-18.noarch              @updates
    Upgrade  iwl100-firmware-39.31.5.1-136.fc36.noarch            @updates
    Upgrade  iwl1000-firmware-1:39.31.5.1-136.fc36.noarch         @updates
    Upgrade  iwl105-firmware-18.168.6.1-136.fc36.noarch           @updates
    Upgrade  iwl135-firmware-18.168.6.1-136.fc36.noarch           @updates
    Upgrade  iwl2000-firmware-18.168.6.1-136.fc36.noarch          @updates
    Upgrade  iwl2030-firmware-18.168.6.1-136.fc36.noarch          @updates
    Upgrade  iwl3160-firmware-1:25.30.13.0-136.fc36.noarch        @updates
    Upgrade  iwl3945-firmware-15.32.2.9-136.fc36.noarch           @updates
    Upgrade  iwl4965-firmware-228.61.2.24-136.fc36.noarch         @updates
    Upgrade  iwl5000-firmware-8.83.5.1_1-136.fc36.noarch          @updates
    Upgrade  iwl5150-firmware-8.24.2.2-136.fc36.noarch            @updates
    Upgrade  iwl6000-firmware-9.221.4.1-136.fc36.noarch           @updates
    Upgrade  iwl6000g2a-firmware-18.168.6.1-136.fc36.noarch       @updates
    Upgrade  iwl6000g2b-firmware-18.168.6.1-136.fc36.noarch       @updates
    Upgrade  iwl6050-firmware-41.28.5.1-136.fc36.noarch           @updates
    Upgrade  iwl7260-firmware-1:25.30.13.0-136.fc36.noarch        @updates
    Upgrade  iwlax2xx-firmware-20220708-136.fc36.noarch           @updates
    Upgrade  libappstream-glib-0.8.0-1.fc36.x86_64                @updates
    Upgrade  libcurl-7.82.0-7.fc36.x86_64                         @updates
    Upgrade  libertas-usb8388-firmware-2:20220708-136.fc36.noarch @updates
    Upgrade  linux-firmware-20220708-136.fc36.noarch              @updates
    Upgrade  linux-firmware-whence-20220708-136.fc36.noarch       @updates
    Upgrade  zenity-3.42.1-2.fc36.x86_64                          @updates
    Upgraded curl-7.82.0-6.fc36.x86_64                            @@System
    Upgraded emacs-filesystem-1:27.2-11.fc36.noarch               @@System
    Upgraded fedora-release-common-36-17.noarch                   @@System
    Upgraded fedora-release-identity-workstation-36-17.noarch     @@System
    Upgraded fedora-release-workstation-36-17.noarch              @@System
    Upgraded iwl100-firmware-39.31.5.1-135.fc36.noarch            @@System
    Upgraded iwl1000-firmware-1:39.31.5.1-135.fc36.noarch         @@System
    Upgraded iwl105-firmware-18.168.6.1-135.fc36.noarch           @@System
    Upgraded iwl135-firmware-18.168.6.1-135.fc36.noarch           @@System
    Upgraded iwl2000-firmware-18.168.6.1-135.fc36.noarch          @@System
    Upgraded iwl2030-firmware-18.168.6.1-135.fc36.noarch          @@System
    Upgraded iwl3160-firmware-1:25.30.13.0-135.fc36.noarch        @@System
    Upgraded iwl3945-firmware-15.32.2.9-135.fc36.noarch           @@System
    Upgraded iwl4965-firmware-228.61.2.24-135.fc36.noarch         @@System
    Upgraded iwl5000-firmware-8.83.5.1_1-135.fc36.noarch          @@System
    Upgraded iwl5150-firmware-8.24.2.2-135.fc36.noarch            @@System
    Upgraded iwl6000-firmware-9.221.4.1-135.fc36.noarch           @@System
    Upgraded iwl6000g2a-firmware-18.168.6.1-135.fc36.noarch       @@System
    Upgraded iwl6000g2b-firmware-18.168.6.1-135.fc36.noarch       @@System
    Upgraded iwl6050-firmware-41.28.5.1-135.fc36.noarch           @@System
    Upgraded iwl7260-firmware-1:25.30.13.0-135.fc36.noarch        @@System
    Upgraded iwlax2xx-firmware-20220610-135.fc36.noarch           @@System
    Upgraded libappstream-glib-0.7.18-4.fc36.x86_64               @@System
    Upgraded libcurl-7.82.0-6.fc36.x86_64                         @@System
    Upgraded libertas-usb8388-firmware-2:20220610-135.fc36.noarch @@System
    Upgraded linux-firmware-20220610-135.fc36.noarch              @@System
    Upgraded linux-firmware-whence-20220610-135.fc36.noarch       @@System
    Upgraded zenity-3.42.1-1.fc36.x86_64                          @@System

Note: I had a kernel update to kernel-5.18.13-200.fc36.x86_64 two days later but that had no effect on Wi-Fi.

I can provide you with more information if you need it, I need my working Wi-Fi back :-)

pickfire commented 2 years ago

For me, it's this on rtw88_8822ce. I don't used to have this issue, but lately probably due to kernel upgrade I get this since last few months (last year does not have this issue). Once or twice a day, randomly it can't use network and have to restart/reconnect the wifi, usually it happens after wake from suspend. Running arch 5.18.13-zen1-1-zen.

7月 29 08:15:48 mi kernel: rtw_8822ce 0000:01:00.0: failed to write TX skb to HCI
7月 29 08:15:48 mi kernel: rtw_8822ce 0000:01:00.0: failed to pusk skb, ret -28
7月 29 08:15:48 mi kernel: rtw_8822ce 0000:01:00.0: failed to write TX skb to HCI
7月 29 08:15:48 mi kernel: rtw_8822ce 0000:01:00.0: failed to pusk skb, ret -28
7月 29 08:15:48 mi kernel: rtw_8822ce 0000:01:00.0: failed to write TX skb to HCI
7月 29 08:15:48 mi kernel: rtw_8822ce 0000:01:00.0: failed to pusk skb, ret -28

But I did not use this repository module, I use the one that comes with kernel by default.

jvech commented 11 months ago

Here is another guy with the same problem, It happens specially when I stop using software requiring internet access for some time (about 10 mins). I've tried to remove and reload rtw88_8822c and rtw88_8822ce using insmod and rmmod, but the wifi does not get alife.

Here is some information of the kernel, the drivers and the peripherals:

$ uname -rv
6.1.57-1-lts #1 SMP PREEMPT_DYNAMIC Wed, 11 Oct 2023 05:10:50 +0000
$ lsmod | grep rtw
rtw88_8822ce           16384  0
rtw88_8822c           487424  1 rtw88_8822ce
rtw88_pci              36864  1 rtw88_8822ce
rtw88_core            278528  2 rtw88_pci,rtw88_8822c
mac80211             1310720  2 rtw88_pci,rtw88_core
cfg80211             1138688  2 rtw88_core,mac80211
$ lspci | grep -i net
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
04:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter

Also when the wifi breaks the dmesg outputs some interesting messages:

[Fri Sep 29 10:05:41 2023] rtw_8822ce 0000:04:00.0: failed to send h2c command
[Fri Sep 29 10:05:41 2023] rtw_8822ce 0000:04:00.0: firmware failed to leave lps state
[Fri Sep 29 10:05:41 2023] rtw_8822ce 0000:04:00.0: failed to send h2c command
[Fri Sep 29 10:05:41 2023] rtw_8822ce 0000:04:00.0: failed to send h2c command
[Fri Sep 29 10:05:41 2023] rtw_8822ce 0000:04:00.0: failed to send h2c command
[Fri Sep 29 10:05:41 2023] ------------[ cut here ]------------
[Fri Sep 29 10:05:41 2023] WARNING: CPU: 4 PID: 24236 at drivers/net/wireless/realtek/rtw88/rtw8822c.c:4382 rtw8822c_phy_cck_pd_set+0x2d4/0x310 [rtw88_8822c]
[Fri Sep 29 10:05:41 2023] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device ccm ip6t_REJECT nf_reject_ipv6 xt_hl ip6_tables ip6t_rt ipt_REJECT nf_reject_ipv4 xt_LOG nf_log_syslog xt_comment nft_limit xt_limit xt_addrtype xt_tcpudp xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nft_compat nf_tables libcrc32c nfnetlink nvidia_drm(POE) nvidia_modeset(POE) nvidia_uvm(POE) nvidia(POE) intel_rapl_msr intel_rapl_common edac_mce_amd kvm snd_hda_codec_realtek irqbypass snd_hda_codec_generic crct10dif_pclmul crc32_pclmul snd_hda_codec_hdmi rtw88_8822ce polyval_clmulni rtw88_8822c polyval_generic rtw88_pci gf128mul rtw88_core snd_hda_intel ghash_clmulni_intel snd_intel_dspcfg sha512_ssse3 snd_intel_sdw_acpi uvcvideo btusb mac80211 btrtl snd_hda_codec btbcm videobuf2_vmalloc aesni_intel snd_hda_core videobuf2_memops btintel vfat asus_nb_wmi videobuf2_v4l2 btmtk fat snd_hwdep libarc4 crypto_simd asus_wmi snd_pcm videobuf2_common bluetooth snd_timer ledtrig_audio sp5100_tco r8169
[Fri Sep 29 10:05:41 2023]  cfg80211 videodev cryptd realtek snd mdio_devres platform_profile rapl sparse_keymap wmi_bmof pcspkr i2c_piix4 ecdh_generic mc libphy rfkill soundcore ccp k10temp i2c_hid_acpi asus_wireless i2c_hid acpi_cpufreq mousedev joydev mac_hid dm_multipath dm_mod fuse loop bpf_preload ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 usbhid amdgpu serio_raw drm_ttm_helper atkbd ttm libps2 vivaldi_fmap gpu_sched nvme drm_buddy crc32c_intel drm_display_helper nvme_core xhci_pci xhci_pci_renesas cec nvme_common video i8042 serio wmi
[Fri Sep 29 10:05:41 2023] CPU: 4 PID: 24236 Comm: kworker/u32:0 Tainted: P           OE      6.1.55-1-lts #1 2953eb1dc2513ffffee996027d73b3d9ba61d99f
[Fri Sep 29 10:05:41 2023] Hardware name: ASUSTeK COMPUTER INC. TUF Gaming FX505DT_FX505DT/FX505DT, BIOS FX505DT.316 01/28/2021
[Fri Sep 29 10:05:41 2023] Workqueue: phy0 rtw_watch_dog_work [rtw88_core]
[Fri Sep 29 10:05:41 2023] RIP: 0010:rtw8822c_phy_cck_pd_set+0x2d4/0x310 [rtw88_8822c]
[Fri Sep 29 10:05:41 2023] Code: 88 8c 18 1c 3e 00 00 48 8b 44 24 48 65 48 2b 04 25 28 00 00 00 75 44 48 83 c4 50 5b 5d 41 5c 41 5d 41 5e 41 5f e9 2c 61 d6 dc <0f> 0b eb c9 44 89 fe 48 c7 c7 18 63 90 c1 e8 b9 19 e0 db 0f 0b e9
[Fri Sep 29 10:05:41 2023] RSP: 0018:ffffb9161364fd78 EFLAGS: 00010202
[Fri Sep 29 10:05:41 2023] RAX: 00000000ffffffff RBX: 0000000000000003 RCX: 0000000000000004
[Fri Sep 29 10:05:41 2023] RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff998884ef2080
[Fri Sep 29 10:05:41 2023] RBP: ffff998884ef208f R08: 0000000000000002 R09: 0000000000000003
[Fri Sep 29 10:05:41 2023] R10: 0000000000000035 R11: 000000000000006a R12: 0000000000000002
[Fri Sep 29 10:05:41 2023] R13: ffff998884ef2080 R14: 0000000000000003 R15: 000000000000000c
[Fri Sep 29 10:05:41 2023] FS:  0000000000000000(0000) GS:ffff998b8f300000(0000) knlGS:0000000000000000
[Fri Sep 29 10:05:41 2023] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[Fri Sep 29 10:05:41 2023] CR2: 0000560ec1dba090 CR3: 0000000106282000 CR4: 00000000003506e0
[Fri Sep 29 10:05:41 2023] Call Trace:
[Fri Sep 29 10:05:41 2023]  <TASK>
[Fri Sep 29 10:05:41 2023]  ? rtw8822c_phy_cck_pd_set+0x2d4/0x310 [rtw88_8822c aa5d4cac29d9f9eddfd9f5c6ba1584275dd521d3]
[Fri Sep 29 10:05:41 2023]  ? __warn+0x7d/0xd0
[Fri Sep 29 10:05:41 2023]  ? rtw8822c_phy_cck_pd_set+0x2d4/0x310 [rtw88_8822c aa5d4cac29d9f9eddfd9f5c6ba1584275dd521d3]
[Fri Sep 29 10:05:41 2023]  ? report_bug+0xe6/0x150
[Fri Sep 29 10:05:41 2023]  ? handle_bug+0x3c/0x80
[Fri Sep 29 10:05:41 2023]  ? exc_invalid_op+0x17/0x70
[Fri Sep 29 10:05:41 2023]  ? asm_exc_invalid_op+0x1a/0x20
[Fri Sep 29 10:05:41 2023]  ? rtw8822c_phy_cck_pd_set+0x2d4/0x310 [rtw88_8822c aa5d4cac29d9f9eddfd9f5c6ba1584275dd521d3]
[Fri Sep 29 10:05:41 2023]  rtw_phy_dynamic_mechanism+0x33c/0x6f0 [rtw88_core 224fcde0ca21d319fd6c32223fb555ae42103f8c]
[Fri Sep 29 10:05:41 2023]  rtw_watch_dog_work+0x1dc/0x250 [rtw88_core 224fcde0ca21d319fd6c32223fb555ae42103f8c]
[Fri Sep 29 10:05:41 2023]  process_one_work+0x1c7/0x3a0
[Fri Sep 29 10:05:41 2023]  worker_thread+0x51/0x390
[Fri Sep 29 10:05:41 2023]  ? process_one_work+0x3a0/0x3a0
[Fri Sep 29 10:05:41 2023]  kthread+0xde/0x110
[Fri Sep 29 10:05:41 2023]  ? kthread_complete_and_exit+0x20/0x20
[Fri Sep 29 10:05:41 2023]  ret_from_fork+0x22/0x30
[Fri Sep 29 10:05:41 2023]  </TASK>
[Fri Sep 29 10:05:41 2023] ---[ end trace 0000000000000000 ]---

@lwfinger if you need more logs or information, I will try to respond as soon as possible 🥲 .

lwfinger commented 11 months ago

First of all, read README.md. Find the section "4. Option Configuration" and follow those instructions. In your case, the options line should read:

options rtw88_core disable_lps_deep=y

jvech commented 11 months ago

Actually these logs appeared with the following parameters set on /etc/modprobe.d/50-rtw88.cfg, based on the recommendations given here. just to clarify, before setting those parameters I also had the same problem

options rtw88_core disable_lps_deep=y
options rtw88_pci disable_msi=y disable_aspm=y

Right now I'm trying the following:

  1. Disable the following modules on /etc/modprobe.d/blacklist.conf
blacklist rtw88_8822ce
blacklist rtw88_core
  1. Install the drivers from the repo following the steps of installation for all distros

  2. Set different parameter combinations for rtw_core and rtw_pci driver modules on /etc/modprobe.d/rtw.cfg, here the settings I will try.

    3.1

    rtw_core disable_lps_deep=y

    3.2

    rtw_core disable_lps_deep=y
    options rtw_pci disable_msi=y disable_aspm=y

    3.3 I know is the default but, why not just to be sure?

    rtw_core disable_lps_deep=n
    options rtw_pci disable_msi=n disable_aspm=n

I will be testing how it works this week. If there is a mistake or wrong assumption I'm open to comments (please guide me haha I've been trying to fix the issue for a long time :'v).

Right now my drivers are:

$ lsmod | grep rtw
rtw_8822ce             16384  0
rtw_8822c             487424  1 rtw_8822ce
rtw_pci                36864  1 rtw_8822ce
rtw_core              286720  2 rtw_8822c,rtw_pci
mac80211             1310720  2 rtw_core,rtw_pci
cfg80211             1138688  2 rtw_core,mac80211

Said that I have a question, if the answer is to obvious please send me the link or the reference to look at . But what is the difference between the previous drivers (which I assume came by default in the kernel) named as rtw88_xxxx and the ones I have right now named as rtw_xxxx?

Are they different projects?

jvech commented 10 months ago

Hi there, me again. sorry for the time of the reply, but from what I've been testing, installing and loading the module rtw_8822ce manually was enough with this set up.

rtw_core disable_lps_deep=y

I have had some kernel updates so right now my kernel is:

$ uname -rv
6.1.60-1-lts #1 SMP PREEMPT_DYNAMIC Wed, 25 Oct 2023 11:10:15 +0000

again when I loaded the module with its parameters by default:

$ grep '.*' /sys/module/rtw_*/parameters/*
/sys/module/rtw_core/parameters/debug_mask:0
/sys/module/rtw_core/parameters/disable_lps_deep:N
/sys/module/rtw_core/parameters/support_bf:Y
/sys/module/rtw_pci/parameters/disable_aspm:N
/sys/module/rtw_pci/parameters/disable_msi:N

I experienced the wifi breakage. here some logs that can help:

[ 4010.288051] ------------[ cut here ]------------
[ 4010.288059] firmware failed to ack driver for leaving Deep Power mode
[ 4010.288102] WARNING: CPU: 1 PID: 117457 at /home/jvech/Templates/rtw88/ps.c:105 rtw_power_mode_change+0xf4/0x130 [rtw_core]
[ 4010.288145] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device ccm ip6t_REJECT nf_reject_ipv6 xt_hl ip6_tables ip6t_rt ipt_REJECT nf_reject_ipv4 xt_LOG nf_log_syslog xt_comment nft_limit xt_limit xt_addrtype xt_tcpudp xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nft_compat nf_tables libcrc32c nfnetlink nvidia_drm(POE) nvidia_modeset(POE) nvidia_uvm(POE) intel_rapl_msr intel_rapl_common snd_hda_codec_realtek edac_mce_amd snd_hda_codec_generic rtw_8822ce(OE) snd_hda_codec_hdmi rtw_8822c(OE) uvcvideo kvm_amd videobuf2_vmalloc snd_hda_intel videobuf2_memops kvm rtw_pci(OE) snd_intel_dspcfg rtw_core(OE) snd_intel_sdw_acpi irqbypass btusb videobuf2_v4l2 snd_hda_codec crct10dif_pclmul nvidia(POE) btrtl crc32_pclmul videobuf2_common r8169 snd_hda_core btbcm polyval_clmulni polyval_generic gf128mul btintel snd_hwdep btmtk ghash_clmulni_intel realtek videodev hid_multitouch mac80211 asus_nb_wmi snd_pcm bluetooth asus_wmi snd_timer libarc4 sha512_ssse3 sp5100_tco
[ 4010.288247]  ledtrig_audio vfat mdio_devres fat aesni_intel crypto_simd cfg80211 cryptd snd ecdh_generic platform_profile rapl pcspkr sparse_keymap i2c_piix4 k10temp mc wmi_bmof rfkill ccp libphy soundcore asus_wireless i2c_hid_acpi i2c_hid mousedev joydev acpi_cpufreq mac_hid dm_multipath fuse dm_mod loop bpf_preload ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 usbhid amdgpu serio_raw drm_ttm_helper atkbd ttm libps2 vivaldi_fmap gpu_sched nvme drm_buddy crc32c_intel drm_display_helper nvme_core xhci_pci cec xhci_pci_renesas nvme_common i8042 video wmi serio
[ 4010.288332] CPU: 1 PID: 117457 Comm: kworker/u32:1 Tainted: P        W  OE      6.1.58-1-lts #1 80fc409a839eb045209ecf7b8a5aecc34abd74a6
[ 4010.288339] Hardware name: ASUSTeK COMPUTER INC. TUF Gaming FX505DT_FX505DT/FX505DT, BIOS FX505DT.316 01/28/2021
[ 4010.288343] Workqueue: phy0 rtw_watch_dog_work [rtw_core]
[ 4010.288372] RIP: 0010:rtw_power_mode_change+0xf4/0x130 [rtw_core]
[ 4010.288405] Code: 42 3f 44 e7 44 30 e0 78 23 45 84 ed 48 c7 c0 35 bb 7c c1 48 c7 c6 3e bb 7c c1 48 c7 c7 e0 9c 7c c1 48 0f 45 f0 e8 fc fb 4d e6 <0f> 0b 5b 5d 41 5c 41 5d e9 4f 42 44 e7 48 8b 8b 98 4b 00 00 8b 83
[ 4010.288408] RSP: 0018:ffffab29d415fdf0 EFLAGS: 00010286
[ 4010.288413] RAX: 0000000000000000 RBX: ffff9b35937420a0 RCX: 0000000000000027
[ 4010.288416] RDX: ffff9b388f261668 RSI: 0000000000000001 RDI: ffff9b388f261660
[ 4010.288419] RBP: 000003a5cc77b354 R08: 0000000000000000 R09: ffffab29d415fc68
[ 4010.288421] R10: 0000000000000003 R11: ffffffffa9acc7c8 R12: 00000000c14280ff
[ 4010.288424] R13: 0000000000000000 R14: 0000000000000000 R15: ffff9b3593746a20
[ 4010.288427] FS:  0000000000000000(0000) GS:ffff9b388f240000(0000) knlGS:0000000000000000
[ 4010.288430] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 4010.288433] CR2: 00007f27e4ab4000 CR3: 0000000126820000 CR4: 00000000003506e0
[ 4010.288436] Call Trace:
[ 4010.288441]  <TASK>
[ 4010.288444]  ? rtw_power_mode_change+0xf4/0x130 [rtw_core 502729da0c707fcb3f49510eda73a1f2d7eb829c]
[ 4010.288476]  ? __warn+0x7d/0xd0
[ 4010.288486]  ? rtw_power_mode_change+0xf4/0x130 [rtw_core 502729da0c707fcb3f49510eda73a1f2d7eb829c]
[ 4010.288520]  ? report_bug+0xe6/0x150
[ 4010.288529]  ? handle_bug+0x3c/0x80
[ 4010.288537]  ? exc_invalid_op+0x17/0x70
[ 4010.288542]  ? asm_exc_invalid_op+0x1a/0x20
[ 4010.288552]  ? rtw_power_mode_change+0xf4/0x130 [rtw_core 502729da0c707fcb3f49510eda73a1f2d7eb829c]
[ 4010.288585]  rtw_pci_deep_ps+0xa7/0xd0 [rtw_pci 0ac64751eb73cfdbb7057e85792a145c9c9b68f1]
[ 4010.288599]  rtw_leave_lps+0x1d/0x1a0 [rtw_core 502729da0c707fcb3f49510eda73a1f2d7eb829c]
[ 4010.288630]  rtw_watch_dog_work+0x1d4/0x260 [rtw_core 502729da0c707fcb3f49510eda73a1f2d7eb829c]
[ 4010.288659]  process_one_work+0x1c7/0x3a0
[ 4010.288670]  worker_thread+0x51/0x390
[ 4010.288676]  ? process_one_work+0x3a0/0x3a0
[ 4010.288681]  kthread+0xde/0x110
[ 4010.288687]  ? kthread_complete_and_exit+0x20/0x20
[ 4010.288693]  ret_from_fork+0x22/0x30
[ 4010.288705]  </TASK>
[ 4010.288706] ---[ end trace 0000000000000000 ]---
[ 4010.291767] rtw_8822ce 0000:04:00.0: failed to send h2c command
[ 4010.392806] rtw_8822ce 0000:04:00.0: firmware failed to leave lps state
[ 4010.395858] rtw_8822ce 0000:04:00.0: failed to send h2c command
[ 4010.398904] rtw_8822ce 0000:04:00.0: failed to send h2c command
[ 4010.401951] rtw_8822ce 0000:04:00.0: failed to send h2c command
[ 4010.405014] rtw_8822ce 0000:04:00.0: failed to send h2c command
[ 4010.408117] rtw_8822ce 0000:04:00.0: failed to send h2c command
[ 4010.411174] rtw_8822ce 0000:04:00.0: failed to send h2c command
[ 4010.414219] rtw_8822ce 0000:04:00.0: failed to send h2c command
[ 4010.429306] ------------[ cut here ]------------

@lwfinger thanks for your help.

lwfinger commented 10 months ago

Your BIOS is messed up. These two parameters /sys/module/rtw_pci/parameters/disable_aspm:N /sys/module/rtw_pci/parameters/disable_msi:N need to be "y".