# lm_sensors and Intel 82801FB/FBM/FR/FW/FRW (ICH6 Family)

## MetalWarrior

Hi,

I've tried to make the sensors of my laptop work, but I get this output from sensors-detect:

```

# sensors-detect revision 1.393 (2005/08/30 18:51:18)

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-i801' for device 00:1f.3: Intel 82801FB ICH6

Probe succesfully concluded.

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

Module `i2c-i801' 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: SMBus I801 adapter at 0400

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

Client found at address 0x08

Client found at address 0x30

Client found at address 0x32

Client found at address 0x44

Probing for `Maxim MAX6633/MAX6634/MAX6635'... Failed!

Client at address 0x50 can not be probed - unload all client drivers first!

Client at address 0x52 can not be probed - unload all client drivers first!

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

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

  Failed! (skipping family)

 Sorry, no chips were detected.

 Either your sensors are not supported, or they are

 connected to an I2C bus adapter that we do not support.

 See doc/FAQ, doc/lm_sensors-FAQ.html, or

 http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/doc/lm_sensors-FAQ.html

 (FAQ #4.24.3) for further information.

 If you find out what chips are on your board, see

 http://secure.netroedge.com/~lm78/newdrivers.html for driver status.

```

This is the output of lspci:

```

00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 04)

00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 04)

00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)

00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)

00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)

00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)

00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04)

00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)

00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04)

00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 04)

00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 04)

01:03.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 02)

01:07.0 Network controller: Intel Corporation PRO/Wireless 2915ABG MiniPCI Adapter (rev 05)

01:0a.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)

01:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)

03:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce Go 6600] (rev a2)

```

This are the kernel options I have activated:

```

CONFIG_I2C=m

CONFIG_I2C_CHARDEV=m

CONFIG_I2C_ALGOBIT=m

CONFIG_I2C_I801=m

```

Is there someone who got the lm_sensors working with my chipset? Then, I have another question: what is the sensord service? Is it needed or is lm_sensors sufficient?

Another question. what should activate in the Device Drivers => Hardware Monitoring Support section of the kernel config?

----------

## Katphish

Hi,

Are you sure it has a hardware monitor?  Just because it has an SMBus does not mean it has any hw monitor chips.  If the documentation for your laptop indicate that it does have a hardware monitor, then you didn't make the module for your chip or it is not supported yet.

----------

## MetalWarrior

I think it has hardware monitoring features because I can see hardware info under WinZoZ.. As it is said here (http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/doc/busses/i2c-i801), my chipset, Intel 82801FB/FR/FW/FRW (ICH6), is supported by the i2c-i801.o driver (perhaps the 2.6.14-gentoo-r5 kernel has an older version of that driver which doesn't support my chipset)..

----------

## MetalWarrior

 *Katphish wrote:*   

> Hi,
> 
> Are you sure it has a hardware monitor?  Just because it has an SMBus does not mean it has any hw monitor chips.  If the documentation for your laptop indicate that it does have a hardware monitor, then you didn't make the module for your chip or it is not supported yet.

 

I've tried again running sensors-detect without trying to load lm_sensors before and it found something:

```

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

 Just press ENTER to continue: 

Driver `eeprom' (should be inserted):

  Detects correctly:

  * Bus `SMBus I801 adapter at 0400'

    Busdriver `i2c-i801', I2C address 0x50

    Chip `SPD EEPROM' (confidence: 8)

  * Bus `SMBus I801 adapter at 0400'

    Busdriver `i2c-i801', I2C address 0x52

    Chip `SPD EEPROM' (confidence: 8)

```

Then, I've tried to load lm_sensors and I've got this output:

```

/etc/init.d/lm_sensors start

 * Loading lm_sensors modules...

 *   Loading i2c-i801 ...                          [ ok ]

 *   Loading eeprom ...                           [ ok ]

 * Initializing sensors ...                          [ !! ]

```

How can I know why lm_sensors failed loading? Dmesg does not prints any error message related to this thing, in which log file should I look?

----------

## Izydorr

I have compaq nx7010 and exactly the same situation. I believe the reason of failure in starting lm_sensors is the fact that running "sensors -s" returns "No sensors detected".  :Sad: 

----------

## 0x2A

Exactly the same here on Dell Dimension 5000 with "SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)". (I do not know what sensor chip is on the motherboard.)

----------

## Katphish

 *MetalWarrior wrote:*   

> I think it has hardware monitoring features because I can see hardware info under WinZoZ.. As it is said here (http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/doc/busses/i2c-i801), my chipset, Intel 82801FB/FR/FW/FRW (ICH6), is supported by the i2c-i801.o driver (perhaps the 2.6.14-gentoo-r5 kernel has an older version of that driver which doesn't support my chipset)..

 

Does WinZoZ report what chip it found?

An SMBus is just a System Management Bus, stuff needs to be plugged into it for hw sensors to work.

 *MetalWarrior wrote:*   

> How can I know why lm_sensors failed loading? Dmesg does not prints any error message related to this thing, in which log file should I look?

 

The "Initializing sensors" sensors line is just running `sensors -s` so you can run that and see what the problem may be.  Here is my [broken] sensors -s:

```
 # sensors -s

adm1025-i2c-4-2d: Can't access procfs/sysfs file for writing;

Run as root?
```

I have tried to fix that error but no joy.  It does not affect my hw sensor (adm1025) but it does not allow me to cleanup my sensor thresholds.  You can change INITSENSORS to no in /etc/conf.d/lm_sensors to get rid of that message and have lm_sensors start.

----------

## bszente

 *MetalWarrior wrote:*   

> 
> 
> Driver `eeprom' (should be inserted):
> 
>   Detects correctly:
> ...

 

Those are the SPD (serial) EEPROMs from the SDRAM modules that you have. They contain the timing information of the chips (frequency and CAS and RAS latencies). Each DIMM memory module contain also this little serial EEPROM, you can see it usually on one of the upper corners of the DIMM module. A little IC with usually 8 pins (if I'm not wrong).

You should look after your mainboard's datasheet, that what kind of sensor chip do you have. The chipset is one thing, that communcates by SMBus (also serial bus) or I2C bus with the sensor chip. The chipset itself does not contain any sensors.

For example the Intel D845GBV Desktop Board has Analog Devices ADM1025 sensor chip connected by the SMBus to the i845 chipset. But the Intel D815EEA Easton board with the i815 chipset with SMBus does not contain any sensor (it was introduced in the Intel D815EEA2 Easton 2 board only).

If you don't succeed, it could happen that your mainboard does not have sensor chip.

Unfortunatelly the mainboard manufacturers does not document very well what kind of sensor is used. You might try to look in the mother board datasheet, you may search after the chip looking to the motherboard itself, you may search on the internet, or you may use the lm_sensor's autodetect utility which is quite good.

My opinion is that you may try to compile as module all the harware sensor chip (ADC, Winbond, etc.) in the kernel, and let lm_sensor autodetect it...

----------

