Version 6 (modified by khali, 4 years ago)

Update bus examples

Project Information

Project Mission

The primary mission for our project is to provide the best and most complete hardware health monitoring support for Linux, in the form of kernel drivers and a user-space library. We strive to produce well organized, efficient, safe, flexible, and tested code free of charge to all Linux users. The project attempts to support as many related devices as possible (when documentation is available), especially those which are commonly included on PC mainboards.

Our drivers provide the base software layer for utilities to acquire data on the environmental conditions of the hardware. We also provide a user-space access library and a sample text-oriented utility built on top of said library 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 links page for references.

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

  • PC users curious of knowing the hardware health status of their machine.
  • PC users interested in making their computer quieter by controlling the speed of the fans.
  • 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.
  • Embedded systems running Linux. These 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, I2C or SPI).
  • More generally, data acquisition. Easily measure various types of data (rotational speeds, voltages, temperatures, etc.) using cheap off-the-shelf parts.

What's supported

ISA & SMBus/I2C Hardware Health Monitoring Chips

Error: Macro Image(w83781dcrop.jpg) failed
Attachment 'wiki:ProjectInformation: w83781dcrop.jpg' does not exist.

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

Error: Macro Image(piix4crop.jpg) failed
Attachment 'wiki:ProjectInformation: piix4crop.jpg' does not exist.

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