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…
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.
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?
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.
Article by Tomasz Kuczma
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.
The views I express are my alone and they do not necessarily express the views of my employer or ex-employers.
They are not investment advice nor based on any non-public information of any kind.
Poglądy, które wyrażam, są tylko moje i niekoniecznie wyrażają opinie mojego pracodawcy lub byłych pracodawców.
Nie są poradami inwestycyjnymi ani nie opierają się na jakichkolwiek niepublicznych informacjach.