I2C Sensors plugin

This plugin provides an interface to the I2C Sensors system.

This plugin is able to retreive informations from the I2C Sensors system, using the procfs or the sysfs interface depending on what's available on your system. In general, you'll want to use the old procfs interface on 2.4 kernel (as sysfs isn't suported) and the new sysfs on 2.6 kernels (although you can still use the procfs interface if the plugin can't find the sensors within sysfs).

First, you should read /usr/src/linux/Documentation/i2c/sysfs-interface (on 2.6 kernels) or (lm_sensors official website ?) to learn more about lm_sensors and how it works. Your mainboard is full of sensors measuring temperatures, voltages, fan speed, and other. I2C Sensors modules get theses informations and make them available in :

  • /proc/sys/dev/sensors/name for the procfs interface (deprecated)
  • /sys/bus/i2c/devices/bus identifier for the sysfs interface

This plugin supplies a transparent interface for both methods so that the same configuration works in (mostly) all cases. In fact, available tokens correspond to single files via the sysfs interface. The procfs method emulates the sysfs files from the few available ones in /proc/sys/dev/sensors/…

If you get error messages like i2c_sensors: unable to autodetect i2c sensors! then your system may not use the standard paths mentioned above. You can direct i2c_sensors to the right path by adding the parameter “i2c_sensors-path '/path/to/your/i2c/devices'” right before widget configuration in lcd4linux.conf. For example on Ubuntu 8.04 it should be “i2c_sensors-path '/sys/class/hwmon/hwmon0/device/'”.

i2c_sensors(key)return the value of sensor <key> if available

The following keys are valid: (# represents an integer from 1 to 3 (or maybe more)

temp#_inputtemperature of sensor # (in °C)
temp_max# and temp_hyst#max and min of sensor #
in_min# and in_max#voltages limits
fan_input#speed (in RPM) of fan #
fan_min#minimum speed of fan #
fan_div#speed divider for fan #

Tokens avaible only via sysfs if suported by your sensors:

curr_input#value of currents (in amps)
curr_min# and curr_max#limits
pwm#value of pulse width modulation for fans
temp_crit#critical value of sensor #
vidcpu core voltage
and maybe others …see /usr/src/linux/Documentation/i2c/sysfs-interface on linux 2.6

Widget Temp {
    class      'Text'
    expression  i2c_sensors('temp3_input')*1.0324-67
    prefix     'Temp'
    width       9
    precision   1
    align      'R'
    update      500

Widget TempBar {
    class      'Bar'
    expression  i2c_sensors('temp3_input')*1.0324-67
    min         40
    max         80
    length      10
    direction  'E'
    update      200

  • plugin_i2c_sensors.txt
  • Last modified: 2020/07/17 18:33
  • (external edit)