Answers:
无线电源管理通过钩子来运行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
chmod -x /usr/lib/pm-utils/power.d/wireless
代替吗?
输入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
如果关闭无线接口的电源管理可加快互联网速度,例如:
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
然后重新启动。
sudo iwconfig wlan0 power off
我收到此消息:无线请求“设置电源管理”(8B2C)错误:设备wlan0上的SET失败;无此设备。
sudo iwconfig
并检查哪个接口具有无线扩展。有时候是eth1
。
我的首选方法是在/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,我认为这解决了我的问题(希望如此)。
更好的方法(至少在Ubuntu 16.04上)是/etc/network/if-up.d/wifi-powerman-off
使用以下内容创建:
#!/bin/sh
IWCONFIG=/sbin/iwconfig
WLAN_IFACE=<your wireless device here>
if [ ! -x $IWCONFIG ]; then
exit 1
fi
if [ "$IFACE" = $WLAN_IFACE ]; then
$IWCONFIG $IFACE power off
fi
并将其设置为可执行文件。下次连接网络时,电源管理将关闭。
这与NetworkManager配合良好。
我创建了以下systemd服务,以在重启后永久终止 WiFi上的电源管理。经过测试并已知可以工作。只需将以下bash脚本粘贴到一个文件中,chmod 700
该文件和sudo ./yourFileName.sh
:
if [ -d /root/scripts ]; then
mkdir /root/scripts
fi
apt-get -y install iw
apt-get -y install wireless-tools
cat <<EOF> /root/scripts/pwr-mgmnt-wifi-disable.sh
#!/bin/bash
iw dev wlan0 set power_save off
EOF
chmod 700 /root/scripts/pwr-mgmnt-wifi-disable.sh
cat <<EOF> /etc/systemd/system//pwr-mgmnt-wifi-disable.service
[Unit]
Description=Disable WiFi Power Management
Requires=network-online.target
After=hostapd.service
[Service]
User=root
Group=root
Type=oneshot
ExecStart=/root/scripts/pwr-mgmnt-wifi-disable.sh
[Install]
WantedBy=multi-user.target
EOF
chmod 644 /etc/systemd/system/pwr-mgmnt-wifi-disable.service
systemctl enable pwr-mgmnt-wifi-disable.service
systemctl start pwr-mgmnt-wifi-disable.service