# lm_sensors problem: sensors-detect works but sensors do not

## Holderhek

Hello

Im having a problem with lm_sensors.

First, some hardware info:

I have the 2.6.12-gentoo-r6 kernel, my motherboard is a Asus P4S800/Lan with SiS649FX (North bridge) and SiS963L (South bridge) chipsets.

Now this is what I did:

1.- I recompiled my kernel as the lm_sensors homepage told me to (With i2c support as module and all algorithms as modules, etc.)

2.- I installed lm_sensors with emerge lm_sensors

3.- I executed sensors-detect as root with su. This was the output:

```
Vigilant ~# sensors-detect

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):

Probing for PCI bus adapters...

Use driver `i2c-sis96x' for device 00:02.1: Silicon Integrated Systems SMBus Controller

Probe succesfully concluded.

We will now try to load each adapter module in turn.

Module `i2c-sis96x' already loaded.

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 already loaded.

 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).

Next adapter: SiS96x SMBus adapter at 0xe600

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

Client found at address 0x08

Client found at address 0x10

Client found at address 0x50

Probing for `SPD EEPROM'... Success!

    (confidence 8, driver `eeprom')

Probing for `DDC monitor'... Failed!

Probing for `Maxim MAX6900'... Failed!

Client found at address 0x69

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):

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 `Winbond W83697HF'

  Trying address 0x0290... Success!

    (confidence 8, driver `w83781d')

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... Failed!

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):

Probing for `ITE 8702F Super IO Sensors'

  Failed! (0x6012)

Probing for `ITE 8705F Super IO Sensors'

  Failed! (0x6012)

Probing for `ITE 8712F Super IO Sensors'

  Failed! (0x6012)

Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87360 Super IO Fan Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87363 Super IO Fan Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87364 Super IO Fan Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87365 Super IO Fan Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87365 Super IO Voltage Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87365 Super IO Thermal Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87366 Super IO Fan Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87366 Super IO Voltage Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87366 Super IO Thermal Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87372 Super IO Fan Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87373 Super IO Fan Sensors'

  Failed! (0x60)

Probing for `Nat. Semi. PC87591 Super IO'

  Failed! (0x60)

Probing for `Nat. Semi. PC87371 Super IO'

  Failed! (0x60)

Probing for `Nat. Semi. PC97371 Super IO'

  Failed! (0x60)

Probing for `Nat. Semi. PC8739x Super IO'

  Failed! (0x60)

Probing for `Nat. Semi. PC8741x Super IO'

  Failed! (0x60)

Probing for `SMSC 47B27x Super IO Fan Sensors'

  Failed! (0x60)

Probing for `SMSC 47M10x/13x Super IO Fan Sensors'

  Failed! (0x60)

Probing for `SMSC 47M14x Super IO Fan Sensors'

  Failed! (0x60)

Probing for `SMSC 47M15x/192 Super IO Fan Sensors'

  Success... but not activated

Probing for `SMSC 47S42x Super IO Fan Sensors'

  Failed! (0x60)

Probing for `SMSC 47S45x Super IO Fan Sensors'

  Failed! (0x60)

Probing for `SMSC 47M172 Super IO'

  Failed! (0x60)

Probing for `SMSC LPC47B397-NC Super IO'

  Failed! (0x60)

Probing for `VT1211 Super IO Sensors'

  Failed! (0x60)

Probing for `Winbond W83627HF Super IO Sensors'

  Failed! (0x60)

Probing for `Winbond W83627THF Super IO Sensors'

  Failed! (0x60)

Probing for `Winbond W83637HF Super IO Sensors'

  Failed! (0x60)

Probing for `Winbond W83697HF Super IO Sensors'

  Success... found at address 0x0290

Probing for `Winbond W83697SF/UF Super IO PWM'

  Failed! (0x60)

Probing for `Winbond W83L517D Super IO'

  Failed! (0x60)

Probing for `Winbond W83627EHF Super IO Sensors'

  Failed! (0x6012)

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

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 Super IO Sensors'

  Failed! (skipping family)

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

 Just press ENTER to continue:

Driver `eeprom' (should be inserted):

  Detects correctly:

  * Bus `SiS96x SMBus adapter at 0xe600'

    Busdriver `i2c-sis96x', I2C address 0x50

    Chip `SPD EEPROM' (confidence: 8)

Driver `w83781d' (may not be inserted):

  Misdetects:

  * ISA bus address 0x0290 (Busdriver `i2c-isa')

    Chip `Winbond W83697HF' (confidence: 8)

Driver `w83627hf' (should be inserted):

  Detects correctly:

  * ISA bus address 0x0290 (Busdriver `i2c-isa')

    Chip `Winbond W83697HF Super IO Sensors' (confidence: 9)

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

 Sometimes, a chip is available both through the ISA bus and an I2C bus.

 ISA bus access is faster, but you need to load an additional driver module

 for it. If you have the choice, do you want to use the ISA bus or the

 I2C/SMBus (ISA/smbus)? smbus

If you want to load the modules at startup, generate a config file

below and make sure lm_sensors gets started; e.g

$ rc-update add lm_sensors default.

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

#----end 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.

To load everything that is needed, execute the commands above...

#----cut here----

# I2C adapter drivers

modprobe i2c-sis96x

modprobe i2c-isa

# I2C chip drivers

# Warning: the required module eeprom is not currently installed on your system.

# For status of 2.6 kernel ports see http://secure.netroedge.com/~lm78/supported.html

# If driver is built-in to the kernel, or unavailable, comment out the following line.

modprobe eeprom

modprobe w83627hf

# sleep 2 # optional

/usr/bin/sensors -s # recommended

Do you want to overwrite /etc/conf.d/lm_sensors? Enter s to specify other file name?

  (yes/NO/s): y

Done.
```

4.- I added 

```
alias char-major-89 i2c-dev
```

to /etc/modules.conf

5.- I added

```
i2c-sis96x

i2c-isa

eeprom

w83627hf
```

to /etc/modules.autoload.d/kernel-2.6

6.- Restarted the PC and run sensors and it said:

No sensors found!

Thats my problem.

Now, I dont know if this is the problem, but I dont have the module eeprom. If y execute modprobe eeprom, it says: FATAL: Module eeprom not found.

My lsmod says:

```
Vigilant ~# lsmod

Module                  Size  Used by

i2c_dev                 7392  -

w83627hf               29128  -

i2c_sensor              2720  -

i2c_isa                 1536  -

i2c_sis96x              4356  -

i2c_core               17072  -

nvidia               3464220  -
```

And I dont have anything on /sys/bus/i2c/devices although I do have something on /dev/i2c, I have 0 and 1 (Files or devices, dont know)

And if I execute i2cdetect, I get:

```
Vigilant ~ # i2cdetect

Error: No i2c-bus specified!

Syntax: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST]

        i2cdetect -l

        i2cdetect -V

  I2CBUS is an integer

  With -a, probe all addresses (NOT RECOMMENDED)

  With -q, uses only quick write commands for probing (NOT RECOMMENDED)

  With -r, uses only read byte commands for probing (NOT RECOMMENDED)

  If provided, FIRST and LAST limit the probing range.

  With -l, lists installed busses only

  Installed I2C busses:

    i2c-1       dummy           ISA main adapter                        ISA bus algorithm

    i2c-0       unknown         SiS96x SMBus adapter at 0xe600          Algorithm unavailable
```

Well, I think thats all I can tell you about my problem. Please help me.

Thanks for your time.

----------

## dgaffuri

 *Holderhek wrote:*   

> Now, I dont know if this is the problem, but I dont have the module eeprom. If y execute modprobe eeprom, it says: FATAL: Module eeprom not found.

 

I don't think that eeprom is your only problem, but you should enable

```
  ┌───────────────────────────── EEPROM reader ─────────────────────────────┐

  │ CONFIG_SENSORS_EEPROM:                                                  │

  │                                                                         │

  │ If you say yes here you get read-only access to the EEPROM data         │

  │ available on modern memory DIMMs and Sony Vaio laptops.  Such           │

  │ EEPROMs could theoretically be available on other devices as well.      │

  │                                                                         │

  │ This driver can also be built as a module.  If so, the module           │

  │ will be called eeprom.                                                  │

  │                                                                         │

  │ Symbol: SENSORS_EEPROM [=m]                                             │

  │ Prompt: EEPROM reader                                                   │

  │   Defined at drivers/i2c/chips/Kconfig:379                              │

  │   Depends on: I2C && EXPERIMENTAL                                       │

  │   Location:                                                             │

  │     -> Device Drivers                                                   │

  │       -> I2C support                                                    │

  │         -> I2C support (I2C [=m])                                       │

  │           -> Other I2C Chip support                                     │

  │   Selects: I2C_SENSOR                                                   │
```

----------

## NeddySeagoon

Holderhek,

```
4.- I added

Code:

alias char-major-89 i2c-dev

to /etc/modules.conf 
```

is not the gentoo way

/etc/modules.conf is regenerted with update-modules, using the contents of /etc/modules.d/.

You will probably find you change has dropped out.

Create a new file in /etc/modules.d/ and put one line, 

```
alias char-major-89 i2c-dev
```

in it.

The file name is not important, as long as its not a backup file (ending in ~)

Now run modules-update and reboot to test.

----------

## Holderhek

Hello

Thanks for answering, but I still have problems.

I removed eeprom from /etc/modules.autoload.d/kernel-2.6 and the alias in /etc/modules.conf.

Then I added the file in /etc/modules.d with the alias file as NeddySeagoon told me to, then executed modules-update and reeboted.

Now, I tried to do sensors and the same "No sensors found!"

But now my modules look fine. This is what lsmod says

```
Module                  Size  Used by

w83627hf               29480  0

i2c_sensor              3072  1 w83627hf

i2c_isa                 1920  0

i2c_sis96x              4740  0

i2c_core               18064  4 w83627hf,i2c_sensor,i2c_isa,i2c_sis96x

nvidia               3464604  17 [permanent]
```

And /sys/bus/i2c/devices is still empty.

What can I do?

----------

## Herring42

```
modprobe i2c_dev
```

----------

## Holderhek

Hello

I forgot to say that, actually I added i2c-dev to the /etc/conf.d/lm_sensors file so my lsmod looks like this now:

```
Vigilant ~ # lsmod

Module                  Size  Used by

w83627hf               29480  0

i2c_sensor              3072  1 w83627hf

i2c_dev                 7808  0

i2c_isa                 1920  0

i2c_sis96x              4740  0

i2c_core               18064  5 w83627hf,i2c_sensor,i2c_dev,i2c_isa,i2c_sis96x

nvidia               3464604  17 [permanent]
```

And the problem is the same.

sensors still says "No sensors found!".

----------

## Holderhek

Hello

Any idea of what can be happening? Of why I cant make work lm_sensors?

Bye.

----------

## qermit

1. compile all i2c drivers as modules

2. load all modules

3. execute sensors

4. unload unnecessary modules

----------

## joaander

 *Quote:*   

> Any idea of what can be happening? Of why I cant make work lm_sensors

 

I don't have any suggestions, but I do have the same problem as you. I have a fully working lm_sensors on my system using kernel 2.6.11 (AMD64 machine here). Yesterday, I built 2.6.12 and booted it. Running 2.6.12, I have the same issue you mention here: sensors-detect works fine, but sensors reports "No sensors found". Due to other issues I had with 2.6.12, I reverted to booting 2.6.11. 

I mention this because you note in your first post that you are running 2.6.12. Have you tried earlier kernels?

----------

