root/lm-sensors/tags/V2-10-1/README.thinkpad

Revision 2733, 4.8 kB (checked in by khali, 4 years ago)

Update anti-thinkpad measures list.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1
2 ****  WARNING: IBM Thinkpad users should not install lm_sensors!  ****
3
4 The eeprom of some IBM Thinkpads has been corrupted after installing
5 lm_sensors.
6
7 In our releases through 2.6.4, sensors-detect (our userspace detection script)
8 corrupts the Atmel 24RF08 eeprom. We have verified this in testing.
9 After the eeprom is corrupted, the checksum verification in the BIOS
10 will fail and the Thinkpad will not boot.
11
12 The 24RF08 is an 8K eeprom appearing at addresses 0x54 - 0x57 with
13 an additional "access protection page" at address 0x5c.
14 This is an unusual eeprom that contains a RFID (Radio Frequency ID)
15 port for wireless access, and elaborate access protection mechanisms.
16 The 24RF08 gets confused (presumably due to a state machine flaw) by
17 the 'quick write 0' (*) probes our package uses for detection.
18 This behavior is in violation of the I2C specification. This corruption
19 mechanism has never been reported to us on any other eeprom,
20 Atmel or otherwise.
21
22 We made several changes in release 2.6.5 (released September 15, 2002)
23 to minimize the chance of corruption.
24 Later evolutions were made and the current state is:
25
26 1) The probing command (quick write 0) has been replaced by a different
27    command (read byte) for addresses where eeproms are known to live.
28    This should prevent corruption of 24RF08 eeproms in any system,
29    IBM or not. A similar change was made to i2cdetect as well, although
30    no corruption was ever reported using this tool.
31
32 2) The i2c-piix4 module (the bus driver that is used for Intel PIIX4-based
33    systems, including IBM Thinkpads) now accesses DMI information
34    in the BIOS to identify the system manufacturer. If the system
35    manufacturer is IBM, i2c-piix4 will print a message and exit.
36    As the 24RF08 is on the PIIX4 SMBus, this prevents access to
37    the 24RF08.
38
39 3) The sequence of probes in the eeprom module (when loaded with
40    checksum=1) has been changed so that 24RF08 eeproms will
41    not be corrupted. This *should* prevent corruption of 24RF08
42    eeproms in non-IBM systems.
43    We do not have any reports of this corruption mechanism in releases
44    2.6.4 or earlier but have verified that it can happen.
45    The ddcmon driver was changed in the same way, just in case.
46
47 Even with these changes, we still DO NOT RECOMMEND INSTALLING
48 lm_sensors 2.6.5 or later on IBM Thinkpads, because:
49
50 1) While these changes will dramatically reduce the chance of 24RF08
51    corruption, these changes have not been heavily tested.
52
53 2) lm_sensors won't run on most IBM systems because of these changes.
54
55 3) Most IBM Thinkpads contain a proprietary Embedded Controller which
56    is used to access sensors. This controller is not on the SMBus,
57    and IBM will not release the programming interface to the
58    controller. So lm_sensors isn't useful on these Thinkpads anyway.
59
60 You may want to try ACPI instead, it should let you get some information
61 about temperatures and fan status.
62
63 As described above, our 2.6.5 release "blacklisted" all IBM systems.
64 For a moment, we have been planning to refine the system detection
65 so that only those models containing 24RF08's are blacklisted. After that,
66 we planned to use a different approach: a "white list" of known-to-be-safe
67 systems. In both cases, it would require continuous updates of a machines
68 list. This would have been slow and inefficient.
69
70 The latest idea is to stop using the dangerous command for EEPROM
71 addresses. That way, risks of corruption are reduced to zero. This was
72 already done for user-space tools, as mentioned above. Once this will
73 have been tested and we are sure that there are no drawbacks, we'll
74 do the same on the kernel side in Linux 2.6. The change won't occur in
75 Linux 2.4 however, because it implies changes to both i2c modules and
76 lm_sensors modules. It is possible to use mismatching versions of
77 these modules, and when doing so, the fix would become more dangerous
78 than helpful.
79
80 We do not have any reports of 24RF08 eeproms on non-IBM systems.
81 If there are any such systems with 24RF08 eeproms, these changes will
82 reduce the chances of corruption. However, there are
83 theoretical scenarios (involving multiple bus masters,
84 SMP systems, or simultaneous bus access) in which 24RF08's could
85 still be corrupted. If you know of any non-IBM systems which contain
86 these eeproms, please contact us.
87
88
89 Thanks to IBM, the Linux Thinkpad Mailing List, and Joe in Australia
90 for their assistance on this issue.
91
92 For more information, see:
93
94 The Linux Thinkpad Mailing List
95 http://www.bm-soft.com/~bm/tp_mailing.html
96
97 Joe in Australia's Thinkpad Password Recovery Site
98 http://www.ja.axxs.net/unlock/
99
100 Atmel 24RF08 Datasheet
101 http://www.atmel.com/dyn/products/product_card.asp?part_id=2370
102
103 Site in the US that sells replacement AT24RF08 chips for all models
104 http://www.pwcrack.com/
105
106
107 (*) 'Write Quick 0' is not an actual write and should never generate
108      a write operation to an eeprom location.
Note: See TracBrowser for help on using the browser.