RTL8821CE Wireless : lspci on dom0 see it but never worked


From your recent github issue:

Expert behaviour :
Please integrate RTL8821CE in the new rc3 and final 4.2 release. I really have to, and want because I like it so much, stay using qubesos.

As mentioned, it’s not a Qubes issue, the driver is in the kernel, but for some reason, it doesn’t work.
Not only in Qubes OS, others have the same issue with Linux distribution as well.

Also as suggest in this thread and here, if the default kernel doesn’t work (and it doesn’t), switch to to the ‘provide by qube’ kernel.

You don’t need to switch to PV mode.

To resume what you need to do:

  • for sys-net, select provided by qube kernel
  • shutdown your sys-net qube (if running)
  • download the github repository in a disposable qube
  • copy the content to your sys-net template
  • in the template, install the driver with sudo ./dkms-install.sh
    make sure the script is executable, if not use sudo chmod +x dkms-install.sh
  • in the template, blacklist the original kernel driver:
    echo "blacklist rtw88_8821ce" | sudo tee -a /etc/modprobe.d/blacklist.conf
  • shutdown your template
  • start your sys-net qube

It should works, it does for others.
I hope it will work for you too.


please have a look to my last try (with 4.2 RC3) I made this afternoon.
As you will see I can not go further and the situation stay the same.

Sincerely thank you for your help.

Have a nice day.

Hum, I don’t really know.

I saw you can’t get a working smartphone tethering, it would have been so much easier. :frowning:
It’s an other issue, but, you need to have a sys-net & sys-usb merged.
i.e. The required Qubes OS packages and the usb controller attached to that sys-net-usb qube.
And also the option provide Network set to True.

packages (I think you already have them, just in case)
qubes-core-agent-passwordless-root (optional, can't hurt to avoid more trouble)

There is some topic about it.

For the wifi driver:

You could try to get a fedora-38 iso.
Install fedora on another computer.
Get the kernel version of your sys-net qube when ‘provided by qube’ kernel option is set. (uname -r)
Install the same kernel version on the other computer.
Build the rtl8821ce driver with dkms.
Get the module file. /lib/modules/<kernel_version>/extra/8821ce.ko
Copy that file into your sys-net qube.
Blacklist the original driver (rtw88_8821ce).
Activate the new driver (sudo modprobe 8821ce). (I don’t know if it’s needed, but I think yes).
See if your wireless works.
If it does, create a new sys-net-2 qube, and install the new driver in it with dmks.
Delete the old sys-net and use the new one.

Don’t know if that will work, but why not. :slight_smile: