Installing Realtek drivers on Fedora Silverblue — what am I doing wrong?

A couple days ago, my “BT + AC600” WiFi USB dongle stopped working entirely. This issue would be pretty easy to solve on a non-immutable distribution by cloning a git repository and running some build commands. That would work on a setup that can use DKMS, but Fedora Silverblue doesn’t support it.

I figured out that the dongle needed a Realtek driver in the rtl88xx range. There were a lot of drivers that could be installed by cloning a git repository and running a make command, and most of them offered a way to do it without DKMS. Actually getting that to work on Silverblue is not so straightforward. Luckily, I found a little note from someone on this forum talking about how to install Realtek network drivers on Silverblue.

Fedora forum discussion about Realtek drivers on Fedora Silverblue
OSTree issue that was mentioned

The procedure involves building kernel modules in a Toolbox and transferring the .ko files. I installed the Development Tools group as well as kernel_modules, kernel_headers, and kernel_devel through DNF. I decided to try it with a popular rtl8812au driver, but, as with the others, it threw this strange error when I tried to compile it with make && make install:

make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.10.3-200.fc40.x86_64/build M=/var/home/rocky/Documents/projects/rtl8812au  modules
[...]
make[1]: *** /lib/modules/6.10.3-200.fc40.x86_64/build: No such file or directory.    Stop.

“Aircrack” rtl8812au module on GitHub with ~3k stars

What am I doing wrong in compiling the kernel module? Is there a better way to install it on Fedora Silverblue?

1 Like

Could you post the complete list of commands that you used to set this up so that it’s easier for us to reproduce your issue? Thanks

Of course, sorry. Here’s how I created the Toolbox, installed dependencies, and got stuck on building the image.

toolbox create kernel
toolbox enter kernel
sudo dnf update && sudo dnf upgrade
sudo dnf group install "Development Tools"
sudo dnf install kernel-devel kernel-headers kernel-modules

# These are dependencies of the module.
# Packages installed here may already be on the default system.
# This is just to be sure.
sudo dnf install bc mokutil elfutils

git clone https://github.com/aircrack-ng/rtl8812au
cd rtl8812au
make && make install

I will reproduce this again myself in a bit.

1 Like

I’ve just tried your instructions here and it worked for me (I did not tried the actual module).

Maybe it’s a mismatch between the kernel version inside the toolbox and the one on the host? Make sure to use the same ones.

Okay, yeah I did get the feeling that it was version mismatch. How would I make sure the kernel is up date?

You can always update your system first and reboot or install the matching kernel package in your toolbox.

Note that sometimes the repos have a newer package than what’s in the image so you might need to use the archive repo (look in /etc/yum.repos.d) in your toolbox to get an older version.

I resolved the mismatch and was able to build the kernel module and install it with insmod. The issue now is that the WiFi still won’t connect. It might have something to do with modprobe not being able to access the file when I bring it up.

What’s different from the start is that now my network shows up in nmcli device.

I’m looking through journalctl -b right now.

Seems like it’s an issue of the connection timing out.