This is a list of additional programs, that may or may not be installed by
`make install', and that can be found in the `prog' directory of
this package.

These programs are generally small utilities used for debugging,
and installation of the lm_sensors package, and for demonstrating
the use of the drivers and libraries in this package.
For more elaborate programs (for example, GUI sensor displays),
see useful_addresses.html.


* prog/config/grab_busses.sh (written in bash and awk, not installed)
  This program helps you generate the `bus' statements for your configuration
  file. It read /proc/bus/i2c (or the file specified on the command-line),
  and prints to stdout `bus' statements reflecting the currently detected
  adapters.

* prog/daemon/healthd.sh (written in bash, not installed)
  An example of a very simple hardware health monitoring daemon.

* prog/detect/i2cdetect (written in C, installed by 'make install')
  This program scans your complete I2C or SMBus adapter for connected devices.
  Syntax:
    i2cdetect 0
  Here the '0' stands for the bus number (run "i2cdetect -l"
  to list all installed busses).

* prog/detect/sensors-detect (written in Perl, installed by 'make install')
  This program tries to detect the available SMBus adapters and the chips
  connected to them, as well as Super-I/O and misc chips. It also generates
  modprobe lines and module options. This program is interactive.

* prog/doc/doc-features.pl (written in Perl, not installed)
  This program is used to help us generate driver documentation; it scans
  some C source programs to do this. Syntax:
    ./doc-features.pl BASE [PREFIX...]
  BASE is the path to the base directory of the lm_sensors tree
  PREFIX is one of more prefixes of chips you want documented; if left out,
  all chips are documented.

* prog/doc/doc-insmod.pl (written in Perl, not installed)
  This program is used to help us generate driver documentation; it reads
  all module information and outputs insmod parameter information. Syntax:
    ./doc-insmod.pl DRIVER

* prog/dump/i2cdump (written in C, installed by 'make install')
  This program dumps the registers of an I2C device.
  Usual syntax:
    i2cdump 0 0x4c b
  Here the '0' stands for the bus number (run i2cdump with no arguments 
  to list all installed busses).
  '0x49' is the device address, and 'b' or 'w' stands for byte
  or word data.

* prog/dump/i2cset (written in C, installed by 'make install')
  prog/dump/i2cget (written in C, installed by 'make install')
  These programs are used to write to or read from a register of an
  I2C device. Usual syntax:
    i2cset bus device address data
    i2cget bus device address

* prog/dump/isadump (written in C, installed by 'make install')
  This program dumps the registers of ISA or Super-I/O chips.
  Usual syntax:
     isadump 0x295 0x296
     isadump -k 0x55 0x2e 0x2f

* prog/eeprom/decode-dimms.pl (perl script, installed by 'make install')
  This program decodes the information found in a memory module SPD EEPROM.

* prog/eeprom/decode-vaio.pl (perl script, installed by 'make install')
  This program decodes the information in a Sony Vaio laptop
  identification eeprom at 0x57.

* prog/eeprom/ddcmon (perl script, installed by 'make install')
  prog/eeprom/decode-edid.pl (perl script, installed by 'make install')
  These programs decode the information found in a display EEPROM. They
  require a bus driver for your video adapter, for DDC access to the display.

* prog/eepromer/eepromer (written in C, not installed)
  This program reads and writes eeproms.
  Danger: Do not use this to write your DRAM DIMM eeproms.

* prog/hotplug/m7101.o (kernel module, not installed)
  An experimental kernel module to enable the Acer Labs 7101 PCI device.
  See prog/hotplug/README for details.

* prog/hotplug/p4b_smbus.o (kernel module, not installed)
  An experimental kernel module to enable the i801 2443 PCI device
  on Asus P4B boards.
  See prog/hotplug/README.p4b for details.

* prog/init/lm_sensors.init (shell script, not installed)
  A SysV init script to be installed in /etc/rc.d/init.d/
  It inserts the bus and chip modules.

* prog/init/sensord.init (shell script, not installed)
  A SysV init script to be installed in /etc/rc.d/init.d/
  It inserts the bus and chip modules and starts the sensord daemon.

* prog/matorb/displayit.pl (written in Perl, not installed)
  A simple Perl script to display a 'screen' on a Matrix Orbital Display.

* prog/maxilife/sysinfo.sh (written in shell, not installed)
  Write system information to the HP Maxilife LCD display using writelcd.sh.

* prog/maxilife/writelcd.sh (written in shell, not installed)
  Write a string to the HP Maxilife LCD display.

* prog/mkdev/mkdev.sh (written in bash, not installed)
  This script creates the /dev/i2c-* files. Please check the source before
  you run it, as you may need to set some variables first.

* prog/pwm/pwmconfig (shell script, installed by 'make install')
  Formerly pwmtest, tests the pwm (pulse width modulation) outputs of sensors
  for their effect on the fans and helps to setup the configfile for fancontrol.

* prog/pwm/fancontrol (shell script, installed by 'make install')
  Controls fanspeeds responding to changes on temperature sensors.
  Configuration through pwmconfig.

* prog/pwm/fancontrol.pl (perl script, installed by 'make install')
  Reimplementation of fancontrol in perl, with self-daemonizing.

* prog/rrd/sens_update_rrd (written in bash, not installed)
  This script gathers sensors data and adds it to a round robin database
  (RRD). RRD is then used to display the graphed data in web pages.
  See prog/rrd/README for more information.

* prog/sensord/sensord (written in C, installed by `make install-prog-sensord')
  This daemon can be used to periodically log sensor readings from
  the sensors hardware to syslog, and to alert (using syslog level ALERT)
  when a sensor alarm is signalled; for example, if a fan fails, a temperature
  limit is exceeded, etc.

* prog/sensors/sensors (written in C, installed by `make install')
  This pretty-prints the information provided by the modules. It is a normal
  console application, using stdout. It is essential, because
  unlike the raw /proc/sys/dev/sensors/*/* files, it takes your configuration
  file into account.

* prog/tellerstats/gather.sh, tellerstats.sh (written in bash, not installed)
  These scripts gather sensors data and graph the data for web pages.
  See prog/tellerstats/README for more information.

* prog/xeon/decode-xeon.pl (written in Perl, installed by 'make install')
  ID ROM data decoding for Xeon processors.
