Version 1 (modified by otaku42 <mrenzmann@…>, 7 years ago)

Page created from  http://secure.netroedge.com/~lm78/docs.html

lm_sensors and i2c Documentation

Introduction

Error: Macro Image(layers.gif, float:right) failed
Attachment 'wiki:Documentation: layers.gif' does not exist.

The picture on the right shows the interrelationships of our kernel drivers. The drivers at the top of the kernel section are "chip" drivers for specific sensors. In the middle is i2c-core, which contains the i2c and smbus protocol implementation. At the bottom of the kernel section are the algorithm and adapter drivers, which comprise the "bus" drivers for accessing the i2c bus (algorithm and adapter drivers are generally combined, except for "bit banging" drivers which use a common algorithm).

The "program" section at the top represents the lm_sensors userspace programs, including "sensors", "sensors-detect", "i2cdetect", and "isadump".

As you can see from the diagram, this is only a small part of a working lm_sensors installation. The rest of the work is done inside the kernel by two branches of lm_sensors that work together, one is called sensors while the other is i2c. You will need both in order to fully utilize lm_sensors. Depending on what kernel you are using (or more specifically what kernel your distribution has provided to you) will determine what lm_sensors is capable of doing. If you find that you cannot address all of the sensor chips you have or maybe you can't even get i2cdetect to see your adapter chip then you should check to see if lm_sensors supports your hardware on our Supported Devices Page.

A note about algorithm and adapter code: Most code for algorithm and adapters are combined into the one module as you need both in order to be able to function correctly. There are a some of exceptions to this, including "bit-banging" adapters which use the separate i2c-algo-bit algorithm, and parallel port adapters, which also use separate algorithm modules.

The following sections link to most of our documentation.

General Information

Supported Devices

Installation

Help / Support

Project Status

  • I2C TODO list -- includes plans regarding SMBus 2.0 and 16-bit register addresses
  •  Protocol Implementation Status Page -- Status of support for all I2C, SMBus and SMBus 2.0 messages in the i2c package; includes information on PEC, I2C block, and 2-byte I2C addresses.

Tools

  • Overview of programs and tools in the lm_sensors package
  • eeprom (small eeprom reader/writer)
  • m7101 (ALi chip hotplug module)
  • p4b_smbus (Asus P4B PIIX4 SMBus function hotplug module)

Theory of operation

Developer's Documentation

  •  Protocol Implementation Status Page -- Status of support for all I2C, SMBus and SMBus 2.0 messages in the i2c package. Includes information on PEC, I2C block, and 2-byte I2C addresses.
  • How to port I2C Drivers from the i2c-old interface to the standard I2C interface (Kernel 2.5 removed i2c-old, use this guide to port your driver!)

Man Pages

Individual Driver Documentation

Bus Drivers

Chip Drivers