Opening the network menu on an Ubuntu laptop only to see the blunt declaration “No Wi-Fi Adapter Found. Make sure you have a Wi-Fi adapter plugged and turned on” in Settings cuts off connectivity immediately. While wired Ethernet might still function, modern portable computing relies on wireless connectivity. In Ubuntu Linux, the “No Wi-Fi Adapter Found” error occurs when the Linux kernel detects the physical PCI or USB wireless peripheral during hardware enumeration, but lacks the appropriate kernel module (driver) or proprietary binary firmware (blob) to communicate with the chip. This is particularly prevalent on hardware featuring modern Realtek, Broadcom, or Mediatek wireless silicon, or systems where UEFI Secure Boot prevents unsigned proprietary kernel modules from loading. This guide provides actionable steps to identify your network hardware, install missing drivers, and restore wireless connectivity in Ubuntu.
Underlying Factors Behind Missing Wi-Fi Drivers in Ubuntu
The Linux kernel includes open-source drivers for thousands of network devices, but many manufacturers decline to release open-source firmware. Primary causes of this error include:
- Missing Proprietary Firmware: Chipsets manufactured by Broadcom (e.g. BCM43142, BCM4360) and Realtek (e.g. RTL8821CE, RTL8852AE) require proprietary firmware distributed through Ubuntu’s restricted repository.
- UEFI Secure Boot Kernel Module Blocking: When Secure Boot is active, the kernel enforces cryptographic module signature checks. If third-party DKMS drivers lack an enrolled Machine Owner Key (MOK), Ubuntu silently refuses to load them.
- Hardware or Software Flight Mode Locks: Radio frequency hardware kill switches or software locks applied by the
rfkillsubsystem. - Kernel Regression After Updates: Installing a newer mainline kernel that lacks compiled DKMS headers for your specific Wi-Fi driver.
Method 1: Identify Your Exact Wireless Chipset
Before installing drivers, determine the precise manufacturer and model of your internal wireless card using low-level bus enumeration commands.
- Open your terminal by pressing Ctrl + Alt + T.
- For internal PCI/PCIe cards, run:
lspci -nnk | grep -iA3 net - For external USB Wi-Fi dongles, run:
lsusb - Inspect the terminal output. Look for lines mentioning Network controller or Wireless. Note down the chipset identifier (for example,
Realtek RTL8821CEorBroadcom BCM4360) and check whether a Kernel driver in use line is present. If that line is missing, the kernel has no active driver bound to the hardware.
Method 2: Check for Software and Hardware Radio Locks
The Linux rfkill subsystem manages physical and software radio transmitters. A soft lock completely disables the wireless interface at the kernel level.
- In your terminal, check the status of all wireless interfaces:
rfkill list all - Look at the entry for Wireless LAN. If either Soft blocked: yes or Hard blocked: yes is indicated:
- If Soft blocked is yes, unblock all radios by running:
sudo rfkill unblock wifi - If Hard blocked is yes, locate the physical Wi-Fi switch on your laptop chassis or toggle the wireless function key combination (e.g. Fn + F2 or Fn + PrtScn).
- If Soft blocked is yes, unblock all radios by running:
- Check Settings to verify if wireless networks now appear.
Method 3: Install Proprietary Drivers via Additional Drivers
Ubuntu features a built-in driver utility that scans hardware against Canonical’s database of tested proprietary packages.
- Connect your computer temporarily to the internet using a wired Ethernet cable, USB phone tethering, or a known-compatible USB Wi-Fi adapter.
- Open the Ubuntu Applications menu, type Additional Drivers, and launch the application (or open Software & Updates and switch to the Additional Drivers tab).
- Allow Ubuntu to query local hardware. If a proprietary driver is available (such as
bcmwl-kernel-sourcefor Broadcom), select the radio button next to Using [Driver Name]. - Click Apply Changes and authenticate with your user password.
- Once installation completes, restart your computer.
Method 4: Configure Machine Owner Key (MOK) for Secure Boot
If installing drivers via DKMS fails to activate the wireless adapter on a UEFI computer, Secure Boot is rejecting the unsigned kernel module.
- Reinstall the DKMS package while connected to the internet (e.g. for Broadcom):
sudo apt update && sudo apt install --reinstall bcmwl-kernel-source - During installation, Ubuntu will display a blue “Configuring Secure Boot” screen prompting you to create a temporary password. Enter a simple, memorable password and confirm it.
- Reboot your system. When your PC restarts, the blue Shim UEFI key management (MOK Management) screen will appear.
- Select Enroll MOK and press Enter.
- Select Continue, then choose Yes to enroll the keys.
- Enter the temporary password you created during package installation and select Reboot.
- Ubuntu will now boot with cryptographic approval to load the proprietary wireless driver.
Method 5: Restart the NetworkManager Daemon
If drivers are loaded but the desktop interface fails to refresh available SSIDs, restart NetworkManager to rebind the network interface.
- Execute the following systemctl command:
sudo systemctl restart NetworkManager - Wait 5 seconds and open the network dropdown from the top-right corner of your desktop. Available Wi-Fi networks will now be visible.