Opened 4 years ago
Last modified 4 years ago
#16504 new bug
My system with Intel J3455 runs always at 1.5 ghz — at Version 15
Reported by: | LowTech | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | System | Version: | R1/beta2 |
Keywords: | Enhanced Intel SpeedStep J3455 | Cc: | |
Blocked By: | Blocking: | ||
Platform: | All |
Description (last modified by )
Hi, installed Haiku R1/beta2 on my mini pc along with Windows and Linux. Haiku runs fine except a tiny boot glitch (https://discuss.haiku-os.org/t/r1-beta2-uefi-boot-issue/9915/7) and no audio.
The bug report is about a different issue: the cpu clock stucks at a single frequency. Not only programs run slower than on Windows/Linux, also the cpu gets hot and the fan spins most of the time. The cpu seems switching never to 600/800 mhz when idle. (https://discuss.haiku-os.org/t/why-do-chess-engines-run-slow-on-haiku/9929/14)
Issue supporting Enhanced Intel SpeedStep Technology
2543 KERN: no valid cpufreq module found
Because of the missing cpufreq module, Haiku can't change neither to lower clocks (down to 800mhz) when idle, nor higher (up to 2.3ghz) under load.
The cpu J3455 runs the whole time at it's default frequency of 1.5ghz. Windows and Linux don't have this problem on the same real hardware.
Change History (18)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
ACEPC AK2 (https://iacepc.com/Index/cases/caseinfo?case_id=213)
CPU: Intel Celeron J3455 GPU: Intel HD Graphics 500 RAM: 4GB DDR3L Hard Disk 1: 64 GB EMMC Hard Disk 2: 256GB mSATA SSD Expansion options: Install 2.5-Inch HDD/SSD, SD Card Wi-Fi: 2.4G/5G Built-in Wi-Fi Bluetooth: BT 4.0
comment:3 by , 4 years ago
They seem to have quite poor firmware handling. Here is the closest to official info, you need a BIOS update with an EC (embedded controller) that can control fans: https://www.iacepc.com/forum/viewtopic.php?p=1073#p1073
We are too small to handle bad manufacturer fw, so I recommend upgrading your fw first. Unless you can switch hardware.
comment:4 by , 4 years ago
Thanks for looking into!
The included EC firmware is for a different system (AK3 with cpu J4125). The fan on the AK2 has no problem with other os. It seems normal that it spins more on Haiku, because the cpu clock is stuck at 1.5ghz.
Isn't clocking managed by the cpu itself and the os via ACPI? But not by the embedded controller? Would it help to add some Linux log files?
comment:5 by , 4 years ago
Linux:
~> cat dmesg.txt | grep EC:
[ 0.227017] ACPI: EC: EC started [ 0.227019] ACPI: EC: interrupt blocked [ 0.338580] ACPI: \_SB_.PCI0.SBRG.H_EC: Used as first EC [ 0.338584] ACPI: \_SB_.PCI0.SBRG.H_EC: GPE=0x2c, EC_CMD/EC_SC=0x66, EC_DATA=0x62 [ 0.338586] ACPI: \_SB_.PCI0.SBRG.H_EC: Boot DSDT EC used to handle transactions [ 0.391832] ACPI: EC: interrupt unblocked [ 0.391901] ACPI: EC: event unblocked [ 0.391927] ACPI: \_SB_.PCI0.SBRG.H_EC: GPE=0x2c, EC_CMD/EC_SC=0x66, EC_DATA=0x62 [ 0.391930] ACPI: \_SB_.PCI0.SBRG.H_EC: Boot DSDT EC used to handle transactions and events
~> cat dmesg.txt | grep error
[ 6.651025] EDAC pnd2: Failed to register device with error -22. [ 6.735578] EDAC pnd2: Failed to register device with error -22. [ 6.779803] EDAC pnd2: Failed to register device with error -22. [ 6.866720] EDAC pnd2: Failed to register device with error -22.
comment:6 by , 4 years ago
Windows (and often Linux) install hw specific drivers for fan control. Haiku doesn't, as it is a huge undertaking, so it relies on ACPI and EC to handle it. In almost all ACPI specs it is requirement that ACPI does handle fan control unless OS takes over so not sure if I'd trust this manufacturer.
If fw upgrade doesn't fix things I think your hardware is very unlikely to run Haiku well. You can try to figure out what drivers control CPU/fan in Linux and it might be possible for you to port those over.
comment:7 by , 4 years ago
Sorry for following up. I don't request some fan control for my pc, because it works perfect!
But, as the cpu runs at a single frequency, Intel Speedstep is broken on Haiku for this system.
From Intels website:
CPU - supported
Chipset - supported
Motherboard - supported
BIOS - supported, it does SpeedStep on Windows & Linux
Drivers - No specific software or driver updates are currently required.
OS - An OS must support Enhanced Intel SpeedStep Technology.
https://www.intel.com/content/www/us/en/support/articles/000007073/processors.html
What are the system requirements to support Enhanced Intel Speedstep® Technology? The CPU, chipset, motherboard, BIOS, Operating System, and software/drivers must support Enhanced Intel SpeedStep Technology. CPU: Consult the product specifications and comparisons to see which processors support Enhanced Intel SpeedStep Technology. Chipset: A motherboard with one of the following chipsets is required to support Enhanced Intel SpeedStep Technology: Intel® 910 / 915x / 925X / XE Express Chipset Family or Intel® 945x / 946x / 955X / 975 / 965 / 963 Express Chipset Family, Intel® 3 Series Chipsets, Intel® 4 Series Chipsets, Intel® 5 Series Chipsets, or Intel® 6 Series Chipsets. Motherboard: The system board must support Dynamic Voltage Identification (Dynamic VID). All Intel® Desktop Boards support Dynamic VID. For all others, contact your motherboard manufacturer for specific Dynamic VID support. BIOS: A BIOS must support Enhanced Intel SpeedStep Technology. For Boxed Intel® Desktop Boards, see Intel® Desktop Boards For all others, contact your motherboard manufacturer. Operating system: An OS must support Enhanced Intel SpeedStep Technology. Current supporting operating systems include: Microsoft Windows Vista*, Microsoft Windows XP SP2*, and Microsoft Windows 7*. Linux* support is also available. Contact your OS vendor for more information. Software/Drivers: No specific software or driver updates are currently required. However, we recommend that you always have the latest drivers for your system hardware.
comment:8 by , 4 years ago
This might or might not be relevant -- they seem to be studying a similar problem : https://github.com/genodelabs/genode/issues/3871
comment:9 by , 4 years ago
Sorry I misread the description. Then it seems very likely that it is something like ttcoder suggests. We do have a driver for intel cpus, but maybe the celerons are special in some way.
comment:10 by , 4 years ago
Also, please don't gzip text-attachments, it's not readable without downloading and unzipping then. So please re-upload uncompressed.
by , 4 years ago
Attachment: | syslog.txt added |
---|
by , 4 years ago
Attachment: | sysinfo.txt added |
---|
by , 4 years ago
comment:12 by , 4 years ago
Can't see anything in logs, so maybe check if there is any thread that is at 100% all the time? Here is Haiku cpu idle info:
2543 KERN: no valid cpufreq module found 2544 KERN: using Intel C-States: C0, C1, C3, C4, C5, C6, C7 2545 KERN: found cpuidle module: power/cpuidle/intel_cstates/v1
comment:13 by , 4 years ago
And Linux:
312 [ 0.183370] cpuidle: using governor ladder 313 [ 0.183370] cpuidle: using governor menu ... 571 [ 1.016541] intel_idle: MWAIT substates: 0x11242020 572 [ 1.016543] intel_idle: v0.4.1 model 0x5C 573 [ 1.017098] intel_idle: lapic_timer_reliable_states 0xffffffff
Not sure if there is more I can contribute.
comment:14 by , 4 years ago
Isn't the message
2543 KERN: no valid cpufreq module found
the key to the problem?
Haiku calls neither for lower clocks (down to 800mhz) when idle, nor higher (up to 2.3ghz) when under load. Because of the missing cpufreq module! So the J3455 runs the whole time at it's default frequency of 1.5ghz.
For proper working, I would have expected a Haiku log entry with something like
KERN: found cpufreq module: power/cpufreq/intel_pstates ...
comment:15 by , 4 years ago
Description: | modified (diff) |
---|
Please describe hardware, exact model is preferable.