Kernel module driver is wrong for wifi chip that i have

fresh install of manjaro xfce and it works and looks great. im new to linux so i need some help. my kernel module for my wifi driver isnt correct to the wifi chip i have. what would be the way to fix this i have the rtw88xx driver when the i need the rtl88xx driver. i know of dkms moduels but if i install one will it cause issue with the existing kernal mod. thanks.

Welcome to the forum!

You could try blacklisting the rtw88xx driver by creating a small text file in /etc/modprobe.d/, called rtw88xx_blacklist.conf, with the content… :arrow_down:

blacklist rtw88xx

In theory, the kernel should then pick the rtl88xx driver instead.

My spelling isn’t so good. It was late I was in a rush to get it typed up and head to bed.

I’ve successfully blacklisted the rtw driver but my system doesn’t pick up on the rtl driver automatically. Any steps on what to do next. Again sorry for the noob like questions.

Questions is how one learns.

Do you know which driver/module it is? (The name.)


Apologies, apparently you do and I missed it. Try:

sudo modprobe rtl88xx

However, that shouldn’t be neccessary. I think.

The wifi chip that is in my laptop is the rtl88_8821ce. So I assuming thats the driver I would need.

Or, actually, it seems to be in the AUR:

$ pamac search 8821ce

rtl8821ce-dkms-git                                                                                                                                                                                                                1.0.5.r36.gca4abd8-1  AUR
rtl8821CE driver with firmware

So could, theoretically, be installed with:

pamac build rtl8821ce-dkms-git

Make sure you have the appropriate kernel-headers installed first

1 Like

How can I check what kernel is running. Check if the headers are installed and if not install them via the command line

To get running kernel type uname -r

e.g. mine is 5.15.12-1-MANJARO

Install the kernel headers depending on your kernel version. Using my current kernel as an example I would pamac install linux515-headers

For just the headers:

sudo pacman -Syu $(ls /boot | awk -F "-" '/^linux/ { print $1"-headers" }')

For git and dkms and base-devel too:

sudo pacman -Syu git base-devel dkms $(ls /boot | awk -F "-" '/^linux/ { print $1"-headers" }')

See any other related thread, ex:

This worked well. A side question i have this weird issue where if my laptop battery dies when I charge and reboot all works well but when I switch my laptop lid closed then open wifi is turned off. I can turn it back on by re enabling wifi. Any ideas why this is ?

Not sure the cause … but you can create a systemd service to automatically reload the module or restart NetworkManager after suspend.

Can you post what that process would look like ?

Pretty much like this, though the exec command may differ as there it is module unload and reload again… maybe all you need is
ExecStart=/usr/bin/systemctl restart NetworkManager

The # sudo restart wifi is ran as a command to enable the script after its made ? Not as part of the name of the script correct?

If you mean

# /etc/systemd/system/restart-wifi.service
# sudo systemctl enable restart-wifi.service

It was left at the top of the file and commented out (# - meaning it has no effect) so as to note the pertinent information … the first line is the name/path of the file, the second is a command to be run to enable the service.

It could be some power saving setting causing that when on battery.
You could check the settings of tlp
which is installed and enabled by default on xfce editions
(or it was, when I installed)
There is tlp-rdw but I don’t know whether it is part of the default installation
and a tlpui (a GUI for it) in the AUR.

You could try to simply disable the service and see whether that changes anything.

systemctl status tlp.service
systemctl disable tlp.service

before you go looking for other more involved solutions.