Kernel 6.08-15, RTL88x2bu (AC 1200) wifi not working

Hi. When I got home, my Qgoo Wi-Fi Adapter RTL88x2bu (AC 1200) was not working—it was not picking up any wireless signals. When trying to install the driver, I saw that there was a bad return status for 6.08-15, so I went to recovery mode and reverted to 5.15.0-133, and the Wi-Fi was fine.
What should I do? Isn't running on an older kernel a security risk? Thanks.


1 Like

What are you using to install the driver? Which driver?

Newer kernels may not need an 'out of tree' driver for that wifi adapter, however there are ongoing issues with the in-tree (a.k.a. mainline) driver: see Maintenance after Debian Trixie · Issue #270 · cilynx/rtl88x2bu · GitHub.

I would first remove the out-of-tree driver, e.g. dkms remove rtl88x2bu/5.13.1 -k 6.8.0-52-generic. Then restart your system, and see if the in-tree driver is loaded: lsmod | grep rtw88.

If it's working, great. If the in-tree driver doesn't work, then you'll have to blacklist the in-tree driver, and then install the out-of-tree driver (see GitHub - cilynx/rtl88x2bu: rtl88x2bu driver updated for current kernels.).

If the install fails, then a good place to query the problem would be the out-of-tree driver's GitHub page. Otherwise, you could post the log here; e.g. upload /var/lib/dkms/rtl88x2bu/5.13.1/build/make.log as that will provide more information about what specifically failed while the (out-of-tree) driver was being built for the kernel.

2 Likes

In answer to:

My guess: Running older kernels is more of a security risk once other applications can no longer be updated (due to the ever-breaking nature of Linux distributions) or if their security fixes aren't backported. Kernel space itself is ... reasonably well regulated :neutral_face:

2 Likes

Hi. When I was trying to install the rtl88x2bu driver, the old version, I was unaware that a new version had to be created for new kernels. Using the old driver (because I was unaware of this change), I entered the folder for the old driver and typed ./sh install-driver.sh I am going to blacklist this old driver, restart, and run the installer again. What I have done so far is to dl the driver for the new kernels (doesn't that mean that the driver that's supposed to be included, the RTW88, doesn't work on my computer because when 6.08 is loaded, I cannot access wifi?), I installed the new with the Make command and restarted. The wifi still did not work, so like I said, I'm going to blacklist the old, restart, and run the Make and Make Clean command again. I could not attach the file format of *.log?

1 Like

I went to folder of modprobe.d to blacklist rtl88, but upon right-click, I didn't see Open as Administrator, so couldn't create the blacklist file. I saw the two wifi adapters, the rtw and the old one, the rtl88, thought having the two drivers installed was a problem, so tried navigating to the folder for the rtl88 and running uninstall-driver.sh, then restarted and went to folder for new driver and entered the make command, then restarted. Still, the wifi didn't work, so I went back to the old kernel and reinstalled the old driver, the rtl88. Thanks.

1 Like

You use "old version" and "old driver" in ways that are a little confusing.

Firstly, I'd like to clarify what "in tree" and "out of tree" mean.

  • "in tree" means that the driver (module) is part of the mainline kernel; it does not need to be installed by you.
  • "out of tree" means that the driver is not part of the mainline kernel project; but it can be installed by you (e.g. with modprobe and DKMS and the like).
    • these modules are 'use at your own risk'.

As we've already covered, there is an "in-tree" driver for the underlying wifi chipset in kernel 6.8.x. The code is sitting right here. With a clean kernel (i.e. one where you haven't installed any out-of-tree drivers) we can check if the module been loaded with lsmod | grep rtw88.

Now, I'll take it as given that with a clean 6.8.x kernel; the wifi was not working for you.

This means we must blacklist the in-tree driver if we want to install and use an out-of-tree driver. We can blacklist via a terminal command:

echo "blacklist rtw88_8822bu" | sudo tee /etc/modprobe.d/blacklist-rtw88_8822bu.conf

I am still not sure what driver you had installed (for either kernel) as you did not answer:

Because I don't know what you have installed; it makes it hard to provide advice for how to clean it up (if needed) on your 6.8.x kernel. I have no insight as to what uninstall-driver.sh does because I don't know what driver I'm looking at.

Once you have cleaned it out for 6.8.x, there are at least three out-of-tree drivers that are compatible with kernel 6.8.x and might work with your wifi device:

I'd probably try them in that order.

4 Likes

Thanks for your excellent post--I'm going to later post the code from Pluma for the driver install file I mentioned so that everything is clear. Sorry for switching between the terms Old Version and Old Driver--I mean the same thing, the rtl88x2bu, the driver that had to be replaced with a version specifically for new kernels.

2 Likes

It'd be great if you could narrow it down to where the driver actually comes from. As you may have noticed, that's actually the name of multiple (out-of-tree) modules that can be found on the internet.

2 Likes

Hi. This is where I got the driver from:

Qgoo USB Wifi

I'm attaching the contents of the Modprobe.d folder in the hope it's helpful because when installing the driver from lwfinger in Github, it seems like I saw the rtw mentioned, and it's currently blacklisted. Also, I went through the Steps for Secure Boot because I think this clomputewr is--when I install Nvidia through Additional Software, I always have to mess with that.

Thank you for letting me know what driver you are using.

That driver is also listed as being compatible with 6.8, and in particular Ubuntu 24.04.

Chances are - the reason it hasn't build successfully on your machine is a missing dependency. Without the log; I can't provide further help. You can either open an issue on GitHub and upload the log file there; or you could add the log file to pastebin (or similar service).

1 Like

Hi. The log mentions this error: Skipping BTF generation for /var/lib/dkms/rtl88x2bu/5.13.1/build/88x2bu.ko due to unavailability of vmlinux. I have UM 20.04.

1 Like

That log is from a successful build on your earlier kernel (5.15). The hint is at this line:

make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-133-generic'

According to the pastebin (and from my understanding) skipping BTF generation is not an error.

We'd need the log from when you try to install on 6.8.x.

2 Likes

I thought it was wrong, but between trying the three drivers mentioned to get wifi for 6.08, got a little loopy. Sorry.

/var/lib/dkms/rtl88x2bu/5.13.1/build/make.log As you can see from the screenshot, the folder "build" is not present. I have Jammy--earlier I said I had the previous release. Sorry about that. As an aside, I was wondering if when I click the reply button in your post are you the only one that sees it? I don't want to keep others that might have ideas from seeing the post.

2 Likes

Everyone should be able to see them.

That looks like it has been fixed in all of the drivers, both the ones I've listed and in the latest version of the one @pavlos_kairis provided.

The contents of your var/lib/dkms/rtl88x2bu look very odd.

Remove that driver using dkms remove rtl88x2bu/5.13.1 -k 6.8.0-52-generic. Remove every driver you've ever tried with dkms remove <insert name here> -k 6.8.0-52-generic (you might need to look at ls /var/lib/dkms/rt* for clues). Get rid of the driver source code in your user folder. Get the latest source code from here: https://github.com/morrownr/88x2bu-20210702/archive/refs/heads/main.zip - try again.

Alternatively, try one of the other drivers listed earlier.

2 Likes

Also - to get the latest source for any of these drivers, go to their GitHub page and look for the <> Code button; click it, then select Download ZIP.

2 Likes

Everything is fine now--thank you for the fantastic help. BTW, do you experts usually have situations that have 15 posts--just wondering. TY.

3 Likes

A dozen or so posts seems good to me. Navigating the way drivers are installed on Linux is a PITA. I barely understand it myself - and I've contributed to out-of-tree drivers.

Glad to hear if the wi-fi is now working on 6.8.x! If you don't mind; post which driver ended up working as it may help others with the same device.

2 Likes

Hope it helps others--the driver that worked for me is the driver developed by same person as the driver for the old kernels; Updated Driver for newer kernels

I ran the driver-uninstall.sh because the author warned that multiple out-of-kernel (out-of-tree?) drivers for the same hardware does not usually work. Then, I ran the computer from 6.08.x and used the install script.

3 Likes

Definitely - in theory you can have different drivers on different kernels; but I don't know what will happen once the kernel is updated.

1 Like