# How do I get lm_sensors configured and working?

## curmudgeon

```

 * 

 * Please run `/usr/sbin/sensors-detect' in order to setup

 * /etc/conf.d/lm_sensors.

 * 

 * /etc/conf.d/lm_sensors is vital to the init-script.

 * Please make sure you also add lm_sensors to the desired

 * runlevel. Otherwise your I2C modules won't get loaded

 * on the next startup.

 *

```

Ok.

```

# sensors-detect 

# sensors-detect revision 5861 (2010-09-21 17:21:05 +0200)

# System: ASUSTek Computer INC. P5K3L-ASUS-S1-P5G35

# Board: ASUSTeK Computer INC. P5K3L-ASUS-S1-P5G35

This program will help you determine which kernel modules you need

to load to use lm_sensors most effectively. It is generally safe

and recommended to accept the default answers to all questions,

unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.

Do you want to scan for them? This is totally safe. (YES/no): y

Silicon Integrated Systems SIS5595...                       No

VIA VT82C686 Integrated Sensors...                          No

VIA VT8231 Integrated Sensors...                            No

AMD K8 thermal sensors...                                   No

AMD Family 10h thermal sensors...                           No

AMD Family 11h thermal sensors...                           No

Intel Core family thermal sensor...                         Success!

    (driver `coretemp')

Intel Atom thermal sensor...                                No

Intel AMB FB-DIMM thermal sensor...                         No

VIA C7 thermal sensor...                                    No

VIA Nano thermal sensor...                                  No

Some Super I/O chips contain embedded sensors. We have to write to

standard I/O ports to probe them. This is usually safe.

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

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

Trying family `National Semiconductor'...                   No

Trying family `SMSC'...                                     No

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

Trying family `ITE'...                                      Yes

Found `ITE IT8718F Super IO Sensors'                        Success!

    (address 0xd00, driver `it87')

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

Trying family `National Semiconductor'...                   No

Trying family `SMSC'...                                     No

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

Trying family `ITE'...                                      No

Some systems (mainly servers) implement IPMI, a set of common interfaces

through which system health data may be retrieved, amongst other things.

We first try to get the information from SMBIOS. If we don't find it

there, we have to read from arbitrary I/O ports to probe for such

interfaces. This is normally safe. Do you want to scan for IPMI

interfaces? (YES/no): y

Probing for `IPMI BMC KCS' at 0xca0...                      No

Probing for `IPMI BMC SMIC' at 0xca8...                     No

Some hardware monitoring chips are accessible through the ISA I/O ports.

We have to write to arbitrary I/O ports to probe them. This is usually

safe though. Yes, you do have ISA I/O ports even if you do not have any

ISA slots! Do you want to scan the ISA I/O ports? (yes/NO): y

Probing for `National Semiconductor LM78' at 0x290...       No

Probing for `National Semiconductor LM79' at 0x290...       No

Probing for `Winbond W83781D' at 0x290...                   No

Probing for `Winbond W83782D' at 0x290...                   No

Lastly, we can probe the I2C/SMBus adapters for connected hardware

monitoring devices. This is the most risky part, and while it works

reasonably well on most systems, it has been reported to cause trouble

on some systems.

Do you want to probe the I2C/SMBus adapters now? (YES/no): y

Using driver `i2c-i801' for device 0000:00:1f.3: Intel 82801H ICH8

FATAL: Module i2c_i801 not found.

Failed to load module i2c-i801.

FATAL: Module i2c_dev not found.

Failed to load module i2c-dev.

Next adapter: intel drm CRTDDC_A (i2c-0)

Do you want to scan it? (YES/no/selectively): y

Can't open /dev/i2c-0

Next adapter: intel drm SDVOCTRL_ (i2c-1)

Do you want to scan it? (YES/no/selectively): y

Can't open /dev/i2c-1

Next adapter: intel drm SDVOB DDC (i2c-2)

Do you want to scan it? (YES/no/selectively): y

Can't open /dev/i2c-2

Next adapter: intel drm SDVOB/VGA (i2c-3)

Do you want to scan it? (YES/no/selectively): y

Can't open /dev/i2c-3

Next adapter: SMBus I801 adapter at 0400 (i2c-4)

Do you want to scan it? (YES/no/selectively): y

Can't open /dev/i2c-4

Now follows a summary of the probes I have just done.

Just press ENTER to continue: 

Driver `it87':

  * ISA bus, address 0xd00

    Chip `ITE IT8718F Super IO Sensors' (confidence: 9)

Driver `coretemp':

  * Chip `Intel Core family thermal sensor' (confidence: 9)

Warning: the required module it87 is not currently installed

on your system. If it is built into the kernel then it's OK.

Otherwise, check http://www.lm-sensors.org/wiki/Devices for

driver availability.

Warning: the required module coretemp is not currently installed

on your system. If it is built into the kernel then it's OK.

Otherwise, check http://www.lm-sensors.org/wiki/Devices for

driver availability.

No modules to load, skipping modules configuration.

```

In the kernel, I have:

```

CONFIG_SENSORS_CORETEMP=y

CONFIG_SENSORS_IT87=y

```

Is /etc/init.d/lm_sensors only to load modules?

I am only getting coretemp readings, and nothing else

(no fan or voltage information):

```

$ sensors

coretemp-isa-0000

Adapter: ISA adapter

Core 0:      +62.0°C  (high = +76.0°C, crit = +100.0°C)  

coretemp-isa-0001

Adapter: ISA adapter

Core 1:      +57.0°C  (high = +76.0°C, crit = +100.0°C)

```

----------

## gimpel

Try

```
sensors -s

sensors
```

I still have "sensors -s" in my /etc/conf.d/local.start for that reason.

----------

## tomtom69

What is happening during boot when the IT87 driver is initialized? (see dmesg output)

If there is an error message like

ACPI: I/O resource it87 [0xd05-0xd06] conflicts with ACPI region ECRE [0xd00-0xd1f]

ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

then the it87 driver is not loaded correctly.

In this case try to add "acpi_enforce_resources=lax" as a kernel boot parameter to fix this.

tomtom

----------

## curmudgeon

 *tomtom69 wrote:*   

> What is happening during boot when the IT87 driver is initialized? (see dmesg output)
> 
> If there is an error message like
> 
> ACPI: I/O resource it87 [0xd05-0xd06] conflicts with ACPI region ECRE [0xd00-0xd1f]
> ...

 

Hmmmmm.

```

Jan  7 03:47:54 system kernel: [    1.468472] it87: Found IT8718F chip at 0xd00, revision 4

Jan  7 03:47:54 system kernel: [    1.470053] ACPI: resource it87 [io  0x0d05-0x0d06] conflicts with ACPI region ECRE [??? 0x00000d00-0x00000d1f flags 0x45]

Jan  7 03:47:54 system kernel: [    1.471693] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

```

Well, that answers one of my questions (why this driver wasn't doing anything). Thanks.

I assume that with the drivers build into the kernel, I should just remove lm_sensors from all runlevels.

----------

## doctork

Given that you're using an ASUS motherboard, you MAY have the chip that provides the ACPI interface to the sensors.  To try that, you need to add this to your kernel configuration:

```
CONFIG_SENSORS_ATK0110=m
```

I have an older model ASUS board where this does work.  That board also has an IT87 chip that works using the "acpi_enforce_resources=lax" workaround mentioned above.

--

doc

----------

## tomtom69

Hi,

 *curmudgeon wrote:*   

> 
> 
> I assume that with the drivers build into the kernel, I should just remove lm_sensors from all runlevels.

 

I still have lm_sensors activated in my default runlevel, even with the drivers built into the kernel.

However I set "LOADMODULES=no" in /etc/conf.d/lm_sensors so the init script does not try to load the modules.

tomtom

----------

## curmudgeon

 *doctork wrote:*   

> Given that you're using an ASUS motherboard, you MAY have the chip that provides the ACPI interface to the sensors.  To try that, you need to add this to your kernel configuration:
> 
> ```
> CONFIG_SENSORS_ATK0110=m
> ```
> ...

 

Indeed that driver does work (meaning I see voltage and fan speeds), though I have (once again) built it into the kernel.

----------

