diff --git a/doc/bit-mb-VIA b/doc/busses/bit-mb-VIA similarity index 100% rename from doc/bit-mb-VIA rename to doc/busses/bit-mb-VIA diff --git a/doc/piix4 b/doc/busses/i2c-piix4 similarity index 100% rename from doc/piix4 rename to doc/busses/i2c-piix4 diff --git a/doc/busses/piix4 b/doc/busses/piix4 new file mode 100644 index 00000000..09a588ac --- /dev/null +++ b/doc/busses/piix4 @@ -0,0 +1,25 @@ +The PIIX4 (properly known as the 82371AB) is an Intel chip with a lot of +functionality. Among other things, it implements the PCI bus. One of its +minor functions is implementing a System Management Bus. This is a true +SMBus - you can not access it on I2C levels. The good news is that it +natively understands SMBus commands and you do not have to worry about +timing problems. The bad news is that non-SMBus devices connected to it +can confuse it mightily. Yes, this is known to happen... + +Cat /proc/pci, and see whether it contains an entry like this: + + Bus 0, device 1, function 3: + Bridge: Intel 82371AB PIIX4 ACPI (rev 1). + Medium devsel. Fast back-to-back capable. + +Bus and device numbers may differ, but the function number must be identical +(like many PCI devices, the PIIX4 incorporates a number of different +'functions', which can be considered as separate devices). If you find such +an entry, you have a PIIX4 SMBus controller. + +On some computers (most notably, some Dells), the SMBus is disabled by +default. If you compile the piix4 module with '-DFORCE_PIIX4_ENABLE', +it will try to enable it. THIS IS VERY DANGEROUS! If the BIOS did not +set up a correct address for this module, you could get in big trouble +(read: crashes, data corruption, etc.). Try this only as a last resort +(try BIOS updates first, for example), and backup first! diff --git a/doc/eeprom b/doc/chips/eeprom similarity index 100% rename from doc/eeprom rename to doc/chips/eeprom diff --git a/doc/gl518sm b/doc/chips/gl518sm similarity index 100% rename from doc/gl518sm rename to doc/chips/gl518sm diff --git a/doc/lm75 b/doc/chips/lm75 similarity index 100% rename from doc/lm75 rename to doc/chips/lm75 diff --git a/doc/lm78 b/doc/chips/lm78 similarity index 100% rename from doc/lm78 rename to doc/chips/lm78 diff --git a/doc/cvs b/doc/cvs index 52795ea4..bc89af46 100644 --- a/doc/cvs +++ b/doc/cvs @@ -1,5 +1,10 @@ (This is based on mails from Philip and William, and edited by Frodo) +Anybody can now use CVS to access the code archive. CVS allows you to get +the latest and greatest version of lm_sensors, or any older version. +You need the rcs and cvs package, which can be retrieved from any GNU +mirror site (prep.ai.mit.edu is the master site). + 1) Go to the directory where you want lm_sensors (and lm_sensors2?) directory/ies to reside with the project source code. A good choice is your home directory. diff --git a/doc/design b/doc/developers/design similarity index 100% rename from doc/design rename to doc/developers/design diff --git a/doc/makefiles b/doc/developers/makefiles similarity index 100% rename from doc/makefiles rename to doc/developers/makefiles diff --git a/doc/sysctl b/doc/developers/sysctl similarity index 72% rename from doc/sysctl rename to doc/developers/sysctl index 13c057f1..4c6532f2 100644 --- a/doc/sysctl +++ b/doc/developers/sysctl @@ -9,3 +9,8 @@ for the corresponding SYSCTL ids). You can only read this file; it returns an array of struct sensors_chips_data, as defined in sensors.h. Each chip will have its own entry here, with both its sysctl id and the corresponding /proc name. + +Generally, it is a better idea to use the new libsensors to access this +data. If you feel you need more than the library offers, please mail us, +so we can either add the new functionality to the library, or explain how +you can work around it. diff --git a/doc/modules b/doc/modules index b5c1c595..dbc40340 100644 --- a/doc/modules +++ b/doc/modules @@ -68,6 +68,10 @@ at all! (src) gl518sm: sensors smbus i2c-core GL518SM revision 0x00 and 0x80 chip driver +(src) eeprom: sensors smbus i2c-core + Driver for DIMMs connected to the SMBus. You need prog/eeprom/decode-dimms.pl + to make sense of its output. + (i2c) algo-bit: i2c-core The 'bit' algorithm, used by many i2c adapters Module parameters: @@ -99,8 +103,14 @@ at all! will also implement SMBus access. (i2c) hw-monitor: ??? - Old skeleton driver for GL518SM. Will be superseded by a module which - interfaces with the sensors module. + Old skeleton driver for GL518SM. Superseded by the gl518sm module. Several other modules are not yet ported by Simon Vogl. They are mostly in i2c/old-code. + +Usually, if you load the modules through modprobe, you need the following +commands: + modprobe i2c-proc + modprobe isa # Unless you are certain no sensor chips live on the ISA bus + modprobe piix4 # One such line for each adapter you own + modprobe lm78 # One such line for each device you own diff --git a/doc/progs b/doc/progs new file mode 100644 index 00000000..c8004115 --- /dev/null +++ b/doc/progs @@ -0,0 +1,27 @@ +This is a list of additional programs, that may or may not be installed by +`make install', and that usually can be found in the `prog' directory of +this package. + +* 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/eeprom/decode-dimms.pl (written in Perl 5, not installed) + This program decodes the information generated by the `eeprom.o' module. + It will only work for the installed eeprom module from the src/ directory, + not for the old one in the i2c/drivers/ directory. +* 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 stdin and stdout. It is essential, because + unlike the raw /proc/sys/dev/sensors/*/* files, it takes your configuration + file into account. + +There are some programs distributed with Simon Vogl's i2c package too: +* i2c/detect/detect (written in C, not installed) + This program needs module `i2c-dev.o' to be loaded. It scans the complete + address range of a certain bus for connected devices. +* i2c/eeprom/eeprom (written in C, not installed) + This program needs the i2c `eeprom.o' module (that is the one that is not + installed; it can be found in the i2c/drivers/ directory). It reads from + or writes to the eeprom. diff --git a/doc/version-2 b/doc/version-2 index e324adae..9d4a82cf 100644 --- a/doc/version-2 +++ b/doc/version-2 @@ -7,8 +7,13 @@ package. Some of the more important ones: is supported by Simon Vogl, it is supported by us. * Many things which were done in kernel space are now done in user space. The most obvious result is the absence of /proc/sensors. Use instead the - supplied program. + supplied 'sensors' program. * No more limits on the number of chips. * All detected chips get their own directory under /proc/sys/dev/sensors -* /proc/bus contains a list of all I2C/SMBus adapters found +* /proc/bus contains a list of all I2C/SMBus adapters found. +* All applications which want to use sensor data can now access it through + the new libsensors. +* A configuration file which is read by the above mentioned library, which + can (through libsensors) be used by any application, and which describes + how all sensor readings are to be interpreted. * All code has been completely rewritten.