-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
An interesting network issue #181
Comments
Excellent! I have been waiting for someone with this problem to test the potential fix which is going into kernel 6.9. You can do it by blacklisting rtw88_8821ce, rtw88_8821c, rtw88_pci, and rtw88_core, and then installing the driver from this repository. |
Installed the driver and tested ~6 hours. As a result, there is no problem like described in the post. All the other configs are same like: options rtw_core disable_lps_deep=y But getting same dmesg errors. (Not sure but i think getting these errors a bit less when AC plugged after installed repo drivers) Some extra Qs: When will not we have to use extra module options and disable wifi powersaving? Thank you. |
This fix will be in kernel 6.9. Eventually the stable and longterm kernels will have it as well, maybe when 6.9-rc0 appears. Are you sure you still need those options? What are they fixing? |
@cemunal - If you need those fixes, it is because of the BIOS found in your device cannot properly handle your PCIe devices. On my 10-year old Samsung laptop, there is never a problem. It is the new Lenovo and HP laptops that show this "feature". |
@dubhater, I removed options rtw_core disable_lps_deep=y, options rtw_pci disable_aspm=y and wifi.powersave = 2 and there is no problems :) and I will wait for 6.9.x kernels. @lwfinger, my laptop MFD 2021 and BIOS release date 2019 (ASUS X540UAR) and lastly I am getting these logs: sudo dmesg | grep rtw: [ 8.629772] rtw_core: loading out-of-tree module taints kernel. Can these logs or errors ignored or they need any fixes? Thanks. |
New logs but there is no connection problems: failed to send h2c command PS: the system froze once :( |
I have had a similar issue with rtw88_8821cu for ages. A month ago I switched to this driver and VOILA, no more connection dropping 😄 The firmware download error messages are also gone, I saw there was a fix for that added to 6.9, didn't realize it came from here. Thank you for your hard work! |
You have the code generation sequence wrong. The new code goes into the wireless-next repo, which is 2 steps ahead of the stable releases. For example, stable is at 6.8, the mainline development is working on 6.9, and wireless-next has 6.10 code. What I do is backport the wireless-next code and make it compile on older kernels. That way the rtw88 repo is ahead of your distros kernels. |
Here again to understand all :) I have no "failed to send h2c command" & "firmware failed to leave lps state" logs and no system freeze with "options rtw_core disable_lps_deep=1" & "options rtw_pci disable_aspm=1" and "wifi.powersave = 2" (using repo drivers). I am only getting these logs: [ 8.632507] rtw_core: loading out-of-tree module taints kernel. Q1: Can these logs ignored? And @lwfinger, I am a bit confused about your last post. My main problem is "sometimes network is not responding" you know. Is this fix in 6.9.x or 6.10.x kernels? Thanks. |
If my understanding is correct, wireless-next is ahead of mainline, and contains all the patches that have been added to this repo. I don't know much about the 8821ce driver but maybe try the following setting for NetworkManager
Just a shot in the dark xD |
@cemunal - Those options are needed because of BIOS problems. All of the rtw88 drivers work on my system with no options needed. I would worry about those PCIe Bus errors. Yes, they are corrected, but I have not seen them on any other system. Any patches in 6.9 are already in this repo, as are those that will be in 6.10. |
@lwfinger, You mean my laptop has some BIOS problems but if this is main problem, shouldn't I face similar problems with Ubuntu 's DKMS driver or on Windows? And may be I have a different card you have (Subsystem: AzureWave for example) I write these because I want to contribute this repo and build-in kernel drivers. And I can do same tests if needed. Thanks. |
The reason I wrote that is because only Lenovo and HP laptops have problems such as you see. Windows uses a completely different driver than Linux - I have no idea what they do as I have never seen their source. Again, I have no idea what Ubuntu is doing. If you could figure out what triggers the problem on your system, that would be a big help. |
@lwfinger, firstly thank you so much for all your detailed answers. I wanted to analyze the code site of Ubuntu 's DKMS driver and "alt_rtl8821ce" driver (also no problems with this driver) to figure out what triggers the problem and to find diffs from the code of this repo but this is beyond me :) So I will only ignore the all PCIe Bus Errors and add rtw_core disable_lps_deep=y, rtw_pci disable_aspm=y, wifi.powersave = 2 and wait for 6.9.x kernels to fix "sometimes network is not responding" problem to use build-in kernel drivers, I think. If there is noting to say you can close the issue. |
Updated to 6.8.6-200.fc39.x86_64 to test build-in kernel drivers. Here are new logs. Thanks. |
Firstly, check to make sure that you do not have modules from the kernel and this repo both loaded. 'lsmod | grep rtw' will show what is loaded. |
Sometimes network is not responding but there is no disconnection notification from network manager. I am using build-in kernel drivers. Here is some info:
sudo lspci -v:
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter
Subsystem: AzureWave Device 3040
Flags: bus master, fast devsel, latency 0, IRQ 128
I/O ports at e000 [size=256]
Memory at ef000000 (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-21-01
Capabilities: [158] Latency Tolerance Reporting
Capabilities: [160] L1 PM Substates
Capabilities: [170] Precision Time Measurement
Capabilities: [17c] Vendor Specific Information: ID=0003 Rev=1 Len=054 <?>
Kernel driver in use: rtw_8821ce
Kernel modules: rtw88_8821ce
uname -r:
6.7.9-200.fc39.x86_64
/etc/modprobe.d/rtw88_core.conf >>> options rtw88_core disable_lps_deep=y
/etc/modprobe.d/rtw88_pci.conf >>> options rtw88_pci disable_aspm=y
/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf >>> wifi.powersave = 2
sudo dmesg | grep rtw:
[ 7.875217] rtw_8821ce 0000:02:00.0: enabling device (0000 -> 0003)
[ 7.890966] rtw_8821ce 0000:02:00.0: Firmware version 24.11.0, H2C version 12
[ 8.134191] rtw_8821ce 0000:02:00.0 wlp2s0: renamed from wlan0
[ 83.529370] rtw_8821ce 0000:02:00.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[ 83.529377] rtw_8821ce 0000:02:00.0: device [10ec:c821] error status/mask=00000001/0000e000
[ 83.529386] rtw_8821ce 0000:02:00.0: [ 0] RxErr (First)
[ 83.801262] rtw_8821ce 0000:02:00.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[ 83.801266] rtw_8821ce 0000:02:00.0: device [10ec:c821] error status/mask=00000001/0000e000
[ 83.801270] rtw_8821ce 0000:02:00.0: [ 0] RxErr (First)
[ 145.166953] rtw_8821ce 0000:02:00.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[ 145.166965] rtw_8821ce 0000:02:00.0: device [10ec:c821] error status/mask=00000001/0000e000
[ 145.166977] rtw_8821ce 0000:02:00.0: [ 0] RxErr (First)
[ 200.974247] rtw_8821ce 0000:02:00.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[ 200.974257] rtw_8821ce 0000:02:00.0: device [10ec:c821] error status/mask=00000001/0000e000
[ 200.974269] rtw_8821ce 0000:02:00.0: [ 0] RxErr (First)
When network not responding:
cem@fedora:
$ ping -c4 goo.gl$ ping -c4 goo.glping: goo.gl: Name or service not known
cem@fedora:
ping: goo.gl: Temporary failure in name resolution
cem@fedora:
$ ping -c4 goo.gl$ ping -c4 goo.glping: goo.gl: Temporary failure in name resolution
cem@fedora:
ping: goo.gl: Name or service not known
cem@fedora:
$ ping -c4 goo.gl$ping: goo.gl: Temporary failure in name resolution
cem@fedora:
The text was updated successfully, but these errors were encountered: