How to turn off Wireless power management permanently

In Linux Mint 17.3 / 18 iwconfig says the power management of my wireless card is turned on. I want to turn it off permanently or some workaround on this issue.

sudo iwconfig wlan0 power off works, until I reboot the laptop.

Also, if I randomly check iwconfig, sometimes it’s on, despite I did run this command.

I read some articles about making the fix permanent. All of them contained the first step “Go to directory /etc/pm/power.d“, which in my case did not exist.

I followed these steps:

sudo mkdir -p /etc/pm/power.d
sudo nano /etc/pm/power.d/wireless_power_management_off

I entered these two lines into the file:
#!/bin/bash

/sbin/iwconfig wlan0 power off

And I finished with setting proper user rights:
sudo chmod 700 /etc/pm/power.d/wireless_power_management_off

But after reboot the power management is back on.

iwconfig after manually turning power management off

eth0      no wireless extensions.

wlan0     IEEE 802.11abgn  ESSID:"SSID"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:00:00:00:00:00   
          Bit Rate=24 Mb/s   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=42/70  Signal level=-68 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:2  Invalid misc:18   Missed beacon:0

lo        no wireless extensions.

I don’t think this question applies only to Linux Mint, it is a general issue of particular wireless adapters.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Open this file with your favorite text editor, I use nano here:

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

By default there is:
[connection]
wifi.powersave = 3

Change the value to 2. Reboot for the change to take effect.


Possible values for the wifi.powersave field are:

NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0): use the default value
NM_SETTING_WIRELESS_POWERSAVE_IGNORE  (1): don't touch existing setting
NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2): disable powersave
NM_SETTING_WIRELESS_POWERSAVE_ENABLE  (3): enable powersave

(Informal source on GitHub for these values.)

Method 2

It is not sufficient to turn off wireless power management at boot.

There are probably hooks like if I plug off power adapter.

So one of possible solutions is as follows; step-by-step.

Create a directory, where you wish to store the file, if not already having one for all your scripts, I personally want to have it in /etc/pm/:

sudo mkdir -p /etc/pm/power.d

Create (anywhere you like) a script, name it to be sensible, for me it is:
sudo nano /etc/pm/power.d/wireless_power_management_off

I used nano, but use whatever, e.g. if you want to create the file graphically, eg. with gedit (LM17) or xed (LM18):
gksudo gedit /etc/pm/power.d/wireless_power_management_off
gksudo xed /etc/pm/power.d/wireless_power_management_off

Enter the following contents to the file:
#!/bin/bash

/sbin/iwconfig wlan0 power off

Save the file.

Owner of the file should be root, if you created the file as normal user somewhere, go to the folder where it is and fix it with:

sudo chown root:root wireless_power_management_off

Next, you need to set proper permissions to the file, rwx for owner:
sudo chmod 700 wireless_power_management_off

Finally we will be executing the script every minute using CRON; dirty but worky:
sudo crontab -e

If you never edited crontab before, it will ask what editor you wish to use, this is totally up to you.

Paste this to the end of the file:

*/1 * * * * /etc/pm/power.d/wireless_power_management_off

Wait a minute and then you may check if power management if turned off:
iwconfig wlan0 | grep "Power Management"

Example output:
Power Management:off

Even if something triggers the power management to turn on, it will last only a minute. Done.

Method 3

TLP – Linux Advanced Power Management Tool works for me out of the box both in Ubuntu 18.04 and 20.04.

shell> grep WIFI /etc/default/tlp 
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=off
shell> iw dev wlan0 get power_save
Power save: off

Notes

Method 4

Using crontab, i.e., with sudo crontab -e, add the line

@reboot /bin/bash /etc/pm/power.d/wireless

Method 5

Key: powersave

Type: uint32

Default value: 0

Can be one of:

  • NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2) (disable Wi-Fi power
    saving)
  • NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3) (enable Wi-Fi power
    saving)
  • NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1) (don’t touch currently
    configure setting)
  • NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0) (use the globally
    configured value)

All other values are reserved.

More at https://people.freedesktop.org/~lkundrak/nm-docs/nm-settings.html


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x