Ubuntu 16.04 上的 WLAN 耗电太快

Ubuntu 16.04 上的 WLAN 耗电太快

我有一台华硕 N55SL 笔记本电脑,其电池在 Windows 7 下可以运行近 4 小时。

直到上周,我使用 Ubuntu 16.04 和 Linux 4.13 时,电池续航时间为 2 小时 50 到 3 小时。发生了一些事情(更新或其他原因),导致我的电池续航时间不足 1 小时 30 分钟。

我已将 TLP 配置为启用 wifi 卡上的电源管理和 USB 挂起。使用的 CPU 驱动程序是 powersave 调节器上的 Intel Pstate。

打开 powertop,除 VM 写回超时外,所有可调参数都处于良好状态,但网络接口 wlp3s0(iwlwifi)和 enp5s0(atl1c)分别消耗 14 W 和 6 W,而系统总功耗为 25 W。我还有一个 usb-device-8086-0189 消耗 2 W,这似乎是蓝牙无线电,而蓝牙是关闭的。

我记得几周前总功率低于 15 W 时还能运行。这该怎么办/可能出现什么问题?

答案1

问题是由于 DKMS 损坏造成的,如下所述:eth0 功耗高 | archlinux.org

DKMS 损坏导致bbswitch模块无法在内核更新期间正确编译。因此,Nvidia GPU 不断打开,电源校准不佳,因此将额外的功率损耗错误地归咎于网卡。

我必须清除并重新安装 DKMS、bbswitch 和 Nvidia 驱动程序,如下所述:内核升级后,dkms 不会自动重建

现在我又回到了13-14 W。

答案2

首先,我要确保 powertop 正确地测量了用电量,它可能考虑了其他设备,但将其归因于 eth0。您可以使用powertop --calibrate讨论过的方法来检查这一点Arch Linux wiki 上

一旦你确定你正在正确测量用电量,那么你需要查看特定驱动程序的驱动程序选项。你可以按照lshw -c network此处讨论的方式确定驱动程序如何找到网络接口后面的内核模块?

了解驱动程序后,你可以通过卸载模块(使用modprobe -r <module name>,以便卸载依赖项)然后添加一个 .conf 文件,其中包含/etc/modprobe.d/你想要尝试运行的选项,来尝试使用不同的模块选项modprobe <module name> again- 这里有一个很好的讨论,介绍如何发现可用的选项,以及如何配置它们(即使对于较旧的 Ubuntu 版本)如何添加内核模块参数?

最后,我个人在使用 Intel 9260 卡时遇到了一些问题,尽管这些问题与电源无关,只需通过 UKUU 包(可在软件中心获得)将内核升级到当前的 4.17.x 系列即可解决我的问题,无需进一步干预。这可能是需要记住的最后手段,或者根据您对内核升级的熟悉程度进行简单测试。

祝你好运

相关内容