<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thinker</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thinker"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Thinker"/>
	<updated>2026-05-03T16:09:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X250&amp;diff=56317</id>
		<title>Category:X250</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X250&amp;diff=56317"/>
		<updated>2015-05-02T10:55:33Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Fixed title, clarify RAM limits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X250 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X250.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* Touch: 305.5mm x 208.5mm x 21.5mm (12.0&amp;quot; x 8.21&amp;quot; x 0.85&amp;quot;)&lt;br /&gt;
* Non-touch: 305.5mm x 208.5mm x 20.3mm (2.0&amp;quot; x 8.21&amp;quot; x 0.80&amp;quot;)&lt;br /&gt;
* Weight: 1.42kg (internal battery + 3-cell external battery, non-touch) to 1.65kg (internal battery + 6-cell external battery, touch)&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* CPU: One of the following ultra-low-voltage [[Broadwell-U]] processors:&lt;br /&gt;
** Intel Core i3-5010U, 2,10 GHz, 3MB Cache&lt;br /&gt;
** Intel Core i5-5200U, 2,2 - 2,7 GHz, 3MB Cache&lt;br /&gt;
** Intel Core i5-5300U, 2,3 - 2,9 GHz, 3MB Cache, Intel vPro&lt;br /&gt;
** Intel Core i7-5600U, 2,6 - 3,2 GHz, 4MB Cache, Intel vPro&lt;br /&gt;
&lt;br /&gt;
* RAM: DDR3L PC3-12800 SO-DIMM SDRAM, single socket. Officially supports 8GB (but 16GB modules reported working by multiple users)&lt;br /&gt;
&lt;br /&gt;
* GPU: [[Intel HD5500 Graphics]] integrated into CPU&lt;br /&gt;
&lt;br /&gt;
** Maximum supported resolution on external monitor:&lt;br /&gt;
** 3840x2160 (&amp;quot;4K&amp;quot;) 60Hz via Mini DisplayPort&lt;br /&gt;
** 1920x1200 (&amp;quot;WUXGA&amp;quot;) 60Hz via VGA&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; 1366x768 (&amp;quot;HD&amp;quot;), LED-Backlight, 200 cd/m², 300:1&lt;br /&gt;
** 12.5&amp;quot; 1366x768 (&amp;quot;HD&amp;quot;), LED-Backlight, 300 cd/m², 700:1, IPS&lt;br /&gt;
** 12.5&amp;quot; 1366x768 (&amp;quot;HD&amp;quot;), LED-Backlight, 270 cd/m², IPS, Multitouch&lt;br /&gt;
** 12.5&amp;quot; 1920x1080 (&amp;quot;Full HD&amp;quot;), LED-Backlight, 400 cd/m², 700:1, IPS&lt;br /&gt;
** 12.5&amp;quot; 1920x1080 (&amp;quot;Full HD&amp;quot;), LED-Backlight, 360 cd/m², IPS, Multitouch&lt;br /&gt;
&lt;br /&gt;
* Hard disk: 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** SSD, SATA 6.0Gb/s, 2.5&amp;quot; wide, 7mm high&lt;br /&gt;
** HDD, SATA 6.0Gb/s, 2.5&amp;quot; wide, 7mm or 9.5mm high (9.5mm is in official spec but not yet confirmed by users)&lt;br /&gt;
** SSHD with 8GB NAND flash memory&lt;br /&gt;
&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** M.2 SSD&lt;br /&gt;
** Wireless WWAN, Ericsson N5321, HSPA+ 21Mbps/GSM/GPRS/EDGE, GPS&lt;br /&gt;
** Wireless WWAN, Sierra Wireless EM7345, &lt;br /&gt;
** Intel 4G LTE/HSPA/GSM/GPRS/EDGE, GPS&lt;br /&gt;
&lt;br /&gt;
* Cellular WWAN&lt;br /&gt;
** via optional M.2 card (see above)&lt;br /&gt;
** Externally-accessible SIM tray. Stock tray accepts micro-SIM. The socket is also compatible with the mini-SIM (regular size) holder from the X240.&lt;br /&gt;
&lt;br /&gt;
* WLAN (WiFi and BlueTooth):: one of the following, via M.2 slot:&lt;br /&gt;
** 802.11b/g/n, ThinkPad 11 b/g/n, 2x2, Wi-Fi + Bluetooth&lt;br /&gt;
** 802.11b/g/n, Intel Wireless-N 7265, 2x2, Wi-Fi + Bluetooth&lt;br /&gt;
** 802.11a/b/g/n, Intel Dual Band Wireless-N 7265, 2x2, Wi-Fi + BlueTooth&lt;br /&gt;
** 802.11ac, Intel Dual Band Wireless-AC 7265, 2x2, Wi-Fi + BlueTooth&lt;br /&gt;
&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
&lt;br /&gt;
* Ethernet: Intel I218-LM&lt;br /&gt;
&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* Kensington lock&lt;br /&gt;
&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
&lt;br /&gt;
* VGA connector&lt;br /&gt;
&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX250.jpg|ThinkPad X250|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Pointing devices&lt;br /&gt;
** TrackPoint (with 3 physical buttons)&lt;br /&gt;
** UltraNav touch pad&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which officially supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM).&lt;br /&gt;
&lt;br /&gt;
In practice, some 16GB DRAM modules work in this machine. In particular, the 16GB DDR3L 1333MHz SODIMM DRAM module from Intelligent Memory, model IMM2G64D3LSOD8AG-B15E, is reported to work well by multiple users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x250/#tab-tech_specs Specifications]&lt;br /&gt;
* [https://download.lenovo.com/pccbbs/mobiles_pdf/x250_hmm_en_sp40f30022.pdf Hardware Maintenance Manual]&lt;br /&gt;
* [https://www.lenovo.com/psref/pdf/tabook.pdf TABOOK detailed model specifications]&lt;br /&gt;
* [https://support.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x250 Support: downloads, manuals and parts]&lt;br /&gt;
&lt;br /&gt;
==== Resources (other) ====&lt;br /&gt;
&lt;br /&gt;
* [http://thinkwiki.de/X250 ThinkWiki.de article (German)]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=56316</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=56316"/>
		<updated>2015-05-02T10:45:16Z</updated>

		<summary type="html">&lt;p&gt;Thinker: No 16GB in X240&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM).&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following [[Haswell]] processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD (SATA 42mm M.2 NGFF, type 2242)&lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM).&lt;br /&gt;
&lt;br /&gt;
The CPU does not support more than 8GB of RAM per SODIMM module. In particular, Linux and Windows fails to boot, and MemTest86+ crashes, when using a 16GB SO-DIMM module, model IMM2G64D3LSOD8AG-B15E from Intelligent Memory (which does work in a ThinkPad X250).&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, {{key|End}} and {{key|Insert}} share the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file {{path|/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, End works without Fn).&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
{{cmdroot|udevadm hwdb --update}}&lt;br /&gt;
&lt;br /&gt;
(The &amp;lt;tt&amp;gt;keyboard:...&amp;lt;/tt&amp;gt; line matches {{path|/sys/devices/virtual/dmi/id/modalias}}, and the hex scancodes are found using {{cmdroot|evtest  /dev/input/by-path/platform-i8042-serio-0-event-kbd}} . )&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications (pdf)]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/#techspecs Specifications (web)]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X250&amp;diff=56315</id>
		<title>Category:X250</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X250&amp;diff=56315"/>
		<updated>2015-05-02T10:09:05Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Clarify wireless&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X245 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X250.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* Touch: 305.5mm x 208.5mm x 21.5mm (12.0&amp;quot; x 8.21&amp;quot; x 0.85&amp;quot;)&lt;br /&gt;
* Non-touch: 305.5mm x 208.5mm x 20.3mm (2.0&amp;quot; x 8.21&amp;quot; x 0.80&amp;quot;)&lt;br /&gt;
* Weight: 1.42kg (internal battery + 3-cell external battery, non-touch) to 1.65kg (internal battery + 6-cell external battery, touch)&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* CPU: One of the following ultra-low-voltage [[Broadwell-U]] processors:&lt;br /&gt;
** Intel Core i3-5010U, 2,10 GHz, 3MB Cache&lt;br /&gt;
** Intel Core i5-5200U, 2,2 - 2,7 GHz, 3MB Cache&lt;br /&gt;
** Intel Core i5-5300U, 2,3 - 2,9 GHz, 3MB Cache, Intel vPro&lt;br /&gt;
** Intel Core i7-5600U, 2,6 - 3,2 GHz, 4MB Cache, Intel vPro&lt;br /&gt;
&lt;br /&gt;
* RAM: DDR3L PC3-12800 SO-DIMM SDRAM, single socket. Officially supports 8GB, but 16GB modules reported working by multiple users.&lt;br /&gt;
&lt;br /&gt;
* GPU: [[Intel HD5500 Graphics]] integrated into CPU&lt;br /&gt;
&lt;br /&gt;
** Maximum supported resolution on external monitor:&lt;br /&gt;
** 3840x2160 (&amp;quot;4K&amp;quot;) 60Hz via Mini DisplayPort&lt;br /&gt;
** 1920x1200 (&amp;quot;WUXGA&amp;quot;) 60Hz via VGA&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; 1366x768 (&amp;quot;HD&amp;quot;), LED-Backlight, 200 cd/m², 300:1&lt;br /&gt;
** 12.5&amp;quot; 1366x768 (&amp;quot;HD&amp;quot;), LED-Backlight, 300 cd/m², 700:1, IPS&lt;br /&gt;
** 12.5&amp;quot; 1366x768 (&amp;quot;HD&amp;quot;), LED-Backlight, 270 cd/m², IPS, Multitouch&lt;br /&gt;
** 12.5&amp;quot; 1920x1080 (&amp;quot;Full HD&amp;quot;), LED-Backlight, 400 cd/m², 700:1, IPS&lt;br /&gt;
** 12.5&amp;quot; 1920x1080 (&amp;quot;Full HD&amp;quot;), LED-Backlight, 360 cd/m², IPS, Multitouch&lt;br /&gt;
&lt;br /&gt;
* Hard disk: 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** SSD, SATA 6.0Gb/s, 2.5&amp;quot; wide, 7mm high&lt;br /&gt;
** HDD, SATA 6.0Gb/s, 2.5&amp;quot; wide, 7mm or 9.5mm high (9.5mm is in official spec but not yet confirmed by users)&lt;br /&gt;
** SSHD with 8GB NAND flash memory&lt;br /&gt;
&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** M.2 SSD&lt;br /&gt;
** Wireless WWAN, Ericsson N5321, HSPA+ 21Mbps/GSM/GPRS/EDGE, GPS&lt;br /&gt;
** Wireless WWAN, Sierra Wireless EM7345, &lt;br /&gt;
** Intel 4G LTE/HSPA/GSM/GPRS/EDGE, GPS&lt;br /&gt;
&lt;br /&gt;
* Cellular WWAN&lt;br /&gt;
** via optional M.2 card (see above)&lt;br /&gt;
** Externally-accessible SIM tray. Stock tray accepts micro-SIM. The socket is also compatible with the mini-SIM (regular size) holder from the X240.&lt;br /&gt;
&lt;br /&gt;
* WLAN (WiFi and BlueTooth):: one of the following, via M.2 slot:&lt;br /&gt;
** 802.11b/g/n, ThinkPad 11 b/g/n, 2x2, Wi-Fi + Bluetooth&lt;br /&gt;
** 802.11b/g/n, Intel Wireless-N 7265, 2x2, Wi-Fi + Bluetooth&lt;br /&gt;
** 802.11a/b/g/n, Intel Dual Band Wireless-N 7265, 2x2, Wi-Fi + BlueTooth&lt;br /&gt;
** 802.11ac, Intel Dual Band Wireless-AC 7265, 2x2, Wi-Fi + BlueTooth&lt;br /&gt;
&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
&lt;br /&gt;
* Ethernet: Intel I218-LM&lt;br /&gt;
&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* Kensington lock&lt;br /&gt;
&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
&lt;br /&gt;
* VGA connector&lt;br /&gt;
&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX250.jpg|ThinkPad X250|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Pointing devices&lt;br /&gt;
** TrackPoint (with 3 physical buttons)&lt;br /&gt;
** UltraNav touch pad&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x250/#tab-tech_specs Specifications]&lt;br /&gt;
* [https://download.lenovo.com/pccbbs/mobiles_pdf/x250_hmm_en_sp40f30022.pdf Hardware Maintenance Manual]&lt;br /&gt;
* [https://www.lenovo.com/psref/pdf/tabook.pdf TABOOK detailed model specifications]&lt;br /&gt;
* [https://support.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x250 Support: downloads, manuals and parts]&lt;br /&gt;
&lt;br /&gt;
==== Resources (other) ====&lt;br /&gt;
&lt;br /&gt;
* [http://thinkwiki.de/X250 ThinkWiki.de article (German)]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X250&amp;diff=56314</id>
		<title>Category:X250</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X250&amp;diff=56314"/>
		<updated>2015-05-02T10:05:31Z</updated>

		<summary type="html">&lt;p&gt;Thinker: New page for ThinkPad X250&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X245 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X250.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* Touch: 305.5mm x 208.5mm x 21.5mm (12.0&amp;quot; x 8.21&amp;quot; x 0.85&amp;quot;)&lt;br /&gt;
* Non-touch: 305.5mm x 208.5mm x 20.3mm (2.0&amp;quot; x 8.21&amp;quot; x 0.80&amp;quot;)&lt;br /&gt;
* Weight: 1.42kg (internal battery + 3-cell external battery, non-touch) to 1.65kg (internal battery + 6-cell external battery, touch)&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* CPU: One of the following ultra-low-voltage [[Broadwell-U]] processors:&lt;br /&gt;
** Intel Core i3-5010U, 2,10 GHz, 3MB Cache&lt;br /&gt;
** Intel Core i5-5200U, 2,2 - 2,7 GHz, 3MB Cache&lt;br /&gt;
** Intel Core i5-5300U, 2,3 - 2,9 GHz, 3MB Cache, Intel vPro&lt;br /&gt;
** Intel Core i7-5600U, 2,6 - 3,2 GHz, 4MB Cache, Intel vPro&lt;br /&gt;
&lt;br /&gt;
* RAM: DDR3L PC3-12800 SO-DIMM SDRAM, single socket. Officially supports 8GB, but 16GB modules reported working by multiple users.&lt;br /&gt;
&lt;br /&gt;
* GPU: [[Intel HD5500 Graphics]] integrated into CPU&lt;br /&gt;
&lt;br /&gt;
** Maximum supported resolution on external monitor:&lt;br /&gt;
** 3840x2160 (&amp;quot;4K&amp;quot;) 60Hz via Mini DisplayPort&lt;br /&gt;
** 1920x1200 (&amp;quot;WUXGA&amp;quot;) 60Hz via VGA&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; 1366x768 (&amp;quot;HD&amp;quot;), LED-Backlight, 200 cd/m², 300:1&lt;br /&gt;
** 12.5&amp;quot; 1366x768 (&amp;quot;HD&amp;quot;), LED-Backlight, 300 cd/m², 700:1, IPS&lt;br /&gt;
** 12.5&amp;quot; 1366x768 (&amp;quot;HD&amp;quot;), LED-Backlight, 270 cd/m², IPS, Multitouch&lt;br /&gt;
** 12.5&amp;quot; 1920x1080 (&amp;quot;Full HD&amp;quot;), LED-Backlight, 400 cd/m², 700:1, IPS&lt;br /&gt;
** 12.5&amp;quot; 1920x1080 (&amp;quot;Full HD&amp;quot;), LED-Backlight, 360 cd/m², IPS, Multitouch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Hard disk: 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** SSD, SATA 6.0Gb/s, 2.5&amp;quot; wide, 7mm high&lt;br /&gt;
** HDD, SATA 6.0Gb/s, 2.5&amp;quot; wide, 7mm or 9.5mm high (9.5mm is in official spec but not yet confirmed by users)&lt;br /&gt;
** SSHD with 8GB NAND flash memory&lt;br /&gt;
&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** M.2 SSD&lt;br /&gt;
** Wireless WAN, Ericsson N5321, HSPA+ 21Mbps/GSM/GPRS/EDGE, GPS&lt;br /&gt;
** Wireless WAN, Sierra Wireless EM7345, &lt;br /&gt;
** Intel 4G LTE/HSPA/GSM/GPRS/EDGE, GPS&lt;br /&gt;
&lt;br /&gt;
* Cellular WAN &lt;br /&gt;
** via optional M.2 card (see above)&lt;br /&gt;
** Externally-accessible SIM tray. Stock tray accepts micro-SIM. The socket is also compatible with the mini-SIM (regular size) holder from the X240.&lt;br /&gt;
&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
&lt;br /&gt;
* Ethernet: Intel I218-LM&lt;br /&gt;
&lt;br /&gt;
* Wireless WWAN: one of the following, via M.2 slot:&lt;br /&gt;
** 802.11b/g/n, ThinkPad 11 b/g/n, 2x2, Wi-Fi + Bluetooth&lt;br /&gt;
** 802.11b/g/n, Intel Wireless-N 7265, 2x2, Wi-Fi + Bluetooth&lt;br /&gt;
** 802.11a/b/g/n, Intel Dual Band Wireless-N 7265, 2x2, Wi-Fi + BlueTooth&lt;br /&gt;
** 802.11ac, Intel Dual Band Wireless-AC 7265, 2x2, Wi-Fi + BlueTooth&lt;br /&gt;
&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* Kensington lock&lt;br /&gt;
&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
&lt;br /&gt;
* VGA connector&lt;br /&gt;
&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX250.jpg|ThinkPad X250|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Pointing devices&lt;br /&gt;
** TrackPoint (with 3 physical buttons)&lt;br /&gt;
** UltraNav touch pad&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x250/#tab-tech_specs Specifications]&lt;br /&gt;
* [https://download.lenovo.com/pccbbs/mobiles_pdf/x250_hmm_en_sp40f30022.pdf Hardware Maintenance Manual]&lt;br /&gt;
* [https://www.lenovo.com/psref/pdf/tabook.pdf TABOOK detailed model specifications]&lt;br /&gt;
* [https://support.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x250 Support: downloads, manuals and parts]&lt;br /&gt;
&lt;br /&gt;
==== Resources (other) ====&lt;br /&gt;
&lt;br /&gt;
* [http://thinkwiki.de/X250 ThinkWiki.de article (German)]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:ThinkPadX250.jpg&amp;diff=56313</id>
		<title>File:ThinkPadX250.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:ThinkPadX250.jpg&amp;diff=56313"/>
		<updated>2015-05-02T10:04:45Z</updated>

		<summary type="html">&lt;p&gt;Thinker: ThinkPad X250
Source: http://news.lenovo.com/photo_display.cfm?photo_id=5565&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ThinkPad X250&lt;br /&gt;
Source: http://news.lenovo.com/photo_display.cfm?photo_id=5565&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=56058</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=56058"/>
		<updated>2014-11-15T02:51:03Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* ThinkPad X240 */  no longer unofficial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM).&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following [[Haswell]] processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD (SATA 42mm M.2 NGFF, type 2242)&lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, {{key|End}} and {{key|Insert}} share the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file {{path|/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, End works without Fn).&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
{{cmdroot|udevadm hwdb --update}}&lt;br /&gt;
&lt;br /&gt;
(The &amp;lt;tt&amp;gt;keyboard:...&amp;lt;/tt&amp;gt; line matches {{path|/sys/devices/virtual/dmi/id/modalias}}, and the hex scancodes are found using {{cmdroot|evtest  /dev/input/by-path/platform-i8042-serio-0-event-kbd}} . )&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications (pdf)]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/#techspecs Specifications (web)]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55984</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55984"/>
		<updated>2014-09-29T18:35:08Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Features */ M.2 SSD type&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following [[Haswell]] processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD (SATA 42mm M.2 NGFF, type 2242)&lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, {{key|End}} and {{key|Insert}} share the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file {{path|/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, End works without Fn).&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
{{cmdroot|udevadm hwdb --update}}&lt;br /&gt;
&lt;br /&gt;
(The &amp;lt;tt&amp;gt;keyboard:...&amp;lt;/tt&amp;gt; line matches {{path|/sys/devices/virtual/dmi/id/modalias}}, and the hex scancodes are found using {{cmdroot|evtest  /dev/input/by-path/platform-i8042-serio-0-event-kbd}} . )&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications (pdf)]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/#techspecs Specifications (web)]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55983</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55983"/>
		<updated>2014-09-27T11:18:20Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Undo revision 55976 by Maatunix (talk) --- Core i7-4600U is 2 cores (with 2 threads each)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following [[Haswell]] processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, {{key|End}} and {{key|Insert}} share the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file {{path|/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, End works without Fn).&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
{{cmdroot|udevadm hwdb --update}}&lt;br /&gt;
&lt;br /&gt;
(The &amp;lt;tt&amp;gt;keyboard:...&amp;lt;/tt&amp;gt; line matches {{path|/sys/devices/virtual/dmi/id/modalias}}, and the hex scancodes are found using {{cmdroot|evtest  /dev/input/by-path/platform-i8042-serio-0-event-kbd}} . )&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications (pdf)]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/#techspecs Specifications (web)]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55445</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55445"/>
		<updated>2014-04-10T00:08:47Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Key mapping */ clarity+typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, {{key|End}} and {{key|Insert}} share the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file {{path|/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, End works without Fn).&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
{{cmdroot|udevadm hwdb --update}}&lt;br /&gt;
&lt;br /&gt;
(The &amp;lt;tt&amp;gt;keyboard:...&amp;lt;/tt&amp;gt; line matches {{path|/sys/devices/virtual/dmi/id/modalias}}, and the hex scancodes are found using {{cmdroot|evtest  /dev/input/by-path/platform-i8042-serio-0-event-kbd}} . )&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55443</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55443"/>
		<updated>2014-04-09T19:42:10Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Key mapping */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|Fn}} keys share keys with special functions (volume, brightness, etc.). By default the keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role, use Fn-Lock (by pressing {{key|Fn}} and {{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, the {{key|End}} and {{key|Insert}} use the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file {{path|/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, End works without Fn.&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
{{cmdroot|udevadm hwdb --update}}&lt;br /&gt;
&lt;br /&gt;
(The &amp;lt;tt&amp;gt;keyboard:...&amp;lt;/tt&amp;gt; line matches {{path|/sys/devices/virtual/dmi/id/modalias}}, and the hex scancodes are found using {{cmdroot|evtest  /dev/input/by-path/platform-i8042-serio-0-event-kbd}} . )&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55442</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55442"/>
		<updated>2014-04-09T19:30:50Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Key mapping */ removed excessive macros&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|Fn}} keys share keys with special functions (volume, brightness, etc.). By default the keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role, use Fn-Lock (by pressing {{key|Fn}} and {{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, the {{key|End}} and {{key|Insert}} use the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file &amp;lt;tt&amp;gt;/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb&amp;lt;/tt&amp;gt;, and then run &amp;lt;tt&amp;gt;sudo udevadm hwdb --update&amp;lt;/tt&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, End works without Fn.&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55441</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55441"/>
		<updated>2014-04-09T19:29:36Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Key mapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|Fn}} keys share keys with special functions (volume, brightness, etc.). By default the keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role, use Fn-Lock (by pressing {{key|Fn}} and {{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, the {{key|End}} and {{key|Insert}} use the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file &amp;lt;tt&amp;gt;/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb&amp;lt;/tt&amp;gt;, and then run &amp;lt;tt&amp;gt;sudo udevadm hwdb --update&amp;lt;/tt&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, {{key|End}} works without {{key|Fn}})&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55440</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55440"/>
		<updated>2014-04-09T12:13:12Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Features */  typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55439</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55439"/>
		<updated>2014-04-09T12:12:00Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Features */  - WWAN&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 50000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55419</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55419"/>
		<updated>2014-04-07T10:58:11Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Disassembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; (Ericsson N5321)&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55405</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55405"/>
		<updated>2014-03-25T10:56:24Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Disassembly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; (Ericsson N5321)&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic)).&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55404</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55404"/>
		<updated>2014-03-25T10:45:39Z</updated>

		<summary type="html">&lt;p&gt;Thinker: RAM upgradability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; (Ericsson N5321)&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per module.&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55403</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55403"/>
		<updated>2014-03-25T10:42:44Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Docks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; (Ericsson N5321)&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_Ultra_Dock&amp;diff=55402</id>
		<title>ThinkPad Ultra Dock</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_Ultra_Dock&amp;diff=55402"/>
		<updated>2014-03-25T10:41:23Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Dual-screen issue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Features:&lt;br /&gt;
* 1x VGA port&lt;br /&gt;
* 1x DVI-D port, 2x DisplayPort, 1x HDMI port (only 2 can be active)&lt;br /&gt;
* 3x USB 2.0 ports, one port supports always-on USB charging&lt;br /&gt;
* 3x USB 3.0 ports&lt;br /&gt;
* 10/1000 Gigabit Ethernet port&lt;br /&gt;
* Stereo/Microphone Combo Audio Por&lt;br /&gt;
* Key lock (to secure system to the Dock)&lt;br /&gt;
* Kensington cable Lock Slot (to secure Dock to the desk)&lt;br /&gt;
&lt;br /&gt;
The display ports are connected via an internal [[DisplayPort MST hub]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The dock has upgradable firmware.&lt;br /&gt;
&lt;br /&gt;
=== Linux support for multiple screens ===&lt;br /&gt;
Linux does not yet offer explicit support for the [[DisplayPort MST hub]] built into this dock, so multi-screen support is not fully functional under Linux. A single screen works fine and is fully controllable, but multiple screens are handled by a some unconfigurable fallback mode, and appear a single display; they cannot be individually configured in terms of resolution, relative position etc.&lt;br /&gt;
&lt;br /&gt;
On the ThinkPad {{X240}}, one way to use two external screens is to attach one to a dock port, and another to the laptop's own [[mini DisplayPort]] port.&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_Ultra_Dock&amp;diff=55401</id>
		<title>ThinkPad Ultra Dock</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_Ultra_Dock&amp;diff=55401"/>
		<updated>2014-03-25T10:33:48Z</updated>

		<summary type="html">&lt;p&gt;Thinker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Features:&lt;br /&gt;
* 1x VGA port&lt;br /&gt;
* 1x DVI-D port, 2x DisplayPort, 1x HDMI port (only 2 can be active)&lt;br /&gt;
* 3x USB 2.0 ports, one port supports always-on USB charging&lt;br /&gt;
* 3x USB 3.0 ports&lt;br /&gt;
* 10/1000 Gigabit Ethernet port&lt;br /&gt;
* Stereo/Microphone Combo Audio Por&lt;br /&gt;
* Key lock (to secure system to the Dock)&lt;br /&gt;
* Kensington cable Lock Slot (to secure Dock to the desk)&lt;br /&gt;
&lt;br /&gt;
The display ports are connected via an internal [[DisplayPort MST hub]], and thus not fully functional under Linux.&lt;br /&gt;
&lt;br /&gt;
The dock has upgradable firmware.&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_Ultra_Dock&amp;diff=55400</id>
		<title>ThinkPad Ultra Dock</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_Ultra_Dock&amp;diff=55400"/>
		<updated>2014-03-25T10:27:16Z</updated>

		<summary type="html">&lt;p&gt;Thinker: â†Created page with 'Features: * 1x VGA port * 1x DVI-D port, 2x DisplayPort, 1x HDMI port (only 2 can be active) * 3x USB 2.0 ports, one port supports always-on USB charging * 3x USB 3.0 p...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Features:&lt;br /&gt;
* 1x VGA port&lt;br /&gt;
* 1x DVI-D port, 2x DisplayPort, 1x HDMI port (only 2 can be active)&lt;br /&gt;
* 3x USB 2.0 ports, one port supports always-on USB charging&lt;br /&gt;
* 3x USB 3.0 ports&lt;br /&gt;
* 10/1000 Gigabit Ethernet port&lt;br /&gt;
* Stereo/Microphone Combo Audio Por&lt;br /&gt;
* Key lock (to secure system to the Dock)&lt;br /&gt;
* Kensington cable Lock Slot (to secure Dock to the desk)&lt;br /&gt;
&lt;br /&gt;
The display ports are connected via an internal [[DisplayPort MST bridge]], and thus not fully functional under Linux.&lt;br /&gt;
&lt;br /&gt;
The dock has upgradable firmware.&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Docking_Solutions&amp;diff=55399</id>
		<title>Docking Solutions</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Docking_Solutions&amp;diff=55399"/>
		<updated>2014-03-25T10:22:53Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Available Docking Stations and Port Replicators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Docks allow users to connect a variety of external peripherals simply by attaching their ThinkPad to the dock. &lt;br /&gt;
|}&lt;br /&gt;
==Linux support==&lt;br /&gt;
With recent distributions, docking and undocking should function out of the box. You can monitor this by running {{cmdroot|udevadm monitor}} and when you dock or press the undock button you should see a flurry of events.&lt;br /&gt;
&lt;br /&gt;
There are some issues though&lt;br /&gt;
&lt;br /&gt;
====No event on undock====&lt;br /&gt;
&lt;br /&gt;
In some cases you may not get any events on undock. This is due to the ACPI dock drivers only registering the first logical Dock port they encounter and in some rare cases there may be more then one, such as on a ThinkPad X40 with ThinkPad X4 Dock. Patches are [https://bugzilla.kernel.org/show_bug.cgi?id=15521 available], and are merged in 2.6.34.&lt;br /&gt;
&lt;br /&gt;
====Filesystem corruption====&lt;br /&gt;
&lt;br /&gt;
Pressing the undock button will immediately unplug all dock attached devices. This can easily lead to problems, for instance if you have a USB or Ultrabay storage device attached to the dock and have a filesystem mounted RW, this can easily lead to filesystem corruption.&lt;br /&gt;
&lt;br /&gt;
The solution for now is to always make sure any storage devices attached to the dock are unmounted BEFORE pressing the undock button.&lt;br /&gt;
====External display issues====&lt;br /&gt;
{{NOTE|This only works for devices that register themselves as a dock through ACPI, it does not work for port replicators which are hidden to the OS.}}&lt;br /&gt;
{{NOTE|Newer series 3 docks no longer register themselves as a dock, but instead behave like a port replicator, as such the below method does not work. They do however cause a key event on dock and undock which could be used as a trigger, but for now these key events are not exposed by the thinkpad-acpi driver before kernel 3.0}}&lt;br /&gt;
Docking or undocking will also not change the display configuration, which can lead to issues when your undock and your screensaver decided to put the unlock dialog on the secondary display, effectively requiring you to unlock the screensaver blind, before you can press Fn-F7 to restore your display setup to ThinkPad (LVDS) only. This last issue can be resolved by creating a custom udev rule and script as shown below. This script can also be used to take other actions on dock/undock such as automatically configuring your external display on dock.&lt;br /&gt;
&lt;br /&gt;
create a file {{Path|/etc/udev/rules.d/81-thinkpad-dock.rules}}&lt;br /&gt;
 KERNEL==&amp;quot;dock.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/thinkpad-dock.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then create the file {{Path|/usr/local/sbin/thinkpad-dock.sh}}&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # wait for the dock state to change&lt;br /&gt;
 sleep 0.5&lt;br /&gt;
 DOCKED=$(cat /sys/devices/platform/dock.0/docked)&lt;br /&gt;
 case &amp;quot;$DOCKED&amp;quot; in&lt;br /&gt;
 	&amp;quot;0&amp;quot;)&lt;br /&gt;
        #undocked event - lets remove all connected outputs apart from LVDS&lt;br /&gt;
        for output in $(/usr/bin/xrandr -d :0.0 --verbose|grep &amp;quot; connected&amp;quot;|grep -v LVDS|awk '{print $1}')&lt;br /&gt;
          do&lt;br /&gt;
          /usr/bin/xrandr -d :0.0 --output $output --off&lt;br /&gt;
        done&lt;br /&gt;
 	;;&lt;br /&gt;
 	&amp;quot;1&amp;quot;)&lt;br /&gt;
 	#docked event - sample will created extended desktop with DVI1 to the right of LVDS1&lt;br /&gt;
 	#/usr/bin/xrandr -d :0.0 --output DVI1 --right-of LVDS1 --auto&lt;br /&gt;
 	;;&lt;br /&gt;
 esac&lt;br /&gt;
 exit 0&lt;br /&gt;
And set it executable&lt;br /&gt;
 chmod +x /usr/local/sbin/thinkpad-dock.sh&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The output names shown above are specific to the Intel video drivers. For the ATI Radeon driver they are different. But you best check your output names by running xrandr manually, and adjusting the script appropriately for your needs. The undock event should work on any ThinkPad where the graphics driver supports RandR and the ThinkPad LCD has LVDS in the name.}}&lt;br /&gt;
&lt;br /&gt;
Part of this is based on information from a thread on the Ubuntu [http://ubuntuforums.org/showthread.php?t=1076486 forums]&lt;br /&gt;
&lt;br /&gt;
=====Newer series 3 docks=====&lt;br /&gt;
There is a solution for the Series 3 docks: http://phihag.de/2012/thinkpad-docking.html&lt;br /&gt;
&lt;br /&gt;
==Available Docking Stations and Port Replicators==&lt;br /&gt;
* [[ThinkPad Mini Dock Plus Series 3 - 170W]] &amp;lt;tt&amp;gt;(T400s, T410, T410s, T420, T420s, T430, T510, W510, T520, W520, W530)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Mini Dock Plus Series 3 - 135W]] &amp;lt;tt&amp;gt;(T400s, T410, T410s, T420, T420s, T430, T510, W510, T520)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Mini Dock Plus Series 3 - 90W]] &amp;lt;tt&amp;gt;(T400s, T410, T410s, T420, T420s, T430, T510, T520)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Mini Dock Series 3]] &amp;lt;tt&amp;gt;(T400s, T410, T410s, T420, T420s, T430, T510)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Port Replicator Series 3]] &amp;lt;tt&amp;gt;(T400s, T410, T410s, T420, T420s, T430, T510, T520)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad UltraBase Series 3]] &amp;lt;tt&amp;gt;(X220, X220i, X220 Tablet, X230, X230i, X230 Tablet)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Ultra Dock]], [[ThinkPad Pro Dock]], [[ThinkPad Basic Dock]] &amp;lt;tt&amp;gt;(L440, L540, T440, T440s, T440p, T540p, X240)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[USB Port Replicator with Digital Video]]&lt;br /&gt;
* [[X200 UltraBase]] &amp;lt;tt&amp;gt;(X200, X200s)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[W700 Mini Dock]]&lt;br /&gt;
* [[W700 Mini Dock 2.0]]&lt;br /&gt;
&lt;br /&gt;
==Withdrawn Docking Stations and Port Replicators==&lt;br /&gt;
* [[ThinkPad 700/720 Dock]]&lt;br /&gt;
* [[ThinkPad 700/720 Port Replicator]]&lt;br /&gt;
* [[ThinkPad Dock I (3545)]] &amp;lt;tt&amp;gt;(360/370/750/755/760 series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Dock II (3546)]] &amp;lt;tt&amp;gt;(360/370/750/755/760 series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Port Replicator Model 1]] &amp;lt;tt&amp;gt;(360/370/750/755/760/765 series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Port Replicator Model 2]] &amp;lt;tt&amp;gt;(360/370/750/755/760/765 series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad MultiPort]] &amp;lt;tt&amp;gt;(510Cs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad MultiPort II]] &amp;lt;tt&amp;gt;{701C/701CS)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[SelectaBase Model I]] &amp;lt;tt&amp;gt;(TP 760 and 765 series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[SelectaBase 600]] &amp;lt;tt&amp;gt;(TP 600 series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[SelectaBase 770]] &amp;lt;tt&amp;gt;(TP 770 series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[SelectaDock I]] &amp;lt;tt&amp;gt;(TP 600{{footnote|3}}, 760{{footnote|1}}, 765{{footnote|1}} and 770{{footnote|2}} series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[SelectaDock II]] &amp;lt;tt&amp;gt;(TP 600{{footnote|3}}, 760{{footnote|1}}, 765{{footnote|1}} and 770{{footnote|2}} series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[SelectaDock III]] &amp;lt;tt&amp;gt;(TP 600{{footnote|3}}, 760{{footnote|1}}, 765{{footnote|1}} and 770{{footnote|2}} series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[TransNote Port Extender]] &amp;lt;tt&amp;gt;(ThinkPad TransNote)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad i Series Port Replicator]] &amp;lt;tt&amp;gt;(TP i1400, i1500 Series)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad 365 Port Replicator]] &amp;lt;tt&amp;gt;(TP 365)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad 365X Port Replicator]] &amp;lt;tt&amp;gt;(TP 365X)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad 380/385 Port Replicator]]&lt;br /&gt;
* [[ThinkPad 560 Port Replicator]] &amp;lt;tt&amp;gt;(TP 380/385 series, 560 and 570{{footnote|4}})&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Enhanced Port Replicator]] &amp;lt;tt&amp;gt;(TP 380/385 series and 560X)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Port Replicator with Advanced EtherJet]] &amp;lt;tt&amp;gt;(TP 380Z, i1720, i1721 and 390, 570, 600 and 770 series)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Port Replicator]] &amp;lt;tt&amp;gt;(A20-A31p, R30-R32, T20-T30, X20-X32)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Port Replicator II]] &amp;lt;tt&amp;gt;(A,R,T,X series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Dock]] &amp;lt;tt&amp;gt;(A,T,X series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Dock II]] &amp;lt;tt&amp;gt;(A,R,T,X series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Mini-Dock]] &amp;lt;tt&amp;gt;(A,R,T,X series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Essential Port Replicator]] &amp;lt;tt&amp;gt;(T60, Z series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Advanced Dock]] &amp;lt;tt&amp;gt;(T60, Z series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad Advanced Mini Dock]] &amp;lt;tt&amp;gt;(T60, Z series models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[UltraBase]] &amp;lt;tt&amp;gt;(TP 570 series)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[UltraBase X2]] &amp;lt;tt&amp;gt;(X20, X21, X22, X23, X24)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[UltraBase X3]] &amp;lt;tt&amp;gt;(X30, X31, X32)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[UltraBase X4]] &amp;lt;tt&amp;gt;(X40, X41)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[ThinkPad X4 Dock]] &amp;lt;tt&amp;gt;(X40, X41, X41 Tablet)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[UltraBase X6]] &amp;lt;tt&amp;gt;(X60, X60s, X61, X61s)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [[X6 Tablet UltraBase]] &amp;lt;tt&amp;gt;(X60 Tablet, X61 Tablet)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Monitor and Notebook Stands==&lt;br /&gt;
* [[ThinkPad Adjustable Notebook Stand]]&lt;br /&gt;
* [[ThinkPad Monitor Stand 2001]] - (withdrawn)&lt;br /&gt;
* [[ThinkPad Monitor Stand 2000]] - (withdrawn)&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
* [[Dock II Adapter Kit]] - (withdrawn)&lt;br /&gt;
* [[Direct Dock Adapter]] - (withdrawn)&lt;br /&gt;
* [[SelectaBase PC Card Enabler]] - (withdrawn)&lt;br /&gt;
* [[SelectaBase PC Card Enabler with Advanced EtherJet]] - (withdrawn)&lt;br /&gt;
* [[Portable Drive Bay]] (PC-Card UltraslimBay adapter) - (withdrawn)&lt;br /&gt;
* [[Portable Drive Bay 2000]] (PC-Card/USB UltraBay 2000 adapter)&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-4NXNTP IBMs Docking Solutions overview page]&lt;br /&gt;
*[http://martin-ueding.de/en/projects/think-rotate/ ThinkPad Scripts]&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#requires [[SelectaBase Model I]]&lt;br /&gt;
#requires [[SelectaBase 770]]&lt;br /&gt;
#requires [[SelectaBase 600]]&lt;br /&gt;
#requires [[Direct Dock Adapter]] or [[UltraBase]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54893</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54893"/>
		<updated>2013-11-03T15:45:19Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; (Ericsson N5321)&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54888</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54888"/>
		<updated>2013-10-25T14:23:42Z</updated>

		<summary type="html">&lt;p&gt;Thinker: RAM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; (Ericsson N5321)&lt;br /&gt;
* Mini DisplayPort with audio&lt;br /&gt;
* VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* miniDisplayPort with audio&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54887</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54887"/>
		<updated>2013-10-25T14:22:14Z</updated>

		<summary type="html">&lt;p&gt;Thinker: CPU specs. No ExpressCard. Just 2 USB ports.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM)&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; (Ericsson N5321)&lt;br /&gt;
* Mini DisplayPort with audio&lt;br /&gt;
* VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* miniDisplayPort with audio&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54882</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54882"/>
		<updated>2013-10-22T22:32:28Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Features */ Power Bridge&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors:&lt;br /&gt;
** Intel Core i7-4600U (Up to 3.00 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
** Intel Core i5-4300U (Up to 3.00 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
** Intel Core i5-4200U (Up to 2.60 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]]&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM)&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; (Ericsson N5321)&lt;br /&gt;
* Mini DisplayPort with audio&lt;br /&gt;
* VGA&lt;br /&gt;
* 3.5 mm Combo Jack Headphone / MIC&lt;br /&gt;
* 2x USB 3.0; USB 2.0 (Always-on USB 2.0)&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Express card 34 mm&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* miniDisplayPort with audio&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54881</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54881"/>
		<updated>2013-10-22T20:29:37Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Features */  16GB and WWAN are  M.2; WiFi cards have BlueTooth; battery info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors:&lt;br /&gt;
** Intel Core i7-4600U (Up to 3.00 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
** Intel Core i5-4300U (Up to 3.00 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
** Intel Core i5-4200U (Up to 2.60 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]]&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM)&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; (Ericsson N5321)&lt;br /&gt;
* Mini DisplayPort with audio&lt;br /&gt;
* VGA&lt;br /&gt;
* 3.5 mm Combo Jack Headphone / MIC&lt;br /&gt;
* 2x USB 3.0; USB 2.0 (Always-on USB 2.0)&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Express card 34 mm&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
* Optional power bridge technology (an integrated battery allows to swap the other one while the laptop is running)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* miniDisplayPort with audio&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54872</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54872"/>
		<updated>2013-10-13T22:10:21Z</updated>

		<summary type="html">&lt;p&gt;Thinker: machine types&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors:&lt;br /&gt;
** Intel Core i7-4600U (Up to 3.00 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
** Intel Core i5-4300U (Up to 3.00 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
** Intel Core i5-4200U (Up to 2.60 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]]&lt;br /&gt;
* Up to 8GB DDR3 memory&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
** mSATA 16GB&lt;br /&gt;
* Mini DisplayPort with audio&lt;br /&gt;
* VGA&lt;br /&gt;
* 3.5 mm Combo Jack Headphone / MIC&lt;br /&gt;
* 2x USB 3.0; USB 2.0 (Always-on USB 2.0)&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Express card 34 mm&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel® Dual Band Wireless-AC 7260 (2x2, 802.11ac/ a/b/g/n)&lt;br /&gt;
** Intel® Dual Band Wireless-N 7260 (2x2, 802.11abgn)&lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* WWAN: Integrated Mobile Broadband (Ericsson N5321) (optional)&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Optional power bridge technology (an integrated battery allows to swap the other one while the laptop is running)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* miniDisplayPort with audio&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54871</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=54871"/>
		<updated>2013-10-13T22:05:40Z</updated>

		<summary type="html">&lt;p&gt;Thinker: User Guide and System Service Parts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors:&lt;br /&gt;
** Intel Core i7-4600U (Up to 3.00 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
** Intel Core i5-4300U (Up to 3.00 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
** Intel Core i5-4200U (Up to 2.60 GHz, 3MB L3, 1600 MHz FSB)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]]&lt;br /&gt;
* Up to 8GB DDR3 memory&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
** mSATA 16GB&lt;br /&gt;
* Mini DisplayPort with audio&lt;br /&gt;
* VGA&lt;br /&gt;
* 3.5 mm Combo Jack Headphone / MIC&lt;br /&gt;
* 2x USB 3.0; USB 2.0 (Always-on USB 2.0)&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Express card 34 mm&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel® Dual Band Wireless-AC 7260 (2x2, 802.11ac/ a/b/g/n)&lt;br /&gt;
** Intel® Dual Band Wireless-N 7260 (2x2, 802.11abgn)&lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* WWAN: Integrated Mobile Broadband (Ericsson N5321) (optional)&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Optional power bridge technology (an integrated battery allows to swap the other one while the laptop is running)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* miniDisplayPort with audio&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ericsson_F3507g_Mobile_Broadband_Module&amp;diff=44470</id>
		<title>Ericsson F3507g Mobile Broadband Module</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ericsson_F3507g_Mobile_Broadband_Module&amp;diff=44470"/>
		<updated>2009-10-08T20:35:05Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Models */ T400s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Here are some basics about Ericsson F3507g MiniPCIe WWAN/GPS card (USB ID &amp;lt;tt&amp;gt;0bdb:1900&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;0bdb:1902&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* the card will not work without an inserted SIM, even the GPS function. If you want to use just GPS, any SIM would work, even if it is not attached to any active account with any GSM provider.&lt;br /&gt;
* the card provides three CDC ACM interfaces (&amp;lt;tt&amp;gt;CONFIG_USB_ACM=m&amp;lt;/tt&amp;gt;), two CDC WDM interfaces (&amp;lt;tt&amp;gt;CONFIG_USB_WDM=m&amp;lt;/tt&amp;gt;) and one CDC Ethernet interface (&amp;lt;tt&amp;gt;CONFIG_USB_NET_CDCETHER=m&amp;lt;/tt&amp;gt;), and identifies them as&lt;br /&gt;
 for n in `ls /sys/class/*/*{ACM,wdm,usb0}*/device/interface`;do echo $(echo $n|awk -F '/' '{print $5}') : $(cat $n);done&lt;br /&gt;
 &lt;br /&gt;
 usb0 : Ericsson F3507g Mobile Broadband Minicard Network Adapter&lt;br /&gt;
 ttyACM0 : Ericsson F3507g Mobile Broadband Minicard Modem&lt;br /&gt;
 ttyACM1 : Ericsson F3507g Mobile Broadband Minicard Data Modem&lt;br /&gt;
 ttyACM2 : Ericsson F3507g Mobile Broadband Minicard GPS Port&lt;br /&gt;
 cdc-wdm0 : Ericsson F3507g Mobile Broadband Minicard Device Management&lt;br /&gt;
 cdc-wdm1 : Ericsson F3507g Mobile Broadband Minicard PC SC Port&lt;br /&gt;
'''Note''':&lt;br /&gt;
*apparently, for a while &amp;lt;tt&amp;gt;option&amp;lt;/tt&amp;gt; USB-serial driver had claimed USB ID &amp;lt;tt&amp;gt;0bdb:1900&amp;lt;/tt&amp;gt;, but this was wrong, and as of kernel 2.6.28.9 that commit was reversed. If instead of &amp;lt;tt&amp;gt;/dev/ttyACM*&amp;lt;/tt&amp;gt; you see &amp;lt;tt&amp;gt;/dev/ttyUSB*&amp;lt;/tt&amp;gt;, it means that &amp;lt;tt&amp;gt;option&amp;lt;/tt&amp;gt; module is loaded. You may need to blacklist it to make sure it doesn't happen.&lt;br /&gt;
*Support for the CDC Ethernet interface appears only in kernel 2.6.28.8. But if your kernel is older, you can still connect to the net using one of the &amp;quot;Modem&amp;quot; interfaces.&lt;br /&gt;
&lt;br /&gt;
As Ericsson's naming scheme suggests, we would use &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt; for controlling the card, &amp;lt;tt&amp;gt;usb0&amp;lt;/tt&amp;gt; as a network device, &amp;lt;tt&amp;gt;/dev/ttyACM0&amp;lt;/tt&amp;gt; as a modem, and &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt; for GPS.&lt;br /&gt;
&lt;br /&gt;
==Turning the card on==&lt;br /&gt;
First, check whenever the SIM is protected by PIN by sending &lt;br /&gt;
&lt;br /&gt;
 AT+CPIN?&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. You can do it with any terminal terminal program like &amp;lt;tt&amp;gt;cu&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt;. If the answer is&lt;br /&gt;
&lt;br /&gt;
 +CPIN: READY&lt;br /&gt;
&lt;br /&gt;
then the SIM is unlocked. If the answer is&lt;br /&gt;
&lt;br /&gt;
 +CPIN: SIM PIN&lt;br /&gt;
&lt;br /&gt;
you need first to unlock it by sending&lt;br /&gt;
&lt;br /&gt;
 AT+CPIN=&amp;quot;YOUR-PIN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. Now the card can be turned on by sending &lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=1&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. The answer should be&lt;br /&gt;
&lt;br /&gt;
 +PACSP0&lt;br /&gt;
&lt;br /&gt;
Don't try to do anything until you see it. To force GSM-only connection, send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=5&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. To force WCDMA-only connection, send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=6&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Turning the card off==&lt;br /&gt;
To put the card into energy-saving mode (this is the default), you can send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=4&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. To remove all power from the card, send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=0&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. Be carefull with the last command. It turns the card completely off, and it will no longer accept any AT-commands before the hard reset. To physically reset the card flip the wireless switch off, and then on. You can do the same by sending &amp;lt;tt&amp;gt;echo 0 &amp;gt; /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state&amp;lt;/tt&amp;gt; (to turn off) and then &amp;lt;tt&amp;gt;echo 1 &amp;gt; /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state&amp;lt;/tt&amp;gt; (to turn on).&lt;br /&gt;
&lt;br /&gt;
==Using the card as a wireless modem==&lt;br /&gt;
Once the card is turned on, there are two ways to connect to the net. The first one is just to use the card as any &amp;quot;normal&amp;quot; GPRS modem and start &amp;lt;tt&amp;gt;pppd&amp;lt;/tt&amp;gt; daemon on one of &amp;lt;tt&amp;gt;/dev/ttyACM*&amp;lt;/tt&amp;gt;. The other way is to use CDC Ethernet interface. It is supposed to be more efficient, but it requires a pretty recent (&amp;gt;=2.6.28.8) kernel.&lt;br /&gt;
&lt;br /&gt;
====Connecting to the net via pppd====&lt;br /&gt;
For the first approach, the easiest way to do it is to use &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;. For example, to connect to AT&amp;amp;T Wireless network, your &amp;lt;tt&amp;gt;/etc/wvdial.conf&amp;lt;/tt&amp;gt; would have to be something like this&lt;br /&gt;
 [Dialer 3G]&lt;br /&gt;
 Modem = /dev/ttyACM0&lt;br /&gt;
 Init1 = AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;'''proxy'''&amp;quot;&lt;br /&gt;
 Stupid mode = 1&lt;br /&gt;
 phone= *99#&lt;br /&gt;
 Username = *&lt;br /&gt;
 Password = *&lt;br /&gt;
'''Note''': if you are using a SIM from a different mobile provider, you may need to change the access point name (APN) &amp;quot;'''proxy'''&amp;quot; in &amp;lt;tt&amp;gt;Init1&amp;lt;/tt&amp;gt; string and Username/Password to something else. You can find the appropriate APN [http://www.pinstack.com/carrier_settings_apn_gateway.html here].&lt;br /&gt;
&lt;br /&gt;
====Connecting to the net via CDC Ethernet interface====&lt;br /&gt;
The [http://marc.info/?l=linux-usb&amp;amp;m=123334979706403&amp;amp;w=2 second approach] works for kernels &amp;gt;=2.6.28.8. Configure the APN by sending&lt;br /&gt;
&lt;br /&gt;
 AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;'''proxy'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. Instead of &amp;quot;'''proxy'''&amp;quot; you may need to use to something else. Find the appropriate APN [http://www.pinstack.com/carrier_settings_apn_gateway.html here]. To initiate the connection, send&lt;br /&gt;
&lt;br /&gt;
 AT*ENAP=1,1&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. Now, if your wireless provider lets you in, you are connected. Launch &amp;lt;tt&amp;gt;dhclient&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 dhclient usb0&lt;br /&gt;
&lt;br /&gt;
and start surfing the net. To disconnect, send&lt;br /&gt;
&lt;br /&gt;
 AT*ENAP=0&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Using the card as a GPS receiver==&lt;br /&gt;
Once the card is turned on, we can use it to get GPS info via NMEA protocol. First, you have to configure the a few NMEA options. It is done by sending &lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSCTL=X,Y,Z&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. Here&lt;br /&gt;
&lt;br /&gt;
*X can be 0 (NMEA stream turned off) or 1 (NMEA stream turned on)&lt;br /&gt;
*Y can be an integer form 1 to 60, and sets the frequency of how often the card emits the NMEA sentences&lt;br /&gt;
*Z can be 0 (DGPS is turned off) or 1 (DGPS is turned on)&lt;br /&gt;
&lt;br /&gt;
so, to configure the GPSr to update every 5 seconds, and turn DGPS on, you would send&lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSCTL=1,5,1&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. Once the GPSr is configured, we can get the NMEA stream on /dev/ttyACM2 by sending&lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSNPD&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt;. Once you do that, &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt; will no longer accept any new AT-commands. But you still can change the the behavior of the NMEA stream by sending the appropriate&lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSCTL=X,Y,Z&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;. Now you can read the NMEA stream by saying&lt;br /&gt;
&lt;br /&gt;
 cat /dev/ttyACM2&lt;br /&gt;
&lt;br /&gt;
or better yet, start &amp;lt;tt&amp;gt;gpsd&amp;lt;/tt&amp;gt; interface on &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note: There is a now a sourceforge project dedicated to the Ericsson Mobile Broadband modules. Gps control sw that does the above automatically is available and also a graphical user interface. Details are available on the [http://sourceforge.net/apps/mediawiki/mbm/index.php?title=Main_Page#GPS_Control_.28mbm-gpsd.29 MBM Wiki].&lt;br /&gt;
&lt;br /&gt;
==Scripting everything==&lt;br /&gt;
Install the packages&lt;br /&gt;
&lt;br /&gt;
 apt-get install sysfsutils gpsd wvdial&lt;br /&gt;
&lt;br /&gt;
In order to save the power, lets use '''sysfsutils''' to completely power off the WWAN card on boot. Append the following line to &amp;lt;tt&amp;gt;/etc/sysfs.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 devices/platform/thinkpad_acpi/rfkill/rfkill0/state = 0&lt;br /&gt;
&lt;br /&gt;
It will power down the card on boot, but when the laptop wakes from sleep, in some cases the card is powered up agian. To re-apply these settings on wake-up, create a script named &amp;lt;tt&amp;gt;/etc/pm/sleep.d/10sysfsutils&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 case $1 in&lt;br /&gt;
     (hibernate|suspend)&lt;br /&gt;
         ;;&lt;br /&gt;
     (thaw|resume)&lt;br /&gt;
         /etc/init.d/sysfsutils start&lt;br /&gt;
         ;;&lt;br /&gt;
     *)  echo &amp;quot;somebody is calling me totally wrong.&amp;quot;&lt;br /&gt;
         ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
Don't forget to &amp;lt;tt&amp;gt;chmod a+x /etc/pm/sleep.d/10sysfsutils&amp;lt;/tt&amp;gt;. Create a file called &amp;lt;tt&amp;gt;/usr/local/etc/F3507g&amp;lt;/tt&amp;gt; containing the following:&lt;br /&gt;
&lt;br /&gt;
 GPSDPID=&amp;quot;/var/run/gpsd.pid&amp;quot;&lt;br /&gt;
 CONTROL_DEVICE=&amp;quot;/dev/cdc-wdm0&amp;quot;&lt;br /&gt;
 GPS_DEVICE=&amp;quot;/dev/ttyACM2&amp;quot;&lt;br /&gt;
 '''PIN=&amp;quot;&amp;quot;'''&lt;br /&gt;
 '''APN=&amp;quot;proxy&amp;quot;'''&lt;br /&gt;
 &lt;br /&gt;
 powerup_F3507g () {&lt;br /&gt;
 	echo -n &amp;quot;Powering up F3507g card..&amp;quot;&lt;br /&gt;
 	echo 1 &amp;gt; /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state&lt;br /&gt;
 	while [ ! -c $CONTROL_DEVICE ]; do sleep 0.5; echo -n &amp;quot;.&amp;quot;; done&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	echo &amp;quot;Turning on F3507g card...&amp;quot;&lt;br /&gt;
 	sleep 3&lt;br /&gt;
 	if [ -n &amp;quot;$PIN&amp;quot; ]; then&lt;br /&gt;
 	    expect -c 'spawn cu -l '$CONTROL_DEVICE'; expect &amp;quot;Connected.&amp;quot;;&lt;br /&gt;
 		send &amp;quot;AT+CPIN?\r&amp;quot;;&lt;br /&gt;
 		expect &amp;quot;SIM PIN&amp;quot;;&lt;br /&gt;
 		send &amp;quot;AT\r&amp;quot;;&lt;br /&gt;
 		expect &amp;quot;OK&amp;quot;;&lt;br /&gt;
 		send &amp;quot;AT+CPIN=\&amp;quot;'$PIN'\&amp;quot;\r&amp;quot;;&lt;br /&gt;
 		expect &amp;quot;OK&amp;quot;;'&lt;br /&gt;
 		sleep 1&lt;br /&gt;
 	fi&lt;br /&gt;
 	expect -c 'spawn cu -l '$CONTROL_DEVICE'; expect &amp;quot;Connected.&amp;quot;;&lt;br /&gt;
 	    send &amp;quot;AT+CPIN?\r&amp;quot;;&lt;br /&gt;
 	    expect &amp;quot;READY&amp;quot;;&lt;br /&gt;
 	    send &amp;quot;AT+CFUN=1\r&amp;quot;;&lt;br /&gt;
 	    expect &amp;quot;PACSP0&amp;quot;;'&lt;br /&gt;
 	sleep 1&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 powerdown_F3507g () {&lt;br /&gt;
 	echo &amp;quot;Turning off F3507g card...&amp;quot;&lt;br /&gt;
 	expect -c 'spawn cu -l '$CONTROL_DEVICE'; expect &amp;quot;Connected.&amp;quot;;&lt;br /&gt;
 	    send &amp;quot;AT+CFUN=4\r&amp;quot;;&lt;br /&gt;
 	    expect &amp;quot;OK&amp;quot;;'&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	echo -n &amp;quot;Powering down F3507g card..&amp;quot;&lt;br /&gt;
 	echo 0 &amp;gt; /sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state&lt;br /&gt;
 	while [ -c $CONTROL_DEVICE ]; do sleep 0.5; echo -n &amp;quot;.&amp;quot;; done&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 configure_GPS () {&lt;br /&gt;
 	expect -c 'spawn cu -l '$CONTROL_DEVICE'; expect &amp;quot;Connected.&amp;quot;;&lt;br /&gt;
 	    send &amp;quot;AT*E2GPSCTL='$1,$2,$3'\r&amp;quot;;&lt;br /&gt;
 	    expect &amp;quot;OK&amp;quot;;'&lt;br /&gt;
 	sleep 1&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnon_GPS () {&lt;br /&gt;
 	echo &amp;quot;Starting NMEA stream on $GPS_DEVICE ...&amp;quot;&lt;br /&gt;
 	configure_GPS 1 1 1&lt;br /&gt;
 	su -c 'expect -c &amp;quot;spawn cu -l \&amp;quot;'$GPS_DEVICE'\&amp;quot;; expect \&amp;quot;Connected.\&amp;quot;; \&lt;br /&gt;
 	    send \&amp;quot;AT*E2GPSNPD\r\&amp;quot;; \&lt;br /&gt;
 	    expect \&amp;quot;GPGGA\&amp;quot;&amp;quot;;' uucp&lt;br /&gt;
 	sleep 1&lt;br /&gt;
 	start-stop-daemon --start --exec /usr/sbin/gpsd -- -P $GPSDPID $GPS_DEVICE&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnoff_GPS () {&lt;br /&gt;
 	echo &amp;quot;Stopping NMEA stream on $GPS_DEVICE ...&amp;quot;&lt;br /&gt;
 	start-stop-daemon --stop --pidfile $GPSDPID&lt;br /&gt;
 	configure_GPS 0 1 0&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	turnoff_F3507g&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnon_usbnet () {&lt;br /&gt;
 	echo &amp;quot;Starting usbnet connection...&amp;quot;&lt;br /&gt;
 	expect -c 'spawn cu -l '$CONTROL_DEVICE'; expect &amp;quot;Connected.&amp;quot;;&lt;br /&gt;
 	    send &amp;quot;AT+CGDCONT=1,\&amp;quot;IP\&amp;quot;,\&amp;quot;'$APN'\&amp;quot;\r&amp;quot;;&lt;br /&gt;
 	    expect &amp;quot;OK&amp;quot;;&lt;br /&gt;
 	    send &amp;quot;AT*ENAP=1,1\r&amp;quot;;&lt;br /&gt;
 	    expect &amp;quot;OK&amp;quot;;'&lt;br /&gt;
 	sleep 1&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnoff_usbnet () {&lt;br /&gt;
 	echo &amp;quot;Stopping usbnet connection...&amp;quot;&lt;br /&gt;
 	expect -c 'spawn cu -l '$CONTROL_DEVICE'; expect &amp;quot;Connected.&amp;quot;;&lt;br /&gt;
 	    send &amp;quot;AT*ENAP=0\r&amp;quot;;&lt;br /&gt;
 	    expect &amp;quot;OK&amp;quot;;'&lt;br /&gt;
 	sleep 1&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	turnoff_F3507g&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnoff_F3507g () {&lt;br /&gt;
 	[ -z $(grep gps /etc/network/run/ifstate) ] &amp;amp;&amp;amp; \&lt;br /&gt;
 	[ -z $(grep usb0 /etc/network/run/ifstate) ] &amp;amp;&amp;amp; \&lt;br /&gt;
 	[ -z $(grep 3G /etc/network/run/ifstate) ] &amp;amp;&amp;amp; \&lt;br /&gt;
 	ifdown F3507g&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Give the correct '''PIN''' and find the '''APN''' for your wireless provider [http://www.pinstack.com/carrier_settings_apn_gateway.html here]. Append the following lines to your &amp;lt;tt&amp;gt;/etc/network/interfaces&amp;lt;/tt&amp;gt; file&lt;br /&gt;
&lt;br /&gt;
 iface F3507g inet manual&lt;br /&gt;
 up . /usr/local/etc/F3507g; powerup_F3507g&lt;br /&gt;
 down . /usr/local/etc/F3507g; powerdown_F3507g&lt;br /&gt;
 &lt;br /&gt;
 iface 3G inet wvdial&lt;br /&gt;
 pre-up ifup F3507g&lt;br /&gt;
 post-down . /usr/local/etc/F3507g; turnoff_F3507g&lt;br /&gt;
 provider 3G&lt;br /&gt;
 &lt;br /&gt;
 iface gps inet manual&lt;br /&gt;
 up . /usr/local/etc/F3507g; ifup F3507g; turnon_GPS&lt;br /&gt;
 down . /usr/local/etc/F3507g; turnoff_GPS&lt;br /&gt;
 &lt;br /&gt;
 iface usb0 inet dhcp&lt;br /&gt;
 pre-up . /usr/local/etc/F3507g; ifup F3507g; turnon_usbnet&lt;br /&gt;
 post-down . /usr/local/etc/F3507g; turnoff_usbnet&lt;br /&gt;
&lt;br /&gt;
Configure &amp;lt;tt&amp;gt;/etc/wvdial.conf&amp;lt;/tt&amp;gt; to look like this:&lt;br /&gt;
&lt;br /&gt;
 [Dialer 3G]&lt;br /&gt;
 Modem = /dev/ttyACM0&lt;br /&gt;
 Init1 = AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;'''proxy'''&amp;quot;&lt;br /&gt;
 Stupid mode = 1&lt;br /&gt;
 phone= *99#&lt;br /&gt;
 Username = *&lt;br /&gt;
 Password = *&lt;br /&gt;
&lt;br /&gt;
'''Note''': you may need to change the access point name (APN) &amp;quot;'''proxy'''&amp;quot; in &amp;lt;tt&amp;gt;Init1&amp;lt;/tt&amp;gt; string and Username/Password to something else. Find the appropriate APN [http://www.pinstack.com/carrier_settings_apn_gateway.html here].&lt;br /&gt;
&lt;br /&gt;
Now broadband connection could be started in the same way as you start any other network interface, just by saying &amp;lt;tt&amp;gt;ifup usb0&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;ifup 3G&amp;lt;/tt&amp;gt;, if connecting via &amp;lt;tt&amp;gt;pppd&amp;lt;/tt&amp;gt;). To shut it down, say &amp;lt;tt&amp;gt;ifdown usb0&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;ifdown 3G&amp;lt;/tt&amp;gt;). Similarly, GPS interface is started by &amp;lt;tt&amp;gt;ifup gps&amp;lt;/tt&amp;gt; and turned off by &amp;lt;tt&amp;gt;ifdown gps&amp;lt;/tt&amp;gt;. Once you get a fix, you can use your favourite GPS mapping application like [http://www.tangogps.org tangogps].  The &amp;quot;cold start&amp;quot; seems to take quite a bit however, and sometimes it cannot get a fix if indoors.&lt;br /&gt;
&lt;br /&gt;
==Using F3507g with NetworkManager==&lt;br /&gt;
Work is ongoing to add support for Ericsson Mobile Broadband Modules to GNOME NetworkManager / modem-manager. More information is available on the [http://mbm.sourceforge.net/ MBM project website] and the [http://sourceforge.net/apps/mediawiki/mbm/index.php?title=MBM MBM wiki].&lt;br /&gt;
&lt;br /&gt;
The F3507g card (in a ThinkPad {{T400s}}) works out of the box on Fedora 11. No configuration is needed beyond setting the data plan provider in the nm-applet GUI.&lt;br /&gt;
&lt;br /&gt;
Using mbm-gpsd gps works flawlessly with the F3507g on Karmic Koala with modemmanager packages from [https://launchpad.net/~modemmanager/+archive/ppa Ubuntu PPA], the mbm-gpsd installed by source using the description from [http://sourceforge.net/apps/mediawiki/mbm/index.php?title=MBM#GPS_Control_.28mbm-gpsd.29 here] and knowing the PIN of your SIM card.&lt;br /&gt;
&lt;br /&gt;
==Other thoughts==&lt;br /&gt;
While &amp;lt;tt&amp;gt;AT+CFUN=*&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;AT+CPIN=*&amp;lt;/tt&amp;gt; are pretty standard commands for wireless modems and are well-documented (e.g. [http://developer.sonyericsson.com/getDocument.do?docId=65054 here] and [http://www.sierrawireless.com/resources/documents/support/2130617_Supported_AT_Command_Reference_Rev_2.1.pdf here]), it appears that the commands &amp;lt;tt&amp;gt;AT*E2GPSCTL&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;AT*E2GPSNPD&amp;lt;/tt&amp;gt; are unique to the Ericsson F3507g card. All credit for discovering them goes to &amp;quot;Nickolai Zeldovich&amp;quot; who left a comment in this [http://redmonk.com/sogrady/2008/09/24/apone/ thread]. I imagine one could find them via a USB sniffer on a working Windows machine (or a Linux machine with Windows running in a virtual machine). Another way to get them is to try to look for &amp;quot;gps&amp;quot; string in Windows drivers. What is interesting, F3507g supports a few other AT-commands with &amp;quot;GPS&amp;quot; substring (you can get all supported AT-commands by sending &amp;lt;tt&amp;gt;AT*&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt; after activating it with &amp;lt;tt&amp;gt;AT+CFUN=1&amp;lt;/tt&amp;gt;). Anyway, there is a [http://www.natisbad.org/E4300/Dell_Wireless_5530_AT_cmd_ref.html project] aiming to document all AT-commands for the Ericsson F3507g card.&lt;br /&gt;
&lt;br /&gt;
==Related Links==&lt;br /&gt;
*[http://www.natisbad.org/E4300/Dell_Wireless_5530_AT_cmd_ref.html F3705g - AT commands reference]&lt;br /&gt;
*[http://www.pinstack.com/carrier_settings_apn_gateway.html Carrier internet Settings (Apn, Gateway, etc)]&lt;br /&gt;
*[http://mbm.sourceforge.net/ MBM project website (Support for f3507g/f3607gw in NetworkManager, kernel drivers, gps control software etc)]&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
* Ubuntu 8.10 kernel suffers from the &amp;quot;option&amp;quot; regression mentioned above. However both CDC ACM and CDC Ethernet interfaces are treated correctly by Ubuntu 9.04 kernel.&lt;br /&gt;
* Playing around with the device under Linux can cause it to disappear under Windows Vista. Issue + Fix described [http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/Ericsson-f3507g-doesn-t-appear-under-Vista32-anymore-but-works/m-p/138874 here]&lt;br /&gt;
&lt;br /&gt;
==Models==&lt;br /&gt;
*{{X200}}&lt;br /&gt;
*{{X200 Tablet}}&lt;br /&gt;
*{{X301}}&lt;br /&gt;
*{{T400}}&lt;br /&gt;
*{{T400s}}&lt;br /&gt;
*{{T500}}&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:T400s&amp;diff=44458</id>
		<title>Category:T400s</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:T400s&amp;diff=44458"/>
		<updated>2009-10-07T00:46:33Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Undo revision 44443 by Jbfasulo (Talk) - weird link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad T400s ===&lt;br /&gt;
This page gives an overview of all ThinkPad T400s related topics.&lt;br /&gt;
&lt;br /&gt;
Page under construction&lt;br /&gt;
&lt;br /&gt;
==== Standard Features ====&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadT400s.jpg|ThinkPad T400s|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-72867 Lenovo Product overview page]&lt;br /&gt;
&lt;br /&gt;
=== Reviews ===&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
=== Linux Installation ===&lt;br /&gt;
* Fedora 11 installs and runs smoothly, including wireless network.&lt;br /&gt;
* The [[How to hotswap Ultrabay devices]] eject script works, but this model does not have an eject lever.&lt;br /&gt;
* [[Install_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_T400s | Ubuntu Karmic Alpha 4]] installs and runs smoothly.&lt;br /&gt;
&lt;br /&gt;
[[Category:T Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/tp-bat-balance&amp;diff=44343</id>
		<title>Code/tp-bat-balance</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/tp-bat-balance&amp;diff=44343"/>
		<updated>2009-09-11T18:27:21Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Code comments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#!/usr/bin/perl&lt;br /&gt;
# Keep two ThinkPad batteries (system battery and UltraBay) at similar charge levels&lt;br /&gt;
# during discharge by switching back and forth. This reduces wear on the UltraBay&lt;br /&gt;
# battery, compared to the hardware's default strategy of fully draining the UltraBay&lt;br /&gt;
# battery before switching to the system battery.&lt;br /&gt;
# WARNING: This script is experimental and uses undocumented hardware features.&lt;br /&gt;
# WARNING: If this script crashes, your battery may be forced to keep draining until empty.&lt;br /&gt;
# Distributed under the terms of the GNU General Public License v2 or later.&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use warnings;&lt;br /&gt;
use File::Slurp;&lt;br /&gt;
&lt;br /&gt;
my $thresh = 3; # difference between battery charge levels that justifies switching (hysteresis)&lt;br /&gt;
&lt;br /&gt;
my $default_discharge = 0; # the battery that's discharged as first priority by the BIOS&lt;br /&gt;
my $smapi_dir = '/sys/devices/platform/smapi';&lt;br /&gt;
&lt;br /&gt;
my $ac_connected;&lt;br /&gt;
my @bat_installed;&lt;br /&gt;
my @bat_remaining;&lt;br /&gt;
my @bat_state;&lt;br /&gt;
my @bat_power_avg;&lt;br /&gt;
my @bat_force_discharge;&lt;br /&gt;
&lt;br /&gt;
$SIG{'INT'} = $SIG{'QUIT'} = $SIG{'TERM'} = sub { die(&amp;quot;# Killed by SIG$_[0]\n&amp;quot;); };&lt;br /&gt;
&lt;br /&gt;
sub read_chomp_file {&lt;br /&gt;
  my ($filename) = @_;&lt;br /&gt;
  my ($x) = read_file($filename) or die &amp;quot;Cannot read $filename\n&amp;quot;;&lt;br /&gt;
  chomp($x);&lt;br /&gt;
  return $x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Read battery status from tp_smapi sysfs interface&lt;br /&gt;
sub read_status {&lt;br /&gt;
  $ac_connected = read_chomp_file(&amp;quot;$smapi_dir/ac_connected&amp;quot;);&lt;br /&gt;
  for my $b (0..1) {&lt;br /&gt;
    $bat_installed[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/installed&amp;quot;);&lt;br /&gt;
    $bat_force_discharge[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/force_discharge&amp;quot;);&lt;br /&gt;
    if ($bat_installed[$b]) {&lt;br /&gt;
      $bat_remaining[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/remaining_percent&amp;quot;);&lt;br /&gt;
      $bat_state[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/state&amp;quot;);&lt;br /&gt;
      $bat_power_avg[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/power_avg&amp;quot;) / 1000.0;&lt;br /&gt;
    }&lt;br /&gt;
    else { $bat_state[$b] = 'none'; }  #This var needs to always have a value for print_bat to not break. This covers the case of starting the program without a battery in the bay/slot.&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Print status to stdout (ASCII graphics)&lt;br /&gt;
sub print_status {&lt;br /&gt;
  print &amp;quot;   &amp;quot;;&lt;br /&gt;
  sub print_bat {&lt;br /&gt;
    my ($b) = @_;&lt;br /&gt;
    my ($ll,$lr,$rl,$rr) = $b ? ('-','&amp;gt;','&amp;lt;','-') : ('&amp;lt;','-','-','&amp;gt;');&lt;br /&gt;
    my $icon = sprintf(&amp;quot;[%3s]&amp;quot;, $bat_installed[$b] ? $bat_remaining[$b].&amp;quot;%&amp;quot; : &amp;quot;&amp;quot;);&lt;br /&gt;
    my $arrow;&lt;br /&gt;
    my $state = $bat_state[$b];&lt;br /&gt;
    if ($state eq 'charging') {&lt;br /&gt;
      $arrow = sprintf(&amp;quot;$ll--%4.1f--$lr&amp;quot;, $bat_power_avg[$b]);&lt;br /&gt;
    } elsif ($state eq 'discharging') {&lt;br /&gt;
      $arrow = sprintf(&amp;quot;$rl--%4.1f--$rr&amp;quot;, -$bat_power_avg[$b]);&lt;br /&gt;
    } elsif ($state eq 'idle' || $state eq 'none') {  #Added none to cover case with no battery in slot when program was started.&lt;br /&gt;
      $arrow = &amp;quot;          &amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
      die &amp;quot;Unknown state $state for battery $b&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    print($b ? &amp;quot;$arrow$icon&amp;quot; : &amp;quot;$icon$arrow&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  print_bat(0);&lt;br /&gt;
  print($ac_connected ? ' {AC} ' : ' {  } ');&lt;br /&gt;
  print_bat(1);&lt;br /&gt;
  print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Choose which battery to discharge&lt;br /&gt;
sub choose_discharge {&lt;br /&gt;
  sub set_force_discharge {&lt;br /&gt;
    my ($b,$on) = @_;&lt;br /&gt;
    return if $b!=$default_discharge; # the non-default battery will be discharged only when necessary anyway&lt;br /&gt;
    return if $bat_force_discharge[$b]==$on;&lt;br /&gt;
    write_file(&amp;quot;$smapi_dir/BAT$b/force_discharge&amp;quot;, ($on?'1':'0')) or die (&amp;quot;Cannot write to $smapi_dir/BAT$b/force_discharge: $!\n&amp;quot;);&lt;br /&gt;
    print(&amp;quot;# setting force_discharge on battery $b to $on\n&amp;quot;);&lt;br /&gt;
    $bat_force_discharge[$b] = $on;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ($ac_connected || !$bat_installed[0] || !$bat_installed[1]) {&lt;br /&gt;
    for $b (0..1) {&lt;br /&gt;
      set_force_discharge($b,0);&lt;br /&gt;
    }&lt;br /&gt;
  } else {&lt;br /&gt;
    if ($bat_remaining[0] &amp;gt; $bat_remaining[1] + $thresh) {&lt;br /&gt;
      set_force_discharge(0,1);&lt;br /&gt;
      set_force_discharge(1,0);&lt;br /&gt;
    } elsif ($bat_remaining[1] &amp;gt; $bat_remaining[0] + $thresh) {&lt;br /&gt;
      set_force_discharge(0,0);&lt;br /&gt;
      set_force_discharge(1,1);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
while (1) {&lt;br /&gt;
  read_status;&lt;br /&gt;
  print_status;&lt;br /&gt;
  choose_discharge;&lt;br /&gt;
  sleep(5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
END {&lt;br /&gt;
  print(&amp;quot;# Cleanup\n&amp;quot;);&lt;br /&gt;
  write_file(&amp;quot;$smapi_dir/BAT0/force_discharge&amp;quot;, ('0'));&lt;br /&gt;
  write_file(&amp;quot;$smapi_dir/BAT1/force_discharge&amp;quot;, ('0'));&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Power_Connector&amp;diff=44342</id>
		<title>Power Connector</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Power_Connector&amp;diff=44342"/>
		<updated>2009-09-11T18:22:31Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* 65W 3.25 Amps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Over time, different ThinkPads have used different power connectors. You can use a higher Amperage rated power supply then your ThinkPad needs, as long as the physical connector is correct. But you should not use a lower Amperage power supply on a ThinkPad needing more Amperage. Doing so will overheat the power supply, and might cause issues such as screen flicker.&lt;br /&gt;
&lt;br /&gt;
{{HINT|In case you cannot find your Model ThinkPad listed, or you wish to double check, you can find the required power information on a label on the bottom of your ThinkPad}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The Amperage's listed below are the OUTPUT values for the AC adapter, which should be equal or greater then what your ThinkPad requires}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==10.5 V, 1.0 A Power==&lt;br /&gt;
*ThinkPad {{220}}&lt;br /&gt;
&lt;br /&gt;
==15 V, 2.0 A Power==&lt;br /&gt;
*ThinkPad {{350}}, {{350C}}&lt;br /&gt;
*ThinkPad {{500}}, {{510Cs}}&lt;br /&gt;
*ThinkPad {{730T}}&lt;br /&gt;
&lt;br /&gt;
==4-Pin connector==&lt;br /&gt;
[[image:4pin-power-plug.JPG|right|thumb|4 pin power connector]]&lt;br /&gt;
===Unknown watts/amps===&lt;br /&gt;
*ThinkPad {{355}}, {{355Cs}}, {{355C}}&lt;br /&gt;
*ThinkPad {{360}}, {{360Cs}}, {{360C}}, {{360P}}, {{360CSE}}, {{360CE}}, {{360PE}}&lt;br /&gt;
*ThinkPad {{370C}}&lt;br /&gt;
*ThinkPad {{700}}, {{700C}}&lt;br /&gt;
*ThinkPad {{720}}, {{720C}}&lt;br /&gt;
*ThinkPad {{750}}, {{750Cs}}, {{750C}}, {{750P}}&lt;br /&gt;
===35W===&lt;br /&gt;
AC Adapter PN 76H0119&lt;br /&gt;
* ThinkPad {{755CX}}, {{755CV}}, {{755CD}}, {{755CDV}}&lt;br /&gt;
*ThinkPad {{760L}}, {{760C}}, {{760CD}}, {{760EL}}, {{760ELD}}, {{760E}}, {{760ED}}, {{760XL}}, {{760XD}}&lt;br /&gt;
===40W===&lt;br /&gt;
*ThinkPad {{755C}}, {{755Cs}}, {{755CSE}}, {{755CE}}&lt;br /&gt;
*ThinkPad {{760LD}}&lt;br /&gt;
===56W===&lt;br /&gt;
AC Adapter PN 12J2456&lt;br /&gt;
*ThinkPad {{765L}}, {{765D}}&lt;br /&gt;
&lt;br /&gt;
==16 Volt 4-Pin Power Mini-Din connector==&lt;br /&gt;
[[image:120w-plug.jpg|right|thumb|120W power plug]]&lt;br /&gt;
===120W 7.5 Amps===&lt;br /&gt;
AC Adapter FRU PN 92P1035&amp;lt;br&amp;gt;&lt;br /&gt;
AC Adapter Ouput: 7.5A, 16V&lt;br /&gt;
*ThinkPad {{G Series}}&lt;br /&gt;
*[[ThinkPad Mini-Dock]]&lt;br /&gt;
&lt;br /&gt;
==16 Volt Coax connector==&lt;br /&gt;
[[image:16v-barrel.jpg|right|thumb|16V coax connector]]&lt;br /&gt;
This is a  2.5/5.5mm barrel connector&lt;br /&gt;
===35W 2.2 Amps===&lt;br /&gt;
AC Adapter input: 1.9A, 35W&amp;lt;br&amp;gt;&lt;br /&gt;
AC Adapter output: 2.2A, 16V&lt;br /&gt;
*ThinkPad {{560}}, {{560E}}, {{560X}}, {{560Z}}&lt;br /&gt;
&lt;br /&gt;
===54W 3.36 Amps===&lt;br /&gt;
&lt;br /&gt;
===56W 3.5 Amps===&lt;br /&gt;
AC Adapter FRU PN 02K6810, 02K6816&lt;br /&gt;
*ThinkPad {{235}}&lt;br /&gt;
*ThinkPad {{240}}, {{240X}}&lt;br /&gt;
*ThinkPad {{310}}, {{310D}}, {{310E}}, {{310ED}}&lt;br /&gt;
*ThinkPad {{340}}&lt;br /&gt;
*ThinkPad {{345CS}}, {{345C}}&lt;br /&gt;
*ThinkPad {{365CS}}, {{365C}}, {{365CSD}}, {{365CD}}, {{365E}}, {{365ED}}, {{365X}}, {{365XD}}&lt;br /&gt;
*ThinkPad {{380}}, {{380D}}, {{380E}}, {{380ED}}, {{380XD}}, {{380Z}}&lt;br /&gt;
*ThinkPad {{385D}}, {{385ED}}, {{385XD}}&lt;br /&gt;
*ThinkPad {{390}}, {{390E}}, {{390X}}&lt;br /&gt;
*ThinkPad {{535}}, {{535E}}&lt;br /&gt;
*ThinkPad {{570}}, {{570E}}&lt;br /&gt;
*ThinkPad {{600}}, {{600E}}, {{600X}}&lt;br /&gt;
*ThinkPad {{701C}}, {{701CS}}&lt;br /&gt;
*ThinkPad {{770}}, {{770E}}, {{770ED}}, {{770X}}, {{770Z}}&lt;br /&gt;
*ThinkPad {{A Series}}&lt;br /&gt;
*ThinkPad {{R30}}, {{R31}}, {{R32}}&lt;br /&gt;
*ThinkPad {{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}&lt;br /&gt;
*ThinkPad {{TransNote}}&lt;br /&gt;
*ThinkPad {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41t}}&lt;br /&gt;
&lt;br /&gt;
===72W 4.5 Amps===&lt;br /&gt;
AC Adapter FRU PN 02K6744, 08K8202&lt;br /&gt;
*ThinkPad {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
&lt;br /&gt;
===90W 5.6 Amps===&lt;br /&gt;
*ThinkPad {{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R51e}},  {{R52}}&lt;br /&gt;
&lt;br /&gt;
==20 Volt Coax connector==&lt;br /&gt;
[[image:20v-barrel.jpg|right|thumb|20V coax connector]]&lt;br /&gt;
===65W 3.25 Amps===&lt;br /&gt;
AC Adapter FRU PN 92P1211&amp;lt;br&amp;gt;&lt;br /&gt;
AC Adapter Output 3.25A, 20V&lt;br /&gt;
*ThinkPad {{X61}}, {{X61s}}&lt;br /&gt;
*ThinkPad {{X300}}&lt;br /&gt;
*ThinkPad {{X301}}&lt;br /&gt;
*ThinkPad {{T400s}}&lt;br /&gt;
* Also compatible with select ThinkPad R60, T60 and Z60 models with Intel graphics&lt;br /&gt;
&lt;br /&gt;
===90W 4.5 Amps===&lt;br /&gt;
AC Adapter FRU PN 92P1107&lt;br /&gt;
*ThinkPad {{R60}}, {{R60e}}&lt;br /&gt;
*ThinkPad {{T60}}, {{T60p}}, {{T61}}, {{T61p}}&lt;br /&gt;
*ThinkPad {{Z60m}}, {{Z60t}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--unsorted&lt;br /&gt;
*ThinkPad {{820}}, {{850}}, {{860}}&lt;br /&gt;
*ThinkPad {{I Series}}&lt;br /&gt;
*ThinkPad {{S30}}, {{S31}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ericsson_F3507g_Mobile_Broadband_Module&amp;diff=43951</id>
		<title>Ericsson F3507g Mobile Broadband Module</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ericsson_F3507g_Mobile_Broadband_Module&amp;diff=43951"/>
		<updated>2009-08-15T17:07:12Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Using F3507g with NetworkManager */ Smooth on Fedora 11&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Here are some basics about Ericsson F3507g MiniPCIe WWAN/GPS card (USB ID &amp;lt;tt&amp;gt;0bdb:1900&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;0bdb:1902&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* the card will not work without an inserted SIM, even the GPS function. If you want to use just GPS, any SIM would work, even if it is not attached to any active account with any GSM provider.&lt;br /&gt;
* the card provides three CDC ACM interfaces (&amp;lt;tt&amp;gt;CONFIG_USB_ACM=m&amp;lt;/tt&amp;gt;), two CDC WDM interfaces (&amp;lt;tt&amp;gt;CONFIG_USB_WDM=m&amp;lt;/tt&amp;gt;) and one CDC Ethernet interface (&amp;lt;tt&amp;gt;CONFIG_USB_NET_CDCETHER=m&amp;lt;/tt&amp;gt;), and identifies them as&lt;br /&gt;
 for n in `ls /sys/class/*/*{ACM,wdm,usb0}*/device/interface`;do echo $(echo $n|awk -F '/' '{print $5}') : $(cat $n);done&lt;br /&gt;
 &lt;br /&gt;
 usb0 : Ericsson F3507g Mobile Broadband Minicard Network Adapter&lt;br /&gt;
 ttyACM0 : Ericsson F3507g Mobile Broadband Minicard Modem&lt;br /&gt;
 ttyACM1 : Ericsson F3507g Mobile Broadband Minicard Data Modem&lt;br /&gt;
 ttyACM2 : Ericsson F3507g Mobile Broadband Minicard GPS Port&lt;br /&gt;
 cdc-wdm0 : Ericsson F3507g Mobile Broadband Minicard Device Management&lt;br /&gt;
 cdc-wdm1 : Ericsson F3507g Mobile Broadband Minicard PC SC Port&lt;br /&gt;
'''Note''':&lt;br /&gt;
*apparently, for a while &amp;lt;tt&amp;gt;option&amp;lt;/tt&amp;gt; USB-serial driver had claimed USB ID &amp;lt;tt&amp;gt;0bdb:1900&amp;lt;/tt&amp;gt;, but this was wrong, and as of kernel 2.6.28.9 that commit was reversed. If instead of &amp;lt;tt&amp;gt;/dev/ttyACM*&amp;lt;/tt&amp;gt; you see &amp;lt;tt&amp;gt;/dev/ttyUSB*&amp;lt;/tt&amp;gt;, it means that &amp;lt;tt&amp;gt;option&amp;lt;/tt&amp;gt; module is loaded. You may need to blacklist it to make sure it doesn't happen.&lt;br /&gt;
*Support for the CDC Ethernet interface appears only in kernel 2.6.28.8. But if your kernel is older, you can still connect to the net using one of the &amp;quot;Modem&amp;quot; interfaces.&lt;br /&gt;
&lt;br /&gt;
As Ericsson's naming scheme suggests, idealy we would use &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt; for controlling the card, &amp;lt;tt&amp;gt;usb0&amp;lt;/tt&amp;gt; as a network device, &amp;lt;tt&amp;gt;/dev/ttyACM0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt; as a modem, and &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt; for GPS. This works for manual testing, but unfortunately, due to [http://markmail.org/message/2sd7culbgekugow2 limitations] of &amp;lt;tt&amp;gt;chat&amp;lt;/tt&amp;gt;, does not play very well in scripts. So, instead of &amp;lt;tt&amp;gt;/dev/cdc-wdm0&amp;lt;/tt&amp;gt;, for controlling the card we will use &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Turning the card on==&lt;br /&gt;
First, check whenever the SIM is protected by PIN by sending &lt;br /&gt;
&lt;br /&gt;
 AT+CPIN?&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. You can do it with any terminal terminal program like &amp;lt;tt&amp;gt;cu&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt;. If the answer is&lt;br /&gt;
&lt;br /&gt;
 +CPIN: READY&lt;br /&gt;
&lt;br /&gt;
then the SIM is unlocked. If the answer is&lt;br /&gt;
&lt;br /&gt;
 +CPIN: SIM PIN&lt;br /&gt;
&lt;br /&gt;
you need first to unlock it by sending&lt;br /&gt;
&lt;br /&gt;
 AT+CPIN=&amp;quot;YOUR-PIN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Now the card can be turned on by sending &lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=1&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. The answer should be&lt;br /&gt;
&lt;br /&gt;
 +PACSP0&lt;br /&gt;
&lt;br /&gt;
Don't try to do anything until you see it. To force GSM-only connection, send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=5&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. To force WCDMA-only connection, send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=6&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Turning the card off==&lt;br /&gt;
To put the card into energy-saving mode (this is the default), you can send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=4&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. To remove all power from the card, send&lt;br /&gt;
&lt;br /&gt;
 AT+CFUN=0&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Be carefull with the last command. It turns the card completely off, and it will no longer accept any AT-commands before the hard reset. To physically reset the card flip the wireless switch off, and then on. You can do the same by sending &amp;lt;tt&amp;gt;echo 0 &amp;gt; /sys/devices/platform/thinkpad_acpi/wwan_enable&amp;lt;/tt&amp;gt; (to turn off) and then &amp;lt;tt&amp;gt;echo 1 &amp;gt; /sys/devices/platform/thinkpad_acpi/wwan_enable&amp;lt;/tt&amp;gt; (to turn on).&lt;br /&gt;
&lt;br /&gt;
==Using the card as a wireless modem==&lt;br /&gt;
Once the card is turned on, there are two ways to connect to the net. The first one is just to use the card as any &amp;quot;normal&amp;quot; GPRS modem and start &amp;lt;tt&amp;gt;pppd&amp;lt;/tt&amp;gt; daemon on one of &amp;lt;tt&amp;gt;/dev/ttyACM*&amp;lt;/tt&amp;gt;. The other way is to use CDC Ethernet interface. It is supposed to be more efficient, but it requires a pretty recent (&amp;gt;=2.6.28.8) kernel.&lt;br /&gt;
&lt;br /&gt;
====Connecting to the net via pppd====&lt;br /&gt;
For the first approach, the easiest way to do it is to use &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;. For example, to connect to AT&amp;amp;T Wireless network, your &amp;lt;tt&amp;gt;/etc/wvdial.conf&amp;lt;/tt&amp;gt; would have to be something like this&lt;br /&gt;
 [Dialer 3G]&lt;br /&gt;
 Modem = /dev/ttyACM0&lt;br /&gt;
 Init1 = AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;'''proxy'''&amp;quot;&lt;br /&gt;
 Stupid mode = 1&lt;br /&gt;
 phone= *99#&lt;br /&gt;
 Username = *&lt;br /&gt;
 Password = *&lt;br /&gt;
'''Note''': if you are using a SIM from a different mobile provider, you may need to change the access point name (APN) &amp;quot;'''proxy'''&amp;quot; in &amp;lt;tt&amp;gt;Init1&amp;lt;/tt&amp;gt; string and Username/Password to something else. You can find the appropriate APN [http://www.pinstack.com/carrier_settings_apn_gateway.html here].&lt;br /&gt;
&lt;br /&gt;
====Connecting to the net via CDC Ethernet interface====&lt;br /&gt;
The [http://marc.info/?l=linux-usb&amp;amp;m=123334979706403&amp;amp;w=2 second approach] works for kernels &amp;gt;=2.6.28.8. Configure the APN by sending&lt;br /&gt;
&lt;br /&gt;
 AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;'''proxy'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Instead of &amp;quot;'''proxy'''&amp;quot; you may need to use to something else. Find the appropriate APN [http://www.pinstack.com/carrier_settings_apn_gateway.html here]. To initiate the connection, send&lt;br /&gt;
&lt;br /&gt;
 AT*ENAP=1,1&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Now, if your wireless provider lets you in, you are connected. Launch &amp;lt;tt&amp;gt;dhclient&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 dhclient usb0&lt;br /&gt;
&lt;br /&gt;
and start surfing the net. To disconnect, send&lt;br /&gt;
&lt;br /&gt;
 AT*ENAP=0&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Using the card as a GPS receiver==&lt;br /&gt;
Once the card is turned on, we can use it to get GPS info via NMEA protocol. First, you have to configure the a few NMEA options. It is done by sending &lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSCTL=X,Y,Z&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Here&lt;br /&gt;
&lt;br /&gt;
*X can be 0 (NMEA stream turned off) or 1 (NMEA stream turned on)&lt;br /&gt;
*Y can be an integer form 1 to 60, and sets the frequency of how often the card emits the NMEA sentences&lt;br /&gt;
*Z can be 0 (DGPS is turned off) or 1 (DGPS is turned on)&lt;br /&gt;
&lt;br /&gt;
so, to configure the GPSr to update every 5 seconds, and turn DGPS on, you would send&lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSCTL=1,5,1&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Once the GPSr is configured, we can get the NMEA stream on /dev/ttyACM2 by sending&lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSNPD&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt;. Once you do that, &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt; will no longer accept any new AT-commands. But you still can change the the behavior of the NMEA stream by sending the appropriate&lt;br /&gt;
&lt;br /&gt;
 AT*E2GPSCTL=X,Y,Z&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt;. Now you can read the NMEA stream by saying&lt;br /&gt;
&lt;br /&gt;
 cat /dev/ttyACM2&lt;br /&gt;
&lt;br /&gt;
or better yet, start &amp;lt;tt&amp;gt;gpsd&amp;lt;/tt&amp;gt; interface on &amp;lt;tt&amp;gt;/dev/ttyACM2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Scripting everything==&lt;br /&gt;
Install the packages&lt;br /&gt;
&lt;br /&gt;
 apt-get install sysfsutils gpsd wvdial&lt;br /&gt;
&lt;br /&gt;
In order to save the power, lets use '''sysfsutils''' to completely power off the WWAN card on boot. Append the following line to &amp;lt;tt&amp;gt;/etc/sysfs.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 devices/platform/thinkpad_acpi/wwan_enable = 0&lt;br /&gt;
&lt;br /&gt;
It will power down the card on boot, but when the laptop wakes from sleep, in some cases the card is powered up agian. To re-apply these settings on wake-up, create a script named &amp;lt;tt&amp;gt;/etc/pm/sleep.d/10sysfsutils&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 case $1 in&lt;br /&gt;
     (hibernate|suspend)&lt;br /&gt;
         ;;&lt;br /&gt;
     (thaw|resume)&lt;br /&gt;
         /etc/init.d/sysfsutils start&lt;br /&gt;
         ;;&lt;br /&gt;
     *)  echo &amp;quot;somebody is calling me totally wrong.&amp;quot;&lt;br /&gt;
         ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
Don't forget to &amp;lt;tt&amp;gt;chmod a+x /etc/pm/sleep.d/10sysfsutils&amp;lt;/tt&amp;gt;. Create a file called &amp;lt;tt&amp;gt;/usr/local/etc/F3507g&amp;lt;/tt&amp;gt; containing the following:&lt;br /&gt;
&lt;br /&gt;
 GPSDPID=&amp;quot;/var/run/gpsd.pid&amp;quot;&lt;br /&gt;
 CONTROL_DEVICE=&amp;quot;/dev/ttyACM1&amp;quot;&lt;br /&gt;
 GPS_DEVICE=&amp;quot;/dev/ttyACM2&amp;quot;&lt;br /&gt;
 '''PIN=&amp;quot;&amp;quot;'''&lt;br /&gt;
 '''APN=&amp;quot;proxy&amp;quot;'''&lt;br /&gt;
 &lt;br /&gt;
 powerup_F3507g () {&lt;br /&gt;
 	echo -n &amp;quot;Powering up F3507g card..&amp;quot;&lt;br /&gt;
 	echo 1 &amp;gt; /sys/devices/platform/thinkpad_acpi/wwan_enable&lt;br /&gt;
 	while [ ! -c $CONTROL_DEVICE ]; do sleep 0.5; echo -n &amp;quot;.&amp;quot;; done&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	echo -n &amp;quot;Turning on F3507g card...&amp;quot;&lt;br /&gt;
 	sleep 3&lt;br /&gt;
 	if [ -n &amp;quot;$PIN&amp;quot; ]; then&lt;br /&gt;
 	    /usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT+CPIN?&amp;quot; &amp;quot;SIM PIN&amp;quot; &amp;quot;AT&amp;quot; &amp;quot;OK&amp;quot; &amp;quot;AT+CPIN=\&amp;quot;$PIN\&amp;quot;&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $CONTROL_DEVICE &amp;lt; $CONTROL_DEVICE&lt;br /&gt;
 	fi&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT+CPIN?&amp;quot; &amp;quot;READY&amp;quot; &amp;quot;AT+CFUN=1&amp;quot; &amp;quot;+PACSP0&amp;quot; &amp;quot;AT&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $CONTROL_DEVICE &amp;lt; $CONTROL_DEVICE&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 powerdown_F3507g () {&lt;br /&gt;
 	echo -n &amp;quot;Turning off F3507g card...&amp;quot;&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT+CFUN=4&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $CONTROL_DEVICE &amp;lt; $CONTROL_DEVICE&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	echo -n &amp;quot;Powering down F3507g card..&amp;quot;&lt;br /&gt;
 	echo 0 &amp;gt; /sys/devices/platform/thinkpad_acpi/wwan_enable&lt;br /&gt;
 	while [ -c $CONTROL_DEVICE ]; do sleep 0.5; echo -n &amp;quot;.&amp;quot;; done&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 configure_GPS () {&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT*E2GPSCTL=$1,$2,$3&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $CONTROL_DEVICE &amp;lt; $CONTROL_DEVICE&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnon_GPS () {&lt;br /&gt;
 	echo -n &amp;quot;Starting NMEA stream on $GPS_DEVICE...&amp;quot;&lt;br /&gt;
 	configure_GPS 1 1 1&lt;br /&gt;
 	sleep 1&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT*E2GPSNPD&amp;quot; &amp;quot;GPGGA&amp;quot; &amp;gt; $GPS_DEVICE &amp;lt; $GPS_DEVICE&lt;br /&gt;
 	start-stop-daemon --start --exec /usr/sbin/gpsd -- -P $GPSDPID $GPS_DEVICE&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnoff_GPS () {&lt;br /&gt;
 	echo -n &amp;quot;Stopping NMEA stream on $GPS_DEVICE...&amp;quot;&lt;br /&gt;
 	start-stop-daemon --stop --pidfile $GPSDPID&lt;br /&gt;
 	configure_GPS 0 1 0&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	turnoff_F3507g&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnon_usbnet () {&lt;br /&gt;
 	echo -n &amp;quot;Starting usbnet connection...&amp;quot;&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT+CGDCONT=1,\&amp;quot;IP\&amp;quot;,\&amp;quot;$APN\&amp;quot;&amp;quot; &amp;quot;OK&amp;quot; &amp;quot;AT*ENAP=1,1&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $CONTROL_DEVICE &amp;lt; $CONTROL_DEVICE&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnoff_usbnet () {&lt;br /&gt;
 	echo -n &amp;quot;Stopping usbnet connection...&amp;quot;&lt;br /&gt;
 	/usr/sbin/chat -v &amp;quot;&amp;quot; &amp;quot;AT*ENAP=0&amp;quot; &amp;quot;OK&amp;quot; &amp;gt; $CONTROL_DEVICE &amp;lt; $CONTROL_DEVICE&lt;br /&gt;
 	echo &amp;quot;done&amp;quot;&lt;br /&gt;
 	turnoff_F3507g&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 turnoff_F3507g () {&lt;br /&gt;
 	[ -z $(grep gps /var/run/network/ifstate) ] &amp;amp;&amp;amp; \&lt;br /&gt;
 	[ -z $(grep usb0 /var/run/network/ifstate) ] &amp;amp;&amp;amp; \&lt;br /&gt;
 	[ -z $(grep 3G /var/run/network/ifstate) ] &amp;amp;&amp;amp; \&lt;br /&gt;
 	ifdown F3507g&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Give the correct '''PIN''' and find the '''APN''' for your wireless provider [http://www.pinstack.com/carrier_settings_apn_gateway.html here]. Append the following lines to your &amp;lt;tt&amp;gt;/etc/network/interfaces&amp;lt;/tt&amp;gt; file&lt;br /&gt;
&lt;br /&gt;
 iface F3507g inet manual&lt;br /&gt;
 up . /usr/local/etc/F3507g; powerup_F3507g&lt;br /&gt;
 down . /usr/local/etc/F3507g; powerdown_F3507g&lt;br /&gt;
 &lt;br /&gt;
 iface 3G inet wvdial&lt;br /&gt;
 pre-up ifup F3507g&lt;br /&gt;
 post-down . /usr/local/etc/F3507g; turnoff_F3507g&lt;br /&gt;
 provider 3G&lt;br /&gt;
  &lt;br /&gt;
 iface gps inet manual&lt;br /&gt;
 up . /usr/local/etc/F3507g; ifup F3507g; turnon_GPS&lt;br /&gt;
 down . /usr/local/etc/F3507g; turnoff_GPS&lt;br /&gt;
 &lt;br /&gt;
 iface usb0 inet dhcp&lt;br /&gt;
 pre-up . /usr/local/etc/F3507g; ifup F3507g; turnon_usbnet&lt;br /&gt;
 post-down . /usr/local/etc/F3507g; turnoff_usbnet&lt;br /&gt;
&lt;br /&gt;
Configure &amp;lt;tt&amp;gt;/etc/wvdial.conf&amp;lt;/tt&amp;gt; to look like this:&lt;br /&gt;
&lt;br /&gt;
 [Dialer 3G]&lt;br /&gt;
 Modem = /dev/ttyACM0&lt;br /&gt;
 Init1 = AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;'''proxy'''&amp;quot;&lt;br /&gt;
 Stupid mode = 1&lt;br /&gt;
 phone= *99#&lt;br /&gt;
 Username = *&lt;br /&gt;
 Password = *&lt;br /&gt;
&lt;br /&gt;
'''Note''': you may need to change the access point name (APN) &amp;quot;'''proxy'''&amp;quot; in &amp;lt;tt&amp;gt;Init1&amp;lt;/tt&amp;gt; string and Username/Password to something else. Find the appropriate APN [http://www.pinstack.com/carrier_settings_apn_gateway.html here].&lt;br /&gt;
&lt;br /&gt;
Now broadband connection could be started in the same way as you start any other network interface, just by saying &amp;lt;tt&amp;gt;ifup usb0&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;ifup 3G&amp;lt;/tt&amp;gt;, if connecting via &amp;lt;tt&amp;gt;pppd&amp;lt;/tt&amp;gt;). To shut it down, say &amp;lt;tt&amp;gt;ifdown usb0&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;ifdown 3G&amp;lt;/tt&amp;gt;). Similarly, GPS interface is started by &amp;lt;tt&amp;gt;ifup gps&amp;lt;/tt&amp;gt; and turned off by &amp;lt;tt&amp;gt;ifdown gps&amp;lt;/tt&amp;gt;. Once you get a fix, you can use your favourite GPS mapping application like [http://www.tangogps.org tangogps].  The &amp;quot;cold start&amp;quot; seems to take quite a bit however, and sometimes it cannot get a fix if indoors.&lt;br /&gt;
&lt;br /&gt;
==Using F3507g with NetworkManager==&lt;br /&gt;
Work is ongoing to add support for Ericsson Mobile Broadband Modules to GNOME NetworkManager / modem-manager. More information is available on the [http://mbm.sourceforge.net/ MBM project website] and the [http://sourceforge.net/apps/mediawiki/mbm/index.php?title=MBM MBM wiki].&lt;br /&gt;
&lt;br /&gt;
The F3507g card (in a ThinkPad {{T400s}}) works out of the box on Fedora 11. No configuration is needed beyond setting the data plan provider in the nm-applet GUI.&lt;br /&gt;
&lt;br /&gt;
Using mbmb-gdsd gps works flawlessly with the F3507g on Karmic Koala with modemmanager packages from [https://launchpad.net/~modemmanager/+archive/ppa Ubuntu PPA], the mbm-gpsd installed by source using the description from [http://sourceforge.net/apps/mediawiki/mbm/index.php?title=MBM#GPS_Control_.28mbm-gpsd.29 here] and knowing the PIN of your SIM card.&lt;br /&gt;
&lt;br /&gt;
==Other thoughts==&lt;br /&gt;
While &amp;lt;tt&amp;gt;AT+CFUN=*&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;AT+CPIN=*&amp;lt;/tt&amp;gt; are pretty standard commands for wireless modems and are well-documented (e.g. [http://developer.sonyericsson.com/getDocument.do?docId=65054 here] and [http://www.sierrawireless.com/resources/documents/support/2130617_Supported_AT_Command_Reference_Rev_2.1.pdf here]), it appears that the commands &amp;lt;tt&amp;gt;AT*E2GPSCTL&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;AT*E2GPSNPD&amp;lt;/tt&amp;gt; are unique to the Ericsson F3507g card. All credit for discovering them goes to &amp;quot;Nickolai Zeldovich&amp;quot; who left a comment in this [http://redmonk.com/sogrady/2008/09/24/apone/ thread]. I imagine one could find them via a USB sniffer on a working Windows machine (or a Linux machine with Windows running in a virtual machine). Another way to get them is to try to look for &amp;quot;gps&amp;quot; string in Windows drivers. What is interesting, F3507g supports a few other AT-commands with &amp;quot;GPS&amp;quot; substring (you can get all supported AT-commands by sending &amp;lt;tt&amp;gt;AT*&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/dev/ttyACM1&amp;lt;/tt&amp;gt; after activating it with &amp;lt;tt&amp;gt;AT+CFUN=1&amp;lt;/tt&amp;gt;). Anyway, there is a [http://www.natisbad.org/E4300/Dell_Wireless_5530_AT_cmd_ref.html project] aiming to document all AT-commands for the Ericsson F3507g card.&lt;br /&gt;
&lt;br /&gt;
==Related Links==&lt;br /&gt;
*[http://www.natisbad.org/E4300/Dell_Wireless_5530_AT_cmd_ref.html F3705g - AT commands reference]&lt;br /&gt;
*[http://www.pinstack.com/carrier_settings_apn_gateway.html Carrier internet Settings (Apn, Gateway, etc)]&lt;br /&gt;
*[http://mbm.sourceforge.net/ MBM project website (Support for f3507g/f3607gw in NetworkManager, kernel drivers, gps control software etc)]&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
* Ubuntu 8.10 kernel suffers from the &amp;quot;option&amp;quot; regression mentioned above. However both CDC ACM and CDC Ethernet interfaces are treated correctly by Ubuntu 9.04 kernel.&lt;br /&gt;
&lt;br /&gt;
==Models==&lt;br /&gt;
*{{X200}}&lt;br /&gt;
*{{X301}}&lt;br /&gt;
*{{T400}}&lt;br /&gt;
*{{T500}}&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43946</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43946"/>
		<updated>2009-08-15T03:56:30Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Battery charge control features */ Battery balancing script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module exposes some features of the ThinkPad hardware/firmware via a &amp;lt;tt&amp;gt;sysfs&amp;lt;/tt&amp;gt; interface. Currently, the main implemented functionality is control of battery charging and extended battery status. The tp_smapi software package also includes an improved version of the [[HDAPS]] driver. The underlying hardware interfaces are [[SMAPI support for Linux|SMAPI]] and direct access to the embedded controller.&lt;br /&gt;
&lt;br /&gt;
This driver uses undocumented features and direct hardware access, so it may work unreliably or even damage your hardware; but so far no such damage has been reported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; driver&lt;br /&gt;
**Battery charge/discharge control&lt;br /&gt;
**Battery status information&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver (compared with the standard &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver)&lt;br /&gt;
**Improved stability&lt;br /&gt;
**Improved model support&lt;br /&gt;
**Improved functionality&lt;br /&gt;
&lt;br /&gt;
===Project Homepage / Availability===&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* Download page: http://sourceforge.net/projects/tpctl/files/tp_smapi&lt;br /&gt;
* You need to download only the &amp;lt;i&amp;gt;tp_smapi&amp;lt;/i&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Installation from source====&lt;br /&gt;
You will need the kernel headers and makefiles corresponding to your current kernel version. On {{Fedora}}, this means {{cmdroot|yum install kernel-devel-$(uname -r)}} .&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|tar xzvf tp_smapi-0.40.tgz}}&lt;br /&gt;
:{{cmdroot|cd tp_smapi-0.40}}&lt;br /&gt;
&lt;br /&gt;
Then, either compile and load the driver within the current working directory (for testing):&lt;br /&gt;
:{{cmdroot|make load}}&lt;br /&gt;
OR compile and install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, add &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; to also patch the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; for compatibility with &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (this requires a kernel source tree matching the current kernel).&lt;br /&gt;
Again, either load the driver within the current working directory:&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
OR install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
To prepare a stand-alone patch against the current kernel tree (including&lt;br /&gt;
a patch against &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; and new &amp;lt;tt&amp;gt;Kconfig&amp;lt;/tt&amp;gt; entries):&lt;br /&gt;
:{{cmdroot|make patch}}&lt;br /&gt;
&lt;br /&gt;
To delete all autogenerated files:&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
&lt;br /&gt;
The original kernel tree is never modified by any these commands. &lt;br /&gt;
The {{path|/lib/modules}} directory is modified only by {{cmdroot|make install}}.&lt;br /&gt;
&lt;br /&gt;
====Installation in Gentoo====&lt;br /&gt;
The {{Gentoo}} portage system carries a [http://packages.gentoo.org/package/app-laptop/tp_smapi tp_smapi package], which follows the latest version pretty closely. On a Gentoo system, you can install and load as follows.&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, do this first:&lt;br /&gt;
&lt;br /&gt;
* Disable the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module in your kernel configuration (Device Drivers &amp;amp;rarr; Hardware Monitoring Support &amp;amp;rarr; IBM Hard Drive Active Protection System)&lt;br /&gt;
* Rebuild and install the kernel&lt;br /&gt;
* Add the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; use flag in {{path|/etc/make.conf}}&lt;br /&gt;
* {{cmdroot|rmmod hdaps}}&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
* {{cmdroot|emerge tp_smapi}} (or install tp_smapi with hdaps support manually, as above)&lt;br /&gt;
* {{cmdroot|echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
* {{cmdroot|echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
&lt;br /&gt;
Then reboot, or run:&lt;br /&gt;
* {{cmdroot|modprobe tp_smapi}}&lt;br /&gt;
* {{cmdroot|modprobe hdaps}}&lt;br /&gt;
&lt;br /&gt;
====Installation on Debian unstable (sid), testing (squeeze) or stable (lenny)====&lt;br /&gt;
Debian now contains the [http://packages.debian.org/tp-smapi packaged module source] and prebuilt modules for Debian kernels.&lt;br /&gt;
&lt;br /&gt;
If you use a stock Debian kernel, you can install the tp_smapi modules with:&lt;br /&gt;
* {{cmdroot|apt-get install tp-smapi-modules-`uname -r`}}&lt;br /&gt;
* in order to make sure the modules package is kept in sync with the kernel one, you may also want to install the &amp;lt;code&amp;gt;tm-smapi-modules-2.6-686&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;tm-smapi-modules-2.6-amd64&amp;lt;/code&amp;gt; package, depending on your architecture &lt;br /&gt;
&lt;br /&gt;
If you use a custom kernel, you can build tp_smapi with module-assistant:&lt;br /&gt;
* {{cmdroot|aptitude install tp-smapi-source}}&lt;br /&gt;
* {{cmdroot|m-a -t a-i tp-smapi}}&lt;br /&gt;
&lt;br /&gt;
====Installation on openSUSE====&lt;br /&gt;
openSUSE provides rpm packages. Look for them at the package search: [http://software.opensuse.org/search/], search for the package named &amp;quot;tp_smapi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A step-by-step guide on how a relative linux newbie installed tp_smapi on a Thinkpad W500 running openSuse 11.1 using YAST Software Manager is available [http://forums.opensuse.org/hardware/laptop/417254-tp_smapi-lenovo-thinkpad-t400-t500-w500-step-step.html#post2005932 here]&lt;br /&gt;
&lt;br /&gt;
In case you are taking the hard way around, while compiling on 11.0, make complained about not being able to locate the kernel sources. It worked for me after I did this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp /usr/include/linux/aio_abi.h /lib/modules/`uname -r`/build/include/linux/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Installation on Ubuntu====&lt;br /&gt;
Ubuntu ships tp_smapi in their &amp;lt;tt&amp;gt;linux-ubuntu-modules-*&amp;lt;/tt&amp;gt; package for Hardy, so you don't have to build it yourself. Please note that they have renamed tp_smapi's modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module to &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; so that the two can coexist. You should load &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt;, not &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Intrepid and Jaunty, however, lack the &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; module, as reported [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/297213 here]. It will not be included again until said [[#Bundled hdaps driver|bundled hdaps driver]] is merged into mainline.&lt;br /&gt;
&lt;br /&gt;
=====Installation on Ubuntu Jaunty=====&lt;br /&gt;
I have posted my experiences [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html here]&lt;br /&gt;
&lt;br /&gt;
====Installation on older Ubuntu/Debian====&lt;br /&gt;
Installation on Ubuntu or Debian is quite easy, but there are a few things to look after:&lt;br /&gt;
&lt;br /&gt;
To get your system ready for compiling code, install the build-essentials (as root, of course, as all of the following comands; Ubuntu users have to prepend 'sudo' to every line and enter their own password when prompted):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install build-essential&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi to work, obtain the latest source as mentioned above and unpack it. If you want to use HDAPS, you need to install the kernel source matching te kernel you are running. To do so, issue this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;uname -r&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give you the version of your current kernel. &lt;br /&gt;
Debian users execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ubuntu users execute the following using the kernel-version only (exclude -XX-generic; e.g. 'linux-source-2.6.20'):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be sure to unpack the source file. The easiest way is to open Nautilus as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;sudo nautilus&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then browse to /usr/src/ and extract the source file to that directory.&lt;br /&gt;
&lt;br /&gt;
Now change to the tp_smapi dir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd tp_smapi-X.YY&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (X.YY being the version-number of [[tp_smapi]])&lt;br /&gt;
and make and install tp_smapi as instructed above.&lt;br /&gt;
&lt;br /&gt;
If you get an error that the kernel version isn't matching (or that you need to set KSRC/KBUILD), please check that there is a symlink from the modules dir to the kernel source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ls -l /lib/modules/2.6.20-16-generic&lt;br /&gt;
lrwxrwxrwx  1 root root     28 2007-02-02 08:39 build -&amp;gt; /usr/src/linux-source-2.6.20&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create the link if the line above is not existent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ln -s /usr/src/linux-source-2.6.20 /lib/modules/2.6.20-16-generic/build&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the following will build and install the correct modules to their locations:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;make install HDAPS=1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make sure your system loads the modules at boot time, do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and update your initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi running now, just load the modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;modprobe -a tp_smapi hdaps&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This description was tested on Kubuntu 'Feisty Fawn' and should work on all Debian-based distros with minor tweaks.&lt;br /&gt;
&lt;br /&gt;
'''EDIT:''' Works on Kubuntu 7.10 (&amp;quot;Gutsy Gibbon&amp;quot;), too&lt;br /&gt;
&lt;br /&gt;
===Battery charge control features===&lt;br /&gt;
To set the thresholds for starting and stopping battery charging (in percent of current full charge capacity):&lt;br /&gt;
:{{cmdroot|echo 40 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh}}&lt;br /&gt;
:{{cmdroot|echo 70 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/*_charge_thresh}}&lt;br /&gt;
{{HINT|Battery charging thresholds can be used to keep Li-Ion ad Li-Polymer batteries partially charged, in order to [[Maintenance#Battery_treatment|increase their lifetime]].}}&lt;br /&gt;
To prevent charging for 17 minutes (regardless of thresholds):&lt;br /&gt;
:{{cmdroot|echo 17 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
{{HINT|Charge inhibiting can be used to reduce the power draw of the laptop, in order to use an under-spec power supply that can't handle the combined power draw of running and charging. It can also be used to control which battery is charged when [[How to use UltraBay batteries|using an Ultrabay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel charging preventation:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
&lt;br /&gt;
To force battery discharging (even if connected to AC):&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
{{HINT|This can be used to choose which battery is discharged when [[How to use UltraBay batteries|using an UltraBay battery]]. For example, see the {{CodeRef|tp-bat-balance}} script.}}&lt;br /&gt;
&lt;br /&gt;
To cancel forced discharge:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
&lt;br /&gt;
===Battery status features===&lt;br /&gt;
To view extended battery status such as charging state, voltage, current, capacity, cycle count and model information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/installed&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/cycle_count&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_percent&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacturer&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/model&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/barcoding&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/chemistry&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/serial&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacture_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/first_use_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius&lt;br /&gt;
# cat /sys/devices/platform/smapi/ac_connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The raw status data is also available, including some fields not listed above (in case you can figure them out):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/dump}}&lt;br /&gt;
&lt;br /&gt;
In all of the above, replace &amp;lt;tt&amp;gt;BAT0&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; to address the 2nd battery.&lt;br /&gt;
&lt;br /&gt;
Note that the battery status readout conflicts with the stock [[HDAPS|hdaps]] driver, so if you use &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; you will need to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; using {{cmdroot|1=make load HDAPS=1}} (see [[#Bundled hdaps driver|Bundled hdaps driver]] below).&lt;br /&gt;
&lt;br /&gt;
On [[ACPI]]-enabled systems, most of above information is also available through the files under {{path|/proc/acpi/battery}}. However, the ACPI interface does not include the instantaneous power and cycle count readouts, and does not work well when [[How to use UltraBay batteries|hotswapping UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
====Scripts====&lt;br /&gt;
Some scripts can make it easier to grep the information you need from tp_smapi&lt;br /&gt;
* [[battery.rb]]&lt;br /&gt;
&lt;br /&gt;
===Other features===&lt;br /&gt;
&lt;br /&gt;
There is also [[sysfs]] attribute for making direct SMAPI requests to the SM BIOS firmware. Don't touch it unless you really know what you're doing. Example:&lt;br /&gt;
 # echo '211a 100 0 0' &amp;gt; /sys/devices/platform/smapi/smapi_request; cat /sys/devices/platform/smapi/smapi_request&lt;br /&gt;
 211a 34b b2 0 0 0 'OK'&lt;br /&gt;
The &amp;quot;4b&amp;quot; in the 2nd value, converted to decimal, is 75: the current charging stop threshold (stop_charge_thresh).&lt;br /&gt;
&lt;br /&gt;
===Bundled &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver===&lt;br /&gt;
&lt;br /&gt;
The tp_smapi package includes a modified version of the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; Linux kernel driver used by the [[HDAPS]] system. It has remained outside the mainline kernel for a few years for several reasons, [https://lists.ubuntu.com/archives/kernel-team/2009-April/005565.html] including the upstream maintainer's assertion that the new code's anonymous author was under a NDA. (Although this would not normally expose the kernel team to litigation.) [http://lkml.org/lkml/2008/9/15/126] [http://lkml.org/lkml/2008/10/7/403] [http://lkml.org/lkml/2008/10/7/428]&lt;br /&gt;
&lt;br /&gt;
To use &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; concurrently, you '''must''' use the modified version.&lt;br /&gt;
&lt;br /&gt;
To build the modified version, simply append the &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; parameter to the &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; command (see [[#Installation|Installation]] above):&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
If you don't do that, you will not be able to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (and its support module &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;) when &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; is loaded, and vice versa. You can use &amp;lt;tt&amp;gt;rmmod&amp;lt;/tt&amp;gt; to switch between these modules.&lt;br /&gt;
&lt;br /&gt;
Note that some of the battery status is also visible through ACPI ({{path|/proc/acpi/battery/*}}), independently of &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; has several changes:&lt;br /&gt;
* The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver in mainline kernels conflicts with the extended battery status (they use the same IO ports). The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; coordinates this access through the bundled &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; driver.&lt;br /&gt;
* The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver fixes reliability and improves support for recent ThinkPad models (*60 and newer), since unlike the mainline driver, it correctly follows the Embedded Controller communication protocol.&lt;br /&gt;
* Several other improvements, such as the ability to control the polling rate.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
The &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f!&amp;lt;/tt&amp;gt;&amp;quot; error message is printed when loading the &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; module on some recent ThinkPad models.  This occurs because the ACPI BIOS DSDT is reserving ports used by tp_smapi.&lt;br /&gt;
&lt;br /&gt;
As a workaround, add the &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; module parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; in {{path|/etc/modprobe.conf}} (or your distribution's equivalent). For transient testing, load the modules as follows:&lt;br /&gt;
&lt;br /&gt;
: {{cmdroot|1=make load HDAPS=1 FORCE_IO=1}}&lt;br /&gt;
&lt;br /&gt;
Note: force_io option was added in tp_smapi v0.40 (released 2008-12-16).&lt;br /&gt;
&lt;br /&gt;
Models which need this option include:&lt;br /&gt;
* ThinkPad {{T400}}&lt;br /&gt;
* ThinkPad {{T500}}&lt;br /&gt;
* ThinkPad {{X301}}&lt;br /&gt;
&lt;br /&gt;
More information:&lt;br /&gt;
* http://bugzilla.kernel.org/show_bug.cgi?id=12221&lt;br /&gt;
* http://www.nabble.com/thinkpad_ec-fails-to-load-on-Thinkpad-T500-td19932985.html&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
If you get &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt;&amp;quot; when trying to load the module on a supported model listed below, you should [[BIOS_Upgrade|upgrade your BIOS]]. Some early BIOS (like 1.x on the X31) don't handle the embedded controller.&lt;br /&gt;
&lt;br /&gt;
===Model-specific status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; feature support matrix&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | &lt;br /&gt;
=====A series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}} 2629-USG&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====G series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====R series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || No SMAPI BIOS&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-JAG&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-5US&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 18*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 || 3.22 || || Machine types 1829, 1830, 1831 and 1836&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 28*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      || 1.29 || || Machine types 2883, 2887, 2888, 2889, 2894 and 2495&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.29 || 1.06 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cno|text=}} 1 || 0.33 || || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.35-test1 || 7KETA7WW 2.07 || 7KHT24WW 1.08 || Machine type 8918&lt;br /&gt;
|-&lt;br /&gt;
! {{R61i}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cunk}}  || {{Cunk}}  ||    ||   ||   || Machine type 8250&lt;br /&gt;
|-&lt;br /&gt;
! {{R400}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.40-1   ||   ||   || Machine type 7443&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====T series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 3.23 || 3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}} 2373-AM9&lt;br /&gt;
| {{Cno}} || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.20 || v3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KXU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.21 || || Stop charge threshold works in Windows, but dmesg says &amp;quot;__get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KUU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}} 2686&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.27 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes|text=}} 0 ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.34 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-24G&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.36 || 1.09a || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 2007-FSG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.39 || 1.10 || 1.05b ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-CZ1&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.40 || 2.23 || 1.07 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60p}} 8743-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T61p}} 6457-7XG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T400}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes|text=}}  1 || 0.40 || 1.19 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! {{T400s}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cunk}} || 0.40 || 1.06 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T500}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  1 || 0.40 || 2.07 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====X series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}} 2662-31G&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || no EC controller found&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}} || {{Cyes}} || N/A || N/A || 0.34  || 1.09 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 || 2.08 || 1.62 || &lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}}   || {{Cno|text=}} (see ref) || 0.32  || || [http://sourceforge.net/mailarchive/message.php?msg_name=4757BD30.8080808%40ugcs.caltech.edu ref] ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 ||      || 2.07 || 1.10 || 2.6.20 issue (see discussion)&lt;br /&gt;
|-&lt;br /&gt;
! {{X60_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.34  || 7JET25WW (1.10 )  || 7JHT13WW 1.04 || [http://luke.no-ip.org/x60tablet/ ref] [http://rad.bioinfo.ulaval.ca/hardware/x60tablet ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{X60s}} 1704-5UG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cno|text=}} 3 || 0.34 || 7BETD2WW 2.13 || 7BHT40WW 1.13 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7673-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 7NETB9WW (2.19) || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-CTO&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cno|text=}} 6 || 0.35-test1       ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-4KU&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.34 || 7NET30WW (1.11 ) || 7MHT24WW-1.02 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.32  ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61s}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 3 || 0.32 ||  || || [http://www.slackwiki.org/ThinkPad_X61s ref] says 3 but conflicting report received&lt;br /&gt;
|-&lt;br /&gt;
! {{X200}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.40 || 6DET40WW (2.04 ) || 7XHT22WW-1.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X300}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.37 || 7TET25WW (1.02 ) || 7THT15WW-1.00c ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====Z series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || || [https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/45014 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====SL series and IdeaPad=====&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:left&amp;quot; |&lt;br /&gt;
The ThinkPad SL series and IdeaPad series have firmware that is completely different from other ThinkPad models. Neither [[tp_smapi]] nor [[thinkpad-acpi]] support these models.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SMAPI capabilities may depend on the BIOS version as well, so upgrading to the latest version of the BIOS might provide more SMAPI functions (especially true for long-lived BIOS with lots of releases, like the TP-1R).&lt;br /&gt;
&lt;br /&gt;
Please update the above and report your experience on the [[Talk:tp_smapi|discussion]] page. If the module loads but gives a &amp;quot;&amp;lt;tt&amp;gt;not supported&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;not implementeded&amp;lt;/tt&amp;gt;&amp;quot; error when you try to use some specific file in {{path|/sys/devices/platform/smapi/}}, please report the &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output and whether the corresponding functionality is available under Windows - maybe your ThinkPad just can't do that. &lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to add your laptop to the [[list of DMI IDs]].&lt;br /&gt;
&lt;br /&gt;
=====HDAPS axis orientation=====&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; The HDAPS axis orientation is set using the &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; module parameter (at load time) or sysfs attribute (at runtime). The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver of tp_smapi supports all 8 possible sensor orientations (inversion and swapping). You can use [[HDAPS#Visualisation_of_ThinkPad_orientation|hdaps visualisation]] to check if the settings is correct.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; parameter is an integer between 0 and 7, whose meaning is defined below. (This is confusing. Most people will find it easier to just try all 8 possibilities.)&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; denote the hardware readouts. Let &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; denote the laptop's roll (tilt left/right), and let &amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt; denote the laptop's pitch (tilt forward/backward). The possible values are as follows:&lt;br /&gt;
    invert=0:   R= X  P= Y   (same as mainline)&lt;br /&gt;
    invert=1:   R=-X  P=-Y   (same as mainline)&lt;br /&gt;
    invert=2:   R=-X  P= Y   (new)&lt;br /&gt;
    invert=3:   R= X  P=-Y   (new)&lt;br /&gt;
    invert=4:   R= Y  P= X   (new)&lt;br /&gt;
    invert=5:   R=-Y  P=-X   (new)&lt;br /&gt;
    invert=6:   R=-Y  P= X   (new)&lt;br /&gt;
    invert=7:   R= Y  P=-X   (new)&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]] [[Category:Patches]]&lt;br /&gt;
&lt;br /&gt;
===Tools using this driver===&lt;br /&gt;
&lt;br /&gt;
The driver's interface can be accessed directly through the files under {{path|/sys/devices/platform/smapi}}, or via the following tools:&lt;br /&gt;
* [[KThinkBat]] - display battery status on the KDE &amp;lt;tt&amp;gt;kicker&amp;lt;/tt&amp;gt; panel.&lt;br /&gt;
* [[gkrellm-ThinkBat]] - battery status plugin for Gkrellm2&lt;br /&gt;
* {{CodeRef|thinkpad-smapi.sh}} - script to display various SMAPI information using tp_smapi module.&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_use_Ultrabay_batteries&amp;diff=43945</id>
		<title>How to use Ultrabay batteries</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_use_Ultrabay_batteries&amp;diff=43945"/>
		<updated>2009-08-15T03:54:04Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Charging and discharging */ Battery balancing script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
ThinkPad laptops only charge/discharge one battery at a time. If you have two batteries present (a system battery and an [[Ultrabay]] battery), the laptop will completely deplete the Ultrabay battery before using the main battery.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Battery hot-swapping===&lt;br /&gt;
{{NOTE|As of kernel 2.6.27 the standard in kernel ACPI Bay support should be used, and not the thinkpad-acpi provided Bay support. The thinkpad-acpi bay and dock support was removed from the kernel as of 2.6.31 in favour of the standard ACPI bay and dock drivers. With these there is no need any more to first issue a soft eject as hotplug is fully handled in the kernel by the ACPI bay driver.}}&lt;br /&gt;
Switching between the batteries is almost instant, so if you pull the Ultrabay battery from the bay when it is being discharged, the system will instantly switch to the main battery. You can therefore use the Ultrabay battery to hot-swap the system battery (i.e., replace it without the need to reboot, hibernate or use an external power adapter).&lt;br /&gt;
&lt;br /&gt;
You should issue {{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}} before removing the battery from the bay, especially if you are replacing it with a different device (requires [[thinkpad-acpi]]). See [[How to hotswap Ultrabay devices]].&lt;br /&gt;
&lt;br /&gt;
===Charging and discharging===&lt;br /&gt;
When charging, the system will completely charge the main battery before it starts on the Ultrabay battery. However, if you change a full main battery for an empty one, the system will finish charging the ultrabay battery before charging the second main battery.&lt;br /&gt;
&lt;br /&gt;
When discharging, the system will completely discharge the Ultrabay battery before it discharges the main battery. This greatly reduces the lifetime of the Ultrabay battery, and also reduces its usefulness for enabling hot-swapping of the system battery. There are two ways to prevent this:&lt;br /&gt;
&lt;br /&gt;
* Keep an eye on the charge in the Ultrabay battery and physically remove it from the bay when it gets too low (or release the eject lever- see below).&lt;br /&gt;
* Use the [[SMAPI support for Linux#Using_the_tp_smapi_module|tp_smapi]] module to control which battery is discharged (via &amp;lt;tt&amp;gt;force_discharge&amp;lt;/tt&amp;gt;) or charged (via &amp;lt;tt&amp;gt;inhibit_charge_minutes&amp;lt;/tt&amp;gt; on the other battery). This only works on some ThinkPad models - see the [[tp_smapi#Model-specific_status|tp_smapi model-specific status]].&lt;br /&gt;
&lt;br /&gt;
The following script uses tp_smapi to balance the battery discharging: {{CodeRef|tp-bat-balance}}&lt;br /&gt;
&lt;br /&gt;
===Ultrabay eject lever===&lt;br /&gt;
It seems that you don't have to completely remove the Ultrabay battery from the bay to stop using it. If you release the eject lever, but don't actually pull the battery from the bay, the battery is still visible to the system, but the BIOS reverses the order of use and will completely deplete the main battery before using the Ultrabay battery. While the BIOS can switch to the Ultrabay battery when the main battery runs out, it cannot switch fast enough when the main battery is pulled. Make sure you push the eject lever in before swapping the main battery or the system will lose power. Likewise, if you have the ultrabay lever pushed in: while the system can switch to the main battery when the ultrabay battery is empty, it cannot switch to the main battery fast enough if the ultrabay battery slips out of the bay without the lever being released- the system will lose power.&lt;br /&gt;
&lt;br /&gt;
The order of charging is not affected by the state of the eject lever. Works on: T23, T40p. May or may not work on other models.&lt;br /&gt;
&lt;br /&gt;
===Reading the battery status under Linux===&lt;br /&gt;
&lt;br /&gt;
====Using APM====&lt;br /&gt;
&lt;br /&gt;
The second battery is correctly detected by the APM subsystem (if activated).&lt;br /&gt;
&lt;br /&gt;
====Using ACPI====&lt;br /&gt;
{{NOTE|The information provided here is outdated, hotplugged batteries will be automatically detected and used at least as of 2.6.27 kernels using the standard ACPI Bay driver.}}&lt;br /&gt;
The second battery is correctly detected by the ACPI subsystem (if activated). However, the Linux ACPI subsystem only scans for batteries on boot. This means that the second battery must be present at boot time, or you will not be able to get any info for it via {{path|/proc/acpi/battery/BAT1}}.&lt;br /&gt;
&lt;br /&gt;
With kernel 2.6.14.2 (possibly only with [[thinkpad-acpi]]) there is a sysfs file: {{path|/sys/firmware/acpi/namespace/ACPI/_SB/PCI0/LPC/EC/BAT1/eject}}. There isn't one for BAT0, but {{cmdroot|cat /proc/acpi/battery/BAT0/*}} shows {{cmdresult|not present}} when there is no internal battery. &lt;br /&gt;
&lt;br /&gt;
For BAT1 all the states go to 0, critical, etc. .&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 1 &amp;gt; /sys/firmware/acpi/namespace/ACPI/_SB/PCI0/LPC/EC/BAT1/eject}} will remove {{path|/proc/acpi/battery/BAT1}} and turn off the Ultrabay led. Interestingly the battery will still be discharging (charging not tested) until it is physically removed.&lt;br /&gt;
&lt;br /&gt;
Also, if you compile the battery module of ACPI as a module, boot with the Ultrabay battery present, remove the Ultrabay battery (without doing the eject above), {{path|/proc/acpi/battery/BAT1}} is still there, while after {{cmdroot|rmmod battery &amp;amp;&amp;amp; modprobe battery}} {{path|/proc/acpi/battery/BAT1}} is gone (BAT0 is back). Put the battery back in and {{path|/proc/acpi/battery/BAT1}} is still missing, do {{cmdroot|rmmod battery &amp;amp;&amp;amp; modprobe battery}} and {{path|/proc/acpi/battery/BAT1}} is back.&lt;br /&gt;
&lt;br /&gt;
If you boot without the second battery &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; never appears in {{path|/proc}} or {{path|/sys}}.&lt;br /&gt;
&lt;br /&gt;
If you eject using the sysfs file above, &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; disappears from both {{path|/proc}} and {{path|/sys}} and never comes back.&lt;br /&gt;
&lt;br /&gt;
Please note, that applications, like Gnome Power Manager (don't know about others) automatically sums both battery capacities and display the status together&lt;br /&gt;
&lt;br /&gt;
====Using &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Independently of APM or ACPI, the battery status is also accessible through the [[tp_smapi]] driver. The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module provides battery status (and other features) via the sysfs interface in {{path|/sys/devices/platform/smapi/BAT&amp;lt;nowiki&amp;gt;{&amp;lt;/nowiki&amp;gt;0,1&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;}}, and includes some information not accessible through APM or ACPI (e.g., cycle count and momentary power draw). The BAT1 interface is always present, regardless of whether the battery is present, was present on boot, or was ejected using the sysfs interface above.&lt;br /&gt;
&lt;br /&gt;
For a GUI interface, you can use the [[KThinkBat]] applet or [[Gkrellm-ThinkBat]] plug-in.&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Code/tp-bat-balance&amp;diff=43944</id>
		<title>Talk:Code/tp-bat-balance</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Code/tp-bat-balance&amp;diff=43944"/>
		<updated>2009-08-15T03:51:29Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Battery balancing script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CodeHeader|&lt;br /&gt;
|filename=tp-bat-balance&lt;br /&gt;
|context=[[How to use Ultrabay batteries]]&lt;br /&gt;
|author=[[User:Thinker|Thinker]]&lt;br /&gt;
|license=GPL v2 or higher&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/tp-bat-balance&amp;diff=43943</id>
		<title>Code/tp-bat-balance</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/tp-bat-balance&amp;diff=43943"/>
		<updated>2009-08-15T03:48:23Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Battery balancing script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#!/usr/bin/perl&lt;br /&gt;
# Keep two ThinkPad batteries (system battery and UltraBay) at similar charge levels&lt;br /&gt;
# during discharge by switching back and forth. This reduces wear on the UltraBay&lt;br /&gt;
# battery, compared to the hardware's default strategy of fully draining the UltraBay&lt;br /&gt;
# battery before switching to the system battery.&lt;br /&gt;
# WARNING: This script is experimental and uses undocumented hardware features.&lt;br /&gt;
# WARNING: If this script crashes, your battery may be forced to keep draining until empty.&lt;br /&gt;
# Distributed under the terms of the GNU General Public License v2 or later.&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use warnings;&lt;br /&gt;
use File::Slurp;&lt;br /&gt;
&lt;br /&gt;
my $thresh = 3; # difference between battery charge levels that justifies switching (hysteresis)&lt;br /&gt;
&lt;br /&gt;
my $default_discharge = 0; # the battery that's discharged as first priority by the BIOS&lt;br /&gt;
my $smapi_dir = '/sys/devices/platform/smapi';&lt;br /&gt;
&lt;br /&gt;
my $ac_connected;&lt;br /&gt;
my @bat_installed;&lt;br /&gt;
my @bat_remaining;&lt;br /&gt;
my @bat_state;&lt;br /&gt;
my @bat_power_avg;&lt;br /&gt;
my @bat_force_discharge;&lt;br /&gt;
&lt;br /&gt;
$SIG{'INT'} = $SIG{'QUIT'} = $SIG{'TERM'} = sub { die(&amp;quot;# Killed by SIG$_[0]\n&amp;quot;); };&lt;br /&gt;
&lt;br /&gt;
sub read_chomp_file {&lt;br /&gt;
  my ($filename) = @_;&lt;br /&gt;
  my ($x) = read_file($filename) or die &amp;quot;Cannot read $filename\n&amp;quot;;&lt;br /&gt;
  chomp($x);&lt;br /&gt;
  return $x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub read_status {&lt;br /&gt;
  $ac_connected = read_chomp_file(&amp;quot;$smapi_dir/ac_connected&amp;quot;);&lt;br /&gt;
  for my $b (0..1) {&lt;br /&gt;
    $bat_installed[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/installed&amp;quot;);&lt;br /&gt;
    $bat_force_discharge[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/force_discharge&amp;quot;);&lt;br /&gt;
    if ($bat_installed[$b]) {&lt;br /&gt;
      $bat_remaining[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/remaining_percent&amp;quot;);&lt;br /&gt;
      $bat_state[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/state&amp;quot;);&lt;br /&gt;
      $bat_power_avg[$b] = read_chomp_file(&amp;quot;$smapi_dir/BAT$b/power_avg&amp;quot;) / 1000.0;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub print_status {&lt;br /&gt;
  print &amp;quot;   &amp;quot;;&lt;br /&gt;
  sub print_bat {&lt;br /&gt;
    my ($b) = @_;&lt;br /&gt;
    my ($ll,$lr,$rl,$rr) = $b ? ('-','&amp;gt;','&amp;lt;','-') : ('&amp;lt;','-','-','&amp;gt;');&lt;br /&gt;
    my $icon = sprintf(&amp;quot;[%3s]&amp;quot;, $bat_installed[$b] ? $bat_remaining[$b].&amp;quot;%&amp;quot; : &amp;quot;&amp;quot;);&lt;br /&gt;
    my $arrow;&lt;br /&gt;
    my $state = $bat_state[$b];&lt;br /&gt;
    if ($state eq 'charging') {&lt;br /&gt;
      $arrow = sprintf(&amp;quot;$ll--%4.1f--$lr&amp;quot;, $bat_power_avg[$b]);&lt;br /&gt;
    } elsif ($state eq 'discharging') {&lt;br /&gt;
      $arrow = sprintf(&amp;quot;$rl--%4.1f--$rr&amp;quot;, -$bat_power_avg[$b]);&lt;br /&gt;
    } elsif ($state eq 'idle') {&lt;br /&gt;
      $arrow = &amp;quot;          &amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
      die &amp;quot;Unknown state $state for battery $b&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    print($b ? &amp;quot;$arrow$icon&amp;quot; : &amp;quot;$icon$arrow&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  print_bat(0);&lt;br /&gt;
  print($ac_connected ? ' {AC} ' : ' {  } ');&lt;br /&gt;
  print_bat(1);&lt;br /&gt;
  print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub choose_discharge {&lt;br /&gt;
  # Choose which battery to discharge&lt;br /&gt;
&lt;br /&gt;
  sub set_force_discharge {&lt;br /&gt;
    my ($b,$on) = @_;&lt;br /&gt;
    return if $b!=$default_discharge; # the non-default battery will be discharged only when necessary anyway&lt;br /&gt;
    return if $bat_force_discharge[$b]==$on;&lt;br /&gt;
    write_file(&amp;quot;$smapi_dir/BAT$b/force_discharge&amp;quot;, ($on?'1':'0')) or die (&amp;quot;Cannot write to $smapi_dir/BAT$b/force_discharge: $!\n&amp;quot;);&lt;br /&gt;
    print(&amp;quot;# setting force_discharge on battery $b to $on\n&amp;quot;);&lt;br /&gt;
    $bat_force_discharge[$b] = $on;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ($ac_connected || !$bat_installed[0] || !$bat_installed[1]) {&lt;br /&gt;
    for $b (0..1) {&lt;br /&gt;
      set_force_discharge($b,0);&lt;br /&gt;
    }&lt;br /&gt;
  } else {&lt;br /&gt;
    if ($bat_remaining[0] &amp;gt; $bat_remaining[1] + $thresh) {&lt;br /&gt;
      set_force_discharge(0,1);&lt;br /&gt;
      set_force_discharge(1,0);&lt;br /&gt;
    } elsif ($bat_remaining[1] &amp;gt; $bat_remaining[0] + $thresh) {&lt;br /&gt;
      set_force_discharge(0,0);&lt;br /&gt;
      set_force_discharge(1,1);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
while (1) {&lt;br /&gt;
  read_status;&lt;br /&gt;
  print_status;&lt;br /&gt;
  choose_discharge;&lt;br /&gt;
  sleep(5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
END {&lt;br /&gt;
  print(&amp;quot;# Cleanup\n&amp;quot;);&lt;br /&gt;
  write_file(&amp;quot;$smapi_dir/BAT0/force_discharge&amp;quot;, ('0'));&lt;br /&gt;
  write_file(&amp;quot;$smapi_dir/BAT1/force_discharge&amp;quot;, ('0'));&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43939</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43939"/>
		<updated>2009-08-14T02:32:14Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* T series */ T400s - more features OK&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module exposes some features of the ThinkPad hardware/firmware via a &amp;lt;tt&amp;gt;sysfs&amp;lt;/tt&amp;gt; interface. Currently, the main implemented functionality is control of battery charging and extended battery status. The tp_smapi software package also includes an improved version of the [[HDAPS]] driver. The underlying hardware interfaces are [[SMAPI support for Linux|SMAPI]] and direct access to the embedded controller.&lt;br /&gt;
&lt;br /&gt;
This driver uses undocumented features and direct hardware access, so it may work unreliably or even damage your hardware; but so far no such damage has been reported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; driver&lt;br /&gt;
**Battery charge/discharge control&lt;br /&gt;
**Battery status information&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver (compared with the standard &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver)&lt;br /&gt;
**Improved stability&lt;br /&gt;
**Improved model support&lt;br /&gt;
**Improved functionality&lt;br /&gt;
&lt;br /&gt;
===Project Homepage / Availability===&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* Download page: http://sourceforge.net/projects/tpctl/files/tp_smapi&lt;br /&gt;
* You need to download only the &amp;lt;i&amp;gt;tp_smapi&amp;lt;/i&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Installation from source====&lt;br /&gt;
You will need the kernel headers and makefiles corresponding to your current kernel version. On {{Fedora}}, this means {{cmdroot|yum install kernel-devel-$(uname -r)}} .&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|tar xzvf tp_smapi-0.40.tgz}}&lt;br /&gt;
:{{cmdroot|cd tp_smapi-0.40}}&lt;br /&gt;
&lt;br /&gt;
Then, either compile and load the driver within the current working directory (for testing):&lt;br /&gt;
:{{cmdroot|make load}}&lt;br /&gt;
OR compile and install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, add &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; to also patch the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; for compatibility with &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (this requires a kernel source tree matching the current kernel).&lt;br /&gt;
Again, either load the driver within the current working directory:&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
OR install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
To prepare a stand-alone patch against the current kernel tree (including&lt;br /&gt;
a patch against &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; and new &amp;lt;tt&amp;gt;Kconfig&amp;lt;/tt&amp;gt; entries):&lt;br /&gt;
:{{cmdroot|make patch}}&lt;br /&gt;
&lt;br /&gt;
To delete all autogenerated files:&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
&lt;br /&gt;
The original kernel tree is never modified by any these commands. &lt;br /&gt;
The {{path|/lib/modules}} directory is modified only by {{cmdroot|make install}}.&lt;br /&gt;
&lt;br /&gt;
====Installation in Gentoo====&lt;br /&gt;
The {{Gentoo}} portage system carries a [http://packages.gentoo.org/package/app-laptop/tp_smapi tp_smapi package], which follows the latest version pretty closely. On a Gentoo system, you can install and load as follows.&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, do this first:&lt;br /&gt;
&lt;br /&gt;
* Disable the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module in your kernel configuration (Device Drivers &amp;amp;rarr; Hardware Monitoring Support &amp;amp;rarr; IBM Hard Drive Active Protection System)&lt;br /&gt;
* Rebuild and install the kernel&lt;br /&gt;
* Add the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; use flag in {{path|/etc/make.conf}}&lt;br /&gt;
* {{cmdroot|rmmod hdaps}}&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
* {{cmdroot|emerge tp_smapi}} (or install tp_smapi with hdaps support manually, as above)&lt;br /&gt;
* {{cmdroot|echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
* {{cmdroot|echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
&lt;br /&gt;
Then reboot, or run:&lt;br /&gt;
* {{cmdroot|modprobe tp_smapi}}&lt;br /&gt;
* {{cmdroot|modprobe hdaps}}&lt;br /&gt;
&lt;br /&gt;
====Installation on Debian unstable (sid), testing (squeeze) or stable (lenny)====&lt;br /&gt;
Debian now contains the [http://packages.debian.org/tp-smapi packaged module source] and prebuilt modules for Debian kernels.&lt;br /&gt;
&lt;br /&gt;
If you use a stock Debian kernel, you can install the tp_smapi modules with:&lt;br /&gt;
* {{cmdroot|apt-get install tp-smapi-modules-`uname -r`}}&lt;br /&gt;
* in order to make sure the modules package is kept in sync with the kernel one, you may also want to install the &amp;lt;code&amp;gt;tm-smapi-modules-2.6-686&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;tm-smapi-modules-2.6-amd64&amp;lt;/code&amp;gt; package, depending on your architecture &lt;br /&gt;
&lt;br /&gt;
If you use a custom kernel, you can build tp_smapi with module-assistant:&lt;br /&gt;
* {{cmdroot|aptitude install tp-smapi-source}}&lt;br /&gt;
* {{cmdroot|m-a -t a-i tp-smapi}}&lt;br /&gt;
&lt;br /&gt;
====Installation on openSUSE====&lt;br /&gt;
openSUSE provides rpm packages. Look for them at the package search: [http://software.opensuse.org/search/], search for the package named &amp;quot;tp_smapi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A step-by-step guide on how a relative linux newbie installed tp_smapi on a Thinkpad W500 running openSuse 11.1 using YAST Software Manager is available [http://forums.opensuse.org/hardware/laptop/417254-tp_smapi-lenovo-thinkpad-t400-t500-w500-step-step.html#post2005932 here]&lt;br /&gt;
&lt;br /&gt;
In case you are taking the hard way around, while compiling on 11.0, make complained about not being able to locate the kernel sources. It worked for me after I did this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp /usr/include/linux/aio_abi.h /lib/modules/`uname -r`/build/include/linux/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Installation on Ubuntu====&lt;br /&gt;
Ubuntu ships tp_smapi in their &amp;lt;tt&amp;gt;linux-ubuntu-modules-*&amp;lt;/tt&amp;gt; package for Hardy, so you don't have to build it yourself. Please note that they have renamed tp_smapi's modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module to &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; so that the two can coexist. You should load &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt;, not &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Intrepid and Jaunty, however, lack the &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; module, as reported [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/297213 here]. It will not be included again until said [[#Bundled hdaps driver|bundled hdaps driver]] is merged into mainline.&lt;br /&gt;
&lt;br /&gt;
=====Installation on Ubuntu Jaunty=====&lt;br /&gt;
I have posted my experiences [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html here]&lt;br /&gt;
&lt;br /&gt;
====Installation on older Ubuntu/Debian====&lt;br /&gt;
Installation on Ubuntu or Debian is quite easy, but there are a few things to look after:&lt;br /&gt;
&lt;br /&gt;
To get your system ready for compiling code, install the build-essentials (as root, of course, as all of the following comands; Ubuntu users have to prepend 'sudo' to every line and enter their own password when prompted):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install build-essential&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi to work, obtain the latest source as mentioned above and unpack it. If you want to use HDAPS, you need to install the kernel source matching te kernel you are running. To do so, issue this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;uname -r&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give you the version of your current kernel. &lt;br /&gt;
Debian users execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ubuntu users execute the following using the kernel-version only (exclude -XX-generic; e.g. 'linux-source-2.6.20'):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be sure to unpack the source file. The easiest way is to open Nautilus as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;sudo nautilus&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then browse to /usr/src/ and extract the source file to that directory.&lt;br /&gt;
&lt;br /&gt;
Now change to the tp_smapi dir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd tp_smapi-X.YY&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (X.YY being the version-number of [[tp_smapi]])&lt;br /&gt;
and make and install tp_smapi as instructed above.&lt;br /&gt;
&lt;br /&gt;
If you get an error that the kernel version isn't matching (or that you need to set KSRC/KBUILD), please check that there is a symlink from the modules dir to the kernel source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ls -l /lib/modules/2.6.20-16-generic&lt;br /&gt;
lrwxrwxrwx  1 root root     28 2007-02-02 08:39 build -&amp;gt; /usr/src/linux-source-2.6.20&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create the link if the line above is not existent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ln -s /usr/src/linux-source-2.6.20 /lib/modules/2.6.20-16-generic/build&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the following will build and install the correct modules to their locations:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;make install HDAPS=1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make sure your system loads the modules at boot time, do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and update your initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi running now, just load the modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;modprobe -a tp_smapi hdaps&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This description was tested on Kubuntu 'Feisty Fawn' and should work on all Debian-based distros with minor tweaks.&lt;br /&gt;
&lt;br /&gt;
'''EDIT:''' Works on Kubuntu 7.10 (&amp;quot;Gutsy Gibbon&amp;quot;), too&lt;br /&gt;
&lt;br /&gt;
===Battery charge control features===&lt;br /&gt;
To set the thresholds for starting and stopping battery charging (in percent of current full charge capacity):&lt;br /&gt;
:{{cmdroot|echo 40 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh}}&lt;br /&gt;
:{{cmdroot|echo 70 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/*_charge_thresh}}&lt;br /&gt;
{{HINT|Battery charging thresholds can be used to keep Li-Ion ad Li-Polymer batteries partially charged, in order to [[Maintenance#Battery_treatment|increase their lifetime]].}}&lt;br /&gt;
To prevent charging for 17 minutes (regardless of thresholds):&lt;br /&gt;
:{{cmdroot|echo 17 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
{{HINT|Charge inhibiting can be used to reduce the power draw of the laptop, in order to use an under-spec power supply that can't handle the combined power draw of running and charging. It can also be used to control which battery is charged when [[How to use UltraBay batteries|using an Ultrabay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel charging preventation:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
&lt;br /&gt;
To force battery discharging (even if connected to AC):&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
{{HINT|This can be used to choose which battery is discharged when [[How to use UltraBay batteries|using an UltraBay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel forced discharge:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
&lt;br /&gt;
===Battery status features===&lt;br /&gt;
To view extended battery status such as charging state, voltage, current, capacity, cycle count and model information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/installed&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/cycle_count&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_percent&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacturer&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/model&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/barcoding&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/chemistry&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/serial&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacture_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/first_use_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius&lt;br /&gt;
# cat /sys/devices/platform/smapi/ac_connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The raw status data is also available, including some fields not listed above (in case you can figure them out):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/dump}}&lt;br /&gt;
&lt;br /&gt;
In all of the above, replace &amp;lt;tt&amp;gt;BAT0&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; to address the 2nd battery.&lt;br /&gt;
&lt;br /&gt;
Note that the battery status readout conflicts with the stock [[HDAPS|hdaps]] driver, so if you use &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; you will need to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; using {{cmdroot|1=make load HDAPS=1}} (see [[#Bundled hdaps driver|Bundled hdaps driver]] below).&lt;br /&gt;
&lt;br /&gt;
On [[ACPI]]-enabled systems, most of above information is also available through the files under {{path|/proc/acpi/battery}}. However, the ACPI interface does not include the instantaneous power and cycle count readouts, and does not work well when [[How to use UltraBay batteries|hotswapping UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
====Scripts====&lt;br /&gt;
Some scripts can make it easier to grep the information you need from tp_smapi&lt;br /&gt;
* [[battery.rb]]&lt;br /&gt;
&lt;br /&gt;
===Other features===&lt;br /&gt;
&lt;br /&gt;
There is also [[sysfs]] attribute for making direct SMAPI requests to the SM BIOS firmware. Don't touch it unless you really know what you're doing. Example:&lt;br /&gt;
 # echo '211a 100 0 0' &amp;gt; /sys/devices/platform/smapi/smapi_request; cat /sys/devices/platform/smapi/smapi_request&lt;br /&gt;
 211a 34b b2 0 0 0 'OK'&lt;br /&gt;
The &amp;quot;4b&amp;quot; in the 2nd value, converted to decimal, is 75: the current charging stop threshold (stop_charge_thresh).&lt;br /&gt;
&lt;br /&gt;
===Bundled &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver===&lt;br /&gt;
&lt;br /&gt;
The tp_smapi package includes a modified version of the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; Linux kernel driver used by the [[HDAPS]] system. It has remained outside the mainline kernel for a few years for several reasons, [https://lists.ubuntu.com/archives/kernel-team/2009-April/005565.html] including the upstream maintainer's assertion that the new code's anonymous author was under a NDA. (Although this would not normally expose the kernel team to litigation.) [http://lkml.org/lkml/2008/9/15/126] [http://lkml.org/lkml/2008/10/7/403] [http://lkml.org/lkml/2008/10/7/428]&lt;br /&gt;
&lt;br /&gt;
To use &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; concurrently, you '''must''' use the modified version.&lt;br /&gt;
&lt;br /&gt;
To build the modified version, simply append the &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; parameter to the &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; command (see [[#Installation|Installation]] above):&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
If you don't do that, you will not be able to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (and its support module &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;) when &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; is loaded, and vice versa. You can use &amp;lt;tt&amp;gt;rmmod&amp;lt;/tt&amp;gt; to switch between these modules.&lt;br /&gt;
&lt;br /&gt;
Note that some of the battery status is also visible through ACPI ({{path|/proc/acpi/battery/*}}), independently of &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; has several changes:&lt;br /&gt;
* The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver in mainline kernels conflicts with the extended battery status (they use the same IO ports). The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; coordinates this access through the bundled &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; driver.&lt;br /&gt;
* The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver fixes reliability and improves support for recent ThinkPad models (*60 and newer), since unlike the mainline driver, it correctly follows the Embedded Controller communication protocol.&lt;br /&gt;
* Several other improvements, such as the ability to control the polling rate.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
The &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f!&amp;lt;/tt&amp;gt;&amp;quot; error message is printed when loading the &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; module on some recent ThinkPad models.  This occurs because the ACPI BIOS DSDT is reserving ports used by tp_smapi.&lt;br /&gt;
&lt;br /&gt;
As a workaround, add the &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; module parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; in {{path|/etc/modprobe.conf}} (or your distribution's equivalent). For transient testing, load the modules as follows:&lt;br /&gt;
&lt;br /&gt;
: {{cmdroot|1=make load HDAPS=1 FORCE_IO=1}}&lt;br /&gt;
&lt;br /&gt;
Note: force_io option was added in tp_smapi v0.40 (released 2008-12-16).&lt;br /&gt;
&lt;br /&gt;
Models which need this option include:&lt;br /&gt;
* ThinkPad {{T400}}&lt;br /&gt;
* ThinkPad {{T500}}&lt;br /&gt;
* ThinkPad {{X301}}&lt;br /&gt;
&lt;br /&gt;
More information:&lt;br /&gt;
* http://bugzilla.kernel.org/show_bug.cgi?id=12221&lt;br /&gt;
* http://www.nabble.com/thinkpad_ec-fails-to-load-on-Thinkpad-T500-td19932985.html&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
If you get &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt;&amp;quot; when trying to load the module on a supported model listed below, you should [[BIOS_Upgrade|upgrade your BIOS]]. Some early BIOS (like 1.x on the X31) don't handle the embedded controller.&lt;br /&gt;
&lt;br /&gt;
===Model-specific status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; feature support matrix&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | &lt;br /&gt;
=====A series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}} 2629-USG&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====G series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====R series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || No SMAPI BIOS&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-JAG&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-5US&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 18*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 || 3.22 || || Machine types 1829, 1830, 1831 and 1836&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 28*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      || 1.29 || || Machine types 2883, 2887, 2888, 2889, 2894 and 2495&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.29 || 1.06 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cno|text=}} 1 || 0.33 || || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.35-test1 || 7KETA7WW 2.07 || 7KHT24WW 1.08 || Machine type 8918&lt;br /&gt;
|-&lt;br /&gt;
! {{R61i}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cunk}}  || {{Cunk}}  ||    ||   ||   || Machine type 8250&lt;br /&gt;
|-&lt;br /&gt;
! {{R400}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.40-1   ||   ||   || Machine type 7443&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====T series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 3.23 || 3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}} 2373-AM9&lt;br /&gt;
| {{Cno}} || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.20 || v3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KXU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.21 || || Stop charge threshold works in Windows, but dmesg says &amp;quot;__get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KUU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}} 2686&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.27 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes|text=}} 0 ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.34 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-24G&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.36 || 1.09a || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 2007-FSG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.39 || 1.10 || 1.05b ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-CZ1&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.40 || 2.23 || 1.07 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60p}} 8743-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T61p}} 6457-7XG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T400}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes|text=}}  1 || 0.40 || 1.19 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! {{T400s}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cunk}} || 0.40 || 1.06 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T500}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  1 || 0.40 || 2.07 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====X series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}} 2662-31G&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || no EC controller found&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}} || {{Cyes}} || N/A || N/A || 0.34  || 1.09 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 || 2.08 || 1.62 || &lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}}   || {{Cno|text=}} (see ref) || 0.32  || || [http://sourceforge.net/mailarchive/message.php?msg_name=4757BD30.8080808%40ugcs.caltech.edu ref] ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 ||      || 2.07 || 1.10 || 2.6.20 issue (see discussion)&lt;br /&gt;
|-&lt;br /&gt;
! {{X60_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.34  || 7JET25WW (1.10 )  || 7JHT13WW 1.04 || [http://luke.no-ip.org/x60tablet/ ref] [http://rad.bioinfo.ulaval.ca/hardware/x60tablet ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{X60s}} 1704-5UG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cno|text=}} 3 || 0.34 || 7BETD2WW 2.13 || 7BHT40WW 1.13 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7673-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 7NETB9WW (2.19) || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-CTO&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cno|text=}} 6 || 0.35-test1       ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-4KU&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.34 || 7NET30WW (1.11 ) || 7MHT24WW-1.02 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.32  ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61s}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 3 || 0.32 ||  || || [http://www.slackwiki.org/ThinkPad_X61s ref] says 3 but conflicting report received&lt;br /&gt;
|-&lt;br /&gt;
! {{X200}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.40 || 6DET40WW (2.04 ) || 7XHT22WW-1.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X300}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.37 || 7TET25WW (1.02 ) || 7THT15WW-1.00c ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====Z series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || || [https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/45014 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====SL series and IdeaPad=====&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:left&amp;quot; |&lt;br /&gt;
The ThinkPad SL series and IdeaPad series have firmware that is completely different from other ThinkPad models. Neither [[tp_smapi]] nor [[thinkpad-acpi]] support these models.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SMAPI capabilities may depend on the BIOS version as well, so upgrading to the latest version of the BIOS might provide more SMAPI functions (especially true for long-lived BIOS with lots of releases, like the TP-1R).&lt;br /&gt;
&lt;br /&gt;
Please update the above and report your experience on the [[Talk:tp_smapi|discussion]] page. If the module loads but gives a &amp;quot;&amp;lt;tt&amp;gt;not supported&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;not implementeded&amp;lt;/tt&amp;gt;&amp;quot; error when you try to use some specific file in {{path|/sys/devices/platform/smapi/}}, please report the &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output and whether the corresponding functionality is available under Windows - maybe your ThinkPad just can't do that. &lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to add your laptop to the [[list of DMI IDs]].&lt;br /&gt;
&lt;br /&gt;
=====HDAPS axis orientation=====&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; The HDAPS axis orientation is set using the &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; module parameter (at load time) or sysfs attribute (at runtime). The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver of tp_smapi supports all 8 possible sensor orientations (inversion and swapping). You can use [[HDAPS#Visualisation_of_ThinkPad_orientation|hdaps visualisation]] to check if the settings is correct.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; parameter is an integer between 0 and 7, whose meaning is defined below. (This is confusing. Most people will find it easier to just try all 8 possibilities.)&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; denote the hardware readouts. Let &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; denote the laptop's roll (tilt left/right), and let &amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt; denote the laptop's pitch (tilt forward/backward). The possible values are as follows:&lt;br /&gt;
    invert=0:   R= X  P= Y   (same as mainline)&lt;br /&gt;
    invert=1:   R=-X  P=-Y   (same as mainline)&lt;br /&gt;
    invert=2:   R=-X  P= Y   (new)&lt;br /&gt;
    invert=3:   R= X  P=-Y   (new)&lt;br /&gt;
    invert=4:   R= Y  P= X   (new)&lt;br /&gt;
    invert=5:   R=-Y  P=-X   (new)&lt;br /&gt;
    invert=6:   R=-Y  P= X   (new)&lt;br /&gt;
    invert=7:   R= Y  P=-X   (new)&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]] [[Category:Patches]]&lt;br /&gt;
&lt;br /&gt;
===Tools using this driver===&lt;br /&gt;
&lt;br /&gt;
The driver's interface can be accessed directly through the files under {{path|/sys/devices/platform/smapi}}, or via the following tools:&lt;br /&gt;
* [[KThinkBat]] - display battery status on the KDE &amp;lt;tt&amp;gt;kicker&amp;lt;/tt&amp;gt; panel.&lt;br /&gt;
* [[gkrellm-ThinkBat]] - battery status plugin for Gkrellm2&lt;br /&gt;
* {{CodeRef|thinkpad-smapi.sh}} - script to display various SMAPI information using tp_smapi module.&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43919</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43919"/>
		<updated>2009-08-13T04:50:03Z</updated>

		<summary type="html">&lt;p&gt;Thinker: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module exposes some features of the ThinkPad hardware/firmware via a &amp;lt;tt&amp;gt;sysfs&amp;lt;/tt&amp;gt; interface. Currently, the main implemented functionality is control of battery charging and extended battery status. The tp_smapi software package also includes an improved version of the [[HDAPS]] driver. The underlying hardware interfaces are [[SMAPI support for Linux|SMAPI]] and direct access to the embedded controller.&lt;br /&gt;
&lt;br /&gt;
This driver uses undocumented features and direct hardware access, so it may work unreliably or even damage your hardware; but so far no such damage has been reported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; driver&lt;br /&gt;
**Battery charge/discharge control&lt;br /&gt;
**Battery status information&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver (compared with the standard &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver)&lt;br /&gt;
**Improved stability&lt;br /&gt;
**Improved model support&lt;br /&gt;
**Improved functionality&lt;br /&gt;
&lt;br /&gt;
===Project Homepage / Availability===&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* Download page: http://sourceforge.net/projects/tpctl/files/tp_smapi&lt;br /&gt;
* You need to download only the &amp;lt;i&amp;gt;tp_smapi&amp;lt;/i&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Installation from source====&lt;br /&gt;
You will need the kernel headers and makefiles corresponding to your current kernel version. On {{Fedora}}, this means {{cmdroot|yum install kernel-devel-$(uname -r)}} .&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|tar xzvf tp_smapi-0.40.tgz}}&lt;br /&gt;
:{{cmdroot|cd tp_smapi-0.40}}&lt;br /&gt;
&lt;br /&gt;
Then, either compile and load the driver within the current working directory (for testing):&lt;br /&gt;
:{{cmdroot|make load}}&lt;br /&gt;
OR compile and install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, add &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; to also patch the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; for compatibility with &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (this requires a kernel source tree matching the current kernel).&lt;br /&gt;
Again, either load the driver within the current working directory:&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
OR install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
To prepare a stand-alone patch against the current kernel tree (including&lt;br /&gt;
a patch against &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; and new &amp;lt;tt&amp;gt;Kconfig&amp;lt;/tt&amp;gt; entries):&lt;br /&gt;
:{{cmdroot|make patch}}&lt;br /&gt;
&lt;br /&gt;
To delete all autogenerated files:&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
&lt;br /&gt;
The original kernel tree is never modified by any these commands. &lt;br /&gt;
The {{path|/lib/modules}} directory is modified only by {{cmdroot|make install}}.&lt;br /&gt;
&lt;br /&gt;
====Installation in Gentoo====&lt;br /&gt;
The {{Gentoo}} portage system carries a [http://packages.gentoo.org/package/app-laptop/tp_smapi tp_smapi package], which follows the latest version pretty closely. On a Gentoo system, you can install and load as follows.&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, do this first:&lt;br /&gt;
&lt;br /&gt;
* Disable the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module in your kernel configuration (Device Drivers &amp;amp;rarr; Hardware Monitoring Support &amp;amp;rarr; IBM Hard Drive Active Protection System)&lt;br /&gt;
* Rebuild and install the kernel&lt;br /&gt;
* Add the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; use flag in {{path|/etc/make.conf}}&lt;br /&gt;
* {{cmdroot|rmmod hdaps}}&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
* {{cmdroot|emerge tp_smapi}} (or install tp_smapi with hdaps support manually, as above)&lt;br /&gt;
* {{cmdroot|echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
* {{cmdroot|echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
&lt;br /&gt;
Then reboot, or run:&lt;br /&gt;
* {{cmdroot|modprobe tp_smapi}}&lt;br /&gt;
* {{cmdroot|modprobe hdaps}}&lt;br /&gt;
&lt;br /&gt;
====Installation on Debian unstable (sid), testing (squeeze) or stable (lenny)====&lt;br /&gt;
Debian now contains the [http://packages.debian.org/tp-smapi packaged module source] and prebuilt modules for Debian kernels.&lt;br /&gt;
&lt;br /&gt;
If you use a stock Debian kernel, you can install the tp_smapi modules with:&lt;br /&gt;
* {{cmdroot|apt-get install tp-smapi-modules-`uname -r`}}&lt;br /&gt;
* in order to make sure the modules package is kept in sync with the kernel one, you may also want to install the &amp;lt;code&amp;gt;tm-smapi-modules-2.6-686&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;tm-smapi-modules-2.6-amd64&amp;lt;/code&amp;gt; package, depending on your architecture &lt;br /&gt;
&lt;br /&gt;
If you use a custom kernel, you can build tp_smapi with module-assistant:&lt;br /&gt;
* {{cmdroot|aptitude install tp-smapi-source}}&lt;br /&gt;
* {{cmdroot|m-a -t a-i tp-smapi}}&lt;br /&gt;
&lt;br /&gt;
====Installation on openSUSE====&lt;br /&gt;
openSUSE provides rpm packages. Look for them at the package search: [http://software.opensuse.org/search/], search for the package named &amp;quot;tp_smapi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A step-by-step guide on how a relative linux newbie installed tp_smapi on a Thinkpad W500 running openSuse 11.1 using YAST Software Manager is available [http://forums.opensuse.org/hardware/laptop/417254-tp_smapi-lenovo-thinkpad-t400-t500-w500-step-step.html#post2005932 here]&lt;br /&gt;
&lt;br /&gt;
In case you are taking the hard way around, while compiling on 11.0, make complained about not being able to locate the kernel sources. It worked for me after I did this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp /usr/include/linux/aio_abi.h /lib/modules/`uname -r`/build/include/linux/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Installation on Ubuntu====&lt;br /&gt;
Ubuntu ships tp_smapi in their &amp;lt;tt&amp;gt;linux-ubuntu-modules-*&amp;lt;/tt&amp;gt; package for Hardy, so you don't have to build it yourself. Please note that they have renamed tp_smapi's modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module to &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; so that the two can coexist. You should load &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt;, not &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Intrepid and Jaunty, however, lack the &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; module, as reported [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/297213 here]. It will not be included again until said [[#Bundled hdaps driver|bundled hdaps driver]] is merged into mainline.&lt;br /&gt;
&lt;br /&gt;
=====Installation on Ubuntu Jaunty=====&lt;br /&gt;
I have posted my experiences [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html here]&lt;br /&gt;
&lt;br /&gt;
====Installation on older Ubuntu/Debian====&lt;br /&gt;
Installation on Ubuntu or Debian is quite easy, but there are a few things to look after:&lt;br /&gt;
&lt;br /&gt;
To get your system ready for compiling code, install the build-essentials (as root, of course, as all of the following comands; Ubuntu users have to prepend 'sudo' to every line and enter their own password when prompted):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install build-essential&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi to work, obtain the latest source as mentioned above and unpack it. If you want to use HDAPS, you need to install the kernel source matching te kernel you are running. To do so, issue this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;uname -r&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give you the version of your current kernel. &lt;br /&gt;
Debian users execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ubuntu users execute the following using the kernel-version only (exclude -XX-generic; e.g. 'linux-source-2.6.20'):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be sure to unpack the source file. The easiest way is to open Nautilus as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;sudo nautilus&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then browse to /usr/src/ and extract the source file to that directory.&lt;br /&gt;
&lt;br /&gt;
Now change to the tp_smapi dir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd tp_smapi-X.YY&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (X.YY being the version-number of [[tp_smapi]])&lt;br /&gt;
and make and install tp_smapi as instructed above.&lt;br /&gt;
&lt;br /&gt;
If you get an error that the kernel version isn't matching (or that you need to set KSRC/KBUILD), please check that there is a symlink from the modules dir to the kernel source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ls -l /lib/modules/2.6.20-16-generic&lt;br /&gt;
lrwxrwxrwx  1 root root     28 2007-02-02 08:39 build -&amp;gt; /usr/src/linux-source-2.6.20&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create the link if the line above is not existent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ln -s /usr/src/linux-source-2.6.20 /lib/modules/2.6.20-16-generic/build&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the following will build and install the correct modules to their locations:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;make install HDAPS=1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make sure your system loads the modules at boot time, do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and update your initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi running now, just load the modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;modprobe -a tp_smapi hdaps&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This description was tested on Kubuntu 'Feisty Fawn' and should work on all Debian-based distros with minor tweaks.&lt;br /&gt;
&lt;br /&gt;
'''EDIT:''' Works on Kubuntu 7.10 (&amp;quot;Gutsy Gibbon&amp;quot;), too&lt;br /&gt;
&lt;br /&gt;
===Battery charge control features===&lt;br /&gt;
To set the thresholds for starting and stopping battery charging (in percent of current full charge capacity):&lt;br /&gt;
:{{cmdroot|echo 40 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh}}&lt;br /&gt;
:{{cmdroot|echo 70 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/*_charge_thresh}}&lt;br /&gt;
{{HINT|Battery charging thresholds can be used to keep Li-Ion ad Li-Polymer batteries partially charged, in order to [[Maintenance#Battery_treatment|increase their lifetime]].}}&lt;br /&gt;
To prevent charging for 17 minutes (regardless of thresholds):&lt;br /&gt;
:{{cmdroot|echo 17 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
{{HINT|Charge inhibiting can be used to reduce the power draw of the laptop, in order to use an under-spec power supply that can't handle the combined power draw of running and charging. It can also be used to control which battery is charged when [[How to use UltraBay batteries|using an Ultrabay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel charging preventation:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
&lt;br /&gt;
To force battery discharging (even if connected to AC):&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
{{HINT|This can be used to choose which battery is discharged when [[How to use UltraBay batteries|using an UltraBay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel forced discharge:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
&lt;br /&gt;
===Battery status features===&lt;br /&gt;
To view extended battery status such as charging state, voltage, current, capacity, cycle count and model information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/installed&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/cycle_count&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_percent&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacturer&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/model&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/barcoding&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/chemistry&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/serial&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacture_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/first_use_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius&lt;br /&gt;
# cat /sys/devices/platform/smapi/ac_connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The raw status data is also available, including some fields not listed above (in case you can figure them out):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/dump}}&lt;br /&gt;
&lt;br /&gt;
In all of the above, replace &amp;lt;tt&amp;gt;BAT0&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; to address the 2nd battery.&lt;br /&gt;
&lt;br /&gt;
Note that the battery status readout conflicts with the stock [[HDAPS|hdaps]] driver, so if you use &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; you will need to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; using {{cmdroot|1=make load HDAPS=1}} (see [[#Bundled hdaps driver|Bundled hdaps driver]] below).&lt;br /&gt;
&lt;br /&gt;
On [[ACPI]]-enabled systems, most of above information is also available through the files under {{path|/proc/acpi/battery}}. However, the ACPI interface does not include the instantaneous power and cycle count readouts, and does not work well when [[How to use UltraBay batteries|hotswapping UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
====Scripts====&lt;br /&gt;
Some scripts can make it easier to grep the information you need from tp_smapi&lt;br /&gt;
* [[battery.rb]]&lt;br /&gt;
&lt;br /&gt;
===Other features===&lt;br /&gt;
&lt;br /&gt;
There is also [[sysfs]] attribute for making direct SMAPI requests to the SM BIOS firmware. Don't touch it unless you really know what you're doing. Example:&lt;br /&gt;
 # echo '211a 100 0 0' &amp;gt; /sys/devices/platform/smapi/smapi_request; cat /sys/devices/platform/smapi/smapi_request&lt;br /&gt;
 211a 34b b2 0 0 0 'OK'&lt;br /&gt;
The &amp;quot;4b&amp;quot; in the 2nd value, converted to decimal, is 75: the current charging stop threshold (stop_charge_thresh).&lt;br /&gt;
&lt;br /&gt;
===Bundled &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver===&lt;br /&gt;
&lt;br /&gt;
The tp_smapi package includes a modified version of the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; Linux kernel driver used by the [[HDAPS]] system. It has remained outside the mainline kernel for a few years for several reasons, [https://lists.ubuntu.com/archives/kernel-team/2009-April/005565.html] including the upstream maintainer's assertion that the new code's anonymous author was under a NDA. (Although this would not normally expose the kernel team to litigation.) [http://lkml.org/lkml/2008/9/15/126] [http://lkml.org/lkml/2008/10/7/403] [http://lkml.org/lkml/2008/10/7/428]&lt;br /&gt;
&lt;br /&gt;
To use &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; concurrently, you '''must''' use the modified version.&lt;br /&gt;
&lt;br /&gt;
To build the modified version, simply append the &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; parameter to the &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; command (see [[#Installation|Installation]] above):&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
If you don't do that, you will not be able to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (and its support module &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;) when &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; is loaded, and vice versa. You can use &amp;lt;tt&amp;gt;rmmod&amp;lt;/tt&amp;gt; to switch between these modules.&lt;br /&gt;
&lt;br /&gt;
Note that some of the battery status is also visible through ACPI ({{path|/proc/acpi/battery/*}}), independently of &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; has several changes:&lt;br /&gt;
* The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver in mainline kernels conflicts with the extended battery status (they use the same IO ports). The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; coordinates this access through the bundled &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; driver.&lt;br /&gt;
* The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver fixes reliability and improves support for recent ThinkPad models (*60 and newer), since unlike the mainline driver, it correctly follows the Embedded Controller communication protocol.&lt;br /&gt;
* Several other improvements, such as the ability to control the polling rate.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
The &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f!&amp;lt;/tt&amp;gt;&amp;quot; error message is printed when loading the &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; module on some recent ThinkPad models.  This occurs because the ACPI BIOS DSDT is reserving ports used by tp_smapi.&lt;br /&gt;
&lt;br /&gt;
As a workaround, add the &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; module parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; in {{path|/etc/modprobe.conf}} (or your distribution's equivalent). For transient testing, load the modules as follows:&lt;br /&gt;
&lt;br /&gt;
: {{cmdroot|1=make load HDAPS=1 FORCE_IO=1}}&lt;br /&gt;
&lt;br /&gt;
Note: force_io option was added in tp_smapi v0.40 (released 2008-12-16).&lt;br /&gt;
&lt;br /&gt;
Models which need this option include:&lt;br /&gt;
* ThinkPad {{T400}}&lt;br /&gt;
* ThinkPad {{T500}}&lt;br /&gt;
* ThinkPad {{X301}}&lt;br /&gt;
&lt;br /&gt;
More information:&lt;br /&gt;
* http://bugzilla.kernel.org/show_bug.cgi?id=12221&lt;br /&gt;
* http://www.nabble.com/thinkpad_ec-fails-to-load-on-Thinkpad-T500-td19932985.html&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
If you get &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt;&amp;quot; when trying to load the module on a supported model listed below, you should [[BIOS_Upgrade|upgrade your BIOS]]. Some early BIOS (like 1.x on the X31) don't handle the embedded controller.&lt;br /&gt;
&lt;br /&gt;
===Model-specific status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; feature support matrix&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | &lt;br /&gt;
=====A series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}} 2629-USG&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====G series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====R series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || No SMAPI BIOS&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-JAG&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-5US&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 18*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 || 3.22 || || Machine types 1829, 1830, 1831 and 1836&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 28*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      || 1.29 || || Machine types 2883, 2887, 2888, 2889, 2894 and 2495&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.29 || 1.06 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cno|text=}} 1 || 0.33 || || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.35-test1 || 7KETA7WW 2.07 || 7KHT24WW 1.08 || Machine type 8918&lt;br /&gt;
|-&lt;br /&gt;
! {{R61i}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cunk}}  || {{Cunk}}  ||    ||   ||   || Machine type 8250&lt;br /&gt;
|-&lt;br /&gt;
! {{R400}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.40-1   ||   ||   || Machine type 7443&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====T series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 3.23 || 3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}} 2373-AM9&lt;br /&gt;
| {{Cno}} || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.20 || v3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KXU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.21 || || Stop charge threshold works in Windows, but dmesg says &amp;quot;__get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KUU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}} 2686&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.27 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes|text=}} 0 ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.34 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-24G&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.36 || 1.09a || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 2007-FSG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.39 || 1.10 || 1.05b ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-CZ1&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.40 || 2.23 || 1.07 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60p}} 8743-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T61p}} 6457-7XG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T400}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes|text=}}  1 || 0.40 || 1.19 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! {{T400s}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cunk}}  || {{Cunk}}  || {{Cyes}}  || {{Cyes}}  || {{Cunk}} || 0.40 || 1.06 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T500}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  1 || 0.40 || 2.07 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====X series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}} 2662-31G&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || no EC controller found&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}} || {{Cyes}} || N/A || N/A || 0.34  || 1.09 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 || 2.08 || 1.62 || &lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}}   || {{Cno|text=}} (see ref) || 0.32  || || [http://sourceforge.net/mailarchive/message.php?msg_name=4757BD30.8080808%40ugcs.caltech.edu ref] ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 ||      || 2.07 || 1.10 || 2.6.20 issue (see discussion)&lt;br /&gt;
|-&lt;br /&gt;
! {{X60_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.34  || 7JET25WW (1.10 )  || 7JHT13WW 1.04 || [http://luke.no-ip.org/x60tablet/ ref] [http://rad.bioinfo.ulaval.ca/hardware/x60tablet ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{X60s}} 1704-5UG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cno|text=}} 3 || 0.34 || 7BETD2WW 2.13 || 7BHT40WW 1.13 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7673-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 7NETB9WW (2.19) || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-CTO&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cno|text=}} 6 || 0.35-test1       ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-4KU&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.34 || 7NET30WW (1.11 ) || 7MHT24WW-1.02 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.32  ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61s}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 3 || 0.32 ||  || || [http://www.slackwiki.org/ThinkPad_X61s ref] says 3 but conflicting report received&lt;br /&gt;
|-&lt;br /&gt;
! {{X200}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.40 || 6DET40WW (2.04 ) || 7XHT22WW-1.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X300}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.37 || 7TET25WW (1.02 ) || 7THT15WW-1.00c ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====Z series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || || [https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/45014 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====SL series and IdeaPad=====&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:left&amp;quot; |&lt;br /&gt;
The ThinkPad SL series and IdeaPad series have firmware that is completely different from other ThinkPad models. Neither [[tp_smapi]] nor [[thinkpad-acpi]] support these models.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SMAPI capabilities may depend on the BIOS version as well, so upgrading to the latest version of the BIOS might provide more SMAPI functions (especially true for long-lived BIOS with lots of releases, like the TP-1R).&lt;br /&gt;
&lt;br /&gt;
Please update the above and report your experience on the [[Talk:tp_smapi|discussion]] page. If the module loads but gives a &amp;quot;&amp;lt;tt&amp;gt;not supported&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;not implementeded&amp;lt;/tt&amp;gt;&amp;quot; error when you try to use some specific file in {{path|/sys/devices/platform/smapi/}}, please report the &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output and whether the corresponding functionality is available under Windows - maybe your ThinkPad just can't do that. &lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to add your laptop to the [[list of DMI IDs]].&lt;br /&gt;
&lt;br /&gt;
=====HDAPS axis orientation=====&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; The HDAPS axis orientation is set using the &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; module parameter (at load time) or sysfs attribute (at runtime). The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver of tp_smapi supports all 8 possible sensor orientations (inversion and swapping). You can use [[HDAPS#Visualisation_of_ThinkPad_orientation|hdaps visualisation]] to check if the settings is correct.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; parameter is an integer between 0 and 7, whose meaning is defined below. (This is confusing. Most people will find it easier to just try all 8 possibilities.)&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; denote the hardware readouts. Let &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; denote the laptop's roll (tilt left/right), and let &amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt; denote the laptop's pitch (tilt forward/backward). The possible values are as follows:&lt;br /&gt;
    invert=0:   R= X  P= Y   (same as mainline)&lt;br /&gt;
    invert=1:   R=-X  P=-Y   (same as mainline)&lt;br /&gt;
    invert=2:   R=-X  P= Y   (new)&lt;br /&gt;
    invert=3:   R= X  P=-Y   (new)&lt;br /&gt;
    invert=4:   R= Y  P= X   (new)&lt;br /&gt;
    invert=5:   R=-Y  P=-X   (new)&lt;br /&gt;
    invert=6:   R=-Y  P= X   (new)&lt;br /&gt;
    invert=7:   R= Y  P=-X   (new)&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]] [[Category:Patches]]&lt;br /&gt;
&lt;br /&gt;
===Tools using this driver===&lt;br /&gt;
&lt;br /&gt;
The driver's interface can be accessed directly through the files under {{path|/sys/devices/platform/smapi}}, or via the following tools:&lt;br /&gt;
* [[KThinkBat]] - display battery status on the KDE &amp;lt;tt&amp;gt;kicker&amp;lt;/tt&amp;gt; panel.&lt;br /&gt;
* [[gkrellm-ThinkBat]] - battery status plugin for Gkrellm2&lt;br /&gt;
* {{CodeRef|thinkpad-smapi.sh}} - script to display various SMAPI information using tp_smapi module.&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=43918</id>
		<title>List of DMI IDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=43918"/>
		<updated>2009-08-13T04:44:17Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Handle newlines in reporting command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page maintains a database of [http://en.wikipedia.org/wiki/Desktop_Management_Interface DMI] information which can be used to identify ThinkPad models. It is intended as an aid for driver development.&lt;br /&gt;
{{HELP|We need more information about older models, especially those released before 2004. Please [[#Adding_entries|add your model]] to the database.}}&lt;br /&gt;
{{NOTE|If your ThinkPad is not using the [[BIOS Upgrade Downloads|latest BIOS]], and you would be willing to [[BIOS Upgrade|upgrade your BIOS]], please add your ThinkPad to this table twice: '''before''' and '''after''' the BIOS upgrade.  This information helps us a great deal, so your contribution would be very appreciated.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DMI ID database==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 80%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;vendor&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;release-&amp;lt;br /&amp;gt;date&amp;lt;/tt&amp;gt;&lt;br /&gt;
! Embedded controller&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered series====&lt;br /&gt;
|-&lt;br /&gt;
| {{240X}} 2609-61U&lt;br /&gt;
|| IBM || 260961U || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 1.03.09  || 12/21/1999 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{570E}} 2644-5AU&lt;br /&gt;
|| IBM || 26445AU || Not Available || IBM || 26445AU || Not Available || IBM || Not Available || IBM || IUET25WW || 12/11/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5AU&lt;br /&gt;
|| IBM || 26455AU || Not Available || IBM || 26455AU || Not Available || IBM || Not Available || IBM || INET36WW || 11/20/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645-5FU&lt;br /&gt;
|| IBM || 26455FU || Not Available || IBM || 26455FU || Not Available || IBM || Not Available || IBM || INET55WW || 11/30/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645-8EU&lt;br /&gt;
|| IBM || 26458EU || Not Available || IBM || 26458EU || Not Available || IBM || Not Available || IBM || ITET54WW || 11/30/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A series====&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-FSG&lt;br /&gt;
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET24WW (1.02b) || 12/19/2000 &lt;br /&gt;
|| &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-FSG&lt;br /&gt;
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET36WW (1.09 ) || 05/08/2003 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-GTU&lt;br /&gt;
|| IBM || 2628GTU || Not Available || IBM || 2628GTU || Not Available || IBM || Not Available || IBM || KXET29WW (1.03d) || 03/21/2001 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} 2629-USG&lt;br /&gt;
|| IBM || 2629USG || Not Available || IBM || 2629USG || Not Available || IBM || Not Available || IBM || KYET36WW (1.09a) || 10/17/2002 &lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} 2629-A2G&lt;br /&gt;
|| IBM || 2629A2G || Not Available || IBM || 2629A2G || Not Available || IBM || Not Available || IBM || KYET38WW (1.11 ) || 05/20/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652-PBU&lt;br /&gt;
|| IBM || 2652PBU || Not Available || IBM || 2652PBU || Not Available || IBM || Not Available || IBM || 1NET15WW (1.09 ) || 04/06/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1NHT04WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653-RNG&lt;br /&gt;
|| IBM || 2653RNG || Not Available || IBM || 2653RNG || Not Available || IBM || Not Available || IBM || 1NET16WW (1.10 ) || 10/19/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1NHT08WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653-H6U&lt;br /&gt;
|| IBM || 2653H6U || Not Available || IBM || 2653H6U || Not Available || IBM || Not Available || IBM || 1GET31WW (1.03 ) || 07/23/2002&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Missing EC string, extremely outdated BIOS}}{{HELP|We need a report to know if the latest BIOS fixes the missing EC string}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G series====&lt;br /&gt;
|-&lt;br /&gt;
| {{G41}} 2881-75M&lt;br /&gt;
|| IBM || 288175M || ThinkPad G41 || IBM || 288175M || Not Available || IBM || Not Available || IBM || 1XET47WW (1.06 ) || 01/14/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====R series====&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2681-5UU&lt;br /&gt;
|| IBM || 26815UU || Not Available || IBM || 26815UU || Not Available || IBM || Not Available || IBM || 1OET57WW (1.23 ) || 03/23/2005 &lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2681-HSG&lt;br /&gt;
|| IBM || 2681HSG || Not Available || IBM || 2681HSG || Not Available || IBM || Not Available || IBM || 1OET61WW (1.27 ) || 06/29/2006&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2722-B3G&lt;br /&gt;
|| IBM || 2722B3G || Not Available || IBM || 2722B3G || Not Available || IBM || Not Available || IBM || 1PET62WW (1.30 ) || 09/29/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2722-BDG&lt;br /&gt;
|| IBM || 2722BDG || Not Available || IBM || 2722BDG || Not Available || IBM || Not Available || IBM || 1PET65WW (1.33 ) || 06/29/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2897-B4U&lt;br /&gt;
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1PET52WW (1.20 ) || 03/03/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40e}} 2684-L8G&lt;br /&gt;
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1SET62WW (1.30 ) || 07/09/2004&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40e}} 2684-L8G&lt;br /&gt;
|| IBM || 2684L8G || Not Available || IBM || 2684L8G || Not Available || IBM || Not Available || IBM || 1SET70WW (1.38 ) || 11/15/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1829-7QG&lt;br /&gt;
|| IBM || 0123456 || ThinkPad R50  || IBM || 0123456 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{R50e}} 1834-JAG&lt;br /&gt;
|| IBM || 1834JAG || ThinkPad R50e || IBM || 1834JAG || Not Available || IBM || Not Available || IBM || 1WET82WW (2.02 ) || 02/21/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}} 1832-2AG&lt;br /&gt;
|| IBM || 18322AG || ThinkPad R50p || IBM || 18322AG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-DRG&lt;br /&gt;
|| IBM || 1829DRG || ThinkPad R51 || IBM || 1829DRG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a   ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-9MG&lt;br /&gt;
|| IBM || 18299MG || ThinkPad R51 || IBM || 18299MG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-L7G&lt;br /&gt;
|| IBM || 1829L7G || ThinkPad R51 || IBM || 1829L7G || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT70WW-3.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{R51}} [[1830-DG4]]&lt;br /&gt;
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} [[1830-DG4]]&lt;br /&gt;
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1836-GEU&lt;br /&gt;
|| IBM || 1836GEU || ThinkPad R51 || IBM || 1836GEU || Not Available || IBM || Not Available || IBM || 1RETDLWW  (3.17 ) || 07/27/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes. String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2883-ELU&lt;br /&gt;
|| IBM || 2883ELU || ThinkPad R51 || IBM || 2883ELU || Not Available || IBM || Not Available || IBM || 1VET69WW (1.27 ) || 03/03/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad H || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes	String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET68WW (1.28 ) || 11/15/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-CTO&lt;br /&gt;
|| IBM || 1847W15 || ThinkPad R52 || IBM || 1847W15 || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-W62&lt;br /&gt;
|| IBM || 1847W62 || ThinkPad .    || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-W62&lt;br /&gt;
|| IBM || 1847W62 || ThinkPad R52  || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858-6MM&lt;br /&gt;
|| IBM || 18586MM || ThinkPad R52 || IBM || 18586MM || Not Available || IBM || Not Available || IBM || 70ET40WW (1.04 ) || 06/02/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858-6SM&lt;br /&gt;
|| IBM || 18586SM || ThinkPad R52 || IBM || 18586SM || Not Available || IBM || Not Available || IBM || 70ET57WW (1.17 ) || 07/15/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-4CG&lt;br /&gt;
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT15WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-4CG&lt;br /&gt;
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-B5G&lt;br /&gt;
|| IBM || 1846B5G || ThinkPad H    || IBM || 1846B5G || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60e}} 0657-4TG&lt;br /&gt;
|| LENOVO || 06574TG || ThinkPad R60e || LENOVO || 06574TG || Not Available || LENOVO || Not Available || LENOVO || 7EET18WW (1.04 ) || 07/28/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7EHT13WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9456-6FG&lt;br /&gt;
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9456-6FG&lt;br /&gt;
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CETB7WW (2.07 ) || 11/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-54G&lt;br /&gt;
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-54G&lt;br /&gt;
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CETC1WW (2.11 ) || 01/09/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|With this bios version the brightness control buttons don't work for kernel &amp;lt; 2.6.20}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9460MR2&lt;br /&gt;
|| LENOVO || 9460MR2 || ThinkPad R60 || LENOVO || 9460MR2 || Not Available || LENOVO || Not Available || LENOVO || 7CETC6WW (2.16 ) || 04/18/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-DXG&lt;br /&gt;
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETB6WW (2.06 ) || 10/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-DXG&lt;br /&gt;
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETD2WW (2.22 ) || 05/28/2008 || &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7CHT22WW-1.10    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9462-GAG&lt;br /&gt;
|| LENOVO || 9462GAG || ThinkPad R60 || LENOVO || 9462GAG || Not Available || LENOVO || Not Available || LENOVO || 7CETB5WW (2.05 ) || 10/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8918-5QG&lt;br /&gt;
|| LENOVO || 89185QG || ThinkPad R61 || LENOVO || 89185QG || Not Available || LENOVO || Not Available || LENOVO || 7KETA7WW (2.07 ) || 12/06/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8919-W4P&lt;br /&gt;
|| LENOVO || 8919W4P || ThinkPad R61 || LENOVO || 8919W4P || Not Available || LENOVO || Not Available || LENOVO || 7KET76WW (1.26 ) || 10/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|According to the sticker on the bottom of the notebook as well as according to Lenovo web it is 8919-CTO subtype}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8919-W6X&lt;br /&gt;
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KET71WW (1.21 ) || 08/22/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KETB9WW (2.19 ) || 06/05/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8919-DFG&lt;br /&gt;
|| LENOVO || 8918DFG || ThinkPad R61 || LENOVO || 8918DFG || Not Available || LENOVO || Not Available || LENOVO || 7KETA9WW (2.09 ) || 12/27/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8943-DMG&lt;br /&gt;
|| LENOVO || 8943DMG || ThinkPad R61 || LENOVO || 8943DMG || Not Available || LENOVO || Not Available || LENOVO || 7QET34WW (1.16 ) || 03/24/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7QHT15WW-1.00    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-4TG&lt;br /&gt;
|| LENOVO || 77324TG || ThinkPad R61 || LENOVO || 77324TG || Not Available || LENOVO || Not Available || LENOVO || 7LET51WW (1.21 ) || 08/22/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-4TG&lt;br /&gt;
|| LENOVO || 77324TG || ThinkPad R61 || LENOVO || 77324TG || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-NEG&lt;br /&gt;
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETB6WW (2.16 ) || 04/16/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-NEG&lt;br /&gt;
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-NEG&lt;br /&gt;
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETC6WW (2.26 ) || 05/11/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7733-1ES&lt;br /&gt;
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7733-1ES&lt;br /&gt;
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB4WW (2.14 ) || 03/24/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7733-A82 (Intel graphics, 14.1&amp;quot; WXGA, Atheros wireless)&lt;br /&gt;
|| LENOVO || 7733A82 || ThinkPad R61/R61i || LENOVO || 7733A82 || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61i}} 7650-D7G&lt;br /&gt;
|| LENOVO || 7650D7G || ThinkPad R61e || LENOVO || 7650D7G || Not Available || LENOVO || Not Available || LENOVO || 7PETB0WW (2.10 ) || 01/21/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61e}} 7650-E6G&lt;br /&gt;
|| LENOVO || 7650E6G || ThinkPad R61e || LENOVO || 7650E6G || Not Available || LENOVO || Not Available || LENOVO || 7PETB2WW (2.12 ) || 02/20/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} 7439-A85&lt;br /&gt;
|| LENOVO || 7439A85 || ThinkPad R400 || LENOVO || 7439A85 || Not Available || LENOVO || Not Available || LENOVO || 7UET45WW (1.15 ) || 09/08/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} 7443-TPA&lt;br /&gt;
|| LENOVO || 7443TPA || ThinkPad R400 || LENOVO || 7443TPA || Not Available || LENOVO || Not Available || LENOVO || 7UET49WW (1.19 ) || 10/17/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} 7443-TPA&lt;br /&gt;
|| LENOVO || 7443TPA || ThinkPad R400 || LENOVO || 7443TPA || Not Available || LENOVO || Not Available || LENOVO || 7UET50WW (1.20 ) || 10/30/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====S series====&lt;br /&gt;
|-&lt;br /&gt;
| {{s30}} 2639-4WJ&lt;br /&gt;
|| IBM || 26394WJ || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 18ET45WW (1.45) || 07/10/2001&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====SL series====&lt;br /&gt;
|-&lt;br /&gt;
| {{SL500}} 2746-3ZG&lt;br /&gt;
|| LENOVO.                        || 27463ZG || ThinkPad SL500 || LENOVO                        || BOXSTER    || LENOVO 6AET42WW || LENOVO                        || LENOVO 6AET42WW || LENOVO || 6AET42WW || 08/04/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|IdeaPad EC and BIOS.  This is an IdeaPad in disguise.}}&lt;br /&gt;
|-&lt;br /&gt;
| {{SL500}} 2746-4CG&lt;br /&gt;
|| LENOVO.                        || 27464CG || ThinkPad SL500 || LENOVO                        || BOXSTER    || LENOVO 6AET41WW || LENOVO                        || LENOVO 6AET41WW || LENOVO || 6AET41WW || 07/10/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|IdeaPad EC and BIOS.  This is an IdeaPad in disguise.}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T series====&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} 2647-UC2&lt;br /&gt;
|| IBM || 2647UC2 || Not Available || IBM || 2647UC2 || Not Available || IBM || Not Available || IBM || IYET45WW (1.08a) || 12/21/1999&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Very outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}} 2647-8AU&lt;br /&gt;
|| IBM || 26478AU || Not Available || IBM || 26478AU || Not Available || IBM || Not Available || IBM || KZET34WW (1.16 ) || 04/28/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}} 2647-8GG&lt;br /&gt;
|| IBM || 26478GG || Not Available || IBM || 26478GG || Not Available || IBM || Not Available || IBM || 16ET29WW (1.09 ) || 02/28/2002 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} 2647-4EG&lt;br /&gt;
|| IBM || 26474EG || Not Available || IBM || 26474EG || Not Available || IBM || Not Available || IBM || 16ET31WW (1.11 ) || 03/20/2003 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} 2647-8EU&lt;br /&gt;
|| IBM || 26478EU || Not Available || IBM || 26478EU || Not Available || IBM || Not Available || IBM || 16ET32WW (1.12 ) || 04/27/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647&lt;br /&gt;
|| IBM || 2647 || Not Available || IBM || 2647 || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13) || 07/23/2002 &lt;br /&gt;
|| &lt;br /&gt;
|| Manufactured in Greenock, Scotland&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647&lt;br /&gt;
|| IBM || 2647 || Not Available || IBM || 2647 || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20) || 07/23/2002 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;As above. Handle 0x0024, DMI type 11, 5 bytes OEM Strings&lt;br /&gt;
String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4MG&lt;br /&gt;
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET58WW (1.14a) || 09/11/2002 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4MG&lt;br /&gt;
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20 ) || 10/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4NU&lt;br /&gt;
|| IBM || 26474NU || Not Available || IBM || 26474NU || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2647-8MG&lt;br /&gt;
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13 ) || 07/02/2002&lt;br /&gt;
||&lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2647-8MG&lt;br /&gt;
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2648-DG1&lt;br /&gt;
|| IBM || 2648DG1 || Not Available || IBM || 2648DG1 || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20 ) || 10/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-21U&lt;br /&gt;
|| IBM || 236621U || Not Available || IBM || 236621U || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-85G&lt;br /&gt;
|| IBM || 236685G || Not Available || IBM || 236685G || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1IHT18WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-GU1&lt;br /&gt;
|| IBM || 2366GU1 || Not Available || IBM || 2366GU1 || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1IHT19WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-JBU&lt;br /&gt;
|| IBM || 2366JBU || Not Available || IBM || 2366JBU || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2378-D2U&lt;br /&gt;
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} 2373-G1G&lt;br /&gt;
|| IBM || 2373G1G || ThinkPad T40p || IBM || 2373G1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-9FG&lt;br /&gt;
|| IBM || 23739FG || ThinkPad T41  || IBM || 23739FG || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{T41}} 2373-W63&lt;br /&gt;
|| IBM || 2373W63 || ThinkPad T41  || IBM || 2373W63 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-XNX&lt;br /&gt;
|| IBM || 2373XNX || ThinkPad T41  || IBM || 2373XNX || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-2FG&lt;br /&gt;
|| IBM || 23732FG || ThinkPad T41 || IBM || 23732FG || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003&lt;br /&gt;
||&lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-7FG&lt;br /&gt;
|| IBM || 23737FG || ThinkPad T41  || IBM || 23737FG || Not Available || IBM || Not Available || IBM || 1RET87WW (2.14 ) || 01/26/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-7FG&lt;br /&gt;
|| IBM || 23737FG || ThinkPad T41  || IBM || 23737FG || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|After upgrade from BIOS v. 2.14}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-TG5&lt;br /&gt;
|| IBM || 2373TG5 || ThinkPad T41  || IBM || 2373TG5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T41}} 2374-312&lt;br /&gt;
|| IBM || 2374312 || ThinkPad T41  || IBM || 2374312 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2379-DJU&lt;br /&gt;
|| IBM || 2379DJU || ThinkPad T41  || IBM || 2379DJU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GHG &lt;br /&gt;
|| IBM || 2373GHG || ThinkPad T41p || IBM || 2373GHG || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GEG&lt;br /&gt;
|| IBM || 2373GEG || ThinkPad T41p || IBM || 2373GEG || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt; Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GJJ&lt;br /&gt;
|| IBM || 2373GJJ || ThinkPad T41p || IBM || 2373GJJ || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-FWG&lt;br /&gt;
|| IBM || 2373FWG || ThinkPad T42 || IBM || 2373FWG || Not Available || IBM || Not Available || IBM || 1RETDHWW (3.13 ) || 10/29/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-M1G&lt;br /&gt;
|| IBM || 2373M1G || ThinkPad T42 || IBM || 2373M1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-VJA&lt;br /&gt;
|| IBM || 2373VJA || ThinkPad T42 || IBM || 2373VJA || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| {{T42}} 2374-WEH&lt;br /&gt;
|| IBM || 2374WEH || ThinkPad T42 || IBM || 2374WEH || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2378-FVU&lt;br /&gt;
|| IBM || 2378FVU || ThinkPad T42 || IBM || 2378FVU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-KXU&lt;br /&gt;
|| IBM || 2373KXU || ThinkPad T42p || IBM || 2373KXU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-KUU&lt;br /&gt;
|| IBM || 2373KUU || ThinkPad T42p || IBM || 2373KUU || Not Available || IBM || Not Available || IBM || 1RETDMWW (3.18 ) || 09/15/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-GYG&lt;br /&gt;
|| IBM || 2373GYG || ThinkPad T42p || IBM || 2373GYG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2374-CP5&lt;br /&gt;
|| IBM || 2374CP5 || ThinkPad T42p || IBM || 2374CP5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2379-DYU&lt;br /&gt;
|| IBM || 2379DYU || ThinkPad T42p || IBM || 2379DYU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2372-Q2G&lt;br /&gt;
|| IBM || 2373Q2G || ThinkPad T42p || IBM || 2373Q2G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-4AG&lt;br /&gt;
|| IBM || 18714AG || ThinkPad T43 || IBM || 18714AG || Not Available || IBM || Not Available || IBM || 70ET64WW (1.24 ) || 02/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT27WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-F1G&lt;br /&gt;
|| IBM || 1871F1G || ThinkPad T43 || IBM || 1871F1G || Not Available || IBM || Not Available || IBM || 70ET61WW (1.21 ) || 11/01/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2686-DGU&lt;br /&gt;
|| IBM || 2686DGU || ThinkPad T43 || IBM || 2686DGU || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2669-WE5&lt;br /&gt;
|| IBM || 2669WE5 || ThinkPad T43 || IBM || 2669WE5 || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|User reports this is really a 2669-CEU with 1GB RAM + BlueTooth, and not a 2669-WE5 (unverified if this makes sense)}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-WEW&lt;br /&gt;
|| IBM || 2668WEW || ThinkPad T43 || IBM || 2668WEW || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-G2G&lt;br /&gt;
|| IBM || 2668G2G || ThinkPad T43p || IBM || 2668G2G || Not Available || IBM || Not Available || IBM || 1YET47WW (1.08 ) || 06/09/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-H1G&lt;br /&gt;
|| IBM || 2668H1G || ThinkPad T43p || IBM || 2668H1G || Not Available || IBM || Not Available || IBM || 1YET45WW (1.06a) || 06/02/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2687-D5U&lt;br /&gt;
|| IBM || 2687D5U || ThinkPad T43p || IBM || 2687D5U || Not Available || IBM || Not Available || IBM || 1YET59WW (1.24 ) || 11/07/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-F8G&lt;br /&gt;
|| IBM || 2668F8G || ThinkPad T43p || IBM || 2668F8G || Not Available || IBM || Not Available || IBM || 1YET57WW (1.22 ) || 07/20/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951-24G&lt;br /&gt;
|| LENOVO || 195124G || ThinkPad T60 || LENOVO || 195124G || Not Available || LENOVO || Not Available || LENOVO || 79ET65WW (1.09a) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1952-W5R&lt;br /&gt;
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ET61WW (1.06 ) || 05/24/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1952-W5R&lt;br /&gt;
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ETD2WW (2.12 ) || 04/12/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-49G&lt;br /&gt;
|| LENOVO || 200749G || ThinkPad T60 || LENOVO || 200749G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-77G&lt;br /&gt;
|| LENOVO || 200777G || ThinkPad T60 || LENOVO || 200777G || Not Available || LENOVO || Not Available || LENOVO || 79ETD1WW (2.11 ) || 03/15/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-FSG&lt;br /&gt;
|| LENOVO || 2007FSG || ThinkPad T60 || LENOVO || 2007FSG || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951-CA2&lt;br /&gt;
|| LENOVO || 1951CA2 || ThinkPad T60 || LENOVO || 1951CA2 || Not Available || LENOVO || Not Available || LENOVO || 79ETD9WW (2.19 ) || 09/19/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2623-D6U&lt;br /&gt;
|| LENOVO || 2623D6U || ThinkPad T60 || LENOVO || 2623D6U || Not Available || LENOVO || Not Available || LENOVO || 79ET56WW (1.02 ) || 02/28/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[79HT42WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-BF3&lt;br /&gt;
|| LENOVO || 2007BF3 || ThinkPad T60 || LENOVO || 2007BF3 || Not Available || LENOVO || Not Available || LENOVO || 79ETD7WW (2.17 ) || 08/23/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951-CZ1&lt;br /&gt;
|| LENOVO || 1951CZ1 || ThinkPad T60 || LENOVO || 1951CZ1 || Not Available || LENOVO || Not Available || LENOVO || 79ETE3WW (2.23 ) || 09/12/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-83U&lt;br /&gt;
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT43WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93G&lt;br /&gt;
|| LENOVO || 200793G || ThinkPad T60p || LENOVO || 200793G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-ZK4&lt;br /&gt;
|| LENOVO || 2007ZK4 || ThinkPad T60p || LENOVO || 2007ZK4 || Not Available || LENOVO || Not Available || LENOVO || 79ETD3WW (2.13 ) || 04/30/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2613-ESU&lt;br /&gt;
|| LENOVO || 2613ESU || ThinkPad T60p || LENOVO || 2613ESU || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2623-DDU&lt;br /&gt;
|| LENOVO || 2623DDU || ThinkPad T60p || LENOVO || 2623DDU || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6457-W2C&lt;br /&gt;
|| LENOVO || 6457W2C || ThinkPad T61 || LENOVO || 6457W2C || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6460-EBG&lt;br /&gt;
|| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETB7WW (2.17 ) || 04/25/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6460-EBG&lt;br /&gt;
| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETC4WW (2.24 ) || 08/15/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6465-CTO&lt;br /&gt;
|| LENOVO || 6465CTO || ThinkPad T61 || LENOVO || 6465CTO || Not Available || LENOVO || Not Available || LENOVO || 7LETB2WW (2.12 ) || 02/20/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 7662-XDU&lt;br /&gt;
|| LENOVO || 7662XDU || ThinkPad T61 || LENOVO || 7662XDU || 7662XDU|| LENOVO || Not Available || LENOVO || 7LET37WW (1.07 ) || 04/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 bytes   String 1: IBM ThinkPad Embedded Controller -[7KHT19WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|BIOS and EC firmware have different IDs}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 7661-A56&lt;br /&gt;
|| LENOVO || 7661A56 || ThinkPad T61 || LENOVO || 7661A56 || Not Available || LENOVO || Not Available || LENOVO || 7LET39WW (1.09 ) || 05/14/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT21WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 8895-WFD&lt;br /&gt;
|| LENOVO || 8895WFD || ThinkPad T61 || LENOVO || 8895WFJ || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 bytes        String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 8897-CTO&lt;br /&gt;
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET52WW (1.22 ) || 08/27/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 8897-CTO&lt;br /&gt;
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{T61p}} 6459-A12&lt;br /&gt;
|| LENOVO || 6459A12 || ThinkPad T61p || LENOVO || 6459A12 || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61p}} 6459-CTO&lt;br /&gt;
|| LENOVO || 6459CTO || ThinkPad T61p || LENOVO || 6459CTO || Not Available || LENOVO || Not Available || LENOVO || 7LETB9WW (2.19 ) || 06/06/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| {{T400}} 6474-1EG&lt;br /&gt;
|| LENOVO || 64741EG || ThinkPad T400 || LENOVO || 64741EG || Not Available || LENOVO || Not Available || LENOVO || 7UET48WW (1.18 ) || 10/09/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    &lt;br /&gt;
]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}} 6474-19G&lt;br /&gt;
|| LENOVO || 647419G || ThinkPad T400 || LENOVO || 647419G || Not Available || LENOVO || Not Available || LENOVO || 7UET61WW (2.07 ) || 02/13/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{T400}} 6475-FM4 (before BIOS update)&lt;br /&gt;
|| LENOVO || 6475FM4 || ThinkPad T400 || LENOVO || 6475FM4 || Not Available || LENOVO || Not Available || LENOVO || 7UET43WW (1.13 ) || 08/19/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}} 6475-FM4 (after BIOS update)&lt;br /&gt;
|| LENOVO || 6475FM4 || ThinkPad T400 || LENOVO || 6475FM4 || Not Available || LENOVO || Not Available || LENOVO || 7UET64WW (2.12 ) || 03/13/2009&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T400s}} 2801-CTO&lt;br /&gt;
|| LENOVO || 2801CTO || ThinkPad T400s || LENOVO || 2801CTO || Not Available || LENOVO\nLENOVO || Not Available\nNot Available || LENOVO || 6HET21WW (1.06 ) || 07/27/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[6HHT13WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T500}} 2055-A81&lt;br /&gt;
|| LENOVO || 2055A81 || ThinkPad T500 || LENOVO || 2055A81 || Not Available || LENOVO || Not Available || LENOVO || 6FET46WW (1.16 ) || 09/24/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T500}} 2055-A81&lt;br /&gt;
|| LENOVO || 2055A81 || ThinkPad T500 || LENOVO || 2055A81 || Not Available || LENOVO || Not Available || LENOVO || 6FET50WW (1.20 ) || 10/30/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T500}} 2055-45G&lt;br /&gt;
|| LENOVO || 205545G || ThinkPad T500 || LENOVO || 205545G || Not Available || LENOVO || Not Available || LENOVO || 6FET49WW (1.19 ) || 10/17/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X series====&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} 266231G&lt;br /&gt;
|| IBM || 266231G || Not Available || IBM || 266231G || Not Available || IBM || Not Available || IBM || IZET9DWW (2.25 ) || 04/17/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} 266232G&lt;br /&gt;
|| IBM || 266232G || Not Available || IBM || 266232G || Not Available || IBM || Not Available || IBM || IZET9AWW (2.22 ) || 09/11/2002&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} 266295U&lt;br /&gt;
|| IBM || 266295U || Not Available || IBM || 266295U || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} 2662EBG&lt;br /&gt;
|| IBM || 2662EBG || Not Available || IBM || 2662EBG || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X24}} 2662-MPU&lt;br /&gt;
|| IBM || 62MPUFX || Not Available || IBM || 62MPUFX || Not Available || IBM || Not Available || IBM || 1DET67WW (1.29 ) || 12/18/2002&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} 2672-42G&lt;br /&gt;
|| IBM || 267242G || Not Available || IBM || 267242G || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{X30}} 2672-4HU&lt;br /&gt;
|| IBM || 26724HU || Not Available || IBM || 26724HU || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} 2672-PG3&lt;br /&gt;
|| IBM || 2672PG3 || Not Available || IBM || 2672PG3 || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06    ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CEG&lt;br /&gt;
|| IBM || 2672CEG || Not Available || IBM || 2672CEG || Not Available || IBM || Not Available || IBM || 1QET36WW (1.04a) || 06/30/2003 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CEG&lt;br /&gt;
|| IBM || 2672CEG || ThinkPad X31 || IBM || 2672CEG || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-JXU&lt;br /&gt;
|| IBM || 2672JXU || ThinkPad X31 || IBM || 2672JXU || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-FG2&lt;br /&gt;
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET73WW (2.11 ) || 02/13/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1QHT16WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-FG2&lt;br /&gt;
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-M3G&lt;br /&gt;
|| IBM || 2672M3G || ThinkPad X32 || IBM || 2672M3G || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X32}} 2884-A3U&lt;br /&gt;
|| IBM || 2884A3U || ThinkPad X32 || IBM || 2884A3U || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X32}} 2673-M4U&lt;br /&gt;
|| IBM || 2673M4U || ThinkPad X32 || IBM || 2673M4U || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386-H4G&lt;br /&gt;
|| IBM || 2386H4G || ThinkPad X40 || IBM || 2386H4G || Not Available || IBM || Not Available || IBM || 1UET92WW (1.42 ) || 09/16/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-8NG&lt;br /&gt;
|| IBM || 23718NG || ThinkPad X40 || IBM || 23718NG || Not Available || IBM || Not Available || IBM || 1UETB7WW (1.67 ) || 07/15/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHT58WW-1.12    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-Y29&lt;br /&gt;
|| IBM || 2371Y29 || ThinkPad X40 || IBM || 2371Y29 || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1UHTA6WW-1.56    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-W9F&lt;br /&gt;
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETC8WW (2.03 ) || 09/28/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-W9F&lt;br /&gt;
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-Y1Y&lt;br /&gt;
|| IBM || 2371Y1Y || ThinkPad X40 || IBM || 2371Y1Y || Not Available || IBM || Not Available || IBM || 1UET93WW (1.43 ) || 10/13/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-Y1Y&lt;br /&gt;
|| IBM || 2371Y1Y || ThinkPad X40 || IBM || 2371Y1Y || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-HU1&lt;br /&gt;
|| IBM || 2525HU1 || ThinkPad X41 || IBM || 2525HU1 || Not Available || IBM || Not Available || IBM || 74ET48WW (1.17a) || 06/07/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[74HT25WW-1.00    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41t}} 1866-WSF&lt;br /&gt;
|| IBM || 1866WSF || ThinkPad X41 Tablet || IBM || 1866WSF || Not Available || IBM || Not Available || IBM || 75ET57WW (2.03 ) || 06/14/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 bytes   String 1: IBM ThinkPad Embedded Controller -[75HT20WW-1.02  ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41t}} 1869-CLG&lt;br /&gt;
|| IBM || 1869CLG || ThinkPad X41 Tablet || IBM || 1869CLG || Not Available || IBM || Not Available || IBM || 75ET56WW (2.02 ) || 03/14/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[75HT19WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1709-47U&lt;br /&gt;
|| LENOVO || 170947U || ThinkPad X60 || LENOVO || 170947U || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1709-GDJ&lt;br /&gt;
|| LENOVO || 1709GDJ || ThinkPad X60 || LENOVO || 1709GDJ || Not Available || LENOVO || Not Available || LENOVO || 7BETC2WW (2.03 ) || 10/16/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT36WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1706-B69&lt;br /&gt;
|| LENOVO || 1706B69 || ThinkPad X60 || LENOVO || 1706B69 || Not Available || LENOVO || Not Available || LENOVO || 7BETC8WW (2.09 ) || 03/14/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7BHT37WW-1.10    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-55G&lt;br /&gt;
|| LENOVO || 170255G || ThinkPad X60s || LENOVO || 170255G || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-5FG&lt;br /&gt;
|| LENOVO || 17025FG || ThinkPad X60s || LENOVO || 17025FG || Not Available || LENOVO || Not Available || LENOVO || 7BET49WW (1.09 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT34WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1704-56G&lt;br /&gt;
|| LENOVO || 170456G || ThinkPad X60s || LENOVO || 170456G || Not Available || LENOVO || Not Available || LENOVO || 7BET43WW (1.03 ) || 02/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7BHT28WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1704-5UG&lt;br /&gt;
|| LENOVO || 17045UG || ThinkPad X60s || LENOVO || 17045UG || Not Available || LENOVO || Not Available || LENOVO || 7BETD2WW (2.13 ) || 08/10/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT40WW-1.13    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}} 6365-CTO&lt;br /&gt;
|| LENOVO || 6365CTO || ThinkPad X60 Tablet || LENOVO || 6365CTO || Not Available || LENOVO || Not Available || LENOVO || 7JET25WW (1.10 ) || 08/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0023, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}} 6363-J3G&lt;br /&gt;
|| LENOVO || 6363J3G || ThinkPad X60 Tablet || LENOVO || 6363J3G || Not Available || LENOVO || Not Available || LENOVO || 7JET28WW (1.13 ) || 03/31/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0023, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| A mean bitch to set up, nothing really worked out of the box :(&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}} 6363A7G&lt;br /&gt;
|| LENOVO || 6363A7G || ThinkPad X60 Tablet || LENOVO || 6363A7G || Not Available || LENOVO || Not Available || LENOVO || 7JET19WW (1.04 ) || 12/14/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0023, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7JHT12WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61}} 7675-4KU&lt;br /&gt;
|| LENOVO || 76754KU || ThinkPad X61 || LENOVO || 76754KU || Not Available || LENOVO || Not Available || LENOVO || 7NET30WW (1.11 ) || 11/15/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7MHT24WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61}} 7675-7KU&lt;br /&gt;
|| LENOVO || 76757KU || ThinkPad X61 || LENOVO || 76757KU || Not Available || LENOVO || Not Available || LENOVO || 7NETB1WW (2.11 ) || 03/24/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 bytes   IBM ThinkPad Embedded Controller -[7MHT25WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61s}} 7669-29G&lt;br /&gt;
|| LENOVO || 766929G || ThinkPad X61s || LENOVO || 766929G || Not Available || LENOVO || Not Available || LENOVO || 7NET21WW (1.02 ) || 04/23/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7MHT23WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61s}} 7669-29G&lt;br /&gt;
|| LENOVO || 766929G || ThinkPad X61s || LENOVO || 766929G || Not Available || LENOVO || Not Available || LENOVO || 7NETB9WW (2.19 ) || 11/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7MHT25WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61s}} 7667-34G&lt;br /&gt;
|| LENOVO || 766734G || ThinkPad X61s || LENOVO || 766734G || Not Available || LENOVO || Not Available || LENOVO || 7NETB9WW (2.19 ) || 11/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7MHT25WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7762-95G&lt;br /&gt;
|| LENOVO || 776295G || ThinkPad X61 Tablet || LENOVO || 776295G || Not Available || LENOVO || Not Available || LENOVO || 7SET22WW (1.08 ) || 11/15/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7762-95G&lt;br /&gt;
|| LENOVO || 776295G || ThinkPad X61 Tablet || LENOVO || 776295G || Not Available || LENOVO || Not Available || LENOVO || 7SET36WW (1.22 ) || 11/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7762-98U&lt;br /&gt;
|| LENOVO || 776298U || ThinkPad X61 Tablet || LENOVO || 776298U || Not Available || LENOVO || Not Available || LENOVO || 7SET34WW (1.20 ) || 07/29/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7764-CTO&lt;br /&gt;
|| LENOVO || 7764CTO || ThinkPad X61 Tablet || LENOVO || 7764CTO || Not Available || LENOVO || Not Available || LENOVO || 7SET18WW (1.04 ) || 07/03/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}} 7454-CTO&lt;br /&gt;
|| LENOVO || 7454CTO || ThinkPad X200 || LENOVO || 7454CTO || Not Available || LENOVO || Not Available || LENOVO || 6DET38WW (2.02 ) || 12/19/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7XHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}} 7454-CTO&lt;br /&gt;
|| LENOVO || 7454CTO || ThinkPad X200 || LENOVO || 7454CTO || Not Available || LENOVO || Not Available || LENOVO || 6DET40WW (2.04 ) || 02/13/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7XHT22WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200s}}&lt;br /&gt;
|| LENOVO || 74695HG || ThinkPad X200s || LENOVO || 74695HG || Not Available || LENOVO || Not Available || LENOVO || 6DET33WW (1.10 ) || 10/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7XHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}} Tablet 7449-F9U&lt;br /&gt;
|| LENOVO || 7449F9U || ThinkPad X200 Tablet || LENOVO || 7449F9U || Not Available || LENOVO || Not Available || LENOVO || 7WET24WW (1.02 ) || 09/09/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7WHT14WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6478-14G&lt;br /&gt;
|| LENOVO || 647814G || ThinkPad X300 || LENOVO || 647814G || Not Available || LENOVO || Not Available || LENOVO || 7TET23WW (1.00d) || 01/17/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6478-18M&lt;br /&gt;
|| LENOVO || 647818M || ThinkPad X300 || LENOVO || 647818M || Not Available || LENOVO || Not Available || LENOVO || 7TET26WW (1.02a) || 02/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6477-17G&lt;br /&gt;
|| LENOVO || 647717G || ThinkPad X300 || LENOVO || 647717G || Not Available || LENOVO || Not Available || LENOVO || 7TET33WW (1.07 ) || &lt;br /&gt;
07/02/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c  ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6477-17G&lt;br /&gt;
|| LENOVO || 647717G || ThinkPad X300 || LENOVO || 647717G || Not Available || LENOVO || Not Available || LENOVO || 7TET35WW (1.09 ) || 01/20/2009&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7THT16WW-1.01 ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X301}} 2777-CTO&lt;br /&gt;
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET19WW (1.00g) || 07/30/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[6EHT07WW-1.00b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X301}} 2777-CTO&lt;br /&gt;
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET21WW (1.02 ) || 10/09/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[6EHT09WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z series====&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} 2511-FEU&lt;br /&gt;
|| IBM || 2511FEU || ThinkPad Z60t || IBM || 2511FEU || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} 2511-FFG&lt;br /&gt;
|| IBM || 2511FFG || ThinkPad Z60t || IBM || 2511FFG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[77HT57WW-1.17    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{Z60m}} 2529-ETG&lt;br /&gt;
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET59WW (1.19 ) || 04/24/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[77HT54WW-1.14    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} 2529-ETG&lt;br /&gt;
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} 2529-FBG&lt;br /&gt;
|| IBM || 2529FBG || ThinkPad Z60m || IBM || 2529FBG || Not Available || IBM || Not Available || IBM || 77ET62WW (1.22 ) || 11/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{Z60m}} 2529-FKG&lt;br /&gt;
|| IBM || 2529FKG || ThinkPad Z60m || IBM || 2529FKG || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9453-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET48WW (1.08 ) || 05/26/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[7FHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9452-8QG&lt;br /&gt;
|| LENOVO || 94528QG || ThinkPad Z61m || LENOVO || 94528QG || Not Available || LENOVO || Not Available || LENOVO || 7FETA4WW (2.22 ) || 10/19/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{Z61m}} 9452-W5Q&lt;br /&gt;
|| LENOVO || 9452W5Q || ThinkPad Z61m || LENOVO || 9452W5Q || Not Available || LENOVO || Not Available || LENOVO || 7FETA6WW (2.24 ) || 03/13/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9543-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9543-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET93WW (2.11 ) || 11/10/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9453-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61p}} 9453-A12&lt;br /&gt;
|| LENOVO || 9453A12 || ThinkPad Z61p || LENOVO || 9453A12 || Not Available || LENOVO || Not Available || LENOVO || 7FET45WW (1.05 ) || 04/20/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7FHT19WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61p}} 9450-3AU&lt;br /&gt;
|| LENOVO || 94503AU || ThinkPad Z61p || LENOVO || 94503AU || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-2CU&lt;br /&gt;
|| LENOVO || 94402CU || ThinkPad Z61t || LENOVO || 94402CU || Not Available || LENOVO || Not Available || LENOVO || 7FET50WW (1.10 ) || 06/20/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT22WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9443-4GG&lt;br /&gt;
|| LENOVO || 94434GG || ThinkPad Z61t || LENOVO || 94434GG || Not Available || LENOVO || Not Available || LENOVO || 7FET96WW (2.14 ) || 12/25/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-CTO&lt;br /&gt;
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FET99WW (2.17 ) || 04/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-CTO&lt;br /&gt;
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA0WW (2.18 ) || 05/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-CTO&lt;br /&gt;
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA7WW (2.25 ) || 06/03/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Lenovo 3000 series====&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:Lenovo 3000| Lenovo 3000]] N200 TY2BAFR&lt;br /&gt;
|| LENOVO || 0769BAG || 3000 N200 || LENOVO || IEL10 || REFERENCE || No Enclosure || N/A || LENOVO || 68ET24WW || 08/15/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|Non-ThinkPad EC firmware and BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Adding entries==&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit&amp;quot; link on the appropriate series above and add an entry of the following form:&lt;br /&gt;
:&amp;lt;tt&amp;gt;| &amp;lt;/tt&amp;gt;&amp;lt;i&amp;gt;description of your model&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 1&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 2&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;||&amp;lt;/tt&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;|-&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the two data lines are generated by the following &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for X in system-{manufacturer,product-name,version} \&lt;br /&gt;
  baseboard-{manufacturer,product-name,version} \&lt;br /&gt;
  chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \&lt;br /&gt;
  echo -n &amp;quot;|| `sudo /usr/sbin/dmidecode -s $X` &amp;quot; \&lt;br /&gt;
  | perl -pe 's/\n/\\n/' ; done; \&lt;br /&gt;
  sudo /usr/sbin/dmidecode | perl -0777 -ne \&lt;br /&gt;
  'm/\n(.*).\n.*\n(.*Embedded Cont.*)\n/i; print &amp;quot;\n|| &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;/nowiki&amp;gt;nowiki&amp;gt;$1$2&amp;lt;/nowiki&amp;gt;\n&amp;quot;'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you can, please also test [[tp_smapi]] and update its [[tp_smapi#Model-specific_status|model-specific status table]].&lt;br /&gt;
&lt;br /&gt;
==Software using ThinkPad DMI IDs==&lt;br /&gt;
* [[HDAPS]] driver whitelist&lt;br /&gt;
* [[tp_smapi]] driver whitelist&lt;br /&gt;
* [[thinkpad-acpi]] driver quirk list&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=43917</id>
		<title>List of DMI IDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=43917"/>
		<updated>2009-08-13T04:42:11Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* T series */ Hey, T400s has a newline in the DMI chassis-manufacturer!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page maintains a database of [http://en.wikipedia.org/wiki/Desktop_Management_Interface DMI] information which can be used to identify ThinkPad models. It is intended as an aid for driver development.&lt;br /&gt;
{{HELP|We need more information about older models, especially those released before 2004. Please [[#Adding_entries|add your model]] to the database.}}&lt;br /&gt;
{{NOTE|If your ThinkPad is not using the [[BIOS Upgrade Downloads|latest BIOS]], and you would be willing to [[BIOS Upgrade|upgrade your BIOS]], please add your ThinkPad to this table twice: '''before''' and '''after''' the BIOS upgrade.  This information helps us a great deal, so your contribution would be very appreciated.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DMI ID database==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 80%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;vendor&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;release-&amp;lt;br /&amp;gt;date&amp;lt;/tt&amp;gt;&lt;br /&gt;
! Embedded controller&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered series====&lt;br /&gt;
|-&lt;br /&gt;
| {{240X}} 2609-61U&lt;br /&gt;
|| IBM || 260961U || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 1.03.09  || 12/21/1999 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{570E}} 2644-5AU&lt;br /&gt;
|| IBM || 26445AU || Not Available || IBM || 26445AU || Not Available || IBM || Not Available || IBM || IUET25WW || 12/11/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5AU&lt;br /&gt;
|| IBM || 26455AU || Not Available || IBM || 26455AU || Not Available || IBM || Not Available || IBM || INET36WW || 11/20/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645-5FU&lt;br /&gt;
|| IBM || 26455FU || Not Available || IBM || 26455FU || Not Available || IBM || Not Available || IBM || INET55WW || 11/30/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645-8EU&lt;br /&gt;
|| IBM || 26458EU || Not Available || IBM || 26458EU || Not Available || IBM || Not Available || IBM || ITET54WW || 11/30/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A series====&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-FSG&lt;br /&gt;
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET24WW (1.02b) || 12/19/2000 &lt;br /&gt;
|| &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-FSG&lt;br /&gt;
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET36WW (1.09 ) || 05/08/2003 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-GTU&lt;br /&gt;
|| IBM || 2628GTU || Not Available || IBM || 2628GTU || Not Available || IBM || Not Available || IBM || KXET29WW (1.03d) || 03/21/2001 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} 2629-USG&lt;br /&gt;
|| IBM || 2629USG || Not Available || IBM || 2629USG || Not Available || IBM || Not Available || IBM || KYET36WW (1.09a) || 10/17/2002 &lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} 2629-A2G&lt;br /&gt;
|| IBM || 2629A2G || Not Available || IBM || 2629A2G || Not Available || IBM || Not Available || IBM || KYET38WW (1.11 ) || 05/20/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652-PBU&lt;br /&gt;
|| IBM || 2652PBU || Not Available || IBM || 2652PBU || Not Available || IBM || Not Available || IBM || 1NET15WW (1.09 ) || 04/06/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1NHT04WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653-RNG&lt;br /&gt;
|| IBM || 2653RNG || Not Available || IBM || 2653RNG || Not Available || IBM || Not Available || IBM || 1NET16WW (1.10 ) || 10/19/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1NHT08WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653-H6U&lt;br /&gt;
|| IBM || 2653H6U || Not Available || IBM || 2653H6U || Not Available || IBM || Not Available || IBM || 1GET31WW (1.03 ) || 07/23/2002&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Missing EC string, extremely outdated BIOS}}{{HELP|We need a report to know if the latest BIOS fixes the missing EC string}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G series====&lt;br /&gt;
|-&lt;br /&gt;
| {{G41}} 2881-75M&lt;br /&gt;
|| IBM || 288175M || ThinkPad G41 || IBM || 288175M || Not Available || IBM || Not Available || IBM || 1XET47WW (1.06 ) || 01/14/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====R series====&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2681-5UU&lt;br /&gt;
|| IBM || 26815UU || Not Available || IBM || 26815UU || Not Available || IBM || Not Available || IBM || 1OET57WW (1.23 ) || 03/23/2005 &lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2681-HSG&lt;br /&gt;
|| IBM || 2681HSG || Not Available || IBM || 2681HSG || Not Available || IBM || Not Available || IBM || 1OET61WW (1.27 ) || 06/29/2006&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2722-B3G&lt;br /&gt;
|| IBM || 2722B3G || Not Available || IBM || 2722B3G || Not Available || IBM || Not Available || IBM || 1PET62WW (1.30 ) || 09/29/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2722-BDG&lt;br /&gt;
|| IBM || 2722BDG || Not Available || IBM || 2722BDG || Not Available || IBM || Not Available || IBM || 1PET65WW (1.33 ) || 06/29/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2897-B4U&lt;br /&gt;
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1PET52WW (1.20 ) || 03/03/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40e}} 2684-L8G&lt;br /&gt;
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1SET62WW (1.30 ) || 07/09/2004&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40e}} 2684-L8G&lt;br /&gt;
|| IBM || 2684L8G || Not Available || IBM || 2684L8G || Not Available || IBM || Not Available || IBM || 1SET70WW (1.38 ) || 11/15/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1829-7QG&lt;br /&gt;
|| IBM || 0123456 || ThinkPad R50  || IBM || 0123456 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{R50e}} 1834-JAG&lt;br /&gt;
|| IBM || 1834JAG || ThinkPad R50e || IBM || 1834JAG || Not Available || IBM || Not Available || IBM || 1WET82WW (2.02 ) || 02/21/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}} 1832-2AG&lt;br /&gt;
|| IBM || 18322AG || ThinkPad R50p || IBM || 18322AG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-DRG&lt;br /&gt;
|| IBM || 1829DRG || ThinkPad R51 || IBM || 1829DRG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a   ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-9MG&lt;br /&gt;
|| IBM || 18299MG || ThinkPad R51 || IBM || 18299MG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-L7G&lt;br /&gt;
|| IBM || 1829L7G || ThinkPad R51 || IBM || 1829L7G || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT70WW-3.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{R51}} [[1830-DG4]]&lt;br /&gt;
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} [[1830-DG4]]&lt;br /&gt;
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1836-GEU&lt;br /&gt;
|| IBM || 1836GEU || ThinkPad R51 || IBM || 1836GEU || Not Available || IBM || Not Available || IBM || 1RETDLWW  (3.17 ) || 07/27/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes. String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2883-ELU&lt;br /&gt;
|| IBM || 2883ELU || ThinkPad R51 || IBM || 2883ELU || Not Available || IBM || Not Available || IBM || 1VET69WW (1.27 ) || 03/03/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad H || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes	String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET68WW (1.28 ) || 11/15/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-CTO&lt;br /&gt;
|| IBM || 1847W15 || ThinkPad R52 || IBM || 1847W15 || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-W62&lt;br /&gt;
|| IBM || 1847W62 || ThinkPad .    || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-W62&lt;br /&gt;
|| IBM || 1847W62 || ThinkPad R52  || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858-6MM&lt;br /&gt;
|| IBM || 18586MM || ThinkPad R52 || IBM || 18586MM || Not Available || IBM || Not Available || IBM || 70ET40WW (1.04 ) || 06/02/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858-6SM&lt;br /&gt;
|| IBM || 18586SM || ThinkPad R52 || IBM || 18586SM || Not Available || IBM || Not Available || IBM || 70ET57WW (1.17 ) || 07/15/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-4CG&lt;br /&gt;
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT15WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-4CG&lt;br /&gt;
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-B5G&lt;br /&gt;
|| IBM || 1846B5G || ThinkPad H    || IBM || 1846B5G || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60e}} 0657-4TG&lt;br /&gt;
|| LENOVO || 06574TG || ThinkPad R60e || LENOVO || 06574TG || Not Available || LENOVO || Not Available || LENOVO || 7EET18WW (1.04 ) || 07/28/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7EHT13WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9456-6FG&lt;br /&gt;
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9456-6FG&lt;br /&gt;
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CETB7WW (2.07 ) || 11/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-54G&lt;br /&gt;
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-54G&lt;br /&gt;
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CETC1WW (2.11 ) || 01/09/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|With this bios version the brightness control buttons don't work for kernel &amp;lt; 2.6.20}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9460MR2&lt;br /&gt;
|| LENOVO || 9460MR2 || ThinkPad R60 || LENOVO || 9460MR2 || Not Available || LENOVO || Not Available || LENOVO || 7CETC6WW (2.16 ) || 04/18/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-DXG&lt;br /&gt;
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETB6WW (2.06 ) || 10/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-DXG&lt;br /&gt;
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETD2WW (2.22 ) || 05/28/2008 || &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7CHT22WW-1.10    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9462-GAG&lt;br /&gt;
|| LENOVO || 9462GAG || ThinkPad R60 || LENOVO || 9462GAG || Not Available || LENOVO || Not Available || LENOVO || 7CETB5WW (2.05 ) || 10/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8918-5QG&lt;br /&gt;
|| LENOVO || 89185QG || ThinkPad R61 || LENOVO || 89185QG || Not Available || LENOVO || Not Available || LENOVO || 7KETA7WW (2.07 ) || 12/06/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8919-W4P&lt;br /&gt;
|| LENOVO || 8919W4P || ThinkPad R61 || LENOVO || 8919W4P || Not Available || LENOVO || Not Available || LENOVO || 7KET76WW (1.26 ) || 10/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|According to the sticker on the bottom of the notebook as well as according to Lenovo web it is 8919-CTO subtype}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8919-W6X&lt;br /&gt;
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KET71WW (1.21 ) || 08/22/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KETB9WW (2.19 ) || 06/05/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8919-DFG&lt;br /&gt;
|| LENOVO || 8918DFG || ThinkPad R61 || LENOVO || 8918DFG || Not Available || LENOVO || Not Available || LENOVO || 7KETA9WW (2.09 ) || 12/27/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8943-DMG&lt;br /&gt;
|| LENOVO || 8943DMG || ThinkPad R61 || LENOVO || 8943DMG || Not Available || LENOVO || Not Available || LENOVO || 7QET34WW (1.16 ) || 03/24/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7QHT15WW-1.00    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-4TG&lt;br /&gt;
|| LENOVO || 77324TG || ThinkPad R61 || LENOVO || 77324TG || Not Available || LENOVO || Not Available || LENOVO || 7LET51WW (1.21 ) || 08/22/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-4TG&lt;br /&gt;
|| LENOVO || 77324TG || ThinkPad R61 || LENOVO || 77324TG || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-NEG&lt;br /&gt;
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETB6WW (2.16 ) || 04/16/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-NEG&lt;br /&gt;
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-NEG&lt;br /&gt;
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETC6WW (2.26 ) || 05/11/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7733-1ES&lt;br /&gt;
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7733-1ES&lt;br /&gt;
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB4WW (2.14 ) || 03/24/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7733-A82 (Intel graphics, 14.1&amp;quot; WXGA, Atheros wireless)&lt;br /&gt;
|| LENOVO || 7733A82 || ThinkPad R61/R61i || LENOVO || 7733A82 || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61i}} 7650-D7G&lt;br /&gt;
|| LENOVO || 7650D7G || ThinkPad R61e || LENOVO || 7650D7G || Not Available || LENOVO || Not Available || LENOVO || 7PETB0WW (2.10 ) || 01/21/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61e}} 7650-E6G&lt;br /&gt;
|| LENOVO || 7650E6G || ThinkPad R61e || LENOVO || 7650E6G || Not Available || LENOVO || Not Available || LENOVO || 7PETB2WW (2.12 ) || 02/20/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} 7439-A85&lt;br /&gt;
|| LENOVO || 7439A85 || ThinkPad R400 || LENOVO || 7439A85 || Not Available || LENOVO || Not Available || LENOVO || 7UET45WW (1.15 ) || 09/08/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} 7443-TPA&lt;br /&gt;
|| LENOVO || 7443TPA || ThinkPad R400 || LENOVO || 7443TPA || Not Available || LENOVO || Not Available || LENOVO || 7UET49WW (1.19 ) || 10/17/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} 7443-TPA&lt;br /&gt;
|| LENOVO || 7443TPA || ThinkPad R400 || LENOVO || 7443TPA || Not Available || LENOVO || Not Available || LENOVO || 7UET50WW (1.20 ) || 10/30/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====S series====&lt;br /&gt;
|-&lt;br /&gt;
| {{s30}} 2639-4WJ&lt;br /&gt;
|| IBM || 26394WJ || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 18ET45WW (1.45) || 07/10/2001&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====SL series====&lt;br /&gt;
|-&lt;br /&gt;
| {{SL500}} 2746-3ZG&lt;br /&gt;
|| LENOVO.                        || 27463ZG || ThinkPad SL500 || LENOVO                        || BOXSTER    || LENOVO 6AET42WW || LENOVO                        || LENOVO 6AET42WW || LENOVO || 6AET42WW || 08/04/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|IdeaPad EC and BIOS.  This is an IdeaPad in disguise.}}&lt;br /&gt;
|-&lt;br /&gt;
| {{SL500}} 2746-4CG&lt;br /&gt;
|| LENOVO.                        || 27464CG || ThinkPad SL500 || LENOVO                        || BOXSTER    || LENOVO 6AET41WW || LENOVO                        || LENOVO 6AET41WW || LENOVO || 6AET41WW || 07/10/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|IdeaPad EC and BIOS.  This is an IdeaPad in disguise.}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T series====&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} 2647-UC2&lt;br /&gt;
|| IBM || 2647UC2 || Not Available || IBM || 2647UC2 || Not Available || IBM || Not Available || IBM || IYET45WW (1.08a) || 12/21/1999&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Very outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}} 2647-8AU&lt;br /&gt;
|| IBM || 26478AU || Not Available || IBM || 26478AU || Not Available || IBM || Not Available || IBM || KZET34WW (1.16 ) || 04/28/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}} 2647-8GG&lt;br /&gt;
|| IBM || 26478GG || Not Available || IBM || 26478GG || Not Available || IBM || Not Available || IBM || 16ET29WW (1.09 ) || 02/28/2002 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} 2647-4EG&lt;br /&gt;
|| IBM || 26474EG || Not Available || IBM || 26474EG || Not Available || IBM || Not Available || IBM || 16ET31WW (1.11 ) || 03/20/2003 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} 2647-8EU&lt;br /&gt;
|| IBM || 26478EU || Not Available || IBM || 26478EU || Not Available || IBM || Not Available || IBM || 16ET32WW (1.12 ) || 04/27/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647&lt;br /&gt;
|| IBM || 2647 || Not Available || IBM || 2647 || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13) || 07/23/2002 &lt;br /&gt;
|| &lt;br /&gt;
|| Manufactured in Greenock, Scotland&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647&lt;br /&gt;
|| IBM || 2647 || Not Available || IBM || 2647 || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20) || 07/23/2002 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;As above. Handle 0x0024, DMI type 11, 5 bytes OEM Strings&lt;br /&gt;
String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4MG&lt;br /&gt;
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET58WW (1.14a) || 09/11/2002 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4MG&lt;br /&gt;
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20 ) || 10/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4NU&lt;br /&gt;
|| IBM || 26474NU || Not Available || IBM || 26474NU || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2647-8MG&lt;br /&gt;
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13 ) || 07/02/2002&lt;br /&gt;
||&lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2647-8MG&lt;br /&gt;
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2648-DG1&lt;br /&gt;
|| IBM || 2648DG1 || Not Available || IBM || 2648DG1 || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20 ) || 10/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-21U&lt;br /&gt;
|| IBM || 236621U || Not Available || IBM || 236621U || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-85G&lt;br /&gt;
|| IBM || 236685G || Not Available || IBM || 236685G || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1IHT18WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-GU1&lt;br /&gt;
|| IBM || 2366GU1 || Not Available || IBM || 2366GU1 || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1IHT19WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-JBU&lt;br /&gt;
|| IBM || 2366JBU || Not Available || IBM || 2366JBU || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2378-D2U&lt;br /&gt;
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} 2373-G1G&lt;br /&gt;
|| IBM || 2373G1G || ThinkPad T40p || IBM || 2373G1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-9FG&lt;br /&gt;
|| IBM || 23739FG || ThinkPad T41  || IBM || 23739FG || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{T41}} 2373-W63&lt;br /&gt;
|| IBM || 2373W63 || ThinkPad T41  || IBM || 2373W63 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-XNX&lt;br /&gt;
|| IBM || 2373XNX || ThinkPad T41  || IBM || 2373XNX || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-2FG&lt;br /&gt;
|| IBM || 23732FG || ThinkPad T41 || IBM || 23732FG || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003&lt;br /&gt;
||&lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-7FG&lt;br /&gt;
|| IBM || 23737FG || ThinkPad T41  || IBM || 23737FG || Not Available || IBM || Not Available || IBM || 1RET87WW (2.14 ) || 01/26/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-7FG&lt;br /&gt;
|| IBM || 23737FG || ThinkPad T41  || IBM || 23737FG || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|After upgrade from BIOS v. 2.14}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-TG5&lt;br /&gt;
|| IBM || 2373TG5 || ThinkPad T41  || IBM || 2373TG5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T41}} 2374-312&lt;br /&gt;
|| IBM || 2374312 || ThinkPad T41  || IBM || 2374312 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2379-DJU&lt;br /&gt;
|| IBM || 2379DJU || ThinkPad T41  || IBM || 2379DJU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GHG &lt;br /&gt;
|| IBM || 2373GHG || ThinkPad T41p || IBM || 2373GHG || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GEG&lt;br /&gt;
|| IBM || 2373GEG || ThinkPad T41p || IBM || 2373GEG || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt; Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GJJ&lt;br /&gt;
|| IBM || 2373GJJ || ThinkPad T41p || IBM || 2373GJJ || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-FWG&lt;br /&gt;
|| IBM || 2373FWG || ThinkPad T42 || IBM || 2373FWG || Not Available || IBM || Not Available || IBM || 1RETDHWW (3.13 ) || 10/29/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-M1G&lt;br /&gt;
|| IBM || 2373M1G || ThinkPad T42 || IBM || 2373M1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-VJA&lt;br /&gt;
|| IBM || 2373VJA || ThinkPad T42 || IBM || 2373VJA || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| {{T42}} 2374-WEH&lt;br /&gt;
|| IBM || 2374WEH || ThinkPad T42 || IBM || 2374WEH || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2378-FVU&lt;br /&gt;
|| IBM || 2378FVU || ThinkPad T42 || IBM || 2378FVU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-KXU&lt;br /&gt;
|| IBM || 2373KXU || ThinkPad T42p || IBM || 2373KXU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-KUU&lt;br /&gt;
|| IBM || 2373KUU || ThinkPad T42p || IBM || 2373KUU || Not Available || IBM || Not Available || IBM || 1RETDMWW (3.18 ) || 09/15/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-GYG&lt;br /&gt;
|| IBM || 2373GYG || ThinkPad T42p || IBM || 2373GYG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2374-CP5&lt;br /&gt;
|| IBM || 2374CP5 || ThinkPad T42p || IBM || 2374CP5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2379-DYU&lt;br /&gt;
|| IBM || 2379DYU || ThinkPad T42p || IBM || 2379DYU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2372-Q2G&lt;br /&gt;
|| IBM || 2373Q2G || ThinkPad T42p || IBM || 2373Q2G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-4AG&lt;br /&gt;
|| IBM || 18714AG || ThinkPad T43 || IBM || 18714AG || Not Available || IBM || Not Available || IBM || 70ET64WW (1.24 ) || 02/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT27WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-F1G&lt;br /&gt;
|| IBM || 1871F1G || ThinkPad T43 || IBM || 1871F1G || Not Available || IBM || Not Available || IBM || 70ET61WW (1.21 ) || 11/01/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2686-DGU&lt;br /&gt;
|| IBM || 2686DGU || ThinkPad T43 || IBM || 2686DGU || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2669-WE5&lt;br /&gt;
|| IBM || 2669WE5 || ThinkPad T43 || IBM || 2669WE5 || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|User reports this is really a 2669-CEU with 1GB RAM + BlueTooth, and not a 2669-WE5 (unverified if this makes sense)}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-WEW&lt;br /&gt;
|| IBM || 2668WEW || ThinkPad T43 || IBM || 2668WEW || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-G2G&lt;br /&gt;
|| IBM || 2668G2G || ThinkPad T43p || IBM || 2668G2G || Not Available || IBM || Not Available || IBM || 1YET47WW (1.08 ) || 06/09/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-H1G&lt;br /&gt;
|| IBM || 2668H1G || ThinkPad T43p || IBM || 2668H1G || Not Available || IBM || Not Available || IBM || 1YET45WW (1.06a) || 06/02/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2687-D5U&lt;br /&gt;
|| IBM || 2687D5U || ThinkPad T43p || IBM || 2687D5U || Not Available || IBM || Not Available || IBM || 1YET59WW (1.24 ) || 11/07/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-F8G&lt;br /&gt;
|| IBM || 2668F8G || ThinkPad T43p || IBM || 2668F8G || Not Available || IBM || Not Available || IBM || 1YET57WW (1.22 ) || 07/20/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951-24G&lt;br /&gt;
|| LENOVO || 195124G || ThinkPad T60 || LENOVO || 195124G || Not Available || LENOVO || Not Available || LENOVO || 79ET65WW (1.09a) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1952-W5R&lt;br /&gt;
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ET61WW (1.06 ) || 05/24/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1952-W5R&lt;br /&gt;
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ETD2WW (2.12 ) || 04/12/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-49G&lt;br /&gt;
|| LENOVO || 200749G || ThinkPad T60 || LENOVO || 200749G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-77G&lt;br /&gt;
|| LENOVO || 200777G || ThinkPad T60 || LENOVO || 200777G || Not Available || LENOVO || Not Available || LENOVO || 79ETD1WW (2.11 ) || 03/15/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-FSG&lt;br /&gt;
|| LENOVO || 2007FSG || ThinkPad T60 || LENOVO || 2007FSG || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951-CA2&lt;br /&gt;
|| LENOVO || 1951CA2 || ThinkPad T60 || LENOVO || 1951CA2 || Not Available || LENOVO || Not Available || LENOVO || 79ETD9WW (2.19 ) || 09/19/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2623-D6U&lt;br /&gt;
|| LENOVO || 2623D6U || ThinkPad T60 || LENOVO || 2623D6U || Not Available || LENOVO || Not Available || LENOVO || 79ET56WW (1.02 ) || 02/28/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[79HT42WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-BF3&lt;br /&gt;
|| LENOVO || 2007BF3 || ThinkPad T60 || LENOVO || 2007BF3 || Not Available || LENOVO || Not Available || LENOVO || 79ETD7WW (2.17 ) || 08/23/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951-CZ1&lt;br /&gt;
|| LENOVO || 1951CZ1 || ThinkPad T60 || LENOVO || 1951CZ1 || Not Available || LENOVO || Not Available || LENOVO || 79ETE3WW (2.23 ) || 09/12/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-83U&lt;br /&gt;
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT43WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93G&lt;br /&gt;
|| LENOVO || 200793G || ThinkPad T60p || LENOVO || 200793G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-ZK4&lt;br /&gt;
|| LENOVO || 2007ZK4 || ThinkPad T60p || LENOVO || 2007ZK4 || Not Available || LENOVO || Not Available || LENOVO || 79ETD3WW (2.13 ) || 04/30/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2613-ESU&lt;br /&gt;
|| LENOVO || 2613ESU || ThinkPad T60p || LENOVO || 2613ESU || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2623-DDU&lt;br /&gt;
|| LENOVO || 2623DDU || ThinkPad T60p || LENOVO || 2623DDU || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6457-W2C&lt;br /&gt;
|| LENOVO || 6457W2C || ThinkPad T61 || LENOVO || 6457W2C || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6460-EBG&lt;br /&gt;
|| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETB7WW (2.17 ) || 04/25/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6460-EBG&lt;br /&gt;
| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETC4WW (2.24 ) || 08/15/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6465-CTO&lt;br /&gt;
|| LENOVO || 6465CTO || ThinkPad T61 || LENOVO || 6465CTO || Not Available || LENOVO || Not Available || LENOVO || 7LETB2WW (2.12 ) || 02/20/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 7662-XDU&lt;br /&gt;
|| LENOVO || 7662XDU || ThinkPad T61 || LENOVO || 7662XDU || 7662XDU|| LENOVO || Not Available || LENOVO || 7LET37WW (1.07 ) || 04/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 bytes   String 1: IBM ThinkPad Embedded Controller -[7KHT19WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|BIOS and EC firmware have different IDs}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 7661-A56&lt;br /&gt;
|| LENOVO || 7661A56 || ThinkPad T61 || LENOVO || 7661A56 || Not Available || LENOVO || Not Available || LENOVO || 7LET39WW (1.09 ) || 05/14/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT21WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 8895-WFD&lt;br /&gt;
|| LENOVO || 8895WFD || ThinkPad T61 || LENOVO || 8895WFJ || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 bytes        String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 8897-CTO&lt;br /&gt;
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET52WW (1.22 ) || 08/27/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 8897-CTO&lt;br /&gt;
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{T61p}} 6459-A12&lt;br /&gt;
|| LENOVO || 6459A12 || ThinkPad T61p || LENOVO || 6459A12 || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61p}} 6459-CTO&lt;br /&gt;
|| LENOVO || 6459CTO || ThinkPad T61p || LENOVO || 6459CTO || Not Available || LENOVO || Not Available || LENOVO || 7LETB9WW (2.19 ) || 06/06/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| {{T400}} 6474-1EG&lt;br /&gt;
|| LENOVO || 64741EG || ThinkPad T400 || LENOVO || 64741EG || Not Available || LENOVO || Not Available || LENOVO || 7UET48WW (1.18 ) || 10/09/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    &lt;br /&gt;
]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}} 6474-19G&lt;br /&gt;
|| LENOVO || 647419G || ThinkPad T400 || LENOVO || 647419G || Not Available || LENOVO || Not Available || LENOVO || 7UET61WW (2.07 ) || 02/13/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{T400}} 6475-FM4 (before BIOS update)&lt;br /&gt;
|| LENOVO || 6475FM4 || ThinkPad T400 || LENOVO || 6475FM4 || Not Available || LENOVO || Not Available || LENOVO || 7UET43WW (1.13 ) || 08/19/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}} 6475-FM4 (after BIOS update)&lt;br /&gt;
|| LENOVO || 6475FM4 || ThinkPad T400 || LENOVO || 6475FM4 || Not Available || LENOVO || Not Available || LENOVO || 7UET64WW (2.12 ) || 03/13/2009&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T400s}} 2801-CTO&lt;br /&gt;
|| LENOVO || 2801CTO || ThinkPad T400s || LENOVO || 2801CTO || Not Available || LENOVO\nLENOVO || Not Available\nNot Available || LENOVO || 6HET21WW (1.06 ) || 07/27/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[6HHT13WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T500}} 2055-A81&lt;br /&gt;
|| LENOVO || 2055A81 || ThinkPad T500 || LENOVO || 2055A81 || Not Available || LENOVO || Not Available || LENOVO || 6FET46WW (1.16 ) || 09/24/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T500}} 2055-A81&lt;br /&gt;
|| LENOVO || 2055A81 || ThinkPad T500 || LENOVO || 2055A81 || Not Available || LENOVO || Not Available || LENOVO || 6FET50WW (1.20 ) || 10/30/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T500}} 2055-45G&lt;br /&gt;
|| LENOVO || 205545G || ThinkPad T500 || LENOVO || 205545G || Not Available || LENOVO || Not Available || LENOVO || 6FET49WW (1.19 ) || 10/17/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X series====&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} 266231G&lt;br /&gt;
|| IBM || 266231G || Not Available || IBM || 266231G || Not Available || IBM || Not Available || IBM || IZET9DWW (2.25 ) || 04/17/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} 266232G&lt;br /&gt;
|| IBM || 266232G || Not Available || IBM || 266232G || Not Available || IBM || Not Available || IBM || IZET9AWW (2.22 ) || 09/11/2002&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} 266295U&lt;br /&gt;
|| IBM || 266295U || Not Available || IBM || 266295U || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} 2662EBG&lt;br /&gt;
|| IBM || 2662EBG || Not Available || IBM || 2662EBG || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X24}} 2662-MPU&lt;br /&gt;
|| IBM || 62MPUFX || Not Available || IBM || 62MPUFX || Not Available || IBM || Not Available || IBM || 1DET67WW (1.29 ) || 12/18/2002&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} 2672-42G&lt;br /&gt;
|| IBM || 267242G || Not Available || IBM || 267242G || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{X30}} 2672-4HU&lt;br /&gt;
|| IBM || 26724HU || Not Available || IBM || 26724HU || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} 2672-PG3&lt;br /&gt;
|| IBM || 2672PG3 || Not Available || IBM || 2672PG3 || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06    ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CEG&lt;br /&gt;
|| IBM || 2672CEG || Not Available || IBM || 2672CEG || Not Available || IBM || Not Available || IBM || 1QET36WW (1.04a) || 06/30/2003 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CEG&lt;br /&gt;
|| IBM || 2672CEG || ThinkPad X31 || IBM || 2672CEG || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-JXU&lt;br /&gt;
|| IBM || 2672JXU || ThinkPad X31 || IBM || 2672JXU || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-FG2&lt;br /&gt;
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET73WW (2.11 ) || 02/13/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1QHT16WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-FG2&lt;br /&gt;
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-M3G&lt;br /&gt;
|| IBM || 2672M3G || ThinkPad X32 || IBM || 2672M3G || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X32}} 2884-A3U&lt;br /&gt;
|| IBM || 2884A3U || ThinkPad X32 || IBM || 2884A3U || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X32}} 2673-M4U&lt;br /&gt;
|| IBM || 2673M4U || ThinkPad X32 || IBM || 2673M4U || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386-H4G&lt;br /&gt;
|| IBM || 2386H4G || ThinkPad X40 || IBM || 2386H4G || Not Available || IBM || Not Available || IBM || 1UET92WW (1.42 ) || 09/16/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-8NG&lt;br /&gt;
|| IBM || 23718NG || ThinkPad X40 || IBM || 23718NG || Not Available || IBM || Not Available || IBM || 1UETB7WW (1.67 ) || 07/15/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHT58WW-1.12    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-Y29&lt;br /&gt;
|| IBM || 2371Y29 || ThinkPad X40 || IBM || 2371Y29 || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1UHTA6WW-1.56    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-W9F&lt;br /&gt;
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETC8WW (2.03 ) || 09/28/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-W9F&lt;br /&gt;
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-Y1Y&lt;br /&gt;
|| IBM || 2371Y1Y || ThinkPad X40 || IBM || 2371Y1Y || Not Available || IBM || Not Available || IBM || 1UET93WW (1.43 ) || 10/13/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-Y1Y&lt;br /&gt;
|| IBM || 2371Y1Y || ThinkPad X40 || IBM || 2371Y1Y || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-HU1&lt;br /&gt;
|| IBM || 2525HU1 || ThinkPad X41 || IBM || 2525HU1 || Not Available || IBM || Not Available || IBM || 74ET48WW (1.17a) || 06/07/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[74HT25WW-1.00    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41t}} 1866-WSF&lt;br /&gt;
|| IBM || 1866WSF || ThinkPad X41 Tablet || IBM || 1866WSF || Not Available || IBM || Not Available || IBM || 75ET57WW (2.03 ) || 06/14/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 bytes   String 1: IBM ThinkPad Embedded Controller -[75HT20WW-1.02  ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41t}} 1869-CLG&lt;br /&gt;
|| IBM || 1869CLG || ThinkPad X41 Tablet || IBM || 1869CLG || Not Available || IBM || Not Available || IBM || 75ET56WW (2.02 ) || 03/14/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[75HT19WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1709-47U&lt;br /&gt;
|| LENOVO || 170947U || ThinkPad X60 || LENOVO || 170947U || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1709-GDJ&lt;br /&gt;
|| LENOVO || 1709GDJ || ThinkPad X60 || LENOVO || 1709GDJ || Not Available || LENOVO || Not Available || LENOVO || 7BETC2WW (2.03 ) || 10/16/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT36WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1706-B69&lt;br /&gt;
|| LENOVO || 1706B69 || ThinkPad X60 || LENOVO || 1706B69 || Not Available || LENOVO || Not Available || LENOVO || 7BETC8WW (2.09 ) || 03/14/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7BHT37WW-1.10    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-55G&lt;br /&gt;
|| LENOVO || 170255G || ThinkPad X60s || LENOVO || 170255G || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-5FG&lt;br /&gt;
|| LENOVO || 17025FG || ThinkPad X60s || LENOVO || 17025FG || Not Available || LENOVO || Not Available || LENOVO || 7BET49WW (1.09 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT34WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1704-56G&lt;br /&gt;
|| LENOVO || 170456G || ThinkPad X60s || LENOVO || 170456G || Not Available || LENOVO || Not Available || LENOVO || 7BET43WW (1.03 ) || 02/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7BHT28WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1704-5UG&lt;br /&gt;
|| LENOVO || 17045UG || ThinkPad X60s || LENOVO || 17045UG || Not Available || LENOVO || Not Available || LENOVO || 7BETD2WW (2.13 ) || 08/10/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT40WW-1.13    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}} 6365-CTO&lt;br /&gt;
|| LENOVO || 6365CTO || ThinkPad X60 Tablet || LENOVO || 6365CTO || Not Available || LENOVO || Not Available || LENOVO || 7JET25WW (1.10 ) || 08/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0023, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}} 6363-J3G&lt;br /&gt;
|| LENOVO || 6363J3G || ThinkPad X60 Tablet || LENOVO || 6363J3G || Not Available || LENOVO || Not Available || LENOVO || 7JET28WW (1.13 ) || 03/31/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0023, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| A mean bitch to set up, nothing really worked out of the box :(&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}} 6363A7G&lt;br /&gt;
|| LENOVO || 6363A7G || ThinkPad X60 Tablet || LENOVO || 6363A7G || Not Available || LENOVO || Not Available || LENOVO || 7JET19WW (1.04 ) || 12/14/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0023, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7JHT12WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61}} 7675-4KU&lt;br /&gt;
|| LENOVO || 76754KU || ThinkPad X61 || LENOVO || 76754KU || Not Available || LENOVO || Not Available || LENOVO || 7NET30WW (1.11 ) || 11/15/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7MHT24WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61}} 7675-7KU&lt;br /&gt;
|| LENOVO || 76757KU || ThinkPad X61 || LENOVO || 76757KU || Not Available || LENOVO || Not Available || LENOVO || 7NETB1WW (2.11 ) || 03/24/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 bytes   IBM ThinkPad Embedded Controller -[7MHT25WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61s}} 7669-29G&lt;br /&gt;
|| LENOVO || 766929G || ThinkPad X61s || LENOVO || 766929G || Not Available || LENOVO || Not Available || LENOVO || 7NET21WW (1.02 ) || 04/23/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7MHT23WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61s}} 7669-29G&lt;br /&gt;
|| LENOVO || 766929G || ThinkPad X61s || LENOVO || 766929G || Not Available || LENOVO || Not Available || LENOVO || 7NETB9WW (2.19 ) || 11/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7MHT25WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61s}} 7667-34G&lt;br /&gt;
|| LENOVO || 766734G || ThinkPad X61s || LENOVO || 766734G || Not Available || LENOVO || Not Available || LENOVO || 7NETB9WW (2.19 ) || 11/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7MHT25WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7762-95G&lt;br /&gt;
|| LENOVO || 776295G || ThinkPad X61 Tablet || LENOVO || 776295G || Not Available || LENOVO || Not Available || LENOVO || 7SET22WW (1.08 ) || 11/15/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7762-95G&lt;br /&gt;
|| LENOVO || 776295G || ThinkPad X61 Tablet || LENOVO || 776295G || Not Available || LENOVO || Not Available || LENOVO || 7SET36WW (1.22 ) || 11/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7762-98U&lt;br /&gt;
|| LENOVO || 776298U || ThinkPad X61 Tablet || LENOVO || 776298U || Not Available || LENOVO || Not Available || LENOVO || 7SET34WW (1.20 ) || 07/29/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7764-CTO&lt;br /&gt;
|| LENOVO || 7764CTO || ThinkPad X61 Tablet || LENOVO || 7764CTO || Not Available || LENOVO || Not Available || LENOVO || 7SET18WW (1.04 ) || 07/03/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}} 7454-CTO&lt;br /&gt;
|| LENOVO || 7454CTO || ThinkPad X200 || LENOVO || 7454CTO || Not Available || LENOVO || Not Available || LENOVO || 6DET38WW (2.02 ) || 12/19/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7XHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}} 7454-CTO&lt;br /&gt;
|| LENOVO || 7454CTO || ThinkPad X200 || LENOVO || 7454CTO || Not Available || LENOVO || Not Available || LENOVO || 6DET40WW (2.04 ) || 02/13/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7XHT22WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200s}}&lt;br /&gt;
|| LENOVO || 74695HG || ThinkPad X200s || LENOVO || 74695HG || Not Available || LENOVO || Not Available || LENOVO || 6DET33WW (1.10 ) || 10/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7XHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}} Tablet 7449-F9U&lt;br /&gt;
|| LENOVO || 7449F9U || ThinkPad X200 Tablet || LENOVO || 7449F9U || Not Available || LENOVO || Not Available || LENOVO || 7WET24WW (1.02 ) || 09/09/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7WHT14WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6478-14G&lt;br /&gt;
|| LENOVO || 647814G || ThinkPad X300 || LENOVO || 647814G || Not Available || LENOVO || Not Available || LENOVO || 7TET23WW (1.00d) || 01/17/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6478-18M&lt;br /&gt;
|| LENOVO || 647818M || ThinkPad X300 || LENOVO || 647818M || Not Available || LENOVO || Not Available || LENOVO || 7TET26WW (1.02a) || 02/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6477-17G&lt;br /&gt;
|| LENOVO || 647717G || ThinkPad X300 || LENOVO || 647717G || Not Available || LENOVO || Not Available || LENOVO || 7TET33WW (1.07 ) || &lt;br /&gt;
07/02/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c  ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6477-17G&lt;br /&gt;
|| LENOVO || 647717G || ThinkPad X300 || LENOVO || 647717G || Not Available || LENOVO || Not Available || LENOVO || 7TET35WW (1.09 ) || 01/20/2009&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7THT16WW-1.01 ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X301}} 2777-CTO&lt;br /&gt;
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET19WW (1.00g) || 07/30/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[6EHT07WW-1.00b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X301}} 2777-CTO&lt;br /&gt;
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET21WW (1.02 ) || 10/09/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[6EHT09WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z series====&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} 2511-FEU&lt;br /&gt;
|| IBM || 2511FEU || ThinkPad Z60t || IBM || 2511FEU || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} 2511-FFG&lt;br /&gt;
|| IBM || 2511FFG || ThinkPad Z60t || IBM || 2511FFG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[77HT57WW-1.17    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{Z60m}} 2529-ETG&lt;br /&gt;
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET59WW (1.19 ) || 04/24/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[77HT54WW-1.14    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} 2529-ETG&lt;br /&gt;
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} 2529-FBG&lt;br /&gt;
|| IBM || 2529FBG || ThinkPad Z60m || IBM || 2529FBG || Not Available || IBM || Not Available || IBM || 77ET62WW (1.22 ) || 11/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{Z60m}} 2529-FKG&lt;br /&gt;
|| IBM || 2529FKG || ThinkPad Z60m || IBM || 2529FKG || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9453-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET48WW (1.08 ) || 05/26/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[7FHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9452-8QG&lt;br /&gt;
|| LENOVO || 94528QG || ThinkPad Z61m || LENOVO || 94528QG || Not Available || LENOVO || Not Available || LENOVO || 7FETA4WW (2.22 ) || 10/19/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{Z61m}} 9452-W5Q&lt;br /&gt;
|| LENOVO || 9452W5Q || ThinkPad Z61m || LENOVO || 9452W5Q || Not Available || LENOVO || Not Available || LENOVO || 7FETA6WW (2.24 ) || 03/13/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9543-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9543-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET93WW (2.11 ) || 11/10/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9453-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61p}} 9453-A12&lt;br /&gt;
|| LENOVO || 9453A12 || ThinkPad Z61p || LENOVO || 9453A12 || Not Available || LENOVO || Not Available || LENOVO || 7FET45WW (1.05 ) || 04/20/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7FHT19WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61p}} 9450-3AU&lt;br /&gt;
|| LENOVO || 94503AU || ThinkPad Z61p || LENOVO || 94503AU || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-2CU&lt;br /&gt;
|| LENOVO || 94402CU || ThinkPad Z61t || LENOVO || 94402CU || Not Available || LENOVO || Not Available || LENOVO || 7FET50WW (1.10 ) || 06/20/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT22WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9443-4GG&lt;br /&gt;
|| LENOVO || 94434GG || ThinkPad Z61t || LENOVO || 94434GG || Not Available || LENOVO || Not Available || LENOVO || 7FET96WW (2.14 ) || 12/25/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-CTO&lt;br /&gt;
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FET99WW (2.17 ) || 04/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-CTO&lt;br /&gt;
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA0WW (2.18 ) || 05/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-CTO&lt;br /&gt;
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA7WW (2.25 ) || 06/03/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Lenovo 3000 series====&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:Lenovo 3000| Lenovo 3000]] N200 TY2BAFR&lt;br /&gt;
|| LENOVO || 0769BAG || 3000 N200 || LENOVO || IEL10 || REFERENCE || No Enclosure || N/A || LENOVO || 68ET24WW || 08/15/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|Non-ThinkPad EC firmware and BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Adding entries==&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit&amp;quot; link on the appropriate series above and add an entry of the following form:&lt;br /&gt;
:&amp;lt;tt&amp;gt;| &amp;lt;/tt&amp;gt;&amp;lt;i&amp;gt;description of your model&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 1&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 2&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;||&amp;lt;/tt&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;|-&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the two data lines are generated by the following &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for X in system-{manufacturer,product-name,version} \&lt;br /&gt;
  baseboard-{manufacturer,product-name,version} \&lt;br /&gt;
  chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \&lt;br /&gt;
  echo -n &amp;quot;|| `sudo /usr/sbin/dmidecode -s $X` &amp;quot;; done; \&lt;br /&gt;
  sudo /usr/sbin/dmidecode | perl -0777 -ne \&lt;br /&gt;
  'm/\n(.*).\n.*\n(.*Embedded Cont.*)\n/i; print &amp;quot;\n|| &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;/nowiki&amp;gt;nowiki&amp;gt;$1$2&amp;lt;/nowiki&amp;gt;\n&amp;quot;'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you can, please also test [[tp_smapi]] and update its [[tp_smapi#Model-specific_status|model-specific status table]].&lt;br /&gt;
&lt;br /&gt;
==Software using ThinkPad DMI IDs==&lt;br /&gt;
* [[HDAPS]] driver whitelist&lt;br /&gt;
* [[tp_smapi]] driver whitelist&lt;br /&gt;
* [[thinkpad-acpi]] driver quirk list&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=43916</id>
		<title>List of DMI IDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=43916"/>
		<updated>2009-08-13T04:34:54Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* T series */ T400s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page maintains a database of [http://en.wikipedia.org/wiki/Desktop_Management_Interface DMI] information which can be used to identify ThinkPad models. It is intended as an aid for driver development.&lt;br /&gt;
{{HELP|We need more information about older models, especially those released before 2004. Please [[#Adding_entries|add your model]] to the database.}}&lt;br /&gt;
{{NOTE|If your ThinkPad is not using the [[BIOS Upgrade Downloads|latest BIOS]], and you would be willing to [[BIOS Upgrade|upgrade your BIOS]], please add your ThinkPad to this table twice: '''before''' and '''after''' the BIOS upgrade.  This information helps us a great deal, so your contribution would be very appreciated.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DMI ID database==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 80%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;vendor&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;release-&amp;lt;br /&amp;gt;date&amp;lt;/tt&amp;gt;&lt;br /&gt;
! Embedded controller&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered series====&lt;br /&gt;
|-&lt;br /&gt;
| {{240X}} 2609-61U&lt;br /&gt;
|| IBM || 260961U || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 1.03.09  || 12/21/1999 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{570E}} 2644-5AU&lt;br /&gt;
|| IBM || 26445AU || Not Available || IBM || 26445AU || Not Available || IBM || Not Available || IBM || IUET25WW || 12/11/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5AU&lt;br /&gt;
|| IBM || 26455AU || Not Available || IBM || 26455AU || Not Available || IBM || Not Available || IBM || INET36WW || 11/20/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645-5FU&lt;br /&gt;
|| IBM || 26455FU || Not Available || IBM || 26455FU || Not Available || IBM || Not Available || IBM || INET55WW || 11/30/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645-8EU&lt;br /&gt;
|| IBM || 26458EU || Not Available || IBM || 26458EU || Not Available || IBM || Not Available || IBM || ITET54WW || 11/30/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A series====&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-FSG&lt;br /&gt;
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET24WW (1.02b) || 12/19/2000 &lt;br /&gt;
|| &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-FSG&lt;br /&gt;
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET36WW (1.09 ) || 05/08/2003 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-GTU&lt;br /&gt;
|| IBM || 2628GTU || Not Available || IBM || 2628GTU || Not Available || IBM || Not Available || IBM || KXET29WW (1.03d) || 03/21/2001 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} 2629-USG&lt;br /&gt;
|| IBM || 2629USG || Not Available || IBM || 2629USG || Not Available || IBM || Not Available || IBM || KYET36WW (1.09a) || 10/17/2002 &lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} 2629-A2G&lt;br /&gt;
|| IBM || 2629A2G || Not Available || IBM || 2629A2G || Not Available || IBM || Not Available || IBM || KYET38WW (1.11 ) || 05/20/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652-PBU&lt;br /&gt;
|| IBM || 2652PBU || Not Available || IBM || 2652PBU || Not Available || IBM || Not Available || IBM || 1NET15WW (1.09 ) || 04/06/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1NHT04WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653-RNG&lt;br /&gt;
|| IBM || 2653RNG || Not Available || IBM || 2653RNG || Not Available || IBM || Not Available || IBM || 1NET16WW (1.10 ) || 10/19/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1NHT08WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653-H6U&lt;br /&gt;
|| IBM || 2653H6U || Not Available || IBM || 2653H6U || Not Available || IBM || Not Available || IBM || 1GET31WW (1.03 ) || 07/23/2002&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Missing EC string, extremely outdated BIOS}}{{HELP|We need a report to know if the latest BIOS fixes the missing EC string}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G series====&lt;br /&gt;
|-&lt;br /&gt;
| {{G41}} 2881-75M&lt;br /&gt;
|| IBM || 288175M || ThinkPad G41 || IBM || 288175M || Not Available || IBM || Not Available || IBM || 1XET47WW (1.06 ) || 01/14/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====R series====&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2681-5UU&lt;br /&gt;
|| IBM || 26815UU || Not Available || IBM || 26815UU || Not Available || IBM || Not Available || IBM || 1OET57WW (1.23 ) || 03/23/2005 &lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2681-HSG&lt;br /&gt;
|| IBM || 2681HSG || Not Available || IBM || 2681HSG || Not Available || IBM || Not Available || IBM || 1OET61WW (1.27 ) || 06/29/2006&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2722-B3G&lt;br /&gt;
|| IBM || 2722B3G || Not Available || IBM || 2722B3G || Not Available || IBM || Not Available || IBM || 1PET62WW (1.30 ) || 09/29/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2722-BDG&lt;br /&gt;
|| IBM || 2722BDG || Not Available || IBM || 2722BDG || Not Available || IBM || Not Available || IBM || 1PET65WW (1.33 ) || 06/29/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2897-B4U&lt;br /&gt;
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1PET52WW (1.20 ) || 03/03/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40e}} 2684-L8G&lt;br /&gt;
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1SET62WW (1.30 ) || 07/09/2004&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40e}} 2684-L8G&lt;br /&gt;
|| IBM || 2684L8G || Not Available || IBM || 2684L8G || Not Available || IBM || Not Available || IBM || 1SET70WW (1.38 ) || 11/15/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} 1829-7QG&lt;br /&gt;
|| IBM || 0123456 || ThinkPad R50  || IBM || 0123456 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{R50e}} 1834-JAG&lt;br /&gt;
|| IBM || 1834JAG || ThinkPad R50e || IBM || 1834JAG || Not Available || IBM || Not Available || IBM || 1WET82WW (2.02 ) || 02/21/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}} 1832-2AG&lt;br /&gt;
|| IBM || 18322AG || ThinkPad R50p || IBM || 18322AG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-DRG&lt;br /&gt;
|| IBM || 1829DRG || ThinkPad R51 || IBM || 1829DRG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a   ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-9MG&lt;br /&gt;
|| IBM || 18299MG || ThinkPad R51 || IBM || 18299MG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-L7G&lt;br /&gt;
|| IBM || 1829L7G || ThinkPad R51 || IBM || 1829L7G || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT70WW-3.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{R51}} [[1830-DG4]]&lt;br /&gt;
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} [[1830-DG4]]&lt;br /&gt;
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1836-GEU&lt;br /&gt;
|| IBM || 1836GEU || ThinkPad R51 || IBM || 1836GEU || Not Available || IBM || Not Available || IBM || 1RETDLWW  (3.17 ) || 07/27/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes. String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2883-ELU&lt;br /&gt;
|| IBM || 2883ELU || ThinkPad R51 || IBM || 2883ELU || Not Available || IBM || Not Available || IBM || 1VET69WW (1.27 ) || 03/03/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad H || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes	String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET68WW (1.28 ) || 11/15/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-CTO&lt;br /&gt;
|| IBM || 1847W15 || ThinkPad R52 || IBM || 1847W15 || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-W62&lt;br /&gt;
|| IBM || 1847W62 || ThinkPad .    || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-W62&lt;br /&gt;
|| IBM || 1847W62 || ThinkPad R52  || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858-6MM&lt;br /&gt;
|| IBM || 18586MM || ThinkPad R52 || IBM || 18586MM || Not Available || IBM || Not Available || IBM || 70ET40WW (1.04 ) || 06/02/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858-6SM&lt;br /&gt;
|| IBM || 18586SM || ThinkPad R52 || IBM || 18586SM || Not Available || IBM || Not Available || IBM || 70ET57WW (1.17 ) || 07/15/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-4CG&lt;br /&gt;
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT15WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-4CG&lt;br /&gt;
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-B5G&lt;br /&gt;
|| IBM || 1846B5G || ThinkPad H    || IBM || 1846B5G || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60e}} 0657-4TG&lt;br /&gt;
|| LENOVO || 06574TG || ThinkPad R60e || LENOVO || 06574TG || Not Available || LENOVO || Not Available || LENOVO || 7EET18WW (1.04 ) || 07/28/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7EHT13WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9456-6FG&lt;br /&gt;
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9456-6FG&lt;br /&gt;
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CETB7WW (2.07 ) || 11/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-54G&lt;br /&gt;
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-54G&lt;br /&gt;
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CETC1WW (2.11 ) || 01/09/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|With this bios version the brightness control buttons don't work for kernel &amp;lt; 2.6.20}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9460MR2&lt;br /&gt;
|| LENOVO || 9460MR2 || ThinkPad R60 || LENOVO || 9460MR2 || Not Available || LENOVO || Not Available || LENOVO || 7CETC6WW (2.16 ) || 04/18/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-DXG&lt;br /&gt;
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETB6WW (2.06 ) || 10/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9461-DXG&lt;br /&gt;
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETD2WW (2.22 ) || 05/28/2008 || &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7CHT22WW-1.10    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9462-GAG&lt;br /&gt;
|| LENOVO || 9462GAG || ThinkPad R60 || LENOVO || 9462GAG || Not Available || LENOVO || Not Available || LENOVO || 7CETB5WW (2.05 ) || 10/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8918-5QG&lt;br /&gt;
|| LENOVO || 89185QG || ThinkPad R61 || LENOVO || 89185QG || Not Available || LENOVO || Not Available || LENOVO || 7KETA7WW (2.07 ) || 12/06/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8919-W4P&lt;br /&gt;
|| LENOVO || 8919W4P || ThinkPad R61 || LENOVO || 8919W4P || Not Available || LENOVO || Not Available || LENOVO || 7KET76WW (1.26 ) || 10/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|According to the sticker on the bottom of the notebook as well as according to Lenovo web it is 8919-CTO subtype}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8919-W6X&lt;br /&gt;
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KET71WW (1.21 ) || 08/22/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KETB9WW (2.19 ) || 06/05/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8919-DFG&lt;br /&gt;
|| LENOVO || 8918DFG || ThinkPad R61 || LENOVO || 8918DFG || Not Available || LENOVO || Not Available || LENOVO || 7KETA9WW (2.09 ) || 12/27/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 8943-DMG&lt;br /&gt;
|| LENOVO || 8943DMG || ThinkPad R61 || LENOVO || 8943DMG || Not Available || LENOVO || Not Available || LENOVO || 7QET34WW (1.16 ) || 03/24/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7QHT15WW-1.00    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-4TG&lt;br /&gt;
|| LENOVO || 77324TG || ThinkPad R61 || LENOVO || 77324TG || Not Available || LENOVO || Not Available || LENOVO || 7LET51WW (1.21 ) || 08/22/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-4TG&lt;br /&gt;
|| LENOVO || 77324TG || ThinkPad R61 || LENOVO || 77324TG || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-NEG&lt;br /&gt;
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETB6WW (2.16 ) || 04/16/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-NEG&lt;br /&gt;
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7732-NEG&lt;br /&gt;
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETC6WW (2.26 ) || 05/11/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7733-1ES&lt;br /&gt;
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7733-1ES&lt;br /&gt;
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB4WW (2.14 ) || 03/24/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} 7733-A82 (Intel graphics, 14.1&amp;quot; WXGA, Atheros wireless)&lt;br /&gt;
|| LENOVO || 7733A82 || ThinkPad R61/R61i || LENOVO || 7733A82 || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61i}} 7650-D7G&lt;br /&gt;
|| LENOVO || 7650D7G || ThinkPad R61e || LENOVO || 7650D7G || Not Available || LENOVO || Not Available || LENOVO || 7PETB0WW (2.10 ) || 01/21/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R61e}} 7650-E6G&lt;br /&gt;
|| LENOVO || 7650E6G || ThinkPad R61e || LENOVO || 7650E6G || Not Available || LENOVO || Not Available || LENOVO || 7PETB2WW (2.12 ) || 02/20/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} 7439-A85&lt;br /&gt;
|| LENOVO || 7439A85 || ThinkPad R400 || LENOVO || 7439A85 || Not Available || LENOVO || Not Available || LENOVO || 7UET45WW (1.15 ) || 09/08/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} 7443-TPA&lt;br /&gt;
|| LENOVO || 7443TPA || ThinkPad R400 || LENOVO || 7443TPA || Not Available || LENOVO || Not Available || LENOVO || 7UET49WW (1.19 ) || 10/17/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} 7443-TPA&lt;br /&gt;
|| LENOVO || 7443TPA || ThinkPad R400 || LENOVO || 7443TPA || Not Available || LENOVO || Not Available || LENOVO || 7UET50WW (1.20 ) || 10/30/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====S series====&lt;br /&gt;
|-&lt;br /&gt;
| {{s30}} 2639-4WJ&lt;br /&gt;
|| IBM || 26394WJ || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 18ET45WW (1.45) || 07/10/2001&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====SL series====&lt;br /&gt;
|-&lt;br /&gt;
| {{SL500}} 2746-3ZG&lt;br /&gt;
|| LENOVO.                        || 27463ZG || ThinkPad SL500 || LENOVO                        || BOXSTER    || LENOVO 6AET42WW || LENOVO                        || LENOVO 6AET42WW || LENOVO || 6AET42WW || 08/04/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|IdeaPad EC and BIOS.  This is an IdeaPad in disguise.}}&lt;br /&gt;
|-&lt;br /&gt;
| {{SL500}} 2746-4CG&lt;br /&gt;
|| LENOVO.                        || 27464CG || ThinkPad SL500 || LENOVO                        || BOXSTER    || LENOVO 6AET41WW || LENOVO                        || LENOVO 6AET41WW || LENOVO || 6AET41WW || 07/10/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|IdeaPad EC and BIOS.  This is an IdeaPad in disguise.}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T series====&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} 2647-UC2&lt;br /&gt;
|| IBM || 2647UC2 || Not Available || IBM || 2647UC2 || Not Available || IBM || Not Available || IBM || IYET45WW (1.08a) || 12/21/1999&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Very outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}} 2647-8AU&lt;br /&gt;
|| IBM || 26478AU || Not Available || IBM || 26478AU || Not Available || IBM || Not Available || IBM || KZET34WW (1.16 ) || 04/28/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}} 2647-8GG&lt;br /&gt;
|| IBM || 26478GG || Not Available || IBM || 26478GG || Not Available || IBM || Not Available || IBM || 16ET29WW (1.09 ) || 02/28/2002 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} 2647-4EG&lt;br /&gt;
|| IBM || 26474EG || Not Available || IBM || 26474EG || Not Available || IBM || Not Available || IBM || 16ET31WW (1.11 ) || 03/20/2003 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} 2647-8EU&lt;br /&gt;
|| IBM || 26478EU || Not Available || IBM || 26478EU || Not Available || IBM || Not Available || IBM || 16ET32WW (1.12 ) || 04/27/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647&lt;br /&gt;
|| IBM || 2647 || Not Available || IBM || 2647 || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13) || 07/23/2002 &lt;br /&gt;
|| &lt;br /&gt;
|| Manufactured in Greenock, Scotland&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647&lt;br /&gt;
|| IBM || 2647 || Not Available || IBM || 2647 || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20) || 07/23/2002 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;As above. Handle 0x0024, DMI type 11, 5 bytes OEM Strings&lt;br /&gt;
String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4MG&lt;br /&gt;
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET58WW (1.14a) || 09/11/2002 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4MG&lt;br /&gt;
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20 ) || 10/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4NU&lt;br /&gt;
|| IBM || 26474NU || Not Available || IBM || 26474NU || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2647-8MG&lt;br /&gt;
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13 ) || 07/02/2002&lt;br /&gt;
||&lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2647-8MG&lt;br /&gt;
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2648-DG1&lt;br /&gt;
|| IBM || 2648DG1 || Not Available || IBM || 2648DG1 || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20 ) || 10/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-21U&lt;br /&gt;
|| IBM || 236621U || Not Available || IBM || 236621U || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-85G&lt;br /&gt;
|| IBM || 236685G || Not Available || IBM || 236685G || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1IHT18WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-GU1&lt;br /&gt;
|| IBM || 2366GU1 || Not Available || IBM || 2366GU1 || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1IHT19WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-JBU&lt;br /&gt;
|| IBM || 2366JBU || Not Available || IBM || 2366JBU || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2378-D2U&lt;br /&gt;
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} 2373-G1G&lt;br /&gt;
|| IBM || 2373G1G || ThinkPad T40p || IBM || 2373G1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-9FG&lt;br /&gt;
|| IBM || 23739FG || ThinkPad T41  || IBM || 23739FG || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{T41}} 2373-W63&lt;br /&gt;
|| IBM || 2373W63 || ThinkPad T41  || IBM || 2373W63 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-XNX&lt;br /&gt;
|| IBM || 2373XNX || ThinkPad T41  || IBM || 2373XNX || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-2FG&lt;br /&gt;
|| IBM || 23732FG || ThinkPad T41 || IBM || 23732FG || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003&lt;br /&gt;
||&lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-7FG&lt;br /&gt;
|| IBM || 23737FG || ThinkPad T41  || IBM || 23737FG || Not Available || IBM || Not Available || IBM || 1RET87WW (2.14 ) || 01/26/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-7FG&lt;br /&gt;
|| IBM || 23737FG || ThinkPad T41  || IBM || 23737FG || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|After upgrade from BIOS v. 2.14}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-TG5&lt;br /&gt;
|| IBM || 2373TG5 || ThinkPad T41  || IBM || 2373TG5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T41}} 2374-312&lt;br /&gt;
|| IBM || 2374312 || ThinkPad T41  || IBM || 2374312 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2379-DJU&lt;br /&gt;
|| IBM || 2379DJU || ThinkPad T41  || IBM || 2379DJU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GHG &lt;br /&gt;
|| IBM || 2373GHG || ThinkPad T41p || IBM || 2373GHG || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GEG&lt;br /&gt;
|| IBM || 2373GEG || ThinkPad T41p || IBM || 2373GEG || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt; Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GJJ&lt;br /&gt;
|| IBM || 2373GJJ || ThinkPad T41p || IBM || 2373GJJ || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-FWG&lt;br /&gt;
|| IBM || 2373FWG || ThinkPad T42 || IBM || 2373FWG || Not Available || IBM || Not Available || IBM || 1RETDHWW (3.13 ) || 10/29/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-M1G&lt;br /&gt;
|| IBM || 2373M1G || ThinkPad T42 || IBM || 2373M1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-VJA&lt;br /&gt;
|| IBM || 2373VJA || ThinkPad T42 || IBM || 2373VJA || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| {{T42}} 2374-WEH&lt;br /&gt;
|| IBM || 2374WEH || ThinkPad T42 || IBM || 2374WEH || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2378-FVU&lt;br /&gt;
|| IBM || 2378FVU || ThinkPad T42 || IBM || 2378FVU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-KXU&lt;br /&gt;
|| IBM || 2373KXU || ThinkPad T42p || IBM || 2373KXU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-KUU&lt;br /&gt;
|| IBM || 2373KUU || ThinkPad T42p || IBM || 2373KUU || Not Available || IBM || Not Available || IBM || 1RETDMWW (3.18 ) || 09/15/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-GYG&lt;br /&gt;
|| IBM || 2373GYG || ThinkPad T42p || IBM || 2373GYG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2374-CP5&lt;br /&gt;
|| IBM || 2374CP5 || ThinkPad T42p || IBM || 2374CP5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2379-DYU&lt;br /&gt;
|| IBM || 2379DYU || ThinkPad T42p || IBM || 2379DYU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2372-Q2G&lt;br /&gt;
|| IBM || 2373Q2G || ThinkPad T42p || IBM || 2373Q2G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-4AG&lt;br /&gt;
|| IBM || 18714AG || ThinkPad T43 || IBM || 18714AG || Not Available || IBM || Not Available || IBM || 70ET64WW (1.24 ) || 02/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT27WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-F1G&lt;br /&gt;
|| IBM || 1871F1G || ThinkPad T43 || IBM || 1871F1G || Not Available || IBM || Not Available || IBM || 70ET61WW (1.21 ) || 11/01/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2686-DGU&lt;br /&gt;
|| IBM || 2686DGU || ThinkPad T43 || IBM || 2686DGU || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2669-WE5&lt;br /&gt;
|| IBM || 2669WE5 || ThinkPad T43 || IBM || 2669WE5 || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|User reports this is really a 2669-CEU with 1GB RAM + BlueTooth, and not a 2669-WE5 (unverified if this makes sense)}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2668-WEW&lt;br /&gt;
|| IBM || 2668WEW || ThinkPad T43 || IBM || 2668WEW || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-G2G&lt;br /&gt;
|| IBM || 2668G2G || ThinkPad T43p || IBM || 2668G2G || Not Available || IBM || Not Available || IBM || 1YET47WW (1.08 ) || 06/09/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-H1G&lt;br /&gt;
|| IBM || 2668H1G || ThinkPad T43p || IBM || 2668H1G || Not Available || IBM || Not Available || IBM || 1YET45WW (1.06a) || 06/02/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2687-D5U&lt;br /&gt;
|| IBM || 2687D5U || ThinkPad T43p || IBM || 2687D5U || Not Available || IBM || Not Available || IBM || 1YET59WW (1.24 ) || 11/07/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-F8G&lt;br /&gt;
|| IBM || 2668F8G || ThinkPad T43p || IBM || 2668F8G || Not Available || IBM || Not Available || IBM || 1YET57WW (1.22 ) || 07/20/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951-24G&lt;br /&gt;
|| LENOVO || 195124G || ThinkPad T60 || LENOVO || 195124G || Not Available || LENOVO || Not Available || LENOVO || 79ET65WW (1.09a) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1952-W5R&lt;br /&gt;
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ET61WW (1.06 ) || 05/24/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1952-W5R&lt;br /&gt;
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ETD2WW (2.12 ) || 04/12/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-49G&lt;br /&gt;
|| LENOVO || 200749G || ThinkPad T60 || LENOVO || 200749G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-77G&lt;br /&gt;
|| LENOVO || 200777G || ThinkPad T60 || LENOVO || 200777G || Not Available || LENOVO || Not Available || LENOVO || 79ETD1WW (2.11 ) || 03/15/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-FSG&lt;br /&gt;
|| LENOVO || 2007FSG || ThinkPad T60 || LENOVO || 2007FSG || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951-CA2&lt;br /&gt;
|| LENOVO || 1951CA2 || ThinkPad T60 || LENOVO || 1951CA2 || Not Available || LENOVO || Not Available || LENOVO || 79ETD9WW (2.19 ) || 09/19/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2623-D6U&lt;br /&gt;
|| LENOVO || 2623D6U || ThinkPad T60 || LENOVO || 2623D6U || Not Available || LENOVO || Not Available || LENOVO || 79ET56WW (1.02 ) || 02/28/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[79HT42WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-BF3&lt;br /&gt;
|| LENOVO || 2007BF3 || ThinkPad T60 || LENOVO || 2007BF3 || Not Available || LENOVO || Not Available || LENOVO || 79ETD7WW (2.17 ) || 08/23/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 1951-CZ1&lt;br /&gt;
|| LENOVO || 1951CZ1 || ThinkPad T60 || LENOVO || 1951CZ1 || Not Available || LENOVO || Not Available || LENOVO || 79ETE3WW (2.23 ) || 09/12/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-83U&lt;br /&gt;
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT43WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93G&lt;br /&gt;
|| LENOVO || 200793G || ThinkPad T60p || LENOVO || 200793G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-ZK4&lt;br /&gt;
|| LENOVO || 2007ZK4 || ThinkPad T60p || LENOVO || 2007ZK4 || Not Available || LENOVO || Not Available || LENOVO || 79ETD3WW (2.13 ) || 04/30/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2613-ESU&lt;br /&gt;
|| LENOVO || 2613ESU || ThinkPad T60p || LENOVO || 2613ESU || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2623-DDU&lt;br /&gt;
|| LENOVO || 2623DDU || ThinkPad T60p || LENOVO || 2623DDU || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6457-W2C&lt;br /&gt;
|| LENOVO || 6457W2C || ThinkPad T61 || LENOVO || 6457W2C || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6460-EBG&lt;br /&gt;
|| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETB7WW (2.17 ) || 04/25/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6460-EBG&lt;br /&gt;
| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETC4WW (2.24 ) || 08/15/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 6465-CTO&lt;br /&gt;
|| LENOVO || 6465CTO || ThinkPad T61 || LENOVO || 6465CTO || Not Available || LENOVO || Not Available || LENOVO || 7LETB2WW (2.12 ) || 02/20/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 7662-XDU&lt;br /&gt;
|| LENOVO || 7662XDU || ThinkPad T61 || LENOVO || 7662XDU || 7662XDU|| LENOVO || Not Available || LENOVO || 7LET37WW (1.07 ) || 04/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 bytes   String 1: IBM ThinkPad Embedded Controller -[7KHT19WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|BIOS and EC firmware have different IDs}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 7661-A56&lt;br /&gt;
|| LENOVO || 7661A56 || ThinkPad T61 || LENOVO || 7661A56 || Not Available || LENOVO || Not Available || LENOVO || 7LET39WW (1.09 ) || 05/14/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7KHT21WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 8895-WFD&lt;br /&gt;
|| LENOVO || 8895WFD || ThinkPad T61 || LENOVO || 8895WFJ || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 bytes        String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 8897-CTO&lt;br /&gt;
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET52WW (1.22 ) || 08/27/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}} 8897-CTO&lt;br /&gt;
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{T61p}} 6459-A12&lt;br /&gt;
|| LENOVO || 6459A12 || ThinkPad T61p || LENOVO || 6459A12 || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T61p}} 6459-CTO&lt;br /&gt;
|| LENOVO || 6459CTO || ThinkPad T61p || LENOVO || 6459CTO || Not Available || LENOVO || Not Available || LENOVO || 7LETB9WW (2.19 ) || 06/06/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| {{T400}} 6474-1EG&lt;br /&gt;
|| LENOVO || 64741EG || ThinkPad T400 || LENOVO || 64741EG || Not Available || LENOVO || Not Available || LENOVO || 7UET48WW (1.18 ) || 10/09/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    &lt;br /&gt;
]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}} 6474-19G&lt;br /&gt;
|| LENOVO || 647419G || ThinkPad T400 || LENOVO || 647419G || Not Available || LENOVO || Not Available || LENOVO || 7UET61WW (2.07 ) || 02/13/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{T400}} 6475-FM4 (before BIOS update)&lt;br /&gt;
|| LENOVO || 6475FM4 || ThinkPad T400 || LENOVO || 6475FM4 || Not Available || LENOVO || Not Available || LENOVO || 7UET43WW (1.13 ) || 08/19/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}} 6475-FM4 (after BIOS update)&lt;br /&gt;
|| LENOVO || 6475FM4 || ThinkPad T400 || LENOVO || 6475FM4 || Not Available || LENOVO || Not Available || LENOVO || 7UET64WW (2.12 ) || 03/13/2009&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T400s}} 2801-CTO&lt;br /&gt;
|| LENOVO || 2801CTO || ThinkPad T400s || LENOVO || 2801CTO || Not Available || LENOVO&lt;br /&gt;
LENOVO || Not Available&lt;br /&gt;
Not Available || LENOVO || 6HET21WW (1.06 ) || 07/27/2009&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[6HHT13WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| {{T500}} 2055-A81&lt;br /&gt;
|| LENOVO || 2055A81 || ThinkPad T500 || LENOVO || 2055A81 || Not Available || LENOVO || Not Available || LENOVO || 6FET46WW (1.16 ) || 09/24/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T500}} 2055-A81&lt;br /&gt;
|| LENOVO || 2055A81 || ThinkPad T500 || LENOVO || 2055A81 || Not Available || LENOVO || Not Available || LENOVO || 6FET50WW (1.20 ) || 10/30/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T500}} 2055-45G&lt;br /&gt;
|| LENOVO || 205545G || ThinkPad T500 || LENOVO || 205545G || Not Available || LENOVO || Not Available || LENOVO || 6FET49WW (1.19 ) || 10/17/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X series====&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} 266231G&lt;br /&gt;
|| IBM || 266231G || Not Available || IBM || 266231G || Not Available || IBM || Not Available || IBM || IZET9DWW (2.25 ) || 04/17/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} 266232G&lt;br /&gt;
|| IBM || 266232G || Not Available || IBM || 266232G || Not Available || IBM || Not Available || IBM || IZET9AWW (2.22 ) || 09/11/2002&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} 266295U&lt;br /&gt;
|| IBM || 266295U || Not Available || IBM || 266295U || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} 2662EBG&lt;br /&gt;
|| IBM || 2662EBG || Not Available || IBM || 2662EBG || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X24}} 2662-MPU&lt;br /&gt;
|| IBM || 62MPUFX || Not Available || IBM || 62MPUFX || Not Available || IBM || Not Available || IBM || 1DET67WW (1.29 ) || 12/18/2002&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} 2672-42G&lt;br /&gt;
|| IBM || 267242G || Not Available || IBM || 267242G || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{X30}} 2672-4HU&lt;br /&gt;
|| IBM || 26724HU || Not Available || IBM || 26724HU || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} 2672-PG3&lt;br /&gt;
|| IBM || 2672PG3 || Not Available || IBM || 2672PG3 || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06    ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CEG&lt;br /&gt;
|| IBM || 2672CEG || Not Available || IBM || 2672CEG || Not Available || IBM || Not Available || IBM || 1QET36WW (1.04a) || 06/30/2003 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-CEG&lt;br /&gt;
|| IBM || 2672CEG || ThinkPad X31 || IBM || 2672CEG || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-JXU&lt;br /&gt;
|| IBM || 2672JXU || ThinkPad X31 || IBM || 2672JXU || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-FG2&lt;br /&gt;
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET73WW (2.11 ) || 02/13/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1QHT16WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-FG2&lt;br /&gt;
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} 2672-M3G&lt;br /&gt;
|| IBM || 2672M3G || ThinkPad X32 || IBM || 2672M3G || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X32}} 2884-A3U&lt;br /&gt;
|| IBM || 2884A3U || ThinkPad X32 || IBM || 2884A3U || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X32}} 2673-M4U&lt;br /&gt;
|| IBM || 2673M4U || ThinkPad X32 || IBM || 2673M4U || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386-H4G&lt;br /&gt;
|| IBM || 2386H4G || ThinkPad X40 || IBM || 2386H4G || Not Available || IBM || Not Available || IBM || 1UET92WW (1.42 ) || 09/16/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-8NG&lt;br /&gt;
|| IBM || 23718NG || ThinkPad X40 || IBM || 23718NG || Not Available || IBM || Not Available || IBM || 1UETB7WW (1.67 ) || 07/15/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHT58WW-1.12    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-Y29&lt;br /&gt;
|| IBM || 2371Y29 || ThinkPad X40 || IBM || 2371Y29 || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1UHTA6WW-1.56    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-W9F&lt;br /&gt;
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETC8WW (2.03 ) || 09/28/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-W9F&lt;br /&gt;
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-Y1Y&lt;br /&gt;
|| IBM || 2371Y1Y || ThinkPad X40 || IBM || 2371Y1Y || Not Available || IBM || Not Available || IBM || 1UET93WW (1.43 ) || 10/13/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2371-Y1Y&lt;br /&gt;
|| IBM || 2371Y1Y || ThinkPad X40 || IBM || 2371Y1Y || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-HU1&lt;br /&gt;
|| IBM || 2525HU1 || ThinkPad X41 || IBM || 2525HU1 || Not Available || IBM || Not Available || IBM || 74ET48WW (1.17a) || 06/07/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[74HT25WW-1.00    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41t}} 1866-WSF&lt;br /&gt;
|| IBM || 1866WSF || ThinkPad X41 Tablet || IBM || 1866WSF || Not Available || IBM || Not Available || IBM || 75ET57WW (2.03 ) || 06/14/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 bytes   String 1: IBM ThinkPad Embedded Controller -[75HT20WW-1.02  ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41t}} 1869-CLG&lt;br /&gt;
|| IBM || 1869CLG || ThinkPad X41 Tablet || IBM || 1869CLG || Not Available || IBM || Not Available || IBM || 75ET56WW (2.02 ) || 03/14/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[75HT19WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1709-47U&lt;br /&gt;
|| LENOVO || 170947U || ThinkPad X60 || LENOVO || 170947U || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1709-GDJ&lt;br /&gt;
|| LENOVO || 1709GDJ || ThinkPad X60 || LENOVO || 1709GDJ || Not Available || LENOVO || Not Available || LENOVO || 7BETC2WW (2.03 ) || 10/16/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT36WW-1.09    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1706-B69&lt;br /&gt;
|| LENOVO || 1706B69 || ThinkPad X60 || LENOVO || 1706B69 || Not Available || LENOVO || Not Available || LENOVO || 7BETC8WW (2.09 ) || 03/14/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7BHT37WW-1.10    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-55G&lt;br /&gt;
|| LENOVO || 170255G || ThinkPad X60s || LENOVO || 170255G || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-5FG&lt;br /&gt;
|| LENOVO || 17025FG || ThinkPad X60s || LENOVO || 17025FG || Not Available || LENOVO || Not Available || LENOVO || 7BET49WW (1.09 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT34WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1704-56G&lt;br /&gt;
|| LENOVO || 170456G || ThinkPad X60s || LENOVO || 170456G || Not Available || LENOVO || Not Available || LENOVO || 7BET43WW (1.03 ) || 02/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7BHT28WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1704-5UG&lt;br /&gt;
|| LENOVO || 17045UG || ThinkPad X60s || LENOVO || 17045UG || Not Available || LENOVO || Not Available || LENOVO || 7BETD2WW (2.13 ) || 08/10/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT40WW-1.13    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}} 6365-CTO&lt;br /&gt;
|| LENOVO || 6365CTO || ThinkPad X60 Tablet || LENOVO || 6365CTO || Not Available || LENOVO || Not Available || LENOVO || 7JET25WW (1.10 ) || 08/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0023, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}} 6363-J3G&lt;br /&gt;
|| LENOVO || 6363J3G || ThinkPad X60 Tablet || LENOVO || 6363J3G || Not Available || LENOVO || Not Available || LENOVO || 7JET28WW (1.13 ) || 03/31/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0023, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| A mean bitch to set up, nothing really worked out of the box :(&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}} 6363A7G&lt;br /&gt;
|| LENOVO || 6363A7G || ThinkPad X60 Tablet || LENOVO || 6363A7G || Not Available || LENOVO || Not Available || LENOVO || 7JET19WW (1.04 ) || 12/14/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0023, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7JHT12WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61}} 7675-4KU&lt;br /&gt;
|| LENOVO || 76754KU || ThinkPad X61 || LENOVO || 76754KU || Not Available || LENOVO || Not Available || LENOVO || 7NET30WW (1.11 ) || 11/15/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7MHT24WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61}} 7675-7KU&lt;br /&gt;
|| LENOVO || 76757KU || ThinkPad X61 || LENOVO || 76757KU || Not Available || LENOVO || Not Available || LENOVO || 7NETB1WW (2.11 ) || 03/24/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 bytes   IBM ThinkPad Embedded Controller -[7MHT25WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61s}} 7669-29G&lt;br /&gt;
|| LENOVO || 766929G || ThinkPad X61s || LENOVO || 766929G || Not Available || LENOVO || Not Available || LENOVO || 7NET21WW (1.02 ) || 04/23/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7MHT23WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61s}} 7669-29G&lt;br /&gt;
|| LENOVO || 766929G || ThinkPad X61s || LENOVO || 766929G || Not Available || LENOVO || Not Available || LENOVO || 7NETB9WW (2.19 ) || 11/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7MHT25WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61s}} 7667-34G&lt;br /&gt;
|| LENOVO || 766734G || ThinkPad X61s || LENOVO || 766734G || Not Available || LENOVO || Not Available || LENOVO || 7NETB9WW (2.19 ) || 11/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7MHT25WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7762-95G&lt;br /&gt;
|| LENOVO || 776295G || ThinkPad X61 Tablet || LENOVO || 776295G || Not Available || LENOVO || Not Available || LENOVO || 7SET22WW (1.08 ) || 11/15/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7762-95G&lt;br /&gt;
|| LENOVO || 776295G || ThinkPad X61 Tablet || LENOVO || 776295G || Not Available || LENOVO || Not Available || LENOVO || 7SET36WW (1.22 ) || 11/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7762-98U&lt;br /&gt;
|| LENOVO || 776298U || ThinkPad X61 Tablet || LENOVO || 776298U || Not Available || LENOVO || Not Available || LENOVO || 7SET34WW (1.20 ) || 07/29/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X61t}} 7764-CTO&lt;br /&gt;
|| LENOVO || 7764CTO || ThinkPad X61 Tablet || LENOVO || 7764CTO || Not Available || LENOVO || Not Available || LENOVO || 7SET18WW (1.04 ) || 07/03/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001F, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}} 7454-CTO&lt;br /&gt;
|| LENOVO || 7454CTO || ThinkPad X200 || LENOVO || 7454CTO || Not Available || LENOVO || Not Available || LENOVO || 6DET38WW (2.02 ) || 12/19/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7XHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}} 7454-CTO&lt;br /&gt;
|| LENOVO || 7454CTO || ThinkPad X200 || LENOVO || 7454CTO || Not Available || LENOVO || Not Available || LENOVO || 6DET40WW (2.04 ) || 02/13/2009 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7XHT22WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200s}}&lt;br /&gt;
|| LENOVO || 74695HG || ThinkPad X200s || LENOVO || 74695HG || Not Available || LENOVO || Not Available || LENOVO || 6DET33WW (1.10 ) || 10/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7XHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}} Tablet 7449-F9U&lt;br /&gt;
|| LENOVO || 7449F9U || ThinkPad X200 Tablet || LENOVO || 7449F9U || Not Available || LENOVO || Not Available || LENOVO || 7WET24WW (1.02 ) || 09/09/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x001D, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7WHT14WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6478-14G&lt;br /&gt;
|| LENOVO || 647814G || ThinkPad X300 || LENOVO || 647814G || Not Available || LENOVO || Not Available || LENOVO || 7TET23WW (1.00d) || 01/17/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6478-18M&lt;br /&gt;
|| LENOVO || 647818M || ThinkPad X300 || LENOVO || 647818M || Not Available || LENOVO || Not Available || LENOVO || 7TET26WW (1.02a) || 02/27/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6477-17G&lt;br /&gt;
|| LENOVO || 647717G || ThinkPad X300 || LENOVO || 647717G || Not Available || LENOVO || Not Available || LENOVO || 7TET33WW (1.07 ) || &lt;br /&gt;
07/02/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c  ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} 6477-17G&lt;br /&gt;
|| LENOVO || 647717G || ThinkPad X300 || LENOVO || 647717G || Not Available || LENOVO || Not Available || LENOVO || 7TET35WW (1.09 ) || 01/20/2009&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7THT16WW-1.01 ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X301}} 2777-CTO&lt;br /&gt;
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET19WW (1.00g) || 07/30/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[6EHT07WW-1.00b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X301}} 2777-CTO&lt;br /&gt;
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET21WW (1.02 ) || 10/09/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0028, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[6EHT09WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z series====&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} 2511-FEU&lt;br /&gt;
|| IBM || 2511FEU || ThinkPad Z60t || IBM || 2511FEU || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} 2511-FFG&lt;br /&gt;
|| IBM || 2511FFG || ThinkPad Z60t || IBM || 2511FFG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[77HT57WW-1.17    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{Z60m}} 2529-ETG&lt;br /&gt;
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET59WW (1.19 ) || 04/24/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[77HT54WW-1.14    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} 2529-ETG&lt;br /&gt;
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} 2529-FBG&lt;br /&gt;
|| IBM || 2529FBG || ThinkPad Z60m || IBM || 2529FBG || Not Available || IBM || Not Available || IBM || 77ET62WW (1.22 ) || 11/21/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{Z60m}} 2529-FKG&lt;br /&gt;
|| IBM || 2529FKG || ThinkPad Z60m || IBM || 2529FKG || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9453-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET48WW (1.08 ) || 05/26/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[7FHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9452-8QG&lt;br /&gt;
|| LENOVO || 94528QG || ThinkPad Z61m || LENOVO || 94528QG || Not Available || LENOVO || Not Available || LENOVO || 7FETA4WW (2.22 ) || 10/19/2007&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
|- &lt;br /&gt;
| {{Z61m}} 9452-W5Q&lt;br /&gt;
|| LENOVO || 9452W5Q || ThinkPad Z61m || LENOVO || 9452W5Q || Not Available || LENOVO || Not Available || LENOVO || 7FETA6WW (2.24 ) || 03/13/2008&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9543-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9543-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET93WW (2.11 ) || 11/10/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9453-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61p}} 9453-A12&lt;br /&gt;
|| LENOVO || 9453A12 || ThinkPad Z61p || LENOVO || 9453A12 || Not Available || LENOVO || Not Available || LENOVO || 7FET45WW (1.05 ) || 04/20/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7FHT19WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61p}} 9450-3AU&lt;br /&gt;
|| LENOVO || 94503AU || ThinkPad Z61p || LENOVO || 94503AU || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-2CU&lt;br /&gt;
|| LENOVO || 94402CU || ThinkPad Z61t || LENOVO || 94402CU || Not Available || LENOVO || Not Available || LENOVO || 7FET50WW (1.10 ) || 06/20/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT22WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9443-4GG&lt;br /&gt;
|| LENOVO || 94434GG || ThinkPad Z61t || LENOVO || 94434GG || Not Available || LENOVO || Not Available || LENOVO || 7FET96WW (2.14 ) || 12/25/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-CTO&lt;br /&gt;
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FET99WW (2.17 ) || 04/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-CTO&lt;br /&gt;
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA0WW (2.18 ) || 05/17/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-CTO&lt;br /&gt;
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA7WW (2.25 ) || 06/03/2008 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Lenovo 3000 series====&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:Lenovo 3000| Lenovo 3000]] N200 TY2BAFR&lt;br /&gt;
|| LENOVO || 0769BAG || 3000 N200 || LENOVO || IEL10 || REFERENCE || No Enclosure || N/A || LENOVO || 68ET24WW || 08/15/2007 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{WARN|Non-ThinkPad EC firmware and BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Adding entries==&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit&amp;quot; link on the appropriate series above and add an entry of the following form:&lt;br /&gt;
:&amp;lt;tt&amp;gt;| &amp;lt;/tt&amp;gt;&amp;lt;i&amp;gt;description of your model&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 1&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 2&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;||&amp;lt;/tt&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;|-&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the two data lines are generated by the following &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for X in system-{manufacturer,product-name,version} \&lt;br /&gt;
  baseboard-{manufacturer,product-name,version} \&lt;br /&gt;
  chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \&lt;br /&gt;
  echo -n &amp;quot;|| `sudo /usr/sbin/dmidecode -s $X` &amp;quot;; done; \&lt;br /&gt;
  sudo /usr/sbin/dmidecode | perl -0777 -ne \&lt;br /&gt;
  'm/\n(.*).\n.*\n(.*Embedded Cont.*)\n/i; print &amp;quot;\n|| &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;/nowiki&amp;gt;nowiki&amp;gt;$1$2&amp;lt;/nowiki&amp;gt;\n&amp;quot;'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you can, please also test [[tp_smapi]] and update its [[tp_smapi#Model-specific_status|model-specific status table]].&lt;br /&gt;
&lt;br /&gt;
==Software using ThinkPad DMI IDs==&lt;br /&gt;
* [[HDAPS]] driver whitelist&lt;br /&gt;
* [[tp_smapi]] driver whitelist&lt;br /&gt;
* [[thinkpad-acpi]] driver quirk list&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43915</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43915"/>
		<updated>2009-08-13T04:32:58Z</updated>

		<summary type="html">&lt;p&gt;Thinker: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module exposes some features of the ThinkPad hardware/firmware via a &amp;lt;tt&amp;gt;sysfs&amp;lt;/tt&amp;gt; interface. Currently, the main implemented functionality is control of battery charging and extended battery status. The tp_smapi software package also includes an improved version of the [[HDAPS]] driver. The underlying hardware interfaces are [[SMAPI support for Linux|SMAPI]] and direct access to the embedded controller.&lt;br /&gt;
&lt;br /&gt;
This driver uses undocumented features and direct hardware access, so it may work unreliably or even damage your hardware; but so far no such damage has been reported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; driver&lt;br /&gt;
**Battery charge/discharge control&lt;br /&gt;
**Battery status information&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver (compared with the standard &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver)&lt;br /&gt;
**Improved stability&lt;br /&gt;
**Improved model support&lt;br /&gt;
**Improved functionality&lt;br /&gt;
&lt;br /&gt;
===Project Homepage / Availability===&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* Download page: http://sourceforge.net/projects/tpctl/files/tp_smapi&lt;br /&gt;
* You need to download only the &amp;lt;i&amp;gt;tp_smapi&amp;lt;/i&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Installation from source====&lt;br /&gt;
You will need the kernel headers and makefiles corresponding to your current kernel version. On {{Fedora}}, this means {{cmdroot|yum install kernel-devel-$(uname -r)}} .&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|tar xzvf tp_smapi-0.40.tgz}}&lt;br /&gt;
:{{cmdroot|cd tp_smapi-0.40}}&lt;br /&gt;
&lt;br /&gt;
Then, either compile and load the driver within the current working directory (for testing):&lt;br /&gt;
:{{cmdroot|make load}}&lt;br /&gt;
OR compile and install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, add &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; to also patch the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; for compatibility with &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (this requires a kernel source tree matching the current kernel).&lt;br /&gt;
Again, either load the driver within the current working directory:&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
OR install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
To prepare a stand-alone patch against the current kernel tree (including&lt;br /&gt;
a patch against &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; and new &amp;lt;tt&amp;gt;Kconfig&amp;lt;/tt&amp;gt; entries):&lt;br /&gt;
:{{cmdroot|make patch}}&lt;br /&gt;
&lt;br /&gt;
To delete all autogenerated files:&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
&lt;br /&gt;
The original kernel tree is never modified by any these commands. &lt;br /&gt;
The {{path|/lib/modules}} directory is modified only by {{cmdroot|make install}}.&lt;br /&gt;
&lt;br /&gt;
====Installation in Gentoo====&lt;br /&gt;
The {{Gentoo}} portage system carries a [http://packages.gentoo.org/package/app-laptop/tp_smapi tp_smapi package], which follows the latest version pretty closely. On a Gentoo system, you can install and load as follows.&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, do this first:&lt;br /&gt;
&lt;br /&gt;
* Disable the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module in your kernel configuration (Device Drivers &amp;amp;rarr; Hardware Monitoring Support &amp;amp;rarr; IBM Hard Drive Active Protection System)&lt;br /&gt;
* Rebuild and install the kernel&lt;br /&gt;
* Add the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; use flag in {{path|/etc/make.conf}}&lt;br /&gt;
* {{cmdroot|rmmod hdaps}}&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
* {{cmdroot|emerge tp_smapi}} (or install tp_smapi with hdaps support manually, as above)&lt;br /&gt;
* {{cmdroot|echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
* {{cmdroot|echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
&lt;br /&gt;
Then reboot, or run:&lt;br /&gt;
* {{cmdroot|modprobe tp_smapi}}&lt;br /&gt;
* {{cmdroot|modprobe hdaps}}&lt;br /&gt;
&lt;br /&gt;
====Installation on Debian unstable (sid), testing (squeeze) or stable (lenny)====&lt;br /&gt;
Debian now contains the [http://packages.debian.org/tp-smapi packaged module source] and prebuilt modules for Debian kernels.&lt;br /&gt;
&lt;br /&gt;
If you use a stock Debian kernel, you can install the tp_smapi modules with:&lt;br /&gt;
* {{cmdroot|apt-get install tp-smapi-modules-`uname -r`}}&lt;br /&gt;
* in order to make sure the modules package is kept in sync with the kernel one, you may also want to install the &amp;lt;code&amp;gt;tm-smapi-modules-2.6-686&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;tm-smapi-modules-2.6-amd64&amp;lt;/code&amp;gt; package, depending on your architecture &lt;br /&gt;
&lt;br /&gt;
If you use a custom kernel, you can build tp_smapi with module-assistant:&lt;br /&gt;
* {{cmdroot|aptitude install tp-smapi-source}}&lt;br /&gt;
* {{cmdroot|m-a -t a-i tp-smapi}}&lt;br /&gt;
&lt;br /&gt;
====Installation on openSUSE====&lt;br /&gt;
openSUSE provides rpm packages. Look for them at the package search: [http://software.opensuse.org/search/], search for the package named &amp;quot;tp_smapi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A step-by-step guide on how a relative linux newbie installed tp_smapi on a Thinkpad W500 running openSuse 11.1 using YAST Software Manager is available [http://forums.opensuse.org/hardware/laptop/417254-tp_smapi-lenovo-thinkpad-t400-t500-w500-step-step.html#post2005932 here]&lt;br /&gt;
&lt;br /&gt;
In case you are taking the hard way around, while compiling on 11.0, make complained about not being able to locate the kernel sources. It worked for me after I did this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp /usr/include/linux/aio_abi.h /lib/modules/`uname -r`/build/include/linux/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Installation on Ubuntu====&lt;br /&gt;
Ubuntu ships tp_smapi in their &amp;lt;tt&amp;gt;linux-ubuntu-modules-*&amp;lt;/tt&amp;gt; package for Hardy, so you don't have to build it yourself. Please note that they have renamed tp_smapi's modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module to &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; so that the two can coexist. You should load &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt;, not &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Intrepid and Jaunty, however, lack the &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; module, as reported [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/297213 here]. It will not be included again until said [[#Bundled hdaps driver|bundled hdaps driver]] is merged into mainline.&lt;br /&gt;
&lt;br /&gt;
=====Installation on Ubuntu Jaunty=====&lt;br /&gt;
I have posted my experiences [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html here]&lt;br /&gt;
&lt;br /&gt;
====Installation on older Ubuntu/Debian====&lt;br /&gt;
Installation on Ubuntu or Debian is quite easy, but there are a few things to look after:&lt;br /&gt;
&lt;br /&gt;
To get your system ready for compiling code, install the build-essentials (as root, of course, as all of the following comands; Ubuntu users have to prepend 'sudo' to every line and enter their own password when prompted):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install build-essential&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi to work, obtain the latest source as mentioned above and unpack it. If you want to use HDAPS, you need to install the kernel source matching te kernel you are running. To do so, issue this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;uname -r&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give you the version of your current kernel. &lt;br /&gt;
Debian users execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ubuntu users execute the following using the kernel-version only (exclude -XX-generic; e.g. 'linux-source-2.6.20'):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be sure to unpack the source file. The easiest way is to open Nautilus as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;sudo nautilus&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then browse to /usr/src/ and extract the source file to that directory.&lt;br /&gt;
&lt;br /&gt;
Now change to the tp_smapi dir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd tp_smapi-X.YY&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (X.YY being the version-number of [[tp_smapi]])&lt;br /&gt;
and make and install tp_smapi as instructed above.&lt;br /&gt;
&lt;br /&gt;
If you get an error that the kernel version isn't matching (or that you need to set KSRC/KBUILD), please check that there is a symlink from the modules dir to the kernel source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ls -l /lib/modules/2.6.20-16-generic&lt;br /&gt;
lrwxrwxrwx  1 root root     28 2007-02-02 08:39 build -&amp;gt; /usr/src/linux-source-2.6.20&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create the link if the line above is not existent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ln -s /usr/src/linux-source-2.6.20 /lib/modules/2.6.20-16-generic/build&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the following will build and install the correct modules to their locations:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;make install HDAPS=1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make sure your system loads the modules at boot time, do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and update your initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi running now, just load the modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;modprobe -a tp_smapi hdaps&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This description was tested on Kubuntu 'Feisty Fawn' and should work on all Debian-based distros with minor tweaks.&lt;br /&gt;
&lt;br /&gt;
'''EDIT:''' Works on Kubuntu 7.10 (&amp;quot;Gutsy Gibbon&amp;quot;), too&lt;br /&gt;
&lt;br /&gt;
===Battery charge control features===&lt;br /&gt;
To set the thresholds for starting and stopping battery charging (in percent of current full charge capacity):&lt;br /&gt;
:{{cmdroot|echo 40 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh}}&lt;br /&gt;
:{{cmdroot|echo 70 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/*_charge_thresh}}&lt;br /&gt;
{{HINT|Battery charging thresholds can be used to keep Li-Ion ad Li-Polymer batteries partially charged, in order to [[Maintenance#Battery_treatment|increase their lifetime]].}}&lt;br /&gt;
To prevent charging for 17 minutes (regardless of thresholds):&lt;br /&gt;
:{{cmdroot|echo 17 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
{{HINT|Charge inhibiting can be used to reduce the power draw of the laptop, in order to use an under-spec power supply that can't handle the combined power draw of running and charging. It can also be used to control which battery is charged when [[How to use UltraBay batteries|using an Ultrabay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel charging preventation:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
&lt;br /&gt;
To force battery discharging (even if connected to AC):&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
{{HINT|This can be used to choose which battery is discharged when [[How to use UltraBay batteries|using an UltraBay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel forced discharge:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
&lt;br /&gt;
===Battery status features===&lt;br /&gt;
To view extended battery status such as charging state, voltage, current, capacity, cycle count and model information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/installed&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/cycle_count&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_percent&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacturer&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/model&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/barcoding&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/chemistry&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/serial&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacture_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/first_use_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius&lt;br /&gt;
# cat /sys/devices/platform/smapi/ac_connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The raw status data is also available, including some fields not listed above (in case you can figure them out):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/dump}}&lt;br /&gt;
&lt;br /&gt;
In all of the above, replace &amp;lt;tt&amp;gt;BAT0&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; to address the 2nd battery.&lt;br /&gt;
&lt;br /&gt;
Note that the battery status readout conflicts with the stock [[HDAPS|hdaps]] driver, so if you use &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; you will need to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; using {{cmdroot|1=make load HDAPS=1}} (see [[#Bundled hdaps driver|Bundled hdaps driver]] below).&lt;br /&gt;
&lt;br /&gt;
On [[ACPI]]-enabled systems, most of above information is also available through the files under {{path|/proc/acpi/battery}}. However, the ACPI interface does not include the instantaneous power and cycle count readouts, and does not work well when [[How to use UltraBay batteries|hotswapping UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
====Scripts====&lt;br /&gt;
Some scripts can make it easier to grep the information you need from tp_smapi&lt;br /&gt;
* [[battery.rb]]&lt;br /&gt;
&lt;br /&gt;
===Other features===&lt;br /&gt;
&lt;br /&gt;
There is also [[sysfs]] attribute for making direct SMAPI requests to the SM BIOS firmware. Don't touch it unless you really know what you're doing. Example:&lt;br /&gt;
 # echo '211a 100 0 0' &amp;gt; /sys/devices/platform/smapi/smapi_request; cat /sys/devices/platform/smapi/smapi_request&lt;br /&gt;
 211a 34b b2 0 0 0 'OK'&lt;br /&gt;
The &amp;quot;4b&amp;quot; in the 2nd value, converted to decimal, is 75: the current charging stop threshold (stop_charge_thresh).&lt;br /&gt;
&lt;br /&gt;
===Bundled &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver===&lt;br /&gt;
&lt;br /&gt;
The tp_smapi package includes a modified version of the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; Linux kernel driver used by the [[HDAPS]] system. It has remained outside the mainline kernel for a few years for several reasons, [https://lists.ubuntu.com/archives/kernel-team/2009-April/005565.html] including the upstream maintainer's assertion that the new code's anonymous author was under a NDA. (Although this would not normally expose the kernel team to litigation.) [http://lkml.org/lkml/2008/9/15/126] [http://lkml.org/lkml/2008/10/7/403] [http://lkml.org/lkml/2008/10/7/428]&lt;br /&gt;
&lt;br /&gt;
To use &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; concurrently, you '''must''' use the modified version.&lt;br /&gt;
&lt;br /&gt;
To build the modified version, simply append the &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; parameter to the &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; command (see [[#Installation|Installation]] above):&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
If you don't do that, you will not be able to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (and its support module &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;) when &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; is loaded, and vice versa. You can use &amp;lt;tt&amp;gt;rmmod&amp;lt;/tt&amp;gt; to switch between these modules.&lt;br /&gt;
&lt;br /&gt;
Note that some of the battery status is also visible through ACPI ({{path|/proc/acpi/battery/*}}), independently of &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; has several changes:&lt;br /&gt;
* The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver in mainline kernels conflicts with the extended battery status (they use the same IO ports). The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; coordinates this access through the bundled &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; driver.&lt;br /&gt;
* The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver fixes reliability and improves support for recent ThinkPad models (*60 and newer), since unlike the mainline driver, it correctly follows the Embedded Controller communication protocol.&lt;br /&gt;
* Several other improvements, such as the ability to control the polling rate.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
The &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f!&amp;lt;/tt&amp;gt;&amp;quot; error message is printed when loading the &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; module on some recent ThinkPad models.  This occurs because the ACPI BIOS DSDT is reserving ports used by tp_smapi.&lt;br /&gt;
&lt;br /&gt;
As a workaround, add the &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; module parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; in {{path|/etc/modprobe.conf}} (or your distribution's equivalent). For transient testing, load the modules as follows:&lt;br /&gt;
&lt;br /&gt;
: {{cmdroot|1=make load HDAPS=1 FORCE_IO=1}}&lt;br /&gt;
&lt;br /&gt;
Note: force_io option was added in tp_smapi v0.40 (released 2008-12-16).&lt;br /&gt;
&lt;br /&gt;
Models which need this option include:&lt;br /&gt;
* ThinkPad {{T400}}&lt;br /&gt;
* ThinkPad {{T500}}&lt;br /&gt;
* ThinkPad {{X301}}&lt;br /&gt;
&lt;br /&gt;
More information:&lt;br /&gt;
* http://bugzilla.kernel.org/show_bug.cgi?id=12221&lt;br /&gt;
* http://www.nabble.com/thinkpad_ec-fails-to-load-on-Thinkpad-T500-td19932985.html&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
If you get &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt;&amp;quot; when trying to load the module on a supported model listed below, you should [[BIOS_Upgrade|upgrade your BIOS]]. Some early BIOS (like 1.x on the X31) don't handle the embedded controller.&lt;br /&gt;
&lt;br /&gt;
===Model-specific status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; feature support matrix&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | &lt;br /&gt;
=====A series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}} 2629-USG&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====G series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====R series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || No SMAPI BIOS&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-JAG&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-5US&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 18*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 || 3.22 || || Machine types 1829, 1830, 1831 and 1836&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 28*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      || 1.29 || || Machine types 2883, 2887, 2888, 2889, 2894 and 2495&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.29 || 1.06 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cno|text=}} 1 || 0.33 || || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.35-test1 || 7KETA7WW 2.07 || 7KHT24WW 1.08 || Machine type 8918&lt;br /&gt;
|-&lt;br /&gt;
! {{R61i}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cunk}}  || {{Cunk}}  ||    ||   ||   || Machine type 8250&lt;br /&gt;
|-&lt;br /&gt;
! {{R400}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.40-1   ||   ||   || Machine type 7443&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====T series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 3.23 || 3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}} 2373-AM9&lt;br /&gt;
| {{Cno}} || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.20 || v3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KXU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.21 || || Stop charge threshold works in Windows, but dmesg says &amp;quot;__get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KUU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}} 2686&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.27 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes|text=}} 0 ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.34 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-24G&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.36 || 1.09a || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 2007-FSG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.39 || 1.10 || 1.05b ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-CZ1&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.40 || 2.23 || 1.07 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60p}} 8743-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T61p}} 6457-7XG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T400}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes|text=}}  1 || 0.40 || 1.19 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! {{T400s}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cunk}}  || {{Cunk}}  || {{Cyes}}  || {{Cyes}}  || {{Cunk}}  1 || 0.40 || 1.06 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T500}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  1 || 0.40 || 2.07 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====X series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}} 2662-31G&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || no EC controller found&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}} || {{Cyes}} || N/A || N/A || 0.34  || 1.09 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 || 2.08 || 1.62 || &lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}}   || {{Cno|text=}} (see ref) || 0.32  || || [http://sourceforge.net/mailarchive/message.php?msg_name=4757BD30.8080808%40ugcs.caltech.edu ref] ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 ||      || 2.07 || 1.10 || 2.6.20 issue (see discussion)&lt;br /&gt;
|-&lt;br /&gt;
! {{X60_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.34  || 7JET25WW (1.10 )  || 7JHT13WW 1.04 || [http://luke.no-ip.org/x60tablet/ ref] [http://rad.bioinfo.ulaval.ca/hardware/x60tablet ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{X60s}} 1704-5UG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cno|text=}} 3 || 0.34 || 7BETD2WW 2.13 || 7BHT40WW 1.13 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7673-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 7NETB9WW (2.19) || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-CTO&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cno|text=}} 6 || 0.35-test1       ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-4KU&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.34 || 7NET30WW (1.11 ) || 7MHT24WW-1.02 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.32  ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61s}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 3 || 0.32 ||  || || [http://www.slackwiki.org/ThinkPad_X61s ref] says 3 but conflicting report received&lt;br /&gt;
|-&lt;br /&gt;
! {{X200}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.40 || 6DET40WW (2.04 ) || 7XHT22WW-1.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X300}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.37 || 7TET25WW (1.02 ) || 7THT15WW-1.00c ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====Z series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || || [https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/45014 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====SL series and IdeaPad=====&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:left&amp;quot; |&lt;br /&gt;
The ThinkPad SL series and IdeaPad series have firmware that is completely different from other ThinkPad models. Neither [[tp_smapi]] nor [[thinkpad-acpi]] support these models.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SMAPI capabilities may depend on the BIOS version as well, so upgrading to the latest version of the BIOS might provide more SMAPI functions (especially true for long-lived BIOS with lots of releases, like the TP-1R).&lt;br /&gt;
&lt;br /&gt;
Please update the above and report your experience on the [[Talk:tp_smapi|discussion]] page. If the module loads but gives a &amp;quot;&amp;lt;tt&amp;gt;not supported&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;not implementeded&amp;lt;/tt&amp;gt;&amp;quot; error when you try to use some specific file in {{path|/sys/devices/platform/smapi/}}, please report the &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output and whether the corresponding functionality is available under Windows - maybe your ThinkPad just can't do that. &lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to add your laptop to the [[list of DMI IDs]].&lt;br /&gt;
&lt;br /&gt;
=====HDAPS axis orientation=====&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; The HDAPS axis orientation is set using the &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; module parameter (at load time) or sysfs attribute (at runtime). The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver of tp_smapi supports all 8 possible sensor orientations (inversion and swapping). You can use [[HDAPS#Visualisation_of_ThinkPad_orientation|hdaps visualisation]] to check if the settings is correct.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; parameter is an integer between 0 and 7, whose meaning is defined below. (This is confusing. Most people will find it easier to just try all 8 possibilities.)&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; denote the hardware readouts. Let &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; denote the laptop's roll (tilt left/right), and let &amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt; denote the laptop's pitch (tilt forward/backward). The possible values are as follows:&lt;br /&gt;
    invert=0:   R= X  P= Y   (same as mainline)&lt;br /&gt;
    invert=1:   R=-X  P=-Y   (same as mainline)&lt;br /&gt;
    invert=2:   R=-X  P= Y   (new)&lt;br /&gt;
    invert=3:   R= X  P=-Y   (new)&lt;br /&gt;
    invert=4:   R= Y  P= X   (new)&lt;br /&gt;
    invert=5:   R=-Y  P=-X   (new)&lt;br /&gt;
    invert=6:   R=-Y  P= X   (new)&lt;br /&gt;
    invert=7:   R= Y  P=-X   (new)&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]] [[Category:Patches]]&lt;br /&gt;
&lt;br /&gt;
===Tools using this driver===&lt;br /&gt;
&lt;br /&gt;
The driver's interface can be accessed directly through the files under {{path|/sys/devices/platform/smapi}}, or via the following tools:&lt;br /&gt;
* [[KThinkBat]] - display battery status on the KDE &amp;lt;tt&amp;gt;kicker&amp;lt;/tt&amp;gt; panel.&lt;br /&gt;
* [[gkrellm-ThinkBat]] - battery status plugin for Gkrellm2&lt;br /&gt;
* {{CodeRef|thinkpad-smapi.sh}} - script to display various SMAPI information using tp_smapi module.&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43914</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43914"/>
		<updated>2009-08-13T04:32:30Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* T series */ T400s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module exposes some features of the ThinkPad hardware/firmware via a &amp;lt;tt&amp;gt;sysfs&amp;lt;/tt&amp;gt; interface. Currently, the main implemented functionality is control of battery charging and extended battery status. The tp_smapi software package also includes an improved version of the [[HDAPS]] driver. The underlying hardware interfaces are [[SMAPI support for Linux|SMAPI]] and direct access to the embedded controller.&lt;br /&gt;
&lt;br /&gt;
This driver uses undocumented features and direct hardware access, so it may work unreliably or even damage your hardware; but so far no such damage has been reported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; driver&lt;br /&gt;
**Battery charge/discharge control&lt;br /&gt;
**Battery status information&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver (compared with the standard &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver)&lt;br /&gt;
**Improved stability&lt;br /&gt;
**Improved model support&lt;br /&gt;
**Improved functionality&lt;br /&gt;
&lt;br /&gt;
===Project Homepage / Availability===&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* Download page: http://sourceforge.net/projects/tpctl/files/tp_smapi&lt;br /&gt;
* You need to download only the &amp;lt;i&amp;gt;tp_smapi&amp;lt;/i&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Installation from source====&lt;br /&gt;
You will need the kernel headers and makefiles corresponding to your current kernel version. On {{Fedora}}, this means {{cmdroot|yum install kernel-devel-$(uname -r)}} .&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|tar xzvf tp_smapi-0.40.tgz}}&lt;br /&gt;
:{{cmdroot|cd tp_smapi-0.40}}&lt;br /&gt;
&lt;br /&gt;
Then, either compile and load the driver within the current working directory (for testing):&lt;br /&gt;
:{{cmdroot|make load}}&lt;br /&gt;
OR compile and install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, add &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; to also patch the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; for compatibility with &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (this requires a kernel source tree matching the current kernel).&lt;br /&gt;
Again, either load the driver within the current working directory:&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
OR install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
To prepare a stand-alone patch against the current kernel tree (including&lt;br /&gt;
a patch against &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; and new &amp;lt;tt&amp;gt;Kconfig&amp;lt;/tt&amp;gt; entries):&lt;br /&gt;
:{{cmdroot|make patch}}&lt;br /&gt;
&lt;br /&gt;
To delete all autogenerated files:&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
&lt;br /&gt;
The original kernel tree is never modified by any these commands. &lt;br /&gt;
The {{path|/lib/modules}} directory is modified only by {{cmdroot|make install}}.&lt;br /&gt;
&lt;br /&gt;
====Installation in Gentoo====&lt;br /&gt;
The {{Gentoo}} portage system carries a [http://packages.gentoo.org/package/app-laptop/tp_smapi tp_smapi package], which follows the latest version pretty closely. On a Gentoo system, you can install and load as follows.&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, do this first:&lt;br /&gt;
&lt;br /&gt;
* Disable the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module in your kernel configuration (Device Drivers &amp;amp;rarr; Hardware Monitoring Support &amp;amp;rarr; IBM Hard Drive Active Protection System)&lt;br /&gt;
* Rebuild and install the kernel&lt;br /&gt;
* Add the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; use flag in {{path|/etc/make.conf}}&lt;br /&gt;
* {{cmdroot|rmmod hdaps}}&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
* {{cmdroot|emerge tp_smapi}} (or install tp_smapi with hdaps support manually, as above)&lt;br /&gt;
* {{cmdroot|echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
* {{cmdroot|echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
&lt;br /&gt;
Then reboot, or run:&lt;br /&gt;
* {{cmdroot|modprobe tp_smapi}}&lt;br /&gt;
* {{cmdroot|modprobe hdaps}}&lt;br /&gt;
&lt;br /&gt;
====Installation on Debian unstable (sid), testing (squeeze) or stable (lenny)====&lt;br /&gt;
Debian now contains the [http://packages.debian.org/tp-smapi packaged module source] and prebuilt modules for Debian kernels.&lt;br /&gt;
&lt;br /&gt;
If you use a stock Debian kernel, you can install the tp_smapi modules with:&lt;br /&gt;
* {{cmdroot|apt-get install tp-smapi-modules-`uname -r`}}&lt;br /&gt;
* in order to make sure the modules package is kept in sync with the kernel one, you may also want to install the &amp;lt;code&amp;gt;tm-smapi-modules-2.6-686&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;tm-smapi-modules-2.6-amd64&amp;lt;/code&amp;gt; package, depending on your architecture &lt;br /&gt;
&lt;br /&gt;
If you use a custom kernel, you can build tp_smapi with module-assistant:&lt;br /&gt;
* {{cmdroot|aptitude install tp-smapi-source}}&lt;br /&gt;
* {{cmdroot|m-a -t a-i tp-smapi}}&lt;br /&gt;
&lt;br /&gt;
====Installation on openSUSE====&lt;br /&gt;
openSUSE provides rpm packages. Look for them at the package search: [http://software.opensuse.org/search/], search for the package named &amp;quot;tp_smapi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A step-by-step guide on how a relative linux newbie installed tp_smapi on a Thinkpad W500 running openSuse 11.1 using YAST Software Manager is available [http://forums.opensuse.org/hardware/laptop/417254-tp_smapi-lenovo-thinkpad-t400-t500-w500-step-step.html#post2005932 here]&lt;br /&gt;
&lt;br /&gt;
In case you are taking the hard way around, while compiling on 11.0, make complained about not being able to locate the kernel sources. It worked for me after I did this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp /usr/include/linux/aio_abi.h /lib/modules/`uname -r`/build/include/linux/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Installation on Ubuntu====&lt;br /&gt;
Ubuntu ships tp_smapi in their &amp;lt;tt&amp;gt;linux-ubuntu-modules-*&amp;lt;/tt&amp;gt; package for Hardy, so you don't have to build it yourself. Please note that they have renamed tp_smapi's modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module to &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; so that the two can coexist. You should load &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt;, not &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Intrepid and Jaunty, however, lack the &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; module, as reported [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/297213 here]. It will not be included again until said [[#Bundled hdaps driver|bundled hdaps driver]] is merged into mainline.&lt;br /&gt;
&lt;br /&gt;
=====Installation on Ubuntu Jaunty=====&lt;br /&gt;
I have posted my experiences [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html here]&lt;br /&gt;
&lt;br /&gt;
====Installation on older Ubuntu/Debian====&lt;br /&gt;
Installation on Ubuntu or Debian is quite easy, but there are a few things to look after:&lt;br /&gt;
&lt;br /&gt;
To get your system ready for compiling code, install the build-essentials (as root, of course, as all of the following comands; Ubuntu users have to prepend 'sudo' to every line and enter their own password when prompted):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install build-essential&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi to work, obtain the latest source as mentioned above and unpack it. If you want to use HDAPS, you need to install the kernel source matching te kernel you are running. To do so, issue this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;uname -r&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give you the version of your current kernel. &lt;br /&gt;
Debian users execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ubuntu users execute the following using the kernel-version only (exclude -XX-generic; e.g. 'linux-source-2.6.20'):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be sure to unpack the source file. The easiest way is to open Nautilus as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;sudo nautilus&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then browse to /usr/src/ and extract the source file to that directory.&lt;br /&gt;
&lt;br /&gt;
Now change to the tp_smapi dir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd tp_smapi-X.YY&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (X.YY being the version-number of [[tp_smapi]])&lt;br /&gt;
and make and install tp_smapi as instructed above.&lt;br /&gt;
&lt;br /&gt;
If you get an error that the kernel version isn't matching (or that you need to set KSRC/KBUILD), please check that there is a symlink from the modules dir to the kernel source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ls -l /lib/modules/2.6.20-16-generic&lt;br /&gt;
lrwxrwxrwx  1 root root     28 2007-02-02 08:39 build -&amp;gt; /usr/src/linux-source-2.6.20&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create the link if the line above is not existent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ln -s /usr/src/linux-source-2.6.20 /lib/modules/2.6.20-16-generic/build&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the following will build and install the correct modules to their locations:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;make install HDAPS=1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make sure your system loads the modules at boot time, do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and update your initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi running now, just load the modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;modprobe -a tp_smapi hdaps&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This description was tested on Kubuntu 'Feisty Fawn' and should work on all Debian-based distros with minor tweaks.&lt;br /&gt;
&lt;br /&gt;
'''EDIT:''' Works on Kubuntu 7.10 (&amp;quot;Gutsy Gibbon&amp;quot;), too&lt;br /&gt;
&lt;br /&gt;
===Battery charge control features===&lt;br /&gt;
To set the thresholds for starting and stopping battery charging (in percent of current full charge capacity):&lt;br /&gt;
:{{cmdroot|echo 40 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh}}&lt;br /&gt;
:{{cmdroot|echo 70 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/*_charge_thresh}}&lt;br /&gt;
{{HINT|Battery charging thresholds can be used to keep Li-Ion ad Li-Polymer batteries partially charged, in order to [[Maintenance#Battery_treatment|increase their lifetime]].}}&lt;br /&gt;
To prevent charging for 17 minutes (regardless of thresholds):&lt;br /&gt;
:{{cmdroot|echo 17 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
{{HINT|Charge inhibiting can be used to reduce the power draw of the laptop, in order to use an under-spec power supply that can't handle the combined power draw of running and charging. It can also be used to control which battery is charged when [[How to use UltraBay batteries|using an Ultrabay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel charging preventation:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
&lt;br /&gt;
To force battery discharging (even if connected to AC):&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
{{HINT|This can be used to choose which battery is discharged when [[How to use UltraBay batteries|using an UltraBay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel forced discharge:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
&lt;br /&gt;
===Battery status features===&lt;br /&gt;
To view extended battery status such as charging state, voltage, current, capacity, cycle count and model information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/installed&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/cycle_count&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_percent&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacturer&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/model&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/barcoding&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/chemistry&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/serial&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacture_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/first_use_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius&lt;br /&gt;
# cat /sys/devices/platform/smapi/ac_connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The raw status data is also available, including some fields not listed above (in case you can figure them out):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/dump}}&lt;br /&gt;
&lt;br /&gt;
In all of the above, replace &amp;lt;tt&amp;gt;BAT0&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; to address the 2nd battery.&lt;br /&gt;
&lt;br /&gt;
Note that the battery status readout conflicts with the stock [[HDAPS|hdaps]] driver, so if you use &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; you will need to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; using {{cmdroot|1=make load HDAPS=1}} (see [[#Bundled hdaps driver|Bundled hdaps driver]] below).&lt;br /&gt;
&lt;br /&gt;
On [[ACPI]]-enabled systems, most of above information is also available through the files under {{path|/proc/acpi/battery}}. However, the ACPI interface does not include the instantaneous power and cycle count readouts, and does not work well when [[How to use UltraBay batteries|hotswapping UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
====Scripts====&lt;br /&gt;
Some scripts can make it easier to grep the information you need from tp_smapi&lt;br /&gt;
* [[battery.rb]]&lt;br /&gt;
&lt;br /&gt;
===Other features===&lt;br /&gt;
&lt;br /&gt;
There is also [[sysfs]] attribute for making direct SMAPI requests to the SM BIOS firmware. Don't touch it unless you really know what you're doing. Example:&lt;br /&gt;
 # echo '211a 100 0 0' &amp;gt; /sys/devices/platform/smapi/smapi_request; cat /sys/devices/platform/smapi/smapi_request&lt;br /&gt;
 211a 34b b2 0 0 0 'OK'&lt;br /&gt;
The &amp;quot;4b&amp;quot; in the 2nd value, converted to decimal, is 75: the current charging stop threshold (stop_charge_thresh).&lt;br /&gt;
&lt;br /&gt;
===Bundled &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver===&lt;br /&gt;
&lt;br /&gt;
The tp_smapi package includes a modified version of the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; Linux kernel driver used by the [[HDAPS]] system. It has remained outside the mainline kernel for a few years for several reasons, [https://lists.ubuntu.com/archives/kernel-team/2009-April/005565.html] including the upstream maintainer's assertion that the new code's anonymous author was under a NDA. (Although this would not normally expose the kernel team to litigation.) [http://lkml.org/lkml/2008/9/15/126] [http://lkml.org/lkml/2008/10/7/403] [http://lkml.org/lkml/2008/10/7/428]&lt;br /&gt;
&lt;br /&gt;
To use &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; concurrently, you '''must''' use the modified version.&lt;br /&gt;
&lt;br /&gt;
To build the modified version, simply append the &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; parameter to the &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; command (see [[#Installation|Installation]] above):&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
If you don't do that, you will not be able to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (and its support module &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;) when &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; is loaded, and vice versa. You can use &amp;lt;tt&amp;gt;rmmod&amp;lt;/tt&amp;gt; to switch between these modules.&lt;br /&gt;
&lt;br /&gt;
Note that some of the battery status is also visible through ACPI ({{path|/proc/acpi/battery/*}}), independently of &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; has several changes:&lt;br /&gt;
* The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver in mainline kernels conflicts with the extended battery status (they use the same IO ports). The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; coordinates this access through the bundled &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; driver.&lt;br /&gt;
* The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver fixes reliability and improves support for recent ThinkPad models (*60 and newer), since unlike the mainline driver, it correctly follows the Embedded Controller communication protocol.&lt;br /&gt;
* Several other improvements, such as the ability to control the polling rate.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
The &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f!&amp;lt;/tt&amp;gt;&amp;quot; error message is printed when loading the &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; module on some recent ThinkPad models.  This occurs because the ACPI BIOS DSDT is reserving ports used by tp_smapi.&lt;br /&gt;
&lt;br /&gt;
As a workaround, add the &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; module parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; in {{path|/etc/modprobe.conf}} (or your distribution's equivalent). For transient testing, load the modules as follows:&lt;br /&gt;
&lt;br /&gt;
: {{cmdroot|1=make load HDAPS=1 FORCE_IO=1}}&lt;br /&gt;
&lt;br /&gt;
Note: force_io option was added in tp_smapi v0.40 (released 2008-12-16).&lt;br /&gt;
&lt;br /&gt;
Models which need this option include:&lt;br /&gt;
* ThinkPad {{T400}}&lt;br /&gt;
* ThinkPad {{T500}}&lt;br /&gt;
* ThinkPad {{X301}}&lt;br /&gt;
&lt;br /&gt;
More information:&lt;br /&gt;
* http://bugzilla.kernel.org/show_bug.cgi?id=12221&lt;br /&gt;
* http://www.nabble.com/thinkpad_ec-fails-to-load-on-Thinkpad-T500-td19932985.html&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
If you get &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt;&amp;quot; when trying to load the module on a supported model listed below, you should [[BIOS_Upgrade|upgrade your BIOS]]. Some early BIOS (like 1.x on the X31) don't handle the embedded controller.&lt;br /&gt;
&lt;br /&gt;
===Model-specific status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; feature support matrix&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | &lt;br /&gt;
=====A series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}} 2629-USG&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====G series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====R series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || No SMAPI BIOS&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-JAG&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-5US&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 18*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 || 3.22 || || Machine types 1829, 1830, 1831 and 1836&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 28*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      || 1.29 || || Machine types 2883, 2887, 2888, 2889, 2894 and 2495&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.29 || 1.06 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cno|text=}} 1 || 0.33 || || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.35-test1 || 7KETA7WW 2.07 || 7KHT24WW 1.08 || Machine type 8918&lt;br /&gt;
|-&lt;br /&gt;
! {{R61i}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cunk}}  || {{Cunk}}  ||    ||   ||   || Machine type 8250&lt;br /&gt;
|-&lt;br /&gt;
! {{R400}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.40-1   ||   ||   || Machine type 7443&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====T series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 3.23 || 3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}} 2373-AM9&lt;br /&gt;
| {{Cno}} || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.20 || v3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KXU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.21 || || Stop charge threshold works in Windows, but dmesg says &amp;quot;__get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KUU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}} 2686&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.27 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes|text=}} 0 ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.34 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-24G&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.36 || 1.09a || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 2007-FSG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.39 || 1.10 || 1.05b ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-CZ1&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.40 || 2.23 || 1.07 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60p}} 8743-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T61p}} 6457-7XG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T400}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes|text=}}  1 || 0.40 || 1.19 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! {{T400}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cunk}}  || {{Cunk}}  || {{Cyes}}  || {{Cyes}}  || {{Cunk}}  1 || 0.40 || 1.06 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T500}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  1 || 0.40 || 2.07 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====X series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}} 2662-31G&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || no EC controller found&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}} || {{Cyes}} || N/A || N/A || 0.34  || 1.09 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 || 2.08 || 1.62 || &lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}}   || {{Cno|text=}} (see ref) || 0.32  || || [http://sourceforge.net/mailarchive/message.php?msg_name=4757BD30.8080808%40ugcs.caltech.edu ref] ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 ||      || 2.07 || 1.10 || 2.6.20 issue (see discussion)&lt;br /&gt;
|-&lt;br /&gt;
! {{X60_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.34  || 7JET25WW (1.10 )  || 7JHT13WW 1.04 || [http://luke.no-ip.org/x60tablet/ ref] [http://rad.bioinfo.ulaval.ca/hardware/x60tablet ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{X60s}} 1704-5UG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cno|text=}} 3 || 0.34 || 7BETD2WW 2.13 || 7BHT40WW 1.13 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7673-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 7NETB9WW (2.19) || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-CTO&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cno|text=}} 6 || 0.35-test1       ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-4KU&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.34 || 7NET30WW (1.11 ) || 7MHT24WW-1.02 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.32  ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61s}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 3 || 0.32 ||  || || [http://www.slackwiki.org/ThinkPad_X61s ref] says 3 but conflicting report received&lt;br /&gt;
|-&lt;br /&gt;
! {{X200}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.40 || 6DET40WW (2.04 ) || 7XHT22WW-1.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X300}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.37 || 7TET25WW (1.02 ) || 7THT15WW-1.00c ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====Z series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || || [https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/45014 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====SL series and IdeaPad=====&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:left&amp;quot; |&lt;br /&gt;
The ThinkPad SL series and IdeaPad series have firmware that is completely different from other ThinkPad models. Neither [[tp_smapi]] nor [[thinkpad-acpi]] support these models.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SMAPI capabilities may depend on the BIOS version as well, so upgrading to the latest version of the BIOS might provide more SMAPI functions (especially true for long-lived BIOS with lots of releases, like the TP-1R).&lt;br /&gt;
&lt;br /&gt;
Please update the above and report your experience on the [[Talk:tp_smapi|discussion]] page. If the module loads but gives a &amp;quot;&amp;lt;tt&amp;gt;not supported&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;not implementeded&amp;lt;/tt&amp;gt;&amp;quot; error when you try to use some specific file in {{path|/sys/devices/platform/smapi/}}, please report the &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output and whether the corresponding functionality is available under Windows - maybe your ThinkPad just can't do that. &lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to add your laptop to the [[list of DMI IDs]].&lt;br /&gt;
&lt;br /&gt;
=====HDAPS axis orientation=====&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; The HDAPS axis orientation is set using the &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; module parameter (at load time) or sysfs attribute (at runtime). The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver of tp_smapi supports all 8 possible sensor orientations (inversion and swapping). You can use [[HDAPS#Visualisation_of_ThinkPad_orientation|hdaps visualisation]] to check if the settings is correct.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; parameter is an integer between 0 and 7, whose meaning is defined below. (This is confusing. Most people will find it easier to just try all 8 possibilities.)&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; denote the hardware readouts. Let &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; denote the laptop's roll (tilt left/right), and let &amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt; denote the laptop's pitch (tilt forward/backward). The possible values are as follows:&lt;br /&gt;
    invert=0:   R= X  P= Y   (same as mainline)&lt;br /&gt;
    invert=1:   R=-X  P=-Y   (same as mainline)&lt;br /&gt;
    invert=2:   R=-X  P= Y   (new)&lt;br /&gt;
    invert=3:   R= X  P=-Y   (new)&lt;br /&gt;
    invert=4:   R= Y  P= X   (new)&lt;br /&gt;
    invert=5:   R=-Y  P=-X   (new)&lt;br /&gt;
    invert=6:   R=-Y  P= X   (new)&lt;br /&gt;
    invert=7:   R= Y  P=-X   (new)&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]] [[Category:Patches]]&lt;br /&gt;
&lt;br /&gt;
===Tools using this driver===&lt;br /&gt;
&lt;br /&gt;
The driver's interface can be accessed directly through the files under {{path|/sys/devices/platform/smapi}}, or via the following tools:&lt;br /&gt;
* [[KThinkBat]] - display battery status on the KDE &amp;lt;tt&amp;gt;kicker&amp;lt;/tt&amp;gt; panel.&lt;br /&gt;
* [[gkrellm-ThinkBat]] - battery status plugin for Gkrellm2&lt;br /&gt;
* {{CodeRef|thinkpad-smapi.sh}} - script to display various SMAPI information using tp_smapi module.&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Thermal_Sensors&amp;diff=43913</id>
		<title>Thermal Sensors</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Thermal_Sensors&amp;diff=43913"/>
		<updated>2009-08-13T04:21:18Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* ThinkPad {{T400s}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page summarizes known information about the locations and properties of thermal sensors on ThinkPad laptops. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Accessing the sensors==&lt;br /&gt;
&lt;br /&gt;
===Basic ACPI system temperature sensors===&lt;br /&gt;
The primary means of accessing the thermal sensors is through the [[thinkpad-acpi]] module, up to 16 sensors are supported.  When the module is loaded, the sensors (some of which may be inactive) are shown through the standard sysfs hwmon interface used by the lm-sensors utilities, and also in {{path|/proc/acpi/ibm/thermal}} (which is deprecated, and will be removed someday).&lt;br /&gt;
&lt;br /&gt;
lm-sensors/libsensors uses the hwmon interface exposed through {{path|/sys/bus/platform/devices/thinkpad_hwmon/}} to read the temperatures, note that the sysfs interface returns normal open errors instead of weird values for sensors that are not active (which the simplistic '''sensors''' command ignore). lm-sensors/libsensors can be configured to give proper names to each sensor, which will be used by any properly written sensor applet.&lt;br /&gt;
&lt;br /&gt;
 {{cmdroot|sensors}}&lt;br /&gt;
 {{cmdresult|thinkpad-isa-0000&lt;br /&gt;
 Adapter: ISA adapter&lt;br /&gt;
 fan1:                3914 RPM&lt;br /&gt;
 CPU:                  +45.0°C&lt;br /&gt;
 LAN/Heatsink/HDAPS:   +44.0°C&lt;br /&gt;
 PC-CARD slot:         +35.0°C&lt;br /&gt;
 GPU:                  +48.0°C&lt;br /&gt;
 Main battery charger: +35.0°C&lt;br /&gt;
 ERROR: Can't get value of subfeature temp6_input: Can't read&lt;br /&gt;
 Bay battery charger:   +0.0°C&lt;br /&gt;
 Main battery cells:   +30.0°C&lt;br /&gt;
 ERROR: Can't get value of subfeature temp8_input: Can't read&lt;br /&gt;
 Bay battery cells:     +0.0°C&lt;br /&gt;
 MCH:                  +42.0°C&lt;br /&gt;
 PLL clock/ICH/WLAN:   +50.0°C&lt;br /&gt;
 Voltage regulator:    +43.0°C}}&lt;br /&gt;
&lt;br /&gt;
The old method to access the thermal readings is through the {{path|/proc}} interface:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /proc/acpi/ibm/thermal}}&lt;br /&gt;
:{{cmdresult|temperatures:   44 41 33 42 33 -128 30 -128}}&lt;br /&gt;
&lt;br /&gt;
A value of -128 (i.e., 0x80 hex) means the sensor is not connected. For example, above the two -128 values belong to the UltraBay battery, which is not plugged in.&lt;br /&gt;
&lt;br /&gt;
If the ThinkPad supports the extended sensor set, eight more values will be displayed:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /proc/acpi/ibm/thermal}}&lt;br /&gt;
:{{cmdresult|temperatures:   44 41 33 42 33 -128 30 -128 48 50 49 -128 -128 -128 -128 -128}}&lt;br /&gt;
&lt;br /&gt;
===HDAPS temperature sensor===&lt;br /&gt;
The [[Active Protection System]] firmware also reports a temperature, which is identical to one of the ACPI sensors. The corresponding sensor is actually not inside the HDAPS chip, and sometimes not even close to it.&lt;br /&gt;
:{{cmdroot|cat /sys/bus/platform/drivers/hdaps/hdaps/temp1}}&lt;br /&gt;
:{{cmdresult|41}}&lt;br /&gt;
&lt;br /&gt;
===Harddisks SMART temperature sensor===&lt;br /&gt;
The system hard disk temperature can be read through the disk's SMART interface:&lt;br /&gt;
:{{cmdroot|&amp;lt;nowiki&amp;gt;smartctl -A /dev/hda | grep Temperature&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:{{cmdresult|194 Temperature_Celsius     0x0022   145   097   000    Old_age   Always       -       31}}&lt;br /&gt;
&lt;br /&gt;
Or, for SATA-equipped models running a recent Linux kernel (see [[Problems with SATA and Linux]]):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|&amp;lt;nowiki&amp;gt;smartctl -A -d ata /dev/sda | grep Temperature&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:{{cmdresult|194 Temperature_Celsius     0x0022   145   097   000    Old_age   Always       -       31}}&lt;br /&gt;
&lt;br /&gt;
When the [[UltraBay Slim HDD Adapter]] or [[UltraBay Slim SATA HDD Adapter]] are used, the second hard disk will typically provide another temperature readout via its SMART interface, analogously to the above.&lt;br /&gt;
&lt;br /&gt;
Reading this sensor will typically cause a drive spin-up and head unload.&lt;br /&gt;
&lt;br /&gt;
===Hitachi harddisks &amp;lt;tt&amp;gt;SENSE CONDITION&amp;lt;/tt&amp;gt; temperature sensor===&lt;br /&gt;
&lt;br /&gt;
Recent Hitachi disks provide a non-standard &amp;lt;tt&amp;gt;SENSE CONDITION&amp;lt;/tt&amp;gt; command which reads the disk temperature without causing a spin-up or head load. The reported value is the same as when using SMART. This can be invoked, e.g., using {{cmdroot|hdparm -H}}, or the relevant code in {{CodeRef|tp-fancontrol}}. When using the  &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; driver, this requires kernel &amp;gt;= 2.6.19-rc1.&lt;br /&gt;
&lt;br /&gt;
==Utilities for viewing temperatures==&lt;br /&gt;
&lt;br /&gt;
The following utilities display the ThinkPad-specific thermal sensor readouts:&lt;br /&gt;
* The above shell commands.&lt;br /&gt;
* The &amp;quot;Sensors&amp;quot; builtin of [[GKrellM]] can show 6 specific ACPI sensors (out of up to 11).&lt;br /&gt;
* [http://kima.sourceforge.net/ Kima] is a KDE applet that can display the 8 first ACPI sensors as well as the HDAPS sensor.&lt;br /&gt;
* [http://www.kraus.tk/projects/IBMDoK/ IBMDoK], another KDE applet. Shows 4 specific sensors (out of up to 11). So far only tested at the {{T60}}.&lt;br /&gt;
* There is an [http://munin.projects.linpro.no/wiki/plugin-ibm_acpi ibm_acpi plugin] for [http://munin.projects.linpro.no/ Munin].&lt;br /&gt;
* [http://sensors-applet.sourceforge.net/ GNOME Sensors Applet] supports ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
==Sensor locations==&lt;br /&gt;
This information is model specific.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{A31}}===&lt;br /&gt;
Found by Milos Popovic using cooling spray to cool down components on a completely removed, running motherboard, to locate the sensors.  Also reported [http://forum.thinkpads.com/viewtopic.php?t=31837 here].&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    Battery        (this one heats up when on battery power)&lt;br /&gt;
 0x7A        3                    Power          (sensor near power diodes and CPU; heats up when high power consumption, has crosstalk from CPU)&lt;br /&gt;
 0x7B        4                    Ultrabay 2000 battery?&lt;br /&gt;
 0x7C        5                    Northbridge    (sensor next to Northbridge, also somewhat near GPU)&lt;br /&gt;
 0x7D        6                    PCMCIA/ambient (sensor is a National Semiconductor LM75 Digital Temperature Sensor/Thermal Watchdog chip&lt;br /&gt;
                                                  next to the 9-pin VGA connector; sits right under PCMCIA slots but doesn't touch)&lt;br /&gt;
 0x7E        7                    Battery        (this one stays near ambient temperature, even when on battery power)&lt;br /&gt;
 0x7F        8                    Ultrabay 2000 battery?&lt;br /&gt;
 0xC0        none                 zero&lt;br /&gt;
 0xC1        none                 zero&lt;br /&gt;
 0xC2        none                 zero&lt;br /&gt;
The following photos (resolution reduced for server space) show the locations found for the listed temperature sensors.&lt;br /&gt;
{{gallery_start}}&lt;br /&gt;
{{thumb|A31_2652M3U_systemboardtop_DSCN6105_tempsensors_lores.jpg|ThinkPad A31 sensor locations on top of motherboard.}}&lt;br /&gt;
{{thumb|A31_2652M3U_systemboardbottom_DSCN6105_tempsensors_lores.jpg|ThinkPad A31 sensor locations on bottom of motherboard.}}&lt;br /&gt;
{{gallery_end}}&lt;br /&gt;
On this A31 systemboard (FRU 26P8398), there is a [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2313 Maxim MAX1668] 5-channel remote/local temperature sensor (4 remote + 1 self temperature) on top of the systemboard, and a [http://www.national.com/pf/LM/LM75.html National Semiconductor LM75] single-channel &amp;quot;digital temperature sensor and thermal watchdog&amp;quot; chip.  It would appear that the LM75 has the ability to hard shutdown the processor (without software intervention) if its temperature exceeds a given threshold.  I'm not sure if it is wired for this, nor whether the Thinkpad changes the threshold temperature from the chip's power-up default of 80Â°C.  A software application with drivers on the LM75 webpage is available that claims to allow direct access to the thermal sensor chip (this hasn't been tried, but could be useful in other models to determine if this sensor is somewhere on the MB, and which register it corresponds to).  The MAX1668's self-temperature reading does not appear anywhere in the above temperature registers; it's not clear whether it is read at all, and whether it is to be found elsewhere in the EC memory.  These two chips (LM75 and MAX1668) account for some of the sensors.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{R51}}===&lt;br /&gt;
The [[ibm-acpi]] documentation includes the report by Thomas Gruber:&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    Mini-PCI&lt;br /&gt;
 0x7A        3                    HDD&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    System battery&lt;br /&gt;
 0x7D        6                    UltraBay battery&lt;br /&gt;
 0x7E        7                    System battery&lt;br /&gt;
 0x7F        8                    UltraBay battery&lt;br /&gt;
 0xC0        none                 ?&lt;br /&gt;
 0xC1        none                 ?&lt;br /&gt;
 0xC2        none                 ?&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T40}}===&lt;br /&gt;
The location of one of the sensors is identified [http://forum.thinkpads.com/viewtopic.php?t=11574 here].&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    System board under rear left corner of Mini-PCI module&lt;br /&gt;
 0x7A        3                    ?&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    Battery&lt;br /&gt;
 0x7D        6                    n/a&lt;br /&gt;
 0x7E        7                    Battery&lt;br /&gt;
 0x7F        8                    n/a&lt;br /&gt;
 0xC0        none                 n/a&lt;br /&gt;
 0xC1        none                 n/a&lt;br /&gt;
 0xC2        none                 n/a&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T43}}, {{T43p}}===&lt;br /&gt;
Found by Shmidoax using cooling spray to cool down components and observe the effect on the sensors.&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    Between PCMCIA slot and CPU (same as HDAPS module)&lt;br /&gt;
 0x7A        3                    PCMCIA slot&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    System battery (front left = charging circuit)&lt;br /&gt;
 0x7D        6                    UltraBay battery&lt;br /&gt;
 0x7E        7                    System battery (rear right)&lt;br /&gt;
 0x7F        8                    UltraBay battery&lt;br /&gt;
 0xC0        9                    Bus between Northbridge and DRAM; Ethernet chip&lt;br /&gt;
 0xC1        10                   Southbridge, WLAN and clock generator (under Mini-PCI card, under touchpad)&lt;br /&gt;
 0xC2        11                   Power circuitry, on underside of system board under F2 key&lt;br /&gt;
{{gallery_start}}&lt;br /&gt;
{{thumb|T43-thermal-sensors.jpg|ThinkPad T43 sensor locations}}&lt;br /&gt;
{{thumb|T43-2668-thermal-sensors-zoom.jpg|ThinkPad T43 sensor locations detail}}&lt;br /&gt;
{{thumb|T43p-H8S2161.jpg|ThinkPad T43/p 26xx Embedded Controller Renesas H8S/2161BV}}&lt;br /&gt;
{{gallery_end}}&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T60}}===&lt;br /&gt;
Found by Marco Kraus for use in [http://www.kraus.tk/projects/IBMDoK/ IBMDok].&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU 0&lt;br /&gt;
 0x79        2                    HDD&lt;br /&gt;
 0x7A        3                    HDD&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    Battery&lt;br /&gt;
 0x7D        6                    n/a&lt;br /&gt;
 0x7E        7                    Battery&lt;br /&gt;
 0x7F        8                    n/a&lt;br /&gt;
 0xC0        9                    ?&lt;br /&gt;
 0xC1        10                   ?&lt;br /&gt;
 0xC2        11                   ?&lt;br /&gt;
&lt;br /&gt;
The CPU thermal sensors seem to be exposed in both {{path|/proc/acpi/thermal_zone/THM0/temperature}} and {{path|/proc/acpi/thermal_zone/THM1/temperature}}, though the latter curiously seems to exist only in this file and nowhere in {{path|/proc/acpi/ibm/ecdump}}.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T61}}===&lt;br /&gt;
Found By Daniel Castro. There are two sensors for the battery but I'm not sure of the difference or exact location of them. There are still 3 sensors that I couldn't figure out. If anyone can help please update it.&lt;br /&gt;
&lt;br /&gt;
 Index in &amp;quot;thermal&amp;quot;   Location&lt;br /&gt;
 1                    CPU&lt;br /&gt;
 2                    MiniPCI&lt;br /&gt;
 3                    HDD&lt;br /&gt;
 4                    n/a (-128)&lt;br /&gt;
 5                    Battery 1&lt;br /&gt;
 6                    n/a (-128)&lt;br /&gt;
 7                    Battery 2&lt;br /&gt;
 8                    n/a (-128)&lt;br /&gt;
 9                    ?&lt;br /&gt;
 10                   ?&lt;br /&gt;
 11                   ?&lt;br /&gt;
 12                   n/a (-128)&lt;br /&gt;
 13                   n/a (-128)&lt;br /&gt;
 14                   n/a (-128)&lt;br /&gt;
 15                   n/a (-128)&lt;br /&gt;
 16                   n/a (-128)&lt;br /&gt;
&lt;br /&gt;
The reading for Battery 1 is always 50C, even right after turning the computer on, and it never seems to change, so I monitor the other one.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lunatico|Lunatico]] 23:44, 10 August 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{X31}}===&lt;br /&gt;
I figured these out by myself ([[User:BDKMPSS|BDKMPSS]]), as there are just a few available, this wasn't a huge problem. I verified my presumptions with a contactless thermometer.&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    n/a&lt;br /&gt;
 0x7A        3                    GPU?&lt;br /&gt;
 0x7B        4                    near or the ICH4M Southbrige, on the back of the Motherboard&lt;br /&gt;
 0x7C        5                    Battery&lt;br /&gt;
 0x7D        6                    Extended-Life-Battery; may also UltraBay battery&lt;br /&gt;
 0x7E        7                    Battery&lt;br /&gt;
 0x7F        8                    Extended-Life-Battery; may also UltraBay battery&lt;br /&gt;
 0xC0        none                 n/a&lt;br /&gt;
 0xC1        none                 n/a&lt;br /&gt;
 0xC2        none                 n/a&lt;br /&gt;
&lt;br /&gt;
0x7A &amp;quot;GPU?&amp;quot; is pretty hot and seems like the GPU, but as the Chipset and the GPU are cooled with the same heatsink it is difficult to separate them without roasting the machine. However the left and GPU side of the heatsink is much closer to the shown value than the right Chipset side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T400}}===&lt;br /&gt;
Experimenting with a hair dryer, fgl_glxgears, grep and tools like that I ([[User:Dummyaccount|Dummyaccount]]) came to the following conclusions for the sensor-index mapping. More comments are provided at [http://www.cosy.sbg.ac.at/~shuber/misc-t400.php#temp_sensors].&lt;br /&gt;
&lt;br /&gt;
 Index in &amp;quot;thermal&amp;quot;   Location&lt;br /&gt;
 1                    CPU neighbourhood (also via ACPI THM0)&lt;br /&gt;
 2                    Ultrabay&lt;br /&gt;
 3                    Express card&lt;br /&gt;
 4                    ATI graphics module&lt;br /&gt;
 5                    Main battery (always around 50°C)&lt;br /&gt;
 6                    n/a (probably ultrabay battery)&lt;br /&gt;
 7                    Main Battery (fits about the value reported by smapi)&lt;br /&gt;
 8                    n/a (probably ultrabay battery)&lt;br /&gt;
 9                    Hard disc&lt;br /&gt;
 10                   Intel graphics module&lt;br /&gt;
 11                   Heatsink?&lt;br /&gt;
 12                   n/a&lt;br /&gt;
 13                   n/a&lt;br /&gt;
 14                   n/a&lt;br /&gt;
 15                   n/a&lt;br /&gt;
 16                   n/a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T400s}}===&lt;br /&gt;
&lt;br /&gt;
 Index in &amp;quot;thermal&amp;quot;   Location&lt;br /&gt;
 1                    CPU neighbourhood (same as ACPI THM0)&lt;br /&gt;
 2                    ?&lt;br /&gt;
 3                    ?&lt;br /&gt;
 4                    n/a&lt;br /&gt;
 5                    Main battery&lt;br /&gt;
 6                    Ultrabay battery&lt;br /&gt;
 7                    Main Battery&lt;br /&gt;
 8                    Ultrabay battery&lt;br /&gt;
 9                    ?&lt;br /&gt;
 10                   n/a&lt;br /&gt;
 11                   ?&lt;br /&gt;
 12                   n/a&lt;br /&gt;
 13                   n/a&lt;br /&gt;
 14                   n/a&lt;br /&gt;
 15                   n/a&lt;br /&gt;
 16                   n/a&lt;br /&gt;
&lt;br /&gt;
None of the these matches ACPI THM1, which (judging by the dramatic response to CPU load) is probably the CPU's on-die thermal sensor.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T500}}===&lt;br /&gt;
According to [http://forum.thinkpads.com/viewtopic.php?f=45&amp;amp;t=75032], the sensors in the T500 &amp;quot;may be identical to those reported for the [[#ThinkPad T61|T61]]&amp;quot;, with the possibility that #11 may be the CPU heatsink. &amp;quot;It is very closely correlated to cpu load but shows a lot more inertia than sensor 1 which changes almost instantaneously with cpu load.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I ([[User:Nandhp]]) experimented with running glxgears, this produces a spike in #9, which does not occur under regular CPU load. #5 and #7 both belong to the main battery, for they disappear when it is removed. [http://www.kernel.org/doc/Documentation/laptops/thinkpad-acpi.txt] suggests #6 and #8 should be for the UltraBay battery. It also implies that #4 should be for the GPU, however, my model (which has an integrated GPU) does not have a #4 sensor. --[[User:Nandhp|Nandhp]] 19:27, 17 June 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
 Index in &amp;quot;thermal&amp;quot;   Location&lt;br /&gt;
 1                    CPU (also via ACPI THM0)&lt;br /&gt;
 2                    ? (very similar to HDD smart temp)&lt;br /&gt;
 3                    ? (also via ACPI THM1)&lt;br /&gt;
 4                    n/a&lt;br /&gt;
 5                    Main Battery A&lt;br /&gt;
 6                    n/a (probably Second Battery A)&lt;br /&gt;
 7                    Main Battery B&lt;br /&gt;
 8                    n/a (probably Second Battery B)&lt;br /&gt;
 9                    ? (possibly (integrated) GPU)&lt;br /&gt;
 10                   ?&lt;br /&gt;
 11                   ? (possibly heatsink)&lt;br /&gt;
 12                   n/a&lt;br /&gt;
 13                   n/a&lt;br /&gt;
 14                   n/a&lt;br /&gt;
 15                   n/a&lt;br /&gt;
 16                   n/a&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:T400s&amp;diff=43912</id>
		<title>Category:T400s</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:T400s&amp;diff=43912"/>
		<updated>2009-08-13T04:03:08Z</updated>

		<summary type="html">&lt;p&gt;Thinker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad T400s ===&lt;br /&gt;
This page gives an overview of all ThinkPad T400s related topics.&lt;br /&gt;
&lt;br /&gt;
Page under construction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Standard Features ====&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-72867 Lenovo Product overview page]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reviews ===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Linux Installation ===&lt;br /&gt;
* Fedora 11 installs and runs smoothly, including wireless network.&lt;br /&gt;
* The [[How to hotswap Ultrabay devices]] eject script works, but this model does not have an eject lever.&lt;br /&gt;
&lt;br /&gt;
[[Category:T Series]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=43911</id>
		<title>How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=43911"/>
		<updated>2009-08-13T03:53:25Z</updated>

		<summary type="html">&lt;p&gt;Thinker: Works for ahci too!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following discusses hotswap (AKA &amp;quot;hotplug&amp;quot;) of devices in the [[Ultrabay]].&lt;br /&gt;
&lt;br /&gt;
This page has a lot of old information.  Some cleanup might be useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Which driver?==&lt;br /&gt;
This may be confusing, so first a quick history lesson.&lt;br /&gt;
&lt;br /&gt;
Older ThinkPads (up to the R51, T42p and X40) were fully IDE (PATA) for both the internal HDD and Ultrabay. For these there are two drivers, the modern libata based {{path|ata_piix}} and the old legacy {{path|piix}}/{{path|ide-disk}} combo. Most modern distributions will default to the {{path|ata_piix}} driver, which is really what you want anyway.&lt;br /&gt;
&lt;br /&gt;
ThinkPads like the R52, T43, T43p, X41 and X41 Tablet are strange hybrids. They have a Serial-ATA (SATA) chipset for the internal disk controller, but the actual disk is still legacy IDE, using a separate SATA-PATA bridge chip. The Ultrabay, though, is still connected to the legacy IDE host controller. This results in a setup where the internal disk is handled by a SATA driver and the Ultrabay is handled by either {{path|ata_piix}} or {{path|piix}}/{{path|ide-disk}}.&lt;br /&gt;
&lt;br /&gt;
ThinkPads like the R60, T60 and Z60 series are also hybrids, but they use a native SATA HDD internal. Ultrabay still uses legacy IDE (PATA) though. So just like with the previous models you end up with two separate drivers for the internal HDD and the Ultrabay.&lt;br /&gt;
&lt;br /&gt;
The latest generation ThinkPads like the R400, R500, T400, T500, W500, W700, X200, and X301 are all fully SATA for both the internal HDD and the Ultrabay device, so both are handled by the same SATA driver.&lt;br /&gt;
{{Todo|Figure out in which category the X60 series ThinkPads truly belong. Some of these machines might have been shipped with a 1.8&amp;quot; HDD which is likely to be PATA, in fact the HMM even states so. But tabook and ltwbook only lists SATA models, so the 1.8&amp;quot; model might never have shipped. But even if it did there will be a SATA-PATA bridge chip, so from the OS it will look like SATA.}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Overview of disk interface types&lt;br /&gt;
! Thinkpad !! internal HDD !! Ultrabay !! Modern Driver !! Old Driver&lt;br /&gt;
|-&lt;br /&gt;
| {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}, {{A30}}, {{A30p}}, {{A31}}, {{A31p}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} || Legacy 2.5&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}}, {{R61}} || 2.5&amp;quot; SATA || Legacy IDE (PATA)  || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}}, {{R500}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}}, {{T43p}} || Legacy 2.5&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}}, {{T60p}}, {{T61}}, {{T61p}} || 2.5&amp;quot; SATA || Legacy IDE (PATA)  || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}}, {{T500}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} || Legacy 1.8&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}}, {{X41t}} || Legacy 1.8&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}}, {{X60s}}, {{x60t}}, {{x61}}, {{x61s}}, {{x61t}} || 2.5&amp;quot; HDD is SATA, 1.8&amp;quot; HDD is PATA with SATA conversion || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} ||2.5&amp;quot; SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}}, {{X200 Tablet}}, {{X301}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{W500}}, {{W700}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}}, {{Z60t}}, {{Z61e}}, {{Z61m}}, {{Z61p}}, {{Z61t}} || 2.5&amp;quot; SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Debian users: at least up the the kernel released with Lenny, Debian applies a patch in the Debian kernel sources which prevents the use of &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; with PATA devices (like the IDE bus for the Ultrabay). You will have to either use an upstream kernel or (re)patch the Debian kernel sources. &lt;br /&gt;
You may want to have a look at the following Debian bug reports as well: [http://bugs.debian.org/444182 #444182], [http://bugs.debian.org/463833 #463833].}}&lt;br /&gt;
&lt;br /&gt;
==Modern systems (using the &amp;lt;tt&amp;gt;ahci&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; drivers)==&lt;br /&gt;
The following applies when using the &amp;lt;tt&amp;gt;ahci&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver (which supercedes the old &amp;lt;tt&amp;gt;ide_disk&amp;lt;/tt&amp;gt; driver).&lt;br /&gt;
&lt;br /&gt;
You should at least be using a distribution with kernel 2.6.23. If you have a distribution with an older kernel, please update your distribution, as in addition to a newer kernel, you will need some of the newer userland tools.&lt;br /&gt;
&lt;br /&gt;
===Using libata-acpi and udev===&lt;br /&gt;
&lt;br /&gt;
Starting from kernel 2.6.26-rc5, it's possible to use &amp;lt;tt&amp;gt;libata-acpi&amp;lt;/tt&amp;gt; in combination with udev to hotswap. Please check if CONFIG_ATA_ACPI is enabled in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
For 2.6.25, you need two patches which can be easily backported ([http://article.gmane.org/gmane.linux.acpi.devel/31159],[http://article.gmane.org/gmane.linux.acpi.devel/31369]).&lt;br /&gt;
&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/50-thinkpad-ultrabay.rules}} with the following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;scsi&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then ensure it has the right permissions&lt;br /&gt;
 chown root:root /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
 chmod 644 /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
For Red Hat/Fedora and other systems with selinux, you also need to set the security context:&lt;br /&gt;
 chcon system_u:object_r:etc_runtime_t:s0 /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
&lt;br /&gt;
Now create the below ultrabay-eject script&lt;br /&gt;
&lt;br /&gt;
===Script for Ultrabay eject===&lt;br /&gt;
&lt;br /&gt;
The following script does the following:&lt;br /&gt;
* Automatically unmounts the relevant filesystems and power off the Ultrabay when the Ultrabay eject lever is released. Screams if some filesystem can't be unmounted.&lt;br /&gt;
&lt;br /&gt;
Create a executable file {{path|/usr/local/sbin/ultrabay_eject}} with the following content. Note the need to manually change DEVPATH at the top of the script.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Change the following to match your system.&lt;br /&gt;
# To find the right value, insert the UltraBay optical drive and run:&lt;br /&gt;
# udevadm info --query=path --name=/dev/sr0 | perl -pe 's!/block/...$!!'&lt;br /&gt;
DEVPATH=/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0&lt;br /&gt;
&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
export DISPLAY=:0.0 # required for notify-send&lt;br /&gt;
ULTRABAY_SYSDIR=/sys$DEVPATH&lt;br /&gt;
&lt;br /&gt;
# Find generic dock interface for UltraBay&lt;br /&gt;
dock=$( /bin/grep -l ata_bay /sys/devices/platform/dock.?/type )&lt;br /&gt;
dock=${dock%%/type}&lt;br /&gt;
if [ -n &amp;quot;$dock&amp;quot; -a -d &amp;quot;$dock&amp;quot; ]; then&lt;br /&gt;
        logger ultrabay_eject starting eject of $dock&lt;br /&gt;
else&lt;br /&gt;
        logger ultrabay_eject cannot locate bay dock device&lt;br /&gt;
        notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Cannot locate bay dock device&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
        for $major_minor (@ARGV) {&lt;br /&gt;
                $major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
                push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
        }&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
                next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
                next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
                system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
                if ($bad == 1) {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;ERROR unmounting&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u critical -t 100000 \&amp;quot;Error unmounting $dir\&amp;quot; \&amp;quot;Unmounting of $dir on $dev failed!\&amp;quot;&amp;quot;);&lt;br /&gt;
                } else {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;unmounted&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u normal -t 5000 \&amp;quot;Unmounted $dir\&amp;quot;&amp;quot;);&lt;br /&gt;
                };&lt;br /&gt;
        }&lt;br /&gt;
        exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get the UltraBay's /dev/foo block device node&lt;br /&gt;
ultrabay_dev_node() {&lt;br /&gt;
        UDEV_PATH=&amp;quot;`readlink -e &amp;quot;$ULTRABAY_SYSDIR/block/&amp;quot;*`&amp;quot; || return 1&lt;br /&gt;
        UDEV_NAME=&amp;quot;`udevadm info --query=name --path=$UDEV_PATH`&amp;quot; || return 1&lt;br /&gt;
        echo /dev/$UDEV_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ $( cat $dock/docked ) == 1 ]; then&lt;br /&gt;
        logger ultrabay_eject dock reports empty&lt;br /&gt;
else &lt;br /&gt;
	if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
		logger ultrabay_eject dock occupied, shutting down storage device $DEVPATH&lt;br /&gt;
		sync&lt;br /&gt;
		# Unmount filesystems backed by this device&lt;br /&gt;
		## This seems to be very inelegant and prone to failure&lt;br /&gt;
		unmount_rdev `cat $ULTRABAY_SYSDIR/block/*/dev     \&lt;br /&gt;
				  $ULTRABAY_SYSDIR/block/*/*/dev`  \&lt;br /&gt;
		|| {&lt;br /&gt;
			logger ultrabay_eject umounting failed&lt;br /&gt;
			echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
			notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Please do not pull the device, doing so could cause file corruption and possibly hang the system. Unmounting of the filesystem on the ThinkPad Ultrabay device failed. Please put the eject leaver back in place, and try to unmount the filesystem manually. If this succeeds you can try the eject again&amp;quot;&lt;br /&gt;
			exit 1;&lt;br /&gt;
		}&lt;br /&gt;
		sync&lt;br /&gt;
		# Nicely power off the device&lt;br /&gt;
		DEVNODE=`ultrabay_dev_node` &amp;amp;&amp;amp; hdparm -Y $DEVNODE&lt;br /&gt;
		# Let HAL+KDE notice the unmount and let the disk spin down&lt;br /&gt;
		sleep 0.5&lt;br /&gt;
		# Unregister this SCSI device:&lt;br /&gt;
		sync&lt;br /&gt;
		echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
	else&lt;br /&gt;
		logger ultrabay_eject bay occupied but incorrect device path $DEVPATH&lt;br /&gt;
		notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Bay occupied but incorrect device path&amp;quot;&lt;br /&gt;
		echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# We need sleep here so someone can disconnect the bay and the drive&lt;br /&gt;
sleep 1&lt;br /&gt;
&lt;br /&gt;
# Turn off power to the UltraBay&lt;br /&gt;
logger ultrabay_eject undocking $dock&lt;br /&gt;
echo 1 &amp;gt; $dock/undock&lt;br /&gt;
&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
logger ultrabay_eject done&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
notify-send -u normal -t 10000 &amp;quot;Safe to remove device&amp;quot; &amp;quot;The ThinkPad Ultrabay device can now safely be removed&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then make sure ownership and permissions are set correct&lt;br /&gt;
 chown root:root /usr/local/sbin/ultrabay_eject&lt;br /&gt;
 chmod 555 /usr/local/sbin/ultrabay_eject&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver is built in the kernel, it will catch bay events and you will see the&lt;br /&gt;
following message in your system log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
thinkpad_acpi: another device driver is already handling bay events&lt;br /&gt;
thinkpad_acpi: disabling subdriver bay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You should load &amp;lt;tt&amp;gt;thinkpad_acpi&amp;lt;/tt&amp;gt; before &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; if you want it to handle bay events.&lt;br /&gt;
&lt;br /&gt;
===Script for Ultrabay insert===&lt;br /&gt;
{{WARN|Only needed for kernels prior to 2.6.26}}&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_insert}} with the following content:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
 sync&lt;br /&gt;
 echo 0 0 0 &amp;gt; /sys/class/scsi_host/host1/scan&lt;br /&gt;
&lt;br /&gt;
and set the right permissions&lt;br /&gt;
 chown root:root /usr/local/sbin/ultrabay_insert&lt;br /&gt;
 chmod 555 /usr/local/sbin/ultrabay_insert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Using the generic bay driver and udev===&lt;br /&gt;
{{WARN|If you have kernel 2.6.26 or newer, please use the above [[#Using libata-acpi and udev]] method instead}}&lt;br /&gt;
Starting from kernel 2.6.23-rc3, it's possible to use the generic &amp;lt;tt&amp;gt;bay&amp;lt;/tt&amp;gt; driver in combination with udev to hotswap. Please check if CONFIG_ACPI_BAY is enabled (module or built-in) in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/ibm-ultrabay.rules}}:&lt;br /&gt;
 ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
 ENV{BAY_EVENT}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_insert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Starting with kernel 2.6.28, the &amp;lt;tt&amp;gt;bay&amp;lt;/tt&amp;gt; driver was removed from the mainline kernel. The &amp;lt;tt&amp;gt;dock&amp;lt;/tt&amp;gt; driver replaced it completely. Make sure CONFIG_ACPI_DOCK is enabled in the kernel, and use the following udev rules:&lt;br /&gt;
&lt;br /&gt;
 ENV{EVENT}==&amp;quot;undock&amp;quot;, KERNEL==&amp;quot;dock.2&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
 ENV{EVENT}==&amp;quot;dock&amp;quot;, KERNEL==&amp;quot;dock.2&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_insert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
However, the ultra_eject script needs to be changed, otherwise udev goes into an infinite event loop. It will send undock events every few seconds forever. That means as soon as the ultrabay is plugged in again, it will be immediately ejected. For kernels 2.6.28 and higher, the bay cannot be powered off using this method, so change the end of the script to read:&lt;br /&gt;
 # Turn off power to the UltraBay:&lt;br /&gt;
 if [ -d /sys/devices/platform/bay.0 ]; then&lt;br /&gt;
 	echo 1 &amp;gt; /sys/devices/platform/bay.0/eject&lt;br /&gt;
 elif [ -e /proc/acpi/ibm/bay ]; then&lt;br /&gt;
 	echo eject &amp;gt; /proc/acpi/ibm/bay&lt;br /&gt;
 fi&lt;br /&gt;
 # Tell the user we're OK&lt;br /&gt;
 echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
&lt;br /&gt;
Alternatively, instead of modifying the script, use the libata-acpi method below.&lt;br /&gt;
This was tested on a T61p running Gentoo with tuxonice 2.6.28-r8 without any issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
{{HELP| If the script below does not work, please provide your lshal output on the [[Talk:How_to_hotswap_Ultrabay_devices]] page}}&lt;br /&gt;
{{NOTE| If your HAL version is older then 0.5.11, you need to replace &amp;quot;info.parent&amp;quot; with &amp;quot;storage.physical_device&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
HAL support is only needed for proper notification to your desktop applications, such as Gnome and KDE. You will still require the udev script to handle the proper removal.&lt;br /&gt;
&lt;br /&gt;
To tell HAL that devices connected to the UltraBay port are hotpluggable, you need to create a file {{path|/etc/hal/fdi/information/10-thinkpad-ultrabay.fdi}} with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
HAL config file to set ThinkPad Ultrabay eject capability flag.&lt;br /&gt;
Note that ThinkPad model matching is done on a partial match, so T40 will also match T40p, which is what we want.&lt;br /&gt;
&lt;br /&gt;
If your ThinkPad model is not listed, please check with lspci what PCI ID your disk controller is&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; prefix=&amp;quot;ThinkPad&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.vendor&amp;quot; string=&amp;quot;IBM&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p, T20, T21, T22, X20 and X21 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;A20;A21;A22;T20;T21;T22;X20;X21&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad T23, T30, X22, X23, X24 and X30 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T23;T30;X22;X23;X24;X30&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad A30, A30p, A31 and A31p - 2 Ultrabay devices--&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;A30;A31&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_scsi_device_lun0_0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad R50, R51, T40, T40p, T41, T41p, X31, X32 and X40 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R50;R51;T40;T41;T42;X31;X32;X40&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad R52, T43, T43p, X41, Z60m and Z60p --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R52;T43;X41;Z60&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.vendor&amp;quot; string=&amp;quot;LENOVO&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad T60, T60p, Z61m, Z61t and Z61p --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T60;Z61&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_27df_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R60 and X60 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R60;X60&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_27c4_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R61, T61, T61p and X300 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R61;T61;X300&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2850_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R400, R500, T400, T500, W500, W700, X200 and X301 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R400;R500;T400;T500;W500;W700;X200;X301&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2929_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then ensure it has the right permissions&lt;br /&gt;
&lt;br /&gt;
 chown root:root /etc/hal/fdi/information/10-thinkpad-ultrabay.fdi&lt;br /&gt;
 chmod 644 /etc/hal/fdi/information/10-thinkpad-ultrabay.fdi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the effect, look at your lshal output, the section for your optical disk (/dev/sr0 typically) or your 2nd hdd (/dev/sdb typically) should have storage.hotpluggable = true after restarting your hal deamon or rebooting.&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies if you use the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver for the UltraBay device.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note that essentially, you shouldn't be using this driver, and use ata_piix instead unless you're running an older kernel where ata_piix won't work for you&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hotswapping is supposed to be supported as well, using either hdparm/[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] or [[lt_hotswap]] to (un)register IDE devices. The latter is the recommended method with kernels from 2.6, since it will leave DMA working. However, for recent models (R52, T43, X41, Z60 and later) no method is known to work while maintaining DMA support; see [[Problems with SATA and Linux]].&lt;br /&gt;
&lt;br /&gt;
Only IDE devices (HDD's, optical drives, zip drives) require special treatment - batteries, floppies and other devices can just be pulled from the bay, provided they are not mounted or in use at the time. However, you should still power them down first using the [[thinkpad-acpi]] eject function.&lt;br /&gt;
&lt;br /&gt;
The [[thinkpad-acpi]] kernel module has an eject function ({{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}). This only manages the ACPI calls to power down the device and the bay. It does not actually unregister the device from the IDE driver. {{cmdroot|cat /proc/acpi/ibm/bay}} shows &amp;quot;unoccupied&amp;quot; unless an IDE device is present, but the eject function still works and should still be used.&lt;br /&gt;
&lt;br /&gt;
To unregister the device, you can either use the [http://packages.debian.org/unstable/admin/hotswap Debian hotswap] package, or [[lt_hotswap]]. Note that lt_hotswap doesn't seem to even build on recent (at 2.6.22 or newer, although it probably broke before 2.6.22) and on newer kernels, you should not build/load the old IDE PIIX (CONFIG_BLK_DEV_PIIX) and use the natively hotswapping ata_piix (CONFIG_ATA_PIIX) as explained on the top of this page.&lt;br /&gt;
&lt;br /&gt;
[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] also allows the drive to be swapped as a normal user by default, which is useful. You should use &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; to unregister the device and then {{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}. However, if you use this method on a 2.6 kernel, you will lose DMA support for the reinserted drive. This is due to kernel issues. This method was reported to work on a ThinkPad {{T23}} (kernels 2.6.8.1, 2.6.14.2 and 2.6.15-arch) and {{T42}} (kernel 2.6.13), but fails on a ThinkPad {{T43}} (kernel 2.6.14.3).&lt;br /&gt;
&lt;br /&gt;
[[lt_hotswap]] is now the recommended method to un- and reregister the IDE device. It installs as a kernel module and has support for automatically unregistering (if loaded with the auto_eject=1 option) the device when the eject event is generated by [[thinkpad-acpi]]. It will leave DMA support intact. It has supported to work on a ThinkPad {{T22}} and {{T40}} and should work with many other models (but not recent models which require the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver for disk DMA support). With the [[lt_hotswap]] kernel module loaded, run: {{cmdroot|modprobe -r ide_cd &amp;amp;&amp;amp; modprobe -r cdrom &amp;amp;&amp;amp; echo &amp;quot;MSTR eject&amp;quot; &amp;gt; /proc/acpi/lths}}&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
HAL support also can also be configured To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;ide&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_ide_1_0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more details see HAL section for ata driver.&lt;br /&gt;
&lt;br /&gt;
==Password protected HDD==&lt;br /&gt;
&lt;br /&gt;
If you are hot-swapping a hard disk on a Ultrabay HDD tray, and the HDD has a password set, you will have to enter the password before it can be used. In theory you should be able to do so with hdparm as follows for a Master password:&lt;br /&gt;
 hdparm --security-unlock PASSWD /dev/sdb&lt;br /&gt;
Or if it is a user password&lt;br /&gt;
 hdparm --security-unlock PASSWD --user-master u /dev/sdb&lt;br /&gt;
&lt;br /&gt;
However on my system with Fedora 11 the above returns &amp;quot;SECURITY_UNLOCK: Input/output error&amp;quot;&lt;br /&gt;
&lt;br /&gt;
As such the only available option is to reboot and let the BIOS unlock the HDD.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:HOWTOs]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=43910</id>
		<title>How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=43910"/>
		<updated>2009-08-13T03:49:54Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Script for Ultrabay eject */ Handle empty bays (and batteries). Show how to set DEVPATH.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following discusses hotswap (AKA &amp;quot;hotplug&amp;quot;) of devices in the [[Ultrabay]].&lt;br /&gt;
&lt;br /&gt;
This page has a lot of old information.  Some cleanup might be useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Which driver?==&lt;br /&gt;
This may be confusing, so first a quick history lesson.&lt;br /&gt;
&lt;br /&gt;
Older ThinkPads (up to the R51, T42p and X40) were fully IDE (PATA) for both the internal HDD and Ultrabay. For these there are two drivers, the modern libata based {{path|ata_piix}} and the old legacy {{path|piix}}/{{path|ide-disk}} combo. Most modern distributions will default to the {{path|ata_piix}} driver, which is really what you want anyway.&lt;br /&gt;
&lt;br /&gt;
ThinkPads like the R52, T43, T43p, X41 and X41 Tablet are strange hybrids. They have a Serial-ATA (SATA) chipset for the internal disk controller, but the actual disk is still legacy IDE, using a separate SATA-PATA bridge chip. The Ultrabay, though, is still connected to the legacy IDE host controller. This results in a setup where the internal disk is handled by a SATA driver and the Ultrabay is handled by either {{path|ata_piix}} or {{path|piix}}/{{path|ide-disk}}.&lt;br /&gt;
&lt;br /&gt;
ThinkPads like the R60, T60 and Z60 series are also hybrids, but they use a native SATA HDD internal. Ultrabay still uses legacy IDE (PATA) though. So just like with the previous models you end up with two separate drivers for the internal HDD and the Ultrabay.&lt;br /&gt;
&lt;br /&gt;
The latest generation ThinkPads like the R400, R500, T400, T500, W500, W700, X200, and X301 are all fully SATA for both the internal HDD and the Ultrabay device, so both are handled by the same SATA driver.&lt;br /&gt;
{{Todo|Figure out in which category the X60 series ThinkPads truly belong. Some of these machines might have been shipped with a 1.8&amp;quot; HDD which is likely to be PATA, in fact the HMM even states so. But tabook and ltwbook only lists SATA models, so the 1.8&amp;quot; model might never have shipped. But even if it did there will be a SATA-PATA bridge chip, so from the OS it will look like SATA.}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Overview of disk interface types&lt;br /&gt;
! Thinkpad !! internal HDD !! Ultrabay !! Modern Driver !! Old Driver&lt;br /&gt;
|-&lt;br /&gt;
| {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}, {{A30}}, {{A30p}}, {{A31}}, {{A31p}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} || Legacy 2.5&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}}, {{R61}} || 2.5&amp;quot; SATA || Legacy IDE (PATA)  || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}}, {{R500}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}}, {{T43p}} || Legacy 2.5&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}}, {{T60p}}, {{T61}}, {{T61p}} || 2.5&amp;quot; SATA || Legacy IDE (PATA)  || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}}, {{T500}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} || Legacy 1.8&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}}, {{X41t}} || Legacy 1.8&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}}, {{X60s}}, {{x60t}}, {{x61}}, {{x61s}}, {{x61t}} || 2.5&amp;quot; HDD is SATA, 1.8&amp;quot; HDD is PATA with SATA conversion || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} ||2.5&amp;quot; SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}}, {{X200 Tablet}}, {{X301}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{W500}}, {{W700}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}}, {{Z60t}}, {{Z61e}}, {{Z61m}}, {{Z61p}}, {{Z61t}} || 2.5&amp;quot; SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Debian users: at least up the the kernel released with Lenny, Debian applies a patch in the Debian kernel sources which prevents the use of &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; with PATA devices (like the IDE bus for the Ultrabay). You will have to either use an upstream kernel or (re)patch the Debian kernel sources. &lt;br /&gt;
You may want to have a look at the following Debian bug reports as well: [http://bugs.debian.org/444182 #444182], [http://bugs.debian.org/463833 #463833].}}&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies when using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver, which is really the driver you should be using if your Ultrabay is legacy IDE (PATA).&lt;br /&gt;
&lt;br /&gt;
You should at least be using a distribution with kernel 2.6.23. If you have a distribution with an older kernel, please update your distribution, as in addition to a newer kernel, you will need some of the newer userland tools.&lt;br /&gt;
&lt;br /&gt;
===Using libata-acpi and udev===&lt;br /&gt;
&lt;br /&gt;
Starting from kernel 2.6.26-rc5, it's possible to use &amp;lt;tt&amp;gt;libata-acpi&amp;lt;/tt&amp;gt; in combination with udev to hotswap. Please check if CONFIG_ATA_ACPI is enabled in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
For 2.6.25, you need two patches which can be easily backported ([http://article.gmane.org/gmane.linux.acpi.devel/31159],[http://article.gmane.org/gmane.linux.acpi.devel/31369]).&lt;br /&gt;
&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/50-thinkpad-ultrabay.rules}} with the following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;scsi&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then ensure it has the right permissions&lt;br /&gt;
 chown root:root /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
 chmod 644 /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
For Red Hat/Fedora and other systems with selinux, you also need to set the security context:&lt;br /&gt;
 chcon system_u:object_r:etc_runtime_t:s0 /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
&lt;br /&gt;
Now create the below ultrabay-eject script&lt;br /&gt;
&lt;br /&gt;
===Script for Ultrabay eject===&lt;br /&gt;
&lt;br /&gt;
The following script does the following:&lt;br /&gt;
* Automatically unmounts the relevant filesystems and power off the Ultrabay when the Ultrabay eject lever is released. Screams if some filesystem can't be unmounted.&lt;br /&gt;
&lt;br /&gt;
Create a executable file {{path|/usr/local/sbin/ultrabay_eject}} with the following content. Note the need to manually change DEVPATH at the top of the script.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Change the following to match your system.&lt;br /&gt;
# To find the right value, insert the UltraBay optical drive and run:&lt;br /&gt;
# udevadm info --query=path --name=/dev/sr0 | perl -pe 's!/block/...$!!'&lt;br /&gt;
DEVPATH=/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0&lt;br /&gt;
&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
export DISPLAY=:0.0 # required for notify-send&lt;br /&gt;
ULTRABAY_SYSDIR=/sys$DEVPATH&lt;br /&gt;
&lt;br /&gt;
# Find generic dock interface for UltraBay&lt;br /&gt;
dock=$( /bin/grep -l ata_bay /sys/devices/platform/dock.?/type )&lt;br /&gt;
dock=${dock%%/type}&lt;br /&gt;
if [ -n &amp;quot;$dock&amp;quot; -a -d &amp;quot;$dock&amp;quot; ]; then&lt;br /&gt;
        logger ultrabay_eject starting eject of $dock&lt;br /&gt;
else&lt;br /&gt;
        logger ultrabay_eject cannot locate bay dock device&lt;br /&gt;
        notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Cannot locate bay dock device&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
        for $major_minor (@ARGV) {&lt;br /&gt;
                $major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
                push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
        }&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
                next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
                next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
                system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
                if ($bad == 1) {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;ERROR unmounting&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u critical -t 100000 \&amp;quot;Error unmounting $dir\&amp;quot; \&amp;quot;Unmounting of $dir on $dev failed!\&amp;quot;&amp;quot;);&lt;br /&gt;
                } else {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;unmounted&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u normal -t 5000 \&amp;quot;Unmounted $dir\&amp;quot;&amp;quot;);&lt;br /&gt;
                };&lt;br /&gt;
        }&lt;br /&gt;
        exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get the UltraBay's /dev/foo block device node&lt;br /&gt;
ultrabay_dev_node() {&lt;br /&gt;
        UDEV_PATH=&amp;quot;`readlink -e &amp;quot;$ULTRABAY_SYSDIR/block/&amp;quot;*`&amp;quot; || return 1&lt;br /&gt;
        UDEV_NAME=&amp;quot;`udevadm info --query=name --path=$UDEV_PATH`&amp;quot; || return 1&lt;br /&gt;
        echo /dev/$UDEV_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ $( cat $dock/docked ) == 1 ]; then&lt;br /&gt;
        logger ultrabay_eject dock reports empty&lt;br /&gt;
else &lt;br /&gt;
	if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
		logger ultrabay_eject dock occupied, shutting down storage device $DEVPATH&lt;br /&gt;
		sync&lt;br /&gt;
		# Unmount filesystems backed by this device&lt;br /&gt;
		## This seems to be very inelegant and prone to failure&lt;br /&gt;
		unmount_rdev `cat $ULTRABAY_SYSDIR/block/*/dev     \&lt;br /&gt;
				  $ULTRABAY_SYSDIR/block/*/*/dev`  \&lt;br /&gt;
		|| {&lt;br /&gt;
			logger ultrabay_eject umounting failed&lt;br /&gt;
			echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
			notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Please do not pull the device, doing so could cause file corruption and possibly hang the system. Unmounting of the filesystem on the ThinkPad Ultrabay device failed. Please put the eject leaver back in place, and try to unmount the filesystem manually. If this succeeds you can try the eject again&amp;quot;&lt;br /&gt;
			exit 1;&lt;br /&gt;
		}&lt;br /&gt;
		sync&lt;br /&gt;
		# Nicely power off the device&lt;br /&gt;
		DEVNODE=`ultrabay_dev_node` &amp;amp;&amp;amp; hdparm -Y $DEVNODE&lt;br /&gt;
		# Let HAL+KDE notice the unmount and let the disk spin down&lt;br /&gt;
		sleep 0.5&lt;br /&gt;
		# Unregister this SCSI device:&lt;br /&gt;
		sync&lt;br /&gt;
		echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
	else&lt;br /&gt;
		logger ultrabay_eject bay occupied but incorrect device path $DEVPATH&lt;br /&gt;
		notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Bay occupied but incorrect device path&amp;quot;&lt;br /&gt;
		echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# We need sleep here so someone can disconnect the bay and the drive&lt;br /&gt;
sleep 1&lt;br /&gt;
&lt;br /&gt;
# Turn off power to the UltraBay&lt;br /&gt;
logger ultrabay_eject undocking $dock&lt;br /&gt;
echo 1 &amp;gt; $dock/undock&lt;br /&gt;
&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
logger ultrabay_eject done&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
notify-send -u normal -t 10000 &amp;quot;Safe to remove device&amp;quot; &amp;quot;The ThinkPad Ultrabay device can now safely be removed&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then make sure ownership and permissions are set correct&lt;br /&gt;
 chown root:root /usr/local/sbin/ultrabay_eject&lt;br /&gt;
 chmod 555 /usr/local/sbin/ultrabay_eject&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver is built in the kernel, it will catch bay events and you will see the&lt;br /&gt;
following message in your system log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
thinkpad_acpi: another device driver is already handling bay events&lt;br /&gt;
thinkpad_acpi: disabling subdriver bay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You should load &amp;lt;tt&amp;gt;thinkpad_acpi&amp;lt;/tt&amp;gt; before &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; if you want it to handle bay events.&lt;br /&gt;
&lt;br /&gt;
===Script for Ultrabay insert===&lt;br /&gt;
{{WARN|Only needed for kernels prior to 2.6.26}}&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_insert}} with the following content:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
 sync&lt;br /&gt;
 echo 0 0 0 &amp;gt; /sys/class/scsi_host/host1/scan&lt;br /&gt;
&lt;br /&gt;
and set the right permissions&lt;br /&gt;
 chown root:root /usr/local/sbin/ultrabay_insert&lt;br /&gt;
 chmod 555 /usr/local/sbin/ultrabay_insert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Using the generic bay driver and udev===&lt;br /&gt;
{{WARN|If you have kernel 2.6.26 or newer, please use the above [[#Using libata-acpi and udev]] method instead}}&lt;br /&gt;
Starting from kernel 2.6.23-rc3, it's possible to use the generic &amp;lt;tt&amp;gt;bay&amp;lt;/tt&amp;gt; driver in combination with udev to hotswap. Please check if CONFIG_ACPI_BAY is enabled (module or built-in) in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/ibm-ultrabay.rules}}:&lt;br /&gt;
 ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
 ENV{BAY_EVENT}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_insert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Starting with kernel 2.6.28, the &amp;lt;tt&amp;gt;bay&amp;lt;/tt&amp;gt; driver was removed from the mainline kernel. The &amp;lt;tt&amp;gt;dock&amp;lt;/tt&amp;gt; driver replaced it completely. Make sure CONFIG_ACPI_DOCK is enabled in the kernel, and use the following udev rules:&lt;br /&gt;
&lt;br /&gt;
 ENV{EVENT}==&amp;quot;undock&amp;quot;, KERNEL==&amp;quot;dock.2&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
 ENV{EVENT}==&amp;quot;dock&amp;quot;, KERNEL==&amp;quot;dock.2&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_insert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
However, the ultra_eject script needs to be changed, otherwise udev goes into an infinite event loop. It will send undock events every few seconds forever. That means as soon as the ultrabay is plugged in again, it will be immediately ejected. For kernels 2.6.28 and higher, the bay cannot be powered off using this method, so change the end of the script to read:&lt;br /&gt;
 # Turn off power to the UltraBay:&lt;br /&gt;
 if [ -d /sys/devices/platform/bay.0 ]; then&lt;br /&gt;
 	echo 1 &amp;gt; /sys/devices/platform/bay.0/eject&lt;br /&gt;
 elif [ -e /proc/acpi/ibm/bay ]; then&lt;br /&gt;
 	echo eject &amp;gt; /proc/acpi/ibm/bay&lt;br /&gt;
 fi&lt;br /&gt;
 # Tell the user we're OK&lt;br /&gt;
 echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
&lt;br /&gt;
Alternatively, instead of modifying the script, use the libata-acpi method below.&lt;br /&gt;
This was tested on a T61p running Gentoo with tuxonice 2.6.28-r8 without any issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
{{HELP| If the script below does not work, please provide your lshal output on the [[Talk:How_to_hotswap_Ultrabay_devices]] page}}&lt;br /&gt;
{{NOTE| If your HAL version is older then 0.5.11, you need to replace &amp;quot;info.parent&amp;quot; with &amp;quot;storage.physical_device&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
HAL support is only needed for proper notification to your desktop applications, such as Gnome and KDE. You will still require the udev script to handle the proper removal.&lt;br /&gt;
&lt;br /&gt;
To tell HAL that devices connected to the UltraBay port are hotpluggable, you need to create a file {{path|/etc/hal/fdi/information/10-thinkpad-ultrabay.fdi}} with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
HAL config file to set ThinkPad Ultrabay eject capability flag.&lt;br /&gt;
Note that ThinkPad model matching is done on a partial match, so T40 will also match T40p, which is what we want.&lt;br /&gt;
&lt;br /&gt;
If your ThinkPad model is not listed, please check with lspci what PCI ID your disk controller is&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; prefix=&amp;quot;ThinkPad&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.vendor&amp;quot; string=&amp;quot;IBM&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p, T20, T21, T22, X20 and X21 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;A20;A21;A22;T20;T21;T22;X20;X21&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad T23, T30, X22, X23, X24 and X30 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T23;T30;X22;X23;X24;X30&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad A30, A30p, A31 and A31p - 2 Ultrabay devices--&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;A30;A31&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_scsi_device_lun0_0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad R50, R51, T40, T40p, T41, T41p, X31, X32 and X40 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R50;R51;T40;T41;T42;X31;X32;X40&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad R52, T43, T43p, X41, Z60m and Z60p --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R52;T43;X41;Z60&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.vendor&amp;quot; string=&amp;quot;LENOVO&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad T60, T60p, Z61m, Z61t and Z61p --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T60;Z61&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_27df_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R60 and X60 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R60;X60&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_27c4_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R61, T61, T61p and X300 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R61;T61;X300&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2850_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R400, R500, T400, T500, W500, W700, X200 and X301 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R400;R500;T400;T500;W500;W700;X200;X301&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2929_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then ensure it has the right permissions&lt;br /&gt;
&lt;br /&gt;
 chown root:root /etc/hal/fdi/information/10-thinkpad-ultrabay.fdi&lt;br /&gt;
 chmod 644 /etc/hal/fdi/information/10-thinkpad-ultrabay.fdi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the effect, look at your lshal output, the section for your optical disk (/dev/sr0 typically) or your 2nd hdd (/dev/sdb typically) should have storage.hotpluggable = true after restarting your hal deamon or rebooting.&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies if you use the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver for the UltraBay device.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note that essentially, you shouldn't be using this driver, and use ata_piix instead unless you're running an older kernel where ata_piix won't work for you&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hotswapping is supposed to be supported as well, using either hdparm/[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] or [[lt_hotswap]] to (un)register IDE devices. The latter is the recommended method with kernels from 2.6, since it will leave DMA working. However, for recent models (R52, T43, X41, Z60 and later) no method is known to work while maintaining DMA support; see [[Problems with SATA and Linux]].&lt;br /&gt;
&lt;br /&gt;
Only IDE devices (HDD's, optical drives, zip drives) require special treatment - batteries, floppies and other devices can just be pulled from the bay, provided they are not mounted or in use at the time. However, you should still power them down first using the [[thinkpad-acpi]] eject function.&lt;br /&gt;
&lt;br /&gt;
The [[thinkpad-acpi]] kernel module has an eject function ({{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}). This only manages the ACPI calls to power down the device and the bay. It does not actually unregister the device from the IDE driver. {{cmdroot|cat /proc/acpi/ibm/bay}} shows &amp;quot;unoccupied&amp;quot; unless an IDE device is present, but the eject function still works and should still be used.&lt;br /&gt;
&lt;br /&gt;
To unregister the device, you can either use the [http://packages.debian.org/unstable/admin/hotswap Debian hotswap] package, or [[lt_hotswap]]. Note that lt_hotswap doesn't seem to even build on recent (at 2.6.22 or newer, although it probably broke before 2.6.22) and on newer kernels, you should not build/load the old IDE PIIX (CONFIG_BLK_DEV_PIIX) and use the natively hotswapping ata_piix (CONFIG_ATA_PIIX) as explained on the top of this page.&lt;br /&gt;
&lt;br /&gt;
[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] also allows the drive to be swapped as a normal user by default, which is useful. You should use &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; to unregister the device and then {{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}. However, if you use this method on a 2.6 kernel, you will lose DMA support for the reinserted drive. This is due to kernel issues. This method was reported to work on a ThinkPad {{T23}} (kernels 2.6.8.1, 2.6.14.2 and 2.6.15-arch) and {{T42}} (kernel 2.6.13), but fails on a ThinkPad {{T43}} (kernel 2.6.14.3).&lt;br /&gt;
&lt;br /&gt;
[[lt_hotswap]] is now the recommended method to un- and reregister the IDE device. It installs as a kernel module and has support for automatically unregistering (if loaded with the auto_eject=1 option) the device when the eject event is generated by [[thinkpad-acpi]]. It will leave DMA support intact. It has supported to work on a ThinkPad {{T22}} and {{T40}} and should work with many other models (but not recent models which require the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver for disk DMA support). With the [[lt_hotswap]] kernel module loaded, run: {{cmdroot|modprobe -r ide_cd &amp;amp;&amp;amp; modprobe -r cdrom &amp;amp;&amp;amp; echo &amp;quot;MSTR eject&amp;quot; &amp;gt; /proc/acpi/lths}}&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
HAL support also can also be configured To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;ide&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_ide_1_0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more details see HAL section for ata driver.&lt;br /&gt;
&lt;br /&gt;
==Password protected HDD==&lt;br /&gt;
&lt;br /&gt;
If you are hot-swapping a hard disk on a Ultrabay HDD tray, and the HDD has a password set, you will have to enter the password before it can be used. In theory you should be able to do so with hdparm as follows for a Master password:&lt;br /&gt;
 hdparm --security-unlock PASSWD /dev/sdb&lt;br /&gt;
Or if it is a user password&lt;br /&gt;
 hdparm --security-unlock PASSWD --user-master u /dev/sdb&lt;br /&gt;
&lt;br /&gt;
However on my system with Fedora 11 the above returns &amp;quot;SECURITY_UNLOCK: Input/output error&amp;quot;&lt;br /&gt;
&lt;br /&gt;
As such the only available option is to reboot and let the BIOS unlock the HDD.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:HOWTOs]]&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43826</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=43826"/>
		<updated>2009-08-07T04:17:02Z</updated>

		<summary type="html">&lt;p&gt;Thinker: /* Project Homepage / Availability */ Download page direct link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module exposes some features of the ThinkPad hardware/firmware via a &amp;lt;tt&amp;gt;sysfs&amp;lt;/tt&amp;gt; interface. Currently, the main implemented functionality is control of battery charging and extended battery status. The tp_smapi software package also includes an improved version of the [[HDAPS]] driver. The underlying hardware interfaces are [[SMAPI support for Linux|SMAPI]] and direct access to the embedded controller.&lt;br /&gt;
&lt;br /&gt;
This driver uses undocumented features and direct hardware access, so it may work unreliably or even damage your hardware; but so far no such damage has been reported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; driver&lt;br /&gt;
**Battery charge/discharge control&lt;br /&gt;
**Battery status information&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver (compared with the standard &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver)&lt;br /&gt;
**Improved stability&lt;br /&gt;
**Improved model support&lt;br /&gt;
**Improved functionality&lt;br /&gt;
&lt;br /&gt;
===Project Homepage / Availability===&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* Download page: http://sourceforge.net/projects/tpctl/files/tp_smapi&lt;br /&gt;
* You need to download only the &amp;lt;i&amp;gt;tp_smapi&amp;lt;/i&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Installation from source====&lt;br /&gt;
You will need the kernel headers and makefiles corresponding to your current kernel version. On {{Fedora}}, this means {{cmdroot|yum install kernel-devel-$(uname -r)}} .&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|tar xzvf tp_smapi-0.40.tgz}}&lt;br /&gt;
:{{cmdroot|cd tp_smapi-0.40}}&lt;br /&gt;
&lt;br /&gt;
Then, either compile and load the driver within the current working directory (for testing):&lt;br /&gt;
:{{cmdroot|make load}}&lt;br /&gt;
OR compile and install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, add &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; to also patch the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; for compatibility with &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (this requires a kernel source tree matching the current kernel).&lt;br /&gt;
Again, either load the driver within the current working directory:&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
OR install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
To prepare a stand-alone patch against the current kernel tree (including&lt;br /&gt;
a patch against &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; and new &amp;lt;tt&amp;gt;Kconfig&amp;lt;/tt&amp;gt; entries):&lt;br /&gt;
:{{cmdroot|make patch}}&lt;br /&gt;
&lt;br /&gt;
To delete all autogenerated files:&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
&lt;br /&gt;
The original kernel tree is never modified by any these commands. &lt;br /&gt;
The {{path|/lib/modules}} directory is modified only by {{cmdroot|make install}}.&lt;br /&gt;
&lt;br /&gt;
====Installation in Gentoo====&lt;br /&gt;
The {{Gentoo}} portage system carries a [http://packages.gentoo.org/package/app-laptop/tp_smapi tp_smapi package], which follows the latest version pretty closely. On a Gentoo system, you can install and load as follows.&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, do this first:&lt;br /&gt;
&lt;br /&gt;
* Disable the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module in your kernel configuration (Device Drivers &amp;amp;rarr; Hardware Monitoring Support &amp;amp;rarr; IBM Hard Drive Active Protection System)&lt;br /&gt;
* Rebuild and install the kernel&lt;br /&gt;
* Add the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; use flag in {{path|/etc/make.conf}}&lt;br /&gt;
* {{cmdroot|rmmod hdaps}}&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
* {{cmdroot|emerge tp_smapi}} (or install tp_smapi with hdaps support manually, as above)&lt;br /&gt;
* {{cmdroot|echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
* {{cmdroot|echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
&lt;br /&gt;
Then reboot, or run:&lt;br /&gt;
* {{cmdroot|modprobe tp_smapi}}&lt;br /&gt;
* {{cmdroot|modprobe hdaps}}&lt;br /&gt;
&lt;br /&gt;
====Installation on Debian unstable (sid), testing (squeeze) or stable (lenny)====&lt;br /&gt;
Debian now contains the [http://packages.debian.org/tp-smapi packaged module source] and prebuilt modules for Debian kernels.&lt;br /&gt;
&lt;br /&gt;
If you use a stock Debian kernel, you can install the tp_smapi modules with:&lt;br /&gt;
* {{cmdroot|apt-get install tp-smapi-modules-`uname -r`}}&lt;br /&gt;
* in order to make sure the modules package is kept in sync with the kernel one, you may also want to install the &amp;lt;code&amp;gt;tm-smapi-modules-2.6-686&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;tm-smapi-modules-2.6-amd64&amp;lt;/code&amp;gt; package, depending on your architecture &lt;br /&gt;
&lt;br /&gt;
If you use a custom kernel, you can build tp_smapi with module-assistant:&lt;br /&gt;
* {{cmdroot|aptitude install tp-smapi-source}}&lt;br /&gt;
* {{cmdroot|m-a -t a-i tp-smapi}}&lt;br /&gt;
&lt;br /&gt;
====Installation on openSUSE====&lt;br /&gt;
openSUSE provides rpm packages. Look for them at the package search: [http://software.opensuse.org/search/], search for the package named &amp;quot;tp_smapi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A step-by-step guide on how a relative linux newbie installed tp_smapi on a Thinkpad W500 running openSuse 11.1 using YAST Software Manager is available [http://forums.opensuse.org/hardware/laptop/417254-tp_smapi-lenovo-thinkpad-t400-t500-w500-step-step.html#post2005932 here]&lt;br /&gt;
&lt;br /&gt;
In case you are taking the hard way around, while compiling on 11.0, make complained about not being able to locate the kernel sources. It worked for me after I did this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp /usr/include/linux/aio_abi.h /lib/modules/`uname -r`/build/include/linux/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Installation on Ubuntu====&lt;br /&gt;
Ubuntu ships tp_smapi in their &amp;lt;tt&amp;gt;linux-ubuntu-modules-*&amp;lt;/tt&amp;gt; package for Hardy, so you don't have to build it yourself. Please note that they have renamed tp_smapi's modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; module to &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; so that the two can coexist. You should load &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt;, not &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Intrepid and Jaunty, however, lack the &amp;lt;tt&amp;gt;hdaps_ec&amp;lt;/tt&amp;gt; module, as reported [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/297213 here]. It will not be included again until said [[#Bundled hdaps driver|bundled hdaps driver]] is merged into mainline.&lt;br /&gt;
&lt;br /&gt;
=====Installation on Ubuntu Jaunty=====&lt;br /&gt;
I have posted my experiences [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html here]&lt;br /&gt;
&lt;br /&gt;
====Installation on older Ubuntu/Debian====&lt;br /&gt;
Installation on Ubuntu or Debian is quite easy, but there are a few things to look after:&lt;br /&gt;
&lt;br /&gt;
To get your system ready for compiling code, install the build-essentials (as root, of course, as all of the following comands; Ubuntu users have to prepend 'sudo' to every line and enter their own password when prompted):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install build-essential&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi to work, obtain the latest source as mentioned above and unpack it. If you want to use HDAPS, you need to install the kernel source matching te kernel you are running. To do so, issue this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;uname -r&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give you the version of your current kernel. &lt;br /&gt;
Debian users execute the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ubuntu users execute the following using the kernel-version only (exclude -XX-generic; e.g. 'linux-source-2.6.20'):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be sure to unpack the source file. The easiest way is to open Nautilus as root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;sudo nautilus&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then browse to /usr/src/ and extract the source file to that directory.&lt;br /&gt;
&lt;br /&gt;
Now change to the tp_smapi dir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd tp_smapi-X.YY&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (X.YY being the version-number of [[tp_smapi]])&lt;br /&gt;
and make and install tp_smapi as instructed above.&lt;br /&gt;
&lt;br /&gt;
If you get an error that the kernel version isn't matching (or that you need to set KSRC/KBUILD), please check that there is a symlink from the modules dir to the kernel source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ls -l /lib/modules/2.6.20-16-generic&lt;br /&gt;
lrwxrwxrwx  1 root root     28 2007-02-02 08:39 build -&amp;gt; /usr/src/linux-source-2.6.20&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create the link if the line above is not existent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ln -s /usr/src/linux-source-2.6.20 /lib/modules/2.6.20-16-generic/build&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the following will build and install the correct modules to their locations:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;make install HDAPS=1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make sure your system loads the modules at boot time, do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and update your initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi running now, just load the modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;modprobe -a tp_smapi hdaps&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This description was tested on Kubuntu 'Feisty Fawn' and should work on all Debian-based distros with minor tweaks.&lt;br /&gt;
&lt;br /&gt;
'''EDIT:''' Works on Kubuntu 7.10 (&amp;quot;Gutsy Gibbon&amp;quot;), too&lt;br /&gt;
&lt;br /&gt;
===Battery charge control features===&lt;br /&gt;
To set the thresholds for starting and stopping battery charging (in percent of current full charge capacity):&lt;br /&gt;
:{{cmdroot|echo 40 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh}}&lt;br /&gt;
:{{cmdroot|echo 70 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/*_charge_thresh}}&lt;br /&gt;
{{HINT|Battery charging thresholds can be used to keep Li-Ion ad Li-Polymer batteries partially charged, in order to [[Maintenance#Battery_treatment|increase their lifetime]].}}&lt;br /&gt;
To prevent charging for 17 minutes (regardless of thresholds):&lt;br /&gt;
:{{cmdroot|echo 17 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
{{HINT|Charge inhibiting can be used to reduce the power draw of the laptop, in order to use an under-spec power supply that can't handle the combined power draw of running and charging. It can also be used to control which battery is charged when [[How to use UltraBay batteries|using an Ultrabay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel charging preventation:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
&lt;br /&gt;
To force battery discharging (even if connected to AC):&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
{{HINT|This can be used to choose which battery is discharged when [[How to use UltraBay batteries|using an UltraBay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel forced discharge:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
&lt;br /&gt;
===Battery status features===&lt;br /&gt;
To view extended battery status such as charging state, voltage, current, capacity, cycle count and model information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/installed&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/cycle_count&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_percent&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacturer&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/model&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/barcoding&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/chemistry&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/serial&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacture_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/first_use_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius&lt;br /&gt;
# cat /sys/devices/platform/smapi/ac_connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The raw status data is also available, including some fields not listed above (in case you can figure them out):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/dump}}&lt;br /&gt;
&lt;br /&gt;
In all of the above, replace &amp;lt;tt&amp;gt;BAT0&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; to address the 2nd battery.&lt;br /&gt;
&lt;br /&gt;
Note that the battery status readout conflicts with the stock [[HDAPS|hdaps]] driver, so if you use &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; you will need to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; using {{cmdroot|1=make load HDAPS=1}} (see [[#Bundled hdaps driver|Bundled hdaps driver]] below).&lt;br /&gt;
&lt;br /&gt;
On [[ACPI]]-enabled systems, most of above information is also available through the files under {{path|/proc/acpi/battery}}. However, the ACPI interface does not include the instantaneous power and cycle count readouts, and does not work well when [[How to use UltraBay batteries|hotswapping UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
====Scripts====&lt;br /&gt;
Some scripts can make it easier to grep the information you need from tp_smapi&lt;br /&gt;
* [[battery.rb]]&lt;br /&gt;
&lt;br /&gt;
===Other features===&lt;br /&gt;
&lt;br /&gt;
There is also [[sysfs]] attribute for making direct SMAPI requests to the SM BIOS firmware. Don't touch it unless you really know what you're doing. Example:&lt;br /&gt;
 # echo '211a 100 0 0' &amp;gt; /sys/devices/platform/smapi/smapi_request; cat /sys/devices/platform/smapi/smapi_request&lt;br /&gt;
 211a 34b b2 0 0 0 'OK'&lt;br /&gt;
The &amp;quot;4b&amp;quot; in the 2nd value, converted to decimal, is 75: the current charging stop threshold (stop_charge_thresh).&lt;br /&gt;
&lt;br /&gt;
===Bundled &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver===&lt;br /&gt;
&lt;br /&gt;
The tp_smapi package includes a modified version of the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; Linux kernel driver used by the [[HDAPS]] system. It has remained outside the mainline kernel for a few years for several reasons, [https://lists.ubuntu.com/archives/kernel-team/2009-April/005565.html] including the upstream maintainer's assertion that the new code's anonymous author was under a NDA. (Although this would not normally expose the kernel team to litigation.) [http://lkml.org/lkml/2008/9/15/126] [http://lkml.org/lkml/2008/10/7/403] [http://lkml.org/lkml/2008/10/7/428]&lt;br /&gt;
&lt;br /&gt;
To use &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; concurrently, you '''must''' use the modified version.&lt;br /&gt;
&lt;br /&gt;
To build the modified version, simply append the &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; parameter to the &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; command (see [[#Installation|Installation]] above):&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
If you don't do that, you will not be able to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (and its support module &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;) when &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; is loaded, and vice versa. You can use &amp;lt;tt&amp;gt;rmmod&amp;lt;/tt&amp;gt; to switch between these modules.&lt;br /&gt;
&lt;br /&gt;
Note that some of the battery status is also visible through ACPI ({{path|/proc/acpi/battery/*}}), independently of &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; has several changes:&lt;br /&gt;
* The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver in mainline kernels conflicts with the extended battery status (they use the same IO ports). The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; coordinates this access through the bundled &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; driver.&lt;br /&gt;
* The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver fixes reliability and improves support for recent ThinkPad models (*60 and newer), since unlike the mainline driver, it correctly follows the Embedded Controller communication protocol.&lt;br /&gt;
* Several other improvements, such as the ability to control the polling rate.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
The &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: cannot claim io ports 0x1600-0x161f!&amp;lt;/tt&amp;gt;&amp;quot; error message is printed when loading the &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; module on some recent ThinkPad models.  This occurs because the ACPI BIOS DSDT is reserving ports used by tp_smapi.&lt;br /&gt;
&lt;br /&gt;
As a workaround, add the &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; module parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; in {{path|/etc/modprobe.conf}} (or your distribution's equivalent). For transient testing, load the modules as follows:&lt;br /&gt;
&lt;br /&gt;
: {{cmdroot|1=make load HDAPS=1 FORCE_IO=1}}&lt;br /&gt;
&lt;br /&gt;
Note: force_io option was added in tp_smapi v0.40 (released 2008-12-16).&lt;br /&gt;
&lt;br /&gt;
Models which need this option include:&lt;br /&gt;
* ThinkPad {{T400}}&lt;br /&gt;
* ThinkPad {{T500}}&lt;br /&gt;
* ThinkPad {{X301}}&lt;br /&gt;
&lt;br /&gt;
More information:&lt;br /&gt;
* http://bugzilla.kernel.org/show_bug.cgi?id=12221&lt;br /&gt;
* http://www.nabble.com/thinkpad_ec-fails-to-load-on-Thinkpad-T500-td19932985.html&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt; ====&lt;br /&gt;
If you get &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt;&amp;quot; when trying to load the module on a supported model listed below, you should [[BIOS_Upgrade|upgrade your BIOS]]. Some early BIOS (like 1.x on the X31) don't handle the embedded controller.&lt;br /&gt;
&lt;br /&gt;
===Model-specific status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; feature support matrix&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | &lt;br /&gt;
=====A series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}} 2629-USG&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====G series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====R series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || No SMAPI BIOS&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-JAG&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-5US&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 18*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 || 3.22 || || Machine types 1829, 1830, 1831 and 1836&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 28*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      || 1.29 || || Machine types 2883, 2887, 2888, 2889, 2894 and 2495&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.29 || 1.06 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cno|text=}} 1 || 0.33 || || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.35-test1 || 7KETA7WW 2.07 || 7KHT24WW 1.08 || Machine type 8918&lt;br /&gt;
|-&lt;br /&gt;
! {{R61i}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} ||{{Cunk}}  || {{Cunk}}  ||    ||   ||   || Machine type 8250&lt;br /&gt;
|-&lt;br /&gt;
! {{R400}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1 || 0.40-1   ||   ||   || Machine type 7443&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====T series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 3.23 || 3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}} 2373-AM9&lt;br /&gt;
| {{Cno}} || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.20 || v3.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KXU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.21 || || Stop charge threshold works in Windows, but dmesg says &amp;quot;__get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KUU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}} 2686&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.27 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes|text=}} 0 ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.34 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-24G&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.36 || 1.09a || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 2007-FSG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.39 || 1.10 || 1.05b ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}} 1951-CZ1&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.40 || 2.23 || 1.07 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60p}} 8743-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T61p}} 6457-7XG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T400}} &lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes|text=}}  1 || 0.40 || 1.19 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! {{T500}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  1 || 0.40 || 2.07 || || Requires &amp;lt;tt&amp;gt;force_io=1&amp;lt;/tt&amp;gt; parameter to &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====X series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}} 2662-31G&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || N/A || N/A ||      ||  || || no EC controller found&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}} || {{Cyes}} || N/A || N/A || 0.34  || 1.09 || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 || 2.08 || 1.62 || &lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41_Tablet}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}}   || {{Cno|text=}} (see ref) || 0.32  || || [http://sourceforge.net/mailarchive/message.php?msg_name=4757BD30.8080808%40ugcs.caltech.edu ref] ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 ||      || 2.07 || 1.10 || 2.6.20 issue (see discussion)&lt;br /&gt;
|-&lt;br /&gt;
! {{X60_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.34  || 7JET25WW (1.10 )  || 7JHT13WW 1.04 || [http://luke.no-ip.org/x60tablet/ ref] [http://rad.bioinfo.ulaval.ca/hardware/x60tablet ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{X60s}} 1704-5UG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cno|text=}} 3 || 0.34 || 7BETD2WW 2.13 || 7BHT40WW 1.13 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7673-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || 0.37 || 7NETB9WW (2.19) || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-CTO&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cno|text=}} 6 || 0.35-test1       ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61}} 7675-4KU&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.34 || 7NET30WW (1.11 ) || 7MHT24WW-1.02 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.32  ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61s}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 3 || 0.32 ||  || || [http://www.slackwiki.org/ThinkPad_X61s ref] says 3 but conflicting report received&lt;br /&gt;
|-&lt;br /&gt;
! {{X200}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.40 || 6DET40WW (2.04 ) || 7XHT22WW-1.04 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X300}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.37 || 7TET25WW (1.02 ) || 7THT15WW-1.00c ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====Z series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || || [https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/45014 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====SL series and IdeaPad=====&lt;br /&gt;
|-&lt;br /&gt;
! colspan=12 style=&amp;quot;text-align:left&amp;quot; |&lt;br /&gt;
The ThinkPad SL series and IdeaPad series have firmware that is completely different from other ThinkPad models. Neither [[tp_smapi]] nor [[thinkpad-acpi]] support these models.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SMAPI capabilities may depend on the BIOS version as well, so upgrading to the latest version of the BIOS might provide more SMAPI functions (especially true for long-lived BIOS with lots of releases, like the TP-1R).&lt;br /&gt;
&lt;br /&gt;
Please update the above and report your experience on the [[Talk:tp_smapi|discussion]] page. If the module loads but gives a &amp;quot;&amp;lt;tt&amp;gt;not supported&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;not implementeded&amp;lt;/tt&amp;gt;&amp;quot; error when you try to use some specific file in {{path|/sys/devices/platform/smapi/}}, please report the &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output and whether the corresponding functionality is available under Windows - maybe your ThinkPad just can't do that. &lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to add your laptop to the [[list of DMI IDs]].&lt;br /&gt;
&lt;br /&gt;
=====HDAPS axis orientation=====&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; The HDAPS axis orientation is set using the &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; module parameter (at load time) or sysfs attribute (at runtime). The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver of tp_smapi supports all 8 possible sensor orientations (inversion and swapping). You can use [[HDAPS#Visualisation_of_ThinkPad_orientation|hdaps visualisation]] to check if the settings is correct.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; parameter is an integer between 0 and 7, whose meaning is defined below. (This is confusing. Most people will find it easier to just try all 8 possibilities.)&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; denote the hardware readouts. Let &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; denote the laptop's roll (tilt left/right), and let &amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt; denote the laptop's pitch (tilt forward/backward). The possible values are as follows:&lt;br /&gt;
    invert=0:   R= X  P= Y   (same as mainline)&lt;br /&gt;
    invert=1:   R=-X  P=-Y   (same as mainline)&lt;br /&gt;
    invert=2:   R=-X  P= Y   (new)&lt;br /&gt;
    invert=3:   R= X  P=-Y   (new)&lt;br /&gt;
    invert=4:   R= Y  P= X   (new)&lt;br /&gt;
    invert=5:   R=-Y  P=-X   (new)&lt;br /&gt;
    invert=6:   R=-Y  P= X   (new)&lt;br /&gt;
    invert=7:   R= Y  P=-X   (new)&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]] [[Category:Patches]]&lt;br /&gt;
&lt;br /&gt;
===Tools using this driver===&lt;br /&gt;
&lt;br /&gt;
The driver's interface can be accessed directly through the files under {{path|/sys/devices/platform/smapi}}, or via the following tools:&lt;br /&gt;
* [[KThinkBat]] - display battery status on the KDE &amp;lt;tt&amp;gt;kicker&amp;lt;/tt&amp;gt; panel.&lt;br /&gt;
* [[gkrellm-ThinkBat]] - battery status plugin for Gkrellm2&lt;br /&gt;
* {{CodeRef|thinkpad-smapi.sh}} - script to display various SMAPI information using tp_smapi module.&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;/div&gt;</summary>
		<author><name>Thinker</name></author>
		
	</entry>
</feed>