voltage conversions in via686a

Jean Delvare khali at linux-fr.org
Mon Apr 12 13:59:30 CEST 2004

Hi all,

I just noticed that the voltage conversions in via686a have severe
rounding issues. And all in all they are artificially complex, and

Two hints confirm my suspicions:

1* In the source code, the original author states:
// These get us close, but they don't completely agree with what my BIOS 
// says- they are all a bit low.  But, it all we have to go on...

2* In etc/sensors.conf.eg, I found:
# For at least one Tyan S1598, the following corrections make the sensors
# readings more in-line with the BIOS readings on boot.  Try these, and
# adjust as necessary.

  #compute "2.0V" 1.02*@ ,  @/1.02
  #compute "3.3V" 1.02*@  ,  @/1.02
  #compute "5.0V" 1.009*@  ,  @/1.009
  #compute "12V" 1.04*@ ,  @/1.04

So this would tend to confirm that the proposed change would convert the
register values more accurately. Patch against CVS attached. A similar
patch for 2.6 is available here:
It has to be applied on top of (at least):

I tested both on my own VIA686A chip, but since it's not used on my
motherboard, I have no real values to confirm that the change is
correct. I just could see what O expected, i.e. the (bogus) readings
went about 2% up.

Lennard Klein tested on a real chip (2.6 kernel) and also observed
slightly greater readings. Looks OK, although he didn't reboot the
system to compare with the BIOS (yet).

If anyone has a working VIA686A, please test and comment.


Jean Delvare
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: lm_sensors2-CVS-via686a-in-values.diff
URL: <http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20040412/b8adb833/attachment.ksh>

More information about the lm-sensors mailing list