You will need to install “make”, “gcc”, “kernel headers”, “kernel build essentials”, and “git”. You can install them with the following command, on Ubuntu:
sudo apt-get update sudo apt-get install make gcc linux-headers-$(uname -r) build-essential git
If any of the packages above are not found check if your distro installs them like that.
For all distros:
git clone https://github.com/lwfinger/rtw89.git -b v5 cd rtw89 make sudo make install
How to disable/enable a Kernel module
sudo modprobe -r rtw89pci #This unloads the module sudo modprobe rtw89pci #This loads the module
Problem with recovery after sleep or hibernation
Some BIOSs have trouble changing power state from D3hot to D0. If you have this problem, then
sudo cp suspend_rtw89 /usr/lib/systemd/system-sleep/.
That script will unload the driver before sleep or hibernation, and reload it following resumption.
If it turns out that your system needs one of the configuration options, then do the following:
sudo nano /etc/modprobe.d/<dev_name>.conf
There, enter the line below:
options <device_name> <<driver_option_name>>=<value>
The available options for rtw89pci are disable_clkreq, disable_aspm, and disable_aspm The available options for rtw89core are debug_mask, and disable_ps_mode
Normally, none of these will be needed.
When your kernel changes, then you need to do the following:
cd ~/rtw89 git pull make sudo make install
Remember, this MUST be done whenever you get a new kernel – no exceptions.