Project Information
Project Mission / Background / Ethics
The primary mission for our project is to provide the best and most complete hardware health monitoring drivers for Linux. We strive to produce well organized, efficient, safe, flexible, and tested code free of charge to all Linux users using the Intel x86 hardware platform. The project attempts to support as many related devices as possible (when testing and documentation is available), especially those which are commonly included on mainboards.
Our drivers provide the base software layer for utilities to acquire data on the environmental conditions of the hardware. We also provide a sample text-oriented utility to display sensor data. While this simple utility is sufficient for many users, others desire more elaborate user interfaces. We leave the development of these GUI-oriented utilities to others. See our useful addresses page for references.
Originally a group of independent weekend hackers each created their own code which did at least some hardware health monitoring for their particular mainboard. One of these developers was Alexander Larsson who produced probably the best project at that time. Philip Edelbrock then started work on expanding Larsson's project with the much needed help of Frodo Looijaard (whom responded to one of Phil's mailing list messages with interest in joining the project). The rest is history. A dozen or so contributors later we've been able to provide what we think is the most sophisticated and flexible small device driver library in existence.
A quick word about our ethical standings: Unlike many other open-source projects, we try hard to be as open as our code. We welcome comments and suggestions and, in fact, rely on them to provide support for what the Linux community wants. We are also a non-profit project which depends on free samples and documentation from manufacturers to support their devices. Luckily most manufacturers familiar with Linux have eagerly provided us with samples, documentation, and even in some cases access to support engineers and code.
Typical uses
- Users curious of knowing the hardware health status of their machine. Many users are eager to squeeze every once of use out of their hardware, and this can not only help you do that but it can also tell you how the rest of your hardware is doing.
- High-end/unattended server automated monitoring. Easily create a cron job to query the status of your hardware and email you in the event of a problem before it becomes critical. A MUST for unattended server setups.
- Embedded systems running Linux. Now embedded systems can use this package to monitor voltages, temperatures, fan speeds, etc. using off the shelf components and utilizing a range of bus interfaces (e.g., ISA, SMBus, and/or I2C).
- Data acquisition. Easily measure various types of data (rotational speeds, voltages, temperatures, etc.) using cheap off-the-shelf parts and this software package. The second version of our software (lm_sensors2) is especially designed to reduce the amount of redundant code while at the same time making it much easier to add new sensor interfaces.
What's supported
ISA & SMBus/I2C Hardware Health Monitoring Chips
This refers to LM78 and similar devices (LM79, LM80, GL518, ADM9240, W83781D, and many many others).
While the original LM78 sensor chip has been discontinued by National Semiconductor, its features live on in many similar devices. Even today, mainboard manufacturers advertise 'LM78' or 'LM78 compatible' functions. The mainboard sensor chips generally report the following information.
- Sense data:
- Speeds of fans which support rotation speed sensing and which are connected to some of the three inputs on the LM78
- Voltages. Depending on the hardware configuration, these are usually the +3.3V, +5V, +12V, -5V, -12V power supplies and the core voltages of one or two processors.
- Temperature of the sensor chip itself (generally reported as the mainboard temperature)
- Sometimes the main hardware health monitoring chip also supports remote temperature sensing (using thermal-resistors or transistors/diodes)
- Chassis intrusion detection (by a micro-switch, if installed)
- Some chips have buzzer support
- many chips have 'VID' line sensing (I.e., target CPU operating voltage)
- Features:
- Watchdog settings to alert the system that a sense value has exceeded its limit(s).
- Supported Motherboards:
- Most modern mainboards, even 'low-end' mainboards. Mainboards that support 'health monitoring hardware', or simply 'LM78-compatible sensors', are generally supported.
SMBus
Offered by Intel PIIX4 bridge & Acer Labs Inc. (ALI) M1543C South Bridges, and many many others.
- Sense data
- LM75 temperature sensors (usually near processor modules, and possibly other locations).
- Other SMBus device data, such as battery levels of a mainboard equiped with such hardware, as well as more fundamental functions like RAM DIMM sensing. Portables may also have simple SMBus devices which do things like control the back-lighting of LCD screens and such. Many microcontrollers, such as Microchip PIC's, also provide SMBus interfaces.
- LM78's have an SMBus interface which may be used instead (or in addition to) the ISA interface.
- Features:
- LM75's have watchdog alerts similar to the LM78 which trigger an interrupt.
- Many more features are dependent on the hardware connected to the SMBus.
- Implemented Motherboards:
- The SMBus typically is controlled by the south bridge (for example, the Intel PIIX4). The south bridge provides a I2C 'like' bus called the SMBus, which is what our code uses to communicate with any device connected to this bus. If you aren't sure if your machine is supported, run our sensors-detect utility.
I2C
Offered by chipsets, some video cards, TV out/in cards, and others.
- Sense data
- Many sensors and microcontrollers have I2C based interfaces.
- Many SMBus devices can function on a I2C bus.
- Features:
- Many of the same features as SMBuses. I2C is a little simpler and more flexible when it comes to interfacing DSPs, microcontrollers, etc.
- Implemented Motherboards:
- Some chipsets use a I2C host (like some of the Via Apollo chipsets) instead of a SMBus host (like the Intel PIIX4), but connect SMBus devices (like an LM78, or GL518) to it.
Attachments
- w83781dcrop.jpg (11.7 kB) -
Picture of W83781D.
, added by otaku42 <mrenzmann@otaku42.de> on 01/02/06 12:15:56. - piix4crop.jpg (11.0 kB) -
Picture of PIIX4.
, added by otaku42 <mrenzmann@otaku42.de> on 01/02/06 12:16:52.


