No Or Unknown CPUfreq Driver Is Active On This CPU – Fix in 2023

A key feature of contemporary computing is CPUFreq, which enables the CPU to dynamically modify its operating frequency and voltage to balance performance and power consumption. However, there are times when the system indicates that no CPUFreq driver or one that is unknown is active on a specific CPU. 

This message indicates a missing or unrecognized CPUFreq driver. Check BIOS settings, update firmware, or resolve driver issues to enable CPU frequency scaling. Sometimes, it is determined through BIOS or driver updates.

This article will explore what this means, potential reasons for such notifications, and steps to address the issue.

Understanding CPUfreq And Its Importance:

In modern computer systems, CPUFreq is a crucial part of the power management system. The CPU’s clock speed and voltage are dynamically adjusted to help optimize power consumption and thermal management. Maintaining the ideal balance between performance and energy efficiency depends on this dynamic scaling.

Source: kledgeb

1. No Active CPUFreq Driver Detected:

When you check the status of your system’s CPUFreq drivers, you may occasionally see a notice that reads, “No active CPUFreq driver detected.” This notification shows the system uses no specific driver to regulate CPU frequency scaling.

2. Unknown CPUFreq Driver Detected:

A different notification that can appear reads, “Unknown CPUFreq driver detected.” This notice implies that even though the system has located a CPUFreq driver, it does not support or recognize it.

Cause Behind No Or Unknown CPUfreq Driver Is Active On This CPU

The root cause of this issue lies in the ACPI (Advanced Configuration and Power Interface) information provided by the BIOS. When “Processor X2Apic Support” is enabled, it changes how the ACPI information is structured, causing the Linux cpufreq subsystem to have difficulty associating processor objects with entries in the MADT (Multiple APIC Description Table). This misalignment prevents the correct CPUFreq driver from loading.

Understanding The Environment:

The problem only affects HP ProLiant DL580 Gen8 servers running SLES 12 SP3. It primarily impacts the CPU frequency scaling utilities, such as cpupower, which malfunction because a loaded CPUFreq driver is absent.

Cause Behind No Or Unknown CPUfreq Driver Is Active On This CPU
Source : Github

1. The Situation:

When you run the cpupower frequency-info command, you receive output similar to the following:

# cpupower frequency-info

analyzing CPU 0:

no or unknown cpufreq driver is active on this CPU

The inability of the system to locate or load the proper CPUFreq driver for your CPU is indicated by this warning.

How To Resolve No Or Unknown CPUfreq Driver Is Active On This CPU

To resolve this issue, follow these steps:

Step 1: BIOS Configuration: 

Your computer displays a message like “Press [Key] to enter setup” or “Press [Key] to enter BIOS” during the first startup phase before the operating system loads. Depending on the maker of your computer, a different key may be required to access the BIOS, although usually, it’s one of these: F2, F12, Delete, Esc, F1, F10, or another.

How To Resolve No Or Unknown CPUfreq Driver Is Active On This CPU
Source : Cisco Certified

The BIOS key is typically briefly visible on the screen when your computer starts. Try one of the standard keys indicated above if you miss it. It would help to press the key during startup on some PCs continually. Now, Access the BIOS settings for your computer.

Step 2: Disable “Processor X2Apic Support”: 

Verify whether the “Processor X2Apic Support” option is selected in the BIOS. If it’s already enabled, set it to “disabled.”

Step 3: Collaborative Power Control (CPC): 

Ensure that RBSU (ROM-Based Setup Utility) has “Collaborative Power Control” activated. This parameter is crucial for managing CPU power.

Step 4: Power Regulator Setting:

Depending on the “Power Regulator Setting” option in iLO or RBSU, different CPUFreq drivers should be loaded.

  • If “Power Regulator Setting” is set to “Dynamic Power Savings Mode,” the pcc-cpufreq driver should load. You can verify this by rerunning the cpupower frequency-info command:
Power Regulator Setting:
Source : HPE Community

# cpupower frequency-info

analyzing CPU 0:

driver: pcc-cpufreq

  • If “Power Regulator Setting” is set to “OS Control Mode,” the intel_pstate driver should load. Confirm this by running the cpupower frequency-info command:

# cpupower frequency-info

analyzing CPU 0:

driver: intel_pstate

Alternative Fix To Resolve No Or Unknown CPUfreq Driver Is Active On This CPU

1. BIOS Update: 

The issue was resolved by updating the BIOS to a newer version. BIOS updates often provide compatibility improvements and fixes for hardware-related problems.

2. Module Availability: 

The necessary CPUFreq modules were located in /usr/lib/modules/$(uname -r)/kernel/drivers/cpufreq/ but were not loading. The root cause of this problem was identified as a BIOS-related issue, which was subsequently resolved by updating the BIOS.

Alternative Fix To Resolve No Or Unknown CPUfreq Driver Is Active On This CPU
Source : GIT – Dartmouth

3. Resolution Confirmation: 

The issue was resolved after flashing the updated BIOS, and the CPUFreq drivers loaded correctly. As a result, the system managed CPU frequency scaling effectively.

The issue has been marked resolved, and the system is now operating without any reported problems.

Frequently Asked Questions:

1. What Is The Use Of CPUfreq?

The CPUfreq governor “userspace” makes the sysfs file “scaling_setspeed” accessible in the CPU-device directory, allowing the user or any userspace program executing with UID “root” to change the CPU’s frequency. The CPUfreq governor “on demand” sets the CPU frequency depending on the current system load.

2. Is Auto-CPUfreq Any Good?

The automatic setting of system resources when not in use is an exceptionally entertaining feature of Auto-CPUFreq. This does not imply that all problems with Linux’s battery life will be resolved automatically, though. Improvement? Yes, but not as a long-term fix.

3. How Can I Determine Which CPUfreq Driver Should Be Active On My System?

To determine the active CPUFreq driver on your system, check the BIOS setting “Power Regulator Setting” and “Then Dynamic Power Savings Mode” typically uses the pcc-cpufreq driver. “OS Control Mode” usually employs the intel_pstate driver.

4 .Should I Update My System’s Kernel To Resolve This Issue?

Updating the kernel can help resolve CPUFreq driver issues, but it’s often more practical to first address BIOS settings and firmware updates. Kernel updates should be considered if other solutions don’t work.

Conclusion:

The HP ProLiant DL580 Gen8 running SLES 12 SP3 displays the message “no or unknown cpufreq driver is active on this CPU” due to the BIOS settings and ACPI data. You can fix this problem and enable correct CPU frequency scaling on your system by disabling “Processor X2Apic Support” in the BIOS and ensuring that “Collaborative Power Control” is enabled. The right CPUFreq driver must be loaded for adequate power management and performance.