Your Wi-Fi worked fine in Windows, but after installing Ubuntu the network list is empty, or Settings says “No Wi-Fi Adapter Found.” This almost always means the radio is switched off, Ubuntu has no driver loaded for your wireless chip, or the driver is missing a firmware file. You don’t need to reinstall anything.
Wi-Fi Not Working After Installing Ubuntu: Quick Reference
| Symptom | Likely Cause | Go To |
|---|---|---|
| Wi-Fi toggle is off or Airplane Mode is on | Radio switched off | Fix #1 |
rfkill list shows “Soft blocked: yes” or “Hard blocked: yes” | Radio block | Fix #2 |
| No “Kernel driver in use” line for your chip | No driver loaded (missing module, firmware, or kernel support) | Fix #5, then Fix #8 for very new chips |
| Broadcom chip, no networks | Some Broadcom chips need a driver Ubuntu doesn’t install by default | Fix #5 |
Driver loaded, but firmware errors in dmesg | Missing or outdated firmware | Fix #6 |
| Works in Windows, not in Ubuntu (dual boot) | Windows Fast Startup | Fix #7 |
| Brand-new laptop with a Wi-Fi 6E/7 chip | Kernel too old for the chip | Fix #8 |
Why Ubuntu Can’t See Your Wi-Fi
Ubuntu has no single “Wi-Fi driver.” Intel, Realtek, MediaTek, Broadcom, and Qualcomm chips each use their own driver. Many of those drivers also need a separate firmware file. Ubuntu includes most of them, but a few cases slip through. Some Broadcom chips need a proprietary driver. Very new chips may need a newer kernel. On dual-boot PCs, Windows can leave the card in a state Linux struggles with.
Ubuntu’s own wireless troubleshooting guide uses the same approach: first identify the chip, then find the driver for it.
Note: These steps use the default GNOME desktop on Ubuntu Desktop 24.04 LTS and 26.04 LTS. On flavors like Kubuntu or Xubuntu, the terminal commands are the same, but menu names and locations will differ.
Before You Begin
- Ubuntu Desktop 24.04 LTS or 26.04 LTS installed and booting
- Your user password (for commands that start with
sudo) - A temporary internet source: an Ethernet cable, or a phone that supports USB tethering plus its USB cable
- About 20–30 minutes
| Requirement | Details |
|---|---|
| OS | Ubuntu Desktop 24.04 LTS or 26.04 LTS |
| Desktop | GNOME (Ubuntu’s default) |
| Internet | Needed for Fixes #5, #6, and #8 |
| Dual-boot only | Access to your Windows install for Fix #7 |
To open Terminal, press Ctrl + Alt + T. When a sudo command asks for your password, type it and press Enter. Nothing appears on screen as you type. That’s normal.
Step-by-Step Fixes
Fix #1: Turn On Wi-Fi and Turn Off Airplane Mode
Start here. A disabled radio looks exactly like a missing driver.
- Click the system status area in the top-right corner of the screen (the network, volume, and battery icons).
- Check the Wi-Fi tile. If it’s grey, click it to turn Wi-Fi on.
- If you see an Airplane Mode tile or indicator, click it to turn Airplane Mode off.
- Open Settings > Wi-Fi and confirm the Airplane Mode switch is off.
- Read what the Wi-Fi page shows. If it lists networks, connect to yours. If it says “No Wi-Fi Adapter Found,” Ubuntu can’t see a working wireless device. Continue to Fix #2.
Expected result: Networks appear in the list within a few seconds, or you’ve confirmed this is a deeper problem.
Fix #2: Check for a Radio Block With rfkill
rfkill is a built-in tool that reports whether a wireless radio is blocked. A soft block is a software switch, such as Airplane Mode or a setting Ubuntu remembered. A hard block is a physical switch, a function key, or a BIOS/UEFI setting. Software commands can’t override a hard block.
- Open Terminal with
Ctrl + Alt + T. - Run:
rfkill list
- Find the entry labeled Wireless LAN. It looks like this:
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
- If it says Soft blocked: yes, unblock it:
sudo rfkill unblock wifi
- If it says Hard blocked: yes, check for a physical Wi-Fi switch on the laptop’s edge. Also try the function-key combo with the antenna icon (often
Fnplus one of the F-keys). If neither works, check the wireless setting in your BIOS/UEFI. - Run
rfkill listagain. Both lines should now readno.
Expected result: If there’s no Wireless LAN entry at all, Ubuntu doesn’t have a driver bound to the chip. Move on to Fix #3.
Fix #3: Identify Your Wireless Chip
Knowing the exact chip is the single most useful step. It tells you which fix applies and stops you from downloading random “Linux drivers” from untrustworthy sites.
- In Terminal, run:
lspci -nnk | grep -A3 -i network
In plain English: lspci lists the internal PCI devices. -nn adds the vendor and device ID numbers. -k shows which driver is attached. The | grep -A3 -i network part filters the list down to the network controller plus the three lines after it.
- Read the first line. It names the vendor (for example, Intel, Realtek, MediaTek, Broadcom, or Qualcomm). It also shows an ID in brackets, like
[14e4:xxxx]. Write that ID down. - Look for a line that starts with Kernel driver in use:.
- Present: A driver is loaded. The problem is likely firmware (Fix #6), Fast Startup (Fix #7), or a stuck service (Fix #4).
- Missing: No driver is attached. That points to a missing kernel module, missing firmware, or a chip your kernel doesn’t support yet. Try Fix #5 first, since Additional Drivers will show any driver Ubuntu can offer. If it lists nothing and your chip is very new, see Fix #8.
- If nothing shows up, your Wi-Fi may be a USB adapter or a USB-connected module. Run:
lsusb
- Look for a line mentioning wireless, Wi-Fi, or 802.11, along with the vendor name.
Expected result: You know your chip’s vendor, its ID, and whether a driver is loaded.
Fix #4: Restart NetworkManager
NetworkManager is the background service that handles Wi-Fi connections in Ubuntu. If a driver is loaded but Wi-Fi still looks dead, restarting the service can clear a stuck state.
- Run:
sudo systemctl restart NetworkManager
- Wait about 10 seconds.
- Reopen the Wi-Fi menu in the top-right corner and check for networks.
Expected result: Networks appear. If not, you need a driver or firmware, which means you need internet first.
Fix #5: Get Online Temporarily, Then Use Additional Drivers
Downloading a driver requires internet, which is the catch-22. A wired connection is easiest. Plug in a Cat6 Ethernet cable, or use a USB-C to Ethernet adapter if your laptop has no Ethernet port. If neither is available, tether your phone.
Set up USB tethering from your phone
- Connect your phone to the PC with a USB cable.
- On Android, open Settings and find Hotspot & tethering. It’s usually under Network & internet or Connections, depending on the manufacturer. Turn on USB tethering.
- On iPhone, turn on Personal Hotspot and tap Trust if prompted. iPhone tethering over USB is less consistent on Linux, so try Android or Ethernet first if you have the choice.
- In Ubuntu, open Settings > Network. The phone should appear as a wired connection.
- Open Firefox and load any website to confirm you’re online.
Install a proprietary driver
Additional Drivers scans your hardware and offers drivers Ubuntu doesn’t install by default. This is most common with Broadcom Wi-Fi chips.
- Click Show Applications (the grid icon in the dock).
- Type Additional Drivers and open it. This launches Software & Updates on the Additional Drivers tab.
- Wait for the scan to finish.
- If a wireless driver is listed, select the option Ubuntu marks as proprietary or recommended. For Broadcom chips, this is the Broadcom proprietary driver.
- Click Apply Changes.
- Enter your password when prompted.
- When the install finishes, restart the PC.
What if Additional Drivers shows nothing? That doesn’t mean your hardware is unsupported. Some Wi-Fi drivers are already built into the Linux kernel itself, so there’s nothing extra for Additional Drivers to offer for those chips.
An empty list usually means one of three things:
- The driver is already built in, but its firmware is missing (Fix #6).
- The chip is too new for your kernel (Fix #8).
- The device isn’t detected at the hardware level (go back to Fix #2 and Fix #3).
Warning: Avoid NDISwrapper and other guides that load Windows
.infdrivers into Linux. That approach is outdated, fragile, and rarely the right answer on current Ubuntu.
Fix #6: Reinstall or Update linux-firmware
Many Wi-Fi drivers load fine but can’t start the card without a firmware file. Those files come from the linux-firmware package. The kernel log will tell you if a firmware file failed to load.
- Check the kernel log for firmware errors:
sudo dmesg | grep -i firmware
dmesg prints messages from the Linux kernel. On most Ubuntu installs you need sudo to read it. Look for lines that mention your driver (for example, iwlwifi for Intel) alongside words like “failed,” “missing,” or “error.”
- With your temporary connection active, refresh the package list:
sudo apt update
- Reinstall the firmware package:
sudo apt install --reinstall linux-firmware
- Install all other pending updates as well:
sudo apt full-upgrade
This installs all pending system updates, including kernel updates, so it can take a while and may download a lot of data. Plug in your laptop first.
- Restart the PC.
Expected result: If a missing or outdated firmware file was the problem, your networks appear in the Wi-Fi menu after the reboot. Run the dmesg command again and check that the new boot no longer shows firmware errors for your driver. If they’re still there, your chip may need a newer kernel (Fix #8).
Fix #7: Turn Off Windows Fast Startup (Dual-Boot PCs)
If Wi-Fi works in Windows but not in Ubuntu on the same laptop, Windows Fast Startup is a common suspect. Fast Startup doesn’t fully power down the PC. Instead, it saves part of the system state, which can leave hardware like the Wi-Fi card in a state Linux can’t reset properly. This is a widely reported dual-boot issue rather than something Ubuntu’s official documentation covers, but it’s quick to rule out.
- Boot into Windows.
- Open Control Panel > Hardware and Sound > Power Options.
- Click Choose what the power buttons do.
- Click Change settings that are currently unavailable.
- Uncheck Turn on fast startup (recommended).
- Click Save changes.
- Shut Windows down completely. Choose Shut down, not restart or sleep.
- Power on and boot into Ubuntu.
- Check the Wi-Fi menu again.
Expected result: Wi-Fi appears in Ubuntu. Turning off Fast Startup also helps with other dual-boot problems, such as the clock being wrong in one OS.
Fix #8: Get a Newer Kernel for Brand-New Wi-Fi Chips
Very new chips, especially Wi-Fi 6E and Wi-Fi 7 models in recent laptops, sometimes need a newer kernel or firmware than your Ubuntu release shipped with. In that case the driver isn’t broken. It just doesn’t exist yet in your version.
- Check which kernel you’re running:
uname -r
- Make sure you’ve installed every update from Fix #6. Kernel updates arrive through the same
sudo apt full-upgradecommand. - Restart the PC and test Wi-Fi again.
- If the chip still isn’t recognized, look into the Hardware Enablement (HWE) kernel for your LTS release. HWE brings newer kernels to an existing LTS. Ubuntu’s kernel lifecycle page explains which kernels each release supports.
- As a last resort, consider moving to a newer Ubuntu release. Check the Ubuntu release cycle page to compare LTS and interim releases before you upgrade.
Tip: If you can’t wait for kernel support, a Linux-compatible USB Wi-Fi adapter is the fastest workaround. Ubuntu’s own troubleshooting guide suggests a supported adapter when the built-in chip has no usable driver.
Tips and Troubleshooting
- Wi-Fi connects but drops constantly: Run
sudo apt full-upgradeand reboot. Driver and firmware fixes arrive through regular updates. - The Broadcom driver installed but Wi-Fi is still missing: Restart fully rather than logging out. The new driver only loads at boot.
- Additional Drivers won’t open or freezes on scanning: Check your temporary connection. The scan needs to reach Ubuntu’s package servers.
- The Wi-Fi chip doesn’t show in
lspciorlsusbat all: Check the BIOS/UEFI for a disabled wireless setting. If it’s enabled and Windows also can’t see the card, the hardware may have failed. - Fixed, but it breaks after every Windows boot: Fast Startup has probably switched back on after a Windows update. Repeat Fix #7.
Wrapping Up
For most people, the fix comes down to a soft block (Fix #2) or a missing Broadcom driver (Fix #5). Dual-boot users should try Fast Startup (Fix #7) early, because it costs nothing to rule out.
If your chip still doesn’t appear in lspci or lsusb and Windows can’t see it either, suspect failed hardware rather than Ubuntu. A cheap USB Wi-Fi adapter or a replacement M.2 Wi-Fi card is a better use of your time than chasing drivers.
| Fix | Action | Applies To |
|---|---|---|
| #1 | Toggle Wi-Fi and Airplane Mode | Everyone |
| #2 | rfkill list / sudo rfkill unblock wifi | Blocked radio |
| #3 | lspci -nnk / lsusb | Identifying the chip |
| #4 | Restart NetworkManager | Driver loaded, no networks |
| #5 | Tether, then use Additional Drivers | Broadcom and proprietary chips |
| #6 | Reinstall linux-firmware | Firmware errors in dmesg |
| #7 | Disable Fast Startup | Dual-boot PCs |
| #8 | Update the kernel or use HWE | Brand-new Wi-Fi 6E/7 chips |