Changeset 1525

Show
Ignore:
Timestamp:
09/14/02 17:57:27 (11 years ago)
Author:
mds
Message:

major rewrite to reflect current understanding and status

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/README.thinkpad

    r1044 r1525  
    11 
    2 ****  WARNING: IBM Thinkpad users should not install I2C/Lm_sensors!  **** 
     2****  WARNING: IBM Thinkpad users should not install lm_sensors!  **** 
    33 
    4 There have been some reports that the eeprom and/or firmware of IBM 
    5 Thinkpads have been corrupted after installing I2C/Lm_sensors. It's not 
    6 clear why and what specific action (most likely scanning/probing for chips) 
    7 causes the Thinkpad to corrupt it's eeprom.  Unless you know otherwise, we 
    8 suggest that users avoid installing I2C/Lm_sensors support on IBM Thinkpads 
    9 until it becomes known what exactly is causing the corruption. 
     4The eeprom of some IBM Thinkpads have been corrupted after installing 
     5lm_sensors. 
    106 
    11 Though you may disagree about whose fault this is, fact is that seemingly 
    12 the Thinkpad can become corrupted even when only reading information from 
    13 the i2c/SMBus. Be assured that we never, ever write any information to 
    14 the bus while scanning(*), and that no halfway sane client implementation 
    15 should change its internal state, not to mention overwrite system-critical 
    16 information. 
     7In our releases through 2.6.4, sensors-detect (our userspace detection script) 
     8corrupts the Atmel 24RF08 eeprom. We have verified this in testing. 
     9After the eeprom is corrupted, the checksum verification in the BIOS 
     10will fail and the Thinkpad will not boot. 
     11 
     12The 24RF08 is an 8K eeprom appearing at addresses 0x54 - 0x57 with 
     13an additional "access protection page" at address 0x5c. 
     14This is an unusual eeprom that contains a RFID (Radio Frequency ID) 
     15port for wireless access, and elaborate access protection mechanisms. 
     16The 24RF08 gets confused (presumably due to a state machine flaw) by 
     17'quick write 0' (*) probes our package uses for detection. 
     18This is in violation of the I2C specification. This corruption 
     19mechanism has never been reported to us on any other eeprom, 
     20Atmel or otherwise. 
     21 
     22We have made several changes in release 2.6.5 to minimize the 
     23chance of corruption: 
     24 
     251) Sensors-detect now accesses DMI information in the BIOS to identify 
     26   the system manufacturer. If the system manufacturer is IBM, 
     27   sensors-detect will print a message and exit. 
     28 
     292) The sequence of probes in sensors-detect has been changed so that 
     30   24RF08 eeproms are not corrupted. This *should* prevent corruption 
     31   of 24RF08 eeproms in any non-IBM systems in most cases. 
     32 
     333) The i2c-piix4 module (the bus driver that is used for Intel PIIX4-based 
     34   systems, including IBM Thinkpads) now accesses DMI information 
     35   in the BIOS to identify the system manufacturer. If the system 
     36   manufacturer is IBM, i2c-piix4 will print a message and exit. 
     37   As the 24RF08 is on the PIIX4 SMBus, this prevents access to 
     38   the 24RF08, even if sensors-detect is bypassed or sensors-detect 
     39   does not recognize the system as IBM. 
     40 
     414) The sequence of probes in the eeprom module (when loaded with 
     42   checksum=1) has been changed so that 24RF08 eeproms will 
     43   not be corrupted. This *should* prevent corruption of 24RF08 
     44   eeproms in non-IBM systems. 
     45   We do not have any reports of this corruption mechanism in releases 
     46   2.6.4 or earlier but have verified that it can happen. 
     47   There is no issue unless the eeprom 
     48   module is loaded with checksum=1, which is not the default. 
     49 
     50Even with these changes, we still DO NOT RECOMMEND INSTALLING 
     51lm_sensors 2.6.5 on IBM Thinkpads, because: 
     52 
     531) While these changes will dramatically reduce the chance of 24RF08 
     54   corruption, these changes have not been heavily tested. 
     55 
     562) lm_sensors won't run on IBM systems because of these changes. 
     57 
     583) IBM Thinkpads contain a proprietary Embedded Controller which 
     59   is used to access sensors. This controller is not on the SMBus, 
     60   and IBM will not release the programming interface to the 
     61   controller. So lm_sensors isn't useful on Thinkpads anyway. 
     62 
     63 
     64As described above, our 2.6.5 release "blacklists" all IBM systems. 
     65Our next step is to refine the system detection so that only 
     66those models containing 24RF08's are blacklisted. We are working 
     67with IBM on a method of querying the MTM (Machine Type and Model) 
     68and comparing the MTM with a list of 24RF08-containing systems. 
     69After this change (which will be documented in our CHANGES file 
     70and this document), users of IBM systems without the 
     7124RF08 and the proprietary Embedded Controller should be 
     72able to safely use lm_sensors. 
     73 
     74We do not have any reports of 24RF08 eeproms on non-IBM systems. 
     75If there are any such systems with 24RF08 eeproms, these changes will 
     76reduce the chances of corruption. However, there are 
     77theoretical scenarios (involving multiple bus masters, 
     78SMP systems, or simultaneous bus access) in which 24RF08's could 
     79still be corrupted. If you know of any non-IBM systems which contain 
     80these eeproms, please contact us. 
     81 
     82 
     83Thanks to IBM, the Linux Thinkpad Mailing List, and Joe in Australia 
     84for their assistance on this issue. 
    1785 
    1886For more information, see: 
    1987 
    20 http://www.linux-thinkpad.org/ 
     88The Linux Thinkpad Mailing List 
     89http://www.bm-soft.com/~bm/tp_mailing.html 
    2190 
    22 (*) Actually, we do write some information to the bus, but only as specified 
    23     in the i2c/SMBus protocol to select a certain chip address and to 
    24     start/stop i2c transactions. 
     91Joe in Australia's Thinkpad Password Recovery Site 
     92http://www.ja.olm.net/unlock 
    2593 
     94Atmel 24RF08 Datasheet 
     95http://www.atmel.com/atmel/products/prod227.html 
     96 
     97 
     98(*) 'Write Quick 0' is not an actual write and should never generate 
     99     a write operation to an eeprom location.