You are not logged in.
Hey everyone,
I just recently noticed that just enabling bluetooth was consuming a ton of power on my Thinkpad X1 Yoga Gen 7 laptop. Since the past few weeks, I noticed that my laptop was running low on battery faster than usual. So I ran up powertop and noticed that bluetooth was consuming upwards of 4W even when idle. During normal operations, with bluetooth on, the laptop would consume anywhere from 3.5 W on idle (sometimes even lower) to about a max of 7.5 W (watching videos, coding, etc.). However, with this new high consumption for bluetooth, the new idle is never lower than 6 W and the max I have seen is around 15 W. Powertop says bluetooth is consuming about 4 W (sometimes even higher) all by itself.
The only device that I connect to bluetooth is wireless earphones. The above listed power consumption is for both when connected and also when bluetooth is just simply on with no connections.
My bluetooth card is an Intel Corp. AX211. I use TLP and I have explicitly enabled power consumption for the bluetooth device. I had it on before I was facing this issue, and after it started I put the device ID explicitly in TLP but that didn't help. I also use intel_lpmd (not sure if it even does anything tbh).
What I noticed is that the second that I turn on bluetooth currently, the CPU never goes below Package C-State 3. The majority of the CPU would be in Package C-State 2. That isn't the case when it was normal when most of the CPU would be in Package C-States 8, 10 and Sys-LPI. Checking for those states with turbostat:
sudo turbostat --show Pkg%pc2,Pkg%pc3,Pkg%pc6,Pkg%pc7,Pkg%pc8,Pkg%pc9,Pk%pc10,SYS%LPI
Can anyone help me with what's going on? Here are my relevant configurations. Please let me know if you need any other information. Thanks!
Here is my /etc/tlp.conf:
# tlp - Parameters for power saving
TLP_ENABLE=1
TLP_MSG_COLORS="91 93 1 92"
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=15
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
CPU_DRIVER_OPMODE_ON_AC=active
CPU_DRIVER_OPMODE_ON_BAT=active
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=powersave
CPU_ENERGY_PERF_POLICY_ON_AC=performance
CPU_ENERGY_PERF_POLICY_ON_BAT=power
CPU_MIN_PERF_ON_AC=0
CPU_MAX_PERF_ON_AC=100
CPU_MIN_PERF_ON_BAT=0
CPU_MAX_PERF_ON_BAT=60
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=0
NMI_WATCHDOG=0
PLATFORM_PROFILE_ON_AC=performance
PLATFORM_PROFILE_ON_BAT=low-power
DISK_DEVICES="nvme0n1"
DISK_IOSCHED="mq-deadline mq-deadline"
AHCI_RUNTIME_PM_ON_AC=on
AHCI_RUNTIME_PM_ON_BAT=auto
AHCI_RUNTIME_PM_TIMEOUT=15
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on
WOL_DISABLE=Y
SOUND_POWER_SAVE_ON_AC=1
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y
PCIE_ASPM_ON_AC=default
PCIE_ASPM_ON_BAT=powersupersave
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
RUNTIME_PM_DRIVER_DENYLIST=""
USB_AUTOSUSPEND=1
# Exclude bluetooth devices from USB autosuspend:
# 0=do not exclude, 1=exclude.
# Default: 0
USB_EXCLUDE_BTUSB=0
USB_EXCLUDE_PHONE=1
# Allow USB autosuspend for listed devices even if already denylisted or
# excluded above (separate with spaces). Use lsusb to get the ids.
# Default: 0
USB_ALLOWLIST="8087:0033"
RESTORE_DEVICE_STATE_ON_STARTUP=1
START_CHARGE_THRESH_BAT0=35
STOP_CHARGE_THRESH_BAT0=65
DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi"
DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi"
Here is my /etc/modprobe.d/iwlwifi.conf:
options iwlwifi power_save=1 power_level=0 uapsd_disable=0 led_mode=3
options iwlmvm power_scheme=3
Here's my /etc/modprobe.d/bt.conf:
options btusb enable_autosuspend=y
Offline
I have also been affected by this for a while now on the AX211. I have a limited technical understanding of how to troubleshoot this issue but here are my 2 cents:
1.
Initially, switching to the LTS kernel helped with the issue.
With the rolling updates of the LTS kernel (I believe after the switch to 6.12), this behavior was introduced in the LTS kernel.
2.
sudo rmmod btusb
makes the issue go away
Last edited by minifridge (2025-10-04 11:56:31)
Offline