4

According to $ powertop, the WiFi card (Intel Wifi 6 AX201) in my Thinkpad X1 Carbon Gen9 (running Ubuntu 21.04) is often drawing between 4 and 5W in battery mode, thereby reducing my laptop's battery life by several hours. This happens while my laptop is connected to a wifi network and even when there's little to no traffic occurring on the wifi interface.

I find this incredible, given that I've been using Intel Wifi cards in other laptops over the years and none of them have drawn that much power.

Is there any way for me to reduce the wifi card's power consumption? The Intel docs mention different power modes (max performance/medium power saving/max power saving) and I'm wondering how to switch between those.

Some diagnostic info:

$ lspci | grep -i "wi-fi"                                                                                           130 ↵
00:14.3 Network controller: Intel Corporation Wi-Fi 6 AX201 (rev 20)
cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
# Values are 0 (use default), 1 (ignore/don't touch), 2 (disable) or 3 (enable).
wifi.powersave = 3

(Accordingly, iwconfig shows "Power Management:on" for the wifi interface.)

ThinkWiki mentions there being a file /sys/bus/pci/devices/0000:00:14.3/power_level but the file doesn't exist on my system. The only thing I've found is:

$ cat /sys/bus/pci/devices/0000:00:14.3/power_state
D0

(Not sure what this means)

At the same time, iwpriv also doesn't show any driver-specific parameters that I could set:

$ iwpriv wlp0s20f3                                                  
wlp0s20f3  no private ioctls.
9
  • Which kernel are you running? I guess you are using the built-in kernel module iwlwifi, if not, please state which module handles the ax201. Commented Jul 3, 2021 at 17:51
  • @EduardoTrápani I'm running the default Ubuntu 21.04 kernel (currently 5.11.0-22-generic). According to $ lspci -v the kernel driver used by the WiFi card is indeed iwlwifi.
    – balu
    Commented Jul 5, 2021 at 7:50
  • Note that per-component power usage values reported by powertop are completely bogus.
    – intelfx
    Commented Mar 29, 2023 at 2:20
  • @intelfx Do you have a source for that? My impression has been that, even if not entirely accurate, the reported values do provide a good indication of which components use a lot of power vs. little power.
    – balu
    Commented Apr 4, 2023 at 11:58
  • @balu no source except for personally reading the code. There is no way in modern PC hardware to get per-component power usage metrics. What powertop does is purely algorithmic estimation (and the algorithm they use is not exactly sophisticated).
    – intelfx
    Commented Apr 5, 2023 at 8:33

1 Answer 1

2

Try this and reboot:

cat /etc/modprobe.d/intel_wifi.conf
options iwlmvm power_scheme=1
options iwlwifi power_save=Y power_level=5

Though I'm not sure if it's power_level=5 or power_level=1. The documentation leaves a lot to be desired:

parm:           power_level:default power save level (range from 1 - 5, default: 1) (int)

I've even read the source code and I'm still none the wiser.

2
  • Thank you so much! I will try this and get back to you! Question on the side: In how far does this power_level setting interact with the powersave feature that's provided, among others, by the NetworkManager?
    – balu
    Commented Jul 5, 2021 at 7:51
  • I've no idea to be honest. Commented Jul 5, 2021 at 14:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .