You are not logged in.
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
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