<?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=Matt</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=Matt"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Matt"/>
	<updated>2026-06-09T23:08:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X230&amp;diff=56033</id>
		<title>Category:X230</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X230&amp;diff=56033"/>
		<updated>2014-11-01T21:12:31Z</updated>

		<summary type="html">&lt;p&gt;Matt: &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 X230 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X230.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
*One of the following [[Ivy Bridge]] processors:&lt;br /&gt;
** Intel Core i7-3520M (2.90 GHz, 4MB L3, 1600MHz FSB) &lt;br /&gt;
** Intel Core i5-3360M (2.80 GHz, 3MB L3, 1600MHz FSB) &lt;br /&gt;
** Intel Core i5-3320M (2.60 GHz, 3MB L3, 1600MHz FSB)&lt;br /&gt;
&lt;br /&gt;
(different options available depending on the country you order from)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD Graphics]] 3000 or 4000&lt;br /&gt;
* Up to 16GB [[PC3-10600]] DDR3 memory at 1600MHz&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; TFT display with 1366x768 resolution with LED backlight&lt;br /&gt;
** 12.5&amp;quot; extra bright wide-viewing IPS TFT display with 1366x768 resolution with LED backlight&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** 500GB (5400rpm) SATA&lt;br /&gt;
** 320GB/500GB (7200rpm) SATA&lt;br /&gt;
** 128GB SSD SATA3&lt;br /&gt;
** Intel® 180GB SSD SATA3&lt;br /&gt;
&lt;br /&gt;
* [[MiniPCI Express slot]] 1 with zero or one of the following:&lt;br /&gt;
** 10/100/1000 Ethernet &lt;br /&gt;
** ThinkPad b/g/n Wireless (1×1 BGN) &lt;br /&gt;
** Intel Centrino Wireless-N 2200 (2×2 BGN) &lt;br /&gt;
** Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] [8086:0085] (rev 34) (2×2 AGN)&lt;br /&gt;
&lt;br /&gt;
* [[MiniPCI Express slot]] 2 with zero or one of the following:&lt;br /&gt;
**Qualcomm® Gobi™ 4k LTE VzW/HSPA&lt;br /&gt;
**Qualcomm® Gobi™ 3K 14.4Mbps/HSPA&lt;br /&gt;
**Ericsson HSPA+ WWAN Minicard (H5321gw)&lt;br /&gt;
&lt;br /&gt;
* [[ExpressCard slot|ExpressCard/54 slot]]&lt;br /&gt;
* [[SD Card slot]]&lt;br /&gt;
* Three USB ports:&lt;br /&gt;
** Two on the left are [[USB 3.0]])&lt;br /&gt;
** One on the right is [[USB 2.0]], powered (BIOS-selectable: on even when system off, on when suspended, off)&lt;br /&gt;
* 720p HD [[Integrated camera]] (04f2:b2eb Chicony Electronics Co., Ltd) or 3x3 Antenna Grid&lt;br /&gt;
* Stereo digital microphones&lt;br /&gt;
* Stereo speakers &lt;br /&gt;
* Combined headphone and microphone jack&lt;br /&gt;
* [[UltraNav]] ([[Trackpoint]] and [[Buttonless Touchpad]])&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (UPEK, model ID 147e:2020, not yet supported [Dec 2012])&lt;br /&gt;
* Comes with 65W AC Adapter&lt;br /&gt;
* Supports [[ThinkPad UltraBase Series 3]], [[ThinkPad Mini Dock Series 3]], etc.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX230.png|ThinkPad X230|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
* [http://shop.lenovo.com/gb/en/laptops/thinkpad/x-series/x230/#tab-tech_specs tech specs on Lenovo site]&lt;br /&gt;
* [http://www.lenovo.com/shop/americas/content/user_guides/X230_ug_en.pdf user guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM014928 Hardware maintenance manual]&lt;br /&gt;
* [http://download.lenovo.com/parts/ThinkPad/x230t_fru_bom_20121010.pdf Complete field replaceable units (FRU) list] - service part numbers useful when performing maintenance/repairs&lt;br /&gt;
* [http://h-node.org/notebooks/view/en/1020/X230-2306CTO H-Node report for X230 2306CTO model] - a report of compatibility testing with Trisquel 6&lt;br /&gt;
&lt;br /&gt;
[[Category:X Series]]&lt;br /&gt;
&lt;br /&gt;
* It's possible to use a [[7mm_hard_drive_bay#mSata_SSD| mSATA SSD within the second MiniPCI Express slot]]:&lt;br /&gt;
** The device will show up at /dev/sdb and can be booted from&lt;br /&gt;
** Keep in mind the Hardware maintenance manual includes this warning: &amp;quot;If the computer is equipped with both a hard disk drive and an mSATA solid-state drive, do not use the mSATA solid-state drive as a bootable device. The mSATA solid-state drive is used for the “cache” function only.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X230&amp;diff=56032</id>
		<title>Installation instructions for the ThinkPad X230</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X230&amp;diff=56032"/>
		<updated>2014-11-01T20:54:24Z</updated>

		<summary type="html">&lt;p&gt;Matt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Installing Trisquel 6 on an X230]]&lt;br /&gt;
* [[Installing Debian on an X230]]&lt;br /&gt;
&lt;br /&gt;
[[Category:X230]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_HD_Graphics&amp;diff=55180</id>
		<title>Intel HD Graphics</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_HD_Graphics&amp;diff=55180"/>
		<updated>2013-12-15T23:35:14Z</updated>

		<summary type="html">&lt;p&gt;Matt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&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;
&lt;br /&gt;
The '''Intel HD Graphics''' (sometimes also called GMA HD) is the Graphics Memory Accelerator (GMA) integrated in the [[Intel Core i3]], [[Intel Core i5]] and selected [[Intel Core i7]] processors. Sandy Bridge architecture processors use HD Graphics 2000 or HD Graphics 3000 model, Ivy Bridge architecture processors use HD Graphics 2500 or HD Graphics 4000.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model || Processor architecture || Release date || PCI ID || Execution units&lt;br /&gt;
|-&lt;br /&gt;
| HD Graphics || Arrandale || 2010 || 8086:0046 || 6&lt;br /&gt;
|-&lt;br /&gt;
| HD Graphics || Sandy Bridge || January 2011 || 8086:0106 || 6&lt;br /&gt;
|-&lt;br /&gt;
| HD Graphics 2000 || Sandy Bridge || January 2011 || 8086:0102 || 6&lt;br /&gt;
|-&lt;br /&gt;
| HD Graphics 3000 || Sandy Bridge || January 2011 || 8086:0116 || 16&lt;br /&gt;
|-&lt;br /&gt;
| HD Graphics 2500 || Ivy Bridge || April 2012 || 8086:016A || 6&lt;br /&gt;
|-&lt;br /&gt;
| HD Graphics 4000 || Ivy Bridge || April 2012 || 8086:0166 || 16&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|While almost all new ThinkPads have integrated '''Intel HD Graphics''', on those ThinkPads with a ''Discrete'' NVIDIA GPU, the Intel GPU is disabled and cannot be enabled. There is no support for ''Switchable Graphics''.}}&lt;br /&gt;
{{NOTE|Contrary to the statement above, you can select the GPU in the BIOS of recent models with Nvidia Optimus, e.g. the T510 4384GEG. Windows seems to be able to switch between the GPUs, too. }}&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;
== Linux support ==&lt;br /&gt;
Kernel module driver supporting this card is '''i915''', Xorg driver is '''xserver-xorg-video-intel'''. Linux distribution with kernel 2.6.33 and Intel Xorg driver 2.11 or newer is recommended.&lt;br /&gt;
&lt;br /&gt;
Note that XVideo (Xv) playback at certain frame sizes does not work properly unless you have at least version 2.12 of the Intel Xorg driver.&lt;br /&gt;
&lt;br /&gt;
Desktop Effects do not work in Ubuntu 10.10 (at least, on an X220).&lt;br /&gt;
&lt;br /&gt;
=== T420s ===&lt;br /&gt;
&lt;br /&gt;
The BIOS for the {{T420s}} (and presumably also the {{T420}}) settings for _Graphics Device_ default to '''NVIDIA Optimus''' and the '''OS Detection for NVIDIA Optimus''' is set to '''Disabled''' which is not a good set of defaults for Linux since Optimus is only supported by Windows 7. To get the NVidia drivers working for Linux I had to set the '''Graphics Device''' to '''Discrete Graphics'''. This was as of 2011-11-26 using '''driver version 290.10'''. Then run '''sudo nvidia-xconfig'''. Both TwinView and Xinerama worked fine.&lt;br /&gt;
&lt;br /&gt;
=== T430 ===&lt;br /&gt;
&lt;br /&gt;
For T430 with Intel HD Graphics 4000 I experienced random screen freezes, that disappeared only after upgrading kernel to version 3.5 and Xorg driver to version 2.19.&lt;br /&gt;
&lt;br /&gt;
I own a T430 (manufacturing date: 13/04; bios version: 2.54) with nvidia optimus.&amp;lt;br /&amp;gt;&lt;br /&gt;
The system freezes randomly with kernel 3.2.45. The problem occurs very frequently in battery mode when watching a video (e.g. youtube) while a huge project (e.g. linux kernel) gets compiled.&amp;lt;br /&amp;gt;&lt;br /&gt;
This issue seems to be solved in kernel 3.9.4.&lt;br /&gt;
&lt;br /&gt;
== Power Saving Kernel Options ==&lt;br /&gt;
&lt;br /&gt;
The following boot options may help considerably with power:&lt;br /&gt;
&lt;br /&gt;
 i915.i915_enable_rc6=1 i915.semaphores=1 pcie_aspm=force&lt;br /&gt;
&lt;br /&gt;
[https://help.ubuntu.com/community/AsusZenbook#PowerOpts Source]&lt;br /&gt;
&lt;br /&gt;
== Models featuring this Technology  ==&lt;br /&gt;
* ThinkPad {{Edge 11&amp;quot;}}, {{Edge 14&amp;quot;}}, {{Edge 15&amp;quot;}}&lt;br /&gt;
* ThinkPad {{L412}}, {{L512}}&lt;br /&gt;
* ThinkPad {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T420s}}, {{T430}}, {{T430s}}, {{T510}}, {{T510i}}&lt;br /&gt;
* ThinkPad {{X201}}, {{X201i}}, {{X201s}}, {{X201 Tablet}}, {{X220}},{{X230}}&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* http://software.intel.com/en-us/articles/quick-reference-guide-to-intel-integrated-graphics/&lt;br /&gt;
* http://intellinuxgraphics.org/&lt;br /&gt;
* http://en.wikipedia.org/wiki/HD_Graphics&lt;br /&gt;
* http://en.wikipedia.org/wiki/Comparison_of_Intel_graphics_processing_units&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Buttonless_Touchpad&amp;diff=55179</id>
		<title>Buttonless Touchpad</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Buttonless_Touchpad&amp;diff=55179"/>
		<updated>2013-12-15T23:31:53Z</updated>

		<summary type="html">&lt;p&gt;Matt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''buttonless touchpad''' first appeared on the {{X220}} and {{X1}} (and possibly some IdeaPads) and is missing buttons below the trackpad. The trackpad can be pushed for a physical click, pivoting from the top. There is only one switch so the middle and right click must be configured by driver software.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
All functionality should work out of the box apart from possibly right click.&lt;br /&gt;
&lt;br /&gt;
Arch Linux has a version of xf86-input-synaptics in the AUR compiled for &amp;quot;clickpads&amp;quot; called [http://aur.archlinux.org/packages.php?ID=38120 xf86-input-synaptics-clickpad]&lt;br /&gt;
&lt;br /&gt;
==Models featuring this Technology==&lt;br /&gt;
&lt;br /&gt;
* {{X220}}, {{X230}}, {{X1}}&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Buttonless_Touchpad&amp;diff=55178</id>
		<title>Buttonless Touchpad</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Buttonless_Touchpad&amp;diff=55178"/>
		<updated>2013-12-15T23:31:37Z</updated>

		<summary type="html">&lt;p&gt;Matt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''buttonless touchpad''' first appeared on the {{X220}} and {{X1}} (and possibly some IdeaPads) and is missing buttons below the trackpad. The trackpad can be pushed for a physical click, pivoting from the top. There is only one switch so the middle and right click must be configured by driver software.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
All functionality should work out of the box apart from possibly right click.&lt;br /&gt;
&lt;br /&gt;
Arch Linux has a version of xf86-input-synaptics in the AUR compiled for &amp;quot;clickpads&amp;quot; called [http://aur.archlinux.org/packages.php?ID=38120 xf86-input-synaptics-clickpad]&lt;br /&gt;
&lt;br /&gt;
==Models featuring this Technology==&lt;br /&gt;
&lt;br /&gt;
* {{X220}}, {{X230}},{{X1}}&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Integrated_Fingerprint_Reader&amp;diff=55177</id>
		<title>Integrated Fingerprint Reader</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Integrated_Fingerprint_Reader&amp;diff=55177"/>
		<updated>2013-12-15T23:28:20Z</updated>

		<summary type="html">&lt;p&gt;Matt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:fingerprintreader.jpg|thumb|IBM Integrated Fingerprint Reader]] &lt;br /&gt;
&lt;br /&gt;
===Integrated Fingerprint Reader===&lt;br /&gt;
IBMs second generation of T42 models (released in Autumn 2004) was the first to feature an integrated fingerprint reader. Various models since then have had this feature, actually implemented with a number of different devices, all of which appear on the USB bus. Some are just scanners, others do the recognition in the device itself. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! USB ID !! Reader !! Software &lt;br /&gt;
|-&lt;br /&gt;
|0483:2016|| [http://reactivated.net/fprint/wiki/Upekts UPEK/Thomson]  || thinkfinger or fprint &lt;br /&gt;
|-&lt;br /&gt;
|147e:1000|| UPEK TCS4C || unsupported ??&lt;br /&gt;
|-&lt;br /&gt;
|147e:1002|| UPEK || unsupported ??&lt;br /&gt;
|-&lt;br /&gt;
|147e:2016|| [http://www.reactivated.net/fprint/wiki/Upeksonly Upeksonly] || [https://bugzilla.redhat.com/show_bug.cgi?id=504399 fprint patches]&lt;br /&gt;
|-&lt;br /&gt;
|147e:2020|| Upek / Authentec || [http://darkblue.homeip.net/fingerprint/Forum/topic.php?TopicId=271&amp;amp;Posts=7 Forum discussion and howto for 32-bit, using non-free drivers] Seems to be supported as of 2013-01-15 (Works for Me (TM)). On Ubuntu, use PPA at https://launchpad.net/~fingerprint&lt;br /&gt;
|-&lt;br /&gt;
|08ff:1600|| [http://reactivated.net/fprint/wiki/Aes1610 Authentec AES1610] || fprint &lt;br /&gt;
|-&lt;br /&gt;
|08ff:2580 || [http://reactivated.net/fprint/wiki/Aes2501 Authentec AES2501] || fprint &lt;br /&gt;
|-&lt;br /&gt;
|08ff:2810 || Authentec 2810 || supported by libfprint v0.5.0 onwards, released December 2012&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Read more about the various models of reader on the [http://reactivated.net/fprint/wiki/Supported_devices libfprint wiki]&lt;br /&gt;
&lt;br /&gt;
Also check the [https://launchpad.net/~fingerprint/+archive/fingerprint-gui Fingerprint-GUI PPA] which has a detailed list of supported devices. Be aware this PPA includes non-free software as indicated in [http://www.n-view.net/Appliance/fingerprint/about.php the About page] of the project.&lt;br /&gt;
&lt;br /&gt;
The UPEK device is supported by thinkfinger. Those devices and Authentec ones are supported by libfprint. &lt;br /&gt;
&lt;br /&gt;
However: The fingerprint reader is an INSECURE device and gives a false sense of security! There has been quite a bit of research by a hacker named Starbug, a member of the Chaos Computer Club, Berlin, Germany. He outlined in two very good talks how to forge each and every available fingerprint sensor available at the cost of a few euros, using materials from your local hardware store, a digicam and a laser printer! Here's some links:&lt;br /&gt;
* [http://www.ccc.de/updates/2007/umsonst-im-supermarkt?language=en  Fingerprint recognition in supermarkets]&lt;br /&gt;
* [ftp://ftp.ccc.de/pub/documentation/Fingerabdruck_Hack/fingerabdruck.mpg?language=en Video tutorial for forging fingerprints]&lt;br /&gt;
Remember, using fingerprints for authentication is much similar to having a password which is written on anything you touch.&lt;br /&gt;
&lt;br /&gt;
== Software support ==&lt;br /&gt;
See [[How to enable the integrated fingerprint reader]].&lt;br /&gt;
&lt;br /&gt;
==Models featuring this Technology==&lt;br /&gt;
'''UPEK Touchstrip (model?) - USB 0483:2016'''&lt;br /&gt;
*ThinkPad {{R52}}, {{R60}}, {{R61i}}&lt;br /&gt;
*ThinkPad {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}&lt;br /&gt;
*ThinkPad {{X41}}, {{X41 Tablet}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X300}}&lt;br /&gt;
*ThinkPad {{Z61t}}, {{Z61p}}, {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
'''UPEK Touchchip TCS4C - USB 147e:1000'''&lt;br /&gt;
*ThinkPad {{SL300}}, {{SL400}}, {{SL500}}&lt;br /&gt;
&lt;br /&gt;
'''UPEK - TouchStrip Fingerprint Sensor - USB 147e:1002'''&lt;br /&gt;
*ThinkPad Edge E425&lt;br /&gt;
&lt;br /&gt;
'''UPEK Touchstrip TCRD4C - USB 147e:2016'''&lt;br /&gt;
*ThinkPad {{R61}}, {{R61i}}&lt;br /&gt;
*ThinkPad {{Edge 14&amp;quot;}}, {{Edge 15&amp;quot;}}&lt;br /&gt;
*ThinkPad {{L412}}, {{L512}}&lt;br /&gt;
*ThinkPad {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T510}}, {{T510i}}&lt;br /&gt;
*ThinkPad {{W510}}, {{W701}}, {{W701ds}}&lt;br /&gt;
*ThinkPad {{X201}}, {{X201i}}, {{X201s}}, {{X201 Tablet}}, {{X220}}, {{X1}}&lt;br /&gt;
&lt;br /&gt;
'''Upek TouchChip Fingerprint Coprocessor - USB 147e:2020'''&lt;br /&gt;
*ThinkPad {{T430}}, {{T430s}}, {{T530}}, {{W530}}, {{X230}}&lt;br /&gt;
&lt;br /&gt;
'''Authentec AES1610 - USB 08ff:1600'''&lt;br /&gt;
*Lenovo V100, V200&lt;br /&gt;
&lt;br /&gt;
'''Authentec AES2501 - USB 08ff:2580'''&lt;br /&gt;
*Lenovo N100, N200&lt;br /&gt;
&lt;br /&gt;
'''Authentec AES2810 - USB 08ff:2810'''&lt;br /&gt;
*ThinkPad {{R400}}, {{R500}}&lt;br /&gt;
*ThinkPad {{T400}}, {{T500}}&lt;br /&gt;
*ThinkPad {{W500}}, {{W700}}, {{W700ds}}&lt;br /&gt;
*ThinkPad {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X301}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.trustedreviews.com/article.aspx?page=1643&amp;amp;head=36 Review from TrustedReviews of the fingerprint scanner]&lt;br /&gt;
* [http://www.upek.com/support/pdf/UPEK_flyer_TCS3_TCD4.pdf TouchStrip TCS3/TCD4 spec sheet]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ericsson_H5321_gw_Mobile_Broadband_Module&amp;diff=53927</id>
		<title>Ericsson H5321 gw Mobile Broadband Module</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ericsson_H5321_gw_Mobile_Broadband_Module&amp;diff=53927"/>
		<updated>2012-10-08T10:39:15Z</updated>

		<summary type="html">&lt;p&gt;Matt: updated image&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;
=== Ericsson H5321 gw Mobile Broadband Module ===&lt;br /&gt;
This is a Ericsson WWAN Adapter that is installed in a Mini-PCI Express slot&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Ericsson H5321 gw&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:0A36319-MBM.jpg|thumb|Ericsson H5321 gw WWAN Adapter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Lenovo Partnumbers ==&lt;br /&gt;
* FRU 0A36319&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Using&lt;br /&gt;
 for n in `ls /sys/class/*/*{ACM,wdm}*/device/interface`;do echo $(echo $n|awk -F '/' '{print $5}') : $(cat $n);done&lt;br /&gt;
the card identifies it's interfaces as&lt;br /&gt;
 ttyACM0 : H5321 gw Mobile Broadband Modem&lt;br /&gt;
 ttyACM1 : H5321 gw Mobile Broadband Data Modem&lt;br /&gt;
 ttyACM2 : H5321 gw Mobile Broadband GPS Port&lt;br /&gt;
 cdc-wdm0 : H5321 gw Mobile Broadband Device Management&lt;br /&gt;
 cdc-wdm1 : H5321 gw Mobile Broadband USIM Port&lt;br /&gt;
&lt;br /&gt;
==Wireless Modem==&lt;br /&gt;
The card works out of the box with the cdc_acm driver using NetworkManager tested on openSUSE 12.2&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
There is an unmaintained project [http://mbm.sourceforge.net/ Mobile Broadband Modules] created by Ericsson. It does not support the H5321 gw, the daemon won't start using modern kernels [https://github.com/mkotsbak/Mbm-gpsd/issues/2] and the GUI won't compile with latest glib.&lt;br /&gt;
&lt;br /&gt;
==ThinkPads this adapter may be found in==&lt;br /&gt;
*{{T430}} {{T430s}} {{T530}}&lt;br /&gt;
*{{L430}} {{L530}}&lt;br /&gt;
*{{X230}} {{X230T}}&lt;br /&gt;
*{{W530}}&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:0A36319-MBM.jpg&amp;diff=53926</id>
		<title>File:0A36319-MBM.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:0A36319-MBM.jpg&amp;diff=53926"/>
		<updated>2012-10-08T10:38:33Z</updated>

		<summary type="html">&lt;p&gt;Matt: Ericsson H5321 gw Mobile Broadband Module FRU 0A36319&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Ericsson H5321 gw Mobile Broadband Module]] FRU 0A36319&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ericsson_H5321_gw_Mobile_Broadband_Module&amp;diff=53925</id>
		<title>Ericsson H5321 gw Mobile Broadband Module</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ericsson_H5321_gw_Mobile_Broadband_Module&amp;diff=53925"/>
		<updated>2012-10-08T10:34:05Z</updated>

		<summary type="html">&lt;p&gt;Matt: stub&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;
=== Ericsson H5321 gw Mobile Broadband Module ===&lt;br /&gt;
This is a Ericsson WWAN Adapter that is installed in a Mini-PCI Express slot&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Ericsson H5321 gw&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:EriccsonWWAN.gif|thumb|Ericsson F3507g WWAN Adapter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Lenovo Partnumbers ==&lt;br /&gt;
* FRU 0A36319&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Using&lt;br /&gt;
 for n in `ls /sys/class/*/*{ACM,wdm}*/device/interface`;do echo $(echo $n|awk -F '/' '{print $5}') : $(cat $n);done&lt;br /&gt;
the card identifies it's interfaces as&lt;br /&gt;
 ttyACM0 : H5321 gw Mobile Broadband Modem&lt;br /&gt;
 ttyACM1 : H5321 gw Mobile Broadband Data Modem&lt;br /&gt;
 ttyACM2 : H5321 gw Mobile Broadband GPS Port&lt;br /&gt;
 cdc-wdm0 : H5321 gw Mobile Broadband Device Management&lt;br /&gt;
 cdc-wdm1 : H5321 gw Mobile Broadband USIM Port&lt;br /&gt;
&lt;br /&gt;
==Wireless Modem==&lt;br /&gt;
The card works out of the box with the cdc_acm driver using NetworkManager tested on openSUSE 12.2&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
There is an unmaintained project [http://mbm.sourceforge.net/ Mobile Broadband Modules] created by Ericsson. It does not support the H5321 gw, the daemon won't start using modern kernels [https://github.com/mkotsbak/Mbm-gpsd/issues/2] and the GUI won't compile with latest glib.&lt;br /&gt;
&lt;br /&gt;
==ThinkPads this adapter may be found in==&lt;br /&gt;
*{{T430}} {{T430s}} {{T530}}&lt;br /&gt;
*{{L430}} {{L530}}&lt;br /&gt;
*{{X230}} {{X230T}}&lt;br /&gt;
*{{W530}}&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Wireless_WAN_Adapters&amp;diff=53924</id>
		<title>Wireless WAN Adapters</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Wireless_WAN_Adapters&amp;diff=53924"/>
		<updated>2012-10-08T10:09:56Z</updated>

		<summary type="html">&lt;p&gt;Matt: +H5321 gw&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 document covers Lenovo integrated (MiniPCI) Wireless WAN (WWAN) devices.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sierra Wireless===&lt;br /&gt;
* [[Sierra Wireless MC5720]] - EV-DO&lt;br /&gt;
* [[Sierra Wireless MC5725]] - EV-DO with GPS&lt;br /&gt;
* [[Sierra Wireless HSDPA WWAN]]&lt;br /&gt;
&lt;br /&gt;
===Ericsson===&lt;br /&gt;
* [[Ericsson F3507g Mobile Broadband Module]] - HSDPA with GPS&lt;br /&gt;
* [[Ericsson H5321 gw Mobile Broadband Module]] - HSDPA with GPS&lt;br /&gt;
&lt;br /&gt;
===Qualcomm===&lt;br /&gt;
* [[Qualcomm Gobi 2000]] - HSDPA &amp;amp; EV-DO with GPS&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=53893</id>
		<title>Known Problems</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=53893"/>
		<updated>2012-08-30T12:30:29Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* Display Problems */ vga-out on x61&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;
Information on known problems with certain ThinkPad models.&lt;br /&gt;
|}&lt;br /&gt;
==Display Problems==&lt;br /&gt;
*[[Problem with unusable console | Console unusable]] &amp;lt;tt&amp;gt;(models with savage video chipset: T2x, A22e)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with Pixel Error | Dead pixels on TFT displays]] &amp;lt;tt&amp;gt;(all models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with DVI throughput | DVI throughput on port replicators and docks]] &amp;lt;tt&amp;gt;(models from 2000-2004)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problems with fglrx | Problems with ATI proprietary fglrx display driver]] &amp;lt;tt&amp;gt;(ATI Radeon models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with garbled screen | Garbled Screen]] &amp;lt;tt&amp;gt;(T40, T41, T42, R32, R40, R50p, R51, A30, A31, A31p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with broken inverter | Inverter broken]] &amp;lt;tt&amp;gt;(all models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with key and trackpoint markings on the display | Key and Trackpoint markings on display]]&lt;br /&gt;
*[https://bugs.freedesktop.org/show_bug.cgi?id=2187 Radeon 7500 &amp;quot;DynamicClocks&amp;quot; randomly hangs] &amp;lt;tt&amp;gt;(TP T4x, Xorg-X11 bug report)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with red display shadow | Red shadow on display]] &amp;lt;tt&amp;gt;(TP T41p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with red tinted display | Red tinted display]] &amp;lt;tt&amp;gt;(TP 23)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with black X | Unmovable square black X in X]] &amp;lt;tt&amp;gt;(TP T2x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with video related system lockup | System Lockups related to video adapter]] &amp;lt;tt&amp;gt;(TP T2x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with video related system lockup II | System Lockups related to video adapter T42]] &amp;lt;tt&amp;gt;(TP T42, T42p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with video blanks after lid close and open | Video blanks after closing and opening lid]] &amp;lt;tt&amp;gt;(X41)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with ati driver in xorg 6.9.x | System lockup soon after starting xorg 6.9.x ]] &amp;lt;tt&amp;gt;(TP T4x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with video output switching | Video output switching]]&lt;br /&gt;
*[[Problem with LCD brightness buttons | Video brightness up keys don't work or cause crashes]]&lt;br /&gt;
*VGA-out will die and needs mainboard replacing &amp;lt;tt&amp;gt;(X61)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Harddisk Drive related Problems==&lt;br /&gt;
*[[Problem with APS harddisk parking|APS harddisk parking]] &amp;lt;tt&amp;gt;(models featuring APS)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with too large harddrive|BIOS hangs with harddrive sized over 8G]] &amp;lt;tt&amp;gt;(560)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with hard drive clicking | Clicking Hard Drive]] &amp;lt;tt&amp;gt;(models with Hitachi's 5k80 hard drive)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with non-ThinkPad hard disks|Non-ThinkPad hard disks]] &amp;lt;tt&amp;gt;(T43, X41, R52)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problems with SATA and Linux|SATA and Linux]] &amp;lt;tt&amp;gt;(T43, X41, R52, Z60)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Network Problems==&lt;br /&gt;
*[[Problem with 3Com 10/100 Ethernet card not being recognized|3Com 10/100 Ethernet card not recognized]] &amp;lt;tt&amp;gt;(models with that card)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with unauthorized MiniPCI network card|&amp;quot;Unauthorized&amp;quot; MiniPCI Wireless Network card error (Error 1802)]] &amp;lt;tt&amp;gt;(Recent TPs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Cisco Aironet Wireless 802.11b]] fails to work with certain firmware versions&lt;br /&gt;
*[[Problem with error 01C9 - More than one Ethernet devices | Error 01C9: More than one Ethernet Devices are found (Atheros WLAN MiniPCI)]] &amp;lt;tt&amp;gt;(T23, T30, A31p, R40 and others)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with e1000: EEPROM Checksum Is Not Valid]] &amp;lt;tt&amp;gt;(T60, X60, may be others)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with e1000: 99.9% packet loss on 7.x drivers]] &amp;lt;tt&amp;gt;(Recent TPs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with 3945ABG: Internal wifi cannot associate with AP]] &amp;lt;tt&amp;gt;(T60, probably others)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Need to disable V90/V92/56K modem speed]] ([[IBM_Integrated_Bluetooth_III_with_56K_Modem_(BMDC-2)|BMDC-2]] on X40)&lt;br /&gt;
&lt;br /&gt;
==Power Management, AC-adapter or Battery Problems==&lt;br /&gt;
*[[Problem with ThinkPad 600 batteries | 600 series Battery dying prematurely]] &amp;lt;tt&amp;gt;(TP 600/E/X)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Damage in 56W AC-Adapter, plastic housing melted |AC-Adapter damaged, plastic housing melted]] &amp;lt;tt&amp;gt;(240, 390, i and s models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problems with ACPI suspend-to-ram|ACPI suspend-to-ram]] &amp;lt;tt&amp;gt;(ACPI sleep troubles)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[[Problem with display remaining black after resume|Blank display after resume]] &amp;lt;tt&amp;gt;(various models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[[Problem with high power drain in ACPI sleep | High power drain in ACPI sleep]] &amp;lt;tt&amp;gt;(various models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[[Problem with LCD backlight remaining on during ACPI sleep | LCD backlight remaining on during ACPI sleep]] &amp;lt;tt&amp;gt;(various models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with fan noise | Fan noise]] &amp;lt;tt&amp;gt;(TP T4x/p, TP R5x/p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with checking battery status | Checking battery status causes mouse to jerk around]] &amp;lt;tt&amp;gt;(R31)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Battery drains despite seemingly being charged]] &amp;lt;tt&amp;gt;(A/C adapter issues)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with high pitch noises | High pitch noises]] &amp;lt;tt&amp;gt;(several models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with CPU frequency scaling | CPU frequency scaling locks up when on AC power only]] &amp;lt;tt&amp;gt;(several models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with system turning itself on | Immediate restarts from suspend, hibernate, and halt]] &amp;lt;tt&amp;gt;(several models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Replacing your AC Adapter or AC/DC Combo adapter]] &amp;lt;tt&amp;gt;(many models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sound Problems==&lt;br /&gt;
*[[Problem with broken sound on ThinkPad 600 | Broken sound on ThinkPad 600/E]] &amp;lt;tt&amp;gt;(TP 600/E/X, 770Z)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with audio jacks | Audio jacks not working properly]] &amp;lt;tt&amp;gt;(TP T43)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with ALSA audio output | No audio heard with kernel 2.6.11+/ALSA]] &amp;lt;tt&amp;gt;(TP T43, T40)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with audio clipping|Audio clipping]] &amp;lt;tt&amp;gt;(TP T43)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with no sound on ThinkPad R60e | No Sound on ThinkPad R60e and T60]] &amp;lt;tt&amp;gt;(R60e, T60)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Misc Problems==&lt;br /&gt;
*[[System randomly freezes and requires hard reset]] &amp;lt;tt&amp;gt;(X61s and all newer systems including X,T,R,Z series)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with Bending / Twisting|Casing malformed by bending/twising]] &amp;lt;tt&amp;gt;(X41)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with failing memory slot]] &amp;lt;tt&amp;gt;(T30, some T2x and X3x models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with Dock USB Ports | Dock USB Ports]] &amp;lt;tt&amp;gt;(T30/X21)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[High-pitch noise from AC-Adapter]] &amp;lt;tt&amp;gt;(T60/p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with lm-sensors | lm_sensors kills ThinkPads]] &amp;lt;tt&amp;gt;(TP 570E, 770X/Z, 600E/X, 240, X20)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with USB 2.0 | USB 2.0 problems]] &amp;lt;tt&amp;gt;(T40/T41/X40)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Embedded Controller Firmware#Firmware_issues|Firmware issues]]&lt;br /&gt;
*[[Problem with hot surfaces|Problem with hot surfaces]] &amp;lt;tt&amp;gt;(T43)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with disabled VT]] &amp;lt;tt&amp;gt;(Z61t, X60, X60s)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Unable to create recovery cds when another python is installed on the system]] &amp;lt;tt&amp;gt;(T43p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problems accessing cdrom drive]] &amp;lt;tt&amp;gt;(T400)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Overheating]] &amp;lt;tt&amp;gt;(X200)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with failing Zip drive]] &amp;lt;tt&amp;gt;(Zip 250 for Ultrabay 2000)&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=51650</id>
		<title>How to get special keys to work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=51650"/>
		<updated>2011-05-28T09:09:45Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* External Sources */ +Weblink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
The following table gives an overview over the special keys found on ThinkPads and what is needed to make them work.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
! key !! standard function{{footnote|1}} !! tools supporting key{{footnote|2}} !! configurability{{footnote|3}} !! remarks&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || - || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || on release without completed key combination&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || - || [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || lock screen || [[thinkpad-acpi]] || full || in models from T/X/Z 60 onwards&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || blank screen || [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || suspend to ram || [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the thinkpad-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || switch bluetooth || [[thinkpad-acpi]] || full || in models starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F6}} || Video conference || || || Starting with the T400s (icon of a camera and a headset)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || toggle display || [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions || [[Sample Fn-F7 script]]&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || toggle trackpoint/touchpad || [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F9}} || eject from dock || [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || - || [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || - || [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || hibernate || [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the thinkpad-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || brightness up || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || brightness down || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || toggle thinklight || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || toggle zoom || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || - || [[thinkpad-acpi]]|| full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || - || [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || - || [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|NumLock}} || - || [[#xmodmap configuration|xmodmap]] || make working ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Windows}} || - || [[#xmodmap configuration|xmodmap]] || remapping ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} or {{ibmkey|ThinkVantage|#495988}} || help application || [[thinkpad-acpi]],[[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || open web browser || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || open search application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || open mail application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || open favorites || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || reload web page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || abort loading page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || previous page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full ||  ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || next page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || volume up || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || volume down || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || mute volume || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Microphone mute|#494949}} || Microphone volume || || || Starting with the T400s&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Play/Pause|#494949}} || start/pause playback  || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Down)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Stop|#494949}} || stop playback || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Up)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Next|#494949}} || play next || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Right)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Previous|#494949}} || play previous || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Left)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || shutdown || [[thinkpad-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || blank screen || acpi video || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay eject || announce ultrabay change || acpi bay || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || eject from dock || acpi dock || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet power|#494949}} || shutdown || [[thinkpad-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || rotates screen || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet shortcut|#494949}} || shortcut menu || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || esc key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || enter key || [[#mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || up key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For completeness, note that the WiFi enable/disable switch is located (on the X61 and other models that have it) just under the front edge of the base of the machine.  You should see a small horizontal slider switch.  Enable by sliding it rightwards, disable by sliding it leftwards.&lt;br /&gt;
&lt;br /&gt;
Tablet buttons vary with model.  See [[Tablet Hardware Buttons]].&lt;br /&gt;
&lt;br /&gt;
==Triggering key events==&lt;br /&gt;
&lt;br /&gt;
===thinkpad_acpi events===&lt;br /&gt;
The thinkpad_acpi driver should automatically select an appropriate mask for your machine.&lt;br /&gt;
But on a rare occasions you might need to change the hotkey mask for key events to happen.  In that case,&lt;br /&gt;
read the recommended hotkey_mask from hotkey_recommended_mask, set the extra bits you need, and write&lt;br /&gt;
the result to hotkey_mask.  These files (actually, &amp;quot;sysfs attributes&amp;quot;) can be found on {{path|sys/devices/platform/thinkpad_acpi}}&lt;br /&gt;
&lt;br /&gt;
These events can be used to configure HAL or [[How to configure acpid|acpid]].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by [[thinkpad-acpi]]. May vary on different models.&lt;br /&gt;
! key !! acpi event || IBM ThinkPad hal event || Lenovo ThinkPad hal event&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || ibm/hotkey HKEY 00000080 00001001 || ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || ibm/hotkey HKEY 00000080 00001002 || 0x01:battery || 0x01:screenlock&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || ibm/hotkey HKEY 00000080 00001003 || 0x02:screenlock || 0x02:battery&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || ibm/hotkey HKEY 00000080 00001004 || 0x03:sleep || 0x03:sleep&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || ibm/hotkey HKEY 00000080 00001005 || 0x04:radio || 0x04:radio&lt;br /&gt;
|- &lt;br /&gt;
| {{key|Fn}}{{key|F6}} || ibm/hotkey HKEY 00000080 00001006 || ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || ibm/hotkey HKEY 00000080 00001007 || 0x06:switchvideomode || 0x06:switchvideomode&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || ibm/hotkey HKEY 00000080 00001008 || 0x07:zoom || 0x07:f22&lt;br /&gt;
|- &lt;br /&gt;
| {{key|Fn}}{{key|F9}} || ibm/hotkey HKEY 00000080 00001009 || 0x08:f24 || 0x08:f24&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || ibm/hotkey HKEY 00000080 0000100a || ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || ibm/hotkey HKEY 00000080 0000100b || ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c || 0x0b:suspend || 0x0b:suspend&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || ibm/hotkey HKEY 00000080 0000100d || ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || ibm/hotkey HKEY 00000080 0000100e || ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || ibm/hotkey HKEY 00000080 0000100f || ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}}/{{key|Fn}}{{key|Pos1}} || ibm/hotkey HKEY 00000080 00001010 || 0x0f:brightnessup || 0x0f:brightnessup&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || ibm/hotkey HKEY 00000080 00001011 || 0x10:brightnessdown || 0x10:brightnessdown&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PgUp}} || ibm/hotkey HKEY 00000080 00001012 || 0x11:kbdillumtoggle || 0x11:kbdillumtoggle&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || ibm/hotkey HKEY 00000080 00001014 || 0x13:zoom || 0x13:zoom&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}}|| ibm/hotkey HKEY 00000080 00001015 || 0x14:volumeup || 0x14:volumeup&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || ibm/hotkey HKEY 00000080 00001016 || 0x15:volumedown || 0x15:volumedown&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || ibm/hotkey HKEY 00000080 00001017 || 0x16:mute || 0x16:mute&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Microphone mute|#494949}} || ibm/hotkey HKEY 00000080 0000101b || ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} or {{ibmkey|ThinkVantage|#495988}} || ibm/hotkey HKEY 00000080 00001018 || 0x17:prog1 || 0x17:prog1&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay eject || ibm/bay MSTR 00000003 00000000 || ||&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay inserted || ibm/bay MSTR 00000001 00000000 || ||&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || ibm/dock GDCK 00000003 00000001 || ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless switch || ibm/hotkey HKEY 00000080 00007000 || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By disassembling and editing the DSDT, more events can be added.  HKEY events are triggered by calls to the MKHQ function, e.g. &amp;lt;tt&amp;gt;\_SB.PCI0.LPC.EC.HKEY.MHKQ(0Ã—1007)&amp;lt;/tt&amp;gt; will trigger &amp;quot;ibm/hotkey HKEY 00000080 00001007&amp;quot;.  Most of these can be found in &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; methods within the DSDT, which are executed on embedded controller events, e.g. _Q10 is triggered by pressing Fn-F7.  You can add a call to MKHQ into an existing &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; method to get it recognized by thinkpad-acpi as well as creating new &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; methods, which if you're lucky will correspond to an EC event that IBM never used (e.g. A 770 will send Fn-Home/End/PgUp/PgDn to thinkpad-acpi if hacked in this fashion). For example, [http://www.wormnet.eu/ibm-g40/morebuttons.dsl this is a modified block of DSDT for a G40].&lt;br /&gt;
&lt;br /&gt;
=== ACPI events from the &amp;lt;tt&amp;gt;button&amp;lt;/tt&amp;gt; module===&lt;br /&gt;
&lt;br /&gt;
A few keys can generate ACPI events that result from the &amp;lt;tt&amp;gt;button&amp;lt;/tt&amp;gt; kernel module, as long as they are masked off in the &amp;lt;tt&amp;gt;thinkpad-acpi&amp;lt;/tt&amp;gt; hotkey's mask or the hotkey function of the latter module is disabled.&lt;br /&gt;
&lt;br /&gt;
If you want the ThinkPad's BIOS and ACPI methods to know about these keys being pressed, you probably want to leave them masked out from thinkpad-acpi, and use their non-HKEY events listed below, instead.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by ACPI when hotkey is masked out or disabled. &lt;br /&gt;
! key !! event !! T60 event&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || button/power PWRF 00000080 xxxxxxxx || button/power PWRF 00000080 00000001&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || button/sleep SLPB 00000080 00000001 || button/sleep SLPB 00000080 00000001&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || button/lid LID 00000080 xxxxxxxx || button/lid LID 00000080 00000001&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Configuration using HAL===&lt;br /&gt;
&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use HAL to configure the kernel input devices. Xorg in turn gets these key events through the evdev driver and will no longer try to take control of the input devices away from the kernel.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you might need.&lt;br /&gt;
====Xorg problems====&lt;br /&gt;
You may find that by default some buttons will work in Xorg and others will not (e.g. Fn-Space). The reason for this is that Xorg is limited to 255 different key codes, and some keys are mapped to key codes that are out of range for Xorg. The Xorg developers are aware of this issue and plan to fix it in XKB2. Unfortunately support for XKB2 has slipped and is now planned for Xorg 1.8, sometime in 2010.&lt;br /&gt;
&lt;br /&gt;
{{HINT|You can get Fn-Space working via ACPI events. Here is a practical [http://www.thinkwiki.org/wiki/Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_Z61m#Make_Fn-Space_.28Screen_Magnify.29_work HOWTO] for Ubuntu 10.04 Lucid}} &lt;br /&gt;
&lt;br /&gt;
Default HAL config files are located in {{path|/usr/share/hal/fdi}}. If you create any custom files you should instead place them in {{path|/etc/hal/fdi}} to prevent them from getting overwritten by the next hal-info package update of your distribution.&lt;br /&gt;
&lt;br /&gt;
You can see for instance the mapping between {{path|/usr/share/hal/fdi/information/10freedesktop/30-keymap-module-thinkpad-acpi.fdi}} and that of the kernel [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=include/linux/input.h;hb=HEAD input.h] header file.&lt;br /&gt;
&lt;br /&gt;
keyboard events defined in input.h in the 0x100 range and above will be ignored by current Xorg. If you want to work around this you can change the hal config file such that for instance the Fn-F5 key no longer maps to '''radio''' (0x181) but to '''wlan''' (238) or '''bluetooth''' (237).&lt;br /&gt;
&lt;br /&gt;
Have a look at the HAL documentation for samples on how to configure your own events [http://hal.freedesktop.org/quirk/quirk-keymap-index.html].&lt;br /&gt;
&lt;br /&gt;
To check if a key is being handled by Xorg, start xev and press the key. If you do not see any output from the keypress it is not handled. If it is handled you can configure the key in Gnome with gnome-keybinding-properties (kde??).&lt;br /&gt;
&lt;br /&gt;
====bypassing Xorg====&lt;br /&gt;
Since the keys are handled by the kernel and passed through hal, we can bypass Xorg and have a key run a specific task.&lt;br /&gt;
This is useful if Xorg cannot handle the key (out of range, or X doesn't&lt;br /&gt;
matter this input key), or if your not running X. This can be done with the&lt;br /&gt;
'''halevt''' program (located at [http://www.nongnu.org/halevt|http://www.nongnu.org/halevt] ; for Debian systems, use a version &amp;gt;= 0.1.5-1). This program can react to some events detected by HAL such a special key press. For example, to run a custom script when Fn-F5 (Radio toggle) is pressed, you could put a stanza in halevt's configuration file ('''/etc/halevt/halevt.xml''', in XML format) :&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;halevt:Device match=&amp;quot;hal.info.category = input&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Warning: /etc/sudoers must be configured to let 'halevt' user&lt;br /&gt;
         runs the given command ! --&amp;gt;&lt;br /&gt;
    &amp;lt;halevt:Condition name=&amp;quot;ButtonPressed&amp;quot; value=&amp;quot;wlan&amp;quot; exec=&amp;quot;sudo /usr/local/sbin/toggle_wlan&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/halevt:Device&amp;gt;&lt;br /&gt;
  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here, '''sudo''' is used as the halevt daemon runs with its own user, which don't have required rights to do the work in the custom script ''/usr/local/sbin/toggle_wlan'', so in ''/etc/sudoers'', we have :&lt;br /&gt;
&lt;br /&gt;
  halevt  ALL = NOPASSWD: /usr/local/sbin/toggle_wlan&lt;br /&gt;
&lt;br /&gt;
Be careful when writing halevt configuration, as the daemon isn't very verbose about what it does or not : you don't get error messages when command run fails…&lt;br /&gt;
&lt;br /&gt;
===inputlirc configuration===&lt;br /&gt;
&lt;br /&gt;
An alternative to halevt is inputlirc [http://ajoute.org/wiki/doc/linux/inputlirc]. After installation of the packages inputlirc [http://packages.debian.org/search?keywords=inputlirc] and lirc, you can test it with the irw command. To run custom scripts you need a configuration for the irexec daemon ('''/etc/lirc/lircrc''') :&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;&lt;br /&gt;
   begin&lt;br /&gt;
    prog = irexec&lt;br /&gt;
    button = KEY_RADIO&lt;br /&gt;
    config = /etc/acpi/wireless.sh&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   begin&lt;br /&gt;
    prog = irexec&lt;br /&gt;
    button = KEY_SCREENLOCK&lt;br /&gt;
    config = /etc/acpi/thinkpad-lockorbattery.sh&lt;br /&gt;
   end&lt;br /&gt;
   &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===tpb configuration===&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ configuration keywords for [[tpb]] (to put in {{path|/etc/tpbrc}})&lt;br /&gt;
! key !! config keyword&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || THINKPAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || HOME&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || SEARCH&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || MAIL&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || FAVORITES&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || RELOAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || ABORT&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || BACKWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || FORWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || FN&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || CALLBACK (zoom on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || CALLBACK (thinklight on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || CALLBACK (display lcd/crt/both)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || CALLBACK (expand on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || CALLBACK (mute on/off)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To all parameter keywords should be assigned the full path to the executables supposed to be started on key press.&lt;br /&gt;
The exectable provided for the CALLBACK keyword should take the parameters given in parentheses and act according to them.&lt;br /&gt;
If you want to use xmodmap for the HOME, SEARCH, MAIL, FAVORITES, RELOAD, ABORT, BACKWARD, FORWARD and FN keys you should&lt;br /&gt;
provide a &amp;lt;tt&amp;gt;XEVENTS OFF&amp;lt;/tt&amp;gt; in your {{path|/etc/tpbrc}}. &lt;br /&gt;
You can use an appropriate executable to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
For Debian users, tpb is started from {{path|/etc/X11/Xsession.d/90tpb}}.&lt;br /&gt;
&lt;br /&gt;
'''Sound Button configuration'''&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on T60p with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
Most Thinkpads have a hardware sound mixer, thus the volumes buttons should work without configuration. However, this change is not reflected in the software mixer. tpb has a switch to enable software mixer support via OSS. The manual recommends this only for devices without a hardware mixer, but it also works for other hadware mixer enabled devices, even with the ALSA system. Just put MIXER ON in your {{path|/etc/tpbrc}} file and you can see the effect immediately in any ALSA mixer (e.g. kmix). For this to work you need write permissions to {{path|/dev/nvram}}.&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on X21 with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
On the ThinkPad X21 (and maybe some other older models) ACPI causes problems with tpb.  On an X21 using acpi the volume buttons would work occasionally, and the OSD for tpb functions would rarely work.  If a volume buttons was pressed too often, sometimes the computer would enter a low power (unplugged state) and would require a reboot.  The solution is to use APM instead of ACPI.  Instructions can be found in [[How_to_make_APM_work]].&lt;br /&gt;
&lt;br /&gt;
===KMilo configuration===&lt;br /&gt;
The programs to be executed by [[KMilo]] are configured via the KDE Control Center (&amp;lt;tt&amp;gt;kcontrol&amp;lt;/tt&amp;gt;), under &amp;lt;tt&amp;gt;System Administration --&amp;gt; IBM Thinkpad Laptop&amp;lt;/tt&amp;gt;. Note that you can use appropriate commands to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
===xmodmap configuration===&lt;br /&gt;
xmodmap enables you to edit the modifier map and keymap tables that are used to translate keycodes into keysyms.&lt;br /&gt;
Understood? Well, basically it allows you to give the X server a dictionary for the translation of keycodes like &amp;quot;97&amp;quot; into more human readable synonyms like &amp;quot;Home&amp;quot;. This way xmodmap allows you to make the special keys of your keyboard known to X applications.&lt;br /&gt;
&lt;br /&gt;
To discover the keycode that a certain keypress produces, use the tool {{cmduser|xev}} &lt;br /&gt;
&lt;br /&gt;
Usually you should write your keycode-keysym associations into the file {{path|~/.Xmodmap}}. This file is usually read by the X session startup scripts of your system, so that the mappings automatically get included everytime you run the X server.&lt;br /&gt;
&lt;br /&gt;
The {{path|~/.Xmodmap}} lines for our purpose are in the form of&lt;br /&gt;
 keycode &amp;lt;keycode&amp;gt; = &amp;lt;keysym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load the assocation using the command&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xmodmap ~/.Xmodmap}} &lt;br /&gt;
&lt;br /&gt;
(some configurations do this automatically upon X startup). &lt;br /&gt;
&lt;br /&gt;
The following table shows the keycodes generated by the ThinkPad special keys and sensible keysyms to assign them to.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ keycodes and recommended keysyms&lt;br /&gt;
! key !! keycode !! keysym&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || 159 || XF86LaunchA&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || 234 || XF86Back or F19&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || 233 || XF86Forward or F20&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Play/Pause|#494949}} || 162 || XF86AudioPlay&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Stop|#494949}} || 164 || XF86AudioStop&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Next|#494949}} || 153 || XF86AudioNext&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Previous|#494949}} || 144 || XF86AudioPrev&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| {{ibmkey|Home|#494949}} || 178 || XF86HomePage&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || 229 || XF86Search&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || 236 || XF86Mail&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || 230 || XF86AddFavorite or XF86Favorites&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || 231 || XF86Reload&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || 232 || XF86Stop&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || 227 || F35&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: You can also use xkeycaps (an X tool to display and edit the X keyboard mapping) to generate proper .Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Note: if you are running [[tpb]] you might need to add the line &amp;lt;tt&amp;gt;XEVENTS=off&amp;lt;/tt&amp;gt; into your tpbrc to stop it from grabbing the key events and allow them to get through to X instead. See [[http://www.thinkwiki.org/wiki/Tpb]] for more detailed instruction on how to use tpb and xmodmap.&lt;br /&gt;
&lt;br /&gt;
Note: XF86Forward and XF86Back do not work correctly in Firefox. You may want to map them to F19 and F20 instead if you use Firefox.&lt;br /&gt;
&lt;br /&gt;
Note: The &amp;quot;XF86AudioPlay&amp;quot; etc. just works with a few programs. To make it work with more multimedia programs you have map the key to use something like [http://www.kde-apps.org/content/show.php/ReMoot?content=63140 ReMoot]. ReMoot is a command line wrapper that control 18 of the most common multimedia applications. &lt;br /&gt;
&lt;br /&gt;
=====Enabling the Windows and Menu Keys=====&lt;br /&gt;
On some systems the Windows and Menu keys may not be recognized.  You can enable then by&lt;br /&gt;
making the following changes:&lt;br /&gt;
&lt;br /&gt;
        keycode 115 = F13&lt;br /&gt;
        keycode 227 = F35&lt;br /&gt;
&lt;br /&gt;
F13 and F35 are used for the Windows and and Menu keys respectively.  Labelling keycpode 227 as &amp;quot;Menu&amp;quot; may conflict with the right-mouse-click event.&lt;br /&gt;
&lt;br /&gt;
=====Using Caps Lock as Super L (Windows key)=====&lt;br /&gt;
You can easily use Caps Lock as Win key by adding the following in your ~/.Xmodmap:&lt;br /&gt;
        ! No Caps Lock&lt;br /&gt;
        clear lock&lt;br /&gt;
        ! Caps Lock as Win key&lt;br /&gt;
        add mod4 = Caps_Lock&lt;br /&gt;
=====NumLock=====&lt;br /&gt;
On the ThinkPad {{600}}, {{T20}}, {{T21}}, {{T22}}, {{T30}}, {{X20}}, {{X21}},  {{X31}}, {{X40}}, {{T42p}}, {{T43}}, {{R51}}, {{R52}} and possibly other models, X does not recognize the keycode for {{key|NumLk}} = {{key|Shift}}+{{key|ScrLk}}. To fix this, add the following to {{path|~/.Xmodmap}} in your home directory or {{path|/etc/X11/Xmodmap}} and run &amp;lt;tt&amp;gt;xmodmap&amp;lt;/tt&amp;gt;, ex: &amp;lt;tt&amp;gt;xmodmap ~/.Xmodmap&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 keycode 77 = Num_Lock&lt;br /&gt;
&lt;br /&gt;
The following might work better for you:&lt;br /&gt;
  keycode 77 = Num_Lock Num_Lock&lt;br /&gt;
because you will only get keycode 77 together with Shift (at least on the {{T43}})&lt;br /&gt;
&lt;br /&gt;
This configuration also enables the respective LED.&lt;br /&gt;
&lt;br /&gt;
Please note, pressing the {{key|Shift}}+{{key|ScrLk}} key combination, without first following the above configuration, will start an accessibility feature, which will allow the numeric keypad to maneuver the mouse pointer.  Starting this accessibility feature and subsequently running xmodmap, as described above, results in the accessibility feature and the numeric lock LED functioning simultaneously.  As such, the above configuration should be completed before the accessibility feature is started in order to produce numbers.&lt;br /&gt;
======T60 (and possibly others)======&lt;br /&gt;
It seems that on the T60, PrtSc, ScrLk and Pause all generate the correct keycodes, however Fn-PrtSc (labelled as SysRq) generates keycode 64 (Alt_L) followed by the expected 111 (Sys_Req) on down and the same thing in the opposite order on release. Fn-ScrLk (labelled as NmLk) does indeed toggle the Numlock, but only seems to register as an X event the first time it is engaged. The above solution does not appear to work. This is perhaps because the Numlock toggle is built into the firmware rather than controlled by the kernel. Finally, Fn-Pause (labelled as Break) generates keycode 37 (Control_L) followed by the expected keycode 110 (Break) on down and the same thing in reverse order on release.&lt;br /&gt;
&lt;br /&gt;
=====NumPad (KeyPad) keys access by a key combination=====&lt;br /&gt;
The current state is that you have to switch NumLock '''on''' via {{key|Fn}}+{{key|ScrLk}} and then e.g. type {{key|u}} to get a {{key|KP_4}} (NumPad 4). To get back to normal keyboard, you have to type {{key|Fn}}+{{key|ScrLk}} again.&lt;br /&gt;
&lt;br /&gt;
Some people (including me) are missing on recent Thinkpads the option to have Fn as a modifier key to access the NumPad instead, i.e. and e.g. {{key|Fn}}+{{key|u}} gives you {{key|KP_4}}.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to make this work in a simple way (pleeeease correct me if I am wrong!), though there is a work-around. Instead of using {{key|Fn}} for accessing the NumPad, {{key|CapsLock}} can get this function by being mapped as Mode_switch (the {{key|AltGr}} on international keyboards). The {{key|Fn}} can be remapped to be Caps_Lock - while at the same time retaining its function to access the special laptop functions (e.g. {{key|Fn}}+{{key|F4}} for sleep}}, by using .Xmodmap.&lt;br /&gt;
&lt;br /&gt;
So on my {{R60}} running fvwm@{{Slackware}} 12.1 the .Xmodmap would look like this:&lt;br /&gt;
&lt;br /&gt;
 ! Make the forward and back buttons work&lt;br /&gt;
    keycode 233 = XF86Forward&lt;br /&gt;
    keycode 234 = XF86Back&lt;br /&gt;
 ! Make the WIN key to Super modifier&lt;br /&gt;
    keycode 115 = Super_L&lt;br /&gt;
 ! Set the Caps_Lock physical key to Mode_switch (like AltGr on intl. keyboards)&lt;br /&gt;
    keycode 66 = Mode_switch&lt;br /&gt;
 ! Set the Fn key to work as Caps_Lock now. The special key combos like Fn-F4 for &amp;quot;sleep&amp;quot; still work then&lt;br /&gt;
    keycode 227 = Caps_Lock&lt;br /&gt;
    clear lock&lt;br /&gt;
    add lock = Caps_Lock&lt;br /&gt;
 ! Now we activate those new keys. Find some free mod slots (xmodmap) and put them there.&lt;br /&gt;
    clear mod4&lt;br /&gt;
    clear mod5&lt;br /&gt;
    add mod4 = Super_L&lt;br /&gt;
    add mod3 = Mode_switch&lt;br /&gt;
 ! It's time to add the keypad keys to the third position of the key definition (pure shift mode_switch shift+mode_switch)&lt;br /&gt;
    keycode 16 = 7 ampersand KP_7&lt;br /&gt;
    keycode 17 = 8 asterisk KP_8&lt;br /&gt;
    keycode 18 = 9 parenleft KP_9&lt;br /&gt;
      keycode 19 = 0 parenright KP_Divide&lt;br /&gt;
    keycode 30 = u U KP_4&lt;br /&gt;
    keycode 31 = i I KP_5&lt;br /&gt;
    keycode 32 = o O KP_6&lt;br /&gt;
      keycode 33 = p P KP_Multiply&lt;br /&gt;
    keycode 44 = j J KP_1&lt;br /&gt;
    keycode 45 = k K KP_2&lt;br /&gt;
    keycode 46 = l L KP_3&lt;br /&gt;
      keycode 47 = semicolon colon KP_Subtract&lt;br /&gt;
    keycode 58 = m M KP_0&lt;br /&gt;
 ! ... I have to use the coma key, too, on the keypad...so I set it to be F20 (which is not existing on normal keyboards and thus is free... check for side effects in programmes accepting F12+ keys!)&lt;br /&gt;
    keycode 59 = comma less F20 &lt;br /&gt;
    keycode 60 = period greater KP_Decimal    &lt;br /&gt;
      keycode  61 = slash question KP_Add&lt;br /&gt;
&lt;br /&gt;
{{WARN|Your keycodes might be different as well as your '''mod''#''''' settings.}}&lt;br /&gt;
Use {{cmduser|xmodmap}} and {{cmduser|xmodmap -pke}} to check your ModMap, and the tool {{cmduser|xev}} to obtain your exact key codes.&lt;br /&gt;
&lt;br /&gt;
===Mapping keys with setkeycodes===&lt;br /&gt;
You can use the setkeycodes command to remap certain keys. I.e. you can use {{cmdroot|setkeycodes 6e 109 6d 104 69 28 6b 1}} to map the Tablets Up and Down keys to the standard PageUp and PageDown keys and Tablet Escape and Enter to their respective keys.&lt;br /&gt;
&lt;br /&gt;
The following table shows the scancodes generated by the ThinkPad keys.  They vary with model - see [[Tablet Hardware Buttons]].&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ scancodes&lt;br /&gt;
! key !! scancode&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || 0x6c&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Shortcut|#494949}} || 0x68&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || 0x6b&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || 0x69&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || 0x6d&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || 0x6e&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || 0x67&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===acpi_fakekey===&lt;br /&gt;
You can turn acpi events into user-level xevents by putting &amp;lt;tt&amp;gt;acpi_fakekey&amp;lt;/tt&amp;gt; commands into the acpi action scripts. There are several layers involved in using acpi keys in this way, so I'll go through the example of using the ThinkVantage button to open xmms.&lt;br /&gt;
&lt;br /&gt;
My ThinkVantage button generates an '''acpi event''' &amp;quot;ibm/hotkey HKEY 00000080 00001018&amp;quot;, so we have the event file &amp;lt;tt&amp;gt;/etc/acpi/events/ThinkVantage&amp;lt;/tt&amp;gt; for it which executes the script &amp;lt;tt&amp;gt;/etc/acpi/actions/fakekey-macro.sh&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
event=ibm/hotkey HKEY 00000080 00001018&lt;br /&gt;
action=/etc/acpi/actions/fakekey-macro.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In turn, the executable &amp;lt;tt&amp;gt;/etc/acpi/actions/fakekey-macro.sh&amp;lt;/tt&amp;gt; script calls acpi_fakekey with the '''key number''' defined in &amp;lt;tt&amp;gt;/usr/share/acpi-support/key-constants&amp;lt;/tt&amp;gt; as $KEY_MACRO which is 112 (you could just as well choose an other key number, just make sure that it doesn't belong to something else like the &amp;quot;j&amp;quot; key or something). &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
. /usr/share/acpi-support/key-constants&lt;br /&gt;
acpi_fakekey $KEY_MACRO &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I have no idea how this actually corresponds to which xevent is generated, so I can find out out by running the program &amp;lt;tt&amp;gt;xev&amp;lt;/tt&amp;gt; and hitting the ThinkVantage button while the mouse is in the &amp;lt;tt&amp;gt;xev&amp;lt;/tt&amp;gt; window (remember to &amp;lt;tt&amp;gt;/etc/init.d/acpid restart&amp;lt;/tt&amp;gt; first if you just created the &amp;lt;tt&amp;gt;/etc/acpi/events/ThinkVantage&amp;lt;/tt&amp;gt; file). I get something popping up in the terminal where I ran xev that looks like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KeyPress event, serial 30, synthetic NO, window 0x2800001,&lt;br /&gt;
    root 0x6a, subw 0x0, time 2000522842, (138,83), root:(781,500),&lt;br /&gt;
    state 0x0, keycode 239 (keysym 0x0, NoSymbol), same_screen YES,&lt;br /&gt;
    XLookupString gives 0 bytes: &lt;br /&gt;
    XmbLookupString gives 0 bytes: &lt;br /&gt;
    XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
KeyRelease event, serial 30, synthetic NO, window 0x2800001,&lt;br /&gt;
    root 0x6a, subw 0x0, time 2000522842, (138,83), root:(781,500),&lt;br /&gt;
    state 0x0, keycode 239 (keysym 0x0, NoSymbol), same_screen YES,&lt;br /&gt;
    XLookupString gives 0 bytes: &lt;br /&gt;
    XFilterEvent returns: False&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This tells me that the &amp;lt;tt&amp;gt;acpi_fakekey 112&amp;lt;/tt&amp;gt; as executed by hitting the ThinkVantage button generates KeyPress event followed by a KeyRelease event with '''keycode''' 239 and that this keycode has been assigned no corresponding '''keysym'''. Thus, I am free to assign the keycode to any keysym I want. You can find a list of available keysyms in &amp;lt;tt&amp;gt;/usr/share/X11/XKeysymDB&amp;lt;/tt&amp;gt;. Again try and pick one that is not likely to have already been taken by something, such as &amp;lt;tt&amp;gt;XF86LaunchA&amp;lt;/tt&amp;gt;. To assign this keysym to keycode 239, you can either edit ~/.Xmodmap on an individual user basis, or edit the systemwide &amp;lt;tt&amp;gt;/etc/X11/Xmodmap&amp;lt;/tt&amp;gt; file to contain the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
keycode 239 = XF86LaunchA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you choose to go with the former, you may need to run &amp;lt;tt&amp;gt;xmodmap ~/.Xmodmap&amp;lt;/tt&amp;gt; for every login session in order to read in your ~/.Xmodmap file if your window manager does not do it for you. Regardless of which option you choose, you can run &amp;lt;tt&amp;gt;xmodmap &amp;lt;file&amp;gt;&amp;lt;/tt&amp;gt; to read in the updated Xmodmap file without logging out and logging back in.&lt;br /&gt;
&lt;br /&gt;
You should now find that hitting the ThinkVantage button creates the following output from &amp;lt;tt&amp;gt;xev&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KeyPress event, serial 55, synthetic NO, window 0x2800001,&lt;br /&gt;
    root 0x6a, subw 0x0, time 2001286078, (0,106), root:(643,523),&lt;br /&gt;
    state 0x0, keycode 239 (keysym 0x1008ff4a, XF86LaunchA), same_screen YES,&lt;br /&gt;
    XLookupString gives 0 bytes: &lt;br /&gt;
    XmbLookupString gives 0 bytes: &lt;br /&gt;
    XFilterEvent returns: False&lt;br /&gt;
&lt;br /&gt;
KeyRelease event, serial 55, synthetic NO, window 0x2800001,&lt;br /&gt;
    root 0x6a, subw 0x0, time 2001286078, (0,106), root:(643,523),&lt;br /&gt;
    state 0x0, keycode 239 (keysym 0x1008ff4a, XF86LaunchA), same_screen YES,&lt;br /&gt;
    XLookupString gives 0 bytes: &lt;br /&gt;
    XFilterEvent returns: False&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note the change of &amp;lt;tt&amp;gt;(keysym 0x0, NoSymbol)&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;(keysym 0x1008ff4a, XF86LaunchA)&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You're now ready to map &amp;lt;tt&amp;gt;XF86LaunchA&amp;lt;/tt&amp;gt; to executing xmms. This is highly dependent on what keygrabber you decide to use. For openbox, I edit my &amp;lt;tt&amp;gt;~/.config/openbox/rc.xml&amp;lt;/tt&amp;gt; file and add the following entry in the  &amp;lt;keyboard&amp;gt; section:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;keybind key=&amp;quot;XF86LaunchA&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;action name=&amp;quot;Execute&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;startupnotify&amp;gt;&lt;br /&gt;
          &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
        &amp;lt;/startupnotify&amp;gt;&lt;br /&gt;
        &amp;lt;command&amp;gt;&lt;br /&gt;
	  xmms&lt;br /&gt;
	&amp;lt;/command&amp;gt;&lt;br /&gt;
      &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;/keybind&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After, right clicking on the desktop and selecting the &amp;quot;Reconfigure&amp;quot; menu option, you should then have xmms pop up when you hit the ThinkVantage key.&lt;br /&gt;
&lt;br /&gt;
==Example Applications==&lt;br /&gt;
===Web Browsers===&lt;br /&gt;
====Firefox (&amp;lt;3.0)====&lt;br /&gt;
&lt;br /&gt;
There are various ways to assign actions to the browser keys. The easiest way is to install [http://mozilla.dorando.at/keyconfig.xpi keyconfig.xpi] from http://mozilla.dorando.at, which adds a menu entry Tools-&amp;gt;Keyconfig. Then you can assign any action you want to the F19/F20 keys (you still need to create {{path|~/.Xmodmap}} as explained above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The remaining discussion gives you various more complicated ways to achieve the same thing. &lt;br /&gt;
To have firefox make use of the browser keys you need to modify one of its files{{footnote|4}}.&lt;br /&gt;
To do this you will first need to extract it from the {{path|browser.jar}} archive. Do...&lt;br /&gt;
&lt;br /&gt;
Step 1:  Edit .Xmodmap and add entries for F19 and F20 as explained above.&lt;br /&gt;
&lt;br /&gt;
Step 2:&lt;br /&gt;
&lt;br /&gt;
Note: &amp;lt;firefox-directory&amp;gt; is probably /usr/lib/firefox. Use your version so, if you have 3.0.1 or 3.0.2 use /usr/lib/firefox-3.0.1&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cd &amp;lt;firefox-directory&amp;gt;/chrome}}&amp;lt;br /&amp;gt;&lt;br /&gt;
:{{cmdroot|unzip browser.jar}}&lt;br /&gt;
&lt;br /&gt;
The file of interest is {{path|content/browser/browser.xul}}. Edit it {and don't forget to make a backup copy first}...&lt;br /&gt;
:{{cmdroot|vi content/browser/browser.xul}}&lt;br /&gt;
&lt;br /&gt;
Look for the '''&amp;lt;keyset id=&amp;quot;mainKeyset&amp;quot;&amp;gt;''' section and add the following lines within...&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; command=&amp;quot;Browser:Back&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; command=&amp;quot;Browser:Forward&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Command you need for Next Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackTabKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(-1)&amp;quot; /&amp;gt;&lt;br /&gt;
For the Previous Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardTabKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(1)&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now save the file and repackage the {{path|browser.jar}} archive...&lt;br /&gt;
:{{cmdroot|zip -rD0 browser.jar content/browser/}}&lt;br /&gt;
&lt;br /&gt;
That's it.&lt;br /&gt;
&lt;br /&gt;
Step 3:  Restart Firefox.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Outdated: Another interesting Page on Firefox is http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ It uses different key mappings (F19 resp. F20) but a ready [http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/dqdnavkeys-1.2.xpi .xpi] is provided which is pretty comfortable. However, this xpi file does not install on Firefox 1.5. or later.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT| You can also use the [http://extensionroom.mozdev.org/more-info/keyconfig keyconfig] extension to configure custom keys.  This extension works with Firefox 1.5 and also with Firefox 2.0. The Command you need for Next Tab is gBrowser.mTabContainer.advanceSelectedTab(1,true); For Previous Tab its gBrowser.mTabContainer.advanceSelectedTab(-1,true); You can alternatively install the [http://www.pqrs.org/~tekezo/firefox/extensions/functions_for_keyconfig/index.html functions for keyconfig] and set the variable f4kc_NextTab to F20 and f4kc_PrevTab to F19.}}.&lt;br /&gt;
&lt;br /&gt;
====Firefox 3.0====&lt;br /&gt;
Thankfully the people at Mozilla decided to include the expected functionality for the XF86Back and XF86Forward keysyms in the new release so all you need to do is&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;# printf 'keycode 234 = XF86Back\nkeycode 233 = XF86Forward' &amp;gt;&amp;gt; /etc/X11/Xmodmap&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
And to make this take effect immediately (i.e., without having to log out and log in again), as a regular user run:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;{{cmduser|Xmodmap /etc/X11/Xmodmap}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Hardy Heron, the xmodmap command is all lowercase. Also, the /etc/X11/Xmodmap file is not being read on boot. I've added the command to my .bashrc to have it called on startup.&lt;br /&gt;
&lt;br /&gt;
====Konqueror====&lt;br /&gt;
KDE allows you set key mappings for KDE applications (Go to KMenu &amp;gt; System &amp;gt; Control Center &amp;gt; Regional &amp;amp; Accessibility &amp;gt; Keyboard Shortcuts). By default (at least in KDE 3.5), XF86Back and XF86Forward are set as alternatives to Alt-Left and Alt-Right, and are mapped to KDE Back and Forward navigation actions.  &lt;br /&gt;
&lt;br /&gt;
If you use Konqueror as your only browser, you only need to set up {{path|~/.Xmodmap}} as described [[#xmodmap configuration|above]] to assign ThinkPad back/forward keys to the symbols XF86Back/XF86Forward. This also make these keys work for other KDE applications such as Quanta Plus, KPackage and so on (not all KDE applications honor this setting, e.g. KDE help system doesn't).&lt;br /&gt;
&lt;br /&gt;
If you want to use Firefox, however, the above settings do not work. You will have to map ThinkPad back/forward keys to F19/F20 as described [[#Firefox|above]], and change KDE navigation key settings to use F19/F20 instead of the default.&lt;br /&gt;
&lt;br /&gt;
====Opera====&lt;br /&gt;
However this isn't a simple configration file, you can set your browser manually.&amp;lt;br /&amp;gt;&lt;br /&gt;
Go to &amp;lt;i&amp;gt;Tool &amp;gt; Settings &amp;gt; Mouse and keyboard &amp;gt; Keyboard settings &amp;gt; Edit &amp;gt; Browser Window&amp;lt;/i&amp;gt;. There add F19 - Back and F20 - Forward. Now you can surf using your TP keys ;-)&lt;br /&gt;
&lt;br /&gt;
====Epiphany====&lt;br /&gt;
By default, the back/forward keys, when bound to XF86Back/XF86Forward, successfully navigate through the history.&lt;br /&gt;
&lt;br /&gt;
To get them switch through your tabs, you could use the extension from [http://crashman.homelinux.org/~andre/public/epiphany%20extensions/thinkpad%20browserkeys/ here]&lt;br /&gt;
You just need to edit your Xmodmap like described for Firefox &amp;lt; 3.0 (bind the keys on F19 and F20)&lt;br /&gt;
&lt;br /&gt;
====W3M (under Emacs)====&lt;br /&gt;
I'm not sure that I want to use the back and forward keys all the time in Emacs, but while browsing the web it is useful to have them.&lt;br /&gt;
&lt;br /&gt;
On my X61s running Fedora 13, I've found that by adding the following lines to my .emacs, I'm able to do just that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;(eval-after-load &amp;quot;w3m&amp;quot;&amp;lt;br&amp;gt;'(progn&amp;lt;br&amp;gt;(define-key w3m-mode-map [XF86Back] 'w3m-view-previous-page)&amp;lt;br&amp;gt;  (define-key w3m-mode-map [XF86Forward] 'w3m-view-next-page)))&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Open an application===&lt;br /&gt;
&lt;br /&gt;
To configure the ThinkVantage button to open a terminal window in Gnome:&lt;br /&gt;
&lt;br /&gt;
Step 1:&lt;br /&gt;
Use xev to find the keycode generated by the button on your machine.  In my case is is 159.&lt;br /&gt;
&lt;br /&gt;
Step 2:&lt;br /&gt;
Create an entry in .Xmodmap like so&lt;br /&gt;
&lt;br /&gt;
keycode 159 = XF86LaunchA&lt;br /&gt;
&lt;br /&gt;
replacing 159 by the keycode found in step 1.  Load the map using&lt;br /&gt;
&lt;br /&gt;
:{{cmd|xmodmap ~/.Xmodmap}}&lt;br /&gt;
&lt;br /&gt;
Step 3:&lt;br /&gt;
Configure the required function (e.g. open terminal window) in System-&amp;gt;Preferences-&amp;gt;Keyboard shortcuts&lt;br /&gt;
&lt;br /&gt;
===Window Managers===&lt;br /&gt;
====fvwm====&lt;br /&gt;
To get the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fvwmrc}}:&lt;br /&gt;
 Key    XF86Back     A      A   Scroll     -100000   0&lt;br /&gt;
 Key    XF86Forward  A      A   Scroll     +100000   0&lt;br /&gt;
If you use multiple virtual desktops, you could instead use the keys to flip between them by using GotoDesk.&lt;br /&gt;
&lt;br /&gt;
====fluxbox====&lt;br /&gt;
To get the keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fluxbox/keys}}:&lt;br /&gt;
 None F19 :PrevWorkspace&lt;br /&gt;
 None F20 :NextWorkspace&lt;br /&gt;
&lt;br /&gt;
====pekwm configuration====&lt;br /&gt;
You can make the two browser keys switch workspaces in pekwm, by adding the following two lines to the {{path|~/.pekwm/keys}} file:&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Back&amp;quot; { Actions = &amp;quot;GoToWorkspace prev&amp;quot; }&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Forward&amp;quot; { Actions = &amp;quot;GoToWorkspace next&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
====pwm====&lt;br /&gt;
Another example how to use these two keys to switch between pwm tabs. These two lines should be added to {{path|~/.pwm/keys-default.conf}} or {{path|/etc/pwm/keys-default.conf}}:&lt;br /&gt;
 kbind &amp;quot;Back&amp;quot;, &amp;quot;switch_rot&amp;quot;, -1&lt;br /&gt;
 kbind &amp;quot;Forward&amp;quot;, &amp;quot;switch_rot&amp;quot;, 1&lt;br /&gt;
&lt;br /&gt;
====IceWM====&lt;br /&gt;
To make IceWM cycle workspaces using the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys, change these two options in {{path|~/.icewm/preferences}} (Provided you assigned keysyms F19 and F20 with xmodmap):&lt;br /&gt;
 # &amp;quot;Previous workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspacePrev=&amp;quot;F19&amp;quot;&lt;br /&gt;
 # &amp;quot;Next workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspaceNext=&amp;quot;F20&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Gnome/metacity ====&lt;br /&gt;
&lt;br /&gt;
On {{Debian}} Lenny, using Gnome 2.22.2, once the acpid and acpi-support packages are installed, most Fn keys do the right thing out of the box.&lt;br /&gt;
&lt;br /&gt;
For more advanced configuration, follow the [https://wiki.ubuntu.com/Keybindings Ubuntu guide].&lt;br /&gt;
&lt;br /&gt;
===Other Uses===&lt;br /&gt;
====Console tools configuraton====&lt;br /&gt;
To make the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys useful in console, add this to your keymap ({{path|/etc/console/boottime.kmap.gz}} in {{Debian}}):&lt;br /&gt;
 keycode 158 = Decr_Console&lt;br /&gt;
 keycode 159 = Incr_Console&lt;br /&gt;
&lt;br /&gt;
Alternatively you can load this script (perhaps on system startup) to enable Backward/Forward button console (VT) switch:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 echo keycode 158 = Decr_Console | loadkeys&lt;br /&gt;
 echo keycode 159 = Incr_Console | loadkeys&lt;br /&gt;
&lt;br /&gt;
It should work with any distro.&lt;br /&gt;
&lt;br /&gt;
====Cycling through tabs====&lt;br /&gt;
In Gnome and Xfce4, Ctrl-PageUp/Ctrl-PageDown move to the previous/following open tab in all applications that have tabbed user interfaces (terminal emulator, web browser, ...). To make use of the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys for this task, there're two possibilities.&lt;br /&gt;
&lt;br /&gt;
For both ways, you should map the keycodes 233 and 234 to XF86Back and XF86Forward as described in [[#xmodmap_configuration|xmodmap configuration]].&lt;br /&gt;
&lt;br /&gt;
=====Using xautomation=====&lt;br /&gt;
xautomation can be found [http://hoopajoo.net/projects/xautomation.html here].&lt;br /&gt;
&lt;br /&gt;
Create two files with permissions 755:&lt;br /&gt;
&lt;br /&gt;
{{path|/usr/local/bin/tp_back}}:&lt;br /&gt;
&amp;lt;bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/usr/bin/xte 'keydown Control_L' 'keydown Page_Up' 'keyup Page_Up' 'keyup Control_L'&lt;br /&gt;
&amp;lt;/bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/usr/local/bin/tp_forward}}:&lt;br /&gt;
&amp;lt;bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/usr/bin/xte 'keydown Control_L' 'keydown Page_Down' 'keyup Page_Down' 'keyup Control_L'&lt;br /&gt;
&amp;lt;/bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use your desktop's keyboard shortcut editor to assign XF86Back as a shortcut for tp_back and XF86Forward as a shortcut for tp_forward.&lt;br /&gt;
&lt;br /&gt;
This should work in all distros and with all window managers (you might have to use other key combinations than Ctrl-PageUp and Ctrl-PageDown).&lt;br /&gt;
&lt;br /&gt;
=====Redirecting XF86Back/XF86Forward=====&lt;br /&gt;
Create {{path|/etc/X11/xkb/compat/thinkpad}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// $XFree86$&lt;br /&gt;
//  XFree86 special keysyms&lt;br /&gt;
default partial xkb_compatibility &amp;quot;basic&amp;quot;  {&lt;br /&gt;
    interpret.repeat= True;&lt;br /&gt;
&lt;br /&gt;
    interpret  XF86Back {&lt;br /&gt;
        action = Redirect(Key=&amp;lt;PGUP&amp;gt;, modifiers=Control);&lt;br /&gt;
    };&lt;br /&gt;
    interpret  XF86Forward {&lt;br /&gt;
        action = Redirect(Key=&amp;lt;PGDN&amp;gt;, modifiers=Control);&lt;br /&gt;
    };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/X11/xkb/compat/complete}} and add &amp;lt;tt&amp;gt;'''augment &amp;quot;thinkpad&amp;quot;'''&amp;lt;/tt&amp;gt; so that it looks similar to the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// $XKeyboardConfig: xkbdesc/compat/complete,v 1.3 2005/10/17 00:42:11 svu Exp $&lt;br /&gt;
// $Xorg: complete,v 1.3 2000/08/17 19:54:34 cpqbld Exp $&lt;br /&gt;
default xkb_compatibility &amp;quot;complete&amp;quot;  {&lt;br /&gt;
    include &amp;quot;basic&amp;quot;&lt;br /&gt;
    augment &amp;quot;iso9995&amp;quot;&lt;br /&gt;
    augment &amp;quot;mousekeys&amp;quot;&lt;br /&gt;
    augment &amp;quot;accessx(full)&amp;quot;&lt;br /&gt;
    augment &amp;quot;misc&amp;quot;&lt;br /&gt;
    augment &amp;quot;xfree86&amp;quot;&lt;br /&gt;
    augment &amp;quot;level5&amp;quot;&lt;br /&gt;
    augment &amp;quot;thinkpad&amp;quot;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51537 IBMs page on configuring the ThinkPad buttons (ThinkPad, Access IBM, Mail, Search, and Home buttons) under Linux]&lt;br /&gt;
*[http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ Rob Mayoffs page on using IBM Keyboard Navigation Keys in Linux Mozilla and Firefox]&lt;br /&gt;
*[http://snarfed.org/space/thinkpad+keys+in+firefox Ryan Barretts blog article about using the browser keys in Firefox]&lt;br /&gt;
*[http://chaotika.org/~bluesceada/?page=soft&amp;amp;sub=thinkpad#acpibutn DennisG's help to get the ibm-acpi buttons do useful things] on a {{Z61e}} and possibly {{Z61m}}, {{Z61t}} and {{Z61p}}&lt;br /&gt;
*[https://help.ubuntu.com/community/KeyboardShortcuts/#Replacing%20keys%20with%20other%20keys using xbindkeys and xmacro to override key bindings]&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#Note that the associated functionality for Fn-F* key combinations is not consistent amongst all ThinkPads. We are maintaining [[Default meanings of special keys|a table of associated meanings]].&lt;br /&gt;
#if there are more than one tool listed, one is sufficient&lt;br /&gt;
#'full' means you can completely reassign any action to be triggered by the key, 'additional actions' means you can trigger actions in addition to the standard function of the key, which can not be changed.&lt;br /&gt;
#Thanks go to Ryan Barrett for writing the [http://snarfed.org/space/thinkpad+keys+in+firefox little howto] on [http://snarfed.org/space/start his blog].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* http://www.freedesktop.org/wiki/Software/XKeyboardConfig&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/tp-theft-lcars&amp;diff=49994</id>
		<title>Code/tp-theft-lcars</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/tp-theft-lcars&amp;diff=49994"/>
		<updated>2010-11-14T08:21:25Z</updated>

		<summary type="html">&lt;p&gt;Matt: +choice&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
# tp-theft-lcars v0.2 (http://thinkwiki.org/wiki/Script_for_theft_alarm_using_HDAPS)&lt;br /&gt;
# This script uses the HDAPS accelerometer found on recent ThinkPad models&lt;br /&gt;
# to emit an audio alarm when the laptop is tilted. In sufficiently&lt;br /&gt;
# populated environments, it can be used as a laptop theft deterrent.&lt;br /&gt;
#&lt;br /&gt;
# This file is placed in the public domain and may be freely distributed.&lt;br /&gt;
#&lt;br /&gt;
# Here comes a modified version which requires an internet connection and gnash.&lt;br /&gt;
# It shows a LCARS red alert flash animation from Star Trek instead of a beep.&lt;br /&gt;
# You may choose your favourite by adding/removing the sharps.&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use warnings;&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# Audio volume (0..100)&lt;br /&gt;
my $volume = 70;&lt;br /&gt;
&lt;br /&gt;
# Voyager alert system status&lt;br /&gt;
my $play_cmd = &amp;quot;gtk-gnash --fullscreen http://www.lcars.org.uk/lcars_files/alert%20system%20status.swf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Voyager self destruct&lt;br /&gt;
# my $play_cmd = &amp;quot;gtk-gnash --fullscreen http://www.lcars.org.uk/lcars_files/voyager%20self%20destruct.swf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Voyager red alert memory allocation&lt;br /&gt;
# my $play_cmd = &amp;quot;gtk-gnash --fullscreen http://www.lcars.org.uk/lcars_files/red%20alert%20memory%20allocation.swf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# TNG ancillary red alert monitor&lt;br /&gt;
# my $play_cmd = &amp;quot;gtk-gnash --fullscreen http://www.lcars.org.uk/lcars_files/lcars_ancillary_red_alert_monitor.swf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Captain Kirk to the bridge&lt;br /&gt;
# my $play_cmd = &amp;quot;gtk-gnash --fullscreen http://www.lcars.org.uk/cin/tos%20red%20alert%20panel.swf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# retro red alert &lt;br /&gt;
# my $play_cmd = &amp;quot;gtk-gnash --fullscreen http://www.lcars.org.uk/ano%20gifs/st_original_redalert.swf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# DS9: USS Defiant red alert &lt;br /&gt;
# my $play_cmd = &amp;quot;gtk-gnash --fullscreen http://www.lcars.org.uk/lcars_files/LCARS%20Defiant%20red%20alert.swf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Voyager emergency scan&lt;br /&gt;
# my $play_cmd = &amp;quot;gtk-gnash --fullscreen http://www.lcars.org.uk/lcars_files/LCARS_prey_emergency_scan_analysis.swf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# Other tweakables&lt;br /&gt;
&lt;br /&gt;
my $thresh = 0.20;   # tilt threshold (increase value to decrease sensitivity)&lt;br /&gt;
my $interval = 0.1;  # sampling interval in seconds&lt;br /&gt;
my $depth = 10;      # number of recent samples to analyze&lt;br /&gt;
my $pos_file='/sys/devices/platform/hdaps/position';&lt;br /&gt;
my $verbose = 1;&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# Code&lt;br /&gt;
&lt;br /&gt;
sub get_pos {&lt;br /&gt;
    open(POS,&amp;quot;&amp;lt;&amp;quot;,$pos_file) or die &amp;quot;Can't open HDAPS file $pos_file: $!\n&amp;quot;;&lt;br /&gt;
    $_=&amp;lt;POS&amp;gt;;&lt;br /&gt;
    m/^\((-?\d+),(-?\d+)\)$/ or die &amp;quot;Can't parse $pos_file content\n&amp;quot;;&lt;br /&gt;
    return ($1,$2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub stddev {&lt;br /&gt;
    my $sum=0;&lt;br /&gt;
    my $sumsq=0;&lt;br /&gt;
    my $n=$#_+1;&lt;br /&gt;
    for my $v (@_) {&lt;br /&gt;
	$sum += $v;&lt;br /&gt;
	$sumsq += $v*$v;&lt;br /&gt;
    }&lt;br /&gt;
    return sqrt($n*$sumsq - $sum*$sum)/($n*($n-1));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
my (@XHIST, @YHIST);&lt;br /&gt;
my ($x,$y) = get_pos;&lt;br /&gt;
for (1..$depth) {&lt;br /&gt;
    push(@XHIST,$x);&lt;br /&gt;
    push(@YHIST,$y);&lt;br /&gt;
}&lt;br /&gt;
my $alarm_file; # flags ongoing alarm (and stores saved mixer settings)&lt;br /&gt;
&lt;br /&gt;
while (1) {&lt;br /&gt;
    my ($x,$y) = get_pos;&lt;br /&gt;
    shift(@XHIST); push(@XHIST,$x);&lt;br /&gt;
    shift(@YHIST); push(@YHIST,$y);&lt;br /&gt;
    my $xdev = stddev(@XHIST);&lt;br /&gt;
    my $ydev = stddev(@YHIST);&lt;br /&gt;
&lt;br /&gt;
    # Print variance and history&lt;br /&gt;
    print &amp;quot;X: v=$xdev (&amp;quot;.join(',',@XHIST).&amp;quot;)  Y: v=$ydev (&amp;quot;.join(&amp;quot;,&amp;quot;,@YHIST).&amp;quot;)\n&amp;quot; if $verbose&amp;gt;1;&lt;br /&gt;
&lt;br /&gt;
    my $tilted = $xdev&amp;gt;$thresh || $ydev&amp;gt;$thresh;&lt;br /&gt;
&lt;br /&gt;
    if ($tilted &amp;amp;&amp;amp; !(defined($alarm_file) &amp;amp;&amp;amp; -f $alarm_file)) {&lt;br /&gt;
	print &amp;quot;ALARM\n&amp;quot; if $verbose&amp;gt;0;&lt;br /&gt;
	$alarm_file = `mktemp /tmp/hdaps-tilt.XXXXXXXX` or die &amp;quot;mktemp: $?&amp;quot;;&lt;br /&gt;
	chomp($alarm_file);&lt;br /&gt;
	system('/bin/bash', '-c', &amp;lt;&amp;lt;&amp;quot;EOF&amp;quot;)==0 or die &amp;quot;Failed: $?&amp;quot;;&lt;br /&gt;
($play_cmd) &amp;amp;&lt;br /&gt;
EOF&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    select(undef, undef, undef, $interval); # sleep&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Script_for_theft_alarm_using_HDAPS&amp;diff=49991</id>
		<title>Script for theft alarm using HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Script_for_theft_alarm_using_HDAPS&amp;diff=49991"/>
		<updated>2010-11-13T21:33:03Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* LCARS edition */ memory-alpha&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
&lt;br /&gt;
Recent ThinkPad models include a built-in two-axis accelerometer, as part of the [[HDAPS]] feature. This accelerometer can be put to another use: as a laptop theft deterrent. The following scripts detect when the laptop is moved, and emits a loud audio alarm. &lt;br /&gt;
&lt;br /&gt;
This alarm can be an effective deterrent against a casual laptop-snatcher in a populated environment (e.g., typical office space). It's also useful when you're across the room from the laptop and want to know if someone fiddles with it.&lt;br /&gt;
&lt;br /&gt;
Note that the alarm is disabled when the laptop is suspended or powered off. You can buy external (hardware) motion detector alarms to handle those cases.&lt;br /&gt;
&lt;br /&gt;
{{WARN|The audio alarm is played at a very high volume. Never enable the alarm while wearing headphones connected to the laptop's speaker output or when the laptop is connected to a high-power amplifier.}}&lt;br /&gt;
&lt;br /&gt;
==A comprehensive script==&lt;br /&gt;
&lt;br /&gt;
This Perl script periodically samples the tilt data reported by the accelerometer, computes the variance over recent samples, and triggers the alarm when the variance exceeds a given threshold.&lt;br /&gt;
&lt;br /&gt;
On a ThinkPad with [[Active Protection System]] running a modern Linux installation with the [[HDAPS|hdaps]] kernel module loaded, the script should work as is. Just run {{cmdroot|tp-theft --arm}} and see (or rather, hear) what happens when you tilt your laptop. &lt;br /&gt;
&lt;br /&gt;
The volume and alarm sound can be adjusted at the top of the script. On a ThinkPad {{T43}}, the synthetic siren at &amp;lt;tt&amp;gt;$alarm_volume=100&amp;lt;/tt&amp;gt; (up from the default 70) is quite ear-splitting, and combined with &amp;lt;tt&amp;gt;$acpi_volume=15&amp;lt;/tt&amp;gt; it is dangerously loud.&lt;br /&gt;
&lt;br /&gt;
The script is designed to run continuously in the background, so by default the alarm will be activated only when the KDE screen saver is locked. If you you open the laptop lid (or press the lid button) shortly before or after the beginning of movement, the alarm will be suspended (except for a brief warning) and you will get a few seconds of grace to unlock the screen saver (preferably, [[How to enable the fingerprint reader|using the integrated fingerprint reader]]!). You can disable this functionality by passing the &amp;lt;tt&amp;gt;--arm&amp;lt;/tt&amp;gt; parameter, by setting &amp;lt;tt&amp;gt;$use_kde=0&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$use_lid=0&amp;lt;/tt&amp;gt;, or by using the simpler script below.&lt;br /&gt;
&lt;br /&gt;
There is also an option to track a BlueTooth device (e.g., a mobile phone). In this case, the alarm is activated (and optionally, the KDE desktop is locked) whenever the device is turned off or too distant for a given period, and deactivated when the BlueTooth device is nearby. You need to provide the device's BD address. If both KDE screen saver and BlueTooth checking are enabled, then the alarm will be activated when *either* the screensaver is enabled or the BlueTooth device is amiss.&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
* ThinkPad with [[Active Protection System]]&lt;br /&gt;
* [[HDAPS|hdaps]] kernel module loaded (included in kernel 2.6.14 and later)&lt;br /&gt;
* Optional: [[ibm-acpi|ibm_acpi]] module loaded with the &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt; parameter (included in kernel 2.6.14 and later; needed only for full volume control)&lt;br /&gt;
The following are included in all modern Linux distributions:&lt;br /&gt;
* ALSA sound system, &amp;lt;tt&amp;gt;alsactl&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;aplay&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;amixer&amp;lt;/tt&amp;gt; )&lt;br /&gt;
* &amp;lt;tt&amp;gt;sox&amp;lt;/tt&amp;gt; (SOund eXchange) sound utility&lt;br /&gt;
&lt;br /&gt;
===The script===&lt;br /&gt;
{{CodeRef|tp-theft}}&lt;br /&gt;
&lt;br /&gt;
==A basic script==&lt;br /&gt;
&lt;br /&gt;
This is a simpler version of the above script, which omits the fancier functionality such as KDE screensaver detection, lid detection and state machine.&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
* ThinkPad with [[Active Protection System]]&lt;br /&gt;
* [[HDAPS|hdaps]] kernel module loaded (included in kernel 2.6.14 and later)&lt;br /&gt;
* &amp;lt;tt&amp;gt;aumix&amp;lt;/tt&amp;gt; mixer control utility (included in all modern Linux distributions)&lt;br /&gt;
* &amp;lt;tt&amp;gt;sox&amp;lt;/tt&amp;gt; (SOund eXchange) sound utility (included in all modern Linux distributions, e.g. packages &amp;quot;sox&amp;quot; and &amp;quot;libsox-fmt-oss&amp;quot; in Ubuntu)&lt;br /&gt;
* in newer Versions of sox (e.g. shipped with current Ubuntu), the used parameters are no longer supported. You have to replace &amp;quot;-t nul /dev/null&amp;quot; with &amp;quot;-n&amp;quot; in line 19.&lt;br /&gt;
&lt;br /&gt;
===The script===&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-theft-basic}}&lt;br /&gt;
&lt;br /&gt;
== LCARS edition ==&lt;br /&gt;
The simple script modified to show a [http://memory-alpha.org/wiki/LCARS LCARS] red alert flash animation from Star Trek Voyager instead of a beep.&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
* ThinkPad with [[Active Protection System]]&lt;br /&gt;
* [[HDAPS|hdaps]] kernel module loaded (included in kernel 2.6.14 and later)&lt;br /&gt;
* &amp;lt;tt&amp;gt;gtk-gnash&amp;lt;/tt&amp;gt; [http://www.gnashdev.org/ Gnash] a GNU SWF movie player&lt;br /&gt;
* internet connection to get the swf from http://lcars.org.uk (you may download the file and adjust the path)&lt;br /&gt;
&lt;br /&gt;
===The script===&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-theft-lcars}}&lt;br /&gt;
&lt;br /&gt;
==Ideas for improvement==&lt;br /&gt;
Features awaiting contribution:&lt;br /&gt;
&lt;br /&gt;
===Activation===&lt;br /&gt;
* Gnome and xscreensaver support (similarly to [http://fdd.com/software/radeon/lightwatch.pl lightwatch.pl]?)&lt;br /&gt;
* Monitor X server presence  and make noise on sudden X server shutdown (i.e. catch {{key|ctrl}}{{key|alt}}{{key|backspace}} events).&lt;br /&gt;
* Monitor AC power and take it into account for alarm activation -- thieves seldom carry a UPS.&lt;br /&gt;
* Don't arm the alarm if movement of similar magnitude was happening also before the screensaver was auto-locked (the owner might be in a moving vehicle, etc.).&lt;br /&gt;
* Disarm the alarm (or hold it off for a few seconds, as already implemented for lid open) based on voice/sound recognition using the built-in microphone.&lt;br /&gt;
* Use fingerprint reader to disarm the alarm.&lt;br /&gt;
&lt;br /&gt;
===Precaution===&lt;br /&gt;
* Disable the alarm when headphones are plugged in -- it may cause hearing damage (if the user ignores the initial warning), and won't be effective anyway. '''Can we detect whether the something is plugged into the headphones/line-out socket?'''&lt;br /&gt;
* Theft attempts may be accompanied by rough handling, especially when the siren kicks in. So when starting an alarm also park the disk heads. Release the parking when a key is pressed (according {{path|/sys/bus/platform/drivers/hdaps/hdaps/keyboard_activity}}) so that the login prompt can start up. This requires kernel support for disk head parking and queue freezing, currently developed for the (original) HDAPS functionality.&lt;br /&gt;
&lt;br /&gt;
===Indication===&lt;br /&gt;
* Use XOSD to ivisually ndicate state changes.&lt;br /&gt;
* Use TrayIcon to indicate state changes.&lt;br /&gt;
* Use Notifications to indicate state changes.&lt;br /&gt;
&lt;br /&gt;
===Lockdown===&lt;br /&gt;
* Disable the volume buttons when the script is running so that a thief can't just turn the volume down. (Not an issue when &amp;lt;tt&amp;gt;ibm_acpi&amp;lt;/tt&amp;gt; volume control is available - see [[#Prerequisites|Prerequisites]].)&lt;br /&gt;
* Disable suspend and powersaving measures when armed.&lt;br /&gt;
* Disable poweroff (to the extent possible) when armed - or at least use the two seconds the power button acpi function comes active before poweroff to make as much noise as possible (it may take a while for a casual thief to actully remove the battery).&lt;br /&gt;
&lt;br /&gt;
===Alert===&lt;br /&gt;
* Start out quietly, and increase siren duration and volume if movement persists. Reset after a period of no movement.&lt;br /&gt;
* Report theft via network (if you get a chance to):&lt;br /&gt;
**Check for presence of wired or open wireless network and connect if not already connected.&lt;br /&gt;
**Send eMail to email to sms gateway or use an online sms service.&lt;br /&gt;
**If builtin webcam is present, take shots and upload them to a server or send via email. (This could be activated over a reboot, so that even if the thief gets away with the laptop, it would still be somewhat traceable.)&lt;br /&gt;
**If WAN of GPS devices are present, use it to detect position to a web server.&lt;br /&gt;
* When the alarm is triggered, also show a visual warning on the display. Override screensaver/powersaving if necessary. I.e., inform the thief that the notebook has a power on password and is useless without it. (This can be done by selecting a dedicated screensaver for that purpose.)&lt;br /&gt;
* Eject optical drive to irritate and hence slow down the thief.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* Implement this functionality in the embedded controller, so that the alarm will work even when the laptop is suspended. It may be possible to do so without IBM/Lenovo's involvement, using the [http://forum.thinkpads.com/viewtopic.php?t=20958 embedded controller disassembly].&lt;br /&gt;
* On Ubuntu, some of the paths don't work. alsactl is in /sbin, not /usr/sbin, and pidof is in /bin, not /sbin. These probably shouldn't be hardcoded paths. (Fix: create symlinks)&lt;br /&gt;
&lt;br /&gt;
==Pitfalls (and solutions?)==&lt;br /&gt;
* The audible alarm can always be suppressed by plugging earphones into the audio-jack (could be dealt with if software override for the audio-jack diversion is possible).&lt;br /&gt;
* The power button can be held to hard poweroff the notebook (can be avoided by using usb/bluetooth detection, closing the lid and sounding alarm if lid is opened before the usb/bluetooth device is present).&lt;br /&gt;
* The thief can unplug the battery to hard poweroff the notebook (can't do anything about it, but to set the alarm settings so that it goes off quickly - i.e., when using bluetooth detection, disable grace-period if activated manually)&lt;br /&gt;
&lt;br /&gt;
==Another Script (plugin-based)==&lt;br /&gt;
there's another script with the same intention available at http://www.informatik.hu-berlin.de/~pilop/HOWTO_Gentoo_T43/#TheftAlarm&lt;br /&gt;
&lt;br /&gt;
it uses a plugin-architecture for different checks (HDAPS, ethernet, power, lid, ...)&lt;br /&gt;
&lt;br /&gt;
==Yet another script (python/gtk based)==&lt;br /&gt;
You can find yet another version of this script at&lt;br /&gt;
&lt;br /&gt;
http://r3blog.nl/index.php/thinkpad-theft&lt;br /&gt;
(source at https://bitbucket.org/trbs/thinkpad-theft/overview/)&lt;br /&gt;
&lt;br /&gt;
It has almost the same features as the comprehensive script above, with a few improvements. It uses dbus to query the screensaver status and gconf for storing configuration value. To improve the delay before the alarm sounds, it has a built-in wav player, and it opens the file-descriptor of the wav at startup time (thereby removing the need to spawn an application to play the alarm; imagine someone stealing your laptop while you're doing heavy disk io). Furthermore, it has a trayicon allowing you to manipulate most settings stored in gconf aswell as showing you the current status of the alarm. The 0.2 release features activation on missing presence of a bluetooth or usb device.&lt;br /&gt;
&lt;br /&gt;
There is a [https://bitbucket.org/trbs/thinkpad-theft/overview new repository] at BitBucket that has seen some patches to fix problems with the unstable dbus-screensaver api and more.&lt;br /&gt;
&lt;br /&gt;
==Conceptional thoughts==&lt;br /&gt;
The above feature improvement suggestions partly require the theft protection software to be running as root (ACPI and hardware management), partly to be running as user (DBus SessionBus communications). Hence the following approach would be the one opening for the most coverage:&lt;br /&gt;
*theft-protection-daemon; run as root by init; controlling config, system related activation, lockdown and alarm&lt;br /&gt;
*theft-protection-trayicon; run in user-session; reporting desktop related activation criteria to the daemon and giving visual user feedback on the desktop&lt;br /&gt;
*theft-protection-properties; runnable as user; reporting configuration changes to daemon&lt;br /&gt;
&lt;br /&gt;
Ideally, they would provide a plugin-system, with plugins consisting of a functional and a gui part.&lt;br /&gt;
With this scheme, the theft protection can't be circumvented i.e. by pressing {{key|ctrl}}{{key|alt}}{{key|backspace}}.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Script_for_theft_alarm_using_HDAPS&amp;diff=49990</id>
		<title>Script for theft alarm using HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Script_for_theft_alarm_using_HDAPS&amp;diff=49990"/>
		<updated>2010-11-13T21:30:57Z</updated>

		<summary type="html">&lt;p&gt;Matt: +LCARS edition&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
&lt;br /&gt;
Recent ThinkPad models include a built-in two-axis accelerometer, as part of the [[HDAPS]] feature. This accelerometer can be put to another use: as a laptop theft deterrent. The following scripts detect when the laptop is moved, and emits a loud audio alarm. &lt;br /&gt;
&lt;br /&gt;
This alarm can be an effective deterrent against a casual laptop-snatcher in a populated environment (e.g., typical office space). It's also useful when you're across the room from the laptop and want to know if someone fiddles with it.&lt;br /&gt;
&lt;br /&gt;
Note that the alarm is disabled when the laptop is suspended or powered off. You can buy external (hardware) motion detector alarms to handle those cases.&lt;br /&gt;
&lt;br /&gt;
{{WARN|The audio alarm is played at a very high volume. Never enable the alarm while wearing headphones connected to the laptop's speaker output or when the laptop is connected to a high-power amplifier.}}&lt;br /&gt;
&lt;br /&gt;
==A comprehensive script==&lt;br /&gt;
&lt;br /&gt;
This Perl script periodically samples the tilt data reported by the accelerometer, computes the variance over recent samples, and triggers the alarm when the variance exceeds a given threshold.&lt;br /&gt;
&lt;br /&gt;
On a ThinkPad with [[Active Protection System]] running a modern Linux installation with the [[HDAPS|hdaps]] kernel module loaded, the script should work as is. Just run {{cmdroot|tp-theft --arm}} and see (or rather, hear) what happens when you tilt your laptop. &lt;br /&gt;
&lt;br /&gt;
The volume and alarm sound can be adjusted at the top of the script. On a ThinkPad {{T43}}, the synthetic siren at &amp;lt;tt&amp;gt;$alarm_volume=100&amp;lt;/tt&amp;gt; (up from the default 70) is quite ear-splitting, and combined with &amp;lt;tt&amp;gt;$acpi_volume=15&amp;lt;/tt&amp;gt; it is dangerously loud.&lt;br /&gt;
&lt;br /&gt;
The script is designed to run continuously in the background, so by default the alarm will be activated only when the KDE screen saver is locked. If you you open the laptop lid (or press the lid button) shortly before or after the beginning of movement, the alarm will be suspended (except for a brief warning) and you will get a few seconds of grace to unlock the screen saver (preferably, [[How to enable the fingerprint reader|using the integrated fingerprint reader]]!). You can disable this functionality by passing the &amp;lt;tt&amp;gt;--arm&amp;lt;/tt&amp;gt; parameter, by setting &amp;lt;tt&amp;gt;$use_kde=0&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$use_lid=0&amp;lt;/tt&amp;gt;, or by using the simpler script below.&lt;br /&gt;
&lt;br /&gt;
There is also an option to track a BlueTooth device (e.g., a mobile phone). In this case, the alarm is activated (and optionally, the KDE desktop is locked) whenever the device is turned off or too distant for a given period, and deactivated when the BlueTooth device is nearby. You need to provide the device's BD address. If both KDE screen saver and BlueTooth checking are enabled, then the alarm will be activated when *either* the screensaver is enabled or the BlueTooth device is amiss.&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
* ThinkPad with [[Active Protection System]]&lt;br /&gt;
* [[HDAPS|hdaps]] kernel module loaded (included in kernel 2.6.14 and later)&lt;br /&gt;
* Optional: [[ibm-acpi|ibm_acpi]] module loaded with the &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt; parameter (included in kernel 2.6.14 and later; needed only for full volume control)&lt;br /&gt;
The following are included in all modern Linux distributions:&lt;br /&gt;
* ALSA sound system, &amp;lt;tt&amp;gt;alsactl&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;aplay&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;amixer&amp;lt;/tt&amp;gt; )&lt;br /&gt;
* &amp;lt;tt&amp;gt;sox&amp;lt;/tt&amp;gt; (SOund eXchange) sound utility&lt;br /&gt;
&lt;br /&gt;
===The script===&lt;br /&gt;
{{CodeRef|tp-theft}}&lt;br /&gt;
&lt;br /&gt;
==A basic script==&lt;br /&gt;
&lt;br /&gt;
This is a simpler version of the above script, which omits the fancier functionality such as KDE screensaver detection, lid detection and state machine.&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
* ThinkPad with [[Active Protection System]]&lt;br /&gt;
* [[HDAPS|hdaps]] kernel module loaded (included in kernel 2.6.14 and later)&lt;br /&gt;
* &amp;lt;tt&amp;gt;aumix&amp;lt;/tt&amp;gt; mixer control utility (included in all modern Linux distributions)&lt;br /&gt;
* &amp;lt;tt&amp;gt;sox&amp;lt;/tt&amp;gt; (SOund eXchange) sound utility (included in all modern Linux distributions, e.g. packages &amp;quot;sox&amp;quot; and &amp;quot;libsox-fmt-oss&amp;quot; in Ubuntu)&lt;br /&gt;
* in newer Versions of sox (e.g. shipped with current Ubuntu), the used parameters are no longer supported. You have to replace &amp;quot;-t nul /dev/null&amp;quot; with &amp;quot;-n&amp;quot; in line 19.&lt;br /&gt;
&lt;br /&gt;
===The script===&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-theft-basic}}&lt;br /&gt;
&lt;br /&gt;
== LCARS edition ==&lt;br /&gt;
The simple script modified to show a LCARS red alert flash animation from Star Trek Voyager instead of a beep.&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
* ThinkPad with [[Active Protection System]]&lt;br /&gt;
* [[HDAPS|hdaps]] kernel module loaded (included in kernel 2.6.14 and later)&lt;br /&gt;
* &amp;lt;tt&amp;gt;gtk-gnash&amp;lt;/tt&amp;gt; [http://www.gnashdev.org/ Gnash] a GNU SWF movie player&lt;br /&gt;
* internet connection to get the swf from http://lcars.org.uk (you may download the file and adjust the path)&lt;br /&gt;
&lt;br /&gt;
===The script===&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-theft-lcars}}&lt;br /&gt;
&lt;br /&gt;
==Ideas for improvement==&lt;br /&gt;
Features awaiting contribution:&lt;br /&gt;
&lt;br /&gt;
===Activation===&lt;br /&gt;
* Gnome and xscreensaver support (similarly to [http://fdd.com/software/radeon/lightwatch.pl lightwatch.pl]?)&lt;br /&gt;
* Monitor X server presence  and make noise on sudden X server shutdown (i.e. catch {{key|ctrl}}{{key|alt}}{{key|backspace}} events).&lt;br /&gt;
* Monitor AC power and take it into account for alarm activation -- thieves seldom carry a UPS.&lt;br /&gt;
* Don't arm the alarm if movement of similar magnitude was happening also before the screensaver was auto-locked (the owner might be in a moving vehicle, etc.).&lt;br /&gt;
* Disarm the alarm (or hold it off for a few seconds, as already implemented for lid open) based on voice/sound recognition using the built-in microphone.&lt;br /&gt;
* Use fingerprint reader to disarm the alarm.&lt;br /&gt;
&lt;br /&gt;
===Precaution===&lt;br /&gt;
* Disable the alarm when headphones are plugged in -- it may cause hearing damage (if the user ignores the initial warning), and won't be effective anyway. '''Can we detect whether the something is plugged into the headphones/line-out socket?'''&lt;br /&gt;
* Theft attempts may be accompanied by rough handling, especially when the siren kicks in. So when starting an alarm also park the disk heads. Release the parking when a key is pressed (according {{path|/sys/bus/platform/drivers/hdaps/hdaps/keyboard_activity}}) so that the login prompt can start up. This requires kernel support for disk head parking and queue freezing, currently developed for the (original) HDAPS functionality.&lt;br /&gt;
&lt;br /&gt;
===Indication===&lt;br /&gt;
* Use XOSD to ivisually ndicate state changes.&lt;br /&gt;
* Use TrayIcon to indicate state changes.&lt;br /&gt;
* Use Notifications to indicate state changes.&lt;br /&gt;
&lt;br /&gt;
===Lockdown===&lt;br /&gt;
* Disable the volume buttons when the script is running so that a thief can't just turn the volume down. (Not an issue when &amp;lt;tt&amp;gt;ibm_acpi&amp;lt;/tt&amp;gt; volume control is available - see [[#Prerequisites|Prerequisites]].)&lt;br /&gt;
* Disable suspend and powersaving measures when armed.&lt;br /&gt;
* Disable poweroff (to the extent possible) when armed - or at least use the two seconds the power button acpi function comes active before poweroff to make as much noise as possible (it may take a while for a casual thief to actully remove the battery).&lt;br /&gt;
&lt;br /&gt;
===Alert===&lt;br /&gt;
* Start out quietly, and increase siren duration and volume if movement persists. Reset after a period of no movement.&lt;br /&gt;
* Report theft via network (if you get a chance to):&lt;br /&gt;
**Check for presence of wired or open wireless network and connect if not already connected.&lt;br /&gt;
**Send eMail to email to sms gateway or use an online sms service.&lt;br /&gt;
**If builtin webcam is present, take shots and upload them to a server or send via email. (This could be activated over a reboot, so that even if the thief gets away with the laptop, it would still be somewhat traceable.)&lt;br /&gt;
**If WAN of GPS devices are present, use it to detect position to a web server.&lt;br /&gt;
* When the alarm is triggered, also show a visual warning on the display. Override screensaver/powersaving if necessary. I.e., inform the thief that the notebook has a power on password and is useless without it. (This can be done by selecting a dedicated screensaver for that purpose.)&lt;br /&gt;
* Eject optical drive to irritate and hence slow down the thief.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* Implement this functionality in the embedded controller, so that the alarm will work even when the laptop is suspended. It may be possible to do so without IBM/Lenovo's involvement, using the [http://forum.thinkpads.com/viewtopic.php?t=20958 embedded controller disassembly].&lt;br /&gt;
* On Ubuntu, some of the paths don't work. alsactl is in /sbin, not /usr/sbin, and pidof is in /bin, not /sbin. These probably shouldn't be hardcoded paths. (Fix: create symlinks)&lt;br /&gt;
&lt;br /&gt;
==Pitfalls (and solutions?)==&lt;br /&gt;
* The audible alarm can always be suppressed by plugging earphones into the audio-jack (could be dealt with if software override for the audio-jack diversion is possible).&lt;br /&gt;
* The power button can be held to hard poweroff the notebook (can be avoided by using usb/bluetooth detection, closing the lid and sounding alarm if lid is opened before the usb/bluetooth device is present).&lt;br /&gt;
* The thief can unplug the battery to hard poweroff the notebook (can't do anything about it, but to set the alarm settings so that it goes off quickly - i.e., when using bluetooth detection, disable grace-period if activated manually)&lt;br /&gt;
&lt;br /&gt;
==Another Script (plugin-based)==&lt;br /&gt;
there's another script with the same intention available at http://www.informatik.hu-berlin.de/~pilop/HOWTO_Gentoo_T43/#TheftAlarm&lt;br /&gt;
&lt;br /&gt;
it uses a plugin-architecture for different checks (HDAPS, ethernet, power, lid, ...)&lt;br /&gt;
&lt;br /&gt;
==Yet another script (python/gtk based)==&lt;br /&gt;
You can find yet another version of this script at&lt;br /&gt;
&lt;br /&gt;
http://r3blog.nl/index.php/thinkpad-theft&lt;br /&gt;
(source at https://bitbucket.org/trbs/thinkpad-theft/overview/)&lt;br /&gt;
&lt;br /&gt;
It has almost the same features as the comprehensive script above, with a few improvements. It uses dbus to query the screensaver status and gconf for storing configuration value. To improve the delay before the alarm sounds, it has a built-in wav player, and it opens the file-descriptor of the wav at startup time (thereby removing the need to spawn an application to play the alarm; imagine someone stealing your laptop while you're doing heavy disk io). Furthermore, it has a trayicon allowing you to manipulate most settings stored in gconf aswell as showing you the current status of the alarm. The 0.2 release features activation on missing presence of a bluetooth or usb device.&lt;br /&gt;
&lt;br /&gt;
There is a [https://bitbucket.org/trbs/thinkpad-theft/overview new repository] at BitBucket that has seen some patches to fix problems with the unstable dbus-screensaver api and more.&lt;br /&gt;
&lt;br /&gt;
==Conceptional thoughts==&lt;br /&gt;
The above feature improvement suggestions partly require the theft protection software to be running as root (ACPI and hardware management), partly to be running as user (DBus SessionBus communications). Hence the following approach would be the one opening for the most coverage:&lt;br /&gt;
*theft-protection-daemon; run as root by init; controlling config, system related activation, lockdown and alarm&lt;br /&gt;
*theft-protection-trayicon; run in user-session; reporting desktop related activation criteria to the daemon and giving visual user feedback on the desktop&lt;br /&gt;
*theft-protection-properties; runnable as user; reporting configuration changes to daemon&lt;br /&gt;
&lt;br /&gt;
Ideally, they would provide a plugin-system, with plugins consisting of a functional and a gui part.&lt;br /&gt;
With this scheme, the theft protection can't be circumvented i.e. by pressing {{key|ctrl}}{{key|alt}}{{key|backspace}}.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Code/tp-theft-lcars&amp;diff=49989</id>
		<title>Talk:Code/tp-theft-lcars</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Code/tp-theft-lcars&amp;diff=49989"/>
		<updated>2010-11-13T21:30:08Z</updated>

		<summary type="html">&lt;p&gt;Matt: code header&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CodeHeader|&lt;br /&gt;
|filename=tp-theft-lcars.pl&lt;br /&gt;
|context=[[Script for theft alarm using HDAPS#LCARS edition]]&lt;br /&gt;
|author=[[User:Thinker|Thinker]], [[User:Matt|Matt]]&lt;br /&gt;
|license=GPL v2 or higher, or GFDL v1.2 or higher&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/tp-theft-lcars&amp;diff=49988</id>
		<title>Code/tp-theft-lcars</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/tp-theft-lcars&amp;diff=49988"/>
		<updated>2010-11-13T21:28:21Z</updated>

		<summary type="html">&lt;p&gt;Matt: release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
# tp-theft-lcars v0.1 (http://thinkwiki.org/wiki/Script_for_theft_alarm_using_HDAPS)&lt;br /&gt;
# This script uses the HDAPS accelerometer found on recent ThinkPad models&lt;br /&gt;
# to emit an audio alarm when the laptop is tilted. In sufficiently&lt;br /&gt;
# populated environments, it can be used as a laptop theft deterrent.&lt;br /&gt;
#&lt;br /&gt;
# This file is placed in the public domain and may be freely distributed.&lt;br /&gt;
#&lt;br /&gt;
# Here comes a modified version which requires an internet connection and gnash.&lt;br /&gt;
# It shows a LCARS red alert flash animation from Star Trek Voyager instead of a beep.&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use warnings;&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# Audio volume (0..100)&lt;br /&gt;
my $volume = 70;&lt;br /&gt;
&lt;br /&gt;
my $play_cmd = &amp;quot;gtk-gnash --fullscreen http://www.lcars.org.uk/lcars_files/LCARS_prey_emergency_scan_analysis.swf&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# Other tweakables&lt;br /&gt;
&lt;br /&gt;
my $thresh = 0.20;   # tilt threshold (increase value to decrease sensitivity)&lt;br /&gt;
my $interval = 0.1;  # sampling interval in seconds&lt;br /&gt;
my $depth = 10;      # number of recent samples to analyze&lt;br /&gt;
my $pos_file='/sys/devices/platform/hdaps/position';&lt;br /&gt;
my $verbose = 1;&lt;br /&gt;
&lt;br /&gt;
##############################&lt;br /&gt;
# Code&lt;br /&gt;
&lt;br /&gt;
sub get_pos {&lt;br /&gt;
    open(POS,&amp;quot;&amp;lt;&amp;quot;,$pos_file) or die &amp;quot;Can't open HDAPS file $pos_file: $!\n&amp;quot;;&lt;br /&gt;
    $_=&amp;lt;POS&amp;gt;;&lt;br /&gt;
    m/^\((-?\d+),(-?\d+)\)$/ or die &amp;quot;Can't parse $pos_file content\n&amp;quot;;&lt;br /&gt;
    return ($1,$2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub stddev {&lt;br /&gt;
    my $sum=0;&lt;br /&gt;
    my $sumsq=0;&lt;br /&gt;
    my $n=$#_+1;&lt;br /&gt;
    for my $v (@_) {&lt;br /&gt;
	$sum += $v;&lt;br /&gt;
	$sumsq += $v*$v;&lt;br /&gt;
    }&lt;br /&gt;
    return sqrt($n*$sumsq - $sum*$sum)/($n*($n-1));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
my (@XHIST, @YHIST);&lt;br /&gt;
my ($x,$y) = get_pos;&lt;br /&gt;
for (1..$depth) {&lt;br /&gt;
    push(@XHIST,$x);&lt;br /&gt;
    push(@YHIST,$y);&lt;br /&gt;
}&lt;br /&gt;
my $alarm_file; # flags ongoing alarm (and stores saved mixer settings)&lt;br /&gt;
&lt;br /&gt;
while (1) {&lt;br /&gt;
    my ($x,$y) = get_pos;&lt;br /&gt;
    shift(@XHIST); push(@XHIST,$x);&lt;br /&gt;
    shift(@YHIST); push(@YHIST,$y);&lt;br /&gt;
    my $xdev = stddev(@XHIST);&lt;br /&gt;
    my $ydev = stddev(@YHIST);&lt;br /&gt;
&lt;br /&gt;
    # Print variance and history&lt;br /&gt;
    print &amp;quot;X: v=$xdev (&amp;quot;.join(',',@XHIST).&amp;quot;)  Y: v=$ydev (&amp;quot;.join(&amp;quot;,&amp;quot;,@YHIST).&amp;quot;)\n&amp;quot; if $verbose&amp;gt;1;&lt;br /&gt;
&lt;br /&gt;
    my $tilted = $xdev&amp;gt;$thresh || $ydev&amp;gt;$thresh;&lt;br /&gt;
&lt;br /&gt;
    if ($tilted &amp;amp;&amp;amp; !(defined($alarm_file) &amp;amp;&amp;amp; -f $alarm_file)) {&lt;br /&gt;
	print &amp;quot;ALARM\n&amp;quot; if $verbose&amp;gt;0;&lt;br /&gt;
	$alarm_file = `mktemp /tmp/hdaps-tilt.XXXXXXXX` or die &amp;quot;mktemp: $?&amp;quot;;&lt;br /&gt;
	chomp($alarm_file);&lt;br /&gt;
	system('/bin/bash', '-c', &amp;lt;&amp;lt;&amp;quot;EOF&amp;quot;)==0 or die &amp;quot;Failed: $?&amp;quot;;&lt;br /&gt;
($play_cmd) &amp;amp;&lt;br /&gt;
EOF&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    select(undef, undef, undef, $interval); # sleep&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X61s&amp;diff=49936</id>
		<title>Category:X61s</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X61s&amp;diff=49936"/>
		<updated>2010-11-04T19:12:26Z</updated>

		<summary type="html">&lt;p&gt;Matt: Image of X60 → X61s&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 X61s ===&lt;br /&gt;
This pages gives an overview of all ThinkPad X61s related topics.&lt;br /&gt;
&lt;br /&gt;
==== Standard Features ====&lt;br /&gt;
* One of the following low-voltage processors:&lt;br /&gt;
** [[Intel Core 2 Duo]] CPU L7300 @ 1.40 GHz&lt;br /&gt;
** [[Intel Core 2 Duo]] CPU L7500 @ 1.60 GHz&lt;br /&gt;
** [[Intel Core 2 Duo]] CPU L7700 @ 1.80 GHz&lt;br /&gt;
* [[Intel Graphics Media Accelerator X3100]]&lt;br /&gt;
** 12.1&amp;quot; TFT display with 1024x768 resolution&lt;br /&gt;
* 1GB or 2GB memory [[PC2-5300]] memory standard, max 4GB&lt;br /&gt;
* 120GB, [..]  SATA HDD &lt;br /&gt;
* [[Active Protection System]]&lt;br /&gt;
* Intel HD Audio with [[AD1984]] codec&lt;br /&gt;
* [[Intel Gigabit Ethernet (10/100/1000) PCI-Express]]&lt;br /&gt;
* [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]] / [[Intel PRO/Wireless 4965AGN Mini-PCI Express Adapter]]&lt;br /&gt;
* [[Embedded Security Subsystem|Trusted Computing Group TPM 1.2]]&lt;br /&gt;
* [[Integrated Fingerprint Reader]] in some models&lt;br /&gt;
* [[SD Card slot]] with IO support&lt;br /&gt;
* [[CardBus slot]] (Type 2)&lt;br /&gt;
* [[Firewire Port|Firewire 400]] (IEEE1394a)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:X61s.jpg|ThinkPad X61s]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
* {{IBMDOCURL|MIGR-62866|ThinkPad X60, X60s, X61, X61s - Hardware Maintenance Manual}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:X61s.jpg&amp;diff=49935</id>
		<title>File:X61s.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:X61s.jpg&amp;diff=49935"/>
		<updated>2010-11-04T19:11:18Z</updated>

		<summary type="html">&lt;p&gt;Matt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=IBM_11b/g_Wireless_LAN_Mini_PCI_Adapter&amp;diff=49220</id>
		<title>IBM 11b/g Wireless LAN Mini PCI Adapter</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=IBM_11b/g_Wireless_LAN_Mini_PCI_Adapter&amp;diff=49220"/>
		<updated>2010-07-26T12:42:06Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* Linux WiFi driver */ linkfix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&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;
&lt;br /&gt;
This is a Mini-PCI WiFi Adapter that is installed in a Mini-PCI slot.&lt;br /&gt;
== Features ==&lt;br /&gt;
* Chipset: Atheros AR5004G &lt;br /&gt;
* Radio chip: Atheros AR2112&lt;br /&gt;
* MAC Processor: Atheros AR5213&lt;br /&gt;
* IEEE Standards: 802.11b, 802.11g&lt;br /&gt;
* PCI ID: 168c:0013&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:mini-pci-wifi-card.gif|Mini-PCI WiFi Adapter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IBM Partnumbers ==&lt;br /&gt;
IBM FRU PN (WW): 91P7418, 93P3477&amp;lt;br&amp;gt;&lt;br /&gt;
IBM FRU PN (USA, Canada, Taiwan): 91P7416, 93P3475&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Also known (in IBM literature) as.... ==&lt;br /&gt;
* 802.11b/g Ambit wireless card&lt;br /&gt;
* 802.11 b/g Clymer Wireless Card&lt;br /&gt;
* ThinkPad 11b/g Wi-Fi wireless&lt;br /&gt;
&lt;br /&gt;
== Linux WiFi driver ==&lt;br /&gt;
This adapter should be automatically supported in recent distributions with the [[ath5k]] driver. However this driver might be unstable unless you have at least kernel 2.6.29.&lt;br /&gt;
&lt;br /&gt;
Alternatively the [[Madwifi]] driver works with this adapter.&lt;br /&gt;
&lt;br /&gt;
* LEDs might not light up: see http://madwifi-project.org/wiki/UserDocs/EnableLEDs&lt;br /&gt;
&lt;br /&gt;
Madwifi driver works fine on R51e, but the antenna seems to stay switched off after suspend to disk and cannnot be activated without a reboot. Somewhat annoying, shutting down the device before suspend to disk does not solve the problem.&lt;br /&gt;
&lt;br /&gt;
== ThinkPads this card may be found in ==&lt;br /&gt;
* {{G40}}, {{G41}}&lt;br /&gt;
* {{R51}}, {{R51e}}, {{R52}}&lt;br /&gt;
* {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
* {{X31}}, {{X40}}&lt;br /&gt;
&lt;br /&gt;
== ThinkPads this card may also work with ==&lt;br /&gt;
* {{T30}} (2366-86G - works)&lt;br /&gt;
* {{R40}} (2681-GCJ - works with 1.27 BIOS)&lt;br /&gt;
* {{R32}} (2658-CJ2 - works with 2.16 BIOS)&lt;br /&gt;
* {{T41}} (2373 - works with 3.23 BIOS / 3.04 EC)&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=44500</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=44500"/>
		<updated>2009-10-14T18:14:23Z</updated>

		<summary type="html">&lt;p&gt;Matt: +2672C2G after BIOS upgrade&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;
| {{T40}} 2373-42G&lt;br /&gt;
|| IBM || 237342G || ThinkPad T40  || IBM || 237342G || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003&lt;br /&gt;
|| [[ATI Mobility Radeon 7500]]&lt;br /&gt;
||&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-JTU&lt;br /&gt;
|| IBM || 2373JTU || ThinkPad T42 || IBM || 2373JTU || 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}} 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}} 7659-W13&lt;br /&gt;
|| LENOVO || 7659W13 || ThinkPad T61 || LENOVO || 7659W13 || Not Available || LENOVO || Not Available || LENOVO || 7LET44WW (1.14 ) || 06/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}} 7659-W13&lt;br /&gt;
|| LENOVO || 7659W13 || ThinkPad T61 || LENOVO || 7659W13 || 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;
| {{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;
| {{T500}} 2242-CTO&lt;br /&gt;
|| LENOVO || 2242CTO || ThinkPad T500 || LENOVO || 2242CTO || Not Available || LENOVO || Not Available || LENOVO || 6FET66WW (2.16 ) || 04/22/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;
! 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}} 2672C2G&lt;br /&gt;
|| IBM || 2672C2G || Not Available || IBM || 2672C2G || 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}} 2672C2G&lt;br /&gt;
|| IBM || 2672C2G || ThinkPad X31 || IBM || 2672C2G || 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-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;
| {{X60}} 1706-GMG&lt;br /&gt;
|| LENOVO || 1706GMG || ThinkPad X60 || LENOVO || 1706GMG || Not Available || LENOVO || Not Available || LENOVO || 7BETC4WW (2.05 ) || 11/17/2006&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;
| {{X60}} 1706-GMG&lt;br /&gt;
|| LENOVO || 1706GMG || ThinkPad X60 || LENOVO || 1706GMG || Not Available || LENOVO || Not Available || LENOVO || &lt;br /&gt;
7BETD7WW (2.18 ) || 11/20/2008&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;
| {{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;
| {{X200}} 7458-E46&lt;br /&gt;
|| LENOVO || 7458E46 || ThinkPad X200 || LENOVO || 7458E46 || Not Available || LENOVO || Not Available || LENOVO || 7XET57WW (3.07 ) || 08/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;
| {{X200s}} &lt;br /&gt;
|| LENOVO || 7469WDR || ThinkPad X200s || LENOVO || 7469WDR || Not Available || LENOVO || Not Available || LENOVO || 6DET44WW (2.08 ) || 04/22/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;
| {{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>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=44499</id>
		<title>BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=44499"/>
		<updated>2009-10-14T17:11:33Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* Booting the image with syslinux */ +memdisk at Ubuntu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is meant to describe ways to update the BIOS on a ThinkPad that only runs Linux for users that don't have ready access to Windows. If you have Windows on your ThinkPad you can just boot into it and follow instructions on the IBM website.&lt;br /&gt;
&lt;br /&gt;
{{NOTE| In one case ([[APM setup on a type 2379 ThinkPad T40]]) it was not possible to upgrade the BIOS from Windows XP; a downgrade to Windows 98 was required to successfully run the BIOS upgrade app. The symptoms in this case were that, once the files had been extracted to the hard disk, and the machine was to reboot into the upgrade app, it would beep and hang just before reboot, requiring a power cycle. Once the power was cycled, it would simply reboot back into XP without performing any BIOS upgrade actions. So even if you have Windows, you may still need to use the info on this page.}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==Before You Begin==&lt;br /&gt;
Updating the BIOS in Linux (with few exceptions) '''is not officially supported''' by IBM/Lenovo.  However there are work arounds.&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your thinkpad into a big expensive paper weight, as a firmware update gone wrong can create unfixable problems.&lt;br /&gt;
&lt;br /&gt;
'''Proceed at your own risk!'''&lt;br /&gt;
&lt;br /&gt;
It is also important to understand that Thinkpads from IBM have two separate firmwares: the BIOS, and the Embedded Controller program.  A given BIOS version will require a certain version of the Embedded Controller program.&lt;br /&gt;
&lt;br /&gt;
The IBM documentation is sometimes unclear about the order in which these two firmwares should be updated.  On most, but not all Thinkpads, '''the correct update order is Embedded Controller program first, and then the BIOS'''.  Make sure to do the two updates immediately one after the other.  Newer models from Lenovo update both the Embedded Controller program and the BIOS at the same time, so you don't have to worry about it.}}&lt;br /&gt;
&lt;br /&gt;
===DMI IDs===&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] before (and after) updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
==BIOS Upgrade Paths==&lt;br /&gt;
&lt;br /&gt;
For every firmware (either BIOS or Embedded Controller program) update on the IBM web site there used to be two different firmware update programs provided. The Diskette Updater and the Non Diskette Updater. For newer Lenovo Models the Diskette Updater is replaced with a bootable CD-Image and the Non Diskette Updater is renamed BIOS Update Utility, both of which update the BIOS and the Embedded Controller program at the same time. A list of links to firmware downloads can be found at [[BIOS Upgrade Downloads]] for nearly all Thinkpad Models.&lt;br /&gt;
&lt;br /&gt;
===The Diskette Updater===&lt;br /&gt;
&lt;br /&gt;
{{WARN|If the floppy fails while flashing, your ThinkPad will need a repair shop}}&lt;br /&gt;
&lt;br /&gt;
The Diskette updater appears to be a 16 bit DOS program which asks you to accept a license agreement.  It will run in Windows, DOS, OS/2, or [http://dosemu.sf.net Dosemu] perfectly, but requires a real floppy disk attached via a real floppy controller.  A USB Floppy Drive will not work. &lt;br /&gt;
&lt;br /&gt;
The flash environment can be a really dumb piece of work and it will be reading the data from the floppy as it goes, i.e. it is dangerous as all heck should the floppy reads fail.  Use a clean (in the physical sense) floppy and floppy drive.  Have two or more flash disks ready, all of them binary copies of each other, and all of them tested to be perfectly readable.  And the only thing you can tell DOS without risking your ThinkPad, is to &amp;quot;Retry&amp;quot; if it asks.&lt;br /&gt;
&lt;br /&gt;
Important floppy-drive knowledge for those who are not used to them:&lt;br /&gt;
* One floppy is never enough.  Good quality ones are very dependable for short-time data storage when new, but chances are you'll be using either old or extra-shitty diskettes (good ones have not been manufactured for a long while now), so you cannot trust them at all&lt;br /&gt;
* When a floppy fails to read because you failed at the &amp;quot;use clean floppies&amp;quot; part, it may get dirt stuck to the drive head and will not work well until cleaned&lt;br /&gt;
* You can clean a floppy disk, but it requires much care as you must do it without using any fluids, and you only want to remove the dirt on top of the metal-oxide layer, without damaging said layer (i.e. you can't rub it, and you can't cause any scratches)&lt;br /&gt;
* Dirty driver heads sometime damage floppies.  Wet driver heads always damage floppies.  Clean the drive heads first, and make sure to wait until they dry before inserting a floppy in the drive&lt;br /&gt;
* You may need to clean the floppy drive head before it will work again if it gets dirty.  You'll need the usual &amp;quot;floppy disk cleaner diskette with isopropil alcohol&amp;quot; kit to fix it (if you know the other way to clean the heads, you don't need to be reading this!), always telling DOS to &amp;quot;retry&amp;quot; (hit anything else, and your ThinkPad is likely toast)&lt;br /&gt;
* If you forget to let the head dry after a cleaning, it will destroy the next floppy it touches and get very dirty.&lt;br /&gt;
&lt;br /&gt;
===The Bootable CD Image===&lt;br /&gt;
&lt;br /&gt;
Newer models from Lenovo can be updated using the Bootable CD Image.  This should be the easiest way for non-Windows users and also maybe a more secure way for Windows users, as well. As the image is provided as a plain ISO-file without any Windows enclosure, you can simply burn it to a CD-R/RW with any modern operating system, as long as you have a CD/DVD-RW Drive and are then able to boot from it.&lt;br /&gt;
&lt;br /&gt;
===Extracting a Bootable CD-ROM Image from the Non Diskette Updater===&lt;br /&gt;
{{WARN|Though this process was successfully tested on one version of .exe files found on IBMs website this doesn't mean it will work for all of them.  Proceed at your own risk.  Consult the list at the bottom of this page to see other users' experience with your model Thinkpad.}}&lt;br /&gt;
&lt;br /&gt;
This installer appears to be a 32bit windows .exe which is designed for updating the BIOS directly from a running Windows OS.  It turns out that this .exe is really a wrapper license program around Windows .cab files (see [[How_to_change_the_BIOS_bootsplash_screen|BIOS-Bootsplash]]).  If you install the Linux program [http://freshmeat.net/projects/cabextract/ '''cabextract'''] you can expand these .cab files directly.  Run the following:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cabextract FILENAME.exe}}&lt;br /&gt;
&lt;br /&gt;
This will extract 8 files in the current directory.  One of them will be FILENAME.img.  In this discussion, &amp;quot;FILENAME&amp;quot; represents the name of the Non Diskette file that you downloaded, such as &amp;quot;1NHJ04US&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The non Diskette download was not extractable for at least the version 3.23 (T41p), but the diskette version worked perfectly - cabextract delivered a .img file to continue here...&lt;br /&gt;
&lt;br /&gt;
You can test that this is really a floppy image by running:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkdir mntfloppy}}&lt;br /&gt;
:{{cmdroot|mount -o loop FILENAME.img mntfloppy}}&lt;br /&gt;
:{{cmdroot|ls -la mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
If the results of {{cmdroot|ls -la mntfloppy}} look like a dos floppy, and no read errors were displayed, you have a pretty good chance that the floppy image is usable.&lt;br /&gt;
&lt;br /&gt;
Unmount the image after you are done:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|umount mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
Now, you can proceed to [[BIOS_Upgrade:Creating a Bootable CD from a Floppy Image]], below.&lt;br /&gt;
&lt;br /&gt;
===Booting the image with syslinux===&lt;br /&gt;
&lt;br /&gt;
Once the image is extracted from the Non Diskette Updater, it can be booted directly through GRUB without the need of burning a CD. This method has been tested on T42 with a broken DVD-ROM, but it should be applicable to any ThinkPad.&lt;br /&gt;
&lt;br /&gt;
'''1.''' Download the '''Non Diskette Updater'''.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Extract the images using '''cabextract''' (see previous sections for details). Let's say that the image file is called {{path|1RUJ37US.IMG}} (replace with the actual filename).&lt;br /&gt;
&lt;br /&gt;
'''3.''' Make sure that &amp;lt;tt&amp;gt;syslinux&amp;lt;/tt&amp;gt; package is installed in your system. Locate the &amp;lt;tt&amp;gt;memdisk&amp;lt;/tt&amp;gt; file from the syslinux package. In case of openSUSE 11.1, it is placed in {{path|/usr/share/syslinux/memdisk}}. On Ubuntu 9.04, it can be found at {{path|/usr/lib/syslinux/memdisk}}.&lt;br /&gt;
&lt;br /&gt;
{{HINT|If you use rpm, try calling &amp;lt;tt&amp;gt;$ rpm -q syslinux --list&amp;lt;/tt&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
'''4.''' Copy both the '''image and memdisk''' files into {{path|/boot}} directory. You must be root to do this.&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cp ./1RUJ37US.IMG /usr/share/syslinux/memdisk /boot/}}&lt;br /&gt;
&lt;br /&gt;
'''5.''' Open {{path|/boot/grub/menu.lst}} in your favourite editor.&lt;br /&gt;
&lt;br /&gt;
'''6.''' Copy the active section and edit &amp;lt;tt&amp;gt;title&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;kernel&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; according to this example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;title IBM BIOS update&lt;br /&gt;
    root (hd0,0)&lt;br /&gt;
    kernel /boot/memdisk&lt;br /&gt;
    initrd /boot/1RUJ37US.IMG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; section must remain unchanged. This tells GRUB, on which partition the image is located.}}&lt;br /&gt;
{{WARN|Do not modify the original section in &amp;lt;tt&amp;gt;/boot/grub/menu.lst&amp;lt;/tt&amp;gt;. You might not be able to boot back to the operating system}}&lt;br /&gt;
&lt;br /&gt;
== Updating Thinkpad X Series ==&lt;br /&gt;
&lt;br /&gt;
The special update instructions for X series Thinkpads are quite long. You can find them at the page [[BIOS_Upgrade/X_Series]].&lt;br /&gt;
&lt;br /&gt;
==Updating via CD/DVD Drive==&lt;br /&gt;
&lt;br /&gt;
The whole thing gets more complicated if you neither have Windows nor a floppy drive installed. This is what this page is intended to describe.&lt;br /&gt;
&lt;br /&gt;
Another possibility which works even without a CD-drive or network is to boot the disk image via the grub initrd mechanism.&lt;br /&gt;
&lt;br /&gt;
Be aware that IBM officially does '''not''' support this! The official statement to my support request was:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
I'm afraid we only support the options listed on our web page and no you&lt;br /&gt;
can't burn a CD/DVD, however you can try to use an external USB FDD&lt;br /&gt;
(floppy) drive. The experts recommend a IBM USB FDD, however they have also&lt;br /&gt;
tested it with a Sony USB FDD drive.&lt;br /&gt;
&lt;br /&gt;
In order to make sure the drive is recognised you can boot up the FDD with&lt;br /&gt;
a bootable dos diskette for w98&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But it seems to be possible as Mathias Dalheimer describes this [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html here].&lt;br /&gt;
&lt;br /&gt;
Another indication that it should work is that IBM uses PHLASH16.EXE (at least on T4x/p systems) to flash the BIOS into the chip. The same tool is used by [http://www.samsungpc.com/gb/support/p35/bios/bios-instructions.html other vendors] to flash the BIOS from bootable CD-ROMs.&lt;br /&gt;
{{WARN|Do '''not''' use the [http://syslinux.zytor.com/ SYSLINUX] image-loader [http://syslinux.zytor.com/memdisk.php MEMDISK] to boot the images! Some flash tools crash in that situation!}}&lt;br /&gt;
&lt;br /&gt;
Some interesting but very technical information about the used flash tool can be found [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html here].&lt;br /&gt;
&lt;br /&gt;
===Creating a Floppy Image===&lt;br /&gt;
If you have created a boot floppy on another machine, you need to create an image file of that floppy. This can be easily done in linux by running a command line:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=dd bs=2x80x18b if=/dev/fd0 of=/tmp/floppy.img}}&lt;br /&gt;
&lt;br /&gt;
You can also create a floppy image by using Ken Kato's [http://chitchat.at.infoseek.co.jp/vmware/vfd.html VMware's back]. It is a free Windoze tool that creates a virtual floppy drive and allows you to produce an image file ready to be ISO'ed. Note: you might have to 'manually' (through application's interface) assign the virtual drive a volume letter in order to be seen by IBM's application (as, by default, it seems not to do it).&lt;br /&gt;
&lt;br /&gt;
You should verify this {{path|floppy.img}} as explained above.&lt;br /&gt;
&lt;br /&gt;
===Creating a Bootable CD from a Floppy Image===&lt;br /&gt;
Once you have your floppy image, either from imaging a real floppy, or from extracting them via the cabextract method above, you need to make a boot CD out of it.&lt;br /&gt;
&lt;br /&gt;
The eltorito bootable CD standard is a wonderful thing.  What this means is that a bootable CD can be made with a bootable floppy in such as way that the CD believes that it is a 2.88 MB floppy drive.  This allows you to replace a boot floppy by a boot CD in nearly all situations.&lt;br /&gt;
&lt;br /&gt;
It is very easy to create such a bootable CD ISO image in Linux using the mkisofs tool.  To do this run a command as follows:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkisofs -b bootfloppy.img -o bootcd.iso bootfloppy.img}}&lt;br /&gt;
&lt;br /&gt;
where bootfloppy.img is the name of the .img floppy image file, for example 1NUJ10US.IMG.&lt;br /&gt;
&lt;br /&gt;
Note: This creates a CD with one file on it and marks that file as the boot image.  For more info on this read {{cmduser|man mkisofs}}.&lt;br /&gt;
&lt;br /&gt;
You can now burn the {{path|bootcd.iso}} in your favorite CD burning program.&lt;br /&gt;
&lt;br /&gt;
To get an overview which models have been tested with this version, here is a list:&lt;br /&gt;
&lt;br /&gt;
===Does work:===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''Model''' || '''Tested by'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{600E}} (2645-4AU) ||&lt;br /&gt;
*George Tellalov &amp;lt;gtellalov_dontspamme@bigfoot.com&amp;gt;. BIOS 1.16 from spsdin36.exe worked perfectly with the method bootable cd from floppy image. I highly recommend this upgrade because it made my ibm-acpi module load (it wouldn't load before) and fixed some suspend to ram problems. Here's the [http://george.tellalov.info/bios_upgrade_600e_spsdin36.iso cd image] I used. Use at your own risk. You can send me a chocolate if it works for you ;)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{600E}} (2645-5bU) ||&lt;br /&gt;
*Mike Vincent&amp;lt;matchstc-putobvioushere.com&amp;gt;. Bios 1.16 from spsdin36.exe and then to the boot cd worked great for me. Thought I had bricked it three separate times using a &amp;quot;real&amp;quot; floppy! Each from different diskettes .The updater would start, give me the &amp;quot;going to take30 seconds&amp;quot; speech...and then access the HD for 10 minutes. Each time it would reboot fine. Did the cd as described above...worked great first time. Perhaps 10 year old seldom used floppy disc drives have some challenges?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{600X}} (2645) ||&lt;br /&gt;
*Jonathan Byrne &amp;lt;jonathan@RemoveThisToMailMe.yamame.org&amp;gt;. BIOS 1.11 from spsuit55.exe worked perfectly using cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{600X}} (2645) ||&lt;br /&gt;
*Andy Barnes &amp;lt;andy@RemoveThisToMailMe.itchypaws.co.uk&amp;gt;. As per Jonathan above, extracted BIOS 1.11 from spsuit55.exe using cabextract, created a CD boot image and burnt to CD.  Worked flawlessly - thanks to everyone who contributed to this article!&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{A20p}} (2629-6VU) ||&lt;br /&gt;
*Chris Pickett http://www.sable.mcgill.ca/~cpicke/. BIOS 1.11 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{A21e}} (2628-JXU) ||&lt;br /&gt;
*Amit Gurdasani &amp;lt;gurdasani at yahoo dot com&amp;gt;. BIOS 1.13 flashed fine with cabextract/CD method. Alarmingly, after the BIOS update, the laptop beeped but did not shut down as was indicated onscreen -- that was frozen on the &amp;quot;do not shut down the laptop&amp;quot; screen. On power down and up again, the BIOS setup showed the newer BIOS image running, and Linux booted up fine. Linux ACPI didn't complain about the BIOS being too old either.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{A31p}} (2653) ||&lt;br /&gt;
*Matthias Meinke largeeddy@gmx.at, BIOS 1.09 1NET15WW flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{A31}} (2652) ||&lt;br /&gt;
*[[User:Wnoise|Aaron Denney]], BIOS 1.13 flashed fine with cabextract/CD method.  The cabextract/CD method also worked for BIOS 1.10.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{R30}}  ||&lt;br /&gt;
*Jarrod, 30 August 2007, Thinkpad R30 Type 2656-E0M. BIOS updated to 1.40 (1CETF0WW) using floppy disk/mkisofs/cdrecord. Worked fine, no problems. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{R31}} ||&lt;br /&gt;
*[http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html Mathias Dalheimer]&lt;br /&gt;
*Sebastian Sauer (with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R40}} ||&lt;br /&gt;
*Matthew Lambie, http://lambie.org&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R50}} (1836-3SU) ||&lt;br /&gt;
*jlbartos &amp;lt;jlbartos at hotmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R50e}} (1834-PTG) ||&lt;br /&gt;
*item &amp;lt;item at freemail dot hu&amp;gt; : successfully finished with cabextract/CD method for &amp;quot;1wuj25us.exe&amp;quot; (BIOS version 1WET90WW (2.10), Release Date: 2006/12/22)&lt;br /&gt;
*Christos Nouskas &amp;lt;nouskas at gmail dot com&amp;gt;: upgraded to BIOS version 1WET90WW (2.10) and EC version 1VHT28WW (1.04) using GRUB (BIOS first / EC second)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R51}} (1829) ||&lt;br /&gt;
*Robert Uhl &amp;lt;rob dot uhl at gmx dot de&amp;gt;, Jellby &amp;lt;jellby at yahoo dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R51}} (1830-RM7) ||&lt;br /&gt;
*Will Parker &amp;lt;stardotstar at sourcepoint dot com dot au&amp;gt; successfully flashed 3.20 using existing 3.04 ECP and retained custom boot splash.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R51}} (2887) ||&lt;br /&gt;
*Ingo van Lil &amp;lt;inguin at gmx dot de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R52}} (1858) ||&lt;br /&gt;
*Stuart McCord &amp;lt;stuart dot mccord at gmail dot com&amp;gt;  flashed both BIOS and ECP using cabextract, BIOS flashed first as on IBM website&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T20}} ||&lt;br /&gt;
*Franz Hassels &amp;lt;fhassel at suse dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T22}} ||&lt;br /&gt;
*Daniel Maier &amp;lt;nusse teamidiot de&amp;gt;&lt;br /&gt;
*Mathias Behrle (with cabextract/CD method, Version 1.07 =&amp;gt; 1.12) --[[User:Mathiasb|Mathiasb]] 11:58, 14 December 2006 (CET)&lt;br /&gt;
*Bob Skaroff (cabextract/CD), 1.06 =&amp;gt; 1.12&lt;br /&gt;
*Leo Butler (cabextract/CD), 1.11 =&amp;gt; 1.12 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T23}} ||&lt;br /&gt;
*Bart Snapp &amp;lt;snapp at uiuc dot edu&amp;gt; Note: I followed IBM's instructions to flash the BIOS *first* and the Embedded Controller *second*.&lt;br /&gt;
*Moy Easwaran: BIOS 1.18 / EC 1.06a via cabextract and CD-boot.  The BIOS-update exe generated errors in Windows 2000.&lt;br /&gt;
*Joe Renes: BIOS 1.18 / EC 1.06a on 2006-03-20 via cabextract and CD-boot. Piece of cake.&lt;br /&gt;
*Raphael Errani: BIOS 1.20 / EC 1.06a on 2006-11-06 via cabextract and CD-boot (using mkisofs). Worked without errors. 1st Bios, 2nd EC&lt;br /&gt;
*Myron Getman: BIOS 1.20 / EC 1.06a on 9/10/08 via cabextract --&amp;gt; k3b --&amp;gt; CD-boot.  Worked like a charm.  First BIOS update with Linux!&lt;br /&gt;
*Leo Butler: BIOS 1.13 / EC 1.04 to 1.20/1.06a via cabextract and syslinux/memdisk boot through grub. Worked like a charm and no wasted CD.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T30}} ||&lt;br /&gt;
*Martin GÃ¼hring &amp;lt;guehring at gmail.com&amp;gt; BIOS 2.10 via cabextract the Non-Diskette BIOS -&amp;gt; mkisofs '''in the directory the exe was extracted''' to generate the iso -&amp;gt; burn the iso -&amp;gt; boot the CD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{T40}} ||&lt;br /&gt;
*Sean Dague, http://dague.net&lt;br /&gt;
*Justin Mason, http://jmason.org&lt;br /&gt;
*Ivanhoe (Bios 3.19)&lt;br /&gt;
*Alessandro Raulino (roger_2) EC 3.04 &amp;amp; BIOS 3.23 flashed with cabextract/CD method&lt;br /&gt;
*Nick Jenkins, using BIOS 3.23 with the [[#The_Non_Diskette_Updater|Non-diskette updater + cabextract method]], then [[#Creating_a_Bootable_CD_from_a_Floppy_Image|created a bootable CD from the cabextracted .IMG file]], then boot that ISO, and it worked great!&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T40p}} ||&lt;br /&gt;
*Lukas KrÃ¤henbÃ¼hl, ismo at pop dot agri dot ch&lt;br /&gt;
*Thomas Achtemichuk, tom at tomchuk dot com. BIOS 3.15 flashed fine with cabextract/CD method&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{T41}} ||&lt;br /&gt;
*Lev Givon (Bios 3.15 / EC 3.04) &amp;lt;lev at columbia dot edu&amp;gt;&lt;br /&gt;
*Ernesto HernÃ¡ndez-Novich (Bios 3.19 / CP 3.04) &amp;lt; emhn at usb dot ve &amp;gt;&lt;br /&gt;
*[http://maebmij.org James Ballantine] (Bios 3.21 / CP 3.04) using nondisk/cabextract/CDRW&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T41p}} ||&lt;br /&gt;
*Nils Newman, work great. (Version: Bios 3.14 / Embedded Controller 3.04)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T42}} ||&lt;br /&gt;
*Dan (BIOS 3.20 / EC 3.04, cabextract/CD method) &amp;lt;tronic171 at evilphb.org&amp;gt;&lt;br /&gt;
*Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
*magarzo &amp;lt;mdr.magarzo at gmail.com&amp;gt; (BIOS v.3.23 / Embedded Controller v.3.04 / both with cabextract to non-diskette v. plus Bootable CD {T42 Type: 2373-JXG}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T42p}} ||&lt;br /&gt;
*Robert Schiele &amp;lt;rschiele@uni-mannheim.de&amp;gt;, Joern Heissler &amp;lt;joern@heissler.de&amp;gt;, Hirosh Dabui &amp;lt;hirosh@dabui.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T43}}  ||&lt;br /&gt;
*Conrad Rentsch &amp;lt;Conrad dot Rentsch at t-online dot de&amp;gt; (Version: Bios 1.29 / Embedded Controller 1.06)&lt;br /&gt;
*Tom Heady &amp;lt;tom-thinkwiki.org@punch.net&amp;gt;&lt;br /&gt;
*Florian Boucault &amp;lt;florian at boucault dot ath dot cx&amp;gt; (Model : 1871-W34 &amp;amp; Version: Bios 1.23 / Embedded Controller 1.03)&lt;br /&gt;
*Till Heikamp &amp;lt;t dot heikamp at geniusbytes dot com&amp;gt; (Model 2886, Bios 1.22 to 1.29, Embedded Controller 1.03 to 1.06)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T60}}  ||&lt;br /&gt;
*Roman Komkov &amp;lt;roman  at komkov dot org dot ru&amp;gt; (Model 1951, Bios 1.07 to 2.13) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T61}}  ||&lt;br /&gt;
*Kai Weber &amp;lt;kai.weber  at glorybox dot org&amp;gt; (Bios 1.06 to 1.26) Successfully upgraded from CD Image&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X20}}  ||&lt;br /&gt;
*Neil Caunt &amp;lt;retardis at gmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X21}}  ||&lt;br /&gt;
*Patrick Leickner &amp;lt;ranma at web dot de&amp;gt;, (BIOS 2.21-&amp;gt;2.25 / EC 1.31-&amp;gt;1.36) via non-disk/cabextract/mkisofs/cdrecord&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X22}}  ||&lt;br /&gt;
*David Emery &amp;lt;dave at skiddlydee dot com&amp;gt;,  (EC 1.30, BIOS 1.32 using non-disk/cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X23}}  ||&lt;br /&gt;
*Nils Faerber &amp;lt;nils dot faerber at kernelconcepts dot de&amp;gt; (Embedded Controller 1.30, BIOS 1.32 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X30}}  ||&lt;br /&gt;
*Hella Breitkopf, [http://www.unixwitch.de/ www]  (Embedded Controller 1.04, BIOS 1.07 with cabextract/CD method)&lt;br /&gt;
*William Roe &amp;lt;willroe at gmail dot com&amp;gt; (Embedded Controller 1.06, BIOS 1.09 - cabextract/mkisofs/wodim)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X31}}  ||&lt;br /&gt;
*Grzegorz KuÅ›nierz &amp;lt;koniu at sheket dot org&amp;gt;  (Embedded Controller 1.08, BIOS 3.01 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X40}}  ||&lt;br /&gt;
*Robbie Stone &amp;lt;robbie@serendipity.cx&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{Z60m}}  ||&lt;br /&gt;
*[[User:Morle|Morle]] 01:09, 17 Nov 2007 (CEST),  (Embedded Controller 1.18 and Bios 1.24 with cabextract/CD method)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Does not work:===&lt;br /&gt;
{|&lt;br /&gt;
| '''Model''' || '''Tested by'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Please note that testing this is '''at your own risk'''!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Updating via Grub and a Floppy Image==&lt;br /&gt;
&lt;br /&gt;
{{WARN|Many have warned '''not''' to use the [http://syslinux.zytor.com/ SYSLINUX] image-loader [http://syslinux.zytor.com/memdisk.php MEMDISK] to boot the images! Some flash tools may crash in that situation!  Proceed at your own risk!}}&lt;br /&gt;
&lt;br /&gt;
Floppy images may be booted from Grub via a utility called [http://syslinux.zytor.com/memdisk.php MEMDISK], which may be compiled from the [http://www.kernel.org/pub/linux/utils/boot/syslinux/ '''SYSLINUX source'''].  Copy the compiled memdisk image and the floppy image to your boot directory and configure grub as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
title     Bios Flash&lt;br /&gt;
kernel    /boot/memdisk&lt;br /&gt;
initrd    /boot/FILENAME.img&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, proceed at your own risk.  This was tested on an R51 type 2888.&lt;br /&gt;
&lt;br /&gt;
This also worked for me on a T41p type 2373. -- [[User:MrStaticVoid|James Lee]] 20:55, 8 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
And it worked for me on a X31 type 2673-CBU. -- [[User:JanTopinski|Jan Topinski]], 18 September 2006 &lt;br /&gt;
&lt;br /&gt;
And it worked for me too on a X31 type 2672-CXU, very useful. -- [[User:TheAnarcat|TheAnarcat]] 16:21, 7 March 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
Same here (worked) on a X31 type 2673-58G --[[User:FaUl|FaUl]] 15:53, 20 June 2007 (UTC)FaUl&lt;br /&gt;
&lt;br /&gt;
Works well on a X31 type 2672-PG9, but with a big moment between starting update and the updating window -- [[User:Starox|Starox]] 22 Jul 2007&lt;br /&gt;
&lt;br /&gt;
And it worked for me on two X40 type 2371 -- [[User:Antialize|Jakob Truelsen]], 19 Jan 2007 -- BIOS: 2.07 1uuj21us.exe -- ECP: 1.62 1uhj10us.exe&lt;br /&gt;
&lt;br /&gt;
Worked on X40 type 2386 -- [[User:Antialize|Galen Seitz]], 15 Feb 2008 -- BIOS: 2.08 1uuj22us.exe -- ECP: 1.62 1uhj10us.exe -- memdisk from syslinux 3.61&lt;br /&gt;
&lt;br /&gt;
Not working for me on T43 type 2668-F7G -- [[User:Maus3273|Maus3273]] 20:48, 30 January 2007 (CET) -- BIOS: 1.29 1YUJ18US.IMG -- I got into the bios program, but the machine never restarts after initiating the upgrade.&lt;br /&gt;
&lt;br /&gt;
X41 type 2525-F8G -- [[User:ladoga|Lauri Koponen]], 11:08 16 Apr 2007&amp;lt;br&amp;gt; &lt;br /&gt;
BIOS: 2.09 (74UJ15US.IMG), is no go. (hangs while initialising the actual flashing process) I tried with 2.07 (74UJ13US.IMG) and 2.06 (74UJ12US.IMG) aswell and they all failed in the very same fashion.&amp;lt;br&amp;gt;&lt;br /&gt;
ECP: 1.02 74HJ03US.IMG, works.&lt;br /&gt;
&lt;br /&gt;
It works fine on R30 type 2656-64g, BIOS v.1.40 -- [[User:english.voodoo|Yuri Spirin]], 10 May 2007.&lt;br /&gt;
&lt;br /&gt;
Workes fine on T40 type 2373 with cabextracted 1RUJ37US.IMG / 1RHJ10U2.IMG  and memdisk from syslinux 1:3.31-4 (Debian package version) -- [[User:Euphoria|Euphoria]] 00:10, 29 May 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
Works fine on R40 type 2723 with cabextracted 1OHJ11WW.IMG/1PUJ25US.IMG, memdisk from syslinux 3.70 (slackware 12.1) -- [[User:qunying|Qunying]] 21:28, 23 Jul 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
Worked perfectly on a T40 type 2373 with 1RHJ10U2.IMG (3.04, 2004-11-15) and 1RUJ37US.IMG (3.23, 2007-07-03) using cabextract and memdisk from syslinux 3:1.36-4ubuntu5. [[User:Morphics|Morphics]] 10:58, 20 Aug 2008 (BST)&lt;br /&gt;
&lt;br /&gt;
Worked perfectly on a T41p type 2373 with 1RUJ37US.IMG (3.23, 2007-07-03) using cabextract and memdisk from syslinux 3.71 on gentoo linux. --[[User:Deggel|Deggel]] 21:03, 22 September 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Updating with Network Boot Image==&lt;br /&gt;
&lt;br /&gt;
BIOS, Embedded Controller (EC), CD/DVD and Harddisk firmware disks can be booted&lt;br /&gt;
over the network with [http://syslinux.zytor.com/pxe.php PXELINUX] as part of the [http://syslinux.zytor.com/ SYSLINUX] package.&lt;br /&gt;
&lt;br /&gt;
This requires that you have a DHCP and tftp server configured and setup properly on&lt;br /&gt;
your network, and is probably not for the faint of heart.&lt;br /&gt;
&lt;br /&gt;
Make sure the firmware bootdisk is in linux 'dd' format, as the self-extracting .exe disks&lt;br /&gt;
from the IBM website cannot be booted directly as such.&lt;br /&gt;
&lt;br /&gt;
This worked on the {{R31}}, {{X22}}, {{T21}}, {{T30}} and {{T41p}} with various firmware updates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On {{X22}}, works with EC 1.30 but NOT with BIOS 1.32&lt;br /&gt;
&lt;br /&gt;
==Updating via &amp;quot;IBM Predesktop area&amp;quot;, suitable for model X (not have CDROM and floppy)==&lt;br /&gt;
It's so difficult to update BIOS and ECP without cdrom, floppy disk.&lt;br /&gt;
Don't know the reason why I couldn't update BIOS and ECP(1QHJ08US and 1QUJ19US) for my IBM Thinkpad X31.Hmm, may be cause of the dividing partition on my hard disk, that is: 	&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Primary: ext3, ext3, ntfs&lt;br /&gt;
Extended: Ntsf, fat32&lt;br /&gt;
Bootloader: GRUB&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No problem, you can use this way to do it:&lt;br /&gt;
* First, config in BIOS&lt;br /&gt;
In Security part:&lt;br /&gt;
# Remove all password of Subpervisor and Power on password&lt;br /&gt;
# Set Access IBM Predesktop Area to Normal&lt;br /&gt;
# Choose Enable &amp;quot;Flash BIOS updating by End User&amp;quot; in BIOS update Option.&lt;br /&gt;
&lt;br /&gt;
In Config part:&lt;br /&gt;
# Choose Enable for Network flash over Lan&lt;br /&gt;
&lt;br /&gt;
* Second, download the newest version of BIOS update and ECP update &lt;br /&gt;
Running: The program extract all files to the folder. There is a .img file (1QUJ19US.IMG, 1QUJ08US.IMG) in each folder.&lt;br /&gt;
Copy the imformation content in that img file and paste it to one FAT partition(using winimage or TotalCmd to extract) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
as seen All files in 1QUJ19US.IMG is extracted to D:\BIOS&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
695,764  $018E000.FL1&lt;br /&gt;
163      0691.HSH&lt;br /&gt;
2,049    0691.PAT&lt;br /&gt;
163      0694.HSH&lt;br /&gt;
2,049    0694.PAT&lt;br /&gt;
163      0695.HSH&lt;br /&gt;
2,049    0695.PAT&lt;br /&gt;
2,049    06D0.PAT&lt;br /&gt;
163      06D1.HSH&lt;br /&gt;
2,049    06D1.PAT&lt;br /&gt;
163      06D2.HSH&lt;br /&gt;
2,049    06D2.PAT&lt;br /&gt;
163      06D6.HSH&lt;br /&gt;
2,049    06D6.PAT&lt;br /&gt;
2,049    06D8.PAT&lt;br /&gt;
697      CHKBMP.EXE&lt;br /&gt;
8,128    COMMAND.COM&lt;br /&gt;
26       CONFIG.SYS&lt;br /&gt;
24,860   FLASH2.EXE&lt;br /&gt;
26       LCREFLSH.BAT&lt;br /&gt;
170      LOGO.BAT&lt;br /&gt;
330      LOGO.SCR&lt;br /&gt;
111,925  PHLASH16.EXE&lt;br /&gt;
91,648   PREPARE.EXE&lt;br /&gt;
45       PROD.DAT&lt;br /&gt;
22,252   QKFLASH.EXE&lt;br /&gt;
9,923    README.TXT&lt;br /&gt;
4,260    TPCHKS.EXE&lt;br /&gt;
39,666   UPDTFLSH.EXE&lt;br /&gt;
6,958    UPDTMN.EXE&lt;br /&gt;
12,501   USERINT.EXE&lt;br /&gt;
15,254   UTILINFO.EXE&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And all files in 1QUJ08US.IMG are: D:\ECP&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
315,404 $018E000.FL2&lt;br /&gt;
8,000   COMMAND.COM&lt;br /&gt;
36      CONFIG.SYS&lt;br /&gt;
16,910  ECFLASH2.EXE&lt;br /&gt;
45      PROD.DAT&lt;br /&gt;
17,812  QKFLASH.EXE&lt;br /&gt;
990     README.TXT&lt;br /&gt;
4,260   TPCHKS.EXE&lt;br /&gt;
89,738  UPDTEC.EXE&lt;br /&gt;
31,134  UPDTFLSH.EXE&lt;br /&gt;
12,501  USERINT.EXE&lt;br /&gt;
15,226  UTILINFO.EXE&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Okie, now plug AC Adapter, charge full battery to your laptop and continue third step:&lt;br /&gt;
&lt;br /&gt;
** '''Flash BIOS first,'''&lt;br /&gt;
1. Power On, press blue button on keyboard: '''Access IBM'''&lt;br /&gt;
&lt;br /&gt;
2. On &amp;quot;Utilities&amp;quot;, double click &amp;quot; Diagnostic disk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. Your laptop will start PC-DOS, wait when this message appear:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Please insert the first floppy diskette and&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Press Ctrl + Break, you will see :&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Terminate batch job (Y/N) ?&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Okie, press Y, you will get DOS prompt like D:\&lt;br /&gt;
{{NOTE|D:\ is my RAMDISK, C:\ is my disk format as FAT.!}}&lt;br /&gt;
&lt;br /&gt;
6. Enter to c:\BIOS&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
c:&lt;br /&gt;
cd c:\BIOS&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Run FLASH2.EXE /u $018E000.FL1&lt;br /&gt;
&lt;br /&gt;
8. Wait flash progress compelete and reboot.&lt;br /&gt;
** '''Flash ECP'''&lt;br /&gt;
Follow above instruction from step 1 to 5&lt;br /&gt;
&lt;br /&gt;
6. Enter to c:\ECP&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
c:&lt;br /&gt;
cd c:\ECP&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. run UPDTFLSH.EXE $018E000.FL2&lt;br /&gt;
&lt;br /&gt;
8. Follow UPDTFLSH's instructions&lt;br /&gt;
&lt;br /&gt;
9. Wait flash complete and auto turn off computer.&lt;br /&gt;
&lt;br /&gt;
I done it on my IBM Thinkpad X31.&lt;br /&gt;
&lt;br /&gt;
Enjoy,&lt;br /&gt;
&lt;br /&gt;
Tested by nm.&lt;br /&gt;
&lt;br /&gt;
==After updating==&lt;br /&gt;
===DMI IDs===&lt;br /&gt;
Please consider updating the [[List of DMI IDs]] after (and before) updating your BIOS.&lt;br /&gt;
&lt;br /&gt;
==Check List==&lt;br /&gt;
&lt;br /&gt;
The following is important to remember:&lt;br /&gt;
# You must update '''both''' the Control Program and the BIOS at the same time if your current Control Program is not compatible with the new BIOS (see below)&lt;br /&gt;
# You must find versions of the Control Program and BIOS that are compatible.  Not all of them are, so follow the readmes on the IBM website carefully to determine which are.&lt;br /&gt;
# You must update the Control Program '''before''' you update the BIOS&lt;br /&gt;
&lt;br /&gt;
When the Control Program '''and''' the BIOS need updating, have both update disks or CDs ready. Update the Control Program first and the system should switch itself off when finished. Insert the BIOS update disk and proceed to update the BIOS. When it's all finished, enter setup, reset the settings to their defaults and reboot. Enter setup again and tweak the settings as necessary.&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade_Downloads&amp;diff=44433</id>
		<title>BIOS Upgrade Downloads</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade_Downloads&amp;diff=44433"/>
		<updated>2009-09-29T08:17:52Z</updated>

		<summary type="html">&lt;p&gt;Matt: linked BIOS file matrix - ThinkPad; Note: some links are broken&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot; columns=&amp;quot;2&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; rowspan=&amp;quot;2&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{NOTE|All Lenovo T, X and R laptops have several bugs in the BIOS that are being actively fixed by Lenovo.  For these laptops, BIOS updates are not optional if you find anything to not be working properly, be it the brightness control, or suspend to RAM, or volume keys.}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|You must make sure that the BIOS ID you are trying to install matches what was installed in your ThinkPad by the factory.  A few models like the A31 and R61 have different BIOSes, and will malfunction if you pick the wrong one and somehow manage to force it to install.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|There is an IBM/Lenovo site called [http://www-307.ibm.com/pc/support/site.wss/BMOE-3VAM8Y.html BIOS file matrix - ThinkPad] which also has a table with links to BIOS downloads. Some downloadlinks appear to be broken.}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
You can check current BIOS and Embedded Controller versions using &amp;lt;b&amp;gt;dmidecode&amp;lt;/b&amp;gt; command line tool. For example:&lt;br /&gt;
   bash# dmidecode -s bios-version &amp;amp;&amp;amp; dmidecode -t11&lt;br /&gt;
   1RETDRWW (3.23 )&lt;br /&gt;
   # dmidecode 2.9&lt;br /&gt;
   SMBIOS 2.33 present.&lt;br /&gt;
   Handle 0x0029, DMI type 11, 5 bytes&lt;br /&gt;
   OEM Strings&lt;br /&gt;
   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following table lists direct links to BIOS updates for most Thinkpad Models.  Refer to [[BIOS Upgrade]] for instructions on how to perform a BIOS upgrade.&lt;br /&gt;
&lt;br /&gt;
The '''FW model''' column is what actually identifies which sort of firmware (BIOS and Embedded Controller) should be installed in a ThinkPad.  Machines with the same firmware model use the same BIOS and Embedded Controller firmware.  It can also be found as the OEM table ID in the ACPI DSDT.  It is formed by the characters &amp;quot;TP-&amp;quot;, plus the first two characters from the BIOS/EC update part number.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; {{prettytable}}&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;3&amp;quot;| '''Models'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;3&amp;quot;| '''FW Model'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; colspan=&amp;quot;2&amp;quot;| '''Non-Diskette'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; colspan=&amp;quot;3&amp;quot;| '''Diskette (or bootable CD)'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;2&amp;quot;| '''BIOS'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;2&amp;quot;| '''EC'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; colspan=&amp;quot;2&amp;quot;| '''BIOS'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;2&amp;quot;| '''EC'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot;| '''Windows'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot;| '''Linux'''&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===200 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{240}}&lt;br /&gt;
| TP-IR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-496LGR|1.18}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{240X}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4MCKB8|1.09}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 240Z&lt;br /&gt;
| TP-11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4PYQAK|1.72}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===300 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{365C}}, {{365CD}}, {{365CS}}, {{365CSD}}, {{365E}}, {{365ED}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-60567|2.0.14}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{365X}}, {{365XD}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-60567|1.10}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{380}}, {{380D}}, {{380E}}, {{380ED}}, {{385D}}, {{385ED}}&lt;br /&gt;
| TP-I1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-3XWNVG|1.14}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{380XD}}, {{385XD}}&lt;br /&gt;
| TP-IF&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-3XWNVG|1.19}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{380Z}}&lt;br /&gt;
| TP-IG&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-3XWNVG|1.08}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{390}}, i1720, i1721&lt;br /&gt;
| (none) &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-427MCG|5.62}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{390E}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-46AKPY|1.55}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{390X}}, i1700&lt;br /&gt;
| TP-IS &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4C5UP9|0.55}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===500 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{560}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-60522|1.20}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{560E}}&lt;br /&gt;
| TP-HR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-60522|1.13}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{560X}}&lt;br /&gt;
| TP-I8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-3QYK7L|1.15}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{560Z}}&lt;br /&gt;
| TP-IE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-3YTKKV|1.07}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{570}}&lt;br /&gt;
| TP-IM&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-47JS5Z|1.16}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{570E}}&lt;br /&gt;
| TP-IU&lt;br /&gt;
| {{IBMDOCURL|MIGR-4HT3RD|1.07}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4HA2BF|1.07}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===600 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{600}}&lt;br /&gt;
| TP-IB&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-3VRJPK|1.22}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} (2645 selected models, 2646)&lt;br /&gt;
| TP-IN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-46HLKQ|1.16}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} (2645: 55x, 56x, 57x, 58x, A5x, A6x, Bxx [except for BAU], JJ1, JJ2, RRA)&lt;br /&gt;
| TP-IH&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-43DNQ5|1.15}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}}&lt;br /&gt;
| TP-IT&lt;br /&gt;
| {{IBMDOCURL|MIGR-4HVUYL|1.11}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4FYS2U|1.11}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===700 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{750}}, {{750CS}}, {{755C}}, {{755CS}}, {{750P}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-60440|1.43}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{755CE}}, {{755CSE}}, {{755CD}}, {{755CX}}, {{755CV}}, {{755CDV}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-60440|1.44}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{760C}}, {{760CD}}, {{760L}}, {{760LD}}&lt;br /&gt;
| TP-HV&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-59734|1.30}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{760E}} (XGA), {{760ED}} (XGA), {{760XD}}, {{765D}}, {{765L}}&lt;br /&gt;
| TP-HX&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-59734|2.13}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{760E}} (SVGA), {{760ED}} (SVGA), {{760EL}}, {{760ELD}}, {{760XL}}&lt;br /&gt;
| TP-HZ, TP-HY&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-59734|2.13}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{770}}, {{770E}}, {{770ED}}&lt;br /&gt;
| TP-ID&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-3P2MCB|1.34}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{770X}}&lt;br /&gt;
| TP-II&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|DSHY-42QLVU|1.10}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{770Z}}&lt;br /&gt;
| TP-IO&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-47F3VA|1.05}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===A Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{A20m}}&lt;br /&gt;
| TP-IW&lt;br /&gt;
| {{IBMDOCURL|MIGR-4MNN8Z|1.13}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4JWNTQ|1.13}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}}&lt;br /&gt;
| TP-IV&lt;br /&gt;
| {{IBMDOCURL|MIGR-4MNN8Y|1.11}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4JWNTR|1.11}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} (2655)&lt;br /&gt;
| TP-10&lt;br /&gt;
| {{IBMDOCURL|MIGR-4UNQKX|1.07}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4UNRRF|1.07}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} (2628)&lt;br /&gt;
| TP-KU&lt;br /&gt;
| {{IBMDOCURL|MIGR-4Q2KLU|1.13}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4Q2KLV|1.13}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}}&lt;br /&gt;
| TP-KX&lt;br /&gt;
| {{IBMDOCURL|MIGR-4PJMXK|1.09}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4Q2KM4|1.09}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A21p}}&lt;br /&gt;
| TP-KY&lt;br /&gt;
| {{IBMDOCURL|MIGR-4Q2KM3|1.11}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4PJN8X|1.11}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22e}} Celeron&lt;br /&gt;
| TP-10&lt;br /&gt;
| {{IBMDOCURL|MIGR-4UNQKX|1.07}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4UNRRF|1.07}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22e}} Pentium&lt;br /&gt;
| TP-1B&lt;br /&gt;
| {{IBMDOCURL|MIGR-4XQKLK|1.05}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4XQL7B|1.05}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22m}}&lt;br /&gt;
| TP-KX&lt;br /&gt;
| {{IBMDOCURL|MIGR-4Q2KM4|1.09}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4PJMXK|1.09}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22m}} (2628-Sxx)&lt;br /&gt;
| TP-13&lt;br /&gt;
| {{IBMDOCURL|MIGR-4VXS2T|1.05}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4VXRG4|1.05}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}}&lt;br /&gt;
| TP-KY&lt;br /&gt;
| {{IBMDOCURL|MIGR-4Q2KM3|1.11}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4PJN8X|1.11}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A30}}, {{A30p}}&lt;br /&gt;
| TP-1E&lt;br /&gt;
| {{IBMDOCURL|MIGR-39863|1.18}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-40846|1.08}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-39861|1.18}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-40847|1.08}}&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}}, {{A31p}} (Bios 1G*)&lt;br /&gt;
| TP-1G&lt;br /&gt;
| {{IBMDOCURL|MIGR-42654|1.12}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-45771|1.05}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-42660|1.12}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-45900|1.05}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-45770|1.05}}&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}}, {{A31p}} (Bios 1N*)&lt;br /&gt;
| TP-1N&lt;br /&gt;
| {{IBMDOCURL|MIGR-44450|1.10}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-45662|1.05}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-44451|1.10}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-45898|1.02}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-45663|1.05}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===G Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{G40}}&lt;br /&gt;
| TP-1T&lt;br /&gt;
| {{IBMDOCURL|MIGR-50672|1.21}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-50673|1.21}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{G41}}&lt;br /&gt;
| TP-1X&lt;br /&gt;
| {{IBMDOCURL|MIGR-58127|1.14}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-58129|1.14}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
===R Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}}&lt;br /&gt;
| TP-1C&lt;br /&gt;
| {{IBMDOCURL|MIGR-40216|1.38}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-40217|1.38}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{R31}}&lt;br /&gt;
| TP-1F&lt;br /&gt;
| {{IBMDOCURL|MIGR-41378|3.11}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-41535|3.11}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{R32}}&lt;br /&gt;
| TP-1M&lt;br /&gt;
| {{IBMDOCURL|MIGR-43571|2.16}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-43572|2.16}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} (2681, 2682, 2683, 2896, 2898, 2899)&lt;br /&gt;
| TP-1O&lt;br /&gt;
| {{IBMDOCURL|MIGR-46055|1.27}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-46143|1.14}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-46061|1.27}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-46144|1.14}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} (2722, 2723, 2724, 2897)&lt;br /&gt;
| TP-1P&lt;br /&gt;
| {{IBMDOCURL|MIGR-50320|1.33}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-46143|1.14}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50321|1.33}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-46144|1.14}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40e}}&lt;br /&gt;
| TP-1S &lt;br /&gt;
| {{IBMDOCURL|MIGR-50302|1.38}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50344|1.04}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50301|1.38}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-50343|1.04}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}}, {{R50p}}&lt;br /&gt;
| TP-1R&lt;br /&gt;
| {{IBMDOCURL|MIGR-50273|3.23}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50279|3.04}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50275|3.23}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-50277|3.04}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}}&lt;br /&gt;
| TP-1W&lt;br /&gt;
| {{IBMDOCURL|MIGR-55000|2.10}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-54996|1.04}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-55001|2.10}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-54997|1.04}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} (1829, 1830, 1831, 1836)&lt;br /&gt;
| TP-1R&lt;br /&gt;
| {{IBMDOCURL|MIGR-50273|3.23}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50279|3.04}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50275|3.23}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-50277|3.04}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} (2883, 2887, 2888, 2889, 2894, 2895)&lt;br /&gt;
| TP-1V &lt;br /&gt;
| {{IBMDOCURL|MIGR-55003|1.29}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-54996|1.04}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-55004|1.29}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-54997|1.04}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R51e}}&lt;br /&gt;
| TP-78&lt;br /&gt;
| {{IBMDOCURL|MIGR-61681|1.59}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-61677|1.01}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-61680|1.59}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-61675|1.01}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} (1846, 1847, 1848, 1849, 1850, 1870)&lt;br /&gt;
| TP-76&lt;br /&gt;
| {{IBMDOCURL|MIGR-59221|1.29}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59184|1.06}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59220|1.29}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-59183|1.06}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} (1858, 1859, 1860, 1861, 1862, 1863)&lt;br /&gt;
| TP-70&lt;br /&gt;
| {{IBMDOCURL|MIGR-59379|1.29}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59439|1.05}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59380|1.29}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-59440|1.05}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}}, R60i (94xx)&lt;br /&gt;
| TP-7C&lt;br /&gt;
| {{IBMDOCURL|MIGR-64578|2.22}}&lt;br /&gt;
| 1.10&lt;br /&gt;
| {{IBMDOCURL|MIGR-64580|2.22}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.10&lt;br /&gt;
|-&lt;br /&gt;
| {{R60e}}, R60i (06xx)&lt;br /&gt;
| TP-7E&lt;br /&gt;
| {{IBMDOCURL|MIGR-64393|2.20}}&lt;br /&gt;
| 1.07&lt;br /&gt;
| {{IBMDOCURL|MIGR-64394|2.20}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.07&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}} (8942, 8943, 8944, 8945, 8947, 8948, 8949)&lt;br /&gt;
| TP-7Q&lt;br /&gt;
| {{IBMDOCURL|MIGR-68186|1.21}}&lt;br /&gt;
| 1.00&lt;br /&gt;
| {{IBMDOCURL|MIGR-68187|1.21}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.00&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}}, {{R61i}} (BIOS 7K*)&lt;br /&gt;
| TP-7K&lt;br /&gt;
| {{IBMDOCURL|MIGR-68168|2.26}}&lt;br /&gt;
| 1.08&lt;br /&gt;
| {{IBMDOCURL|MIGR-68178|2.26}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.08&lt;br /&gt;
|-&lt;br /&gt;
| {{R61}}, {{R61i}} (BIOS 7L*)&lt;br /&gt;
| TP-7L&lt;br /&gt;
| {{IBMDOCURL|MIGR-67988|2.26}}&lt;br /&gt;
| TP-7K 1.08&lt;br /&gt;
| {{IBMDOCURL|MIGR-67989|2.26}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| TP-7K 1.08&lt;br /&gt;
|-&lt;br /&gt;
| R61e, {{R61i}} (BIOS 7O*)&lt;br /&gt;
| TP-7O&lt;br /&gt;
| {{IBMDOCURL|MIGR-68183|2.21}}&lt;br /&gt;
| TP-7K 1.08&lt;br /&gt;
| {{IBMDOCURL|MIGR-68185|2.21}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| TP-7K 1.08&lt;br /&gt;
|-&lt;br /&gt;
| R61e (7650), {{R61i}} (7650)&lt;br /&gt;
| TP-7P&lt;br /&gt;
| {{IBMDOCURL|MIGR-68242|2.20}}&lt;br /&gt;
| TP-7K 1.08&lt;br /&gt;
| {{IBMDOCURL|MIGR-68243|2.20}} (CD)&lt;br /&gt;
| &lt;br /&gt;
| TP-7K 1.08&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}} (7438, 7439, 7440, 7440, 7443, 7445, 7446, 7447)&lt;br /&gt;
|  TP-7U&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| {{IBMDOCURL|MIGR-70351|3.00}} (CD)&lt;br /&gt;
| &lt;br /&gt;
| 1.03&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 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}}&lt;br /&gt;
| TP-IY&lt;br /&gt;
| {{IBMDOCURL|MIGR-4MNN8X|1.22}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4JWNJC|1.22}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}}&lt;br /&gt;
| TP-KZ&lt;br /&gt;
| {{IBMDOCURL|MIGR-4Q2KM5|1.16}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4PJN8Y|1.16}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}}&lt;br /&gt;
| TP-16&lt;br /&gt;
| {{IBMDOCURL|MIGR-4VWPPU|1.12}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4VWP54|1.12}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}}&lt;br /&gt;
| TP-1A&lt;br /&gt;
| {{IBMDOCURL|MIGR-39366|1.20}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-40022|1.06a}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-39362|1.20}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-40021|1.06a}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}}&lt;br /&gt;
| TP-1I&lt;br /&gt;
| {{IBMDOCURL|MIGR-42694|2.10}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-42711|1.07}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-42720|2.10}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-45745|2.02}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-42725|1.07}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}&lt;br /&gt;
| TP-1R&lt;br /&gt;
| {{IBMDOCURL|MIGR-50275|3.23}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50279|3.04}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50273|3.23}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-50277|3.04}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} (1871, 1872, 1873, 1874, 1875, 1876)&lt;br /&gt;
| TP-70 &lt;br /&gt;
| {{IBMDOCURL|MIGR-59379|1.29}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59439|1.05}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59380|1.29}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-59440|1.05}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} (2668, 2669, 2678, 2679, 2686, 2687), {{T43p}}&lt;br /&gt;
| TP-1Y&lt;br /&gt;
| {{IBMDOCURL|MIGR-59096|1.29}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59120|1.06}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59097|1.29}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-59121|1.06}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}}, {{T60p}}&lt;br /&gt;
| TP-79&lt;br /&gt;
| {{IBMDOCURL|MIGR-63024|2.23}}&lt;br /&gt;
| 1.07&lt;br /&gt;
| {{IBMDOCURL|MIGR-63027|2.23}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.07&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}}, {{T60p}} wide-screen&lt;br /&gt;
| TP-7I&lt;br /&gt;
| {{IBMDOCURL|MIGR-67018|1.15}}&lt;br /&gt;
| TP-79 1.07&lt;br /&gt;
| {{IBMDOCURL|MIGR-67020|1.15}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| TP-79 1.07&lt;br /&gt;
|-&lt;br /&gt;
| {{T61}}&lt;br /&gt;
| TP-7L/7K&lt;br /&gt;
| {{IBMDOCURL|MIGR-67989|2.26}}&lt;br /&gt;
| 1.08&lt;br /&gt;
| {{IBMDOCURL|MIGR-67989|2.26}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.08&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 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}}, {{X21}}&lt;br /&gt;
| TP-IZ&lt;br /&gt;
| {{IBMDOCURL|MIGR-4P52BM|2.25}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-4VQNTP|1.36}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-4P52BL|2.25}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4PBMCT|1.36}}&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}}, {{X23}}, {{X24}}&lt;br /&gt;
| TP-1D&lt;br /&gt;
| {{IBMDOCURL|MIGR-39672|1.32}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-39806|1.30}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-39665|1.32}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-39808|1.30}}&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}}&lt;br /&gt;
| TP-1K&lt;br /&gt;
| {{IBMDOCURL|MIGR-44135|1.09}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-44152|1.06}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-44131|1.09}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-44149|1.06}}&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}}, {{X32}}&lt;br /&gt;
| TP-1Q&lt;br /&gt;
| {{IBMDOCURL|MIGR-50298|3.02}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-53480|1.08}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-50308|3.02}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-53479|1.08}}&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}}&lt;br /&gt;
| TP-1U&lt;br /&gt;
| {{IBMDOCURL|MIGR-53881|2.08}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-53882|1.62}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-53883|2.08}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-53885|1.62}}&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}}&lt;br /&gt;
| TP-74&lt;br /&gt;
| {{IBMDOCURL|MIGR-59206|2.09}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59208|1.02}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-59205|2.09}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-59207|1.02}}&lt;br /&gt;
|-&lt;br /&gt;
| {{X41_Tablet}}&lt;br /&gt;
| TP-75&lt;br /&gt;
| {{IBMDOCURL|MIGR-60193|2.06}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-60191|1.02}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-60194|2.06}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-60189|1.02}}&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}}, {{X60s}}&lt;br /&gt;
| TP-7B&lt;br /&gt;
| {{IBMDOCURL|MIGR-63144|2.18}}&lt;br /&gt;
| 1.13&lt;br /&gt;
| {{IBMDOCURL|MIGR-63145|2.18}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.13&lt;br /&gt;
|-&lt;br /&gt;
| {{X60_Tablet}}&lt;br /&gt;
| TP-7J&lt;br /&gt;
| {{IBMDOCURL|MIGR-67148|1.15}}&lt;br /&gt;
| 1.04&lt;br /&gt;
| {{IBMDOCURL|MIGR-67149|1.15}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.04&lt;br /&gt;
|-&lt;br /&gt;
| {{X61}}, {{X61s}}&lt;br /&gt;
| TP-7N&lt;br /&gt;
| {{IBMDOCURL|MIGR-67982|2.20}}&lt;br /&gt;
| 1.03&lt;br /&gt;
| {{IBMDOCURL|MIGR-67983|2.20}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.03&lt;br /&gt;
|-&lt;br /&gt;
| {{X61_Tablet}}&lt;br /&gt;
| TP-7S&lt;br /&gt;
| {{IBMDOCURL|MIGR-68005|1.23}}&lt;br /&gt;
| 1.02&lt;br /&gt;
| {{IBMDOCURL|MIGR-68006|1.23}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.02&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}}&lt;br /&gt;
| TP-6D/7X&lt;br /&gt;
| {{IBMDOCURL|MIGR-70347|3.03}}&lt;br /&gt;
| 1.04&lt;br /&gt;
| {{IBMDOCURL|MIGR-70348|3.03}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.04&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}}&lt;br /&gt;
| TP-7T&lt;br /&gt;
| {{IBMDOCURL|MIGR-69538|1.10}}&lt;br /&gt;
| 1.01&lt;br /&gt;
| {{IBMDOCURL|MIGR-69539|1.10}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.01&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===Z Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}}, {{Z60t}}&lt;br /&gt;
| TP-77&lt;br /&gt;
| {{IBMDOCURL|MIGR-61687|1.22}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-61686|1.18}}&lt;br /&gt;
| {{IBMDOCURL|MIGR-61688|1.22}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-61685|1.18}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61e}}, {{Z61m}}, {{Z61p}}, {{Z61t}}&lt;br /&gt;
| TP-7F&lt;br /&gt;
| {{IBMDOCURL|MIGR-64409|2.26}}&lt;br /&gt;
| 1.08&lt;br /&gt;
| {{IBMDOCURL|MIGR-64305|2.26}} (CD)&lt;br /&gt;
|&lt;br /&gt;
| 1.08&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
|-&lt;br /&gt;
| {{TransNote}}&lt;br /&gt;
| TP-KV&lt;br /&gt;
| {{IBMDOCURL|MIGR-4UDSMK|1.02}}&lt;br /&gt;
|&lt;br /&gt;
| {{IBMDOCURL|MIGR-4UDRRF|1.02}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=44432</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=44432"/>
		<updated>2009-09-29T07:18:55Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* X series */ +2672C2G&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;
| {{T40}} 2373-42G&lt;br /&gt;
|| IBM || 237342G || ThinkPad T40  || IBM || 237342G || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003&lt;br /&gt;
|| [[ATI Mobility Radeon 7500]]&lt;br /&gt;
||&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-JTU&lt;br /&gt;
|| IBM || 2373JTU || ThinkPad T42 || IBM || 2373JTU || 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}} 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;
| {{T500}} 2242-CTO&lt;br /&gt;
|| LENOVO || 2242CTO || ThinkPad T500 || LENOVO || 2242CTO || Not Available || LENOVO || Not Available || LENOVO || 6FET66WW (2.16 ) || 04/22/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;
! 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}} 2672C2G&lt;br /&gt;
|| IBM || 2672C2G || Not Available || IBM || 2672C2G || 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 || 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;
| {{X200}} 7458-E46&lt;br /&gt;
|| LENOVO || 7458E46 || ThinkPad X200 || LENOVO || 7458E46 || Not Available || LENOVO || Not Available || LENOVO || 7XET57WW (3.07 ) || 08/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;
| {{X200s}} &lt;br /&gt;
|| LENOVO || 7469WDR || ThinkPad X200s || LENOVO || 7469WDR || Not Available || LENOVO || Not Available || LENOVO || 6DET44WW (2.08 ) || 04/22/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;
| {{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>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade_Downloads&amp;diff=28052</id>
		<title>BIOS Upgrade Downloads</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade_Downloads&amp;diff=28052"/>
		<updated>2007-02-01T10:54:52Z</updated>

		<summary type="html">&lt;p&gt;Matt: {{prettytable}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot; columns=&amp;quot;2&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; rowspan=&amp;quot;2&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{WARN|Lenovo silently recalled the 1.11 BIOS for the X60 and T60.  No information about this recall is known, they just reverted the BIOS download page, reverting changelogs.}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|BIOS 70ET67WW (1.27, 1.28) for the TP-70 (T43, R52) dated 2006/10/04 is buggy.  Console won't work in VESA-1024x768 mode using vesa-tng any more.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Firefox or Konqueror users should disable the '''Use IBM Download Director''' option when downloading files.}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
The following table lists direct links to BIOS updates for most Thinkpad Models.  Refer to [[BIOS Upgrade]] for instructions on how to perform a BIOS upgrade.&lt;br /&gt;
&lt;br /&gt;
The '''FW model''' column is what actually identifies which sort of firmware (BIOS and Embedded Controller) should be installed in a ThinkPad.  Machines with the same firmware model use the same BIOS and Embedded Controller firmware.  It can also be found as the OEM table ID in the ACPI DSDT.  It is formed by the characters &amp;quot;TP-&amp;quot;, plus the first two characters from the BIOS/EC update part number.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; {{prettytable}}&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;3&amp;quot;| '''Models'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;3&amp;quot;| '''FW Model'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; colspan=&amp;quot;2&amp;quot;| '''Non-Diskette'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; colspan=&amp;quot;3&amp;quot;| '''Diskette (or bootable CD)'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;2&amp;quot;| '''BIOS'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;2&amp;quot;| '''EC'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; colspan=&amp;quot;2&amp;quot;| '''BIOS'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot; rowspan=&amp;quot;2&amp;quot;| '''EC'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot;| '''Windows'''&lt;br /&gt;
| style=&amp;quot;background:#ffdead;&amp;quot;| '''Linux'''&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===200 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{240}}&lt;br /&gt;
| TP-IR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-496LGR 1.18]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{240X}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4MCKB8 1.09]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 240Z&lt;br /&gt;
| TP-11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4PYQAK 1.72]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===300 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{365C}}, {{365CD}}, {{365CS}}, {{365CSD}}, {{365E}}, {{365ED}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-60567 2.0.14]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{365X}}, {{365XD}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-60567 1.10]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{380}}, {{380D}}, {{380E}}, {{380ED}}, {{385D}}, {{385ED}}&lt;br /&gt;
| TP-I1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=DSHY-3XWNVG 1.14]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{380XD}}, {{385XD}}&lt;br /&gt;
| TP-IF&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=DSHY-3XWNVG 1.19]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{380Z}}&lt;br /&gt;
| TP-IG&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=DSHY-3XWNVG 1.08]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{390}}, i1720, i1721&lt;br /&gt;
| (none) &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1DSHY-427MCG 5.62]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{390E}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1DSHY-46AKPY 1.55]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{390X}}, i1700&lt;br /&gt;
| TP-IS &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4C5UP9 0.55]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===500 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{560}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-60522 1.20]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{560E}}&lt;br /&gt;
| TP-HR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-60522 1.13]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{560X}}&lt;br /&gt;
| TP-I8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1DSHY-3QYK7L 1.15]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{560Z}}&lt;br /&gt;
| TP-IE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1DSHY-3YTKKV 1.07]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{570}}&lt;br /&gt;
| TP-IM&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-47JS5Z 1.16]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{570E}}&lt;br /&gt;
| TP-IU&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4HT3RD 1.07]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4HA2BF 1.07]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===600 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{600}}&lt;br /&gt;
| TP-IB&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1DSHY-3VRJPK 1.22]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} (2645 selected models, 2646)&lt;br /&gt;
| TP-IN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1DSHY-46HLKQ 1.16]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} (2645: 55x, 56x, 57x, 58x, A5x, A6x, Bxx [except for BAU], JJ1, JJ2, RRA)&lt;br /&gt;
| TP-IH&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1DSHY-43DNQ5 1.15]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}}&lt;br /&gt;
| TP-IT&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4HVUYL 1.11]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4FYS2U 1.11]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===700 Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{750}}, {{750CS}}, {{755C}}, {{755CS}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-60440 1.43]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{755CE}}, {{755CSE}}, {{755CD}}, {{755CX}}, {{755CV}}, {{755CDV}}&lt;br /&gt;
| (none)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-60440 1.44]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{760C}}, {{760CD}}, {{760L}}, {{760LD}}&lt;br /&gt;
| TP-HV&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-59734 1.30]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{760E}} (XGA), {{760ED}} (XGA), {{760XD}}, {{765D}}, {{765L}}&lt;br /&gt;
| TP-HX&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-59734 2.13]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{760E}} (SVGA), {{760ED}} (SVGA), {{760EL}}, {{760ELD}}, {{760XL}}&lt;br /&gt;
| TP-HZ, TP-HY&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-59734 2.13]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{770}}, {{770E}}, {{770ED}}&lt;br /&gt;
| TP-ID&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1DSHY-3P2MCB 1.34]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{770X}}&lt;br /&gt;
| TP-II&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1DSHY-42QLVU 1.10]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{770Z}}&lt;br /&gt;
| TP-IO&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-47F3VA 1.05]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===A Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{A20m}}&lt;br /&gt;
| TP-IW&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4MNN8Z 1.13]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4JWNTQ 1.13]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}}&lt;br /&gt;
| TP-IV&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4MNN8Y 1.11]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4JWNTR 1.11]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} (2655)&lt;br /&gt;
| TP-10&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4UNQKX 1.07]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4UNRRF 1.07]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} (2628)&lt;br /&gt;
| TP-KU&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4Q2KLU 1.13]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4Q2KLV 1.13]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}}&lt;br /&gt;
| TP-KX&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4PJMXK 1.09]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4Q2KM4 1.09]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A21p}}&lt;br /&gt;
| TP-KY&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4Q2KM3 1.11]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4PJN8X 1.11]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22e}} Celeron&lt;br /&gt;
| TP-10&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4UNQKX 1.07]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4UNRRF 1.07]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22e}} Pentium&lt;br /&gt;
| TP-1B&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4XQKLK 1.05]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4XQL7B 1.05]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22m}}&lt;br /&gt;
| TP-KX&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4Q2KM4 1.09]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4PJMXK 1.09]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22m}} (2628-Sxx)&lt;br /&gt;
| TP-13&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4VXS2T 1.05]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4VXRG4 1.05]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}}&lt;br /&gt;
| TP-KY&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4Q2KM3 1.11]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4PJN8X 1.11]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{A30}}, {{A30p}}&lt;br /&gt;
| TP-1E&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-39863 1.18]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-40846 1.08]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-39861 1.18]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-40847 1.08]&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}}, {{A31p}} (Bios 1G*)&lt;br /&gt;
| TP-1G&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-42654 1.12]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-45771 1.05]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-42660 1.12]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-45900 1.05]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-45770 1.05]&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}}, {{A31p}} (Bios 1N*)&lt;br /&gt;
| TP-1N&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-44450 1.09]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-45662 1.05]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-44451 1.09]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-45898 1.02]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-45663 1.05]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
===G Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{G40}}&lt;br /&gt;
| TP-1T&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50672 1.21]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50673 1.21]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{G41}}&lt;br /&gt;
| TP-1X&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-58127 1.14]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-58129 1.14]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
===R Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}}&lt;br /&gt;
| TP-1C&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-40216 1.38]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-40217 1.38]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{R31}}&lt;br /&gt;
| TP-1F&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-41378 3.11]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-41535 3.11]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{R32}}&lt;br /&gt;
| TP-1M&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-43571 2.16]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-43572 2.16]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} (2681, 2682, 2683, 2896, 2898, 2899)&lt;br /&gt;
| TP-1O&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-46055 1.27]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-46143 1.14]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-46061 1.27]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-46144 1.14]&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} (2722, 2723, 2724, 2897)&lt;br /&gt;
| TP-1P&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50320 1.33]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-46143 1.14]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50321 1.33]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-46144 1.14]&lt;br /&gt;
|-&lt;br /&gt;
| {{R40e}}&lt;br /&gt;
| TP-1S &lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50302 1.38]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50344 1.04]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50301 1.38]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50343 1.04]&lt;br /&gt;
|-&lt;br /&gt;
| {{R50}}, {{R50p}}&lt;br /&gt;
| TP-1R&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50273 3.21]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50279 3.04]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50275 3.21]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50277 3.04]&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}}&lt;br /&gt;
| TP-1W&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-55000 2.08]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-54996 1.04]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-55001 2.08]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-54997 1.04]&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} (1829, 1830, 1831, 1836)&lt;br /&gt;
| TP-1R&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50273 3.21]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50279 3.04]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50275 3.21]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50277 3.04]&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} (2883, 2887, 2888, 2889, 2894, 2895)&lt;br /&gt;
| TP-1V &lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-55003 1.28]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-54996 1.04]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-55004 1.28]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-54997 1.04]&lt;br /&gt;
|-&lt;br /&gt;
| {{R51e}}&lt;br /&gt;
| TP-78&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-61681 1.59]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-61677 1.01]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-61680 1.59]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-61675 1.01]&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} (1846, 1847, 1848, 1849, 1850, 1870)&lt;br /&gt;
| TP-76&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59221 1.28]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59184 1.06]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59220 1.28]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59183 1.06]&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} (1858, 1859, 1860, 1861, 1862, 1863)&lt;br /&gt;
| TP-70&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59379 1.28]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59439 1.05]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59380 1.28]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59440 1.05]&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}}&lt;br /&gt;
| TP-7C&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-64578 2.08]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-64580 2.08] (CD)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 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}}&lt;br /&gt;
| TP-IY&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4MNN8X 1.22]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4JWNJC 1.22]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}}&lt;br /&gt;
| TP-KZ&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4Q2KM5 1.16]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4PJN8Y 1.16]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}}&lt;br /&gt;
| TP-16&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4VWPPU 1.12]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4VWP54 1.12]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}}&lt;br /&gt;
| TP-1A&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-39366 1.18]&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-40022 1.06a]&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-39362 1.18]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-40021 1.06a]&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}}&lt;br /&gt;
| TP-1I&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-42694 2.10]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-42711 1.07]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-42720 2.10]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-45745 2.02]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-42725 1.07]&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}&lt;br /&gt;
| TP-1R&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50275 3.21]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50279 3.04]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50273 3.21]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50277 3.04]&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} (1871, 1872, 1873, 1874, 1875, 1876)&lt;br /&gt;
| TP-70 &lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59379 1.28]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59439 1.05]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59380 1.28]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59440 1.05]&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} (2668, 2669, 2678, 2679, 2686, 2687), {{T43p}}&lt;br /&gt;
| TP-1Y&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59096 1.29]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59120 1.06]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59097 1.29]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59121 1.06]&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}}, {{T60p}}&lt;br /&gt;
| TP-79&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-63024 2.07]&lt;br /&gt;
| &lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-63027 2.07] (CD)&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 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}}, {{X21}}&lt;br /&gt;
| TP-IZ&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4P52BM 2.25]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4VQNTP 1.36]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4P52BL 2.25]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-4PBMCT 1.36]&lt;br /&gt;
|-&lt;br /&gt;
| {{X22}}, {{X23}}, {{X24}}&lt;br /&gt;
| TP-1D&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-39672 1.32]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-39806 1.30]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-39665 1.32]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-39808 1.30]&lt;br /&gt;
|-&lt;br /&gt;
| {{X30}}&lt;br /&gt;
| TP-1K&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-44135 1.09]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-44152 1.06]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-44131 1.09]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-44149 1.06]&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}}, {{X32}}&lt;br /&gt;
| TP-1Q&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50298 3.02]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-53480 1.08]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-50308 3.02]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-53479 1.08]&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}}&lt;br /&gt;
| TP-1U&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-53881 2.06]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-53882 1.61]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-53883 2.03]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-53885 1.60]&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}}&lt;br /&gt;
| TP-74&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59206 2.06]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59208 1.02]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59205 2.06]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-59207 1.02]&lt;br /&gt;
|-&lt;br /&gt;
| {{X41T}}&lt;br /&gt;
| TP-75&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-60193 2.04]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-60191 1.02]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-60194 2.04]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-60189 1.02]&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}}, {{X60s}}&lt;br /&gt;
| TP-7B&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-63144 2.06]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-63145 2.06] (CD)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| {{X60t}}&lt;br /&gt;
| TP-7J&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-67148 1.04]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-67149 1.04] (CD)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===Z Series===&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}}, {{Z60t}}&lt;br /&gt;
| TP-77&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-61687 1.22]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-61686 1.18]&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-61688 1.22]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-61685 1.18]&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61e}}, {{Z61m}}, {{Z61p}}, {{Z61t}}&lt;br /&gt;
| TP-7F&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-64409 2.12]&lt;br /&gt;
| (1.08)&lt;br /&gt;
| [http://www.ibm.com/support/docview.wss?uid=psg1MIGR-64305 2.12] (CD)&lt;br /&gt;
| (1.08)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=7 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
|-&lt;br /&gt;
| {{TransNote}}&lt;br /&gt;
| TP-KV&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4UDSMK 1.02]&lt;br /&gt;
|&lt;br /&gt;
| [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4UDRRF 1.02]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Pentium_M_undervolting_and_underclocking&amp;diff=28051</id>
		<title>Pentium M undervolting and underclocking</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Pentium_M_undervolting_and_underclocking&amp;diff=28051"/>
		<updated>2007-02-01T10:53:42Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* Tested frequencies */ {{prettytable}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Background ==&lt;br /&gt;
&lt;br /&gt;
Intel Pentium M processors from the [[Intel Pentium M (Dothan)|Dothan]] and [[Intel Pentium M (Banias)|Banias]] families can be instructed to operate at voltage and clock frequencies lower than the nominal ones recommended by Intel and used by ThinkPads by default. Experience shows that the processor may continue working correctly at lower-than-nominal voltages and frequencies, thereby reducing power consumption, heat and fan noise.&lt;br /&gt;
&lt;br /&gt;
In the Pentium M, speed and voltage are controlled by software (through the MSR registers). It is up to the operating system to choose the right voltage for each frequency. Normally this is done according to tables published by Intel or according to ACPI tables. However, this can be overriden - in the case of Linux, by a kernel patch.&lt;br /&gt;
&lt;br /&gt;
{{WARN|Following this instructions will operate your CPU under conditions it was not designed for. Even if your system seems stable, it may still suffer transient faults leading to arbitrary data corruption. In addition, errors in following these instructions (or changes between processor models) may operate the CPU ''above'' its nominal parameters, which, if taken too far, can cause kernel panics or even possibly hardware damage}}&lt;br /&gt;
&lt;br /&gt;
For an example of what may be achieved, consider these examples: when voltages on one ThinkPad {{T43}} were reduced by 20-30%, stable CPU temperature dropped by 7-10deg under both idle and burn-in conditions. Combined with [[how to control fan speed|fan speed control]], this greatly reduced the [[Problem with fan noise|problem with fan noise]]. On one user's ThinkPad {{R51}}, an undervolt brought the full-load processor temperature down from 87 degrees to 63 degrees while maintaining full stability. The effect was, however, negligible at idle.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|While under''volting'' has a clear measurable effect, it's not clear if under''clocking'' really works. &amp;lt;tt&amp;gt;/proc/cpuinfo&amp;lt;/tt&amp;gt; reflects the underclocked frequency, but enabling debug output on &amp;lt;tt&amp;gt;cpufreq&amp;lt;/tt&amp;gt; causes it to say things like &amp;quot;&amp;lt;tt&amp;gt;CPU frequency out of sync: cpufreq and timing core thinks of 533000, is 800000 kHz.&amp;lt;/tt&amp;gt;&amp;quot; where the former is the chosen underclocked frequency and the latter is the documented minimum frequency. This discrepancy also causes [[Software Suspend 2]] to oops during suspend.}}&lt;br /&gt;
&lt;br /&gt;
There are several methods to control CPU voltage in Linux, and currently all of them require a patched kernel.&lt;br /&gt;
&lt;br /&gt;
== Alternative 1: patch with hard-coded voltages ==&lt;br /&gt;
=== Instructions ===&lt;br /&gt;
&lt;br /&gt;
# Determine the stable voltages for each frequency, using some overclocking/undervolting utility that has specific support for Pentium M (&amp;quot;Centrino&amp;quot;) processors. It seems that no such utility exists for Linux. For windows, one good choice is [http://www.pbus-167.com/chc.htm Notebook Hardware Control (NHC)], which conveniently also includes a table of nominal frequencies and voltages (in its help file).&amp;lt;br&amp;gt; Ascertain that at the undervolted settings the CPU actually performs correct computation ([http://www.mersenne.org/freesoft.htm Prime95] in &amp;quot;Tortute Test&amp;quot; mode seems to be a good partial test emphasizing FPU and memory access).&amp;lt;br&amp;gt; Note that beside reducing voltages (undervolting), you can also try to add lower frequencies (underclocking). If you undervolt a particular frequency too much your machine is likely to crash, so try not to have any other programs open.&lt;br /&gt;
# Determine the model name string reported by the CPU, e.g., via the &amp;quot;&amp;lt;tt&amp;gt;Model name&amp;lt;/tt&amp;gt;&amp;quot; line in {{path|/proc/cpuinfo}}, and likewise the &amp;lt;tt&amp;gt;cpu_family&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;model&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;stepping&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Grab a copy of the example patch below and update it to reflect the parameters, frequencies and voltages you found.&lt;br /&gt;
# Apply the patch to your kernel (tested with 2.6.13.1 and 2.6.14-rc2).&lt;br /&gt;
# To prevent the ACPI table from overriding your table, disable the &amp;lt;tt&amp;gt;CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI&amp;lt;/tt&amp;gt; kernel option.&lt;br /&gt;
# Compile and install the new kernel.&lt;br /&gt;
&lt;br /&gt;
The changes should be active now. If you want to see debug information attesting to thus, do the following:&lt;br /&gt;
&lt;br /&gt;
# Reboot in &amp;lt;tt&amp;gt;single&amp;lt;/tt&amp;gt; mode.&lt;br /&gt;
# {{cmdroot|echo 2 &amp;gt; /sys/module/cpufreq/parameters/debug}}&lt;br /&gt;
# {{cmdroot|modprobe speedstep-centrino}}&lt;br /&gt;
# {{cmdroot|dmesg}} and check for the message &amp;quot;&amp;lt;tt&amp;gt;speedstep-centrino: found &amp;quot;Intel(R) Pentium(R) M processor &amp;lt;/tt&amp;gt;...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you don't see that message, you got the &amp;lt;tt&amp;gt;cpu_id&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;model_name&amp;lt;/tt&amp;gt; parmaeters wrong. If your system crashes, re-test the voltages and adjust accordingly.&lt;br /&gt;
&lt;br /&gt;
Please report your results (including voltages)!&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel patch (example) ===&lt;br /&gt;
&lt;br /&gt;
The following example shows how to undervolt a Pentium M 750 (1.86GHz) on a ThinkPad {{T43}}. As discussed above, the parameters are specific to this one CPU. You will need to experimentally find the correct settings for your own CPU and adjust the patch accordingly.&lt;br /&gt;
&lt;br /&gt;
Note that the Pentium M 750 has a 533MHz FSB (quad-pumped 133MHz), hence the use of &amp;lt;tt&amp;gt;OP133&amp;lt;/tt&amp;gt;. If you have a Pentium M with 400MHz FSB (i.e., quad-pumped 100MHz, found in [[Intel Pentium M (Banias)|Banias]] and older [[Intel Pentium M (Dothan)|Dothan]]) then in the voltage table change &amp;lt;tt&amp;gt;OP133&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;OP&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|undervolt-pentium-m-2.6.13.1.patch}}&lt;br /&gt;
&lt;br /&gt;
Don't forget to disable &amp;lt;tt&amp;gt;CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Alternative 2: patch with user-space control==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|There's a new project under http://linux-phc.sourceforge.net/ with updated patches. Note that the list of voltages may be reversed (lowest frequency first) compared to the original patch disucssed here. }}&lt;br /&gt;
&lt;br /&gt;
If you want to use the Ubuntu 2.6.15 Kernel, please have a look at this thread: http://ubuntuforums.org/showthread.php?t=146366&lt;br /&gt;
&lt;br /&gt;
The [http://fabrice.bellamy.club.fr/bdz.undervolt.2005.10.22.a.patch bdz.undervolt.2005.10.22.a.patch] patch, written by Gentoo-Wiki user &amp;quot;Bdz&amp;quot;, allows voltages to be changed without reboot.&lt;br /&gt;
&lt;br /&gt;
It presents a userspace interface, as in the following example:&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/voltage_table}}&lt;br /&gt;
:{{cmdresult|1356,1356,1356,1356,1356,1356,1356,1244,1116,988}}&lt;br /&gt;
:{{cmdroot|echo &amp;quot;1084,1084,1084,1084,1084,1084,1084,988,908,860&amp;quot; &amp;gt;/sys/devices/system/cpu/cpu0/cpufreq/voltage_table}}&lt;br /&gt;
&lt;br /&gt;
The relevant [http://gentoo-wiki.com/HOWTO_Undervolt_a_Pentium_M_CPU page] on Gentoo-Wiki providues further information and some helpful hints and scripts for voltage adjustment.&lt;br /&gt;
&lt;br /&gt;
When applying this patch be sure to keep the &amp;quot;ACPI tables for decoding frequency pairs&amp;quot; option -- this patch only allows adjustment of the voltages for the normal clock speeds as reported by the ACPI table in the BIOS.  On some models (e.g., ThinkPad {{T43}}) this does not include all clock speeds supported by the processor.&lt;br /&gt;
&lt;br /&gt;
===Initscript===&lt;br /&gt;
This is a Gentoo initscript for the patch from Gentoo-Wiki user &amp;quot;Bdz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Configuration file&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /etc/conf.d/undervoltage&lt;br /&gt;
&lt;br /&gt;
# voltage table sysfs interface&lt;br /&gt;
VTABLE_SYSFS=&amp;quot;/sys/devices/system/cpu/cpu0/cpufreq/voltage_table&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# switch back to  DEFAULT_VTABLE if undervoltage is stopped? [yes/no]&lt;br /&gt;
SWITCH_BACK=&amp;quot;no&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# pentium-m banias 1,7GHz default voltages&lt;br /&gt;
DEFAULT_VTABLE=&amp;quot;1484,1308,1228,1116,1004,956&amp;quot;&lt;br /&gt;
# pentium-m banias 1,7GHz lowered voltages [ -208mV ]&lt;br /&gt;
MOD_VTABLE=&amp;quot;1276,1100,1020,908,796,748&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Initscript&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/sbin/runscript&lt;br /&gt;
# Copyright 1999-2005 Gentoo Foundation&lt;br /&gt;
# Distributed under the terms of the GNU General Public License v2&lt;br /&gt;
# $Header: $&lt;br /&gt;
&lt;br /&gt;
sysfs_check() {&lt;br /&gt;
&lt;br /&gt;
        if ! [ -e ${VTABLE_SYSFS} ]; then&lt;br /&gt;
                logger &amp;quot;No sysfs voltage_table present. Modifying vcore voltage failed.&amp;quot;&lt;br /&gt;
                eerror &amp;quot;It seems that the undervolting patch has not been applied to the kernel.&amp;quot;&lt;br /&gt;
                eerror &amp;quot;see http://gentoo-wiki.com/HOWTO_Undervolt_a_Pentium_M_CPU for further information&amp;quot;&lt;br /&gt;
                return 1&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
start() {&lt;br /&gt;
        sysfs_check || return 1&lt;br /&gt;
        ebegin &amp;quot;Switching to modified voltage table [${MOD_VTABLE}]&amp;quot;&lt;br /&gt;
                echo ${MOD_VTABLE} &amp;gt; ${VTABLE_SYSFS}&lt;br /&gt;
        eend $?&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# I think it is not necessary to switch to the default voltage table on shutdown&lt;br /&gt;
stop() {&lt;br /&gt;
        if [ $SWITCH_BACK = &amp;quot;yes&amp;quot; ]; then&lt;br /&gt;
                ebegin &amp;quot;Switching back to default voltage table [${DEFAULT_VTABLE}]&amp;quot;&lt;br /&gt;
                        echo ${DEFAULT_VTABLE} &amp;gt; ${VTABLE_SYSFS}&lt;br /&gt;
                eend $?&lt;br /&gt;
        fi &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Alternative 3: another patch with user-space control==&lt;br /&gt;
&lt;br /&gt;
The [http://avkrok.net/nw8240/centrino-voltages.diff centrino-voltages.diff] patch, written by Rickard Holmberg, also provides user-space control. See [http://avkrok.net/nw8240/ here] and [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-December/030772.html here] for usage.&lt;br /&gt;
&lt;br /&gt;
==Stress Testing==&lt;br /&gt;
&lt;br /&gt;
This [[Undervolt Stress Testing Script|script]] illustrates a very conservative method to stress test your lowered voltage settings.&lt;br /&gt;
&lt;br /&gt;
==Tested frequencies==&lt;br /&gt;
&lt;br /&gt;
If you have done excessive testing with user defined frequencies (stable system for over a month).&lt;br /&gt;
and no lookups occur when computing primes with mprime http://mersenne.org/ (gentoo: 'emerge gimps')&lt;br /&gt;
you can post your frequencies here. But note that this is just a rough indication, since the stable values will differ between individual processors, even in the same model.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
! CPU Type !! GHz !! Frequency Steps&lt;br /&gt;
|-&lt;br /&gt;
| Pentium-M Banias || 1.7  || 1276,1100,1020,908,796,748&lt;br /&gt;
|-&lt;br /&gt;
| Pentium-M Dothan || 1.4 || 924,892,860,828,796,764,732,700&lt;br /&gt;
|-&lt;br /&gt;
| Pentium-M Dothan || 1.86 || 1068,972,876,780,700&lt;br /&gt;
|-&lt;br /&gt;
| Pentium-M SL6F7  || 1.6  || 1196,1052,956,860,780,732&lt;br /&gt;
|-&lt;br /&gt;
| Pentium-M Dothan || 1.5 || 924,892,860,828,812,796,764,732,700&lt;br /&gt;
|-&lt;br /&gt;
| Pentium-M Dothan || 2.0 || 1084,940,844,764,748&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Patches]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_setup_boot_loaders&amp;diff=28050</id>
		<title>How to setup boot loaders</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_setup_boot_loaders&amp;diff=28050"/>
		<updated>2007-02-01T10:52:56Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* LILO, GRUB and NT Boot Loader */ {{prettytable}}&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;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#efefef; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
This page (hopefully) will explain everything you should know about the major bootloaders so that you can configure them to your liking.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
==General information about boot processes==&lt;br /&gt;
From the moment you turn on your computer to the moment you can login into your installed operating system, a lot of things happen that can be devided into several major stages.&lt;br /&gt;
&lt;br /&gt;
===The BIOS stage===&lt;br /&gt;
When you turn on your computer, the first thing that's run is the BIOS, a program embedded into a chip within your computer that represents the lowest layer between all running software and the hardware. During startup the BIOS has several tasks to do, like e.g. analyzing and checking hardware as well as the current system state. The last of its tasks is to find a bootable device and boot into that.&lt;br /&gt;
&lt;br /&gt;
To do so, the BIOS program keeps a list of bootable drives as well as a boot order list which you can adjust via the BIOS settings menu - or on ThinkPads directly through hitting {{key|F12}} during bootup. In the order of that list it checks which of the drives it knows about actually contains bootable media. The first bootable media found will be booted. That means that the code at the very first sector of that media is loaded and run.&lt;br /&gt;
&lt;br /&gt;
===The Boot Sectors===&lt;br /&gt;
This first sector is called the boot sector. For different types of media different kinds of boot sectors are required, and since booting the harddrive is what we are concerned about here, we'll look into that specifically. Now, a harddrive is usually divided into partitions. Even if you only have one partition covering your whole drive, the internal structure is still the same. The first sector of your harddrive is the Master Boot Record (MBR), which includes the harddrives boot code as well as the hard drives partition table. The partition table contains information about the partition layout of your harddisk. The MBR typically is 512 bytes in size, as is the size of every sector on an x86 machines harddisk.&lt;br /&gt;
&lt;br /&gt;
A partition's first sector is usually called the boot sector of that partition, but one must be aware that depending on what is going to be stored in the partition, the first sector will be or will not be available for a boot loader.&lt;br /&gt;
&lt;br /&gt;
{{WARN|Some filesystems will be corrupted if a boot loader (or anything else, really) overwrites their first sectors.  Installing a boot loader in the first sector of a partition is allowed for: ext2, ext3, FAT (all types), Linux LVM (metadata formats 1 and 2), Linux MD component partitions, Linux swap (format 1).  Installing a boot loader in the first sector of a partition is '''not allowed''' for: XFS.}}&lt;br /&gt;
&lt;br /&gt;
To summarize, a harddisk will always contain boot code in the MBR, and can contain further boot code in one or several boot sectors, each belonging to one partition.&lt;br /&gt;
&lt;br /&gt;
===The Boot Loader stage===&lt;br /&gt;
This stage starts with running the code inside the boot sector. As stated above, the first piece of code that's run on a harddisk is always the MBR. So, what happens next is already depending on what is written to the MBR and hence on which program wrote the boot code into the MBR. Typically, when you get your ThinkPad, the MBRs boot code will originate from Windows. In that case it picks the primary partition that is flagged with the bootable (or active) flag from the partition table and runs the boot sector of that partition, similar to how the BIOS launched the code in the MBR before. What happens next, depends on what code is in the partitions boot sector and at this point we should have a look to the most common boot loaders around.&lt;br /&gt;
&lt;br /&gt;
==LILO, GRUB and NT Boot Loader==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+Comparison Table&lt;br /&gt;
! !!  LILO !! GRUB !! NT Boot Loader&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| occupies || MBR '''or''' boot sector || MBR '''or''' boot sector || MBR '''and''' boot sector&lt;br /&gt;
|-&lt;br /&gt;
| boot selector ||&lt;br /&gt;
*line input&lt;br /&gt;
*text menu&lt;br /&gt;
*graphical menu&lt;br /&gt;
||&lt;br /&gt;
*line input&lt;br /&gt;
*text menu&lt;br /&gt;
||&lt;br /&gt;
*text menu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| OS support || GNU/Linux || FreeBSD, NetBSD, OpenBSD, GNU/Linux || can chainload other bootsectors&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Windows Support || via chain-loading || via chain-loading || WinNT, Win2K, WinXP&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| supported filesystems || block offset based || BSD FFS, FAT16, FAT32, Minix fs, ext2fs, ReiserFS, JFS, XFS, VSTa || FAT16, FAT32, NTFS&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Partition designation example&amp;lt;br /&amp;gt;(second partion on first harddisk) || /dev/hda2 || (hd0,1) || multi(0)disk(0)rdisk(0)partition(2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LILO==&lt;br /&gt;
LILO (LInux LOader) is one of the oldest linux and multiboot boot loaders. It is feature rich, dependable and widely used. Since LILO is configured through a human readable, easy to understand configuration file it is easy to setup.&lt;br /&gt;
&lt;br /&gt;
LILOs classical way of behaving is to offer a single input line on boot, enabling you to type the label of the system to be booted and provide additional boot parameters. It can also print a message, or - in newer versions - it can be configured to show a menu (even a graphical one) so that you can pick your system more comfortably.&lt;br /&gt;
&lt;br /&gt;
===Creating a LILO bootdisk===&lt;br /&gt;
As a fallback it is always good to create a simple LILO bootdisk. We are creating a simple LILO bootdisk here, not a Linux bootdisk, which is a different thing and would require more comprehensive steps.&lt;br /&gt;
* You need to configure LILO beforehand, so edit {{path|lilo.conf}} to fit your configuration.&lt;br /&gt;
* Insert a formatted floppy disk to your floppy drive, but do not mount it.&lt;br /&gt;
* Now do a {{cmdroot|lilo -v -b /dev/fd0}}. This overrides the &amp;lt;tt&amp;gt;boot=...&amp;lt;/tt&amp;gt; line in the config file and writes the configured boot sector to the floppy.&lt;br /&gt;
That's it. You can use this floppy as long as your system layout is the same (as long as you don't need to modify {{path|/etc/lilo.conf}}). Whenever you modify LILOs configuration, you should recreate the bootdisk using the command above.&lt;br /&gt;
&lt;br /&gt;
===Installation of a LILO boot loader===&lt;br /&gt;
The {{cmdroot|lilo}} command is used to install the LILO boot loader. It reads the configuration file, calculates the block offset of the configured kernel images and writes the necessary data to the boot sector.&lt;br /&gt;
&lt;br /&gt;
*LILO is configured by editing {{path|/etc/lilo.conf}}.&amp;lt;br /&amp;gt;The format is explained in {{cmduser|man lilo.conf}}.&lt;br /&gt;
:A simple example configuration could look like this:&lt;br /&gt;
 boot=/dev/hda&lt;br /&gt;
 map=/boot/map&lt;br /&gt;
 install=/boot/boot.b&lt;br /&gt;
 prompt&lt;br /&gt;
 timeout=100&lt;br /&gt;
 compact&lt;br /&gt;
 lba32&lt;br /&gt;
 default=Linux&lt;br /&gt;
 image=/boot/vmlinuz&lt;br /&gt;
        label=Linux&lt;br /&gt;
        root=/dev/hda2&lt;br /&gt;
        read-only&lt;br /&gt;
 other=/dev/hda1&lt;br /&gt;
        label=Windows&lt;br /&gt;
*Run the {{cmdroot|lilo}} command to write lilo to the MBR.&lt;br /&gt;
*Reboot your machine.&lt;br /&gt;
{{NOTE|Since LILO doesn't know about file systems and saves the kernel images positions based on a block count, you will have to rerun the &amp;lt;tt&amp;gt;lilo&amp;lt;/tt&amp;gt; command everytime you did modifications to your kernel image. This includes recompiling or reinstalling the kernel as well as moving it to somewhere else or defragmenting the file system.&lt;br /&gt;
&lt;br /&gt;
If you do not rerun &amp;lt;tt&amp;gt;lilo&amp;lt;/tt&amp;gt; after such operations, you will render your system unbootable.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==GRUB==&lt;br /&gt;
GNU GRUB (GRand Unified Bootloader) is surely the most powerful of the bootloaders listed here. Besides featuring a nice and comfortable boot menu and a human readable easy to understand configuration file, it offers an interactive command line which can be the perfect tool for recovering boot problems.&lt;br /&gt;
&lt;br /&gt;
===Creating a GRUB bootdisk===&lt;br /&gt;
As a fallback it is always good to create a GRUB bootdisk, especially because for GRUB this is very quick and simple.&lt;br /&gt;
====Creating a GRUB boot floppy====&lt;br /&gt;
*Insert a formatted floppy disk to your floppy drive, but do not mount it.&lt;br /&gt;
*Execute the following commands to create the boot disk (you may need to change {{path|/usr/share}} to {{path|/usr/lib}}):&lt;br /&gt;
:{{cmdroot|1=dd if=/usr/share/grub/i386-pc/stage1 of=/dev/fd0 bs=512 count=1}}&lt;br /&gt;
:{{cmdroot|1=dd if=/usr/share/grub/i386-pc/stage2 of=/dev/fd0 bs=512 seek=1}}&lt;br /&gt;
====Creating a GRUB bootable CD-ROM====&lt;br /&gt;
This allows to create a bootdisk for ThinkPads that do not come with a floppy drive. A GRUB bootable CD-ROM can be made to use the GRUB menu interface too.&lt;br /&gt;
&lt;br /&gt;
See {{cmduser|info grub}} for detailed instructions (in node &amp;lt;tt&amp;gt;Making a GRUB bootable CD-ROM&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
====Usage====&lt;br /&gt;
The created disk will boot directly into the GRUB command line or the GRUB menu interface. Use {{cmd|help|}} at the GRUB command line to get a list of available commands.&lt;br /&gt;
{{HINT|You can get partition and file listings at the GRUB command line through TAB completion.}}&lt;br /&gt;
&lt;br /&gt;
===Installation of a GRUB boot loader===&lt;br /&gt;
====Manual====&lt;br /&gt;
*Usually the files needed for GRUB should reside in {{path|/boot/grub}}.&lt;br /&gt;
*Copy over the necessary stage files from {{path|/usr/share/grub/i386-pc/}} or {{path|/usr/lib/grub/i386-pc}}. You will need {{path|stage1}}, {{path|stage2}} and usually one or more stage 1.5 files matching your filesystem. Usually these are {{path|e2fs_stage1_5}}, {{path|reiserfs_stage1_5}} or {{path|iso9660_stage1_5}}. Look into the directory for support of other filesystems.&lt;br /&gt;
*To get the comfortable GRUB boot menu you will have to create the file {{path|/boot/grub/menu.lst}}. The format of it is explained in GRUBs info page ({{cmduser|info grub}}).&lt;br /&gt;
*On some Thinkpads, the installation may fail, if there is no drive in the ultrabay.&lt;br /&gt;
*Once everything is setup in {{path|/boot/grub}}, launch the GRUB shell by running {{cmdroot|grub}}.&lt;br /&gt;
*Within the GRUB shell select the partition on which your {{path|/boot/grub}} directory resides using the {{cmd|root|}} command, i.e. for the second partion on the first harddisk ({{path|/dev/hda2}}), enter&lt;br /&gt;
:{{cmdgrub|root (hd0,1)}}&lt;br /&gt;
{{NOTE|The numbering of disks and partitions starts from 0, not 1.}}&lt;br /&gt;
*After that is successfully done, install the bootloader to the MBR using&lt;br /&gt;
:{{cmdgrub|setup (hd0)}}&lt;br /&gt;
*Quit the GRUB shell&lt;br /&gt;
:{{cmdgrub|quit}}&lt;br /&gt;
*Reboot your machine to try if it works.&lt;br /&gt;
&lt;br /&gt;
====Automated====&lt;br /&gt;
On most systems you can simply run &lt;br /&gt;
&lt;br /&gt;
{{cmdroot|grub-install /dev/hda}}&lt;br /&gt;
&lt;br /&gt;
to install GRUB into the MBR, or&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|grub-install /dev/hda2}}&lt;br /&gt;
&lt;br /&gt;
to install it into the 2nd partition (here the partitions are numbered from 1).&lt;br /&gt;
&lt;br /&gt;
==NT Boot Loader==&lt;br /&gt;
The {{Windows}} 2000/XP boot loader is a bit hard to tweak if you want something else than use it to choose between your Windows installations.&lt;br /&gt;
&lt;br /&gt;
The NT Boot Loader generally works like this:&lt;br /&gt;
*The booted partitions (i.e. the active one) boot sector looks for {{path|ntldr.exe}} on the active partitions filesystem. NTLDR is the actual boot loader and control is given to it if it's found. Else the boot process will fail.&lt;br /&gt;
*NTLDR looks for the {{path|boot.ini}} file on the active partition to read it's configuration. If more than one operating systems are configured in the file and the delay parameter is not 0, then the NT boot menu is displayed.&lt;br /&gt;
*When the user chooses a system, the delay time runs out or there is only one given system, NTLDR will start that system.&lt;br /&gt;
{{NOTE|You can always boot older Windows NT like systems from the boot loader of newer ones, but trying the other way around will fail. Microsoft made changes to the boot loader and the NTFS file system throughout the releases of WinNT, Win2K and WinXP. An older NT Boot Loader will not know about these changes in a newer system.}}&lt;br /&gt;
&lt;br /&gt;
===Installation of the NT Boot Loader===&lt;br /&gt;
The NT Boot Loader gets installed by the Windows installation routines. However, there are cases when you manually want to install the NT Boot Loader to a partition. The easiest way to do so is as follows:&lt;br /&gt;
#Boot your Windows system.&lt;br /&gt;
#Use the Disk Management Administration Console or a partitioning tool to set the partition that the boot sector should be installed to as active (bootable).&lt;br /&gt;
#Right-click on 'My Computer', select properties and go to the Startup Settings in the Advanced tab. Make some sensible changes, lowering or raising the delay time would be enough. Confirm with OK. This should write the boot sector to the active partition.&lt;br /&gt;
&lt;br /&gt;
==Using the NT Boot Loader to boot Linux==&lt;br /&gt;
The NT boot loader is not able to boot anything else than NT type Windows systems. However, other systems boot sectors can be stored in a file on the same disk that the NTLDR files reside on and can be chainloaded from there.&lt;br /&gt;
&lt;br /&gt;
Hence, the procedure to integrate Linux into your NT boot menu is outlines like this (we assume that the NT boot loader is properly installed already):&lt;br /&gt;
*Install a Linux boot loader (LILO or GRUB) into the boot sector of your Linux partition.&lt;br /&gt;
*Copy this boot sector into a file.&lt;br /&gt;
*Copy that file to the root level of the Windows partition.&lt;br /&gt;
*Add an entry to chainload that file to the NT boot menu.&lt;br /&gt;
&lt;br /&gt;
===Installing LILO to a partitions boot sector===&lt;br /&gt;
*Create a simple {{path|/etc/lilo.conf}} or edit your existing one like the following.&amp;lt;br /&amp;gt;The format is explained in {{cmduser|man lilo.conf}}.&lt;br /&gt;
 boot=/dev/hda2 ;It is important to specify your Linux boot partition here&lt;br /&gt;
 map=/boot/map&lt;br /&gt;
 install=/boot/boot.b&lt;br /&gt;
 default=Linux&lt;br /&gt;
 lba32&lt;br /&gt;
 image=/boot/vmlinuz&lt;br /&gt;
        label=Linux&lt;br /&gt;
        root=/dev/hda2&lt;br /&gt;
        read-only&lt;br /&gt;
*Run the {{cmdroot|lilo}} command to write lilo to the boot sector of {{path|/dev/hda2}}.&lt;br /&gt;
&lt;br /&gt;
===Installing GRUB to a partitions boot sector===&lt;br /&gt;
*Create or edit a minimal {{path|/boot/grub/menu.lst}} like this.&lt;br /&gt;
 boot=/dev/hda2&lt;br /&gt;
 default=0&lt;br /&gt;
 title Linux&lt;br /&gt;
       root (hd0,1)&lt;br /&gt;
       kernel /boot/vmlinuz ro root=/dev/hda2&lt;br /&gt;
*Launch the GRUB shell by running {{cmdroot|grub}}. Make sure that your stage files are properly setup (see above).&lt;br /&gt;
*Within the GRUB shell select the partition on which your {{path|/boot/grub}} directory resides using the &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; command, i.e. for the second partion on the first harddisk ({{path|/dev/hda2}}), enter&lt;br /&gt;
:{{cmdgrub|root (hd0,1)}}&lt;br /&gt;
*After that is successfully done, install the GRUB bootloader to the boot sector of the second partition using&lt;br /&gt;
:{{cmdgrub|setup (hd0,1)}}&lt;br /&gt;
&lt;br /&gt;
===Copying the boot sector===&lt;br /&gt;
To make the boot sector accessable for NTLDR you must copy it to a file on a filesystem that is accessable by both Linux and Windows. This can be a floppy diskette, a USB drive, a CF card or simply a VFAT partition if you have one. There are also applications available for Windows which can read files from an ext2 partition. For whichever media you decide, it has to be mounted writable, we assume it's mounted under {{path|/media/floppy}}.&lt;br /&gt;
&lt;br /&gt;
*Copy the boot sector using the command&lt;br /&gt;
:{{cmdroot|1=dd if=/dev/hda2 of=/media/floppy/linbsect.bin bs=512 count=1}}&lt;br /&gt;
*Reboot into Windows.&lt;br /&gt;
*Copy the file linbsect.bin to the root level directory of your Windows partition, i.e. to {{path|C:\linbsect.bin}}.&lt;br /&gt;
&lt;br /&gt;
===Adjusting the NT boot menu===&lt;br /&gt;
The final step is to add an entry for the Linux system to the {{path|boot.ini}}, which describes the NT boot menu.&lt;br /&gt;
Your boot.ini might be hidden and set to read-only, so you might have to first adjust your folder options to show hidden and system files and remove the read-only flag within the properties dialog.&lt;br /&gt;
&lt;br /&gt;
*Open the file in an editor and add the following line at it's end:&lt;br /&gt;
 C:\linbsect.bin=&amp;quot;Linux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This is it. On next reboot, you should be able to directly boot into your Linux system from the NT boot menu.&lt;br /&gt;
&lt;br /&gt;
==Using LILO or GRUB to boot Windows==&lt;br /&gt;
When you want to configure a linux boot manager to boot Windows, there are some aspects to care about.&lt;br /&gt;
*First of all, do not install LILO or GRUB to the Windows partitions boot sector. This would overwrite the Windows boot loader and Windows would not be bootable anymore. It is often best to install the Linux bootloader to the MBR.&lt;br /&gt;
{{WARN|Installing a Linux bootlader to the MBR seems to break the [[Rescue and Recovery]] function available on some models}}&lt;br /&gt;
*Take care that at least at the time of booting, your Windows partition is the active one. As long as the LILO/GRUB is installed to the MBR, the Linux boot process doesn't depend on the active partition flag. So in most cases you can just set it on the Windows partition (using i.e. {{cmdroot|fdisk /dev/hda}}) and leave it. However, there are cases requiring a more dynamic handling. GRUBs &amp;lt;tt&amp;gt;makeactive&amp;lt;/tt&amp;gt; command can help you here.&lt;br /&gt;
&lt;br /&gt;
===LILO configuration===&lt;br /&gt;
Given that {{path|/dev/hda2}} would be your Windows partition, a typical {{path|/etc/lilo.conf}} section for booting it with LILO would be:&lt;br /&gt;
&lt;br /&gt;
 other=/dev/hda2&lt;br /&gt;
 label=win&lt;br /&gt;
&lt;br /&gt;
===GRUB configuration===&lt;br /&gt;
Given that {{path|/dev/hda2}} would be your Windows partition, a typical {{path|/boot/grub/menu.lst}} section for booting it with GRUB would be:&lt;br /&gt;
&lt;br /&gt;
 title Windows&lt;br /&gt;
 rootnoverify (hd0,1)&lt;br /&gt;
 makeactive&lt;br /&gt;
 chainloader +1&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-128.ibm.com/developerworks/library/l-bootload.html?ca=dgr-lnxw41LILOandGRUB IBMs Getting to know LILO and GRUB page]&lt;br /&gt;
*[http://www.tldp.org/HOWTO/Bootdisk-HOWTO/index.html Linux Bootdisk HOWTO]&lt;br /&gt;
*[http://www.tldp.org/HOWTO/LILO.html LILO mini-HOWTO]&lt;br /&gt;
*[http://www.clug.org/cgi/wiki.cgi?InfamousLiThenStopProblem CLUGs Infamouse LI Then Stops Problem page]&lt;br /&gt;
*[http://www.windowsitpro.com/Article/ArticleID/3952/3952.html?Ad=1 Windows IT article about the NT Boot Process]&lt;br /&gt;
*[http://ce.et.tudelft.nl/~zhijiangchang/index.html#useful How to use WINDOWS BOOT LOADER to make windows, linux and AcessIBM work all together]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=28049</id>
		<title>How to get special keys to work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=28049"/>
		<updated>2007-02-01T10:48:33Z</updated>

		<summary type="html">&lt;p&gt;Matt: {{prettytable}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
! key !! standard function !! tools supporting key{{footnote|1}} !! configurability{{footnote|2}} !! remarks&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || - || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || on release without completed key combination&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || lock screen || [[#ibm-acpi events|ibm-acpi]] || full || in models from T/X/Z 60 onwards&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || blank screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || suspend to ram || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the ibm-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || switch bluetooth || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || in models starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F6}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || switch display || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions || &lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || toggle display expansion || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F9}} || eject from dock || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || hibernate || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the ibm-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || brightness up || [[#ibm-acpi events|ibm-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || brightness down || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || toggle thinklight || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || toggle zoom || [[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|NumLock}} || - || [[#xmodmap configuration|xmodmap]] || make working ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Windows}} || - || [[#xmodmap configuration|xmodmap]] || remapping ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || help application || [[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || open web browser || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || open search application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || open mail application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || open favorites || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || reload web page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || abort loading page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || previous page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full ||  ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || next page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || volume up || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || volume down || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || mute volume || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || blank screen || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay lid || announce ultrabay change || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || eject from dock || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || rotates screen || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet shortcut|#494949}} || shortcut menu || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || esc key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || enter key || [[#mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || up key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Triggering key events==&lt;br /&gt;
===ibm-acpi events===&lt;br /&gt;
Some of the following events require a {{cmdroot|echo enable,0xffff &amp;gt;/proc/acpi/ibm/hotkey}} in order to make acpi able to get information on them. These events can be used to [[How to configure acpid|configure acpid]].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by [[ibm-acpi]] for {{path|/etc/acpi/events}} files. &lt;br /&gt;
! key !! event&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || ibm/hotkey HKEY 00000080 00001001&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || ibm/hotkey HKEY 00000080 00001002&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || ibm/hotkey HKEY 00000080 00001003&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || ibm/hotkey HKEY 00000080 00001004&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || ibm/hotkey HKEY 00000080 00001005&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F6}} || ibm/hotkey HKEY 00000080 00001006&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || ibm/hotkey HKEY 00000080 00001007&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || ibm/hotkey HKEY 00000080 00001008&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F9}} || ibm/hotkey HKEY 00000080 00001009&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || ibm/hotkey HKEY 00000080 0000100a&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || ibm/hotkey HKEY 00000080 0000100b&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || ibm/hotkey HKEY 00000080 0000100d&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || ibm/hotkey HKEY 00000080 0000100e&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || ibm/hotkey HKEY 00000080 0000100f&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}}/{{key|Fn}}{{key|Pos1}} || ibm/hotkey HKEY 00000080 00001010&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || button/power PWRF 00000080 xxxxxxxx&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || button/lid LID 00000080 xxxxxxxx&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay eject || ibm/bay MSTR 00000003 00000000&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay inserted || ibm/bay MSTR 00000001 00000000&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || ibm/dock GDCK 00000003 00000001&lt;br /&gt;
|-&lt;br /&gt;
| Wireless switch || ibm/hotkey HKEY 00000080 00007000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pure ACPI events ===&lt;br /&gt;
&lt;br /&gt;
A few keys can generate ACPI events of their own on certain ThinkPads, as long as they are masked off in the ibm-acpi hotkey's mask (or the hotkey feature is disabled in ibm-acpi).&lt;br /&gt;
&lt;br /&gt;
If you want the ThinkPad's BIOS and ACPI methods to know about these keys being pressed, you probably want to leave them masked out from ibm-acpi, and use their non-HKEY events listed below, instead.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by ACPI when hotkey is masked out or disabled. &lt;br /&gt;
! key !! event&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || button/sleep SLPB 00000080 00000001&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===tpb configuration===&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ configuration keywords for [[tpb]] (to put in {{path|/etc/tpbrc}})&lt;br /&gt;
! key !! config keyword&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || THINKPAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || HOME&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || SEARCH&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || MAIL&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || FAVORITES&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || RELOAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || ABORT&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || BACKWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || FORWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || FN&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || CALLBACK (zoom on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || CALLBACK (thinklight on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || CALLBACK (display lcd/crt/both)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || CALLBACK (expand on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || CALLBACK (mute on/off)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To all parameter keywords should be assigned the full path to the executables supposed to be started on key press.&lt;br /&gt;
The exectable provided for the CALLBACK keyword should take the parameters given in parentheses and act according to them.&lt;br /&gt;
If you want to use xmodmap for the HOME, SEARCH, MAIL, FAVORITES, RELOAD, ABORT, BACKWARD, FORWARD and FN keys you should&lt;br /&gt;
provide a &amp;lt;tt&amp;gt;XEVENTS OFF&amp;lt;/tt&amp;gt; in your {{path|/etc/tpbrc}}. &lt;br /&gt;
You can use an appropriate executable to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
For Debian users, tpb is started from {{path|/etc/X11/Xsession.d/90tpb}}.&lt;br /&gt;
&lt;br /&gt;
'''Sound Button configuration'''&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on T60p with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
Most Thinkpads have a hardware sound mixer, thus the volumes buttons should work without configuration. However, this change is not reflected in the software mixer. tpb has a switch to enable software mixer support via OSS. The manual recommends this only for devices without a hardware mixer, but it also works for other hadware mixer enabled devices, even with the ALSA system. Just put MIXER ON in your {{path|/etc/tpbrc}} file and you can see the effect immediately in any ALSA mixer (e.g. kmix). For this to work you need write permissions to {{path|/dev/nvram}}.&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on X21 with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
On the ThinkPad X21 (and maybe some other older models) ACPI causes problems with tpb.  On an X21 using acpi the volume buttons would work occasionally, and the OSD for tpb functions would rarely work.  If a volume buttons was pressed too often, sometimes the computer would enter a low power (unplugged state) and would require a reboot.  The solution is to use APM instead of ACPI.  Instructions can be found in [[How_to_make_APM_work]].&lt;br /&gt;
&lt;br /&gt;
===KMilo configuration===&lt;br /&gt;
The programs to be executed by [[KMilo]] are configured via the KDE Control Center (&amp;lt;tt&amp;gt;kcontrol&amp;lt;/tt&amp;gt;), under &amp;lt;tt&amp;gt;System Administration --&amp;gt; IBM Thinkpad Laptop&amp;lt;/tt&amp;gt;. Note that you can use appropriate commands to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
===xmodmap configuration===&lt;br /&gt;
xmodmap enables you to edit the modifier map and keymap tables that are used to translate keycodes into keysyms.&lt;br /&gt;
Understood? Well, basically it allows you to give the X server a dictionary for the translation of keycodes like &amp;quot;97&amp;quot; into more human readable synonyms like &amp;quot;Home&amp;quot;. This way xmodmap allows you to make the special keys of your keyboard known to X applications.&lt;br /&gt;
&lt;br /&gt;
To discover the keycode that a certain keypress produces, use the tool {{cmduser|xev}} &lt;br /&gt;
&lt;br /&gt;
Usually you should write your keycode-keysym associations into the file {{path|~/.Xmodmap}}. This file is usually read by the X session startup scripts of your system, so that the mappings automatically get included everytime you run the X server.&lt;br /&gt;
&lt;br /&gt;
The {{path|~/.Xmodmap}} lines for our purpose are in the form of&lt;br /&gt;
 keycode &amp;lt;keycode&amp;gt; = &amp;lt;keysym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load the assocation using the command&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xmodmap ~/.Xmodmap}} &lt;br /&gt;
&lt;br /&gt;
(some configurations do this automatically upon X startup).&lt;br /&gt;
&lt;br /&gt;
The following table shows the keycodes generated by the ThinkPad special keys and sensible keysyms to assign them to.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ keycodes and recommended keysyms&lt;br /&gt;
! key !! keycode !! keysym&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || 159 || XF86LaunchA&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || 234 || XF86Back or F19&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || 233 || XF86Forward or F20&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || 178 || XF86HomePage&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || 229 || XF86Search&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || 236 || XF86Mail&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || 230 || XF86AddFavorite or XF86Favorites&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || 231 || XF86Reload&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || 232 || XF86Stop&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || 227 || F35&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: if you are running [[tpb]] you might need to add the line &amp;lt;tt&amp;gt;XEVENTS=off&amp;lt;/tt&amp;gt; into your tpbrc to stop it from grabbing the key events and allow them to get through to X instead.&lt;br /&gt;
&lt;br /&gt;
Note: XF86Forward and XF86Back do not work correctly in Firefox. You may want to map them to F19 and F20 instead if you use Firefox.&lt;br /&gt;
&lt;br /&gt;
=====Enabling the Windows and Menu Keys=====&lt;br /&gt;
On some systems the Windows and Menu keys may not be recognized.  You can enable then by&lt;br /&gt;
making the following changes:&lt;br /&gt;
&lt;br /&gt;
        keycode 115 = F13&lt;br /&gt;
        keycode 227 = F35&lt;br /&gt;
&lt;br /&gt;
F13 and F35 are used for the Windows and and Menu keys respectively.  Labelling keycpode 227 as &amp;quot;Menu&amp;quot; may conflict with the right-mouse-click event.&lt;br /&gt;
&lt;br /&gt;
=====Using Caps Lock as Super L (Windows key)=====&lt;br /&gt;
You can easily use Caps Lock as Win key by adding the following in your ~/.Xmodmap:&lt;br /&gt;
        ! No Caps Lock&lt;br /&gt;
        clear lock&lt;br /&gt;
        ! Caps Lock as Win key&lt;br /&gt;
        add mod4 = Caps_Lock&lt;br /&gt;
=====NumLock=====&lt;br /&gt;
On the ThinkPad {{600}}, {{T20}}, {{T21}}, {{T22}}, {{T30}}, {{X20}}, {{X21}},  {{X31}}, {{T43}}, {{R51}}, {{R52}} and possibly other models, X does not recognize the keycode for {{key|NumLk}} = {{key|Shift}}+{{key|ScrLk}}. To fix this, add the following to {{path|~/.Xmodmap}} in your home directory or {{path|/etc/X11/Xmodmap}} and run &amp;lt;tt&amp;gt;xmodmap&amp;lt;/tt&amp;gt;, ex: &amp;lt;tt&amp;gt;xmodmap ~/.Xmodmap&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 keycode 77 = Num_Lock&lt;br /&gt;
&lt;br /&gt;
===Mapping keys with setkeycodes===&lt;br /&gt;
You can use the setkeycodes command to remap certain keys. I.e. you can use {{cmdroot|setkeycodes 6e 109 6d 104 69 28 6b 1}} to map the Tablets Up and Down keys to the standard PageUp and PageDown keys and Tablet Escape and Enter to their respective keys.&lt;br /&gt;
&lt;br /&gt;
The following table shows the keycodes generated by the ThinkPad keys.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ keycodes&lt;br /&gt;
! key !! keycode&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || 0x6d&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Shortcut|#494949}} || 0x6e&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || 0x6b&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || 0x69&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || 0x68&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || 0x6c&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || 0x67&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Example Applications==&lt;br /&gt;
===Web Browsers===&lt;br /&gt;
====Firefox====&lt;br /&gt;
To have firefox make use of the browser keys you need to modify one of its files{{footnote|3}}.&lt;br /&gt;
To do this you will first need to extract it from the {{path|browser.jar}} archive. Do...&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cd &amp;lt;firefox-directory&amp;gt;/chrome}}&amp;lt;br /&amp;gt;&lt;br /&gt;
:{{cmdroot|unzip browser.jar}}&lt;br /&gt;
&lt;br /&gt;
The file of interest is {{path|content/browser/browser.xul}}. Edit it {and don't forget to make a backup copy first}...&lt;br /&gt;
:{{cmdroot|vi content/browser/browser.xul}}&lt;br /&gt;
&lt;br /&gt;
Look for the '''&amp;lt;keyset id=&amp;quot;mainKeyset&amp;quot;&amp;gt;''' section and add the following lines within...&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; command=&amp;quot;Browser:Back&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; command=&amp;quot;Browser:Forward&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Command you need for Next Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackTabKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(-1)&amp;quot; /&amp;gt;&lt;br /&gt;
For the Previous Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardTabKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(1)&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now save the file and repackage the {{path|browser.jar}} archive...&lt;br /&gt;
:{{cmdroot|zip -rD0 browser.jar content/browser/}}&lt;br /&gt;
&lt;br /&gt;
That's it.&lt;br /&gt;
&lt;br /&gt;
{{HINT|For Firefox 2.0, just edit &amp;lt;firefox-directory&amp;gt;/chrome/browser/content/browser/browser.xul}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Another interesting Page on Firefox is http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ It uses different key mappings (F19 resp. F20) but a ready [http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/dqdnavkeys-1.2.xpi .xpi] is provided which is pretty comfortable. However, this xpi file does not install on Firefox 1.5.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|You can also use the [http://extensionroom.mozdev.org/more-info/keyconfig keyconfig] extension to configure custom keys.  This extension works with Firefox 1.5. The Command you need for Next Tab is gBrowser.mTabContainer.advanceSelectedTab(1,true); For Previous Tab its gBrowser.mTabContainer.advanceSelectedTab(-1,true); }}.&lt;br /&gt;
&lt;br /&gt;
====Konqueror====&lt;br /&gt;
KDE allows you set key mappings for KDE applications (Go to KMenu &amp;gt; System &amp;gt; Control Center &amp;gt; Regional &amp;amp; Accessibility &amp;gt; Keyboard Shortcuts). By default (at least in KDE 3.5), XF86Back and XF86Forward are set as alternatives to Alt-Left and Alt-Right, and are mapped to KDE Back and Forward navigation actions.  &lt;br /&gt;
&lt;br /&gt;
If you use Konqueror as your only browser, you only need to set up {{path|~/.Xmodmap}} as described [[#xmodmap configuration|above]] to assign ThinkPad back/forward keys to the symbols XF86Back/XF86Forward. This also make these keys work for other KDE applications such as Quanta Plus, KPackage and so on (not all KDE applications honor this setting, e.g. KDE help system doesn't).&lt;br /&gt;
&lt;br /&gt;
If you want to use Firefox, however, the above settings do not work. You will have to map ThinkPad back/forward keys to F19/F20 as described [[#Firefox|above]], and change KDE navigation key settings to use F19/F20 instead of the default.&lt;br /&gt;
&lt;br /&gt;
====Opera====&lt;br /&gt;
However this isn't a simple configration file, you can set your browser manually.&amp;lt;br /&amp;gt;&lt;br /&gt;
Go to &amp;lt;i&amp;gt;Tool &amp;gt; Settings &amp;gt; Mouse and keyboard &amp;gt; Keyboard settings &amp;gt; Edit &amp;gt; Browser Window&amp;lt;/i&amp;gt;. There add F19 - Back and F20 - Forward. Now you can surf using your TP keys ;-)&lt;br /&gt;
&lt;br /&gt;
===Window Managers===&lt;br /&gt;
====fvwm====&lt;br /&gt;
To get the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fvwmrc}}:&lt;br /&gt;
 Key    XF86Back     A      A   Scroll     -100000   0&lt;br /&gt;
 Key    XF86Forward  A      A   Scroll     +100000   0&lt;br /&gt;
If you use multiple virtual desktops, you could instead use the keys to flip between them by using GotoDesk.&lt;br /&gt;
&lt;br /&gt;
====fluxbox====&lt;br /&gt;
To get the keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fluxbox/keys}}:&lt;br /&gt;
 None F19 :PrevWorkspace&lt;br /&gt;
 None F20 :NextWorkspace&lt;br /&gt;
&lt;br /&gt;
====pekwm configuration====&lt;br /&gt;
You can make the two browser keys switch workspaces in pekwm, by adding the following two lines to the {{path|~/.pekwm/keys}} file:&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Back&amp;quot; { Actions = &amp;quot;GoToWorkspace prev&amp;quot; }&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Forward&amp;quot; { Actions = &amp;quot;GoToWorkspace next&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
====pwm====&lt;br /&gt;
Another example how to use these two keys to switch between pwm tabs. These two lines should be added to {{path|~/.pwm/keys-default.conf}} or {{path|/etc/pwm/keys-default.conf}}:&lt;br /&gt;
 kbind &amp;quot;Back&amp;quot;, &amp;quot;switch_rot&amp;quot;, -1&lt;br /&gt;
 kbind &amp;quot;Forward&amp;quot;, &amp;quot;switch_rot&amp;quot;, 1&lt;br /&gt;
&lt;br /&gt;
====icewm====&lt;br /&gt;
Some applications use {{key|Ctrl}}{{key|Left}} and {{key|Ctrl}}{{key|Right}} to set the cursor to the beginning of the previous / next word. In icewm, though, they're bound to previous / next workspace. Change these two options in {{path|~/.icewm/preferences}} to bind those to {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}}: (Provided you assigned keysyms F19 and F20 with xmodmap)&lt;br /&gt;
 # &amp;quot;Previous workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspacePrev=&amp;quot;F19&amp;quot;&lt;br /&gt;
 # &amp;quot;Next workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspaceNext=&amp;quot;F20&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Other Uses===&lt;br /&gt;
====Console tools configuraton====&lt;br /&gt;
To make the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys useful in console, add this to your keymap ({{path|/etc/console/boottime.kmap.gz}} in {{Debian}}):&lt;br /&gt;
 keycode 158 = Decr_Console&lt;br /&gt;
 keycode 159 = Incr_Console&lt;br /&gt;
&lt;br /&gt;
Alternatively you can load this script (perhaps on system startup) to enable Backward/Forward button console (VT) switch:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 setkeycodes e06a 126 e069 127&lt;br /&gt;
 echo keycode 126 = Decr_Console | loadkeys&lt;br /&gt;
 echo keycode 127 = Incr_Console | loadkeys&lt;br /&gt;
&lt;br /&gt;
It should work with any distro.&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51537 IBMs page on configuring the ThinkPad buttons (ThinkPad, Access IBM, Mail, Search, and Home buttons) under Linux]&lt;br /&gt;
*[http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ Rob Mayoffs page on using IBM Keyboard Navigation Keys in Linux Mozilla and Firefox]&lt;br /&gt;
*[http://snarfed.org/space/thinkpad+keys+in+firefox Ryan Barretts blog article about using the browser keys in Firefox]&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#if there are more than one tool listed, one is sufficient&lt;br /&gt;
#'full' means you can completely reassign any action to be triggered by the key, 'additional actions' means you can trigger actions in addition to the standard function of the key, which can not be changed.&lt;br /&gt;
#Thanks go to Ryan Barrett for writing the [http://snarfed.org/space/thinkpad+keys+in+firefox little howto] on [http://snarfed.org/space/start his blog].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_History&amp;diff=28048</id>
		<title>ThinkPad History</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_History&amp;diff=28048"/>
		<updated>2007-02-01T10:44:12Z</updated>

		<summary type="html">&lt;p&gt;Matt: {{prettytable}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is an overview of the history of IBM ThinkPad (and similar) mobile computers.&lt;br /&gt;
&lt;br /&gt;
IBM has a webpage on the history of the ThinkPad here: http://www.pc.ibm.com/ww/thinkpad/anniversary/history.html&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ ThinkPads sorted by time of appearance&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | ThinkPad model !! style=&amp;quot;background:#ffdead;&amp;quot; | release year !! style=&amp;quot;background:#ffdead;&amp;quot; | special characteristics&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 1992&lt;br /&gt;
|-&lt;br /&gt;
| {{700T}} || Apr 1992 || [[Image:Icon20_pen.png | TouchScreen]] TabletPC&lt;br /&gt;
|-&lt;br /&gt;
| {{300}} || Oct 1992 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{700}}, {{700C}} || Oct 1992 || MCA&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 1993&lt;br /&gt;
|-&lt;br /&gt;
| {{710T}} || Mar 1993 || [[Image:Icon20_pen.png | TouchScreen]] TabletPC&lt;br /&gt;
|-&lt;br /&gt;
| {{720}}, {{720C}} || May 1993 || MCA&lt;br /&gt;
|-&lt;br /&gt;
| {{350}}, {{350C}} || June 1993 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{500}} || June 1993 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{750}}, {{750C}} || Sep 1993 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{750P}} || Sep 1993 || [[Image:Icon20_ultrabay.png | UltraBay]] [[Image:Icon20_pen.png | TouchScreen]] TabletPC/Notebook-Morphable&lt;br /&gt;
|-&lt;br /&gt;
| {{750Cs}} || Nov 1993 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{220}} || ??? 1993 || SubNotebook&lt;br /&gt;
|-&lt;br /&gt;
| {{550BJ}} || ??? 1993 || integrated Printer&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 1994&lt;br /&gt;
|-&lt;br /&gt;
| {{360}}, {{360Cs}} || May 1994 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{730T}} || May 1994 || [[Image:Icon20_pen.png | TouchScreen]] TabletPC&lt;br /&gt;
|-&lt;br /&gt;
| {{230Cs}} || June 1994 || SubNotebook&lt;br /&gt;
|-&lt;br /&gt;
| {{355}}, {{355C}}, {{355Cs}} || June 1994 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{360C}} || June 1994 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{360P}} || June 1994 || [[Image:Icon20_ultrabay.png | UltraBay]] [[Image:Icon20_pen.png | &lt;br /&gt;
TouchScreen]] TabletPC/Notebook-Morphable&lt;br /&gt;
|-&lt;br /&gt;
| {{510Cs}} || June 1994 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{755C}}, {{755Cs}} || June 1994 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{360CE}}, {{360CSE}} || Oct 1994 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{755CD}} || Oct 1994 || [[Image:Icon20_ultrabay.png | UltraBay]] first notebook with integrated CD-ROM drive and IrDA&lt;br /&gt;
|-&lt;br /&gt;
| {{755CE}}, {{755CSE}} || Nov 1994 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 1995&lt;br /&gt;
|-&lt;br /&gt;
| {{701C}}, {{701CS}} || Mar 1995 || [[Image:Icon20_trackwrite.png|TrackWrite]] SubNotebook&lt;br /&gt;
|-&lt;br /&gt;
| {{360CE}} || Apr 1995 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{370C}} || May 1995 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{755CX}} || May 1995 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{755CV}} || May 1995 || [[Image:Icon20_ultrabay.png | UltraBay]] display can be used with overhead projectors&lt;br /&gt;
|-&lt;br /&gt;
| {{755CDV}} || June 1995 || [[Image:Icon20_ultrabay.png | UltraBay]] display can be used with overhead projectors&lt;br /&gt;
|-&lt;br /&gt;
| {{820}}, {{850}} || July 1995 || PowerPC driven&lt;br /&gt;
|-&lt;br /&gt;
| {{PC110}} || Sep 1995 || PalmTop - the smallest and cutest &amp;quot;ThinkPad&amp;quot; ever, was sold in Japan only&lt;br /&gt;
|-&lt;br /&gt;
| {{730TE}} || Oct 1995 || [[Image:Icon20_pen.png | TouchScreen]] TabletPC, enhanced version of 730T&lt;br /&gt;
|-&lt;br /&gt;
| {{760C}}, {{760CD}} || Oct 1995 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{365C}}, {{365CS}} || Nov 1995 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{365CD}}, {{365CSD}} || Nov 1995 ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 1996&lt;br /&gt;
|-&lt;br /&gt;
| {{760L}}, {{760LD}} || Feb 1996 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{365E}}, {{365ED}} || May 1996 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{365X}}, {{365XD}} || May 1996 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{560}} || May 1996 || UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{760E}}, {{760ED}}, {{760EL}}, {{760ELD}}|| May 1996 || First ThinkPads with CardBus&lt;br /&gt;
|-&lt;br /&gt;
| {{860}} || Oct 1996 || PowerPC driven&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 1997&lt;br /&gt;
|-&lt;br /&gt;
| {{380}}, {{380D}} || May 1997 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{385D}} || May 1997 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{310}}, {{310D}} || June 1997 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{560E}} || June 1997 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{765L}}, {{765D}} || June 1997 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{380E}}, {{380ED}} || Sep 1997 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{385ED}} || Sep 1997 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{770}} || Oct 1997 || [[Image:Icon20_ultrabayii.png | UltraBay II]] first Notebook with integrated DVD-ROM drive&lt;br /&gt;
|-&lt;br /&gt;
| {{310E}}, {{310ED}} || Nov 1997 ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 1998&lt;br /&gt;
|-&lt;br /&gt;
| {{380XD}} || Mar 1998 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{385XD}} || Mar 1998 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{560X}} || Mar 1998 || UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{600}} || Apr 1998 || [[Image:Icon20_ultraslimbay.png | UltraSlimBay]] probably the most popular ThinkPad so far&lt;br /&gt;
|-&lt;br /&gt;
| {{770E}}, {{770ED}} || Apr 1998 || [[Image:Icon20_ultrabayii.png | UltraBay II]]&lt;br /&gt;
|-&lt;br /&gt;
| {{380Z}} || Sep 1998 || [[Image:Icon20_ultrabay.png | UltraBay]]&lt;br /&gt;
|-&lt;br /&gt;
| {{560Z}} || Sep 1998 || UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{770X}} || Oct 1998 || [[Image:Icon20_ultrabayii.png | UltraBay II]]&lt;br /&gt;
|-&lt;br /&gt;
| {{390}} || Nov 1998 || [[Image:Icon20_ultrabayfx.png | UltraBay FX]]&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} || Nov 1998 || [[Image:Icon20_ultraslimbay.png | UltraSlimBay]] enhanced version of 600&lt;br /&gt;
|-&lt;br /&gt;
| {{I1410}}, {{I1450}} || Nov 1998 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 1999&lt;br /&gt;
|-&lt;br /&gt;
| {{I1411}}, {{I1451}} || Jan 1999 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{770Z}} || Feb 1999 || [[Image:Icon20_ultrabayii.png | UltraBay II]]&lt;br /&gt;
|-&lt;br /&gt;
| {{390E}} || Mar 1999 || [[Image:Icon20_ultrabayfx.png | UltraBay FX]]&lt;br /&gt;
|-&lt;br /&gt;
| {{570}} || Apr 1999 || [[Image:Icon20_ultrabase.png | UltraBase]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{240}} || June 1999 || SubNotebook&lt;br /&gt;
|-&lt;br /&gt;
| {{I1412}}, {{I1452}}, {{I1472}} || June 1999 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{I1512}}, {{I1552}} || July 1999 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{I1720}}, {{I1721}} || July 1999 || [[Image:Icon20_ultrabayfx.png | UltraBay FX]]&lt;br /&gt;
|-&lt;br /&gt;
| {{390X}} || Sep 1999 || [[Image:Icon20_ultrabayfx.png | UltraBay FX]]&lt;br /&gt;
|-&lt;br /&gt;
| {{I1420}} || Oct 1999 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{I1460}}, {{I1480}} || Oct 1999 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_easylaunch.png|Easy Launch Buttons]] first Notebook with integrated keyboard light&lt;br /&gt;
|-&lt;br /&gt;
| {{I1540}}, {{I1560}} || Oct 1999 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} || Dec 1999 || [[Image:Icon20_ultraslimbay.png | UltraSlimBay]] enhanced version of 600E&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 2000&lt;br /&gt;
|-&lt;br /&gt;
| {{I1421}}, {{I1441}} || Jan 2000 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{I1541}} || Jan 2000 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{570E}} || Feb 2000 || [[Image:Icon20_ultrabase.png | UltraBase]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{I1422}}, {{I1442}}, {{I1482}},&amp;lt;br&amp;gt;{{I1483}}, {{I1492}} || Mar 2000 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{I1542}}, {{I1562}}, {{I1592}} || April 2000 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A20m}} || May 2000 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A20p}} || May 2000 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]]]&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} || May 2000 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]]&lt;br /&gt;
|-&lt;br /&gt;
| {{240X}} || June 2000 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{I1210}}, {{I1230}},&amp;lt;br&amp;gt;{{I1250}}, {{I1260}}  || June 2000 ||&lt;br /&gt;
|-&lt;br /&gt;
| {{I1330}}, {{I1370}} || June 2000 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{I1200}}, {{I1300}}|| Sep 2000 || [[Image:Icon20_easylaunch.png|Easy Launch Buttons]]&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} || Sep 2000 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X2]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} || Sep 2000 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A21p}} || Sep 2000 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A21e}} || Oct 2000 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]]&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}} || Oct 2000 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 2001&lt;br /&gt;
|-&lt;br /&gt;
| {{TransNote}} || Feb 2001 || [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_pen.png | TouchScreen]] [[Image:Icon20_ink.png | ThinkScribe]] IBMs innovative approach on Human Interaction&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} || Mar 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A22m}} || Apr 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} || Apr 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]]&lt;br /&gt;
|-&lt;br /&gt;
| {{X21}} || Apr 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X2]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{S30}} || May 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultraport.png | UltraPort]] [[Image:Icon20_easylaunch.png|Easy Launch Buttons]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A22e}} || June 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|ThinkPad Button]]&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} || July 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A30}} || Oct 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_webnav.png | Web Navigation Keys]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A30p}} || Oct 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_webnav.png | Web Navigation Keys]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_ultraport.png | UltraPort]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}} || Oct 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] &lt;br /&gt;
|-&lt;br /&gt;
| {{X22}} || Oct 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X2]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]  UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{S31}} || Nov 2001 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_easylaunch.png|Easy Launch Buttons]] [[Image:Icon20_ultraport.png | UltraPort]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{X23}} || Jan 2002 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X2]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] UltraPortable &lt;br /&gt;
|-&lt;br /&gt;
| {{R31}} || Feb 2002 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]]  [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} || Mar 2002 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_webnav.png | Web Navigation Keys]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} || Mar 2002 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_ultrabay2000.png | UltraBay 2000]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_webnav.png | Web Navigation Keys]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_ultraport.png | UltraPort]]  [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} || May 2002 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{X24}} || May 2002 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X2]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|ThinkPad Button]] [[Image:Icon20_ultraport.png | UltraPort]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] UltraPortable &lt;br /&gt;
|-&lt;br /&gt;
| {{R32}} || June 2002 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] &lt;br /&gt;
|-&lt;br /&gt;
| {{X30}} || Sep 2002 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X3]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 2003&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} || Jan 2003 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] &lt;br /&gt;
|-&lt;br /&gt;
| {{T40}}, {{T40p}} || Mar 2003 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{X31}} || Mar 2003 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X3]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{G40}} || Apr 2003 || [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{R40e}} || Oct 2003 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayplus.png | UltraBay Plus]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] &lt;br /&gt;
|-&lt;br /&gt;
| {{R50}} || Oct 2003 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayenh.png | UltraBay Enhanced]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} || Oct 2003 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] first notebook with [[Active Protection System | HDD protection system]]&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} || Nov 2003 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{R50p}} || Nov 2003 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayenh.png | UltraBay Enhanced]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 2004&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} || Feb 2004 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X4]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{R50e}} || Apr 2004 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} || Apr 2004 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayenh.png | UltraBay Enhanced]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}}, {{T42p}} || May 2004 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]]&lt;br /&gt;
|-&lt;br /&gt;
| {{G41}} || Oct 2004 || [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 2005&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} || Feb 2005 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]]&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} || Mar 2005 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayenh.png | UltraBay Enhanced]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} || Apr 2005 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]]&lt;br /&gt;
|-&lt;br /&gt;
| {{X32}} || Apr 2005 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X3]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]  [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} || Apr 2005 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X4]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{X41T}} || June 2005 || [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|ThinkVantage Button]] [[Image:Icon20_help.png|Predesktop Area]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]] [[Image:Icon20_pen.png | Tablet-Digitizer-Screen]] Tablet-Convertable&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}} || Sep 2005 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayenh.png | UltraBay Enhanced]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|ThinkVantage Button]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]] Widescreen&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} || Sep 2005 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|ThinkVantage Button]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]] Widescreen&lt;br /&gt;
|-&lt;br /&gt;
| {{R51e}} || Sep 2005 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_accessibm.png|Access IBM Button]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;background:#efefef;&amp;quot; | 2006&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} || Jan 2006 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|ThinkVantage Button]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]]&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} || Jan 2006 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X6]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|ThinkVantage Button]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} || Jan 2006 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabase.png | UltraBase X6]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|ThinkVantage Button]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]] UltraPortable&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} || Feb 2006 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayslim.png | UltraBay Slim]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|ThinkVantage Button]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]]&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} || May 2006 || [[Image:Icon20_thinklight.png|ThinkLight]] [[Image:Icon20_ultrabayenh.png | UltraBay Enhanced]] [[Image:Icon20_ess.png|Embedded Security Subsystem]] [[Image:Icon20_aps.png | Active Protection System]] [[Image:Icon20_accessibm.png|ThinkVantage Button]] [[Image:Icon20_ultranav.png | UltraNav]] [[Image:Icon20_browsekeys.png|Browser Keys]] [[Image:Icon20_wlan.png | Integrated Wireless Adapter]] [[Image:Icon20_bluetooth.png | Integrated Bluetooth Adapter]] [[Image:Icon20_fingerprint.png|Integrated Fingerprint Reader]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Models]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=X31&amp;diff=28047</id>
		<title>X31</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=X31&amp;diff=28047"/>
		<updated>2007-02-01T10:38:29Z</updated>

		<summary type="html">&lt;p&gt;Matt: redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[:Category:X31]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=28038</id>
		<title>Table of thinkpad-acpi LEDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=28038"/>
		<updated>2007-01-31T21:50:35Z</updated>

		<summary type="html">&lt;p&gt;Matt: {{prettytable}} + series separator&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This table contains informations about which LED number is used for which LED in the [[ibm-acpi]] driver.&lt;br /&gt;
&lt;br /&gt;
To test please do the following and add the blinking LED to the table. The moon symbol is the standby led.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;0 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;1 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;2 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;3 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;4 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;5 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;6 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;7 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;on&amp;quot; &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:A Series|A Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A31}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabay left || Ultrabay right || not found || Standby || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:G Series|G Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:R Series|R Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:R31|R31]]&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} || 2883-ELU&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60e}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:T Series|T Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}} || {{Battery(green)}}  || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}}  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || nothing  || Ultrabay || nothing || nothing || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2647-4MG&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  ||  {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}}  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2373-2gg&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}}  &lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}} &lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}}  &lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}}, {{T43p}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2007-49G&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:X Series|X Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X21}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || Ultrabase Battery || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:Z Series|Z Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:Prettytable&amp;diff=28037</id>
		<title>Template:Prettytable</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:Prettytable&amp;diff=28037"/>
		<updated>2007-01-31T21:49:28Z</updated>

		<summary type="html">&lt;p&gt;Matt: from http://en.wikipedia.org/w/index.php?title=Template:Prettytable&amp;amp;oldid=42297420&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=IBM_11b/g_Wireless_LAN_Mini_PCI_Adapter&amp;diff=28036</id>
		<title>IBM 11b/g Wireless LAN Mini PCI Adapter</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=IBM_11b/g_Wireless_LAN_Mini_PCI_Adapter&amp;diff=28036"/>
		<updated>2007-01-31T21:28:41Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* Linux WiFi driver */ LEDs + madwifi Wiki URL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&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;
=== IBM 11b/g Wireless LAN Mini PCI Adapter ===&lt;br /&gt;
This is a Mini-PCI WiFi Adapter that is installed in a Mini-PCI slot.&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Atheros AR5004G &lt;br /&gt;
* Radio chip: Atheros AR2112&lt;br /&gt;
* MAC Processor: Atheros AR5213&lt;br /&gt;
* IEEE Standards: 802.11b, 802.11g&lt;br /&gt;
* PCI ID: 168c:0013&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:mini-pci-wifi-card.gif|Mini-PCI WiFi Adapter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
IBM FRU PN (WW): 91P7418, 93P3477&amp;lt;br&amp;gt;&lt;br /&gt;
IBM FRU PN (USA, Canada, Taiwan): 91P7416, 93P3475&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Also known (in IBM literature) as.... ===&lt;br /&gt;
* 802.11b/g Ambit wireless card&lt;br /&gt;
* 802.11 b/g Clymer Wireless Card&lt;br /&gt;
* ThinkPad 11b/g Wi-Fi wireless&lt;br /&gt;
&lt;br /&gt;
=== Linux WiFi driver ===&lt;br /&gt;
* The [[Madwifi]] driver works with this adapter.&lt;br /&gt;
* LEDs might not light up: see http://madwifi.org/wiki/UserDocs/EnableLEDs&lt;br /&gt;
&lt;br /&gt;
Madwifi driver works fine on R51e, but the antenna seems to stay switched off after suspend to disk and cannnot be activated without a reboot. Somewhat annoying, shutting down the device before suspend to disk does not solve the problem.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this card may be found in ===&lt;br /&gt;
* {{G40}}, {{G41}}&lt;br /&gt;
* {{R51}}, {{R51e}}, {{R52}}&lt;br /&gt;
* {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
* {{X31}}, {{X40}}&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this card may also work with ===&lt;br /&gt;
* {{T30}} (2366-86G - works)&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Table_of_thinkpad-acpi_LEDs&amp;diff=27428</id>
		<title>Talk:Table of thinkpad-acpi LEDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Table_of_thinkpad-acpi_LEDs&amp;diff=27428"/>
		<updated>2007-01-01T16:28:08Z</updated>

		<summary type="html">&lt;p&gt;Matt: /* Graphics and tags */ more icons&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just did edit the Z61m entry, only leds 0-2 and 7 are working... And I have a question to led0, this is the one with the Z in a circle, is it the 'Power' one? I think so, but please correct me if I'm wrong.&lt;br /&gt;
--[[User:Zhenech|Zhenech]] 10:30, 23 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
You're right. Z in a circle is the power led.&lt;br /&gt;
[[User:StefanSchmidt|StefanSchmidt]] 14:30, 23 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== R60 standby ==&lt;br /&gt;
&lt;br /&gt;
led 7 on my r60 (9456-6FG) is standby, as in every other model in the table ... is the first added r60 entry a mistake or does it really have standby led on 6?&lt;br /&gt;
&lt;br /&gt;
== R60 standby ==&lt;br /&gt;
&lt;br /&gt;
Sorry, my mistake. I put it in the wrong column. Rich.&lt;br /&gt;
&lt;br /&gt;
== A31 standby ==&lt;br /&gt;
&lt;br /&gt;
Is led number 6 right for standby on this machine? ElectronicPhips? I just like to verify it.&lt;br /&gt;
&lt;br /&gt;
[[User:StefanSchmidt|StefanSchmidt]] 15:07, 26 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Graphics and tags ==&lt;br /&gt;
&lt;br /&gt;
The idea of using graphs with the LED pictures is very good, but please retain the text description as well, maybe in the alt attribute of the image, or at the very least on the desc attribute.&lt;br /&gt;
--[[User:Hmh|hmh]] 13:11, 10 December 2006 (CET)&lt;br /&gt;
:I created some more LED icons and added them to the table (with alt texts). Feel free to enhance the table with descriptions or maybe a legend might be a nice solution. [[User:Matt|Matt]] 17:28, 1 January 2007 (CET)&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Matt&amp;diff=27427</id>
		<title>User:Matt</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Matt&amp;diff=27427"/>
		<updated>2007-01-01T16:23:32Z</updated>

		<summary type="html">&lt;p&gt;Matt: my system&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:X31|ThinkPad X31]] running [[Ubuntu]] 6.06&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User_talk:Matt&amp;diff=27426</id>
		<title>User talk:Matt</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User_talk:Matt&amp;diff=27426"/>
		<updated>2007-01-01T16:21:23Z</updated>

		<summary type="html">&lt;p&gt;Matt: better contact me via eMail&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;You might better '''[[Special:Emailuser/Matt|contact me via eMail]]''' as I do not check this page regularly.&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=27425</id>
		<title>Table of thinkpad-acpi LEDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=27425"/>
		<updated>2007-01-01T16:06:57Z</updated>

		<summary type="html">&lt;p&gt;Matt: added ThinkLight icons&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This table contains informations about which LED number is used for which LED in the [[ibm-acpi]] driver.&lt;br /&gt;
&lt;br /&gt;
To test please do the following and add the blinking LED to the table. The moon symbol is the standby led.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;0 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;1 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;2 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;3 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;4 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;5 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;6 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;7 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;on&amp;quot; &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
&amp;lt;/pre&amp;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;
|+ibm-acpi LED table&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;times;&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A31}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabay left || Ultrabay right || not found || Standby || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:R31|R31]]&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} || 2883-ELU&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60e}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}} || {{Battery(green)}}  || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}}  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || nothing  || Ultrabay || nothing || nothing || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2647-4MG&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  ||  {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}}  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2373-2gg&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}}  &lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}} &lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}}  &lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}}, {{T43p}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2007-49G&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || Ultrabase Battery || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:ThinkLight(white)&amp;diff=27424</id>
		<title>Template:ThinkLight(white)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:ThinkLight(white)&amp;diff=27424"/>
		<updated>2007-01-01T16:01:22Z</updated>

		<summary type="html">&lt;p&gt;Matt: resized, centered, alt text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:ThinkLight(white).png|32px|ThinkLight (white)]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:ThinkLight(amber)&amp;diff=27423</id>
		<title>Template:ThinkLight(amber)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:ThinkLight(amber)&amp;diff=27423"/>
		<updated>2007-01-01T16:00:43Z</updated>

		<summary type="html">&lt;p&gt;Matt: resized, centered, alt text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:ThinkLight(amber).png|32px|ThinkLight (amber)]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:ThinkLight(white).png&amp;diff=27422</id>
		<title>File:ThinkLight(white).png</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:ThinkLight(white).png&amp;diff=27422"/>
		<updated>2007-01-01T15:59:27Z</updated>

		<summary type="html">&lt;p&gt;Matt: self drawn using [http://gimp.org The GIMP]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;self drawn using [http://gimp.org The GIMP]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:ThinkLight(amber).png&amp;diff=27421</id>
		<title>File:ThinkLight(amber).png</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:ThinkLight(amber).png&amp;diff=27421"/>
		<updated>2007-01-01T15:59:06Z</updated>

		<summary type="html">&lt;p&gt;Matt: self drawn using [http://gimp.org The GIMP]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;self drawn using [http://gimp.org The GIMP]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=27420</id>
		<title>Table of thinkpad-acpi LEDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=27420"/>
		<updated>2007-01-01T15:15:53Z</updated>

		<summary type="html">&lt;p&gt;Matt: added Battery (amber) icon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This table contains informations about which LED number is used for which LED in the [[ibm-acpi]] driver.&lt;br /&gt;
&lt;br /&gt;
To test please do the following and add the blinking LED to the table. The moon symbol is the standby led.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;0 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;1 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;2 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;3 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;4 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;5 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;6 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;7 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;on&amp;quot; &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
&amp;lt;/pre&amp;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;
|+ibm-acpi LED table&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;times;&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A31}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabay left || Ultrabay right || not found || Standby || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:R31|R31]]&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber || 2883-ELU&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60e}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}} || {{Battery(green)}}  || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || nothing  || Ultrabay || nothing || nothing || Standby || ThinkLight ON ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White || 2647-4MG&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  ||  {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White || 2373-2gg&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}}  &lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}} &lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}}  &lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}}, {{T43p}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White || 2007-49G&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || Ultrabase Battery || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:Battery(amber)&amp;diff=27419</id>
		<title>Template:Battery(amber)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:Battery(amber)&amp;diff=27419"/>
		<updated>2007-01-01T15:12:47Z</updated>

		<summary type="html">&lt;p&gt;Matt: resized, centered, alt text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:Battery(amber).png|32px|Battery (amber)]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:Battery(amber).png&amp;diff=27418</id>
		<title>File:Battery(amber).png</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:Battery(amber).png&amp;diff=27418"/>
		<updated>2007-01-01T15:12:04Z</updated>

		<summary type="html">&lt;p&gt;Matt: self drawn using [http://gimp.org The GIMP]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;self drawn using [http://gimp.org The GIMP]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=27417</id>
		<title>Table of thinkpad-acpi LEDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=27417"/>
		<updated>2007-01-01T15:06:08Z</updated>

		<summary type="html">&lt;p&gt;Matt: added Battery (green) icon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This table contains informations about which LED number is used for which LED in the [[ibm-acpi]] driver.&lt;br /&gt;
&lt;br /&gt;
To test please do the following and add the blinking LED to the table. The moon symbol is the standby led.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;0 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;1 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;2 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;3 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;4 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;5 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;6 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;7 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;on&amp;quot; &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
&amp;lt;/pre&amp;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;
|+ibm-acpi LED table&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;times;&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A31}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || Ultrabay left || Ultrabay right || not found || Standby || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:R31|R31]]&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber) || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber) || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber || 2883-ELU&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber) || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber) || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60e}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber) || {{Battery(green)}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber) || {{Battery(green)}}  || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || nothing  || Ultrabay || nothing || nothing || Standby || ThinkLight ON ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White || 2647-4MG&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber)  || {{Battery(green)}}  ||  {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber) || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White || 2373-2gg&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}}  &lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}} &lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}}  &lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}}, {{T43p}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber)  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White || 2007-49G&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || Ultrabase  || Ultrabay || Ultrabase Battery || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber)  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber)  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber)  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{PowerLED}}  || Battery (amber)  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{PowerLED}} || Battery (amber) || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:Battery(green)&amp;diff=27416</id>
		<title>Template:Battery(green)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:Battery(green)&amp;diff=27416"/>
		<updated>2007-01-01T15:04:11Z</updated>

		<summary type="html">&lt;p&gt;Matt: resized, centered, alt text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:Battery(green).png|32px|Battery (green)]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:Battery(green).png&amp;diff=27415</id>
		<title>File:Battery(green).png</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:Battery(green).png&amp;diff=27415"/>
		<updated>2007-01-01T15:00:00Z</updated>

		<summary type="html">&lt;p&gt;Matt: self drawn using [http://gimp.org The GIMP]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;self drawn using [http://gimp.org The GIMP]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=26901</id>
		<title>Table of thinkpad-acpi LEDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=26901"/>
		<updated>2006-12-08T19:16:43Z</updated>

		<summary type="html">&lt;p&gt;Matt: embedding power icon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This table contains informations about which LED number is used for which LED in the [[ibm-acpi]] driver.&lt;br /&gt;
&lt;br /&gt;
To test please do the following and add the blinking LED to the table. The moon symbol is the standby led.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;0 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;1 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;2 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;3 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;4 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;5 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;6 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;7 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;on&amp;quot; &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
&amp;lt;/pre&amp;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;
|+ibm-acpi LED table&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;times; &lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A31}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || Ultrabay left || Ultrabay right || not found || Standby || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:R31|R31]]&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}}&lt;br /&gt;
| {{Power}} || Battery (amber) || Battery (green)  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}}&lt;br /&gt;
| {{Power}} || Battery (amber) || Battery (green) || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber || 2883-ELU&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Power}} || Battery (amber) || Battery (green) || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{Power}} || Battery (amber) || Battery (green) || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60e}}&lt;br /&gt;
| {{Power}} || Battery (amber) || Battery (green) || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{Power}}  || Battery (amber) || Battery (green)  || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || nothing  || Ultrabay || nothing || nothing || Standby || ThinkLight ON ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White || 2647-4MG&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Power}} || Battery (amber)  || Battery (green)  ||  {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Power}} || Battery (amber) || Battery (green) || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White || 2373-2gg&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}} &lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green) || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}}, {{T43p}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Power}} || Battery (amber)  || Battery (green)  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || White || 2007-49G&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || Ultrabase  || Ultrabay || Ultrabase Battery || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || White ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Power}} || Battery (amber)  || Battery (green)  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Power}} || Battery (amber)  || Battery (green)  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{Power}} || Battery (amber)  || Battery (green)  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{Power}}  || Battery (amber)  || Battery (green)  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{Power}} || Battery (amber) || Battery (green) || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || Amber ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:PowerLED&amp;diff=26887</id>
		<title>Template:PowerLED</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:PowerLED&amp;diff=26887"/>
		<updated>2006-12-07T17:51:44Z</updated>

		<summary type="html">&lt;p&gt;Matt: centered&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Image:PowerLED.png|32px]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:PowerLED&amp;diff=26886</id>
		<title>Template:PowerLED</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:PowerLED&amp;diff=26886"/>
		<updated>2006-12-07T17:50:18Z</updated>

		<summary type="html">&lt;p&gt;Matt: resized image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:PowerLED.png|32px]]&lt;/div&gt;</summary>
		<author><name>Matt</name></author>
		
	</entry>
</feed>