Software Engineer's Blog

How to Disable Wi-Fi Power Saving on Ubuntu to Prevent SSH Lag

How to Disable Wi-Fi Power Saving on Ubuntu to Prevent SSH Lag

If you’ve noticed that SSH connections become very slow or unresponsive after your Ubuntu laptop has been idle for a while, this often happens because your Wi-Fi card enters power-saving mode.

Here’s how to check and disable Wi-Fi power management to ensure fast access to services like SSH, Telnet, and FTP.

Step 1: Identify Your Network Interface

Run the following command to find your WiFi network interface:

$ iw dev
phy#0
        Interface wlp3s0
                ifindex 3
                wdev 0x1
                addr d4:d2:52:96:ff:6e
                ssid ABCD1234

Here, wlp3s0 is your Wi-Fi interface name. You’ll use this in the following steps.

Step 2: Check Power Management Status

Use iwconfig to check if power saving is enabled:

$ iwconfig wlp3s0
wlp3s0     IEEE 802.11  ESSID:"ABCD1234"
          Mode:Managed  Frequency:5.26 GHz  Access Point: 38:06:E6:28:76:75
          Tx-Power=22 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=65/70  Signal level=-45 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:7  Invalid misc:2548  Missed beacon:0

If you see Power Management: on, then your Wi-Fi card is going to sleep when idle, causing the SSH delay.

Step 3: Disable Power Management Temporarily

To turn off power-saving mode immediately (for the current session), execute the following command:

$ sudo iwconfig wlp3s0 power off

Step 4: Disable Power Management Permanently

To make this change persistent across reboots, you need to configure NetworkManager.

1. Edit NetworkManager configuration

Open the wifi powersave configuration file (usually named default-wifi-powersave-on.conf):

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

Find the [connection] section and set wifi.powersave to 2.

[connection]
wifi.powersave = 2

Understanding the Values:

ValueIdentifierDescriptionUse Case
0DEFAULTDefault setting (depends on internal policy or driver)When you don’t want to customize the setting
1IGNOREDon’t touch (keep current setting)Not commonly used for forcing changes
2DISABLEDDisable power saving modeWhen connection stability is important (e.g., avoid SSH timeouts)
3ENABLEDEnable power saving modeWhen saving power is important (e.g., on laptops)

(Note: In typical NetworkManager docs, 1 is ‘Ignore/Don’t touch’, 2 is ‘Disable’, 3 is ‘Enable’. Please verify your specific version docs, but 2 is standard for disabling.)

2. Restart NetworkManager

$ sudo systemctl restart NetworkManager

Step 5: Check Power Management Status after Reboot

Verify that power management is now off:

$ iwconfig wlp3s0
...
Retry short limit:7   RTS thr:off   Fragment thr:off
Power Management:off
...

If you see Power Management: off, your SSH connections should now remain responsive even after the laptop has been idle.