How to Enable WiFi in Fedora: A Complete Guide

Installing the operating system Fedora This is just the first step in creating a comfortable Linux-based work environment. Users often encounter a situation where the system doesn't detect the wireless module after installation, leaving the computer without access to the global network. This is especially true for laptops with the latest hardware or specific network cards that require proprietary drivers. Unlike Windows, where drivers are often built into the distribution, in the Linux world, manual intervention is sometimes required.

The problem with no connection may be due to a disabled hardware switch, a kernel-level lockup, or simply missing firmware packages. Understanding the architecture of network interfaces in Red Hat will help you quickly diagnose problems. You don't need to be a system administrator to run basic commands in the terminal.

In this guide, we will cover all the steps: from initial diagnostics to installing closed drivers for chips. Broadcom or RealtekWe'll cover both standard GUI utilities and powerful command-line tools. A critical step is to check the rfkill lock status before installing any packages. Please follow the instructions carefully to avoid configuration conflicts.

Diagnosing the status of the wireless interface

Before installing drivers, you need to make sure the system even sees the physical device. Often, the WiFi module is blocked by software or hardware. To check, use the utility nmcli, which is part of NetworkManager and is pre-installed in Fedora by default.

Open the terminal and enter the command to get general network information. This will show the status of all devices, including Ethernet and WiFi.

nmcli general status

If in the column WIFI the status is displayed disabled, which means the wireless module is disabled. It's also helpful to check the list of available devices with details:

nmcli device status

Here you will see the name of the interface, for example, wlp2s0 or wlan0If instead of the name there is unmanaged Or if the device isn't listed at all, the problem may be deeper. In this case, it's worth checking whether the adapter is blocked at a low kernel level.

⚠️ Attention: If the command output rfkill list you see the status Hard blocked: yes, software methods won't help. You need to find a physical switch on the laptop case or use a key combination (usually F2, F12 or Fn + antenna icon).

To remove the software lock, use the command to unlock all wireless devices:

sudo rfkill unblock all

After this, check the status again. If the device appears but doesn't connect, proceed to the next step.

Installing proprietary drivers and firmware

Fedora's licensing policy requires separation of free and non-free software. Many WiFi adapters, especially from Broadcom and some models Realtek, require binary blobs (firmware) that are not included in the main repository. To obtain them, you need to connect to the repository. RPM Fusion.

First, make sure you have the basic packages installed for building and managing repositories. Install the utilities:

sudo dnf install dnf-plugins-core

Next, add the non-free repository, where the necessary drivers are stored. The command depends on the Fedora version, but the general method is as follows:

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

After connecting the repositories, you need to update the package cache. This will take some time depending on the speed of your internet connection (if you have a cable or phone connection).

☑️ Preparing to install drivers

Completed: 0 / 4

Now you can install a complete set of firmware for a wide range of devices. Package akmod-wl often required for Broadcom cards, and linux-firmware contains common microcodes.

sudo dnf install akmod-wl linux-firmware

If you use adapters Realtek, a package may be required rtl8xxxu-firmwareAfter installing the drivers, be sure to reboot the system so that the kernel modules load correctly.

Configuring NetworkManager via the GUI

For most users, Fedora offers a user-friendly GNOME-based graphical interface. Network management is intuitive. If the drivers are installed correctly, a network icon will appear in the upper-right corner of the screen.

Click on the icon and select Wi-Fi NetworksYou will be presented with a list of available access points. Select your network from the list.

  • 📡 Enter your wireless network password in the window that appears.
  • 🔒 Make sure the security profile matches your router settings (usually WPA2/WPA3).
  • ⚙️ If necessary, click the gear to manually configure the IP address or DNS.

The system will automatically create a connection profile. If the connection fails, check your date and time settings. Incorrect system time can cause authentication errors on secure corporate networks.

📊 Which interface do you prefer for network configuration?
Graphical (GNOME/KDE)
Terminal (nmcli/nmtui)
Configuration files
I don't care as long as it works

You can also manage hidden networks in the graphical interface. To do this, select the option Connect to Hidden Wi-Fi Network and enter the SSID manually. This is often required in office networks where the access point name is not broadcast.

Using WiFi via the Terminal: nmcli and nmtui

For server versions of Fedora or when there is no graphical shell, an indispensable tool is nmcli (NetworkManager Command Line Interface) and its pseudo-graphical analogue nmtuiThe latter is especially convenient for quick setup.

Launching the utility nmtui Opens a text menu controlled by the keyboard arrows and the Enter key.

sudo nmtui

In the menu, select Edit a connection, then <Add> and type Wi-FiYou'll need to enter the SSID, security mode, and key. This is a reliable way to create a static profile that will work even if the GNOME desktop freezes.

For more advanced users, full control is available through nmcliBelow is the command to connect to the network:

nmcli device wifi connect"SSID_NAME" password"YOUR_PASSWORD"

This command will automatically create a connection and attempt to activate it. If the device is blocked, the command will return an error. I'll check. rfkill.

What should I do if nmcli reports "Secrets were required, but not provided"?

This means that additional data is required to connect, such as a username and password (EAP-TTLS), or the system cannot save the password in the keyring. Try adding the `--ask` parameter to the command or check the permissions for gnome-keyring.

Using the terminal offers the advantage of scripting capabilities. You can create a script to automatically switch between your home and office networks when the access point's MAC address changes.

Table of popular chips and required packages

Successful WiFi activation directly depends on the chipset manufacturer. Below is a reference table to help you determine the required package for your adapter model.

Manufacturer Chip series Required package (Fedora) Support status
Intel iwlwifi (3000, 7000, 8000, 9000 series) linux-firmware Native (out of the box)
Broadcom BCM43xx akmod-wl, kmod-wl Requires RPM Fusion
Realtek RTL8188, RTL8192 rtl8xxxu-firmware Native / firmware
Realtek RTL8812AU (USB) akmod-rtl8812au Requires compilation
Atheros AR9xxx linux-firmware Native

To determine the exact model of your device, use the command lspci for internal cards or lsusb for USB adapters.

lspci -k | grep -A 3 -i network

The output will show the kernel driver in use. If it says Kernel modules: wl or iwlwifi, then the driver has been selected. If the field is empty or specified Stub, the driver is not loaded.

Troubleshooting common connection errors

Even with the correct settings, conflicts can arise. A common issue is power management. Fedora may disable the WiFi adapter by default to conserve battery power, resulting in an unstable connection.

To disable power saving for WiFi, create a configuration file:

sudo nano /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

Add or change the parameter value wifi.powersave on 2 (what does turning off savings mean):

[connection]

wifi.powersave = 2

After this, restart the NetworkManager service with the command sudo systemctl restart NetworkManager.

⚠️ Note: Interfaces and package names may vary slightly between different Fedora versions (Workstation, Server, Silverblue). Always consult the official repository documentation if standard commands don't work.

Another cause of failures may be a MAC address conflict. Some ISPs bind access to a specific MAC address. In Fedora, you can clone a MAC address through the connection settings in the GUI or through nmcli.

If nothing helps, try temporarily disabling your firewall to prevent it from interfering with the connection process:

sudo systemctl stop firewalld

If WiFi works after this, then the problem lies in the packet filtering rules, which need to be configured correctly, rather than disabling protection completely.

Frequently Asked Questions (FAQ)

Why did WiFi stop working after updating the Fedora kernel?

When updating the kernel, driver modules, especially those compiled through akmod (for example, for Broadcom), may stop loading if kernel headers are not installed (kernel-devel). Make sure the packages kernel-devel And kernel-headers installed for the current kernel version, and run sudo dnf update to reassemble modules.

How to enable WiFi in Fedora Silverblue or Kinoite?

In immutable versions of Fedora, you can't simply install packages via dnf. You must use rpm-ostreeThe command will look like this: rpm-ostree install akmod-wl (or another required driver), after which a system reboot is required.

Can I use an external USB WiFi adapter with Fedora?

Yes, most adapters with Realtek and Ralink chips are supported. However, for modern WiFi 6 (AX) standards, support in the Linux kernel may still be in development. Please check the compatibility of your specific model before purchasing.

Where can I find the connection error log?

The main NetworkManager log is located at /var/log/NetworkManager or accessible via systemd: journalctl -u NetworkManager -fThere you can see a detailed handshake process with the router.

How do I reset all network settings to factory defaults?

Delete the connection configuration files in the directory /etc/NetworkManager/system-connections/. Team sudo rm /etc/NetworkManager/system-connections/* will delete all saved profiles, after which the network will need to be configured again.