CPU Temp on ECS NFORCE3-A939

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you very much for the quick response and sorry for the html email.  I
have responded below to your questions and comments.  

Below I have provided:
* The complete output from my bios screen for monitored values
* My attempts to use the vid parameter
* Information on temp3 that was missing before
* Complete output of sensors-detect.

Thanks again for the help, it is very much appreciated.

-----Original Message-----
From: Jean Delvare [mailto:khali at linux-fr.org] 
Sent: Sunday, June 18, 2006 5:11 AM
To: Lou Parisi
Cc: LM Sensors
Subject: Re:  CPU Temp on ECS NFORCE3-A939

Hi Lou,

First of all, I would suggest that you switch to a better e-mail
client. The one you use doesn't handle character encodings properly,
and generate very crappy HTML code.

> I am running CentOS 4 (uname -r 2.6.9-34.0.1.EL) with an ECS NFORCE3-939
MB
> and AMD Athlon64 3000+ processor
> 
> I am having problems with the CPU temp and core voltage value using
> lm-sensors.

> Had to adjust voltages computations for in5 and in6 from a post I found
> regarding a TYAN mb that had the same chip:    
> 
>     compute in5 (@ * (1+4.14)) - (4.096*4.14)  ,  (@ + (4.096*4.14)) /
(1+4.14)
> 
>     compute in6 (@ * (1+2.14)) - (4.096*2.14)  ,  (@ + (4.096*2.14)) /
(1+2.14)

These are very board-specific. What makes you think these lines are
correct for your board? Do the displayed values (and labels) match what
the BIOS displays? Many recent motherboards do not monitor negative
voltage lines anymore.

[Lou 18-JUN-2006] These values were not reasonable using the defaults.  I
searched the web for many configurations trying different ones and these
seem to output reasonable values but you are right my bios does not display
the negative voltages.  

My bios displays relatively consistent values with the following values and
labels reproduced from the bios screen below:
CPU VCore	1.37V
+1.5V		1.47V
+3.3V		3.31V
+5V		4.91V
+12V		11.71V
5VSB		5.02V
CPU Temp	53 C
System Temp	31 C
CPU Fan	3245
Sys Fan	992
Pwr Fan	0

> [root at web etc]# sensors
> it87-isa-0290
> Adapter: ISA adapter
> CPU VCore: +1.07 V  (min =  +1.28 V, max =  +1.42 V)   ALARM
> +1.5V:     +1.47 V  (min =  +1.42 V, max =  +1.57 V)
> +3.3V:     +3.31 V  (min =  +3.14 V, max =  +3.47 V)
> +5V:       +4.92 V  (min =  +4.76 V, max =  +5.24 V)
> +12V:     +11.71 V  (min = +11.39 V, max = +12.61 V)
> -12V:     -12.11 V  (min = -12.60 V, max = -11.37 V)
> -5V:       -4.80 V  (min =  -5.25 V, max =  -4.75 V)
> Stdby:     +5.03 V  (min =  +4.76 V, max =  +5.24 V)
> VBat:      +2.94 V
> CPU Fan:  3245 RPM  (min = 3013 RPM, div = 8)
> Case Fan:  981 RPM  (min =  664 RPM, div = 8)
> Temp1:        +4?C  (low  =   +15?C, high =   +40?C)   sensor = thermistor
> Temp2:       +30?C  (low  =   +15?C, high =   +45?C)   sensor = thermistor
> 
> Everything looks good except the CPU core voltage and CPU temp.  
> 
> The bios reads 1.37V for coreV but lm_sensors reads 1.07 consistently.

This can be explained easily. Your Athlon64 3000+ must have the
so-called "Cool'n'Quiet" feature, which lets it adjust voltage and
frequency depending on load. I have a similar processor (Athlon64
3200+, socket 939) those voltage ranges from 1.1V (idle) to 1.4V (full
load.) This seems to be roughly the same for you.

You may try commenting out the following line in your configuration file
(in the it87-* section, of course):
#   ignore  vid
If the VID pins are properly wired on your system, this should report
the nominal voltage for your CPU and you should see it change depending
on the load.

So it's really only a matter of setting the proper limits for that kind
of CPU. Try the following:

   set in0_min 1.1 * 0.95
   set in0_max 1.4 * 1.05

[Lou 18-JUN-2006] I set the alarm values based on the CPU VCore reported in
the bios.  Perhaps this is not correct, I'm not sure.  I checked and my
processor does have the Cool'n'Quiet technology.  I have had the ignore VID
uncommented but did not figure out how to use it in the sensors.conf.  Did a
little more checking on the web and tried out a few more things.  Tried to
read vid as per the docs:
	# cat /sys/bus/i2c/devices/0-0290/in0_ref
	cat: /sys/bus/i2c/devices/0-0290/in0_ref: No such file or directory

Listing of /sys/bus/i2c/devices/0-0290:
# ls /sys/bus/i2c/devices/0-0290
alarms        fan3_input  in2_max    in5_max    name         temp2_type
detach_state  fan3_min    in2_min    in5_min    power        temp3_input
fan1_div      in0_input   in3_input  in6_input  temp1_input  temp3_max
fan1_input    in0_max     in3_max    in6_max    temp1_max    temp3_min
fan1_min      in0_min     in3_min    in6_min    temp1_min    temp3_type
fan2_div      in1_input   in4_input  in7_input  temp1_type
fan2_input    in1_max     in4_max    in7_max    temp2_input
fan2_min      in1_min     in4_min    in7_min    temp2_max
fan3_div      in2_input   in5_input  in8_input  temp2_min

When I try to use vid in alarm setting in sensors.conf as below:
	set in0_min vid * 0.95
	set in0_max vid * 1.05

# sensors
it87-isa-0290
Adapter: ISA adapter
CPU VCore: +1.07 V  (min =  +0.00 V, max =  +0.00 V)   ALARM


> The bios for temps: MB = 31 and CPU = 52.  Both are pretty consistent in
the
> bios.
> 
> The CPU temperature in lm_sensors fluctuates between -5 and 50.  I have
> tried using the diode for both temp1 and temp2 and ignoring different
> combinations with no success.  If the temperature was consistent I would
> feel better like a correction factor was needed but it is all over the
> place.

What about temp3?
[Lou 18-JUN-2006]
Temp3 gives consistently -7C when set to thermistor and consistent +94C when
set to diode.  Perhaps temp3 is the correct one and just needs a correction
factor.  I will try to get cpuburn running in the next few days and check to
see if temp3 changes and send a new reply.

Or there could be an additional temperature sensor on the board. Can we
see the full output of sensors-detect?

[Lou 18-JUN-2006] Full output of sensors-detect:
# sensors-detect
# sensors-detect revision 1.413 (2006/01/19 20:28:00)

This program will help you determine which I2C/SMBus modules you need to
load to use lm_sensors most effectively. You need to have i2c and
lm_sensors installed before running this program.
Also, you need to be `root', or at least have access to the /dev/i2c-*
files, for most things.
If you have patched your kernel and have some drivers built in, you can
safely answer NO if asked to load some modules. In this case, things may
seem a bit confusing, but they will still work.

It is generally safe and recommended to accept the default answers to all
questions, unless you know what you're doing.

 We can start with probing for (PCI) I2C or SMBus adapters.
 You do not need any special privileges for this.
 Do you want to probe now? (YES/no): YES
Probing for PCI bus adapters...
Use driver `i2c-nforce2' for device 00:01.1: nVidia Corporation nForce3
250Gb SMBus (MCP)
Probe succesfully concluded.

We will now try to load each adapter module in turn.
Load `i2c-nforce2' (say NO if built into your kernel)? (YES/no): YES
Module loaded succesfully.
If you have undetectable or unsupported adapters, you can have them
scanned by manually loading the modules before running this script.

 To continue, we need module `i2c-dev' to be loaded.
 If it is built-in into your kernel, you can safely skip this.
 i2c-dev is not loaded. Do you want to load it now? (YES/no): YES
 Module loaded succesfully.

 We are now going to do the adapter probings. Some adapters may hang halfway
 through; we can't really help that. Also, some chips will be double
detected;
 we choose the one with the highest confidence value in that case.
 If you found that the adapter hung after probing a certain address, you can
 specify that address to remain unprobed. That often
 includes address 0x69 (clock chip).

Some chips are also accessible through the ISA bus. ISA probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan the ISA bus? (YES/no): YES
Probing for `National Semiconductor LM78'
  Trying address 0x0290... Failed!
Probing for `National Semiconductor LM78-J'
  Trying address 0x0290... Failed!
Probing for `National Semiconductor LM79'
  Trying address 0x0290... Failed!
Probing for `Winbond W83781D'
  Trying address 0x0290... Failed!
Probing for `Winbond W83782D'
  Trying address 0x0290... Failed!
Probing for `Winbond W83627HF'
  Trying address 0x0290... Failed!
Probing for `Winbond W83627EHF'
  Trying address 0x0290... Failed!
Probing for `Silicon Integrated Systems SIS5595'
  Trying general detect... Failed!
Probing for `VIA Technologies VT82C686 Integrated Sensors'
  Trying general detect... Failed!
Probing for `VIA Technologies VT8231 Integrated Sensors'
  Trying general detect... Failed!
Probing for `ITE IT8712F'
  Trying address 0x0290... Success!
    (confidence 8, driver `it87')
Probing for `ITE IT8705F / SiS 950'
  Trying address 0x0290... Failed!
Probing for `IPMI BMC KCS'
  Trying address 0x0ca0... Failed!
Probing for `IPMI BMC SMIC'
  Trying address 0x0ca8... Failed!

Some Super I/O chips may also contain sensors. Super I/O probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan for Super I/O sensors? (YES/no): YES
Probing for `ITE 8702F Super IO Sensors'
  Failed! (0x8712)
Probing for `ITE 8705F Super IO Sensors'
  Failed! (0x8712)
Probing for `ITE 8712F Super IO Sensors'
  Success... found at address 0x0290
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
  Failed! (skipping family)
Probing for `Winbond W83627EHF/EHG Super IO Sensors'
  Failed! (skipping family)

Do you want to scan for secondary Super I/O sensors? (YES/no): YES
Probing for `ITE 8702F Super IO Sensors'
  Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
  Failed! (skipping family)
Probing for `Winbond W83627EHF/EHG Super IO Sensors'
  Failed! (skipping family)

 Now follows a summary of the probes I have just done.
 Just press ENTER to continue:

Driver `it87' (should be inserted):
  Detects correctly:
  * ISA bus address 0x0290 (Busdriver `i2c-isa')
    Chip `ITE 8712F Super IO Sensors' (confidence: 9)


I will now generate the commands needed to load the I2C modules.

To make the sensors modules behave correctly, add these lines to
/etc/modules.conf:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----

To load everything that is needed, add this to some /etc/rc* file:

#----cut here----
# I2C adapter drivers
modprobe i2c-isa
# I2C chip drivers
modprobe it87
# sleep 2 # optional
/usr/local/bin/sensors -s # recommended
#----cut here----

WARNING! If you have some things built into your kernel, the list above
will contain too many modules. Skip the appropriate ones! You really should
try these commands right now to make sure everything is working properly.
Monitoring programs won't work until it's done.

Do you want to generate /etc/sysconfig/lm_sensors? (YES/no): YES
Copy prog/init/lm_sensors.init to /etc/rc.d/init.d/lm_sensors
for initialization at boot time.

>         Also the chip designation in sensors.conf is 
> 
> chip "it87-*" "it8712-*"
> 
> If I have just "it8712-*" it does not detect the configuration in the
> sensors.conf and uses all defaults.

In kernel 2.6.9 your chip is identified by the driver as "it87" (see
the first line of "sensors"), but in later kernels it is better
identified as "it8712". We put both in the configuration file so that
the same file works with all kernels.

[Lou 18-JUN-2006] Thank you for the explanation on this.

-- 
Jean Delvare







[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux