You are not logged in.

#1 2011-05-03 17:37:56

Kevindeuxieme
Member
Registered: 2011-05-03
Posts: 4

Powernow_k8 not loading, unknown symbol

Hello, hello.

I've only recently installed arch (with difficulties, bootloaders always seem to fail on me, but that's solved) and at first with gnome, frequency scaling worked a bit erraticallyy on a PhenomII (acer laptop). It had worked quite well previously on Ubuntu 10.10, the gnome applet worked fine. After installing arch (that was like a week ago, and the / partition was formatted during install) however it started being really on and off, and now on lxde it has stopped working altogether. I tried to look into it, modprobed powernow_k8 according to the wiki even though it was in the rc.conf MODULES section (on startup it does says that governor setting failed, due to unrecognized proc), and boom :

[10:23:26 kevin@alienux ~]$ sudo modprobe powernow_k8
FATAL: Error inserting powernow_k8 (/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz): Unknown symbol in module, or unknown parameter (see dmesg)
[10:23:35 kevin@alienux ~]$ dmesg | tail
[ 6295.388441] powernow_k8: Unknown symbol strict_strtoul (err 0)
[10:26:57 kevin@alienux ~]$ sudo depmod -av | grep powernow
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "cpufreq_frequency_table_target": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "acpi_processor_get_bios_limit": /lib/modules/2.6.38-ARCH/kernel/drivers/acpi/processor.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "cpufreq_frequency_table_get_attr": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "acpi_processor_notify_smm": /lib/modules/2.6.38-ARCH/kernel/drivers/acpi/processor.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "acpi_processor_unregister_performance": /lib/modules/2.6.38-ARCH/kernel/drivers/acpi/processor.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "cpufreq_get_measured_perf": /lib/modules/2.6.38-ARCH/kernel/arch/x86/kernel/cpu/cpufreq/mperf.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "acpi_processor_register_performance": /lib/modules/2.6.38-ARCH/kernel/drivers/acpi/processor.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "cpufreq_freq_attr_scaling_available_freqs": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "cpufreq_frequency_table_cpuinfo": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "cpufreq_frequency_table_put_attr": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow_k8.ko.gz needs "cpufreq_frequency_table_verify": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "cpufreq_frequency_table_target": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "acpi_processor_get_bios_limit": /lib/modules/2.6.38-ARCH/kernel/drivers/acpi/processor.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "cpufreq_frequency_table_get_attr": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "acpi_processor_notify_smm": /lib/modules/2.6.38-ARCH/kernel/drivers/acpi/processor.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "acpi_processor_unregister_performance": /lib/modules/2.6.38-ARCH/kernel/drivers/acpi/processor.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "cpufreq_get_measured_perf": /lib/modules/2.6.38-ARCH/kernel/arch/x86/kernel/cpu/cpufreq/mperf.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "acpi_processor_register_performance": /lib/modules/2.6.38-ARCH/kernel/drivers/acpi/processor.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "cpufreq_freq_attr_scaling_available_freqs": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "cpufreq_frequency_table_cpuinfo": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "cpufreq_frequency_table_put_attr": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
/lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/powernow-k8.ko.gz needs "cpufreq_frequency_table_verify": /lib/modules/2.6.38-ARCH/kernel/drivers/cpufreq/freq_table.ko.gz
# both - and _ are a copy, since sometimes it told me that it couldn't find it i figured having both might help... all those do not give any apparent error when moprobed (if that's at all necessary)
[10:27:10 kevin@alienux ~]$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 1:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 2:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.

anything else that might help? it DID work at some point, that's what's driving me nuts, and now my laptop is running hot (50C) while doing very little...

thanks in advaaaance

Last edited by Kevindeuxieme (2011-05-04 02:08:37)

Offline

#2 2011-05-03 20:25:24

Leonid.I
Member
From: Aethyr
Registered: 2009-03-22
Posts: 999

Re: Powernow_k8 not loading, unknown symbol

I would say, it's a low-level kernel/bios problem... What does /proc/cpuinfo contain? If you boot from a livecd like does the scaling work?


Arch Linux is more than just GNU/Linux -- it's an adventure
pkill -9 systemd

Offline

#3 2011-05-03 22:34:54

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: Powernow_k8 not loading, unknown symbol

powernow_k8: Unknown symbol strict_strtoul

That's similar to the recent kstrtoull thread, but the other way... Funny.

(The new kstrto* functions are replacing strict_strto*... However strict_strtoul() has become deprecated but shouldn't have been removed yet...)

Hm it would make sense if you had an old powernow_k8 module, not built with the latest (2.6.38.4) kernel.h. You'll see why if you look at this patch which contains:

-extern int __must_check strict_strtoul(const char *, unsigned int, unsigned long *);
-extern int __must_check strict_strtol(const char *, unsigned int, long *);
-extern int __must_check strict_strtoull(const char *, unsigned int, unsigned long long *);
-extern int __must_check strict_strtoll(const char *, unsigned int, long long *);
+#define strict_strtoul kstrtoul
+#define strict_strtol  kstrtol
+#define strict_strtoull        kstrtoull
+#define strict_strtoll kstrtoll

In other words: code built with an older kernel.h tries to access strict_strtoul, but the same code built with this kernel.h accesses kstrtoul instead.

Edit: I have no solution, but I'd try downgrading to kernel26 2.6.38.3 or earlier.

Last edited by stqn (2011-05-03 22:37:15)

Offline

#4 2011-05-04 01:31:18

Kevindeuxieme
Member
Registered: 2011-05-03
Posts: 4

Re: Powernow_k8 not loading, unknown symbol

Well I just downgraded to 38.3-1 and now it works (though for some reason it loads the performance governor, while I put ondemand in modules... the mysteries never stop, do they?). What should I do, report the bug (is this a bug?) ? and do I just have to wait until a kernel version works while i keep this one somewhere?

Offline

#5 2011-05-04 01:51:39

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: Powernow_k8 not loading, unknown symbol

I have this in my /etc/rc.local to enable ondemand:

for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
do
 echo ondemand >$i
done

Alternatively you can use cpufreq-set as explained in the wiki.

I think you could report a bug in the Arch bug tracker (after checking that it's not already there of course.)

Edit: I have to say I have trouble understanding the first paragraph of your first post. Make sure it's not a problem on your end first...

Last edited by stqn (2011-05-04 01:54:23)

Offline

#6 2011-05-04 22:49:31

Kevindeuxieme
Member
Registered: 2011-05-03
Posts: 4

Re: Powernow_k8 not loading, unknown symbol

I'll do that if I get bored of cpufreq-setting each boot, not that it takes that long tongue

Thanks for the piece of code, is there any difference with just putting cpufreq-set for each core? (apart form the number of characters in rc.local?)

Offline

#7 2011-05-04 23:29:09

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: Powernow_k8 not loading, unknown symbol

Not sure if there's a difference. I'm not using cpufrequtils...

Offline

#8 2011-05-31 05:51:58

Kevindeuxieme
Member
Registered: 2011-05-03
Posts: 4

Re: Powernow_k8 not loading, unknown symbol

Well, as a short followup, it seems building the kernel myself (with arch's wiki via PKGBUILD ) works fine if I make sure not to build the drivers as modules but to integrate them or whatever the correct term is, and even the latest kernel (2.6.38.7) won't work without this modification. Oh well.

Offline

#9 2011-05-31 06:20:24

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: Powernow_k8 not loading, unknown symbol

Maybe try contacting Arch developers/packagers in the adequate mailing list... Or filing a bug report.

Offline

Board footer

Powered by FluxBB