如何防止iwconfig电源管理被打开?

我受这个bug的影响: 869502 。

一个似乎可以阻止内核恐慌的解决方法是禁用wlan0电源管理:

sudo iwconfig wlan0 power off 

然而,当我拔掉电源线时,它似乎会自动重新启动电源管理,而且我也会在很多其他时候再考虑。

有什么可能导致这个吗? 有谁知道我怎么能阻止它?

无线电源管理由pm-utils的钩子运行。 您可以通过以下任何方式将其关闭:

/etc/pm/config.d创建一个文件。 我把它命名为黑名单:

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

并在文件内部保留:

 HOOK_BLACKLIST="wireless" 

如果要禁用任何其他挂钩,则默认挂钩位于/usr/lib/pm-utils/power.d/

要么

您可以在/etc/pm/sleep.d/etc/pm/power.d创建一个空挂钩。 看看哪一个适合你。 即

做就是了

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

要么

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

如果关闭无线接口的电源管理,可以加速互联网,如下所示:

 sudo iwconfig wlan0 power off 

比使永久运行命令如下:

  1. cd /etc/pm/power.d

  2. sudo gedit wifi_pwr_off

    这将打开一个空文件,将下面的代码复制到其中:

     #!/bin/sh /sbin/iwconfig wlan0 power off 
  3. 保存文件,记得

     sudo chmod +x wifi_pwr_off 

    并重新启动。

输入iwconfig并查看输出。 您应该看到芯片组的名称以及电源管理是关闭还是开启。 如果它没有说,它可能是关闭的。

要关闭电源管理,请转至/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf ,您将看到

 [connection] wifi.powersave = 3 

3更改为2并重新启动。

然后运行iwconfig ,如果它工作,你应该看到Power Management:off

来源: https : //sites.google.com/site/easylinuxtipsproject/internet

我首选的方法是在/etc/network/interfaces添加以下行到我的无线接口的设置:

 post-up iwconfig wlan0 power off 

这是一个完整的例子:

 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 

请注意, man interfaces表示post-up的行为将来可能会发生变化。

由于某种原因,最高投票的解决方案对我不起作用,电源管理一直在重新开始。 我最终做了以下事情:

 sudo gedit /etc/rc.local 

并在exit 0之前添加以下行:

 ( sleep 30 && iwconfig wlan0 power off )& 

登录后30秒关闭电源管理…

编辑:其实这还不够。 我一直在尝试一些东西,包括https://askubuntu.com/a/614245 ,我认为这解决了我的问题(我希望)。

另一种方法是添加一个显式指令( wireless-power )来控制/etc/network/interfaces配置文件中的电源管理(例如,使用DHCP为wlan0禁用它):

 auto wlan0 iface wlan0 inet dhcp wireless-power off 

很棒的建议。 ‘sudo iwconfig wlan0 power off’似乎是让我的ath9k模块稳定工作的唯一方法(使用内核3.2 – 好奇地在内核> 3.5中似乎没有问题,但是内核因为它们的挂起到ram /磁盘问题不幸的是,amd64似乎是不行的… :-()

更好的方法(至少在Ubuntu 16.04上)是使用以下内容创建/etc/network/if-up.d/wifi-powerman-off

 #!/bin/sh IWCONFIG=/sbin/iwconfig WLAN_IFACE= if [ ! -x $IWCONFIG ]; then exit 1 fi if [ "$IFACE" = $WLAN_IFACE ]; then $IWCONFIG $IFACE power off fi 

并将其设置为可执行文件。 下次连接到网络时,电源管理将关闭。

这适用于NetworkManager。

如果您使用laptop-mode-tools ,则可以通过编辑/etc/laptop-mode/conf.d/wireless-iwl-power.conf 14.04)来禁用无线电源管理:

 # Control Intel IWL wireless power? # Set to 0 to disable CONTROL_IWL_POWER=0