RTL8822CE Unable to enable Wifi

I have a dual booted system with Windows 10. I have been using windows for a couple of months. However, today I decided to boot into manjaro. Unfortunately, when I tried to connect to my wifi, I wasn’t able to do so as the Network Manager was indicating “wifi disabled”. However, the wifi works fine on windows.

I’ve disable fast boot on windows. I’ve also disabled MAC randomization on manjaro by adding the following lines to /etc/NetworkManager/NetworkManager.conf

[device] 
wifi.scan-rand-mac-address=no

Even this didn’t helped.

Can someone please help me and tell me how to make wifi work again.

Diagnostic information:

a. nmtui does not show Wireless connection options.

b. nmcli device shows

    DEVICE  TYPE      STATE        CONNECTION         
    eno1    ethernet  connected    Wired connection 1 
    wlp4s0  wifi      unavailable  --                 
    lo      loopback  unmanaged    --         

c. sudo dmesg | grep rtw shows

    [    1.849797] rtw_8822ce 0000:04:00.0: enabling device (0000 -> 0003)
    [    1.851187] rtw_8822ce 0000:04:00.0: Firmware version 9.9.4, H2C version 15
    [    1.851257] rtw_8822ce 0000:04:00.0: Firmware version 9.9.10, H2C version 15
    [    2.213437] rtw_8822ce 0000:04:00.0 wlp4s0: renamed from wlan0

d. lsmod | grep rtw shows

    rtw88_8822ce           16384  0
    rtw88_8822c           471040  1 rtw88_8822ce
    rtw88_pci              28672  1 rtw88_8822ce
    rtw88_core            217088  2 rtw88_pci,rtw88_8822c
    mac80211             1167360  2 rtw88_pci,rtw88_core
    cfg80211             1040384  2 rtw88_core,mac80211

e. rfkill list all shows

    0: ideapad_wlan: Wireless LAN
    	Soft blocked: yes
    	Hard blocked: no
    1: ideapad_bluetooth: Bluetooth
    	Soft blocked: yes
    	Hard blocked: no
    2: phy0: Wireless LAN
    	Soft blocked: yes
    	Hard blocked: no
    3: hci0: Bluetooth
    	Soft blocked: yes
    	Hard blocked: no

When I run sudo rfkill unblock all && rfkill list all I get

    0: ideapad_wlan: Wireless LAN
    	Soft blocked: no
    	Hard blocked: no
    1: ideapad_bluetooth: Bluetooth
    	Soft blocked: no
    	Hard blocked: no
    2: phy0: Wireless LAN
    	Soft blocked: no
    	Hard blocked: no
    3: hci0: Bluetooth
    	Soft blocked: no
    	Hard blocked: no

This does not help, even if I restart NetworkManager after doing this.

e. inxi -Nazy shows

    Network:
      Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
      vendor: Lenovo driver: r8169 v: kernel port: 3000 bus-ID: 03:00.0 
      chip-ID: 10ec:8168 class-ID: 0200 
      Device-2: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter 
      vendor: Lenovo driver: rtw_8822ce v: N/A modules: rtw88_8822ce port: 2000 
      bus-ID: 04:00.0 chip-ID: 10ec:c822 class-ID: 0280 

f. uname -a shows

Linux manjaro 5.12.16-1-MANJARO #1 SMP PREEMPT Sun Jul 11 13:23:34 UTC 2021 x86_64 GNU/Linux

I also have 5.10 kernel. Wifi doesn’t work in either of the kernels.

g. journalctl -p 3 -xb shows

-- Journal begins at Tue 2021-07-20 00:25:30 IST, ends at Tue 2021-07-20 02:03:34 IST. --` `Jul 20 01:40:20 manjaro kernel:

h. ip link shows

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
        link/ether 54:05:db:e7:cb:ab brd ff:ff:ff:ff:ff:ff
        altname enp3s0
    3: wlp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
        link/ether 30:c9:ab:8b:99:2d brd ff:ff:ff:ff:ff:ff

Even if I do sudo ip link set wlp4s0 up I am unable to bring wifi up.

i. lspci | grep RTL shows

    03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
    04:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822CE 802.11ac PCIe Wireless Network Adapter

Thanks a lot. Any help is appreciated!

I would suggest to switch from rtw_8822ce to rtw88 driver as described here:

https://aur.archlinux.org/packages/rtw88-dkms-git/

Thank you for your reply.

I think the rtw88-dkms-git package is broken. When I try to install it via pamac build rtw88-dkms-git, I get:

...
Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...(bad exit status: 2)
make -j12 KERNELRELEASE=5.12.16-1-MANJARO -C /usr/lib/modules/5.12.16-1-MANJARO/build M=/var/lib/dkms/rtw88/r95.00e6f76/build.....
cleaning build area...(bad exit status: 2)
Kernel cleanup unnecessary for this kernel.  Skipping...

DKMS: build completed.

rtw_pci.ko.xz:
Running module version sanity check.
...

However, after pamac finishes execution, I get:

...
DKMS: install completed.
Running post-transaction hooks...
Arming ConditionNeedsUpdate...                                                                                                                                                           [1/2]
Install DKMS modules                                                                                                                                                                     [2/2]
==> dkms install --no-depmod -m rtw88 -v r95.00e6f76 -k 5.12.16-1-MANJARO
==> dkms install --no-depmod -m rtw88 -v r95.00e6f76 -k 5.10.49-1-MANJARO
==> depmod 5.10.49-1-MANJARO
==> depmod 5.12.16-1-MANJARO
Transaction successfully finished.

This however, doesn’t help. The problem still persists.

I’ve also tried the rtl88x2ce-dkms package. It is also broken. When pamac tries to compile it, gcc throws error. I can see these errors in the build logs generated by pamac.

I resolved the issue. Apparently NetworkManager had turned of wifi. To enable it, I used nmcli radio wifi on.
To make sure that wifi is turned on at boot, I created a systemd service to do so. Here is the link which I followed.
I created a file called /etc/systemd/system/mywifi.service with the following content:

[Unit]
Description=Turns on wifi on boot

[Service]
ExecStart=/usr/bin/nmcli r wifi on            

[Install]
WantedBy=multi-user.target

Then I enabled this service by sudo systemctl enable mywifi .
This made sure that wifi was always enabled on startup.

Thanks a lot everyone. I am marking the issue as resolved.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.