How can I prevent iwconfig power management from being turned on?

I am affected by this bug: 869502.

A workaround which seems to stop the kernel panics for me is to disable wlan0 power management:

sudo iwconfig wlan0 power off

However it seems to automatically turn power management back on when I unplug the power cable and I think at many other times, too.

Is there something that might be causing this? Does anyone know how I can prevent it?


Type iwconfig and look at the output. You should see the name of your chip-set as well as the whether power management is off or on. If it doesn't say, it is probably off.

To turn off power management, go to /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf and you will see

[connection]
wifi.powersave = 3

Change the 3 to a 2 and reboot.

Then run iwconfig and if it worked you should see Power Management:off.

Source: https://sites.google.com/site/easylinuxtipsproject/internet


Wireless powermanagement is run by a hook in pm-utils. You can turn it off in any of the following way:

Create a file in /etc/pm/config.d. I have named it blacklist:

gksu gedit /etc/pm/config.d/blacklist

and inside the file keep:

HOOK_BLACKLIST="wireless"

If you want to disable any other hooks, default hooks are located at /usr/lib/pm-utils/power.d/.

OR

You can just create an empty hook in either /etc/pm/sleep.d or /etc/pm/power.d. See which one works for you. i.e.

Just do

sudo touch /etc/pm/sleep.d/wireless

OR

sudo touch /etc/pm/power.d/wireless

If turning off power management for your wireless interface speeds up internet like this:

sudo iwconfig wlan0 power off

Than to make it permanent run command as follows:

  1. cd /etc/pm/power.d

  2. sudo gedit wifi_pwr_off

    This will open an empty file, copy the code below into it:

    #!/bin/sh 
    /sbin/iwconfig wlan0 power off
    
  3. Save the file, remember to

    sudo chmod +x wifi_pwr_off
    

    and restart.


My preferred way is to add the following line in /etc/network/interfaces to my wireless interface's settings:

post-up iwconfig wlan0 power off

Here's a complete example:

auto wlan0
iface wlan0 inet static
 address 192.168.1.2
 network 192.168.1.0
 netmask 255.255.255.0
 broadcast 192.168.1.255
 gateway 192.168.1.254
 post-up iwconfig wlan0 power off
 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Note that man interfaces says the behaviour of post-up may change in the future.


For some reason, the top-voted solutions didn't work for me and power management kept turning back on. I ended up doing the following:

sudo gedit /etc/rc.local

And added the following line before exit 0:

( sleep 30 && iwconfig wlan0 power off )&

That turns off power management 30 seconds after logging in...

Edit: Actually that wasn't enough. I kept trying a bunch of stuff, including https://askubuntu.com/a/614245 which I think solved my problem (I hope).