12.3 hangs at splash screen if AMD Cool'n'Quiet turned on in BIOS after install

Hi,

Just upgraded from 12.2 to 12.3.

I’d like to save some power, so I thought I’d look to see if AMD Cool’n’Quiet was turned on in my BIOS. It was off, and I presume it always was off. I changed the setting to ‘AUTO’ and re-booted.

Now the machine hangs at the splash screen. No alt=<Fn> console screens are accessible - it’s a goner.

I press the m/b reset, go back into the BIOS to disable C’n’Q again and now it boots into Gnome correctly as before.

Is this an architectural limitation ( grub2 options) , a DSDT bug ?, any clue ?

Asus M2A-VM last BIOS, AMD Athlon x2 64 4200, 2G DRAM, x86_64 install of 12.3

This may work out for you
https://forums.opensuse.org/blogs/jdmcdaniel3/c-f-u-cpu-frequency-utility-version-1-23-use-cpufrequtils-package-40/
if you have any queries do post a comment in that article

Should the 3.7 linux kernel auto-detect the CPU capability field for AMD power management ?

or

do I have to do something typically krufty like boot into the recovery mode and regenerate the grub2 configuration file ?

@vazhavandan

Thanks, but I can’t see how those scripts will help, as the machine will not complete boot at all if Cool’n’Quiet is turned on, so is a brick not a CPU.

You did not say where it hangs, Is it on GRUB screen? Or after you selected boot entry?

It hangs at what I called the splash screen, the stuttery animation of the pale green chameleon on a branch that increases stepwise in saturation. Is that called ‘Plymouth’ ? (?)

That’s after I let grub2 auto-pick the first option in the list. I haven’t modified any grub2 stuff since 12.3 upgrade. I never tried C’n’Q on 12.2 - the only previous version of OpenSUSE on this m/b.

I’ve been reading about DSDT fixing and it appears this is now pointless because overloading with a patched dsdt.aml has been disabled and labelled as ‘WONTFIX’, i.e.

https://bugzilla.novell.com/show_bug.cgi?id=600481

Presumably, even if it did work, the BIOS would generate different DSDTs with C’n’Q ON and OFF resp. ?

Yes. So the first thing to check would be to boot without splash screen (e.g. by selecting recovery entry) to see where it hangs.

selected

openSUSE, with Linux 3.7.10-1.1-desktop (recovery mode)

two screens-worth of unreadable guff flash by, then the screen goes black and the m/b re-boots back to the BIOS screen.

I tried it again and this time it didn’t re-boot to BIOS, but locked up with the last line(s) of

[OK] Reached target Basic System.
       Starting LSB: Framebuffer setup...
       Starting LSB: CPUFreq modules loader...

About 40-ish lines higher up are

[10.920891] powernow-k8: fid 0xe (2200MHz), vid 0xc
[10.928129] powernow-k8: fid 0xc (2000MHz), vid 0xe
[10.935260] powernow-k8: fid 0xa (1800MHz), vid 0x10
[10.942268] powernow-k8: fid 0x2 (1000MHz), vid 0x12
[10.949459] powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ (2 cpu cores) (version 2.20.00)

Is that guff stored in /var/log/messages or /?/?/?/dmesg ? I can never remember where Linux hides its error messages.

Try to boot in run-level 1 (press ‘e’ on grub menu entry, go to the end of line that starts with “linux …” and add " 1" (space, 1), press F10. Then do “insserv -r cpufreq” to disable it. It may allow you to boot.

er, what’s the point of disabling the CPUFreq module when I can get it to boot simply by turning C’n’Q off in the BIOS ?

Does your method get me a way of using C’n’Q ?

Isn’t the CPUFreq kernel module necessary for p-state management ?

Yes if you don’t want to trouble shoot the problem. It is not meant as a solution. You would not want to boot to single user mode init 1 normally

I’m sorry, I don’t understand.

I do want to troubleshoot the problem if there is anywhere useful left to go, but not loading the CPUFreq kernel module will disable all userspace tools and interfaces that do p-state power management, won’t it ?

e.g. these

https://forums.opensuse.org/blogs/jdmcdaniel3/c-f-u-cpu-frequency-utility-version-1-23-use-cpufrequtils-package-40/
https://forums.opensuse.org/blogs/jdmcdaniel3/yast-power-management-control-your-cpu-energy-usage-how-faq-28/

I’ve loaded the cpupower package and that reports,as expected, that

:->cpupower frequency-info
analyzing CPU 0:
no or unknown cpufreq driver is active on this CPU

Is there a possibility that loading the CPUFreq module *after *Gnome has booted may work whereas loading it at boot time is somehow different ? I’m unfamiliar with this level of kernel subtlety.

I can only see that there is most likely an unfixed bug in my m/b BIOS and, because custom dsdt.aml files are disabled in OpenSUSE as a matter of policy according to a previous link I posted, I can’t do anything to get CPUFreq working by fixing DSDT bugs, can I ?

I’m not a kernel developer, I’m a user.

OK, this is odd

I’m following the guide here

https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Power_Management_Guide/cpufreq_setup.html

along with this post

https://forums.opensuse.org/english/get-technical-help-here/hardware/479471-how-do-i-load-my-ko-module-boot-automatically.html

but I have only a single entry under /arch (x86) when doing

ls /lib/modules/3.7.10-1.1-desktop/kernel/arch/<where is x86_64 ?>/kernel/cpu/<where is cpufreq ?>/

In fact, all I have is

/lib/modules/3.7.10-1.1-desktop/kernel/arch/x86/kernel/cpu/mcheck

There are no cpufreq drivers here. I do a

cat /proc/modules
sudo /sbin/modprobe -l processor

and that says the module is in

kernel/drivers/acpi/

but /kernel does not exist anywhere in the filesystem - ls returns an error !!

in fact, this appears to be the path

/lib/modules/3.7.10-1.1-desktop/kernel/drivers/acpi

so the cpufreq modules appear to be in

/lib/modules/3.7.10-1.1-desktop/kernel/drivers/cpufreq

is that right ?

Is it safe to just issue a

#modprobe acpi-cpufreq

? Or should this be

#modprobe powernow-k8
#modprobe acpi-cpufreq

I’m way out of my depth here…

Then I misunderstood you. I thought you intended to switch to BIOS controller power saving instead of relying on what Linux kernel provides.

How should we know? Normally system loads cpufreq drivers that match hardware automatically. In this case it apparently does not happen, so cpufreq tries to probe all of them one by one. One of modules causes your system to hang. It may well be acpi-cpufreq, you will never know in advance.

If you want to experiment with it

  • do it in run level 3, not in run level 5, to be able to capture console output
  • or even better in run level 1, so you have as small number of processes as possible running to minimize chance of file system corruption
  • bump console log level so you will get all kernel messages on console (dmesg -n 7)
  • try to load cpufreq modules one by one

If system hangs and there is any output on console, make a picture of it, upload to SUSE Paste for review.

Debugging kernel problem does require some experience. The main problem on PC is, you need console logs that you are not able to capture, and screen is often too small to show all of them even if you make a picture. I often had to set up netconsole for it.

Linux kernel p-state management cannot be done unless BIOS turns on CPU p-state feature, surely ? After all, if I turn C’n’Q off in the BIOS, the CPUFreq kernel module does not load. If I turn it on, the CPU reports p-state capability and the CPUFreq module tries to load (unsuccessfully).

My only working option at the moment for OpenSUSE 12.3 is no CPU power management.

The problem is there is only a single driver in the

/lib/modules/3.7.10-1.1-desktop/kernel/drivers/cpufreq

directory and that is acpi-cpufreq.ko

The other entries are the governors and the powernow-k8.ko module - which appears to load successfully earlier in the boot sequence.

What should there be in this directory ? A range of different drivers ? Am I missing the working one ?

last step not possible - as I said - only 1 CPUFreq module - the one that locks or re-boots the PC - on my install of OpenSUSE 12.3

Many thanks for taking the trouble to help, though !:shame:

Then you should really open bug report. Even to simply add your system to black list to avoid this.

Hi,
today I had the same problem.
I also upgraded from Open Suse 12.2 to 12.3. I have the same PC as you.
I have AMD Cool’n’Quiet on.

What helped?
Clean installation.
No upgrade.