Ubuntu - Missing Realtek Network Driver
By Tomasz Kuczma
Recently, I had the pleasure challenge to install Ubuntu on a new laptop.
After installation, I noticed that there is no WiFi option available.
Farther diagnosis with ifconfig
showed that there was no network card supporting wifi.
Moreover, the laptop was “too new” to have an old-school Ethernet socket…
Flashback
A few years ago I had a similar problem. In short, the company I joined bought me the perfect new Dell laptop. The problem was that they told me to install an older Ubuntu LTS that didn’t have a WiFi driver for such new hardware. Fortunately, I also had an Ethernet socket so I could work in the old school way. Later, I downloaded the new driver’s source code and compiled it so eventually, I could use WiFi too. The problem never appeared again once I updated to newer Ubuntu LTE with a much newer kernel.
Here we go again
A few weeks ago, I had a similar situation with the new Asus Viobook.
After installation, I noticed that there is no network card available.
iwconfig
showed “no wireless extensions” so it was clear that something is wrong.
lshw
and lspci
showed that I have Realtek RTL8821CE card.
I knew that this is just a missing driver, but wasn’t sure why as this time I used the latest available Ubuntu LTS 20.04 (Xubuntu to be precise as I’m a fan of XFCE). Unfortunately, this laptop doesn’t have an Ethernet socket. So how to install the missing driver?
Chicken-egg problem
Looks like a typical chicken-egg problem. I needed to download the driver (or source code and compile it) from the Internet but I didn’t have the Internet. It took me a while to figure out the simplest solution and that’s why I’m sharing it here.
In brief, I just used a USB cable, plug in my smartphone, and enabled USB tethering to use a mobile network (or WiFi via smartphone). This worked out well and I was able to update Ubuntu and the kernel:
sudo apt update && sude apt dist-upgrade
but it didn’t bring the missing driver. I search over the Internet and finally found out that Realtek RTL8821CE driver is not available in the Ubuntu repo (source ). People say that apt repo maintainer resigned but there is some GitHub repo that can be used: https://github.com/tomaspinho/rtl8821ce .
I was wondering if there is any simpler method than manually following readme from that GitHub repo. Finally, I found out that there is some extra package rtl8821ce-dkms in apt repo that can be just installed (so it looks like that they found a new maintainer but they also put the driver in a separate non-default package).
sudo apt-get install rtl8821ce-dkms
It worked out for me well and after reboot, everything works smoothly. I can add that, people on the Internet also advise disabling Secure Boot in the BIOS.
I hope it was helpful and saved you some time.
Software engineer with a passion. Interested in computer networks and large-scale distributed computing. He loves to optimize and simplify software on various levels of abstraction starting from memory ordering through non-blocking algorithms up to system design and end-user experience. Geek. Linux user.