Difference between revisions of "Embedded Controller Chips"

From ThinkWiki
Jump to: navigation, search
(Add section on firmware bugs with three known firmware bugs, and see also)
(The ThinkPad Embedded Controller: Add Microchip MEC1633 EC.)
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__TOC__
 
 
{{Stub}}
 
{{Stub}}
  
== The ThinkPad Embedded Controller ==
+
= The ThinkPad Embedded Controller =
  
This page contains information about Embedded Controller chips found in ThinkPads.
+
This page contains information about Embedded Controller (also known as slave controller) chips found in ThinkPads.
  
*[[Renesas H8S/2161BV]]
+
*Renesas H8
:Apparently used on all ThinkPads since the A30, T23, R40, X20.
+
:*{{T20}}: H8/3437 ; 64F3437TF16 JAPAN (sticker label 08K3766 REV 11)
*Unknown chips without field-upgradeable firmware
 
:Used on older ThinkPads, including the model 570, and maybe even earlier models.
 
  
== Firmware issues ==
+
*Renesas H8S
 +
:Apparently H8S microcontrollers have been used on all ThinkPads since the A30, T23, R40, X20.
 +
:*{{T43}}, {{T43p}}, {{X41 Tablet}}, {{Z60t}}: [[Renesas H8S/2161BV]]
 +
:*{{A31}}, {{T23}}, {{X22}}: Renesas H8S/2169AV
 +
:*{{T60}}, {{T61p}}, {{T500}}, {{X60}}: [[Renesas H8S/2116V]]
 +
:*{{T510}}: R4F212 H8S ([http://forum.thinkpads.com/viewtopic.php?f=45&t=121726&p=785696#p785696 source])
  
Various bugs have been observed in the various ThinkPad EC firmwares.  Most of them were fixed in later revisions,
+
*Microchip MEC1633
but a few are either very dangerous and driver writers need to always work around them, or have never been fixed.
+
:The [[Microchip MEC1633]]-series Embedded Controllers can be found in newer ThinkPads, including the following:
One must keep in mind that many of the bugs fixed by IBM or Lenovo could cause serious problems, but might never be noticed by driver developers, because they usually keep their ThinkPads up-to-date.  People that don't keep their ThinkPad firmware up-to-date are excellent guinea pigs...
+
:*{{T440p}}
  
{{WARN|As a rule, if you are not using the latest available firmware for your ThinkPad, you are likely to be the unlucky chap that will find out some new code hits a firmware bug that was fixed by IBM or LenovoDo yourself a favour and always keep your ThinkPad's firmware up-to-date.}}
+
*Unknown chips with field-upgradeable firmware
 +
:Used on older ThinkPads, including the model 570, and maybe even earlier modelsIBM called them '''Slave Controllers'''.
 +
*Unknown chips with non-field-upgradeable firmware
 +
:Used on ancient ThinkPads.
  
=== Bug: Advanced battery query causes EC hang ===
+
= See also =
* Severity: '''critical'''
+
* [[Embedded Controller Firmware|Embedded controler firmware information and bugs]]
* Fix: available from IBM, but not for all affected models
 
* Information: [http://thread.gmane.org/gmane.linux.hardware.thinkpad/27484/ thread in linux-thinkpad ML]
 
 
 
* Models affected:
 
** {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}: all models affected, no fix available
 
** {{T43}} 26xx, {{T43p}}: fixed on firmware 1YHT28WW (1.05) and newer
 
** {{T43}} 18xx, {{R52}}: likely buggy, unknown status (might be fixed in latest firmwares)
 
** other ThinkPads featuring advanced battery queries: unknown status; every model supported by [[tp_smapi]] advanced battery information is a candidate for this bug
 
 
 
The EC LPC3B advanced battery query function 0x0B (only used by [[tp_smapi]]) has a hideous bug that
 
causes the EC to misbehave and crash (usually hanging the entire ThinkPad).  This function must never
 
be called on a buggy firmware.
 
 
 
=== Bug: Fan control loop status is not initialized ===
 
* Severity: low
 
* Fix: unknown status at this time
 
* Information: [http://forum.thinkpads.com/viewforum.php?f=27 thinkpads.com fan control programs forum], [http://thread.gmane.org/gmane.linux.hardware.thinkpad/28326/ linux-thinkpad ML thread]
 
 
 
* Models affected:
 
** {{T43}}, {{T43p}}, {{R52}}
 
** no information about other models, please report on linux-thinkpad ML, see link above
 
 
 
The EC does not correctly initializes its 0x2f (fan control) register, so [[ibm-acpi]] cannot determine the
 
correct status of the fan control until something writes to the fan control register for the first time.
 
 
 
=== Bug: Fan control loop pulses the fan in an annoying pattern ===
 
* Severity: low
 
* Fix: available from IBM, but incorrectly fixed on some models.  Unofficial fix available for firmware hackers
 
* Information: [http://forum.thinkpads.com/viewtopic.php?t=20958 thinkpads.com forum thread], [http://forum.thinkpads.com/viewtopic.php?t=1670 thinkpads.com forum thread]
 
 
 
* Models affected:
 
** {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}: fixed by firmware 1RHT70WW (3.03) and later
 
** {{T43}}, {{T43p}}, {{R52}}: IBM provided a '''broken''' firmware fix, so they are all affected
 
** other newer models: unknown status
 
 
 
The fan control loop will vary the fan speed quite a lot, in a very annoying pattern.  The broken fix on
 
the T43 firmware causes annoying pulses every 30s.
 
 
 
== See also ==
 
 
* [[BIOS Upgrade|BIOS and firmware upgrade information]]
 
* [[BIOS Upgrade|BIOS and firmware upgrade information]]
* [[tp_smapi|tp_smapi Linux driver]]
 
* [[ibm-acpi|ibm-acpi Linux ACPI driver]]
 
  
 
[[Category:Components]]
 
[[Category:Components]]

Latest revision as of 14:03, 5 May 2018

This page is a stub

You can help ThinkWiki by expanding it.

The ThinkPad Embedded Controller

This page contains information about Embedded Controller (also known as slave controller) chips found in ThinkPads.

  • Renesas H8
  • T20: H8/3437 ; 64F3437TF16 JAPAN (sticker label 08K3766 REV 11)
  • Renesas H8S
Apparently H8S microcontrollers have been used on all ThinkPads since the A30, T23, R40, X20.
  • Microchip MEC1633
The Microchip MEC1633-series Embedded Controllers can be found in newer ThinkPads, including the following:
  • Unknown chips with field-upgradeable firmware
Used on older ThinkPads, including the model 570, and maybe even earlier models. IBM called them Slave Controllers.
  • Unknown chips with non-field-upgradeable firmware
Used on ancient ThinkPads.

See also