This fix requires you to compile a kernel, I'm not going to discuss how
thats done here, i assume you are familiar with that process and have all
the gcc make tools etc to do a build..
I also assume you have lm_sensors and gkrellm installed.

Prcoeed at your own risk. If any of the information below causes you bad
karma or your dog to bite you, thats just tough.

First thing to check is your cpu_family and model, cpu_family MUST be 6,
otherwise this fix doesnt apply. The model is 23(0x17) in this example, but
I am reasonably sure it will work for different models above 0xf if family
is 6

cat /proc/cpuinfo and review this info:

vendor_id : GenuineIntel
cpu family : 6
model : 23

This was for a Q9450, but other core2 cpu's use the same access method for
thermal temps. (Note: this concerns cpu temp only, not board temps, fans,
or voltages. that stuff has to be accessed through the ME engine in the
The reason a core2 quad doesnt show its temps in gkrellm is that coretemp
wont load. coretemp doesnt recognize model 23. It only recognizes models e,
f and 16. We need to add model 23(0x17)

drivers/hwmon/coretemp.c needs to be edited.

In this function in coretemp.c:

static int __init coretemp_init(void)

find this:

/* check if family 6, models e, f, 16 */
if ((c->cpuid_level < 0) || (c->x86 != 0x6) ||
!((c->x86_model == 0xe) || (c->x86_model == 0xf) ||
(c->x86_model == 0x16))) {

change it to this:

/* check if family 6, models e, f, 16 or 17 <= then OK! */
if ((c->cpuid_level < 0) || (c->x86 != 0x6) ||
!((c->x86_model == 0xe) || (c->x86_model == 0xf) ||
(c->x86_model == 0x16)||(c->x86_model == 0x17))) {

save the file and go through the normal kernel build/install process
add this to the end of /etc/rc.local
modprobe coretemp

reboot - select your new kernel, in kde start glkrellm, go to its
configuration page and enable the builtin cpu thermal sensors
You should be seeing all 4 cpu temps now. open a console, type sensors
it should show the 4 core's temperatures (you may need to run sensors-detect