I have an Asus N55SL laptop on which the battery can run almost 4h on Windows 7.

Until last week, I had 2h50-3h of battery autonomy with Ubuntu 16.04 and Linux 4.13. Something happened (updates or else) that makes now my battery last less than 1h30.

I have TLP configured to enable power management on the wifi card and USB suspend. The CPU driver used is Intel Pstate on powersave governor.

Opening powertop, all tunables are at Good except VM writeback timeout, but the network interfaces wlp3s0 (iwlwifi) and enp5s0 (atl1c) suck respectively 14 W and 6 W while the total power consumption of the system is 25 W. I also have a usb-device-8086-0189 draining 2 W, which appears to be the Bluetooth radio, while the bluetooth is turned off.

I remember a few weeks ago being able to run under 15 W of total power. What can be done/what could go wrong here ?

  • Does it still have the same autonomy in Windows? – user692175 Nov 23 '17 at 0:25
  • yes, all the battery life figures given here are today's. – Aurélien Pierre Nov 23 '17 at 4:32
  • @AurélienPierre what drivers are available for the wireless device and what is being used now? – Yaksha Nov 23 '17 at 7:19
  • How do I check that ? @Yaksha ? – Aurélien Pierre Nov 25 '17 at 19:40
  • 1
    I have intel-microcode installed in addition of nvidia-384, that's all for the additional drivers. Otherwise the wifi uses the iwlwifi kernel module and the ethernet atl1c. – Aurélien Pierre Nov 26 '17 at 5:47

The problem came from a broken DKMS, as described here : High power consumption of eth0 | archlinux.org

DKMS being broken prevented bbswitch module to correctly compile during the kernel update. Therefore, the Nvidia GPU was constantly turned ON and powertop poorly calibrated so it attributed the extra power loss wrongly to the network card.

I had to purge and reinstall DKMS, bbswitch and Nvidia driver as described here : dkms does not automatically rebuild after kernel upgrade

Now I'm back at 13-14 W.

| improve this answer | |

First I would make sure that powertop is correctly measuring the power usage, it may be that it is accounting for some other device but attributing it to eth0. You can check this with powertop --calibrate as discussed here on the Arch Linux wiki

Once you are sure you are measuring power usage correctly, then you would need to look into the driver options for your specific driver. You can determine the driver with lshw -c network as discussed here How do I find what kernel module is behind a network interface?

Once you know the driver, you may experiment with different module options by unloading the module (using modprobe -r <module name>, so it unloads dependences) then adding a .conf file in /etc/modprobe.d/ with the options you want to try and running modprobe <module name> again - there is a very good discussion of how to discover the available options, and how to configure them (even if for an older Ubuntu version) here How to add kernel module parameters?

Finally, I had difficulties personally with the Intel 9260 card, though they were not power-related, and simply upgrading the kernel to the current 4.17.x series via the UKUU package (available in the software center) fixed my problems with no further intervention required. This may be something to remember as an option of either last resort, or simple test depending on your comfort with kernel upgrades.

Good luck

| improve this answer | |
  • 1
    +1. Instead of rmmod you can use modprobe -r, which afaik resolves dependencies... – Zanna Aug 26 '18 at 21:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.