# fan speed, cpu voltage and temperature readings

## Ph0eniX

Hi,

I'm looking for a command line utility that will allow me to get fan speed, cpu voltage and temperature readings of the motherboard. 

Thank you!

----------

## tcunha

```
sudo emerge sys-apps/lm_sensors
```

Don't forget to compile i2c and hwmon in your kernel.

HTH.

----------

## Ph0eniX

Thank you!  I got those modules compiled and loaded but when I run "sensors-detect", it gives me:

```

Do you want to scan for Super I/O sensors? (YES/no): YES

Probing for Super-I/O at 0x2e/0x2f

Trying family `ITE'...                                      Yes

Found unknown chip with ID 0x7401

Trying family `National Semiconductor'...                   No

Trying family `SMSC'...                                     Yes

Found `SMSC LPC47M182 Super IO Fan Sensors'

    (but not activated)

Trying family `VIA/Winbond/Fintek'...                       No

Probing for Super-I/O at 0x4e/0x4f

Trying family `ITE'...                                      No

Trying family `National Semiconductor'...                   No

Trying family `SMSC'...                                     No

Trying family `VIA/Winbond/Fintek'...                       No

Sorry, no sensors were detected.

Either your sensors are not supported, or they are connected to an

I2C or SMBus adapter that is not supported. 

```

I'm using the Intel D975XBX2KR mobo.  Any ideas?

----------

## shaumux

Have u built the driver for ur monitoring hardware

They r available wen u configure the kernel in

```
Device Drivers ->

                    Hardware Monitoring Support
```

U should select the appropriate one there

Also did u try running just the sensors command?

----------

## Ph0eniX

 *shaumux wrote:*   

> Have u built the driver for ur monitoring hardware
> 
> They r available wen u configure the kernel in
> 
> ```
> ...

 

I did that.  I have compiled and loaded every single driver under Hardware Monitoring Support and it's still not finding any sensors.  I tried running the sensors command but it didn't think there were any sensors.

----------

## shaumux

R u usure that ur motherboard has hardware monitoring 

Try building them into the kernel instead of as modules.

----------

## Ph0eniX

 *shaumux wrote:*   

> R u usure that ur motherboard has hardware monitoring 
> 
> Try building them into the kernel instead of as modules.

 

Yes, I'm sure.  fanspeed works fine in Windows.

----------

## shaumux

Can u find the model of hardware monitering chip from from windows

----------

## bunder

try installing the acpi modules into the kernel... there should be some responsible for sensors.  some machines work with these sensors instead of the ones in the hardware sensors category.

also try updating your dsdt if your fans aren't kicking in when they're supposed to.

cheers

----------

## Ph0eniX

 *shaumux wrote:*   

> Can u find the model of hardware monitering chip from from windows

 

it looks like i801 - it's an intel board - the Bad Axe 2 (D975XBX2KR)

----------

## Ph0eniX

 *bunder wrote:*   

> try installing the acpi modules into the kernel... there should be some responsible for sensors.  some machines work with these sensors instead of the ones in the hardware sensors category.
> 
> also try updating your dsdt if your fans aren't kicking in when they're supposed to.
> 
> cheers

 

I compiled the kernel with the following ACPI options:

```

CONFIG_ACPI=y

CONFIG_ACPI_FAN=y

CONFIG_ACPI_PROCESSOR=y

CONFIG_ACPI_THERMAL=y

CONFIG_ACPI_IBM_DOCK=y

CONFIG_ACPI_EC=y

CONFIG_ACPI_POWER=y

CONFIG_ACPI_SYSTEM=y

```

but no dice! 

I also emerge the latest verison of lm_sensors and it's finding a sensor called "coretemp" but I can't find that module anywhere.  Any idea where to get it?

Should I add that I'm running the AMD64 distro?

----------

## Ph0eniX

Ok, it looks like my mobo uses a Andigilog aSC7621 chip.  I found a 3-rd party patch for it on the net and compiled the asc7xxx.ko module ...and loaded it too - DUH.  Now when I run "sensors" it displays:  

```

asc7621-i2c-0-2e

Adapter: SMBus I801 adapter at 3000

```

Do I need to do something in /etc/sensors.conf in order to get the actual readings?

----------

## shaumux

If its displaying the correct output you want then no need to change anything.

----------

## Ph0eniX

 *shaumux wrote:*   

> If its displaying the correct output you want then no need to change anything.

 

It displays the adapter names but no useful info:

```

brat / # /usr/bin/sensors

asc7621-i2c-0-2e

Adapter: SMBus I801 adapter at 3000

brat / #

```

----------

## shaumux

u need to edit /etc/sensors.conf to get the proper output.

Did u compile sensors before or after installing the driver for the chip?

If u installed it before installing the chip try reinstalling it, it may autoconfigure and make necessary changes as u have the drivers now but i am not sure of that.

U may still need to edit it manually.

:EDIT: Oh yea first try sensors-detect before all these.

----------

## Ph0eniX

 *shaumux wrote:*   

> u need to edit /etc/sensors.conf to get the proper output.
> 
> Did u compile sensors before or after installing the driver for the chip?
> 
> If u installed it before installing the chip try reinstalling it, it may autoconfigure and make necessary changes as u have the drivers now but i am not sure of that.
> ...

 

I don't really know what to edit.  I found the coretemp source code and compiled it - it's still not working.

----------

## shaumux

Heres what mine looks like

```
chip "w83782d-*" "w83627hf-*"

# Same as above for w83781d except that in5 and in6 are computed differently.

# Rather than an internal inverting op amp, the 82d/83s use standard positive

# inputs and the negative voltages are level shifted by a 3.6V reference.

# The math is convoluted, so we hope that your motherboard

# uses the recommended resistor values.

    label in0 "VCore 1"

    label in1 "VCore 2"

    label in2 "+3.3V"

    label in3 "+5V"

    label in4 "+12V"

    label in5 "-12V"

    label in6 "-5V"

    label in7 "V5SB"

    label in8 "VBat"

# Abit BP6 motherboard has a few differences. VCore1 and VCore2 are the core

# voltages of the two processors. Vtt is memory bus termination resistors

# voltage.

#    label in1 "Vtt"

#    label in8 "VCore2"

    compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)

    compute in4 ((28/10)+1)*@  ,  @/((28/10)+1)

    compute in5 (5.14 * @) - 14.91  ,  (@ + 14.91) / 5.14

    compute in6 (3.14 * @) -  7.71  ,  (@ +  7.71) / 3.14

    compute in7 ((6.8/10)+1)*@ ,  @/((6.8/10)+1)

# adjust this if your vid is wrong; see doc/vid

#   set vrm 9.0

# set limits to  5% for the critical voltages

# set limits to 10% for the non-critical voltages

# set limits to 20% for the battery voltage

#    set in0_min vid*0.95

#    set in0_max vid*1.05

#    set in1_min vid*0.95

#    set in1_max vid*1.05

#    set in2_min 3.3 * 0.95

#    set in2_max 3.3 * 1.05

#    set in3_min 5.0 * 0.95

#    set in3_max 5.0 * 1.05

#    set in4_min 12 * 0.90

#    set in4_max 12 * 1.10

#    set in5_max -12 * 0.90

#    set in5_min -12 * 1.10

#    set in6_max -5 * 0.95

#    set in6_min -5 * 1.05

#    set in7_min 5 * 0.95

#    set in7_max 5 * 1.05

#    set in8_min 3.0 * 0.80

#    set in8_max 3.0 * 1.20

# set up sensor types (thermistor is default)

# 1 = PII/Celeron Diode; 2 = 3904 transistor;

# 3435 = thermistor with Beta = 3435

# If temperature changes very little, try 1 or 2.

#   set sensor1 1

#   set sensor2 2

#   set sensor3 3435

# examples for temperature limits

#    set temp1_over 40

#    set temp1_hyst 37

#    set temp2_over 52

#    set temp2_hyst 47

#    set temp3_over 52

#    set temp3_hyst 47
```

----------

