Problems with RTL8852AE (rtw89)

I’ll make a new thread for that as the Realtek 8852AE is quite common. This WiFi-Module is not supported by any kernel yet and will not before 5.15.

The problem is that the available driver (rtw89) doesnt work in a VM and subsequently sys-net. Fedora 34 and Debian 10 tested, same result. qrexec cant connect anymore. Logs say qrexec (db agent and xen driver daemon) “failed” but no helpful informations why. There are no errors while compile or install. Everything done in sys-net’s TemplateVM. Funnily compiled/installed in sys-net I get the driver shown with lspci but could get it working either.

Now I got some the message “Loading out-of-tree modules taints kernel” followd be a row of “Unknown symbol … (err -2)” errors in sys-net logs while loading rtw89. Weird, because modprobe doesnt throw any errors?

How do you install it ? Do you install it with dkms properly, following the normal way of doing so, with the source code of the driver properly placed in /usr/src/ ?

First manually as suggested in the repo. Now I tried dkms but with included dkms.conf I get strange errors while building telling to check make.log which shows no error? With a minimal dkms.conf I can build and install without error but end with a kernel panic booting sys-net -_-

It gets even better: rtw89 seems included in latest linux-firmware already but is ignored? Or do I have to “enable” them? Even if i replace it with a newer .bin nothing happens …

I have struggled with a similar driver installation process to do it cleanly with dkms as it should always be, so that the driver can be self recompiled with kernel changes, automatically, when needed:

Here is the procedure they suggested, and it works really perfectly (Please change/adapt all folder / filenames to your own driver’s characteristics, including version number if you can get them):

from a disposable VM, that has access to network directly:

git clone https://github.com/gnab/rtl8812au.git
dvm-copy rtl8812au

Select your Template VM where you want to install the driver as VM destination of the copy.

Then, from the TemplateVM (Supposed Fedora based) you want to install your driver cleanly:

executed as "root" in the TemplateVM :

dnf install dkms
cd QubesIncoming/YourDisposableVm
cp -r rtl8812au /usr/src/rtl8812au-4.2.2
dkms add -m rtl8812au -v 4.2.2
dkms build -m rtl8812au -v 4.2.2
dkms install -m rtl8812au -v 4.2.2 

And you’re done, you just need to reboot the corresponding AppVM based on this template VM.

With this procedure, the new driver is cleanly installed in the system, and can self-recompile as needed.

Exactly what I have done. But dkms build fails

Then you should try to find a more recent source code, somewhere else, or you will be forced to see what’s wrong with the build and correct it yourself.

God damned drivers, always a pain …

sudo dnf install dpkg g++ gcc make automake gcc-c++ kernel-devel
git clone https://github.com/lwfinger/rtw89.git -b v5
cd rtw89
make
sudo make install

Try using it with kernel-latest from current-security.

1 Like

What repo do you mean? There is no current-security? Anyway, I tried it with the latest late kernel I could find … same result.

But after that I tried dkms (with minimal dkms.conf) and … got a new error/warning about missing vmlinux. I was done and turn of the template. By mistake I restarted sys-net still based one this template … and it started o_O
Now lspci shows for device 8852 kernel driver in use rtw89_pci and kernel module rtw89pci BUT STILL NO WIFI … Networkmanager still cant find it?!

oh sorry i mean current-testing repo, the latest one is kernel-latest-qubes-vm-5.13.6-1
lets try with :

  • use fedora-34 and using latest kernel, attach network pci to this.
  • update & install package
qubes-core-agent-networking qubes-core-agent-network-manager NetworkManager-wifi network-manager-applet wireless-tools dpkg g++ gcc make automake gcc-c++ kernel-devel 
---
 git clone (https://github.com/lwfinger/rtw89.git -b v5
 cd rtw89
 make
 sudo make install
---

If you can please do in new, unmodified template then just follow above step.

I will see if I can try that before the current device gets returned. If so it will take a few days before the new one arrives and I can test it. Stay tuned ^^

And I think I will try to get a Intel AX200 WiFi module and replace the RTL8852AE, that worked (almost) out of the box.

it will do, i use ax201
but try with rtw89 first, if possible.

Thx! The original instruction (using 5.13.6-fc32) did NOT solve the issue, but brought me on the right track. After that failed (again “unknown symbols”) I checked the current kernel set in vm settings. Was set correctly to default (5.13.6-fc32). So I switched to “none” (as HVM VMs can use there “own” kernel) and tried it again, using kernel 5.13.12-200.fc34 (checked thru uname -r) …

sudo dnf install ...

Shutdown template, restart sys-net with this template and no kernel (none) set …
And it works! This time NetworkManager recognizes WiFi immediately. Could not test in depth but I got a WiFi connection and could browse the internet.

Good to hear that, I still have another method and will be good if there’s an solution, but this workaround are enough :partying_face:

If I may ask, why are you returning the X1? Is it the fan? Mine is blowing like a pornstar over here.

Yes, fan noise, but not only. A related problem: The X1 got already hot by small tasks. How hot will it get under heavy load?! I had twice the situation I barely could touch it and all i did was charging while installing.
A nother big issue TO ME is that suspend doesnt work. As intels 11th gen skipped S3 I guess it will take years before qubes will support suspend on that platform, maybe never.

Another method? Which is that?

Yeah, WiFi working out of the box is always better ^^ As mentioned above, maybe kernel 5.15 will include it. I will see how relay able WiFi works. If I experience any problem the module gets replaced by AX200 or AX210.