[SOLVED] RTL8821CE Wifi not working (Lenovo laptop)

Hello All,
I have this laptop ( Lenovo Ideapad 330 Ryzen 5 Quad Core – (8 GB/1 TB HDD/DOS) 330-15ARR U Laptop ), installed manjaro-cinnamon-18.0.4-stable-x86_64

Now, everything except Wireless Network wifi connection works perfect. My wireless card is Realtek RTL8821CE

There are a handful of threads already related to this particular card in this forum itself. I have tried all of them but nothing useful as of now. Thats the reason I am starting this as a new thread. I have followed those steps explained in various threads, even with those who are marked as solved. But mine is not. Below are my system info on various commands related to the wireless adapter.

[jeevanism@jeevanism-pc ~]$ sudo pacman -S linux$(uname -r| grep -o -E '[0-9]+' | head -n 2 | sed 'N;s/\n//')-headers
[sudo] password for jeevanism: 
warning: linux419-headers-4.19.62-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) linux419-headers-4.19.62-1

Total Installed Size:  62.36 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n] n
[jeevanism@jeevanism-pc ~]$ 

[jeevanism@jeevanism-pc ~]$ dkms status
rtl8723de,, 4.19.62-1-MANJARO, x86_64: installed
rtl8821ce, 1.0.5.r49.g6b9a569: added

  Device-1: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter 
  vendor: Lenovo driver: N/A port: 3000 bus ID: 01:00.0 chip ID: 10ec:c821 
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: Lenovo driver: r8168 v: 8.047.02-NAPI port: 2000 bus ID: 02:00.0 
  chip ID: 10ec:8168 
  IF: enp2s0 state: down mac: <filter> 
  IF-ID-1: enp3s0f3u4u3 state: unknown speed: N/A duplex: N/A mac: <filter> 

[jeevanism@jeevanism-pc ~]$ rfkill list all
0: ideapad_wlan: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: ideapad_bluetooth: Bluetooth
	Soft blocked: yes
	Hard blocked: no
2: hci0: Bluetooth
	Soft blocked: yes
	Hard blocked: no
[jeevanism@jeevanism-pc ~]$ sudo modprobe rtl8821ce
modprobe: FATAL: Module rtl8821ce not found in directory /lib/modules/4.19.62-1-MANJARO

[jeevanism@jeevanism-pc ~]$ sudo dmesg  | grep -i 'error\|seg\|fail\|broke\|warn\|dump\|denied\|rtl\|wl'
[    0.593854] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    1.325234] Segment Routing with IPv6
[    1.327020] RAS: Correctable Errors collector initialized.
[   10.491407] tpm_crb: probe of MSFT0101:00 failed with error -16
[   11.436350] r8168: module verification failed: signature and/or required key missing - tainting kernel
[   13.221461] Bluetooth: hci0: RTL: rtl: examining hci_ver=08 hci_rev=826c lmp_ver=08 lmp_subver=a99e
[   13.221466] Bluetooth: hci0: RTL: rtl: unknown IC info, lmp subver a99e, hci rev 826c, hci ver 0008
[   13.221468] Bluetooth: hci0: RTL: rtl: assuming no firmware upload needed
[   13.623759] [drm:construct [amdgpu]] *ERROR* construct: Invalid Connector ObjectID from Adapter Service for connector index:2! type 0 expected 3
[   13.623854] [drm:construct [amdgpu]] *ERROR* construct: Invalid Connector ObjectID from Adapter Service for connector index:3! type 0 expected 3
[   13.668929] kfd kfd: Failed to resume IOMMU for device 1002:15dd
[   13.669166] kfd kfd: device 1002:15dd NOT added due to errors
[   13.780346] audit: type=1130 audit(1565521340.938:13): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-backlight@backlight:acpi_video1 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'

[jeevanism@jeevanism-pc ~]$ grep -r "blacklist\|install\|options"  /etc/modprobe.d/ /etc/modules-load.d/ /usr/lib/modprobe.d/
/etc/modprobe.d/r8169_blacklist.conf:blacklist r8169
/usr/lib/modprobe.d/nvdimm-security.conf:install libnvdimm /usr/bin/ndctl load-keys ; /sbin/modprobe --ignore-install libnvdimm $CMDLINE_OPTS
/usr/lib/modprobe.d/bluetooth-usb.conf:options btusb reset=1
/usr/lib/modprobe.d/systemd.conf:options bonding max_bonds=0
/usr/lib/modprobe.d/systemd.conf:options dummy numdummies=0
/usr/lib/modprobe.d/uvesafb.conf:# options uvesafb mode=<xres>x<yres>[-<bpp>][@<refresh>] scroll=<ywrap|ypan|redraw> ...
/usr/lib/modprobe.d/uvesafb.conf:options uvesafb mode_option=1024x768-32 scroll=ywrap

[jeevanism@jeevanism-pc ~]$ pacman -Qsq linux | grep linux | grep -v -E '(arch|util|sys|api|firmware)' | grep -v nvidia

[jeevanism@jeevanism-pc ~]$ hwinfo --netcard --wlan --bluetooth | grep -Ei "model\:|driver\:|status\:|cmd\:|file\:|detected\:" | grep -v "Config Status"
  Model: "Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller"
  Driver: "r8168"
  Device File: enp2s0
  Link detected: no
    Driver Status: r8169 is not active
    Driver Activation Cmd: "modprobe r8169"
    Driver Status: r8168 is active
    Driver Activation Cmd: "modprobe r8168"
  Model: "Realtek Network controller"
  Model: "Realtek Bluetooth Radio"
  Driver: "btusb"
    Driver Status: btusb is active
    Driver Activation Cmd: "modprobe btusb"

I would like to get some more help to fix my wireless adapter issue.


I believe you want this AUR package: https://aur.archlinux.org/packages/rtl8821ce-dkms-git/

tried it already, no use

[jeevanism@jeevanism-pc rtl8821ce]$ sudo ./dkms-install.sh
[sudo] password for jeevanism: 
About to run dkms install steps...
Error! DKMS tree already contains: rtl8821ce-v5.5.2_34066.20190614
You cannot add the same module/version combo more than once.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
'make' -j4 KVER=4.19.62-1-MANJARO.........(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.19.62-1-MANJARO (x86_64)
Consult /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/make.log for more information.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
'make' -j4 KVER=4.19.62-1-MANJARO.........(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.19.62-1-MANJARO (x86_64)
Consult /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/make.log for more information.
Finished running dkms install steps.
[jeevanism@jeevanism-pc rtl8821ce]$ 

That doesn't look like the AUR package. There should be no reason to manually run scripts.

You may have broken DKMS...

Have you looked at this log file?

tried this too

[jeevanism@jeevanism-pc ~]$ yay -Ss rtl8821ce-dkms-git
aur/rtl8821ce-dkms-git 1.0.5.r36.gca4abd8-1 (+10 0.86%) (Installed: 1.0.5.r49.g6b9a569-1)
    rtl8821CE driver with firmware

last part of log file below

./arch/x86/include/asm/uaccess.h:98: note: macro "access_ok" defined here
   98 | #define access_ok(type, addr, size)     \
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/os_dep/linux/rtw_android.c:665:7: error: β€˜access_ok’ undeclared (first use in this function)
  665 |  if (!access_ok(priv_cmd.buf, priv_cmd.total_len)) {
      |       ^~~~~~~~~
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/os_dep/linux/rtw_android.c:665:7: note: each undeclared identifier is reported only once for each function it appear>
make[2]: *** [scripts/Makefile.build:303: /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/os_dep/linux/rtw_android.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/drv_types.h:30,
                 from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/os_dep/linux/ioctl_mp.c:17:
/var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/wifi.h:1030: warning: "IEEE80211_MAX_AMPDU_BUF" redefined
 1030 | #define IEEE80211_MAX_AMPDU_BUF 0x40
In file included from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/osdep_service_linux.h:83,
                 from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/osdep_service.h:50,
                 from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/include/drv_types.h:27,
                 from /var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build/os_dep/linux/ioctl_mp.c:17:
./include/linux/ieee80211.h:1442: note: this is the location of the previous definition
 1442 | #define IEEE80211_MAX_AMPDU_BUF  0x100
make[1]: *** [Makefile:1517: _module_/var/lib/dkms/rtl8821ce/v5.5.2_34066.20190614/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.19.62-1-MANJARO/build'
make: *** [Makefile:2237: modules] Error 2

This often helps with Lenovo laptops:

sudo rmmod ideapad_laptop && sudo systemctl restart NetworkManager

If that helps then you will need to create a blacklist file for "ideapad_laptop" in /etc/modprobe.d.

If that doesn't help I would test quite a few different kernels to see if one works with your adapter. Be sure to install the linux-headers for each kernel version you test.

If you never found this guide I wrote, check it out. It is a very thorough guide on installing your driver. It might not hurt to fully uninstall/reinstall all your driver components according to the directions in the guide. I wrote that guide quite some time ago, so do not use yaourt to install the driver. Yaourt has been deprecated for some time. Instead use yay, trizen, pacaur, or pamac to install the required driver from the AUR.

Kudos on your very thorough hardware outputs. Very nicely done. :+1:


Update :

the wireless is working when I updated the kernel

[jeevanism@jeevanism-pc ~]$ uname -r

but my display is garbled :frowning: so many brittle spots all over my screens now :frowning: seems like there is a graphics driver issue with this kernel version

Glad to hear your wifi issue was resolved. Unfortunately, I leave display issues to others to deal with. Video troubleshooting is not my thing. I would open a new thread with regards to your display problem. Perhaps someone already knows how to overcome what you are experiencing.

1 Like

Thank you for that .

So my situation is as below:

Kernel 5.2 with WiFi Ok, graphics broken
Kernel 4.19.62 , graphics Ok, wiFi broken


I have read your tutorial, it's very detailed and informative.I followed those steps and I did not use yaourt, I used Yay only.

1 Like

I do not usually recommend real time kernels, but in this situation it may be worth testing the RT kernels.

Even though it is an immature kernel it may also be worth testing 5.3 as well.

The graphical issue in kernel 5.2.4 is fixed with a work around as adding iommu value in Grub String.


I dont know whats the implication on this, hope this wont brake my system. I still want to go with the matured kernel 4.19 but the WiFi is so adamant on not working. :frowning:
I have tried that

sudo rmmod ideapad_laptop && sudo systemctl restart NetworkManager

but no effect, nothing. I have installed Kubuntu 19.04 and installed the WiFi adapter using the git compilation, its works fine.

I use the iommu=soft kernel boot parameter on one of my Manjaro boxes with a faulty Gigabyte mobo that never received the proper bios fix from the manufacturer. Unless you are running a virtual machine that setting will be of no impact.

Well with those findings I believe you can now mark your thread successfully resolved.

1 Like

So I bought 2 x 330-15ARR laptops today. My config is slightly different - Ryzen7 2700U, but I guess wifi card is the same. Just tried installing Manjaro KDE 18.1.0 RC6 Minimal and wifi adapter is not detected.

MSM says it runs kernel 5.2.4-1 (which seems to solve issue for you), so I guess I'll try the latest testing ISO now...

Yes for now it will work because the Ubuntu HWE kernel is still 5.1 or possibly 5.0. Anyhow it's not tracking kernel releases in quite the same manner and speed as manjaro.

You cannot assume the wifi adapter is the same you must determine that from the manufacturers specs or preferably with hardware terminal outputs.

If you wish assistance with getting your wifi working on Manjaro please open your own thread in the networking sub-forum. In your own help thread post:

inxi -Fxxxz

Please do not post your outputs here, open your own help request as obviously your hardware is different from the OP's (if the fixes don't work with your system).

You cannot assume the wifi adapter is the same

Yes, of course. I checked adapter model before posting. And it's exactly the same one. That's why I posted.

I might be more lucky than OP because all I had to do was to download drivers (link provided by @jonathon) and everything started working right after reboot. I'm using LTS 4.19 kernel now.


glad to hear that you got it worked. However, this RTL8821CE is really tricky, the only distro it automatically got connected is Mageia 7, though I have tried MXLinux, Deepin, Fedora 30, ElementaryOS Juno . ( yeah, I am chronically addicted to DistroHopping :frowning: )

Forum kindly sponsored by Bytemark