Wlan在Ubuntu 16.04上耗尽了所有电池

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

直到上周,我使用Ubuntu 16.04和Linux 4.13进行了2h50-3h的电池自治。 发生的事情(更新或其他)使我的电池现在持续不到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瓦的总功率运行。 可以做什么/哪里可能出错?

这个问题来自破碎的DKMS,如下所述: eth0的高功耗 archlinux.org

DKMS被破坏阻止了bbswitch模块在内核更新期间正确编译。 因此,Nvidia GPU经常打开并且powertop校准不佳,因此它将错误的额外功率损耗归因于网卡。

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

现在我回到了13-14 W.

首先,我要确保powertop正确测量功率使用情况,可能是因为它占了一些其他设备但将其归因于eth0。 你可以用powertop --calibrate来检查这一点,如Arch Linux wiki所述

一旦确定正确测量电源使用情况,就需要查看特定驱动程序的驱动程序选项。 您可以使用lshw -c network确定驱动程序, lshw -c network所述如何找到网络接口背后的内核模块?

一旦你知道了驱动程序,你可以通过卸载模块来尝试不同的模块选项(使用modprobe -r ,因此它卸载依赖关系)然后在/etc/modprobe.d/添加.conf文件和你的选项想再次尝试运行modprobe again – 有一个非常好的讨论如何发现可用的选项,以及如何配置它们(即使对于较旧的Ubuntu版本)这里如何添加内核模块参数?

最后,我个人使用英特尔9260卡有困难,虽然它们与电源无关,只需通过UKUU软件包(在软件中心提供)将内核升级到当前的4.17.x系列,解决了我的问题,无需进一步干预需要。 这可能需要记住,作为最后的选择,或简单的测试,取决于您的内核升级的舒适度。

祝好运