If you are running Linux Mint in 2026 and your WiFi adapter goes silent every time your machine wakes from suspend or sleep, you are not alone. This is one of the most-reported Linux Mint issues across forums, Reddit threads, and bug trackers. The good news is that it is almost always fixable without reinstalling anything. This guide walks you through every proven method — from a one-liner NetworkManager restart to a permanent systemd hook — so you can pick the fix that matches your setup.
Why Linux Mint WiFi Drops After Suspend or Sleep
Understanding the root cause saves you from applying the wrong fix. When Linux Mint suspends, it transitions hardware into a low-power state (S3 or S4). On resume, the kernel has to bring everything back online. WiFi adapters — especially those made by Realtek, Broadcom, and Intel — sometimes fail at this transition for several reasons:
- Driver power management bugs: The kernel module (e.g.,
rtl8821ce,wl,iwlwifi) does not cleanly restore its internal state after a power cycle. - NetworkManager timing issues: NetworkManager tries to reconnect before the adapter is fully ready, then gives up.
- Aggressive WiFi power saving: The adapter enters a low-power radio state it cannot exit without a full driver reload.
- Missing resume hooks: Linux Mint's default suspend/resume scripts do not include a step to restart the WiFi subsystem for every chipset.
- Firmware not re-uploaded: Some adapters require firmware to be re-uploaded on resume; if the driver skips this step, the adapter stays silent.
Run the following command to identify your WiFi adapter and its driver before applying any fix:
lshw -C network
Or use:
lspci -k | grep -A 3 -i network
Note the driver in use value — you will need it in later steps.
Quick Fix: Restart the NetworkManager Service
When WiFi disappears after resume, the fastest first step is to restart NetworkManager. Open a terminal and run:
sudo systemctl restart NetworkManager
If your interface is named differently (e.g., wlp2s0 instead of wlan0), find it first:
ip link show
Then bring it back up manually if needed:
sudo ip link set wlan0 down
sudo ip link set wlan0 up
sudo nmcli device connect wlan0
If this restores your WiFi, the issue is with the NetworkManager initialization sequence on resume. The next two fixes make this automatic.
Fix 1: Create a systemd Service to Reload WiFi on Resume
This fix creates a systemd service that automatically restarts NetworkManager every time the system resumes from suspend. It is clean, reliable, and survives kernel updates.
- Create the service file:
sudo nano /etc/systemd/system/wifi-resume.service - Paste the following content:
[Unit] Description=Restart NetworkManager on resume After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target [Service] Type=oneshot ExecStart=/bin/systemctl restart NetworkManager [Install] WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target - Enable and start the service:
sudo systemctl daemon-reload sudo systemctl enable wifi-resume.service - Test it by suspending and resuming. WiFi should reconnect within a few seconds.
To verify the service ran after a resume, check its status:
sudo systemctl status wifi-resume.service
Fix 2: Disable Power Management for the WiFi Adapter
WiFi power management tells the adapter to reduce radio activity when idle. On many Linux Mint systems this causes the adapter to fall into a state it cannot recover from on resume. Disabling it is safe for desktop and plugged-in laptop use.
- Check current power management status:
If you seeiwconfig wlan0 | grep -i powerPower Management:on, that is a likely culprit. - Disable it immediately (non-persistent):
sudo iwconfig wlan0 power off - Make it permanent via NetworkManager config. Create the file:
sudo nano /etc/NetworkManager/conf.d/wifi-powersave-off.conf - Add these lines:
Value 2 = disabled. Value 3 = enabled (default).[connection] wifi.powersave = 2 - Restart NetworkManager to apply:
sudo systemctl restart NetworkManager - Suspend and resume your machine to verify WiFi comes back automatically.
Fix 3: Update or Reinstall the WiFi Driver
Outdated or corrupted drivers are a common reason for post-resume WiFi failures. Linux Mint makes driver management accessible through its Driver Manager, but terminal commands give you more control.
- Identify your driver module:
lspci -k | grep -A 3 -i network - Remove and reload the module to test if a clean reload fixes the issue:
Replacesudo modprobe -r YOUR_MODULE_NAME sudo modprobe YOUR_MODULE_NAMEYOUR_MODULE_NAMEwith your driver (e.g.,rtl8821ce,iwlwifi,ath9k). - Update all drivers via the package manager:
sudo apt update && sudo apt upgrade - For Realtek adapters, install the DKMS driver:
sudo apt install rtl8821ce-dkms - For Broadcom adapters:
sudo apt install broadcom-sta-dkms - After installing, rebuild the DKMS module:
sudo dkms autoinstall - Reboot and test suspend/resume.
If you are on a brand-new laptop and the driver is missing entirely, open Menu → Administration → Driver Manager and install the recommended proprietary driver.
Fix 4: Use a Suspend Hook Script
Linux provides a dedicated directory for scripts that run automatically on suspend and resume: /lib/systemd/system-sleep/. Any executable script placed here runs before sleep and after wake.
- Create the hook script:
sudo nano /lib/systemd/system-sleep/wifi-fix.sh - Paste the following (replace
YOUR_MODULEwith your driver):#!/bin/bash case in post) modprobe -r YOUR_MODULE sleep 2 modprobe YOUR_MODULE sleep 1 systemctl restart NetworkManager ;; esac - Make it executable:
sudo chmod +x /lib/systemd/system-sleep/wifi-fix.sh - Test by suspending your system and resuming. The script runs automatically — no service file needed.
This approach is particularly effective for Realtek adapters that need a full driver unload-reload cycle rather than just a NetworkManager restart.
Fix 5: Blacklist the Problematic Module
If your system loads a generic kernel driver that conflicts with your adapter's dedicated driver, blacklisting the generic one forces the correct driver to take over. This is common with systems that load both rtl8xxxu (generic) and rtl8821ce (specific) at the same time.
- Check which modules are loaded for your WiFi adapter:
lsmod | grep -i rtl lsmod | grep -i ath lsmod | grep -i iwl - Identify the conflicting module (usually the more generic one, like
rtl8xxxu). - Create a blacklist file:
sudo nano /etc/modprobe.d/blacklist-wifi.conf - Add the blacklist entry:
blacklist rtl8xxxu - Update the initramfs so the change applies at boot:
sudo update-initramfs -u - Reboot:
sudo reboot - Verify the blacklisted module is no longer loaded:
No output means it is blacklisted successfully.lsmod | grep rtl8xxxu
Fix 6: Switch from NetworkManager to systemd-networkd
If you have tried everything and NetworkManager continues to fail after resume, switching to systemd-networkd combined with wpa_supplicant can give you a more reliable WiFi stack. This is an advanced fix — only use it if the previous methods have not worked.
- Disable NetworkManager:
sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager - Enable systemd-networkd and wpa_supplicant:
sudo systemctl enable systemd-networkd sudo systemctl enable wpa_supplicant sudo systemctl start systemd-networkd - Create a network config file for your WiFi interface:
sudo nano /etc/systemd/network/25-wlan0.network - Add:
[Match] Name=wlan0 [Network] DHCP=yes - Configure wpa_supplicant with your WiFi credentials:
wpa_passphrase YOUR_SSID YOUR_PASSWORD | sudo tee /etc/wpa_supplicant/wpa_supplicant-wlan0.conf - Enable the wpa_supplicant instance for your interface:
sudo systemctl enable wpa_supplicant@wlan0 sudo systemctl start wpa_supplicant@wlan0 - Reboot and test suspend/resume behavior.
Note: After switching, the Linux Mint Network Settings GUI may no longer manage WiFi. Use nmtui or terminal commands instead. If you prefer the GUI, re-enable NetworkManager and apply a different fix from this guide.
Prevention and Long-term Fix Tips
Once your WiFi resumes reliably, keep it that way with these best practices:
- Pin your kernel version if an update breaks WiFi again. Use
sudo apt-mark hold linux-image-5.15.0-177-genericto prevent automatic kernel upgrades until a fixed version is available. - Keep DKMS modules up to date. After any kernel update, run
sudo dkms autoinstallto rebuild out-of-tree drivers. - Log your resume events. Run
journalctl -u NetworkManager --since todayafter a failed resume to capture the exact error before applying a fix. - Check kernel bug trackers for your chipset. Search bugs.launchpad.net and bugzilla.kernel.org with your adapter model number to find upstream patches.
- Test hibernation as an alternative. Full hibernation (suspend-to-disk) often avoids WiFi resume issues because the system does a clean shutdown and restart rather than a hot resume.
If you have gone through all six fixes and WiFi still drops after suspend, the issue may be hardware-specific and require a professional diagnosis. CloudHouse Pay-Per-Ticket Support offers remote Linux Mint sessions where our engineers can inspect your exact adapter, kernel logs, and driver stack and apply a targeted fix — no subscription required.
FAQ
Why does Linux Mint WiFi stop working after sleep?
When Linux Mint suspends, the kernel may unload the WiFi driver module or NetworkManager may not properly re-initialize the adapter on resume. This is common with Realtek and Broadcom chipsets that do not handle power state transitions cleanly. The adapter appears present in ip link show but fails to associate with any access point.
How do I restart WiFi on Linux Mint?
Open a terminal and run sudo systemctl restart NetworkManager. If that does not work, try:
sudo ip link set wlan0 down
sudo ip link set wlan0 up
sudo nmcli device connect wlan0
Then reconnect to your network via the system tray or nmcli.
How do I disable WiFi power management in Linux Mint?
Run sudo iwconfig wlan0 power off for an immediate (non-persistent) fix. To make it permanent, create /etc/NetworkManager/conf.d/wifi-powersave-off.conf containing wifi.powersave = 2 under the [connection] section, then restart NetworkManager.
How do I find my WiFi driver in Linux Mint?
Run lshw -C network or lspci -k | grep -A 3 -i network. The driver in use line shows the kernel module currently handling your adapter. You can also run lsmod | grep -i YOUR_CHIPSET_NAME to see all loaded modules for that chipset.
Can I use a script to fix WiFi after resume on Linux Mint?
Yes. Create an executable script in /lib/systemd/system-sleep/ that runs after resume. The script should unload and reload your driver module with modprobe -r YOUR_DRIVER && modprobe YOUR_DRIVER and then call systemctl restart NetworkManager. Linux automatically executes all scripts in that directory on every suspend and resume cycle.
