You are not logged in.

#1 2019-03-24 17:06:31

Foxhole
Member
Registered: 2015-08-14
Posts: 37

Frequency stuck at 500 MHz

Good afternoon ,
I have been using archlinux on my Acer extensa laptop for 3 years, never had issues except for its processor's bug "C-State bug" it is affected.
The problem is that sometimes the CPU frequency drops to 500/499 MHz and it won't change unless i suspend the session. Between the suspension and the next boot, the problem never happens again.
It happens more frequently when on battery, straight after login and when low on charge.
I'm using KDE as graphical interface, all packages are updated.
Kernel is tainted only because of the virtualbox driver, but the issue was present even before installing virtualbox.
Kernel version is Linux 5.0.2-arch1-1-ARCH #1 SMP PREEMPT x86_64 GNU/Linux
sudo cpupower frequency-info (i translated it)

  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: 500 MHz - 2.67 GHz
  available governors: performance powersave
  current policy: requency should be within  500 MHz and 2.67 GHz.
                   The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 500 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

The only thing that changes when it is not stuck it is the second "current CPU frequency" value, which is different.
I have tried almost everything to fix it, but with no success. I'll write here most of the attempts i've done:

  • Setting manually the frequency to other values by using cpupower, didn't work

  • Changed from intel_idle to acpi_idle, even worse behaviour

  • Setting manually the frequency to other values by using cpupower

  • Changed from intel_pstate to acpi_cpufreq, tried all governors, all of those acted worse

  • After many attempts, i have been able to set the cpu frequency to 2.67 GHz, a few seconds after it dropped the same

  • I checked the battery's health status (it is the original one), it is not very good, but i don't think it is related to that, because the frequency gets stuck only once after boot. After suspend it never happens again

    native-path:          BAT0
      vendor:               LGC
      model:                AC14B18J
      serial:               57913
      power supply:         yes
      updated:              sun 24 mar 2019 17:47:48 CET (79 seconds ago)
      has history:          yes
      has statistics:       yes
      battery
        present:             yes
        rechargeable:        yes
        state:               discharging
        warning-level:       none
        energy:              9,3366 Wh
        energy-empty:        0 Wh
        energy-full:         29,1612 Wh
        energy-full-design:  36,708 Wh
        energy-rate:         6,726 W
        voltage:             11,055 V
        time to empty:       1,4 hours
        percentage:          32%
        capacity:            79,441%
        technology:          lithium-ion
        icon-name:          'battery-good-symbolic'
      History (rate):
        1553446068  6,726   discharging

Both uname -p and uname -i shows "unknown"

screenfetch

                   -`                 
                  .o+`                 foxhole@foxhole-arch
                 `ooo/                 OS: Arch Linux 
                `+oooo:                Kernel: x86_64 Linux 5.0.2-arch1-1-ARCH
               `+oooooo:               Uptime: 1h 11m
               -+oooooo+:              Packages: 1768
             `/:-:++oooo+:             Shell: zsh 5.7.1
            `/++++/+++++++:            Resolution: 1366x768
           `/++++++++++++++:           DE: KDE 5.56.0 / Plasma 5.15.3
          `/+++ooooooooooooo/`         WM: KWin
         ./ooosssso++osssssso+`        GTK Theme: oxygen-gtk [GTK2], Breeze-Dark [GTK3]
        .oossssso-````/ossssss+`       Icon Theme: Papirus-Dark
       -osssssso.      :ssssssso.      Font: Segoe UI Semilight Regular
      :osssssss/        osssso+++.     CPU: Intel Pentium N3540 @ 4x 2.6656GHz [26.8°C]
     /ossssssss/        +ssssooo/-     GPU: Mesa DRI Intel(R) Bay Trail 
   `/ossssso+/:-        -:/+osssso+-   RAM: 1868MiB / 3829MiB
  `+sso+:-`                 `.-/+oso: 
 `++:.                           `-/+/
 .`                                 `/

Boot parameters are:

GRUB_CMDLINE_LINUX_DEFAULT="splash intel_idle.max_cstate=1"
GRUB_CMDLINE_LINUX=""

My question is: If there would not be a fix to this problem, is there a way to intercept the signal (or whatever it is) which sets the cpu frequency at such low value?

Last edited by Foxhole (2019-03-24 17:13:38)

Offline

#2 2019-03-24 17:15:55

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,672

Re: Frequency stuck at 500 MHz

Issues like these are almost always firmware related. Make sure you are on the most recent BIOS/UEFI firmware version. Sometimes it also helps to properly reset the power state by cutting the power, taking the battery out, waiting a few seconds, reinserting the battery.

Offline

#3 2019-03-24 17:20:04

Foxhole
Member
Registered: 2015-08-14
Posts: 37

Re: Frequency stuck at 500 MHz

I will look for bios updates as first. For what regards the battery, it is not a removable one, i'll have to disassemble most of the laptop, but i will try with that too.
Thank you for you answer., i will update you as soon as i will have time to do both attempts.

Offline

#4 2019-03-24 17:47:40

Foxhole
Member
Registered: 2015-08-14
Posts: 37

Re: Frequency stuck at 500 MHz

Update: i updated the bios (actually, it rewrote the bios version with the same version, resulting in a reset of the bios settings only), nothing changed

Last edited by Foxhole (2019-03-24 17:49:10)

Offline

#5 2019-04-03 04:21:28

clafordvlawrence
Member
Registered: 2019-02-13
Posts: 6

Re: Frequency stuck at 500 MHz

Do you by any chance have tlp installed on your laptop? I noticed that at times incorrect configuration of tlp would cause the cpu frequency to be stuck


thinkpad x1 carbon 4gen

Offline

#6 2019-04-27 09:46:30

Foxhole
Member
Registered: 2015-08-14
Posts: 37

Re: Frequency stuck at 500 MHz

Yes, i have tlp installed.
/etc/default/tlp

# ------------------------------------------------------------------------------
# tlp - Parameters for power saving
# See full explanation: [url]http://linrunner.de/en/tlp/docs/tlp-configuration.html[/url]

# Hint: some features are disabled by default, remove the leading # to enable
# them.

# Set to 0 to disable, 1 to enable TLP.
TLP_ENABLE=1

# Operation mode when no power supply can be detected: AC, BAT.
# Concerns some desktop and embedded hardware only.
TLP_DEFAULT_MODE=AC

# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
# Hint: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
TLP_PERSISTENT_DEFAULT=0

# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
# Non-zero value enables, zero disables laptop mode.
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2

# Dirty page values (timeouts in secs).
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60

# Hint: CPU parameters below are disabled by default, remove the leading #
# to enable them, otherwise kernel default values are used.

# Select a CPU frequency scaling governor.
# Intel Core i processor with intel_pstate driver:
#   powersave(*), performance.
# Older hardware with acpi-cpufreq driver:
#   ondemand(*), powersave, performance, conservative, schedutil.
# (*) is recommended.
# Hint: use tlp-stat -p to show the active driver and available governors.
# Important:
#   powersave for intel_pstate and ondemand for acpi-cpufreq are power
#   efficient for *almost all* workloads and therefore kernel and most
#   distributions have chosen them as defaults. If you still want to change,
#   you should know what you're doing! You *must* disable your distribution's
#   governor settings or conflicts will occur.
#CPU_SCALING_GOVERNOR_ON_AC=powersave
#CPU_SCALING_GOVERNOR_ON_BAT=powersave

# Set the min/max frequency available for the scaling governor.
# Possible values strongly depend on your CPU. For available frequencies see
# the output of tlp-stat -p.
#CPU_SCALING_MIN_FREQ_ON_AC=0
#CPU_SCALING_MAX_FREQ_ON_AC=0
#CPU_SCALING_MIN_FREQ_ON_BAT=0
#CPU_SCALING_MAX_FREQ_ON_BAT=0

# Set energy performance hints (HWP) for Intel P-state governor:
#   performance, balance_performance, default, balance_power, power
# Values are given in order of increasing power saving.
# Note: Intel Skylake or newer CPU and Kernel >= 4.10 required.
# CPU_HWP_ON_AC=balance_performance
# CPU_HWP_ON_BAT=balance_performance

# Set Intel P-state performance: 0..100 (%).
# Limit the max/min P-state to control the power dissipation of the CPU.
# Values are stated as a percentage of the available performance.
# Requires an Intel Core i processor with intel_pstate driver.
#CPU_MIN_PERF_ON_AC=0
#CPU_MAX_PERF_ON_AC=100
#CPU_MIN_PERF_ON_BAT=0
#CPU_MAX_PERF_ON_BAT=30

# Set the CPU "turbo boost" feature: 0=disable, 1=allow
# Requires an Intel Core i processor.
# Important:
# - This may conflict with your distribution's governor settings
# - A value of 1 does *not* activate boosting, it just allows it
#CPU_BOOST_ON_AC=1
#CPU_BOOST_ON_BAT=0

# Minimize number of used CPU cores/hyper-threads under light load conditions:
#   0=disable, 1=enable.
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=0

# Kernel NMI Watchdog:
#   0=disable (default, saves power), 1=enable (for kernel debugging only).
NMI_WATCHDOG=0

# Change CPU voltages aka "undervolting" - Kernel with PHC patch required.
# Frequency voltage pairs are written to:
#   /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
# CAUTION: only use this, if you thoroughly understand what you are doing!
#PHC_CONTROLS="F:V F:V F:V F:V"

# Set CPU performance versus energy savings policy:
#   performance, balance-performance, default, balance-power, power.
# Values are given in order of increasing power saving.
# Requires kernel module msr and x86_energy_perf_policy from linux-tools.
#ENERGY_PERF_POLICY_ON_AC=performance
#ENERGY_PERF_POLICY_ON_BAT=performance

# Disk devices; separate multiple devices with spaces (default: sda).
# Devices can be specified by disk ID also (lookup with: tlp diskid).
DISK_DEVICES="sda sdb"

# Disk advanced power management level: 1..254, 255 (max saving, min, off).
# Levels 1..127 may spin down the disk; 255 allowable on most drives.
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the hardware default for the particular disk.
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"

# Hard disk spin down timeout:
#   0:        spin down disabled
#   1..240:   timeouts from 5s to 20min (in units of 5s)
#   241..251: timeouts from 30min to 5.5 hours (in units of 30min)
# See 'man hdparm' for details.
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the hardware default for the particular disk.
#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"

# Select IO scheduler for the disk devices: cfq, deadline, noop (Default: cfq).
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the kernel default scheduler for the particular disk.
#DISK_IOSCHED="cfq cfq"

# AHCI link power management (ALPM) for disk devices:
#   min_power, med_power_with_dipm(*), medium_power, max_performance.
# (*) Kernel >= 4.15 required, then recommended.
# Multiple values separated with spaces are tried sequentially until success.
SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
SATA_LINKPWR_ON_BAT="med_power_with_dipm max_performance"

# Exclude host devices from AHCI link power management.
# Separate multiple hosts with spaces.
#SATA_LINKPWR_BLACKLIST="host1"

# Runtime Power Management for AHCI host and disks devices:
#   on=disable, auto=enable.
# EXPERIMENTAL ** WARNING: auto will most likely cause system lockups/data loss.
#AHCI_RUNTIME_PM_ON_AC=on
#AHCI_RUNTIME_PM_ON_BAT=on

# Seconds of inactivity before disk is suspended.
AHCI_RUNTIME_PM_TIMEOUT=15

# PCI Express Active State Power Management (PCIe ASPM):
#   default, performance, powersave.
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=default

# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
# auto = mid on BAT, high on AC; default = use hardware defaults.
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=high

# Radeon dynamic power management method (DPM): battery, performance.
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=performance

# Radeon DPM performance level: auto, low, high; auto is recommended.
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto

# WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on

# Disable wake on LAN: Y/N.
WOL_DISABLE=Y

# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
# A value of 0 disables, >=1 enables power saving (recommended: 1).
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1

# Disable controller too (HDA only): Y/N.
SOUND_POWER_SAVE_CONTROLLER=Y

# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
# Drive can be powered on again by releasing (and reinserting) the eject lever
# or by pressing the disc eject button on newer models.
# Note: an UltraBay/MediaBay hard disk is never powered off.
BAY_POWEROFF_ON_AC=0
BAY_POWEROFF_ON_BAT=0
# Optical drive device to power off (default sr0).
BAY_DEVICE="sr0"

# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable.
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto

# Exclude PCI(e) device adresses the following list from Runtime PM
# (separate with spaces). Use lspci to get the adresses (1st column).
#RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6"

# Exclude PCI(e) devices assigned to the listed drivers from Runtime PM.
# Default when unconfigured is "amdgpu nouveau nvidia radeon" which
# prevents accidential power-on of dGPU in hybrid graphics setups.
# Use "" to disable the feature completely.
# Separate multiple drivers with spaces.
#RUNTIME_PM_DRIVER_BLACKLIST="amdgpu nouveau nvidia radeon"

# Set to 0 to disable, 1 to enable USB autosuspend feature.
USB_AUTOSUSPEND=0

# Exclude listed devices from USB autosuspend (separate with spaces).
# Use lsusb to get the ids.
# Note: input devices (usbhid) are excluded automatically
#USB_BLACKLIST="1111:2222 3333:4444"

# Bluetooth devices are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude.
USB_BLACKLIST_BTUSB=0

# Phone devices are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude (enable charging).
USB_BLACKLIST_PHONE=1

# Printers are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude.
USB_BLACKLIST_PRINTER=1

# WWAN devices are excluded from USB autosuspend:
#   0=do not exclude, 1=exclude.
USB_BLACKLIST_WWAN=1

# Include listed devices into USB autosuspend even if already excluded
# by the blacklists above (separate with spaces).
# Use lsusb to get the ids.
#USB_WHITELIST="1111:2222 3333:4444"

# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
# (workaround for USB devices that cause shutdown problems).
#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1

# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
# on system startup: 0=disable, 1=enable.
# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
#   are ignored when this is enabled!
RESTORE_DEVICE_STATE_ON_STARTUP=0

# Radio devices to disable on startup: bluetooth, wifi, wwan.
# Separate multiple devices with spaces.
#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"

# Radio devices to enable on startup: bluetooth, wifi, wwan.
# Separate multiple devices with spaces.
#DEVICES_TO_ENABLE_ON_STARTUP="wifi"

# Radio devices to disable on shutdown: bluetooth, wifi, wwan.
# (workaround for devices that are blocking shutdown).
#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"

# Radio devices to enable on shutdown: bluetooth, wifi, wwan.
# (to prevent other operating systems from missing radios).
#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"

# Radio devices to enable on AC: bluetooth, wifi, wwan.
#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"

# Radio devices to disable on battery: bluetooth, wifi, wwan.
#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"

# Radio devices to disable on battery when not in use (not connected):
#   bluetooth, wifi, wwan.
#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"

# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
# required). Charging starts when the remaining capacity falls below the
# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
# Main / Internal battery (values in %)
#START_CHARGE_THRESH_BAT0=75
#STOP_CHARGE_THRESH_BAT0=80
# Ultrabay / Slice / Replaceable battery (values in %)
#START_CHARGE_THRESH_BAT1=75
#STOP_CHARGE_THRESH_BAT1=80

# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
#RESTORE_THRESHOLDS_ON_BAT=1

# ------------------------------------------------------------------------------
# tlp-rdw - Parameters for the radio device wizard
# Possible devices: bluetooth, wifi, wwan.

# Hints:
# - Parameters are disabled by default, remove the leading # to enable them
# - Separate multiple radio devices with spaces

# Radio devices to disable on connect.
#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"

# Radio devices to enable on disconnect.
#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""

# Radio devices to enable/disable when docked.
#DEVICES_TO_ENABLE_ON_DOCK=""
#DEVICES_TO_DISABLE_ON_DOCK=""

# Radio devices to enable/disable when undocked.
#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
#DEVICES_TO_DISABLE_ON_UNDOCK=""

Last edited by Foxhole (2019-04-27 10:53:28)

Offline

#7 2019-04-27 10:45:20

r0b0t
Member
From: /tmp
Registered: 2009-05-24
Posts: 505

Re: Frequency stuck at 500 MHz

Offline

Board footer

Powered by FluxBB