From 62705162404e55f5e21ca98fc709342cfa7eac5c Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Mon, 24 Sep 2007 09:25:07 +0000 Subject: [PATCH] lm-sensors should now be safe to use on Thinkpad laptops. git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-3.0.0@4865 7894878c-1315-0410-8ee3-d5d059ff63e0 --- README.thinkpad | 108 ---------------------------------------- doc/FAQ | 18 +++---- doc/lm_sensors-FAQ.html | 30 +++-------- doc/lm_sensors-FAQ.texi | 12 ++--- doc/version.texi | 4 +- 5 files changed, 18 insertions(+), 154 deletions(-) delete mode 100644 README.thinkpad diff --git a/README.thinkpad b/README.thinkpad deleted file mode 100644 index 7ef1b733..00000000 --- a/README.thinkpad +++ /dev/null @@ -1,108 +0,0 @@ - -**** WARNING: IBM Thinkpad users should not install lm_sensors! **** - -The eeprom of some IBM Thinkpads has been corrupted after installing -lm_sensors. - -In our releases through 2.6.4, sensors-detect (our userspace detection script) -corrupts the Atmel 24RF08 eeprom. We have verified this in testing. -After the eeprom is corrupted, the checksum verification in the BIOS -will fail and the Thinkpad will not boot. - -The 24RF08 is an 8K eeprom appearing at addresses 0x54 - 0x57 with -an additional "access protection page" at address 0x5c. -This is an unusual eeprom that contains a RFID (Radio Frequency ID) -port for wireless access, and elaborate access protection mechanisms. -The 24RF08 gets confused (presumably due to a state machine flaw) by -the 'quick write 0' (*) probes our package uses for detection. -This behavior is in violation of the I2C specification. This corruption -mechanism has never been reported to us on any other eeprom, -Atmel or otherwise. - -We made several changes in release 2.6.5 (released September 15, 2002) -to minimize the chance of corruption. -Later evolutions were made and the current state is: - -1) The probing command (quick write 0) has been replaced by a different - command (read byte) for addresses where eeproms are known to live. - This should prevent corruption of 24RF08 eeproms in any system, - IBM or not. A similar change was made to i2cdetect as well, although - no corruption was ever reported using this tool. - -2) The i2c-piix4 module (the bus driver that is used for Intel PIIX4-based - systems, including IBM Thinkpads) now accesses DMI information - in the BIOS to identify the system manufacturer. If the system - manufacturer is IBM, i2c-piix4 will print a message and exit. - As the 24RF08 is on the PIIX4 SMBus, this prevents access to - the 24RF08. - -3) The sequence of probes in the eeprom module (when loaded with - checksum=1) has been changed so that 24RF08 eeproms will - not be corrupted. This *should* prevent corruption of 24RF08 - eeproms in non-IBM systems. - We do not have any reports of this corruption mechanism in releases - 2.6.4 or earlier but have verified that it can happen. - The ddcmon driver was changed in the same way, just in case. - -Even with these changes, we still DO NOT RECOMMEND INSTALLING -lm_sensors 2.6.5 or later on IBM Thinkpads, because: - -1) While these changes will dramatically reduce the chance of 24RF08 - corruption, these changes have not been heavily tested. - -2) lm_sensors won't run on most IBM systems because of these changes. - -3) Most IBM Thinkpads contain a proprietary Embedded Controller which - is used to access sensors. This controller is not on the SMBus, - and IBM will not release the programming interface to the - controller. So lm_sensors isn't useful on these Thinkpads anyway. - -You may want to try ACPI instead, it should let you get some information -about temperatures and fan status. - -As described above, our 2.6.5 release "blacklisted" all IBM systems. -For a moment, we have been planning to refine the system detection -so that only those models containing 24RF08's are blacklisted. After that, -we planned to use a different approach: a "white list" of known-to-be-safe -systems. In both cases, it would require continuous updates of a machines -list. This would have been slow and inefficient. - -The latest idea is to stop using the dangerous command for EEPROM -addresses. That way, risks of corruption are reduced to zero. This was -already done for user-space tools, as mentioned above. Once this will -have been tested and we are sure that there are no drawbacks, we'll -do the same on the kernel side in Linux 2.6. The change won't occur in -Linux 2.4 however, because it implies changes to both i2c modules and -lm_sensors modules. It is possible to use mismatching versions of -these modules, and when doing so, the fix would become more dangerous -than helpful. - -We do not have any reports of 24RF08 eeproms on non-IBM systems. -If there are any such systems with 24RF08 eeproms, these changes will -reduce the chances of corruption. However, there are -theoretical scenarios (involving multiple bus masters, -SMP systems, or simultaneous bus access) in which 24RF08's could -still be corrupted. If you know of any non-IBM systems which contain -these eeproms, please contact us. - - -Thanks to IBM, the Linux Thinkpad Mailing List, and Joe in Australia -for their assistance on this issue. - -For more information, see: - -The Linux Thinkpad Mailing List -http://www.bm-soft.com/~bm/tp_mailing.html - -Joe in Australia's Thinkpad Password Recovery Site -http://www.ja.axxs.net/unlock/ - -Atmel 24RF08 Datasheet -http://www.atmel.com/dyn/products/product_card.asp?part_id=2370 - -Site in the US that sells replacement AT24RF08 chips for all models -http://www.pwcrack.com/ - - -(*) 'Write Quick 0' is not an actual write and should never generate - a write operation to an eeprom location. diff --git a/doc/FAQ b/doc/FAQ index 18be897b..1b98231d 100644 --- a/doc/FAQ +++ b/doc/FAQ @@ -104,10 +104,9 @@ lm_sensors 4.31.2 Tyan 2460, 2462 4.31.3 Tyan 2466 4.31.4 Tyan 2688 - 4.32 Problems on particular systems - 4.33 Problems on 2.6 kernels - 4.33.1 i2c-viapro and via686a - 4.33.2 Where are my EEPROMs? + 4.32 Problems on 2.6 kernels + 4.32.1 i2c-viapro and via686a + 4.32.2 Where are my EEPROMs? 5 How to Ask for Help 5.1 What to send us when asking for help 5.2 What to do if a module won't insert? @@ -1201,12 +1200,7 @@ See support tickets 941, 840, and 841 for information. For board hangs, see support ticket 721 for information. Also *Note Inserting modules hangs my board: Section 4.29. -4.32 Problems on particular systems -=================================== - -For IBM systems, see `README.thinkpad'. - -4.33 Problems on 2.6 kernels +4.32 Problems on 2.6 kernels ============================ Not all drivers have been ported to 2.6. If your favorite driver is not @@ -1215,7 +1209,7 @@ not get a proper review yet. If you would like to port the driver, see the file Documentation/i2c/porting-clients in the 2.6 kernel tree for help, then send us the ported driver when you are done. -4.33.1 i2c-viapro and via686a +4.32.1 i2c-viapro and via686a ----------------------------- Until kernel 2.6.11, there was a PCI resource conflict between @@ -1224,7 +1218,7 @@ integrated sensors driver for VIA bridges). This caused the second loaded driver to silently fail working. So do not load both i2c-viapro and via686a together unless you have a recent kernel. -4.33.2 Where are my EEPROMs? +4.32.2 Where are my EEPROMs? ---------------------------- The 2.6.14-rc1 kernel introduced the hwmon class, which groups all diff --git a/doc/lm_sensors-FAQ.html b/doc/lm_sensors-FAQ.html index fc77a032..3ce911ad 100644 --- a/doc/lm_sensors-FAQ.html +++ b/doc/lm_sensors-FAQ.html @@ -164,11 +164,10 @@ Jean Delvare
  • 4.31.3 Tyan 2466
  • 4.31.4 Tyan 2688
  • -
  • 4.32 Problems on particular systems -
  • 4.33 Problems on 2.6 kernels +
  • 4.32 Problems on 2.6 kernels
  • 5 How to Ask for Help @@ -903,8 +902,7 @@ Up: Top
  • Section 4.29: Inserting modules hangs my board
  • Section 4.30: Inserting modules slows down my board
  • Section 4.31: Problems on particular motherboards -
  • Section 4.32: Problems on particular systems -
  • Section 4.33: Problems on 2.6 kernels +
  • Section 4.32: Problems on 2.6 kernels
    @@ -1817,26 +1815,12 @@ Also Inserting modules hangs my board.


    -Next: , Previous: Section 4.31, Up: Problems
    -

    4.32 Problems on particular systems

    - -

    For IBM systems, see README.thinkpad. - -

    -


    - - -Previous: Section 4.32, -Up: Problems - -
    - -

    4.33 Problems on 2.6 kernels

    +

    4.32 Problems on 2.6 kernels

    Not all drivers have been ported to 2.6. If your favorite driver is not in 2.6, the reason is that nobody has ported it, or the ported code did @@ -1845,7 +1829,7 @@ If you would like to port the driver, see the file Documentation/i2c/porting-clients in the 2.6 kernel tree for help, then send us the ported driver when you are done. -

    4.33.1 i2c-viapro and via686a

    +

    4.32.1 i2c-viapro and via686a

    Until kernel 2.6.11, there was a PCI resource conflict between i2c-viapro (the SMBus driver for VIA bridges) and via686a (the integrated @@ -1853,7 +1837,7 @@ sensors driver for VIA bridges). This caused the second loaded driver to silently fail working. So do not load both i2c-viapro and via686a together unless you have a recent kernel. -

    4.33.2 Where are my EEPROMs?

    +

    4.32.2 Where are my EEPROMs?

    The 2.6.14-rc1 kernel introduced the hwmon class, which groups all hardware monitoring drivers in a logical way. The goal was to help diff --git a/doc/lm_sensors-FAQ.texi b/doc/lm_sensors-FAQ.texi index 2a9b79ea..e9894f66 100644 --- a/doc/lm_sensors-FAQ.texi +++ b/doc/lm_sensors-FAQ.texi @@ -567,8 +567,7 @@ to work. * Section 4.29:: Inserting modules hangs my board * Section 4.30:: Inserting modules slows down my board * Section 4.31:: Problems on particular motherboards -* Section 4.32:: Problems on particular systems -* Section 4.33:: Problems on 2.6 kernels +* Section 4.32:: Problems on 2.6 kernels @end menu @@ -1240,13 +1239,7 @@ For board hangs, see support ticket 721 for information. Also @ref{Section 4.29, Inserting modules hangs my board}. -@node Section 4.32, Section 4.33, Section 4.31, Problems -@section Problems on particular systems - -For IBM systems, see @file{README.thinkpad}. - - -@node Section 4.33, , Section 4.32, Problems +@node Section 4.32, , Section 4.31, Problems @section Problems on 2.6 kernels Not all drivers have been ported to 2.6. If your favorite driver is not @@ -1586,6 +1579,7 @@ will email you announcement. @appendix Revision History of This Document @itemize +@item Rev 2.19 (JD) Removed 4.32 (Thinkpad-specific issues), 2007-09-24 @item Rev 2.18 (JD) Removed version 1 specifics part, 2005-12-17 @item Rev 2.17 (JD) Added 5.9 (why we don't support undocumented chips), removed 6.9 (doesn't apply to the new mailing list), 2005-10-05 diff --git a/doc/version.texi b/doc/version.texi index f9ae6f78..40ed7bee 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,2 +1,2 @@ -@set UPDATED 17 December 2005 -@set VERSION 2.18 +@set UPDATED 24 September 2007 +@set VERSION 2.19