You are not logged in.

#1 2023-08-15 15:01:47

poiasd
Member
Registered: 2023-05-09
Posts: 4

[SOLVED] Laptop (T470s) on battery is locked to minimum clock speeds

Hi guys. Whenever I start up my laptop, the CPU is locked to 400MHz. Even if I start some CPU intensive task, it stays at 400MHz, and `i7z` reports a lot of C1 states:

Cpu speed from cpuinfo 2903.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2903 MHz
  CPU Multiplier 29x || Bus clock frequency (BCLK) 100.10 MHz

Socket [0] - [physical cores=2, logical cores=4, max online cores ever=2]
  TURBO ENABLED on 2 Cores, Hyper Threading ON
  Max Frequency without considering Turbo 3003.10 MHz (100.10 x [30])
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  39x/39x/39x/39x
  Real Current Frequency 398.93 MHz [100.10 x 3.99] (Max of below)
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %   C7 %  Temp      VCore
        Core 1 [0]:       398.90 (3.98x)        99.8    86.3       0       0       0    39      0.6075
        Core 2 [1]:       398.93 (3.99x)        99.8    86.3       0       0       0    37      0.6078

cpupower reports the following:

$ cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 3.90 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 400 MHz and 3.90 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 400 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

If I manually change the minimum frequence to 2GHz, or the governor to performance, it does nothing

However, if I close the lid (wait for it to sleep), and then open it again, it seems the "settings" have kicked in, and the CPU will go all the way upto 3+ GHz if needed, but only for ~10-15 seconds. After that something happens, and it gets hard-locked to 400Mhz again.
If I plug in AC power, it has no problem maintaining 3+ GHz.

I am not running tlp or thermald.

Any suggestions? Let me know if there's anything else I should share. Thanks for the help.

Output of `acpi -V`:

$ acpi -V
Battery 0: Full, 100%
Battery 0: design capacity 1857 mAh, last full capacity 1490 mAh = 80%
Battery 1: Charging, 86%, 00:14:02 until charged
Battery 1: design capacity 1916 mAh, last full capacity 1665 mAh = 86%
Adapter 0: on-line
Thermal 0: ok, 44.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 128.0 degrees C
Cooling 0: Processor 0 of 10
Cooling 1: intel_powerclamp 0 of 100
Cooling 2: Processor 0 of 10
Cooling 3: pch_skylake no state information available
Cooling 4: Processor 0 of 10
Cooling 5: x86_pkg_temp no state information available
Cooling 6: iwlwifi 0 of 20
Cooling 7: TCC Offset 25 of 63
Cooling 8: Processor 0 of 10
Cooling 9: iwlwifi_1 no state information available

Last edited by poiasd (2024-02-07 00:08:20)

Offline

#2 2024-02-07 00:07:45

poiasd
Member
Registered: 2023-05-09
Posts: 4

Re: [SOLVED] Laptop (T470s) on battery is locked to minimum clock speeds

I've figured it out, it is due to Lenovo's handling of unofficial batteries and using the BD_PROCHOT signal to throttle them.

The workaround is to use something like https://github.com/yyearth/turnoff-BD-PROCHOT to override this.

My battery info:

Handle 0x0023, DMI type 22, 26 bytes
Portable Battery
	Location: Front
	Manufacturer: SANYO
	Name: 00HW022
	Design Capacity: 23510 mWh
	Design Voltage: 11250 mV
	SBDS Version: 03.01
	Maximum Error: Unknown
	SBDS Serial Number: 1077
	SBDS Manufacture Date: 2018-05-19
	SBDS Chemistry: LiP
	OEM-specific Information: 0x00000000

Handle 0x0024, DMI type 22, 26 bytes
Portable Battery
	Location: Rear
	Manufacturer: SANYO
	Name: 00HW024
	Design Capacity: 25080 mWh
	Design Voltage: 11400 mV
	SBDS Version: 03.01
	Maximum Error: Unknown
	SBDS Serial Number: 00D6
	SBDS Manufacture Date: 2021-03-25
	SBDS Chemistry: LION
	OEM-specific Information: 0x00000000

/solved

Offline

Board footer

Powered by FluxBB