Unable to get WiFi working - Realtek 8822CE

Hello,

I’ve bought a new laptop to replace an old one and unfortunately I forgot to check the driver availability before purchase.
There is some hardware which is unable to get detected. I did go through the guide described here to have the driver compiled and installed, unfortunately, this doesn’t do it for me. I have as well followed the instructions at the bottom of the readme file in https://github.com/lwfinger/rtlwifi_new specifically for the rtl8822ce

System Information
Manufacturer: LENOVO
Product Name: 82C5
Version: Lenovo V15-IIL
Serial Number: PF1W48BC
UUID: e5ad467b-286b-11ea-80db-f875a479cbca
Wake-up Type: Power Switch
SKU Number: LENOVO_MT_82C5_BU_idea_FM_V15-IIL
Family: V15-IIL

lspci:

00:00.0 Host bridge: Intel Corporation Device 8a12 (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Iris Plus Graphics G1 (Ice Lake) (rev 07)
00:04.0 Signal processing controller: Intel Corporation Device 8a03 (rev 03)
00:14.0 USB controller: Intel Corporation Ice Lake-LP USB 3.1 xHCI Host Controller (rev 30)
00:14.2 RAM memory: Intel Corporation Device 34ef (rev 30)
00:15.0 Serial bus controller [0c80]: Intel Corporation Ice Lake-LP Serial IO I2C Controller #0 (rev 30)
00:15.1 Serial bus controller [0c80]: Intel Corporation Ice Lake-LP Serial IO I2C Controller #1 (rev 30)
00:16.0 Communication controller: Intel Corporation Management Engine Interface (rev 30)
00:17.0 SATA controller: Intel Corporation Ice Lake-LP SATA Controller [AHCI mode] (rev 30)
00:1d.0 PCI bridge: Intel Corporation Ice Lake-LP PCI Express Root Port #9 (rev 30)
00:1d.4 PCI bridge: Intel Corporation Device 34b4 (rev 30)
00:1f.0 ISA bridge: Intel Corporation Ice Lake-LP LPC Controller (rev 30)
00:1f.3 Audio device: Intel Corporation Smart Sound Technology Audio Controller (rev 30)
00:1f.4 SMBus: Intel Corporation Ice Lake-LP SMBus Controller (rev 30)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Ice Lake-LP SPI Controller (rev 30)
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device c82f
06:00.0 Non-Volatile memory controller: SK hynix Device 1339

lspci -nnk

01:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c82f]
Subsystem: Lenovo Device [17aa:c02f]

lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 413c:3016 Dell Computer Corp. Optical 5-Button Wheel Mouse
Bus 001 Device 002: ID 13d3:5a08 IMC Networks Integrated Camera
Bus 001 Device 004: ID 0bda:c02f Realtek Semiconductor Corp. Bluetooth Radio
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Do notice here that device 0bda:c02f is the rtl8822ce. Bluetooth works. WLAN does not.

According to the lenovo support site, the rtl8822ce is installed on this device.

uname -r

5.5.16-200.fc31.x86_64

I’m not sure anymore what I could do as a next step. Lenovo suggests installing windows…

Thanks in advance

Edit: repo mentioned above no longer exists. This seems to be the current repository: GitHub - lwfinger/rtw88: A backport of the Realtek Wifi 5 drivers from the wireless-next repo. (please check lwfinger · GitHub for other realtek hardware too)

1 Like

Hi @fraksken, welcome to ask.fedora!

Few things for troubleshooting:

  • Can you confirm that secure boot is deactivated?
  • What is the output of sudo rfkill list?
  • What is the output of dmesg|grep rtw?
  • WHat is the output of lsmod|grep rtw?

What I am wondering though is that that card should be supported since Kernel 5.2. Firmware files for that are installed out of the box: /usr/lib/firmware/rtw88/rtw8822c_fw.bin.

I am somewhat concerned about the device ID c82f - it does not come up in and device databases I checked. Maybe this is some special card customized for this laptop?

2 Likes

Hello @liquidat and thank you for your concern.
The secure boot is indeed disabled.
I’m aftraid the commands don’t yield much information:

[user@localhost ~]$ sudo rfkill list

[sudo] password for user:
0: ideapad_wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
1: ideapad_bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
2: hci0: Bluetooth
Soft blocked: no
Hard blocked: no

[user@localhost ~]$ sudo dmesg|grep rtw

[user@localhost ~]$ sudo lsmod|grep rtw

[user@localhost ~]$ ls /usr/lib/firmware/rtw88/rtw8822c_fw.bin

/usr/lib/firmware/rtw88/rtw8822c_fw.bin

I indeed suspect an altered version of the hardware of perhaps drivers of a bridge not working as it should?
The touchpad is also not working at all. Could be related?

Not sure if the touchpad bug is related.

But: there is one way I know of which we can try. But BE WARNEND, this is serious business, and might kill your machine and free your cat.

So: the assumption here is that the device ID is just not assigned to the driver. So we can actually force the driver to run on “unknown” device IDs. Sounds scary? It is!

First, check if we have the driver loaded. Is there a folder called rtw_pci in /sys/bus/pci/drivers/? Or any other rtl folder?
If so, you will see that in this folder is a file, called new_id. If we write vendor ID and product ID to the file, the device should be dynamically paired.

So in your case, and given that the driver rtl_pci is there, the following command might make it work. But again, be warned: this might also break your system. So if in doubt maybe a better way would be to fill an issue with the lwfinger github repo an check if they can help.

Summary

echo 10ec c82f > /sys/bus/pci/drivers/rtl_pci/new_id (or another rtl_ path name if you use a newer driver)

1 Like

HI @liquidat, thank you for the suggestion.
I’m not worried about trashing the OS. There’s nothing on it yet. I’m happy to fool around and see what works and what breaks.
Said this, There’s no such folder in the location you described.
Should I make one?

[user@linux ~]$ ls /sys/bus/pci/drivers/
8250_mid i2c-designware-pci nvme sof-audio-pci
agpgart-intel i801_smbus ohci-pci uhci_hcd
agpgart-sis i915 pcieport virtio-pci
agpgart-via icl_uncore pci-stub xen-platform-pci
ahci intel-lpss proc_thermal xhci_hcd
ata_piix intel_pmc_ipc serial
dw_dmac_pci iosf_mbi_pci shpchp
ehci-pci mei_me snd_hda_intel

[user@linux ~]$ ls /sys/bus/pci_express/drivers/
aer dpc pciehp pcie_pme

Actually, the things I suggested might break your hardware, not only your software. So be warned!

But anyway, the drivers are not even there. I don’t get what is happening here… so I can only recommend to open an issue in the github and get the help from the people there. Sorry :-/

1 Like

Don’t worry about it @liquidat I’m very happy with your suggestions.
Interesting to know the wrong drivers could do severe damage to the hardware.

Anyway. I’ll create an issue in the lwfinger repo. I haven’t gotten around creating a github account yet.
Thanks again for the help, effort and suggestions. It’s greatly appreciated

1 Like

I do have this exact same problem. WiFi is not working anymore and touchpad also doesn’t work at all. My network card is RTL8822BE.

Actually this GitHub - lwfinger/rtw88 (mentioned here above) worked for me :slight_smile:

Edit: updated link (old repo no longer exists)

2 Likes

I had a Lenovo laptop with a wifi chip Realtek 882CE on W10 and [10ec:c82f].
I used the drivers in rtlwifi_new.git as mentioned above editing rtw8822ce.c as in PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0xC82F): it had 0xC822.
make …
For touchpad
GRUB_CMDLINE_LINUX_DEFAULT=“i8042.nopnp=1 pci=nocrs quiet splash”
sudo update-grub

Hope was helpfull!

Thanks everybody. The wifi and bluetooth drivers have been added to the kernel. At some point I was just able to use them. Very happy about that.
The touchpad still didn’t work by default.
I did have a look at the suggestion of @lewis41, but had to make some adjustments before this worked.
In file /etc/defaults/grub I appended the value for variable “GRUB_CMDLINE_LINUX” with “i8042.nopnp=1 pci=nocrs”. and rebuilt the grub with sudo grub2-mkconfig /etc/grub2-efi.cfg.
update-grub is an ubuntu command.

Thanks again. I’m now in posession of a fully functioning laptop. Makes me so happy.

1 Like

hola… tengo tu mismo problema… podrías ayudarme?.. es el mismo equipo lenovo :frowning: … en windows todo bien. pero en ubuntu 18.04 no :frowning:

You can use Larry Finger New Repo for this purpose:

This repository includes drivers for the following cards:

RTL8822BE, RTL8822CE, RTL8821CE, and RTL8723DE

If you are looking for a driver for chips such as RTL8188EE, RTL8192CE, RTL8192CU, RTL8192DE, RTL8192EE, RTL8192SE, RTL8723AE, RTL8723BE, or RTL8821AE, these should be provided by your kernel. If not, then you should go to the Backports Project (https://backports.wiki.kernel.org/index.php/Main_Page) to obtain the necessary code.

Dependencies

sudo dnf install make gcc kernel-headers kernel-devel git

Instalation

git clone https://github.com/lwfinger/rtw88.git
cd rtw88
make
sudo make install

MORE INFO and Aditional Configuration if it necesary

Regards., HTH

1 Like

I didn’t find wifi to be usable on the realtek 8822ce before installing the lwfinger patches. It became usable, but still not a great experience, so I ended up swapping out the card for an Intel ax200ngw (~20USD for me on ebay).

realtek w/o lwfinger: “I hope it can see my wifi router longer than 30 seconds”
realtek w/ lwfinger: “Oh, it got slow again, let me turn off/on wifi”
intel AX200: “Man, wifi is great!”

That seems to be often the user experience with the realtek card.

Glad to see you found a reliable replacement.

Does anybody know why for some people it just works, and for others it plops out this?

make -C /lib/modules/5.18.9-200.fc36.x86_64/build M=/home/my username/gitclones/rtw88 modules
make[1]: *** /lib/modules/5.18.9-200.fc36.x86_64/build: No such file or directory.  Stop.
make: *** [Makefile:83: all] Error 2

I’ve seen one user with the same issue in this thread, but they ended up just using a different driver, one that doesn’t support 8822CE.

I have make, gcc, kernel-headers, kernel-devel, the entire “Development Tools” group, everything; so I’m not sure why it doesn’t work. I have to say I’m a little out of my depth here and would certainly appreciate help. From what I’ve been reading it looks like it’s gonna be something about kernel versions? And not matching?

Yes, it absolutely depends upon the kernel version. It usually can be built for any kernel version that is installed and has the kernel-devel package installed.

With my habit of keeping up to date with updates I only have the latest 3 kernels installed. (5.18.10, 5.18.11, and 5.18.13)

It does work after I switched to 5.18.13 for another reason.

this solution seems to work and updated → Linux 5.18 :

Instalation from Source

git clone https://github.com/juanro49/rtl88x2ce-dkms.git
sudo cp rtl88x2ce-dkms/rtw88_blacklist.conf /etc/modprobe.d/rtw88_blacklist.conf
sudo mkdir /usr/src/rtl88x2ce-35403
sudo cp -Rv rtl88x2ce-dkms/* /usr/src/rtl88x2ce-35403/
sudo dkms add -m rtl88x2ce -v 35403
sudo dkms build -m rtl88x2ce -v 35403
sudo dkms install -m rtl88x2ce -v 35403

Start Module

sudo modprobe rtl88x2ce

Aditional Info

but larry finger should works as describe before:

  1. GitHub - lwfinger/rtw88 you can see here updated for 5.18 and 5.19

GitHub - lwfinger/rtw88

two open issue for this repo

1.- Fails on kernel 5.18.7 for fedora36 · Issue #91 · lwfinger/rtw88 · GitHub
2.- Make command fails on Fedora 36 plasma version · Issue #90 · lwfinger/rtw88 · GitHub

Regards.,

1 Like

Hi
Lenovo Thinkbook 14 wifi working with Ubuntu 18.04 LTS by following repository GitHub
Thanks a lot for posting it.