RTL8821CE Wireless : lspci on dom0 see it but never worked

@Migui

From your recent github issue:
https://github.com/QubesOS/qubes-issues/issues/8472

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.

Hi,

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.
https://github.com/QubesOS/qubes-issues/issues/8472

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)
qubes-core-agent-networking
qubes-core-agent-network-manager
network-manager-applet
NetworkManager-wifi
qubes-usb-proxy
qubes-input-proxy-sender

There is some topic about it.
https://forum.qubes-os.org/search?q=tethering

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:

Can report some update on this topic:

I managed to get the wifi chip RTL8821CE working under qubes 4.2.0.
Used template debian-12-xfce.
sys-net and sys-usb are separate qubes.

How I did it (what I remember for sure):

  • create standalone qube from debian-12-xfce template
  • used driver from https://github.com/tomaspinho/rtl8821ce (commit f119398d868b1a3395f40c1df2e08b57b2c882cd)
  • blacklisted other driver, by creating file /etc/modprobe.d/blacklist.conf
    with content blacklist rtw88_8821ce

How I did it (what I think I did):

  • sudo dnf-update-ed after some failed attempt to install driver with sudo ./dkms-install.sh

Configs of sys-net-vm:

  • init memory: 800MB
  • not included in memory balancing
  • provides network
  • kernel: provided by qube
  • Mode: HVM
  • devices: Realtek Network controller, Realtek Ethernet controller
  • services: clocksync

Sorry for being to lazy to reproduce the exact recipe. Was a long way to get there (tried with different templates and also with the lwfinger repo) and now I urgently need to get other stuff done.
I am happy if people can reproduce on their machines and let us know!