* [PATCH] wifi: rtw88: add quirk to disable deep LPS for ASUS VivoBook X515JA
@ 2026-05-03 16:49 Gabriel Maia
2026-05-06 8:48 ` Ping-Ke Shih
0 siblings, 1 reply; 3+ messages in thread
From: Gabriel Maia @ 2026-05-03 16:49 UTC (permalink / raw)
To: linux-wireless; +Cc: pkshih, kvalo, Gabriel Maia
On ASUS VivoBook X515JA laptops equipped with a Realtek RTL8821CE
802.11ac PCIe adapter (PCI ID: 10ec:c821, subsystem: 1a3b:3040),
the driver periodically emits the following messages:
rtw88_8821ce 0000:01:00.0: firmware failed to leave lps state
rtw88_8821ce 0000:01:00.0: failed to send h2c command
The firmware fails to leave the Low Power State (LPS) in time,
causing subsequent h2c commands to be dropped. Disable deep LPS
to avoid this issue.
Signed-off-by: Gabriel Maia <gabriel_v_maia@estudante.sesisenai.org.br>
---
drivers/net/wireless/realtek/rtw88/pci.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
index bba370ad510c..b0eae0971ef4 100644
--- a/drivers/net/wireless/realtek/rtw88/pci.c
+++ b/drivers/net/wireless/realtek/rtw88/pci.c
@@ -1770,6 +1770,15 @@ static const struct dmi_system_id rtw_pci_quirks[] = {
.driver_data = (void *)(BIT(QUIRK_DIS_CAP_PCI_ASPM) |
BIT(QUIRK_DIS_CAP_LPS_DEEP)),
},
+ {
+ .callback = rtw_pci_disable_caps,
+ .ident = "ASUS VivoBook X515JA",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "VivoBook_ASUSLaptop X515JA_X515JA"),
+ },
+ .driver_data = (void *)BIT(QUIRK_DIS_CAP_LPS_DEEP),
+ },
{}
};
--
2.53.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* RE: [PATCH] wifi: rtw88: add quirk to disable deep LPS for ASUS VivoBook X515JA
2026-05-03 16:49 [PATCH] wifi: rtw88: add quirk to disable deep LPS for ASUS VivoBook X515JA Gabriel Maia
@ 2026-05-06 8:48 ` Ping-Ke Shih
[not found] ` <CAC1kGwEid2rT3KFV_Aqxd-Tz7uS+Yci2PNbaPWJ=R0x4zaVYug@mail.gmail.com>
0 siblings, 1 reply; 3+ messages in thread
From: Ping-Ke Shih @ 2026-05-06 8:48 UTC (permalink / raw)
To: Gabriel Maia, linux-wireless@vger.kernel.org
Cc: kvalo@kernel.org, Gabriel Maia
Gabriel Maia <gabrielvinicius.damaia@gmail.com> wrote:
> On ASUS VivoBook X515JA laptops equipped with a Realtek RTL8821CE
> 802.11ac PCIe adapter (PCI ID: 10ec:c821, subsystem: 1a3b:3040),
> the driver periodically emits the following messages:
>
> rtw88_8821ce 0000:01:00.0: firmware failed to leave lps state
> rtw88_8821ce 0000:01:00.0: failed to send h2c command
>
> The firmware fails to leave the Low Power State (LPS) in time,
> causing subsequent h2c commands to be dropped. Disable deep LPS
> to avoid this issue.
Just want to know that messages become absolutely silent with this patch?
>
> Signed-off-by: Gabriel Maia <gabriel_v_maia@estudante.sesisenai.org.br>
WARNING: From:/Signed-off-by: email address mismatch:
'From: Gabriel Maia <gabrielvinicius.damaia@gmail.com>' !=
'Signed-off-by: Gabriel Maia <gabriel_v_maia@estudante.sesisenai.org.br>'
> ---
> drivers/net/wireless/realtek/rtw88/pci.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
> index bba370ad510c..b0eae0971ef4 100644
> --- a/drivers/net/wireless/realtek/rtw88/pci.c
> +++ b/drivers/net/wireless/realtek/rtw88/pci.c
> @@ -1770,6 +1770,15 @@ static const struct dmi_system_id rtw_pci_quirks[] = {
> .driver_data = (void *)(BIT(QUIRK_DIS_CAP_PCI_ASPM) |
> BIT(QUIRK_DIS_CAP_LPS_DEEP)),
> },
> + {
> + .callback = rtw_pci_disable_caps,
> + .ident = "ASUS VivoBook X515JA",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> + DMI_MATCH(DMI_PRODUCT_NAME, "VivoBook_ASUSLaptop X515JA_X515JA"),
> + },
> + .driver_data = (void *)BIT(QUIRK_DIS_CAP_LPS_DEEP),
> + },
> {}
> };
>
> --
> 2.53.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH] wifi: rtw88: add quirk to disable deep LPS for ASUS VivoBook X515JA
[not found] ` <CAC1kGwHi0AyV+kxjbRQE4TKvAc-3xq+uHUufCjfAnkfF8j=Y4g@mail.gmail.com>
@ 2026-05-11 1:16 ` Ping-Ke Shih
0 siblings, 0 replies; 3+ messages in thread
From: Ping-Ke Shih @ 2026-05-11 1:16 UTC (permalink / raw)
To: Gabriel Vinícius da Maia, linux-wireless@vger.kernel.org
Gabriel Vinícius da Maia <mailto:gabriel_v_maia@estudante.sesisenai.org.br> wrote:
> I was unable to test the patch in runtime. Building the module against
> my running kernel (6.19) failed due to version mismatch with the tree
> (7.1-rc2), specifically the kmalloc_obj() symbol introduced in the
> newer version.
Did you mean the patch on 6.19 works fine to you?
>
> I then compiled the full kernel from the tree, but the resulting
> build lacked several modules required by Fedora 43 to boot properly,
> causing the system to hang during initialization.
>
> However, the patch follows the same logic as commit b2bf9d61e14a,
> which disables deep LPS for an HP laptop with the same RTL8821CE
> chip and identical error messages. The dmesg output from my system
> shows the same pattern:
>
> rtw88_8821ce 0000:01:00.0: firmware failed to leave lps state
> rtw88_8821ce 0000:01:00.0: failed to send h2c command
Maybe you can try to turn off entirely power save by
iw wlan0 set power save off
But I wonder if these messages can affect your daily use?
>
> I also investigated whether enabling FW_FEATURE_LPS_C2H would be a
> more general fix, but inspection of rtw8821c_fw.bin (version 24.11.0)
> shows the bit is not set and FW_FEATURE_SIG is also absent, causing
> the driver to discard the feature report entirely.
If FW_FEATURE_LPS_C2H is not set, it goes into
__rtw_fw_leave_lps_check_reg(). Maybe you can try to enlarge the timeout
time or retry count.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-11 1:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-03 16:49 [PATCH] wifi: rtw88: add quirk to disable deep LPS for ASUS VivoBook X515JA Gabriel Maia
2026-05-06 8:48 ` Ping-Ke Shih
[not found] ` <CAC1kGwEid2rT3KFV_Aqxd-Tz7uS+Yci2PNbaPWJ=R0x4zaVYug@mail.gmail.com>
[not found] ` <CAC1kGwHi0AyV+kxjbRQE4TKvAc-3xq+uHUufCjfAnkfF8j=Y4g@mail.gmail.com>
2026-05-11 1:16 ` Ping-Ke Shih
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox