01Rule out the button
Not a joke: many laptops have a physical Wi-Fi kill switch or an Fn key combo (often Fn + one of F2/F3/F12, look for a little antenna icon). It gets pressed by cats, children, and elbows. Check it first, then check that airplane mode isn't on in your system's quick-settings menu.
02Check the radio
Open a terminal (new to it? read the survival kit first, it's short) and ask whether the wireless radio is blocked:
rfkill list
What this does: lists every radio in the machine (Wi-Fi, Bluetooth) and says whether it's blocked. Read-only. It changes nothing.
If you see Soft blocked: yes next to your wireless device, unblock it:
sudo rfkill unblock wifi
What this does: flips the software kill switch back on. sudo runs it with admin rights, so it will ask for your password.
Hard blocked: yes means the physical switch from step 1. Software can't override it.
03Restart the manager
NetworkManager is the program that actually connects you. Like all of us, it occasionally needs to be turned off and on again:
sudo systemctl restart NetworkManager
What this does: restarts the networking service. Your other programs keep running; you'll drop offline for a few seconds while it comes back.
Give it ten seconds, then click your network icon and look for your network. If it's back. That was it. If Wi-Fi shows networks but won't connect to yours, tell it to forget the network in your network settings and join it fresh.
04The Windows trap (dual-booters)
If your machine dual-boots and Wi-Fi dies specifically after you've used Windows, this is almost certainly it. Windows has a feature called Fast Startup that doesn't fully shut down. It keeps a claim on the Wi-Fi card, and when Linux boots next, the card refuses to wake up.
Boot into Windows → open Command Prompt as administrator → run powercfg /h off → shut down completely and boot Linux. That disables hibernation and Fast Startup with it. Wi-Fi cards everywhere rejoice.
Prefer clicking? In Windows: Control Panel → Power Options → "Choose what the power buttons do" → untick "Turn on fast startup". Same result.
05Name the chip
Still offline? Time to find out exactly what hardware we're dealing with:
lspci | grep -i net
What this does: lists internal PCI devices and filters for network hardware. Read-only. USB Wi-Fi dongle instead? Use lsusb.
You'll get a line like Intel Corporation Wi-Fi 6 AX201 or Realtek RTL8821CE. That name is gold: search the web for it plus your distro (e.g. "RTL8821CE Ubuntu 24.04") and you'll usually land on the exact driver package you need. Realtek chips in particular often want a driver from your distro's extra repositories.
06Blame the kernel
If Wi-Fi died right after a system update, the new kernel may have shipped without your driver coming along. The quickest test: boot the previous kernel.
Reboot and hold Shift (BIOS) or tap Esc (UEFI) as the machine starts, until a menu appears. Choose Advanced options, then the second-newest kernel in the list. Nothing is deleted. You're just starting the engine you used yesterday.
Wi-Fi works on the old kernel? Now you know the driver needs a rebuild. If you ever installed a driver via DKMS, check it rebuilt:
dkms status
What this does: shows out-of-tree drivers and whether they built for each kernel. Read-only. A missing entry for the new kernel is your smoking gun.
07Still stuck?
No shame in it. Some chips are genuinely stubborn. Do this and someone can actually help you:
- Tether your phone over USB (it just works on Linux. No driver drama) so you're online.
- Collect the evidence: chip name from step 5, distro and version, and what changed right before it broke.
- Post it on your distro's forum or r/linuxquestions. With those three facts, the first reply is usually the fix.
Wi-Fi problems feel personal but they're almost never your fault. It's a driver, a switch, or Windows being possessive. It's probably fixable. It usually is.