Version 2 (modified by ruik, 7 years ago)

Fix some links

lm_sensors on 2.6.x kernels

Current status

Most bus drivers have been ported to kernel 2.6; however, only 70% of the chip drivers have been ported.

Almost all userspace tools (sensors, sensors-detect, the i2c diagnostic tools?, eeprom decoding scripts and fan control scripts) offer support for 2.6.x kernels.

To install the userspace tools, download the latest lm_sensors package and run:

make user
make user_install

Recommended Kernel Configuration

  • Code maturity level options
  • [*] Prompt for development and/or incomplete code/drivers
  • Bus options (PCI, PCMCIA, EISA, MCA, ISA)
  • [*] PCI support
  • [*] ISA support (not needed anymore since 2.6.2-rc1)
  • Device Drivers
  • I2C support
  • <*> I2C support
  • <M> I2C device interface
  • I2C Algorithms
  • <M> (configure all of them as modules)
  • I2C Hardware Bus support
  • <M> (configure all of them as modules)
  • I2C Hardware Sensors Chip support (up to 2.6.13-rc2)
  • <M> (configure all of them as modules)
  • Hardware Monitoring support (since 2.6.13-rc3)
  • <M> (configure all of them as modules)

Known general issues

Please review this list before reporting a problem to us.

  • Some popular chip drivers are not yet ported. Therefore sensors-detect may recommend a driver that is not present. Please check your kernel configuration and the drivers/i2c/chips (up to 2.6.13-rc2) or drivers/hwmon (since 2.6.13-rc3) directory for the presence of your driver. Our Supported Devices? and New Drivers? pages also identify which drivers are present in 2.6 kernels.
  • Following drivers have been ported and should show up in the Linux kernel tree soon: vt8231
  • Ports for the following drivers are somewhat underway: vt1211, bmcsensors, lm93 and mtp008
  • If you would like to port a driver, read Documentation/i2c/porting-clients as found in the Linux 2.6 kernel source tree and email us.

Known driver-specific issues

Please review this list before reporting a problem to us.

  • ASB100 support was dropped from the w83781d driver in Linux 2.6.5 / lm_sensors 2.8.5. If you have an Asus board and w83781d was detecting an AS99127F chip before, but not anymore, you most likely need to use the new, dedicated asb100 driver instead.
  • Up to Linux 2.6.10 (included), via686a and i2c-viapro cannot both be loaded due to PCI resource conflicts. For most users, use i2c-isa + via686a to access sensor data. If values don't make sense, unload both drivers and try i2c-viapro + another chip driver (sensors-detect should tell you which). The issue was finally solved in Linux 2.6.11.
  • i2c-voodoo3 generally will not load due to PCI resource conflicts with tdfxfb or other frame buffer / display drivers. The 2.6 driver requests the PCI device, because it is considered Bad (TM) to use a device without requesting it. This probably means that the i2c-voodoo3 driver should me merged into the framebuffer driver, much like was done for matroxfb, radeonfb and nvidiafb. This also makes sense because the framebuffer driver can use the DDC channel (which is no more than I2C, renamed) to retrieve information about the monitor and adapt its output. But this also raises the problem that people may want to access the i2c busses without loading the full framebuffer driver...

Early 2.6 kernels (2.6.0 to 2.6.9)

Naming and magnitude standards for sysfs data was just stabilizing in early 2.6 kernels. As a result, we did our best to ensure that lm_sensors was compatible with the kernel state at any given state, and released often. This also means that each version of lm_sensors from 2.8.2 (the first 2.6 kernel compatible release) to 2.8.5 only work properly for a limited range of kernel versions.

Recommended kernel and lm_sensors combinations:

  • Kernels 2.6.9-rc1 and later: lm_sensors 2.8.8 or any later version
  • Kernels 2.6.5-rc1 to 2.6.8: lm_sensors 2.8.6 or any later version
  • Kernels 2.6.3-rc2 to 2.6.4: lm_sensors 2.8.5
  • Kernels 2.6.2-rc1 to 2.6.3-rc1: lm_sensors 2.8.4
  • Kernels 2.6.1-rc1 to 2.6.1: lm_sensors 2.8.3
  • Kernels 2.6.0 and earlier: lm_sensors 2.8.2

Note that you should really stick to the exact version of lm_sensors we recommend (up to kernel version 2.6.5), since newer versions usually do not support older (nor later, of course) kernels properly. This results in data not found, or off by factors of 10, in 'sensors'. Compatibility after kernel version 2.6.5 is guaranted (i.e. the latest version of lm_sensors will always support all versions of the kernel since 2.6.5).

Also note that several distributions are lying about the kernel they ship, and a 2.6.x kernel package may actually be built from 2.6.(x+1)-rc kernel sources. If you get broken readings, simply try the next lm_sensors release.

Specific issues (all fixed in later versions):

  • VRM is broken for 2.6 kernels in lm_sensors 2.8.6.
  • Hysteresis temperature is broken for 2.6 lm75, lm78 and gl518sm chip drivers in lm_sensors 2.8.6.
  • I2C core debugging is severely broken in kernels before 2.6.5-rc1. Don't select it unless you like kernel oopses.
  • The i2c-ali1535, i2c-sis5595 and i2c-via bus drivers do not accept hardware monitoring drivers connecting to them. Fixed in Linux 2.6.5-rc1.
  • it87 support is broken in lm_sensors 2.8.3 (with kernel 2.6.1).
  • lm75 and lm78 temperatures are not found by libsensors (with kernel 2.6.1) due to sysfs naming issues.