Realtek drivers RTW88 and RTW89 with make (single kernel)


Back to the home page


In some cases you can try another driver for certain Realtek chipsets in Linux Mint 22.x and Ubuntu 24.04.x. This page will show you how, by using make (for single kernel use).

Note: This page contains how-to's for driver installation for one single kernel. Therefore the drivers won't work for future updated kernels. On this other page you can find the how-to's for installing the same drivers that will be ported to future updated kernels automatically.

Contents of this page:

If unsure: determine the WiFi chipset

1. Are you unsure what Realtek WiFi chipset you have? That can happen easily, because the brand and type printed on a USB WiFi dongle or internal PCI card are meaningless; "under the hood" it can be anything.

Ordinarily, you can determine your WiFi chipset like this:

a. If it's a USB WiFi dongle, connect it to your computer.

b. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

c. Use copy/paste to transfer the following command into the terminal:

inxi -Fxz

(if you type: the letter F is a capital letter, and don't omit the space after inxi!)

Press Enter. In the complete hardware overview you get to see then, you should also find your WiFi chipset.

d. But in a few cases, inxi doesn't give sufficient information. You can then proceed as follows:

For a USB WiFi dongle, use copy/paste to transfer the following word into the terminal :

lsusb

Press Enter.

For an internal PCI WiFi card, use the terminal command lspci

e. Now you should see at least one line that approximately resembles the following output (example from my own computer):

Bus 002 Device 007: ID 0bda:b720 Realtek Semiconductor Corp.

f. The combination of characters and numbers that I've printed in red, is the unique ID of your Realtek chipset. Use Google to find out what the type name of that chipset is.

The rtw88 driver for many Realtek chipsets (with make, for single kernel use)

2. For the following Realtek WiFi chipsets you can install the rtw88 driver:
RTL8723DE, RTL8814AE, RTL8821CE, RTL8822BE, RTL8822CE, RTL8723CS, RTL8723DS, RTL8821CS, RTL8822BS, RTL8822CS, RTL8723DU, RTL8811AU, RTL8811CU, RTL8812AU, RTL8812BU, RTL8812CU, RTL8814AU, RTL8821AU, RTL8821CU, RTL8822BU, RTL8822CU.

Note: For the RTL8723DE chipset it's sometimes not necessary to replace the driver, because the default driver can sometimes be fixed by switching the antenna selection, as described in item 5 on this page.

a. First establish temporary internet connection for your computer by means of your cell phone.

b. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

c. Copy/paste the following command line into the terminal:

sudo apt-get install mokutil && mokutil --sb-state

Press Enter. Type your password when prompted. In Ubuntu this remains entirely invisible, not even dots will show when you type it, that's normal. In Mint this has changed: you'll see asterisks when you type. Press Enter again.

If it reports that Secure Boot is enabled: reboot and disable Secure Boot in the BIOS. In order to do this, you might need to set an administrator password in the BIOS first.

No worries: although Secure Boot is a fairly reasonable idea in theory, it provides little real-life security anyway. So disabling it is no loss. In practice, Secure Boot is primarily an obstacle for using another operating system than Microsoft Windows. Which might or might not be an intended side effect.

d. Copy/paste the following command line into the terminal, in order to download and install the required build packages (the building tools with which you're going to build the driver):

sudo apt-get install git build-essential linux-headers-$(uname -r)

Press Enter. Type your password when prompted. In Ubuntu this remains entirely invisible, not even dots will show when you type it, that's normal. In Mint this has changed: you'll see asterisks when you type. Press Enter again.

e. Download the actual driver (the construction kit) by means of git, with this command (use copy/paste):

git clone https://github.com/lwfinger/rtw88.git

f. Copy/paste this line into the terminal, in order to enter the folder with the driver packages:

cd rtw88

Press Enter.

g. Now you're going to compile the required kernel module from the driver package. For that, run this command (use copy/paste and press Enter):

make

h. Then, install the compiled module by executing this command (use copy/paste and press Enter):

sudo make install

i. Now execute this command, in order to install the necessary firmware (use copy/paste and press Enter):

sudo make install_fw

j. Then execute this command, in order to put the required configuration file at the right spot (use copy/paste and press Enter):

sudo cp -v rtw88.conf /etc/modprobe.d/

k. Now you're going to remove the folder with the driver building blocks, which has become useless (and can't be used for other kernels, as it has been tailored to your current kernel by "make"). By executing this command (use copy/paste and press Enter):

rm -v -R --interactive=never ~/rtw88

l. Reboot your computer.

m. Your wifi should work well now: click on the icon of Network Manager in the system tray, in order to see the available wireless networks.

Note: Do NOT install kernel updates or new kernels, because then you'll probably lose the driver again! So I advise to lock the current kernel (item 7).

Or if you want to install newer kernels anyway, from time to time: download the folder with the driver build packages again with git, create a compressed (.tar.gz) file from it, rename the compressed file to wifi-driver and keep it in reserve.

You can then use it in the now familiar way (first unzip it, of course) to build and install the driver again when you've lost your WiFi after booting with a newly installed kernel.

The rtw89 driver for some Realtek chipsets (with make, for single kernel use)

3. For the following Realtek WiFi chipsets you can install the rtw89 driver:
RTL8831BU, RTL8851BU, RTL8832AU, RTL8852AU, RTL8832BU, RTL8852BU, RTL8832CU, RTL8852CU, RTL8912AU, RTL8922AU (no MLO yet), RTL8851BE, RTL8852AE, RTL8852BE(-VS, -VT), RTL8852CE, RTL8922AE(-VS).

Note: This driver will only enable WiFi, not Bluetooth! You won't be able to use Bluetooth at all. That's the price you pay for using this driver.

a. First establish temporary internet connection for your computer by means of your cell phone.

b. Launch a terminal window.
(You can launch a terminal window like this: *Click*)

c. Copy/paste the following command line into the terminal:

sudo apt-get install mokutil && mokutil --sb-state

Press Enter. Type your password when prompted. In Ubuntu this remains entirely invisible, not even dots will show when you type it, that's normal. In Mint this has changed: you'll see asterisks when you type. Press Enter again.

If it reports that Secure Boot is enabled: reboot and disable Secure Boot in the BIOS. In order to do this, you might need to set an administrator password in the BIOS first.

No worries: although Secure Boot is a fairly reasonable idea in theory, it provides little real-life security anyway. So disabling it is no loss. In practice, Secure Boot is primarily an obstacle for using another operating system than Microsoft Windows. Which might or might not be an intended side effect.

d. Copy/paste the following command line into the terminal, in order to download and install the required build packages (the building tools with which you're going to build the driver):

sudo apt-get install git build-essential linux-headers-$(uname -r)

Press Enter. Type your password when prompted. In Ubuntu this remains entirely invisible, not even dots will show when you type it, that's normal. In Mint this has changed: you'll see asterisks when you type. Press Enter again.

e. Download the actual driver (the construction kit) by means of git, with this command (use copy/paste):

git clone https://github.com/morrownr/rtw89

f. Copy/paste this line into the terminal, in order to enter the folder with the driver packages:

cd rtw89

Press Enter.

g. Now you're going to compile the required kernel module from the driver package. For that, run this command (use copy/paste and press Enter):

make clean modules

h. Then install the compiled module by executing this command (use copy/paste and press Enter):

sudo make install

i. Now install the firmware needed for the driver, by executing this command (use copy/paste and press Enter):

sudo make install_fw

j. Then copy a settings file to the right location, by executing this command (use copy/paste and press Enter):

sudo cp -v rtw89.conf /etc/modprobe.d/

k. Now you're going to remove the folder with the driver building blocks, which has become useless (and can't be used for other kernels, as it has been tailored to your current kernel by "make"). By executing this command (use copy/paste and press Enter):

rm -v -R --interactive=never ~/rtw89

l. Reboot your computer.

m. Your wifi should work well now: click on the icon of Network Manager in the system tray, in order to see the available wireless networks.

Note: Do NOT install kernel updates or new kernels, because then you'll probably lose the driver again! So I advise to lock the current kernel (item 7).

Or if you want to install newer kernels anyway, from time to time: download the folder with the driver build packages again with git, create a compressed (.tar.gz) file from it, rename the compressed file to wifi-driver and keep it in reserve.

You can then use it in the now familiar way (first unzip it, of course) to build and install the driver again when you've lost your WiFi after booting with a newly installed kernel.


Want more tips?

Do you want more tips and tweaks? There's a lot more of them on this website!

For example:

Speed up your Linux Mint!

Clean your Linux Mint safely

Avoid 10 fatal mistakes


To the content of this website applies a Creative Commons license.

Back to the home page

Disclaimer