rtw88 icon indicating copy to clipboard operation
rtw88 copied to clipboard

firmware failed to leave lps state

Open pooh2pooh opened this issue 3 years ago • 24 comments

Hi! The following errors constantly appear in the log. The WiFi connection is stable at the same time.

июн 30 19:39:31 not-a-virus kernel: rtw_8822ce 0000:01:00.0: failed to send h2c command
июн 30 19:39:31 not-a-virus kernel: rtw_8822ce 0000:01:00.0: failed to send h2c command
июн 30 19:39:31 not-a-virus kernel: rtw_8822ce 0000:01:00.0: failed to send h2c command
июн 30 19:39:31 not-a-virus kernel: rtw_8822ce 0000:01:00.0: failed to send h2c command
июн 30 19:39:31 not-a-virus kernel: rtw_8822ce 0000:01:00.0: failed to send h2c command
июн 30 19:39:31 not-a-virus kernel: rtw_8822ce 0000:01:00.0: failed to send h2c command
июн 30 19:39:31 not-a-virus kernel: rtw_8822ce 0000:01:00.0: firmware failed to leave lps state

lspci -v

01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter
	Subsystem: Electronics & Telecommunications RSH Device 1e25
	Physical Slot: 0
	Flags: bus master, fast devsel, latency 0, IRQ 75, IOMMU group 7
	I/O ports at 2000 [size=256]
	Memory at c0700000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [40] Power Management version 3
	Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [70] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [148] Device Serial Number 00-e0-4c-ff-fe-c8-22-01
	Capabilities: [158] Latency Tolerance Reporting
	Capabilities: [160] L1 PM Substates
	Kernel driver in use: rtw_8822ce
	Kernel modules: rtw88_8822ce, rtw_8822ce

image

pooh2pooh avatar Jun 30 '21 16:06 pooh2pooh

I can confirm this bug on my lenovo laptop, 5.16.0 kernel

04:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter
        Subsystem: Lenovo Device c123
        Flags: bus master, fast devsel, latency 0, IRQ 79, IOMMU group 12
        I/O ports at 2000 [size=256]
        Memory at c3600000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [148] Device Serial Number 00-e0-4c-ff-fe-c8-22-01
        Capabilities: [158] Latency Tolerance Reporting
        Capabilities: [160] L1 PM Substates
        Kernel driver in use: rtw_8822ce
        Kernel modules: rtw88_8822ce

i tried to add options rtw88_pci disable_aspm=1 to my /etc/modprobe.d/local.conf but still have my system journal and dmesg flooded with errors

[    3.516129] rtw_8822ce 0000:04:00.0: enabling device (0000 -> 0003)
[    3.523097] rtw_8822ce 0000:04:00.0: Firmware version 9.9.4, H2C version 15
[    3.530951] rtw_8822ce 0000:04:00.0: Firmware version 9.9.10, H2C version 15
[    3.999011] rtw_8822ce 0000:04:00.0 wlp4s0: renamed from wlan0
[    5.324088] rtw_8822ce 0000:04:00.0: start vif dc:e9:94:7e:5f:85 on port 0
[    5.325431] rtw_8822ce 0000:04:00.0: stop vif dc:e9:94:7e:5f:85 on port 0
[    5.561473] rtw_8822ce 0000:04:00.0: start vif ee:c7:7c:0e:6b:3c on port 0
[    9.847260] rtw_8822ce 0000:04:00.0: stop vif ee:c7:7c:0e:6b:3c on port 0
[   10.085443] rtw_8822ce 0000:04:00.0: start vif dc:e9:94:7e:5f:85 on port 0
[   14.738024] rtw_8822ce 0000:04:00.0: sta 10:fe:ed:51:2a:94 joined with macid 0
[   49.030634] rtw_8822ce 0000:04:00.0: firmware failed to leave lps state
[   49.033828] rtw_8822ce 0000:04:00.0: failed to send h2c command
[   49.036994] rtw_8822ce 0000:04:00.0: failed to send h2c command

any solution?

Fak3 avatar Jan 14 '22 12:01 Fak3

Update: the message flood only happens when laptop charger is not connected.

  1. I connected the charger. The "firmware failed to leave lps state" message stopped to appear, but "failed to send h2c command" message still continuously flooded my dmesg
  2. I put laptop to sleep, then wake up. Message flood stopped.
  3. I disconnected the charger, and after few minutes message started to come in again.

Fak3 avatar Jan 15 '22 08:01 Fak3

FWIW I have reported issue here as well: https://bugzilla.kernel.org/show_bug.cgi?id=215496

Fak3 avatar Jan 15 '22 09:01 Fak3

Surprisingly, almost no one pays any attention to the kernel bugzilla, which is why the README.md tells you how to file bug information.

If it happens only when the charger is not connected, then I suspect that your laptop has an internal voltage problem. The voltage supplied to the power regulators will be somewhat higher when plugged into power than when operating on the battery. Can you contact your laptop supplier? Perhaps there is a recall, or a BIOS update to handle this issue.

lwfinger avatar Jan 15 '22 16:01 lwfinger

This is more like incorrect management of the device's power saving.

I managed to fix it. But I don't remember exactly how. If I remember, I'll tell you about it.

I contacted the kernel developers, they pointed in the right direction.

pooh2pooh avatar Jan 15 '22 21:01 pooh2pooh

@pooh2pooh do you use bluetooth devices by any chance?

Fak3 avatar Jan 18 '22 09:01 Fak3

@pooh2pooh do you use bluetooth devices by any chance?

yes. bluetooth mouse and headphones

pooh2pooh avatar Jan 20 '22 10:01 pooh2pooh

This is more like incorrect management of the device's power saving.

I managed to fix it. But I don't remember exactly how. If I remember, I'll tell you about it.

I contacted the kernel developers, they pointed in the right direction.

I'm interested in the fix because this same problem is occurring on my KDE NEON HP laptop

rilwansmith avatar Jan 27 '22 18:01 rilwansmith

My best guess would be to set "disable_lps_deep=y" option for rtw88_core.

lwfinger avatar Jan 27 '22 19:01 lwfinger

I solved this problem by permanently disabling the power_save feature also known as power management for the wireless interface of my KDE NEON HP Laptop. Use a text editor to open the file /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf Replace the content of the file with the below text.

[connection]
wifi.powersave = 2

Then reboot your computer. Problem solved.

rilwansmith avatar Jan 28 '22 02:01 rilwansmith

@rilwansmith do you use Bluetooth mouse by any chance? Trying to figure out if it is relevant.

Fak3 avatar Jan 28 '22 05:01 Fak3

No

@rilwansmith do you use Bluetooth mouse by any chance? Trying to figure out if it is relevant.

No.

rilwansmith avatar Jan 28 '22 05:01 rilwansmith

My best guess would be to set "disable_lps_deep=y" option for rtw88_core.

Im getting this issue on my Asus VivaBook 17, where would i put this option? dmesg log im not exactly sure its the same issue but it seems to be, wifi will work for a few mins then just break until i restart, which then it will work for a few then break

Beyley avatar Feb 28 '22 16:02 Beyley

Like all module options, you need to create (as root) a file /etc/modules.d/50-rtw88.conf. In this file, add a single line that says "options rtw88_core disable_lps_deep=y" and reboot.

lwfinger avatar Feb 28 '22 17:02 lwfinger

Like all module options, you need to create (as root) a file /etc/modules.d/50-rtw88.conf. In this file, add a single line that says "options rtw88_core disable_lps_deep=y" and reboot.

I tried that and sadly i get the exact same issue, no change on dmesg either

Beyley avatar Mar 01 '22 01:03 Beyley

Actually, the above line is for the in-kernel driver. To use this one, the line should be 'options rtw_core disable_lps_deep=y'

You can check that you got it correctly by the following:

sudo modprobe -rv rtw_8821ce sudo modprobe -v rtw_8821ce

You should see the option on the rtw_core line for the second command.

lwfinger avatar Mar 01 '22 01:03 lwfinger

Actually, the above line is for the in-kernel driver. To use this one, the line should be 'options rtw_core disable_lps_deep=y'

You can check that you got it correctly by the following:

sudo modprobe -rv rtw_8821ce sudo modprobe -v rtw_8821ce

You should see the option on the rtw_core line for the second command.

I see the option on the second command, yet still the same issue and no change to dmesg output

Beyley avatar Mar 01 '22 02:03 Beyley

Which driiver are you using - in-kernel or from repo?

lwfinger avatar Mar 01 '22 02:03 lwfinger

Which driiver are you using - in-kernel or from repo?

Ive tried both (exact same issue), currently the one in the repo should be the one in use

Beyley avatar Mar 01 '22 03:03 Beyley

There are two rtw_pci options to try, namely "disable_msi=y" and "disable_aspm=y". add a second line to your options file that says

options rtw_pci disable_msi=y disable_aspm=y

lwfinger avatar Mar 01 '22 15:03 lwfinger

same problem, heres the dmesg log grepped to rtw

Beyley avatar Mar 01 '22 19:03 Beyley

what is lps anyway? is that "low power"? I see this message when im out in the yard with my laptop, but not when I'm indoors near the wifi router. might it be signal power related?

FOSSBOSS avatar May 08 '23 20:05 FOSSBOSS

I think lps means low power state. Your observations indicate that it is related to the signal strength.

What device do you have? Repo rtw88 now drives 12 different ones - each with their pecularities.

lwfinger avatar May 09 '23 17:05 lwfinger

bump, have a RTL8822BE adapter with this issue - after a few minutes a rtw_8822be 0000:06:00.0: firmware failed to leave lps state appears in the journal every minute and a half. tried setting kernel options and disabling powersave on networkmanager, neither worked... on 2,4GHz. on 5GHz i had 0 journal spam for multiple hours. Interesting... EDIT 02-02-24 Not anymore! appears this was just coincidence. unsure if this is just luck or a potential hint. ps: issue might be related to #82

FavoritoHJS avatar Dec 25 '23 18:12 FavoritoHJS