Wifi driver issue

Hi guys, slightly trickier one today.

I have upgraded my Umbrel from a RPi5 to a Beelink S13 Pro mini PC.

I’ve installed the OS to a SSD fine and sorted out the bio to boot to Umbrel and that’s all working via Ethernet. The issue is when I’m trying to connect to wifi from within the Umbrel settings.

The error message I get is:
Wi-Fi is not supported on this device. This may be due to a missing or incompatible wireless adapter.

I have tried a few things such as:

sudo apt update
sudo apt install linux-firmware

And also installing a new wifi driver from the Intel Linux git but am stuck. Would someone be able to do a deep dive with me and figure this out? I did have wifi working on Ubuntu on this mini PC before installed Umbrel so I know it works.

@jofraprez one for you maybe? :laughing:

Let’s troubleshoot this step-by-step to get Wi-Fi working on your Beelink S13 Pro running Umbrel. Since you mentioned Wi-Fi worked on Ubuntu before installing Umbrel, the hardware is capable, and this is likely a software or configuration issue specific to Umbrel’s OS environment. The Beelink S13 Pro typically uses an Intel processor (often an N-series like N100 or N150) with an integrated Intel wireless adapter (commonly AX101 or similar).

Step 1: Confirm the Hardware

First, let’s identify the exact wireless adapter in your Beelink S13 Pro. Since Umbrel OS provides a terminal via its web interface (or SSH if enabled), access it and run:

lspci | grep -i network

This should output something like:

00:14.3 Network controller: Intel Corporation Wireless-AC 9560 [Jefferson Peak] (rev 10)

or, for newer N-series processors, it might show an AX101 or similar Intel Wi-Fi 6 module. Note the exact model. If lspci doesn’t show anything, it’s possible the adapter is USB-based (less common), so try:

lsusb

Let me know what you see here—this will confirm the chipset we’re working with.

Step 2: Check Kernel and Firmware

Umbrel OS might be running an older kernel or missing firmware for your Intel wireless adapter. To check the kernel version, run:

uname -r

For Intel AX101 (common in newer Beelink models), you need at least kernel 6.4 for full support, though some functionality might work with 5.15 or later if the right firmware is installed. Next, check if the firmware is loaded:

dmesg | grep -i iwlwifi

Look for messages like:

  • iwlwifi 0000:00:14.3: loaded firmware version XX.XXXXXX.X (indicating success)
  • iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-XXX failed (indicating missing firmware)

If firmware is missing, that’s likely the issue. You’ve already tried sudo apt install linux-firmware, which should pull in Intel’s iwlwifi firmware, but Umbrel’s repositories might not have the latest version. Let’s manually install the latest firmware:

  1. Download the firmware from Intel’s official source on another machine:
  • Go to Making sure you're not a bot!
  • Look for files matching your adapter (e.g., iwlwifi-so-a0-hr-b0-83.ucode for AX101 or similar). You can guess based on the lspci output or try a recent one like iwlwifi-so-a0-hr-b0-83.ucode.
  1. Transfer it to your Beelink (e.g., via USB or SCP over Ethernet):

scp iwlwifi-so-a0-hr-b0-83.ucode umbrel@<your-umbrel-ip>:/tmp/

  1. Move it to the firmware directory:

sudo mv /tmp/iwlwifi-so-a0-hr-b0-83.ucode /lib/firmware/ sudo chmod 644 /lib/firmware/iwlwifi-so-a0-hr-b0-83.ucode

  1. Reload the kernel module:

sudo modprobe -r iwlwifi sudo modprobe iwlwifi

  1. Check dmesg | grep -i iwlwifi again for errors.

Step 3: Verify Wi-Fi Detection

After loading the firmware, check if the wireless interface is detected:

iwconfig

You should see something like wlan0 or wlp2s0. If it says “no wireless extensions” for all interfaces, the driver isn’t working yet. Also try:

rfkill list

If Wi-Fi is “soft blocked” or “hard blocked,” unblock it:

sudo rfkill unblock wifi sudo rfkill unblock all

Step 4: Umbrel-Specific Configuration

Umbrel’s settings UI might not support Wi-Fi if it doesn’t detect a compatible adapter or if its network management scripts (e.g., NetworkManager or a custom solution) aren’t configured for it. Since Wi-Fi worked in Ubuntu, the issue might be Umbrel’s network stack. Check if NetworkManager is present:

nmcli dev status

If it’s installed and Wi-Fi shows up (e.g., wlan0), you can try connecting manually:

sudo nmcli dev wifi connect "SSID" password "YOUR_PASSWORD"

If nmcli isn’t available, Umbrel might use a different method (e.g., wpa_supplicant). Check /etc/network/interfaces or /etc/wpa_supplicant/ for clues. If it’s barebones, you might need to configure it manually:

  1. Create a WPA config:

sudo wpa_passphrase "SSID" "YOUR_PASSWORD" > /etc/wpa_supplicant.conf

  1. Start the connection:

sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf sudo dhclient wlan0

  1. If this works, you’ll need to integrate it into Umbrel’s boot process (e.g., via /etc/rc.local or a systemd service), as the UI might not support it natively.

Step 5: Known Issues with Intel AX101

The AX101 (common in Beelink N-series mini PCs) has had spotty Linux support. If the above doesn’t work, a common workaround is disabling Wi-Fi 6 features, which can cause compatibility issues:

sudo nano /etc/modprobe.d/iwlwifi.conf

Add:

options iwlwifi disable_11ax=1

Save, then reload:

sudo modprobe -r iwlwifi sudo modprobe iwlwifi

This forces the adapter to use older Wi-Fi standards (e.g., 802.11ac), which are more stable on some kernels.

Step 6: Next Steps

If none of this works, please share:

  • The output of lspci | grep -i network
  • The kernel version (uname -r)
  • Any dmesg | grep -i iwlwifi errors
  • Whether iwconfig sees a wireless interface

Hi @gringoperdido, you’ll have to excuse me because although I am techy, this is a tiny step too far for me.

Even going to the git.kernal.org website is daunting for me to try and find the right file…

Here are the outputs that you requested, can we go from here in baby steps please?

umbrel@umbrel:~$ lspci | grep -i network
00:14.3 Network controller: Intel Corporation CNVi: Wi-Fi
umbrel@umbrel:~$ uname -r
6.1.0-31-amd64
umbrel@umbrel:~$ dmesg | grep -i iwlwifi errors
dmesg: read kernel buffer failed: Operation not permitted
grep: errors: No such file or directory
umbrel@umbrel:~$ iwconfig
bash: iwconfig: command not found

Let’s get some more details. Some commands didn’t run.

Driver Status: Run lspci -knn | grep -i net -A3 and share the output to confirm if the iwlwifi driver is loaded.

  • Key Line to Look For: Kernel driver in use: iwlwifi. If this is missing, the driver isn’t loaded, which would explain why no Wi-Fi interface is detected (as seen with the iwconfig: command not found issue, which we’ll address next).
  • The -A3 in grep -i net -A3 ensures we see the three lines after the match, which include the driver information.

Firmware Errors: Run sudo dmesg | grep iwlwifi and share any errors, especially about firmware (e.g., “failed to load iwlwifi-cc-a0-*.ucode”).

Wi-Fi Interface: Run iwconfig and then run iw dev and share the output to see if a wlan0 interface is present.

You’ll need to install it first:
run sudo apt update
run sudo apt install wireless-tools
sudo apt install iw

Share what you find from the above… and let’s see what we need to do as per below>>>>

*////// If you want to read ahead :slight_smile: \\\\\*

Step 1: Recap of the Goal

The Intel CNVi Wi-Fi module (likely an AX101, AX201, or AX211) uses the iwlwifi driver in Linux. The kernel version (6.1.0-31-amd64) is recent enough to support this hardware, but we need to ensure:

  • The iwlwifi driver is loaded.
  • The correct firmware is installed.
  • The driver is properly configured for the CNVi module.

Your issue (“Wi-Fi is not supported on this device”) suggests the driver or firmware isn’t working correctly, or Umbrel’s network management isn’t detecting the Wi-Fi interface.


Step 2: Interpret the Diagnostic Outputs

Once you provides the outputs, we’ll look for the following:

  1. From lspci -knn | grep -i net -A3:
  • Key Line: Kernel driver in use: iwlwifi.
    • If present, the driver is loaded, and we can focus on firmware or configuration.
    • If missing, the driver isn’t loaded, and we need to load it manually or investigate why it’s not loading.
  • Device ID: The numeric ID (e.g., [8086:54f0]) will help identify the exact CNVi model (AX101, AX201, or AX211), which determines the firmware needed.
  1. From sudo dmesg | grep -i iwlwifi:
  • Firmware Errors: Look for errors like Direct firmware load for iwlwifi-cc-a0-*.ucode failed with error -2, which indicate missing firmware.
  • Driver Errors: Errors like Failed to start INIT ucode: -110 suggest a driver or firmware mismatch.
  1. From iwconfig or iw dev:
  • If a wlan0 interface is present, the driver and firmware are loaded, and the issue is with Umbrel’s network configuration.
  • If no interface is present, the driver isn’t working, likely due to missing firmware or a driver issue.

Step 3: Get the Right Drivers and Firmware

The iwlwifi driver is already part of the Linux kernel (since your kernel is 6.1, it’s included), so “getting the right drivers” primarily means ensuring the driver is loaded and the correct firmware is installed. Here’s how to do that based on the diagnostic outcomes:

Scenario 1: Driver Not Loaded (lspci Shows No Kernel driver in use: iwlwifi)

If the lspci output doesn’t show the iwlwifi driver in use, the driver isn’t loaded.

  1. Manually Load the Driver:

sudo modprobe iwlwifi

This attempts to load the iwlwifi driver module.
2. Check for Errors: After running modprobe, check the logs:

sudo dmesg | grep iwlwifi

  • If it loads successfully, you’ll see messages like iwlwifi 0000:00:14.3: loaded firmware version …
  • If it fails, you’ll see errors (e.g., firmware missing or hardware initialization failure).
  1. Ensure the Driver Module Is Available: The iwlwifi driver should be built into the 6.1 kernel, but confirm it’s available:

ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/intel/iwlwifi

You should see files like iwlwifi.ko. If it’s missing, the kernel might not have been compiled with iwlwifi support (unlikely, but possible on a custom Umbrel kernel). In that case, you’d need to install a new kernel with iwlwifi support (more on this later).

Scenario 2: Driver Loads but Fails Due to Missing Firmware (dmesg Shows Firmware Errors)

If the driver is loaded (or loads after modprobe) but dmesg shows firmware errors like Direct firmware load for iwlwifi-cc-a0-*.ucode failed, the firmware is missing or incompatible.

  1. Identify the Required Firmware: The firmware file depends on the CNVi model, which we can infer from the lspci device ID or dmesg error:
  • AX101: Needs iwlwifi-cc-a0-*.ucode (e.g., iwlwifi-cc-a0-59.ucode).
  • AX201: Needs iwlwifi-so-a0-*.ucode (e.g., iwlwifi-so-a0-hr-b0-64.ucode).
  • AX211: Needs iwlwifi-ty-a0-*.ucode (e.g., iwlwifi-ty-a0-gf-a0-66.ucode).The dmesg output will specify the exact file it’s looking for (e.g., iwlwifi-cc-a0-59.ucode).
  1. Check if Firmware Is Present: You already ran sudo apt install linux-firmware, but verify the files:

ls /lib/firmware/iwlwifi*

Look for the file mentioned in the dmesg error. If it’s missing, proceed to the next step.
3. Install the Firmware: If the firmware is missing, download it from the Linux firmware repository:

sudo mkdir -p /lib/firmware

For example, if dmesg says it needs iwlwifi-cc-a0-59.ucode (common for AX101):

sudo wget -P /lib/firmware https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-cc-a0-59.ucode

Or for AX201 (iwlwifi-so-a0-hr-b0-64.ucode):

sudo wget -P /lib/firmware https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-so-a0-hr-b0-64.ucode

You can adjust the URL based on the exact file needed.
4. Reload the Driver: After adding the firmware, reload the driver:

sudo modprobe -r iwlwifi sudo modprobe iwlwifi

Check dmesg again to confirm the firmware loaded:

sudo dmesg | grep iwlwifi

Scenario 3: Driver and Firmware Load, but No Wi-Fi Interface (iwconfig or iw dev Shows No wlan0)

If the driver is loaded and firmware is present, but no Wi-Fi interface appears, there might be a configuration issue with the iwlwifi driver.

  1. Check for CNVi-Specific Issues: CNVi modules sometimes require specific driver options. For example, Wi-Fi 6 (802.11ax) can cause issues on some systems:

sudo nano /etc/modprobe.d/iwlwifi.conf

Add:

options iwlwifi disable_11ax=1

Save, then reload the driver:

sudo modprobe -r iwlwifi sudo modprobe iwlwifi

  1. Check for Hardware Initialization Errors: Look at dmesg for errors like Failed to start INIT ucode: -110, which indicate the driver couldn’t initialize the hardware. This might require a kernel update or a different firmware version.

Scenario 4: Driver, Firmware, and Interface Work, but Umbrel Doesn’t Detect Wi-Fi

If a wlan0 interface appears in iwconfig or iw dev, the driver and firmware are working, and the issue is with Umbrel’s network management.

  1. Manually Connect to Wi-Fi: Use nmcli to connect:

nmcli device wifi list nmcli device wifi connect YOUR_SSID password YOUR_PASSWORD

If nmcli isn’t available, install it:

sudo apt install network-manager

  1. Investigate Umbrel’s Configuration: Look for Umbrel’s network configuration files:

find /etc -name "*network*" find /home/umbrel -name "*network*"

If Umbrel is disabling Wi-Fi, you might need to modify its configuration or reinstall Umbrel on a working Ubuntu base.

Scenario 5: Driver Not Available in Kernel (Unlikely)

If the iwlwifi driver isn’t available in the kernel (checked with ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/intel/iwlwifi), you’d need to install a new kernel with iwlwifi support. This is unlikely since kernel 6.1 includes iwlwifi, but if needed:

  • Install a newer kernel (e.g., 6.5) using the Ubuntu mainline kernel PPA:

sudo apt install software-properties-common sudo add-apt-repository ppa:cappelikan/ppa sudo apt update sudo apt install mainline sudo mainline install 6.5

  • Reboot and check the new kernel:

uname -r


Step 4: Summary of How to Get the Right Drivers

  • Driver: The iwlwifi driver is already in the 6.1 kernel. Ensure it’s loaded with sudo modprobe iwlwifi. If it’s missing (very unlikely), install a newer kernel.
  • Firmware: Download the specific firmware file needed (e.g., iwlwifi-cc-a0-59.ucode for AX101) from the Linux firmware repository, place it in /lib/firmware, and reload the driver.
  • Configuration: Adjust driver options (e.g., disable_11ax=1) if needed to resolve CNVi-specific issues.
  • Umbrel Fix: If the driver and firmware work but Umbrel doesn’t detect Wi-Fi, manually connect with nmcli or reinstall Umbrel on a working Ubuntu base.

Once yiou provide the diagnostic outputs, we can pinpoint which scenario applies and execute the corresponding steps.

umbrel@umbrel:~$ lspci -knn | grep -i net -A3
00:14.3 Network controller [0280]: Intel Corporation CNVi: Wi-Fi [8086:54f0]
	DeviceName: Onboard - Ethernet
	Subsystem: Intel Corporation CNVi: Wi-Fi (Wi-Fi 6 AX101NGW) [8086:0244]
	Kernel modules: iwlwifi
00:15.0 Serial bus controller [0c80]: Intel Corporation Device [8086:54e8]
--
01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
	Subsystem: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller [10ec:0123]
	Kernel driver in use: r8169
	Kernel modules: r8169
02:00.0 Non-Volatile memory controller [0108]: Micron/Crucial Technology P2 NVMe PCIe SSD [c0a9:540a] (rev 01)
umbrel@umbrel:~$ sudo dmesg | grep iwlwifi
[    2.090987] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[    2.096821] iwlwifi: No config found for PCI dev 54f0/0244, rev=0x370, rfid=0x10c000
[    2.096831] iwlwifi: probe of 0000:00:14.3 failed with error -22

Running both iwconfig and iw dev returns:

umbrel@umbrel:~$ iwconfig
-bash: iwconfig: command not found
umbrel@umbrel:~$ iw dev
-bash: iw: command not found
umbrel@umbrel:~$ ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/intel/iwlwifi
dvm  iwlwifi.ko  mvm

I hope these outputs help as I’m totally stumped.

grab these too:

sudo apt update
sudo apt install iw
run iw dev

Check for the Correct Firmware

The Intel AX101 typically requires firmware like iwlwifi-cc-a0-*.ucode. Check if it’s present:

ls /lib/firmware/iwlwifi-cc-a0*

  • If you see files like iwlwifi-cc-a0-59.ucode, the firmware is present. The dmesg error (No config found) suggests the issue might not be the firmware itself but the driver’s inability to recognize this specific revision of the AX101.

Manually Load the Driver and Check for Firmware Errors

Try loading the driver manually:

sudo modprobe iwlwifi

Then check the logs again:

sudo dmesg | grep iwlwifi

  • If you see a firmware error (e.g., Direct firmware load for iwlwifi-cc-a0-*.ucode failed), the firmware is missing or incompatible.
  • If the same No config found error persists, the driver in kernel 6.1 doesn’t support this revision of the AX101.

Install the Latest Firmware

Since the firmware might be missing or outdated, let’s reinstall linux-firmware and manually download the latest version for the AX101:

sudo apt update sudo apt install --reinstall linux-firmware sudo mkdir -p /lib/firmware sudo wget -P /lib/firmware https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-cc-a0-59.ucode

Reload the driver:

sudo modprobe -r iwlwifi sudo modprobe iwlwifi

Check the logs:

sudo dmesg | grep iwlwifi

  • If the firmware loads successfully, you’ll see a message like iwlwifi 0000:00:14.3: loaded firmware version …
  • If the No config found error persists, the firmware isn’t the issue—the driver itself is.

. Update the Kernel (If Necessary)

The No config found error suggests the iwlwifi driver in kernel 6.1.0-31-amd64 doesn’t support this specific AX101 revision (0x370). The AX101 is supported in kernel 5.10+, but newer revisions often require more recent kernels (e.g., 6.4 or 6.5) for full compatibility. Let’s update the kernel:

sudo apt install software-properties-common sudo add-apt-repository ppa:cappelikan/ppa sudo apt update sudo apt install mainline sudo mainline install 6.5

Reboot into the new kernel:

sudo reboot

Verify the new kernel:

uname -r

  • Kernel 6.5 should have better support for the AX101 (rev 0x370). After rebooting, recheck the driver and firmware:

sudo modprobe iwlwifi sudo dmesg | grep iwlwifi iw dev

If the Driver Loads and a Wi-Fi Interface Appears

If iw dev shows a wlan0 interface after the above steps, the driver and firmware are working. The issue then lies with Umbrel’s network management. Manually connect to Wi-Fi:

sudo apt install network-manager nmcli device wifi list nmcli device wifi connect YOUR_SSID password YOUR_PASSWORD

If Umbrel still doesn’t detect Wi-Fi, consider reinstalling Umbrel on a fresh Ubuntu 24.04 base where Wi-Fi is already working. :frowning: