Wifi stops working after reboot unless I boot Windows first
When I boot into Ubuntu (21.04), my laptop wifi usually stops working after a few minutes. It disconnects from the router, and can no longer detect any nearby routers. There is a workaround: my laptop is set up to dual-boot Windows, and if I boot to Windows and then immediately reboot back to Ubuntu, the wifi always works fine.
My problem seems similar to this one, but the fix that worked for that case (disabling "fast boot" on Windows) does not work in mine.
[Edit]: After further experimentation, it seems that the problem is triggered only when my laptop has been switched off for several hours and then started again. If my wifi is working and then I restart Ubuntu or even power off and immediately power on again, then the wifi seems to continue to work fine. But if I turn the computer off overnight and then power on in the morning, the wifi problem returns. When this happens, the only way to make it work again is by booting Windows and then restarting and booting Ubuntu.
My wifi chip is a Realtek RTL8821CE 802.11ac PCIe. I've pasted the output of a few wifi diagnostic commands below, in case that might help:
This is the output while the wifi is working:
sudo lshw -C network
*-network
description: Wireless interface
product: RTL8821CE 802.11ac PCIe Wireless Network Adapter
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlp2s0
version: 00
serial: 28:39:26:70:6a:d9
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=rtw_8821ce driverversion=5.11.0-17-generic firmware=N/A ip=192.168.1.7 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:144 ioport:3000(size=256) memory:a4200000-a420ffff
rfkill list
0: ideapad_wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
1: ideapad_bluetooth: Bluetooth
Soft blocked: yes
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
3: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
lspci -nn | grep -i network
02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter [10ec:c821]
uname -r # kernel version
5.11.0-18-generic
iwconfig
wlp2s0 IEEE 802.11 ESSID:"SRISUWAN"
Mode:Managed Frequency:2.457 GHz Access Point: FC:3F:7C:29:E6:F8
Bit Rate=65 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=70/70 Signal level=-28 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:12 Missed beacon:0
And this is the output while it's not working:
sudo lshw -C network
*-generic
description: Wireless interface
product: RTL8821CE 802.11ac PCIe Wireless Network Adapter
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlp2s0
version: ff
serial: 28:39:26:70:6a:d9
width: 32 bits
clock: 66MHz
capabilities: bus_master vga_palette cap_list ethernet physical wireless
configuration: broadcast=yes driver=rtw_8821ce driverversion=5.11.0-17-generic firmware=N/A latency=255 link=no maxlatency=255 mingnt=255 multicast=yes wireless=IEEE 802.11
resources: irq:144 ioport:3000(size=256) memory:a4200000-a420ffff
rfkill list
0: ideapad_wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
1: ideapad_bluetooth: Bluetooth
Soft blocked: yes
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
3: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
lspci -nn | grep -i network
02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter [10ec:c821] (rev ff)
iwconfig
wlp2s0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
In response to sancho.s's suggestion, this is the output of inxi -Fxz
while the wifi is working:
System:
Kernel: 5.11.0-18-generic x86_64 bits: 64 compiler: gcc v: 10.2.1
Desktop: GNOME 3.38.4 Distro: Ubuntu 21.04 (Hirsute Hippo)
Machine:
Type: Laptop System: LENOVO product: 81MU v: Lenovo IdeaPad S145-14IWL
serial: <filter>
Mobo: LENOVO model: LNVNB161216 v: SDK0Q55756 WIN serial: <filter>
UEFI: LENOVO v: ASCN50WW date: 11/24/2020
Battery:
ID-1: BAT0 charge: 23.0 Wh condition: 23.0/30.0 Wh (77%)
model: LGC L17L2PF1 status: Full
CPU:
Info: Quad Core model: Intel Core i5-8265U bits: 64 type: MT MCP
arch: Kaby Lake note: check rev: C L2 cache: 6 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
bogomips: 28800
Speed: 800 MHz min/max: 400/1600 MHz Core speeds (MHz): 1: 800 2: 865
3: 800 4: 800 5: 799 6: 792 7: 800 8: 794
Graphics:
Device-1: Intel WhiskeyLake-U GT2 [UHD Graphics 620] vendor: Lenovo
driver: i915 v: kernel bus ID: 00:02.0
Device-2: NVIDIA GM108M [GeForce MX110] vendor: Lenovo driver: nvidia
v: 460.80 bus ID: 01:00.0
Device-3: Acer Integrated Camera type: USB driver: uvcvideo
bus ID: 1-7:3
Display: x11 server: X.Org 1.20.11 driver: loaded: modesetting,nvidia
unloaded: fbdev,nouveau,vesa resolution: 1920x1080~60Hz
OpenGL: renderer: GeForce MX110/PCIe/SSE2 v: 4.6.0 NVIDIA 460.80
direct render: Yes
Audio:
Device-1: Intel Cannon Point-LP High Definition Audio vendor: Lenovo
driver: snd_hda_intel v: kernel bus ID: 00:1f.3
Sound Server: ALSA v: k5.11.0-18-generic
Network:
Device-1: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter
vendor: Lenovo driver: rtw_8821ce v: N/A port: 3000 bus ID: 02:00.0
IF: wlp2s0 state: up mac: <filter>
Bluetooth:
Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8
bus ID: 1-10:4
Report: ID: hci0 state: down address: <filter>
Drives:
Local Storage: total: 476.94 GiB used: 41.07 GiB (8.6%)
ID-1: /dev/nvme0n1 vendor: Intel model: SSDPEKNW512G8L size: 476.94 GiB
temp: 31.9 C
Partition:
ID-1: / size: 23.35 GiB used: 15.24 GiB (65.3%) fs: ext4
dev: /dev/nvme0n1p4
ID-2: /boot/efi size: 256 MiB used: 33.6 MiB (13.1%) fs: vfat
dev: /dev/nvme0n1p1
ID-3: /home size: 207.11 GiB used: 25.8 GiB (12.5%) fs: ext4
dev: /dev/nvme0n1p6
Swap:
ID-1: swap-1 type: partition size: 8.06 GiB used: 0 KiB (0.0%)
dev: /dev/nvme0n1p7
Sensors:
System Temperatures: cpu: 58.0 C mobo: N/A gpu: nvidia temp: 52 C
Fan Speeds (RPM): N/A
Info:
Processes: 321 Uptime: 4h 34m Memory: 7.65 GiB used: 3.77 GiB (49.3%)
Init: systemd runlevel: 5 Compilers: gcc: 10.3.0 Packages: 2685
Shell: Bash v: 5.1.4 inxi: 3.3.01
And the output of inxi -Fxz
while the wifi is not working:
System:
Kernel: 5.11.0-18-generic x86_64 bits: 64 compiler: gcc v: 10.2.1
Desktop: GNOME 3.38.4 Distro: Ubuntu 21.04 (Hirsute Hippo)
Machine:
Type: Laptop System: LENOVO product: 81MU v: Lenovo IdeaPad S145-14IWL
serial: <filter>
Mobo: LENOVO model: LNVNB161216 v: SDK0Q55756 WIN serial: <filter>
UEFI: LENOVO v: ASCN50WW date: 11/24/2020
Battery:
ID-1: BAT0 charge: 23.0 Wh condition: 23.0/30.0 Wh (77%)
model: LGC L17L2PF1 status: Full
CPU:
Info: Quad Core model: Intel Core i5-8265U bits: 64 type: MT MCP
arch: Kaby Lake note: check rev: C L2 cache: 6 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
bogomips: 28800
Speed: 800 MHz min/max: 400/3900 MHz Core speeds (MHz): 1: 800 2: 800
3: 800 4: 795 5: 800 6: 767 7: 800 8: 718
Graphics:
Device-1: Intel WhiskeyLake-U GT2 [UHD Graphics 620] vendor: Lenovo
driver: i915 v: kernel bus ID: 00:02.0
Device-2: NVIDIA GM108M [GeForce MX110] vendor: Lenovo driver: nvidia
v: 460.80 bus ID: 01:00.0
Device-3: Acer Integrated Camera type: USB driver: uvcvideo bus ID: 1-7:3
Display: x11 server: X.Org 1.20.11 driver: loaded: modesetting,nvidia
unloaded: fbdev,nouveau,vesa resolution: 1920x1080~60Hz
OpenGL: renderer: GeForce MX110/PCIe/SSE2 v: 4.6.0 NVIDIA 460.80
direct render: Yes
Audio:
Device-1: Intel Cannon Point-LP High Definition Audio vendor: Lenovo
driver: snd_hda_intel v: kernel bus ID: 00:1f.3
Sound Server: ALSA v: k5.11.0-18-generic
Network:
Device-1: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter
driver: rtw_8821ce v: N/A port: 4000 bus ID: 02:00.0
IF: wlp2s0 state: down mac: <filter>
Bluetooth:
Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8
bus ID: 1-10:4
Report: ID: hci0 state: down address: <filter>
Drives:
Local Storage: total: 476.94 GiB used: 40.89 GiB (8.6%)
ID-1: /dev/nvme0n1 vendor: Intel model: SSDPEKNW512G8L size: 476.94 GiB
temp: 30.9 C
Partition:
ID-1: / size: 23.35 GiB used: 15.17 GiB (65.0%) fs: ext4
dev: /dev/nvme0n1p4
ID-2: /boot/efi size: 256 MiB used: 33.6 MiB (13.1%) fs: vfat
dev: /dev/nvme0n1p1
ID-3: /home size: 207.11 GiB used: 25.69 GiB (12.4%) fs: ext4
dev: /dev/nvme0n1p6
Swap:
ID-1: swap-1 type: partition size: 8.06 GiB used: 0 KiB (0.0%)
dev: /dev/nvme0n1p7
Sensors:
System Temperatures: cpu: 54.0 C mobo: N/A gpu: nvidia temp: 48 C
Fan Speeds (RPM): N/A
Info:
Processes: 285 Uptime: 11m Memory: 7.65 GiB used: 2.08 GiB (27.2%)
Init: systemd runlevel: 5 Compilers: gcc: 10.3.0 Packages: 2685
Shell: Bash v: 5.1.4 inxi: 3.3.01
Further information. As requested, I ran the following series of commands while the wifi was working and while it was not:
$ nmcli networking connectivity
$ nmcli radio all
$ nmcli connection show
$ nmcli device status
$ nmcli device show wlp2s0
$ dmesg -T | grep rtw
$ nmcli networking on
$ nmcli device connect wlp2s0
$ nmcli connection up SRISUWAN
The results were as follows:
While the wifi was working: paste
While the wifi was not working: paste
While the wifi was not working after an extended power-off: paste
Solution 1:
Diagnosis
As per the differences you show, post the output (with network working/not working) of commands below. If anything makes it work, please comment.
$ nmcli networking connectivity
$ nmcli radio all
$ nmcli connection show
$ nmcli device status
$ nmcli device show wlp2s0
$ dmesg -T | grep rtw
$ nmcli networking on
$ nmcli device connect wlp2s0
$ nmcli connection up SRISUWAN
EDIT.
Add
$ dmesg -T | grep -n rtw
$ modinfo rtw_8821ce
It would be very useful if you also added the pastebin, in the working/non-working states, of wireless-info
.
Possible solutions
You might have hit this bug. There are recent posts reporting the issue shows up.
-
You may try adding
options rtw88_pci disable_aspm=1
to/etc/modprobe.d/rtw88_pci.conf
, and rebooting with due sequence to get WiFi working. Check if WiFi then fails again. -
Also, try disabling secure boot.
-
Also read the rest of the bug report.
-
Try changing
pcie_aspm
policy to eitherpowersave
orperformance
, which solved a possibly similar issue. How to do it? See this and this for how to modify grub. In this particular case, there seems to be more than one way of changing the parameter, please try and post back what you get.
Solution 2:
https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#about_dual-boot_with_windows_and_fast-boot_enabled solved the problem for me:
If you have a dual-boot machine with a recent version of Windows and start seeing problems during initialization of the WiFi device when booting Linux, the problem could be due to the “fast startup” feature on Windows.
With this feature enabled, Windows don't really shut down the entire system, but leaves things partially running so you can start the machine faster again. Try to disable this option, on Windows 10 it should be in “Control Panel→Hardware and Sound→Power Options→System Settings”. Select “Chooose what the power buttons do” to access the System Settings from the Power Options. Then disable the “Fast Startup” option in “Shutdown Settings”. This will cause Windows to fully shutdown and may solve the issue.