[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Documentation-based solution for lm-sensors mess, pass one



Christoph Hellwig <hch@lst.de> feels (see http://lists.debian.org/debian-devel/2003/debian-devel-200312/msg02395.html) that the only reasonable thing to do is to document the outright incompatibility of lm-sensors with all i2c modules from the 2.4 kernel tree. And he seems to know what he's talking about. :-P Christoph, please correct me if I have any facts wrong.

(For instance, is there going to be a compatible i2c modules in the 2.4 kernel tree for 2.4.24?... it didn't *look* like it, but if so, a lot of this needs to be made even more complicated, and I'll be happy to do so.)

Accordingly, the following descriptions should be changed as follows.

Package: lm-sensors
Architecture: any
Section: utils
Depends: makedev (>= 2.3.1-45) | devfsd, dmidecode, ${misc:Depends}, ${shlibs:Depends}, ${perl:Depends}
Recommends: lm-sensors-mod-2.8
Suggests: lm-sensors-source, i2c-source, sensord
Description: Utilities to read temperature/voltage/fan sensors
Lm-sensors is a hardware health monitoring package for Linux. It allows you
 to access information from temperature, voltage, and fan speed sensors. It
 works with most newer systems.
 .
 This package contains programs to help you set up and read data from
 lm-sensors.
 .
 You will need lm-sensors kernel modules and recent i2c kernel modules
 to use this package.  There are none for 2.2 and earlier kernels.  For 2.4
 kernels, this requires installing the lm-sensors-source package and
 i2c-source packages, and possibly the kernel-package package, and using
 those to build lm-sensors and i2c modules.  For 2.6 kernels, the
 necessary modules are included in the Linux kernel sources, so it is
 sufficient to make sure you have them enabled in your kernel
 configuration.
 .
 lm-sensors is INCOMPATIBLE with the i2c modules in the 2.4.9 through
 2.4.23 kernel sources.  See /usr/share/doc/lm-sensors/README.Debian.

Package: lm-sensors-source
Architecture: all
Depends: debhelper (>= 4.1.16), devscripts (>= 2.5.20), bison, flex, ${misc:Depends}
Section: misc
Suggests: lm-sensors (>= 2.3.2), i2c-source (>= 2.6.0)
Description: Kernel drivers to read temperature/voltage/fan sensors (source)
Lm-sensors is a hardware health monitoring package for Linux. It allows you
 to access information from temperature, voltage, and fan speed sensors. It
 works with most newer systems.
 .
 This package contains the source for kernel modules needed to access
 the data under Linux 2.4 kernels.  The 2.4 kernel sources must be
 installed to compile these modules.  (The necessary modules are already
 present in the kernel sources for Linux 2.6 kernels.)
 .
 lm-sensors requires a separate set of drivers to access the I2C bus.  If
 you have a 2.4 kernel, you must also install the i2c-source package and
 build i2c modules from that.
 .
 lm-sensors is INCOMPATIBLE with the i2c modules in the 2.4.9 through
 2.4.23 kernel sources.  See /usr/share/doc/lm-sensors/README.Debian (in
 the lm-sensors package).

Package: sensord
Architecture: any
Section: utils
Depends: lm-sensors, ${shlibs:Depends}
Replaces: lm-sensors (<< 2.5.4-8)
Description: Hardware sensor information logging daemon
Lm-sensors is a hardware health monitoring package for Linux. It allows you
 to access information from temperature, voltage, and fan speed sensors. It
 works with most newer systems.
 .
 This package contains a daemon that logs hardware health status to the
 system log with optional warnings on potential system problems.
 .
 You will need lm-sensors and recent i2c kernel modules to use this
 package. These are available in the lm-sensors-source and i2c-source
 packages for 2.4 kernels, or in the kernel source for 2.6 kernels.
 .
 lm-sensors is INCOMPATIBLE with the i2c modules in the 2.4.9 through
 2.4.23 kernel sources.  See /usr/share/doc/lm-sensors/README.Debian (in
 the lm-sensors package).

Next, README.Debian needs to be rewritten:
README.Debian for lm-sensors
----------------------------

lm-semsors requires kernel support to access sensor devices.  There are
two parts to these modules: generic drivers to access devices on the i2c
bus, and drivers to support specific sensor devices.

Both sets of modules are distributed with the mainline Linux kernel for
2.6 kernels.

For 2.4 kernels, it's more complicated.  The i2c modules for lm-sensors
must be built from the separate i2c-source package.  You can no longer
use the i2c support present in the kernel tree from kernels 2.4.9
through 2.4.23.  Those modules are INCOMPATIBLE with current lm-sensors.

Unfortunately, a number of drivers in the 2.4 kernel depend on the kernel versions of the i2c modules. If you are using any of those drivers, you CANNOT use lm-sensors:
  (insert driver list here)

If you are not using any drivers which depend on the old i2c modules,
you must still make sure that all the old i2c modules are removed in
order to use lm-sensors; otherwise you will get kernel oopses, segfaults, and other crashes. If you configure your own kernel, make sure to disable I2C support (it must not be built-in or built as modules). If you are using a stock kernel, you will have to remove all the files from this directory:
  /lib/modules/[kernel version]/kernel/drivers/i2c

The lm-sensors modules for 2.4 kernels are not distributed with the Linux kernel either; source is distributed separately in the lm-sensors-source package. I recommend building modules using lm-sensors-source in combination with the Debian kernel-package package; instructions for building the modules are in /usr/share/doc/lm-sensors-source/README.Debian in the lm-sensors-source package.

Once you have the modules built (on 2.6 or 2.4), you need to probe for
the sensors available on your system. You can use the sensors-detect
program to do this.

Note that there is a critical problem with the firmware on IBM
ThinkPad laptops, such that the lm-sensors modules can cause permanent
hardware damage.  You may not want to use lm-sensors on these machines
until this problem is solved.

-- David Z. Maze <dmaze@debian.org>

Additional information by Nathanael C. Nerode <neroden@twcny.rr.com>

That should do it for the documentation, except that a list of the conflicting drivers needs to be made available.

Oh, by the way: I disclaim copyright in all of these changes; if that's not legally possible then I dedicate them to the public domain; and if that's not legally possible then I freely license them, irrevocably and permanently, to be used in any way in which they could be used if they were in the public domain. Just to make suer we're legally clear. :-)



Reply to: