如何防止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
比使永久运行命令如下:
-
cd /etc/pm/power.d
-
sudo gedit wifi_pwr_off
这将打开一个空文件,将下面的代码复制到其中:
#!/bin/sh /sbin/iwconfig wlan0 power off
-
保存文件,记得
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