How to connect to Wi-Fi?

I’ve looked all over the internet on how to do this, but I still can’t figure it out; I am trying to connect to the internet through Qubes OS. Even if I have to connect through a Qube, I still cannot find out how to connect to the internet. I installed Qubes OS on a Surface Pro 4, and the Internet worked before when I ran windows and then ubuntu on it.

I’ve also tried playing around with all of the options and I could not connect to wifi. I reinstalled Qubes OS, and I still failed to connect to the internet.

Does anyone know how to connect to Wi-Fi in Qubes OS?

Do you have your WiFi Network controller attached to sys-net?
Check the Devices tab in sys-net Qube Settings.

I do have an ethernet controller, which is currently selected, but no sort of “Wi-Fi Network Controller”…

Is it this one?
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88W8897 [AVASTAR] 802.11ac Wireless
Do you have NetworkManager icon in tray?
If not then show the output of this command in sys-net terminal:
lspci -k -s 02:00.0

Also if you’re using debian template then check if you have firmware-libertas package installed:
Debian -- Details of package firmware-libertas in bullseye

And yes I believe it is 02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88W8897 [AVASTAR] 802.11ac Wireless

Although I am trying to connect to Wi-Fi wirelessly, not by ethernet (sorry I’m a bit confused…)

The Network icon only displays “VPN Connections” when I click on it. Is that what you mean by NetworkManager icon in the tray?

Yes.
It’s most probably that you don’t have the required Wireless controller firmware installed in your template.
What template are you using for sys-net?

In the Qube Manager it says that sys-net has the debian-11 template…

Open debian-11 template terminal and install the firmware-libertas package there by running this command:
sudo apt install firmware-libertas
Then shutdown debian-11 template and restart sys-net to see if it’ll make your wireless controller work.

But how would I do that if I don’t have an internet connection?
The apt package manager requires an internet connection to work.

And I’m using a surface pro 4, meaning that I cannot simply connect to wifi using an ethernet cable…

Sorry, forgot that you don’t have the internet working.
In that case you’ll need to download the package from another computer and transfer it in Qubes with USB drive.
Download firmware-libertas_20210315-3_all.deb from any mirror here:
Debian -- Package Download Selection -- firmware-libertas_20210315-3_all.deb
Copy it on your USB flash.
Plug in this USB in Qubes PC.
Open a new disposable VM terminal or some untrusted qube terminal and attach the USB flash partition to this qube:
How to use USB devices | Qubes OS
Then mount the attached USB drive partition in your qube terminal:
sudo mount /dev/xvdi /mnt
Then transfer the downloaded firmware package from your USB drive to debian-11 template by running this command in disposable/untrusted qube terminal:
sudo qvm-copy /mnt/firmware-libertas_20210315-3_all.deb
After it’ll finish the transfer open debian-11 template terminal and copy the downloaded package to the apt cache directory:
sudo cp ~/QubesIncoming/<replace this text with the name of disposable/untrusted qube>/firmware-libertas_20210315-3_all.deb /var/cache/apt/archives/.
Then try to install firmware again:
sudo apt install firmware-libertas

3 Likes

Alright, thanks! It worked.

thanks for these beginner-friendly instructions, the installation that @tzwcfq posted above, but just in case there’s another pleb following these: after inserting your USB, you have to select it from the USB icon in the tray (that weird yellow screen with purple arm icon) the USB (in my case sda1) and connect it to the disposable qube first. Then you can proceed with sudo mount /dev/xvdi /mnt (yes, it’s called xvdi and not sda1).

Installation worked well for me but I’m still offline and don’t see any networks :-/

Hello I am facing the same problem but I am running Fedora 41-xfce. Can you write the same instructions if I have Fedora? Thank you very much.

I assume that you need the same firmware, absent any detail from
you.
You can use https://fedora.pkgs.org/ to look for the firmware you need
and check dependencies.
Download all the packages needed from the provided links.
Copy packages to a USB
Plug in this USB in Qubes PC.
Open a new disposable VM terminal or some untrusted qube terminal and
attach the USB partition to this qube
Mount the attached USB drive partition in your template terminal:
sudo mount /dev/xvdi /mnt
Transfer the downloaded firmware package from your USB drive to the
Fedora template by running this command in disposable/untrusted qube terminal:
sudo qvm-copy /mnt/NAMES_OF_PACKAGES
In the Fedora template, open a terminal:
cd QubesIncoming/NAME_OF_DISPOSABLE
sudo dnf install *.rpm

(If the install fails because of missing dependencies, note what is
required, and repeat the process for those packages.)

Shutdown the disposable
Remove the USB stick

N.B The items in capitals are to be replaced with the actual names used.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

I am follow all step to did, but it wont work
[ 3.407581] ath11k_pci 0000:00:06.0: BAR 0: assigned [mem 0xf2000000-0xf21fffff 64bit]
[ 3.410292] ath11k_pci 0000:00:06.0: MSI vectors: 1
[ 3.410709] ath11k_pci 0000:00:06.0: wcn6855 hw2.1
[ 4.400111] ath11k_pci 0000:00:06.0: chip_id 0x12 chip_family 0xb board_id 0xff soc_id 0x400c1211
[ 4.400117] ath11k_pci 0000:00:06.0: fw_version 0x11088c35 fw_build_timestamp 2024-04-17 08:34 fw_build_id WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41
[ 4.650786] ath11k_pci 0000:00:06.0: leaving PCI ASPM disabled to avoid MHI M2 problems
[ 5.673368] ath11k_pci 0000:00:06.0: failed to receive control response completion, polling…
[ 6.696443] ath11k_pci 0000:00:06.0: Service connect timeout
[ 6.696463] ath11k_pci 0000:00:06.0: failed to connect to HTT: -110
[ 6.696944] ath11k_pci 0000:00:06.0: failed to start core: -110
[ 6.906085] ath11k_pci 0000:00:06.0: ignore reset dev flags 0x4000
[ 7.013554] ath11k_pci 0000:00:06.0: ignore reset dev flags 0x4000
[ 17.064434] ath11k_pci 0000:00:06.0: failed to wait wlan mode request (mode 4): -110
[ 17.064482] ath11k_pci 0000:00:06.0: qmi failed to send wlan mode off: -110

That looks like a Qualcomm: did you check to see what firmware you would
need, and what package did you download?
What is the exact device you are trying to use?

I never presume to speak for the Qubes team. When I comment in the Forum I speak for myself.

ths for help
The device in use is an HP 845 G9 with an AMD Ryzen 9 PRO 6950HS with Radeon Graphics.
The wireless network card appears as Qualcomm FastConnect 6900 Wi-Fi 6E Dual Band Simultaneous (DBS) WiFiCx Network Adapter in Windows, and as Qualcomm QCNFA765 in Qubes OS.

The templates used in Qubes VMs include Debian 12 and Fedora 37, 41 When using the default drivers (the ones included during installation), the same error appears.

On Fedora, the following steps have been attempted to reinstall the driver:

sudo dnf install linux-firmware
sudo dnf reinstall linux-firmware

The firmware version in use is hw2.1, and the available directories are:

/lib/firmware/ath11k/WCN6855/hw2.1
/lib/firmware/ath11k/WCN6855/hw2.0