Files
lm-sensors/README.thinkpad
T
2002-09-22 01:30:16 +00:00

100 lines
4.2 KiB
Plaintext

**** WARNING: IBM Thinkpad users should not install lm_sensors! ****
The eeprom of some IBM Thinkpads have 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
'quick write 0' (*) probes our package uses for detection.
This is in violation of the I2C specification. This corruption
mechanism has never been reported to us on any other eeprom,
Atmel or otherwise.
We have made several changes in release 2.6.5 to minimize the
chance of corruption:
1) Sensors-detect now accesses DMI information in the BIOS to identify
the system manufacturer. If the system manufacturer is IBM,
sensors-detect will print a message and exit.
2) The sequence of probes in sensors-detect has been changed so that
24RF08 eeproms are not corrupted. This *should* prevent corruption
of 24RF08 eeproms in any non-IBM systems in most cases.
3) 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, even if sensors-detect is bypassed or sensors-detect
does not recognize the system as IBM.
4) 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.
There is no issue unless the eeprom
module is loaded with checksum=1, which is not the default.
Even with these changes, we still DO NOT RECOMMEND INSTALLING
lm_sensors 2.6.5 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 IBM systems because of these changes.
3) 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 Thinkpads anyway.
As described above, our 2.6.5 release "blacklists" all IBM systems.
Our next step is to refine the system detection so that only
those models containing 24RF08's are blacklisted. We are working
with IBM on a method of querying the MTM (Machine Type and Model)
and comparing the MTM with a list of 24RF08-containing systems.
After this change (which will be documented in our CHANGES file
and this document), users of IBM systems without the
24RF08 and the proprietary Embedded Controller should be
able to safely use lm_sensors.
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.olm.net/unlock
Atmel 24RF08 Datasheet
http://www.atmel.com/atmel/products/prod227.htm
(*) 'Write Quick 0' is not an actual write and should never generate
a write operation to an eeprom location.