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
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 (please check lwfinger · GitHub for other realtek hardware too)
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?
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?
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)
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?
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 :-/
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
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
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.
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
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!”
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)