Changeset 4173

Show
Ignore:
Timestamp:
09/24/06 18:36:34 (2 years ago)
Author:
khali
Message:

Documentation update. I tried to remove or update all outdated stuff, it
looks better now, but that's still quite a mess which we'd need to cleanup.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lm-sensors/trunk/BACKGROUND

    r568 r4173  
    1616 
    1717The kernel modules communicate their information through both the /proc 
    18 and sysctl interfaces. To keep things uncomplicated, the sensor chips always  
    19 advert their measurements 'as is'. This means that the values they 
    20 report are not immediately relevant to you - they must first be scaled 
    21 and translated to correspond to the real world. 
     18and sysctl interfaces (Linux 2.4) or the /sys interface (Linux 2.6). To 
     19keep things uncomplicated, the sensor chips always advert their 
     20measurements 'as is'. This means that the values they report are not 
     21immediately relevant to you - they must first be scaled and translated 
     22to correspond to the real world. 
    2223 
    2324It is also possible to communicate directly with chips on an I2C bus 
    2425or SMBus. This is done through /dev files. This is useful if you  
    2526quickly want to test how a certain chip behaves, without having to 
    26 write a kernel driver. It is also dangerous; several applications could 
    27 access the same chip at the same time. 
     27write a kernel driver. 
    2828 
    2929Note that all other parts of this package function in so-called user-space. 
     
    3232 
    3333Applications could (and can) directly read the sensor values through the  
    34 /proc or the sysctl interfaces. This is harder then it sounds; because 
     34/proc, sysctl or /sys interfaces. This is harder than it sounds; because 
    3535no two chips are the same, the information they communicate may also 
    3636be very unlike. This would mean that every application would have to know 
     
    5757 
    5858This package does not contain a nice graphical monitor. Look at the file 
    59 doc/useful_addresses for pointers to such programs. It does contain a
    60 example console program that reports all current sensors values. This 
     59doc/useful_addresses.html for pointers to such programs. It does contai
     60an example console program that reports all current sensors values. This 
    6161program is called 'sensors'. You can use it as a reference implementation 
    6262for more intricate programs. 
  • lm-sensors/trunk/BUGS

    r4063 r4173  
    11Except for many unimplemented things (listed in the TODO file), there may be 
    2 true bugs too. If you experience any problems not listed here, 
    3 do not hesitate to mail us (see http://www.lm-sensors.org/wiki/FeedbackAndSupport). 
     2true bugs too. If you experience any problems not listed here, do not hesitate 
     3to mail us (see http://www.lm-sensors.org/wiki/FeedbackAndSupport). 
    44But read this file and doc/FAQ first, please! 
    55 
  • lm-sensors/trunk/CONTRIBUTORS

    r4063 r4173  
    11This package could not have been created without the help of many, many people. 
    22The most notable contributors are listed below. You are probably best off 
    3 to use the mailing list (see http://www.lm-sensors.org/wiki/AuthorsAndContributors) 
    4 if you have questions, suggestions or problems. 
     3to use the mailing list (see 
     4http://www.lm-sensors.org/wiki/AuthorsAndContributors) if you have questions, 
     5suggestions or problems. 
    56 
    67* Alexander Larsson <alla@lysator.liu.se> 
  • lm-sensors/trunk/INSTALL

    r4079 r4173  
    4141 
    4242NOTE: MAKE SURE YOU HAVE THE I2C-ALGO-BIT DRIVER (PART OF THE I2C PACKAGE) 
    43       COMPILED INTO YOUR KERNEL OR AVAILABLE AS A MODULE; SOME SENSOR
    44       DRIVERS DEPEND ON IT! 
     43      COMPILED INTO YOUR KERNEL OR AVAILABLE AS A MODULE; SOME I2C/SMBU
     44      MASTER DRIVERS DEPEND ON IT! 
    4545 
    4646NOTE: IN EACH CASE, YOU WILL HAVE TO GET AND INSTALL THE I2C PACKAGE FIRST! 
     
    9797possible, but there are some pitfalls. 
    9898 
    99 If had compiled all i2c and lm_sensors drivers as modules, you are  
     99If you had compiled all i2c and lm_sensors drivers as modules, you are  
    100100in luck. You can simply compile the newest versions of i2c and 
    101101lm_sensors and install them. Just make sure the right modules are 
     
    125125is needed for the first two compilation options above. 
    126126 
    127 Let's say you want to use the lm_sensors modules with the kernel 2.1.12 you 
     127Let's say you want to use the lm_sensors modules with the kernel 2.4.32 you 
    128128are running now. What you need, is the original tree in which you 
    129 compiled that 2.1.12 kernel. A freshly unpacked 2.1.12 kernel will not 
     129compiled that 2.4.32 kernel. A freshly unpacked 2.4.32 kernel will not 
    130130cut it, because `make *config dep' creates some files that are needed. 
    131131And even then, you will run into trouble, because you may not have 
     
    144144of `unresolved kernel symbols'. If you get either of these messages, 
    145145check your kernel tree! 
    146  
    147 Note that some distributions are notably bad at this. To offset this 
    148 somewhat, not the files in /usr/include/{linux,asm} are used, but instead 
    149 those in /usr/src/linux/include/{linux,asm}. It is also possible to 
    150 tell the Makefile the kernel is somewhere else than at /usr/src/linux. 
    151146 
    152147To keep problems to a minimum, please use a 'vanilla' kernel tree, 
     
    251246 
    252247 
    253  
    254 Handling the modules (compilation option 1) 
    255 =========================================== 
    256  
    257 Run the command `depmod -a' to have the new modules recognised. Most 
    258 distributions run this command when you boot, so if you were cross- 
    259 compiling, you can skip this step. 
    260  
    261 See doc/modules for a more detailed treatment. 
    262  
    263  
    264248Patching the kernel (compilation option 2) 
    265249========================================== 
    266250 
    267251There is a special script which should be able to generate diffs against 
    268 any 2.2 or 2.4 kernel (2.4.0 or later). Note that 2.3 kernels are no  
    269 longer supported for this compilation option (choose option 1 instead).  
    270 Please report any problems to our mailinglist. Note that it may fail,  
    271 and probably silently, if you have applied other patches to your kernel \ 
    272 tree, or for very new kernels.  It *is* safe to run it if your kernel  
    273 already has the lm_sensors drivers.  It will only work if you applied the  
    274 i2c patches first. 
     252any 2.4 kernel (2.4.10 or later).  Please report any problems to our 
     253mailing list.  It *is* safe to run it if your kernel already has the 
     254lm_sensors drivers.  It will only work if you applied the i2c patches first. 
    275255 
    276256** Only a subset of the modules in lm_sensors are patched into the        ** 
     
    284264lm_sensors package, the second one is the root of the kernel tree against 
    285265which the diffs will be generated. For example: 
    286   cd /tmp/lm_sensors-2.4.0 
    287   mkpatch/mkpatch.pl . /usr/src/linux > /tmp/sensors-patch 
     266  cd /tmp/lm_sensors-2.10.0 
     267  mkpatch/mkpatch.pl . /usr/src/linux > /tmp/sensors-2.10.0.patch 
    288268You can apply the diffs as usual: 
    289269  cd /usr/src/linux 
    290   patch -p1 -E < /tmp/sensors-patch 
    291 Genearation and application can easily be done in one step: 
     270  patch -p1 -E < /tmp/sensors-2.10.0.patch 
     271Generation and application can easily be done in one step: 
    292272  mkpatch/mkpatch.pl . /usr/src/linux | patch -p1 -E -d /usr/src/linux 
    293273The generated diffs are of course only valid for the kernel version  
     
    315295number %d. The script prog/mkdev/mkdev.sh will create the files for you. 
    316296 
    317 There is a special scanning program installed called sensors-detect. It 
     297There is a scanning program installed called sensors-detect. It 
    318298will scan all available I2C and SMBus adapters for all known devices, 
    319 and give you a list of what modules you need to insert. It is written in 
    320 Perl, and you will need at least Perl 5.004 to run it successfully. 
    321  
    322 If `sensors' returns some error message about not being able to load 
    323 libsensors, you have to add the directory in which it is installed 
    324 (by default /usr/local/lib) to /etc/ld.so.conf and run `ldconfig'. 
     299and will also look for ISA, PCI and Super-I/O chips with sensors, 
     300and give you a list of what modules you need to insert. 
    325301 
    326302You can use the installed sensors program to get a report of all detected 
     
    332308There are many auxiliary programs not installed. You can find them under 
    333309the prog subdirectory. A list can be found in doc/progs. 
    334  
    335  
    336 Old and new I2C drivers 
    337 ======================= 
    338  
    339 In the current 2.2 and 2.3 kernels, there are already I2C drivers, but 
    340 they are not the same ones as in this package. They are much older, and 
    341 have a very limited functionality compared with the drivers included 
    342 here. Fortunately, they can co-exist peacefully, so you should not worry 
    343 about it. Except for one thing: `#include <linux/i2c.h>' can cause the 
    344 wrong header file to be included. If you patched the kernel (compilation 
    345 option 3), you will have to use `#include <linux/i2c-old.h>' to include 
    346 the old ones; in all other cases, including the old ones will probably 
    347 be impossible without copying them explicitly to some place that will 
    348 be checked first. 
  • lm-sensors/trunk/QUICKSTART

    r2804 r4173  
    1717 
    1818  * Make sure you have the kernel tree corresponding to your current 
    19     kernel in /lib/modules/(uname -r)/build. 
     19    kernel in /lib/modules/$(uname -r)/build. 
    2020    Even if the source is there, it may not correspond to your running 
    2121    kernel. If so, you will have to recompile your kernel. 
     
    3131    (i2c-2.9.0 or later). The i2c subsystem found in the Linux 2.4 
    3232    kernel trees, even the latest ones, is outdated and won't work. 
    33     Quickstart for i2c: make; make install; depmod -a 
     33    Quickstart for i2c: make; (as root) make install 
    3434 
    3535  * Go back to the lm_sensors directory. Do `make'. 
    3636    The warnings about .d files at the start are harmless. 
    37     If you have compile problems, you probably should not have skipped step 3. 
    38     Go back and install the latest i2c package. 
    39     If you still have compile problems, you probably should not 
    40     have skipped the i2c step above. 
    4137 
    4238  * Do (as root) `make install'. 
    4339 
    44   * Do (as root) `depmod -a'. 
    45  
    4640  * Verify that /usr/local/lib is listed in /etc/ld.so.conf; 
    47     add it if it isn't. 
    48  
    49   * Do (as root) `ldconfig'. 
     41    if it isn't, add it, then run (as root) `ldconfig'. 
    5042 
    5143  * Run (as root) `prog/mkdev/mkdev.sh' to create the device files, 
    52     unless you already have them or are running devfs
     44    unless you already have them or are running devfs or udev
    5345 
    5446  * Run (as root) `prog/detect/sensors-detect' to detect your hardware, 
    55     put the lines it suggests into /etc/modules.conf 
    56     and enter the modprobe lines sensors-detect suggests. 
    57     Add the line `sensors -s' after the modprobe lines. 
    58  
    59   * Reboot, or else type in the modprobe lines and `sensors -s'. 
     47    put the lines it suggests into /etc/modules.conf, and run all 
     48    the commands it suggests (`modprobe X', `sensors -s'). 
    6049 
    6150  * Run `sensors' to see your output. 
  • lm-sensors/trunk/README

    r4170 r4173  
    99OVERVIEW OF THE LM_SENSORS PACKAGE AND SUMMARY OF SUPPORTED DEVICES 
    1010 
    11 !!! This package is ONLY for 2.6, 2.5, and 2.4 kernels (2.4.10 or later) !!! 
    12 !!! THIS PACKAGE REQUIRES i2c-2.9.0 or later!!! 
     11!!! This package is ONLY for 2.6 and 2.4 kernels (2.4.10 or later).  !!! 
     12!!! For 2.4 kernels, this package requires i2c-2.9.0 or later.        !!! 
    1313 
    14 FOR 2.6/2.5 KERNELS, use only the userspace tools in this package! 
     14FOR 2.6 KERNELS, use only the userspace tools in this package! 
    1515Build and install them with 'make user' and 'make user_install'. 
    16 The kernel modules in this package will not compile for 2.6/2.5
     16The kernel modules in this package will NOT compile for 2.6
    1717use the drivers already in the 2.6 kernel. 
    1818 
     
    2626kernels only (2.4.10 and later). 
    2727Use lm_sensors-2.4.5 for 2.0 kernels. 
    28 Use lm_sensors-2.7.0 for 2.2, 2.3, and 2.4.0 - 2.4.9 kernels. 
    29 Use the drivers already in the kernel for 2.6/2.5 kernels; if you need 
     28Use lm_sensors-2.7.0 for 2.2, and early 2.4 (up to 2.4.9) kernels. 
     29Use the drivers already in the kernel for 2.6 kernels; if you need 
    3030additional drivers in 2.6 please port and submit them to us. 
    3131 
    3232HOWEVER, the userspace tools in this package will work for 
    33 2.4, 2.5, and 2.6 kernels. 
    34  
    35 WARNING! You must have at least i2c-2.9.0. 
    36 EVEN IF your kernel does contain i2c support! 
     33both 2.4 and 2.6 kernels. 
    3734 
    3835The I2C[2] package in existing 2.4 kernels is NOT sufficient 
    39 for compilation of this package. 
    40  
    41 ADDITIONALLY, i2c-2.9.0 is API compatible to i2c releases 2.7.0 and earlier, 
    42 but is not API compatible to i2c releases 2.8.0 - 2.8.8 
    43 due to struct changes. Versions 2.8.x of i2c are considered deprecated. 
     36for compilation of this package. You need i2c-2.9.0 or later. 
    4437 
    4538See the lm_sensors download page for further guidance: 
    4639  http://www.lm-sensors.org/wiki/Download 
    4740 
    48  
    49 WARNING! If you downloaded this package through our SVN archive, you walk 
    50 the cutting edge. Things may not even compile! On the other hand, you will 
    51 be the first to profit from new drivers and other changes. Have fun! 
    5241 
    5342============================================================================= 
     
    6049  ATI IXP200, IXP300, IXP400 
    6150  DEC 21272/21274 (Tsunami/Typhoon - on Alpha boards) 
    62   Intel I801 ICH/ICH0/ICH2/ICH3/ICH4/ICH5/ICH6 (82801xx), 6300ESB, ICH7 
     51  Intel I801 ICH/ICH0/ICH2/ICH3/ICH4/ICH5/ICH6/ICH7/ICH8 (82801xx), 6300ESB 
    6352  Intel PIIX4 (used in many Intel chipsets) 
    6453  Intel I810/I810E/I815/I845G GMCH 
     
    8473  Genesys Logic GL518SM, GL520SM, GL523SM 
    8574  Intel Xeon processor embedded sensors 
    86   ITE IT8705F, IT8712F embedded sensors 
     75  ITE IT8705F, IT8712F 
    8776  Maxim MAX1617, MAX1617A, MAX1619, MAX6650, MAX6651, 
    8877        MAX6633, MAX6634, MAX6635, MAX6657, MAX6658, MAX6659 
     
    121110 
    122111 
    123 We always appreciate testers. If you own a specific monitoring chip listed 
    124 on our 'new drivers' page, and are willing to help us out, please contact 
     112We always appreciate testers. If you own a specific monitoring chip we do 
     113not yet (properly) support, and are willing to help us out, please contact 
    125114us. Even if you have no programming knowledge, you could help us by running 
    126115new modules and reporting on the results and output. If you want to offer 
     
    131120We *do* know what hardware we support, but usually, it is easier to 
    132121install everything and run sensors-detect. It will tell you what hardware 
    133 you have (and incidentally, what corresponding drivers are needed). You 
    134 could also take a look at http://mbm.livewiredev.com/ 
    135 (this lists chips found on many mainboard, but regrettably not the adapters 
    136 on them) or http://web01.fureai.or.jp/~hirobo/project/reserch_project.html 
    137 (yes, it is Japanese; you want the ninth column, and it again lists only 
    138 chips, not adapters). 
     122you have (and incidentally, what corresponding drivers are needed). 
    139123 
    140124 
     
    162146Please read INSTALL before trying to compile and install these modules. 
    163147There is a lot of additional documentation in the doc/ subdirectory. 
    164 Amnong these is a list of supported busses and chips. Regrettably, there 
    165 are too many mainboards to keep a list of busses and chips used on them. 
    166 On the other hand, we provide a program called 'sensors-detect' which 
    167 tries to figure out what hardware is available on your system. 
    168148 
    169149The developers of this package can be reached through a mailing-list 
     
    173153read the documentation and FAQ before you ask any questions! 
    174154 
    175 The latest version of this package can always be found on our homepage
    176 http://www.lm-sensors.org. Pre-release versions can be retrieved 
    177 through anonymous SVN; see doc/svn for details. 
     155The latest version of this package can always be found at
     156http://www.lm-sensors.org/wiki/Download. Pre-release versions can be 
     157retrieved through anonymous SVN; see doc/svn for details. 
    178158 
    179159This package may be distributed according to the GNU General Public 
  • lm-sensors/trunk/README.directories

    r4064 r4173  
    66  A sample configuration file for the 'sensors' program. 
    77* kernel 
    8   The kernel modules: general SMBus drivers, and specific chip and adapter 
    9   drivers. 
     8  The kernel modules: I2C/SMBus master drivers, and sensor chip drivers. 
    109* lib 
    1110  The user-space sensors support library code. 
  • lm-sensors/trunk/TODO

    r2625 r4173  
    22Contact us if you have comments or wish to help. 
    33------------------------------------------------ 
    4  
    5 I2C CODE CHANGES 
    6 ================ 
    7  
    8 See TODO in the i2c package. 
    9  
    104 
    115KERNEL MODULES 
     
    4539* "uninstall" Makefile target. 
    4640 
    47 * mkpatch. Trace back Configure changes from 2.5 tree and 
    48   have it make clean diffs. 
    49   Applies to both i2c and sensors. 
    50  
    5141* ACPI and SMBus host 
    5242 - ACPI subsystem may access SMBus host too. Locks? 
     
    6555  new 'fail' entry? See adm1021 for a partial example. 
    6656 
    67 * Add string function in sensors.o 
    6857* ALL: cleanup_module is void; check also that cleaning up is done 
    6958  properly, now we know that the module will be unloaded whatever we 
    7059  do. 
     60 
    7161* ALL chip drivers: add a readonly insmod option so we don't cause APM/ACPI 
    7262  to go insane. 
     63 
    7364* gl518sm: using iterate==2 causes a tread to be started. this thread remains 
    7465  even after setting iterate==1 and/or removing the gl518sm module 
    7566  <koenig@uranus.tat.physik.uni-tuebingen.de> 
     67 
    7668* LM78 detection: Tom Webster has proven that the reset bit in the  
    7769  id register can be one (strange!) 
     70 
    7871* maxilife.c: Introduce new insmod variables 
     72 
    7973* maxilife.c: Round REG_TO_VID correctly 
     74 
    8075* icspll.c: Rewrite. The current implementation simply can't work at all. 
    8176  It needs i2c-level access (too bad for SMBus-only adapters). 
    82 * w83781d: Some features are still unsupported for the W8378[23]. 
    83   Also, alarms seem to give strange results 
    84   sometimes, and there are some other minor problems, as indicated by 
    85   Jonathan Bradshaw <jonathan@NrgUp.Com> 
     77 
    8678* Support 10-bit addresses. At this moment, they are supported nowhere, except 
    8779  in Simon Vogl's i2c modules. 
    88 * Better general locking, or at least a once-over to check no race-conditions 
    89   remain. This is part of the SMP-safeness, and can better be done at once. 
     80 
    9081* adm9240: check whether the current voltage computations are correct. 
    9182  Probably not, as they are different from the datasheet specifications. 
    9283  Also check for the supported dallas chip. 
     84 
    9385* lm80: Check how OS alarms work. At page 17 of the sheet, it tells 
    9486  something completely different from the description at page 25. 
    95 * gl518sm: Assume that new values are close to old values, so start with 
    96   trying to use a small range near the old values (already partially done) 
     87 
    9788* Add MTP006F chip: http://www.myson.com/Pcd/MTP006/Mtp006.pdf 
    9889  gfiala@s.netic.de (Guido Fiala) has one on his mainboard 
     
    112103 
    113104* reload does not work (Bison/Flex problem?). 
     105 
    114106* Some library routines are pretty inefficient right now. 
     107 
    115108* Library should be split in more separate files, for better linking 
    116109  behaviour. 
     110 
    117111* Some adm9240 labels start with a digit; change this, it leads to confusing 
    118112  syntax in the conf file (they have to be quoted) 
    119  
    120  
    121 PROGRAMS 
    122 ======== 
    123  
    124 * Sensors program needs to print a + before lm75 temperatures 
    125  
    126  
    127 OTHERS 
    128 ====== 
    129  
    130 * Examine watchdog-4.3 or later of meskes@debian.org (Michael Meskes) 
    131   tsx-11.mit.edu /pub/linux/sources/sbin or  
    132   sunsite.unc.edu /pub/linux/system/daemons/watchdog 
    133