User Tools

Site Tools


faq

This is an old revision of the document!


Frequently Asked Questions

These pages are based on version 2.18 of the old lm_sensors FAQ. All the questions and their answers were gathered by Frodo Looijaard, Philip Edelbrock, Mark D. Studebaker and Jean Delvare.

Introduction and Overview

PC and Sensor Overview

What sensors are available on my PC?

Most PC's built since late 1997 now come with a hardware health monitoring chip. This chip may be accessed via the ISA I/O ports or the SMBus, depending on the motherboard. Sometimes the monitoring block is embedded into a super I/O chip, often made by Nuvoton, Winbond, ITE or SMSC.

Check Installation and Management for details.

What can a sensor chip do?

They sense the temperatures, voltages and fans and provide this information to your operating system via a chip drivers. Sometimes they provide automatic fan control, which regulate fan speed depending on the temperature.

Where do I find out more about any of these chips?

Most semiconductor companies have comprehensive documentation, including complete datasheets, on their websites. Analog Devices, Maxim, and Texas Instruments have a wide selection of sensor chips. Their websites are:

Please see UsefulLinks for links to other companies' websites.

Sensor and Bus Basics

How are these sensors read?

Sensor chips reside on either the ISA bus, the SMBus, or both. See the file doc/chips/SUMMARY in our package for a list.

To communicate with chips on the ISA bus, the software uses simple I/O reads and writes. To communicate with chips on the SMBus, the software must use an SMBus interface device, explained below.

What is the SMBus? And the I2C bus?

The SMBus is the System Management Bus. More specifically, it is a 2-wire, low-speed serial communication bus used for basic health monitoring and hardware management. It is a specific implementation of the more general I2C (pronunciation: I-squared-C) bus. In fact, both I2C devices and SMBus devices may be connected to the same (I2C) bus.

The SMBus (or I2C bus) starts at the host controller, used for starting transactions on the SMBus. From the host interface, the devices communicated with are the slave devices. Each slave device has a unique 7-bit address which the host uses to refer to that device.

For each supported SMBus host, there is a separate kernel module which implements the communication protocol with the host. Some SMBus hosts really operate on the SMBus level; these hosts can not cope with pure I2C devices. Other hosts are in fact I2C hosts: in this case, we implement the SMBus protocol in terms of I2C operations. But these hosts can also talk to pure I2C devices.

I don't have an ISA bus!

We promise, you do, even if you don't have any old ISA slots. The “ISA Bus” exists in your computer even if you don't have ISA slots; it is simply a memory-mapped area, 64KB in size (0x0000 - 0xFFFF) where many “legacy” functions, such as keyboard and interrupt controllers, are found. It isn't necessarily a separate physical bus. See the file /proc/ioports for a list of devices living on the “ISA Bus” in your system. If you don't like the term “ISA Bus” think “I/O Space”.

What sensors do processors have?

Most new processors contain a thermal diode on the die itself. The electical properties of all diodes and transistors vary slightly with temperature. The thermal diode is exceptionally accurate because it is directly on the die. Newer temperature sensor chips, like the Analog Devices ADM1021 and clones, and the Winbond chips, have circuitry for measuring the the electrical properties of an external diode and converting this data to a temperature. Any sensor chip listed in doc/chips/SUMMARY in our package which has support for more than one temperature supports external temperature sensing.

Recent processors like AMD K8 and Intel Core or Intel Core2 have digital temperature sensors, which exports the temperature as digital number, rather than diode pins, resulting in greater precision.

Older motherboards even do not use the diode pins, but an thermistor placed inside the CPU socket. This is much less accurate.

How often are the sensor values updated?

Our drivers usually updates the values once a second or two. If you read the values faster than that, you will get the 'old' values again. It is not possible to make it faster for some chips due to their design.

Installation and Management

Problems

How to Ask for Help

How to Contribute

faq.1458763386.txt.gz · Last modified: 2016/03/23 20:03 by Guenter Roeck