<?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=Pohl446</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=Pohl446"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Pohl446"/>
	<updated>2026-05-09T17:24:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=26060</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=26060"/>
		<updated>2006-10-26T23:36:47Z</updated>

		<summary type="html">&lt;p&gt;Pohl446: /* X series */&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;
| {{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;
! 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;
| {{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;
| {{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}} 2653H6U&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}} 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;
|{{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}} 1836-GEU&lt;br /&gt;
|| IBM || 1836GEU || ThinkPad R51 || IBM || 1836GEU || Not Available || IBM || Not Available || IBM || 1RETDLWW  (3.17 ) || 07/27/2005 || &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 R52  || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;      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}} 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-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;
! 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;
====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;
| {{T22}} 2647-4EG&lt;br /&gt;
|| IBM || 26474EG || Not Available || IBM || 26474EG || Not Available || IBM || Not Available || IBM || 16ET31WW (1.11 ) ||&lt;br /&gt;
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-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;
| {{T30}} 2366-85G&lt;br /&gt;
|| IBM || 236685G || Not Available || IBM || 236685G || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1IHT18WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-GU1&lt;br /&gt;
|| IBM || 2366GU1 || Not Available || IBM || 2366GU1 || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1IHT19WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-JBU&lt;br /&gt;
|| IBM || 2366JBU || Not Available || IBM || 2366JBU || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2378-D2U&lt;br /&gt;
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} 2373-G1G&lt;br /&gt;
|| IBM || 2373G1G || ThinkPad T40p || IBM || 2373G1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{T41}} 2373-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;
| {{T41p}} 2373-GHG &lt;br /&gt;
|| IBM || 2373GHG || ThinkPad T41p || IBM || 2373GHG || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GEG&lt;br /&gt;
|| IBM || 2373GEG || ThinkPad T41p || IBM || 2373GEG || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt; Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GJJ&lt;br /&gt;
|| IBM || 2373GJJ || ThinkPad T41p || IBM || 2373GJJ || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-FWG&lt;br /&gt;
|| IBM || 2373FWG || ThinkPad T42 || IBM || 2373FWG || Not Available || IBM || Not Available || IBM || 1RETDHWW (3.13 ) || 10/29/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-M1G&lt;br /&gt;
|| IBM || 2373M1G || ThinkPad T42 || IBM || 2373M1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 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-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;
| {{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}} 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;
| {{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;
| {{T60p}} 2007-83U&lt;br /&gt;
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006 || &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-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006 || &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-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}} 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 || 79ET65WW (1.09a) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&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;
| {{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;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;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;
| {{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;
| {{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;
| {{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;
| {{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;
| {{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;
! 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;
| {{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;
||      String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&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;
| {{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}} 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;
| {{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;
| {{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;
&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;&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;
&lt;br /&gt;
where the two data lines are genereated by the following &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for X in system-{manufacturer,product-name,version} \&lt;br /&gt;
  baseboard-{manufacturer,product-name,version} \&lt;br /&gt;
  chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \&lt;br /&gt;
  echo -n &amp;quot;|| `sudo /usr/sbin/dmidecode -s $X` &amp;quot;; done; \&lt;br /&gt;
  sudo /usr/sbin/dmidecode | perl -0777 -ne \&lt;br /&gt;
  'm/\n(.*).\n.*\n(.*Embedded Cont.*)\n/i; print &amp;quot;\n|| &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;/nowiki&amp;gt;nowiki&amp;gt;$1$2&amp;lt;/nowiki&amp;gt; ||\n&amp;quot;'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to 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;
* [[ibm-acpi]] driver quirk list (in unofficial patches)&lt;/div&gt;</summary>
		<author><name>Pohl446</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_IrDA&amp;diff=22502</id>
		<title>How to make use of IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_IrDA&amp;diff=22502"/>
		<updated>2006-05-27T21:11:31Z</updated>

		<summary type="html">&lt;p&gt;Pohl446: /* {{Debian}} Sarge/Etch kernel config */&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;
The purpose of this document is to get the [[IrDA]] hardware in your ThinkPad operational, setting up communication to other devices is not covered. However, the external links section can prove useful for this.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Serial IR (SIR) ==&lt;br /&gt;
SIR is limited to serial datarates up to 115.2Kb/s&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
 alias tty-ldisc-11 irtty&lt;br /&gt;
 alias char-major-161 ircomm-tty&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.6 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modprobe.conf}} and add the following lines&lt;br /&gt;
 alias tty-ldisc-11 irtty-sir&lt;br /&gt;
 alias char-major-161 ircomm-tty&lt;br /&gt;
&lt;br /&gt;
== Fast IR (FIR) ==&lt;br /&gt;
FIR is the preferred mode of IrDA operation and operates at a bandwidth of 4 Mbps&lt;br /&gt;
&lt;br /&gt;
The chips FIR mode first needs to be activated using the ISA PnP or BIOS method.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Regardless of which method you use, you will still have to set the dongle_id and run setserial as shown further below}}&lt;br /&gt;
=== ISA PnP support for nsc-ircc ===&lt;br /&gt;
Starting with the 2.6.17-rc1 kernel, the nsc-ircc driver has ISA PnP support, and seperate patching is no longer required.&lt;br /&gt;
&lt;br /&gt;
If you have an older 2.6 kernel, here are some patches, that allow the loading of the driver without the below BIOS change.&amp;lt;br /&amp;gt;&lt;br /&gt;
* [http://steffenpingel.de/patches/nsc-ircc-pnp.diff 2.6.10 patch]&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12-rc6.diff 2.6.12-rc6 patch] &lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12.diff 2.6.12 patch (applies cleanly to 2.6.12 through 2.6.15)]&lt;br /&gt;
* patches as part of 2.6.17-rc1: [http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fsnapshots%2Fpatch-2.6.16-git15.bz2;z=1931 nsc-ircc.c]and [http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fsnapshots%2Fpatch-2.6.16-git15.bz2;z=1932 nsc-ircc.h]&lt;br /&gt;
&lt;br /&gt;
ISA PnP support seems '''necessary''' in some cases (e.g., ThinkPad {{T43}} and kernel 2.6.14 and 2.6.15).&lt;br /&gt;
&lt;br /&gt;
=== Changing BIOS settings ===&lt;br /&gt;
For older kernels (prior to 2.6.17-rc1), the easiest way to activate FIR mode is by entering BIOS setup during boot-up by pressing {{key|F1}} when prompted.&lt;br /&gt;
Then, selecting 'Config' followed by 'Infrared' will allow you to control the IrDA operation. Here you will need to select the option to Enable the infra-red port, and ensure the proper resources are set (typically: IO 0x2f8 and IRQ 3). Be sure to save the changes, and then Exit.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Changing these BIOS settings does not affect Windows 2000 or XP operating systems, but may cause resource issues in older windows versions, or other legacy operating systems.}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|If you change the BIOS settings for IO, IRQ or DMA of the IrDA port, remember to do so accordingly on all examples in this page when applying them to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 pre-install nsc-ircc setserial /dev/ttyS1 uart none port 0 irq 0&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.6 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modprobe.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0; /sbin/modprobe --ignore-install nsc-ircc&lt;br /&gt;
&lt;br /&gt;
The install line is a work-around for the 8250 serial driver taking over the device, and may not be needed in certain distributions.&lt;br /&gt;
&lt;br /&gt;
==== {{Gentoo}} kernel config ====&lt;br /&gt;
Edit / Create {{path|/etc/modules.d/nsc-irrc}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/modules.autoload.d/kernel-2.6}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 nsc-ircc&lt;br /&gt;
&lt;br /&gt;
If you have serial support build in the kernel, switch it to a module and add it after nsc-ircc to advoid io base and irq conflict. For kernel 2.4, same as 2.6 changing the path to modules.autoload.d/kernel-2.4. &lt;br /&gt;
&lt;br /&gt;
==== {{Debian}} Sarge/Etch kernel config ====&lt;br /&gt;
Install irda-utils and set it up for serial port emulation. Edit {{path|/etc/modprobe.d/irda-utils}} and add/change the following lines:&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
&lt;br /&gt;
Edit / create {{path|/etc/modules.conf}} and add the following line before any references to 8250*, if any:&lt;br /&gt;
&lt;br /&gt;
 nsc-ircc&lt;br /&gt;
&lt;br /&gt;
Make sure that module-init-tools has a chance to iterate over {{path|/etc/modules.conf}} before udev does the initial pci hotplug (this is a problem at least in Debian Sarge, when using backported udev packages):&lt;br /&gt;
&lt;br /&gt;
 {{cmdroot|cp /etc/rcS.d/S20module-init-tools /etc/rcS.d/S03module-init-tools}}&lt;br /&gt;
&lt;br /&gt;
Note that at S03, module-init-tools cannot run depmod for you, so either do it manually before you reboot into a new kernel, or reboot twice to get it to work right.  This is also the reason for using cp instead of mv.&lt;br /&gt;
&lt;br /&gt;
If you have the regular serial port drivers as modules, that's it.  Otherwise, try adding the install line described in the Linux 2.6 kernel config section, above, or compile them as modules instead of built-in.&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
* If the FIR mode is not activated, attempts to load the &amp;lt;tt&amp;gt;nsc-ircc&amp;lt;/tt&amp;gt; module will result in an error in syslog of &amp;quot;Wrong chip version ff&amp;quot;.&lt;br /&gt;
* After suspend the &amp;lt;tt&amp;gt;nsc-ircc&amp;lt;/tt&amp;gt; module needs to be manually reloaded&lt;br /&gt;
* If module reloading does not work after a suspend, try reactivating the IrDA port as well:&lt;br /&gt;
 rmmod nsc_ircc&lt;br /&gt;
 echo disable &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 echo activate &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 modprobe nsc_ircc&lt;br /&gt;
:The value &amp;lt;tt&amp;gt;pnp0/00\:0d&amp;lt;/tt&amp;gt; can vary - look for a resources file containing the appropriate irq/dma/io values, e.g., using {{cmdroot|grep 0x2f8 /sys/devices/pnp*/*/resources}} .&lt;br /&gt;
{{NOTE|The power management issues should be resolved starting with the 2.6.17-rc1 kernel.}}&lt;br /&gt;
&lt;br /&gt;
== Some other things you might want to do with IrDA ==&lt;br /&gt;
* add fast PPP support:&lt;br /&gt;
:{{cmdroot|modprobe irnet}}&lt;br /&gt;
* if needed, limit further the size of the transmit window&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /proc/sys/net/irda/max_tx_window}}&lt;br /&gt;
* set the connection speed to 4Mbit in FIR mode:&lt;br /&gt;
:{{cmdroot|echo 4000000 &amp;gt; /proc/sys/net/irda/max_baud_rate}}&lt;br /&gt;
&lt;br /&gt;
==LIRC and IrDA==&lt;br /&gt;
Usually, IrDA port's are not compatible with LIRC, but you may have luck using lirc_sir.&lt;br /&gt;
&lt;br /&gt;
If loading the &amp;lt;tt&amp;gt;lirc_sir&amp;lt;/tt&amp;gt; module shows something like the following in {{cmdroot|dmesg}} output, you are lucky and can use LIRC with the IrDA port to remote control your ThinkPad.&lt;br /&gt;
 lirc_sir: I/O port 0x02f8, IRQ 3.&lt;br /&gt;
 lirc_sir: Installed.&lt;br /&gt;
&lt;br /&gt;
== External Sources ==&lt;br /&gt;
*[http://irda.sourceforge.net/ Linux-IrDA Project] (External)&lt;br /&gt;
*[http://pcmcia-cs.sourceforge.net/ Linux PCMCIA Project] (External)&lt;br /&gt;
*[http://tpctl.sourceforge.net/ tpctl homepage] (External)&lt;br /&gt;
*[http://www.lirc.org/ Linux Infrared Remote Control] (External)&lt;/div&gt;</summary>
		<author><name>Pohl446</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_IrDA&amp;diff=22501</id>
		<title>How to make use of IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_IrDA&amp;diff=22501"/>
		<updated>2006-05-27T20:56:08Z</updated>

		<summary type="html">&lt;p&gt;Pohl446: /* {{Debian}} Sarge/Etch kernel config */&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;
The purpose of this document is to get the [[IrDA]] hardware in your ThinkPad operational, setting up communication to other devices is not covered. However, the external links section can prove useful for this.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Serial IR (SIR) ==&lt;br /&gt;
SIR is limited to serial datarates up to 115.2Kb/s&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
 alias tty-ldisc-11 irtty&lt;br /&gt;
 alias char-major-161 ircomm-tty&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.6 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modprobe.conf}} and add the following lines&lt;br /&gt;
 alias tty-ldisc-11 irtty-sir&lt;br /&gt;
 alias char-major-161 ircomm-tty&lt;br /&gt;
&lt;br /&gt;
== Fast IR (FIR) ==&lt;br /&gt;
FIR is the preferred mode of IrDA operation and operates at a bandwidth of 4 Mbps&lt;br /&gt;
&lt;br /&gt;
The chips FIR mode first needs to be activated using the ISA PnP or BIOS method.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Regardless of which method you use, you will still have to set the dongle_id and run setserial as shown further below}}&lt;br /&gt;
=== ISA PnP support for nsc-ircc ===&lt;br /&gt;
Starting with the 2.6.17-rc1 kernel, the nsc-ircc driver has ISA PnP support, and seperate patching is no longer required.&lt;br /&gt;
&lt;br /&gt;
If you have an older 2.6 kernel, here are some patches, that allow the loading of the driver without the below BIOS change.&amp;lt;br /&amp;gt;&lt;br /&gt;
* [http://steffenpingel.de/patches/nsc-ircc-pnp.diff 2.6.10 patch]&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12-rc6.diff 2.6.12-rc6 patch] &lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12.diff 2.6.12 patch (applies cleanly to 2.6.12 through 2.6.15)]&lt;br /&gt;
* patches as part of 2.6.17-rc1: [http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fsnapshots%2Fpatch-2.6.16-git15.bz2;z=1931 nsc-ircc.c]and [http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fsnapshots%2Fpatch-2.6.16-git15.bz2;z=1932 nsc-ircc.h]&lt;br /&gt;
&lt;br /&gt;
ISA PnP support seems '''necessary''' in some cases (e.g., ThinkPad {{T43}} and kernel 2.6.14 and 2.6.15).&lt;br /&gt;
&lt;br /&gt;
=== Changing BIOS settings ===&lt;br /&gt;
For older kernels (prior to 2.6.17-rc1), the easiest way to activate FIR mode is by entering BIOS setup during boot-up by pressing {{key|F1}} when prompted.&lt;br /&gt;
Then, selecting 'Config' followed by 'Infrared' will allow you to control the IrDA operation. Here you will need to select the option to Enable the infra-red port, and ensure the proper resources are set (typically: IO 0x2f8 and IRQ 3). Be sure to save the changes, and then Exit.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Changing these BIOS settings does not affect Windows 2000 or XP operating systems, but may cause resource issues in older windows versions, or other legacy operating systems.}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|If you change the BIOS settings for IO, IRQ or DMA of the IrDA port, remember to do so accordingly on all examples in this page when applying them to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 pre-install nsc-ircc setserial /dev/ttyS1 uart none port 0 irq 0&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.6 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modprobe.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0; /sbin/modprobe --ignore-install nsc-ircc&lt;br /&gt;
&lt;br /&gt;
The install line is a work-around for the 8250 serial driver taking over the device, and may not be needed in certain distributions.&lt;br /&gt;
&lt;br /&gt;
==== {{Gentoo}} kernel config ====&lt;br /&gt;
Edit / Create {{path|/etc/modules.d/nsc-irrc}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/modules.autoload.d/kernel-2.6}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 nsc-ircc&lt;br /&gt;
&lt;br /&gt;
If you have serial support build in the kernel, switch it to a module and add it after nsc-ircc to advoid io base and irq conflict. For kernel 2.4, same as 2.6 changing the path to modules.autoload.d/kernel-2.4. &lt;br /&gt;
&lt;br /&gt;
==== {{Debian}} Sarge/Etch kernel config ====&lt;br /&gt;
Install irda-utils and set it up for serial port emulation. Edit {{path|/etc/modprobe.d/irda-utils}} and add/change the following lines:&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 install nsc-ircc /sbin/modprobe --ignore-install nsc-ircc &amp;amp;&amp;amp; echo 4000000 &amp;gt; /proc/sys/net/irda/max_baud_rate&lt;br /&gt;
&lt;br /&gt;
Edit / create {{path|/etc/modules.conf}} and add the following line before any references to 8250*, if any:&lt;br /&gt;
&lt;br /&gt;
 nsc-ircc&lt;br /&gt;
&lt;br /&gt;
Make sure that module-init-tools has a chance to iterate over {{path|/etc/modules.conf}} before udev does the initial pci hotplug (this is a problem at least in Debian Sarge, when using backported udev packages):&lt;br /&gt;
&lt;br /&gt;
 {{cmdroot|cp /etc/rcS.d/S20module-init-tools /etc/rcS.d/S03module-init-tools}}&lt;br /&gt;
&lt;br /&gt;
Note that at S03, module-init-tools cannot run depmod for you, so either do it manually before you reboot into a new kernel, or reboot twice to get it to work right.  This is also the reason for using cp instead of mv.&lt;br /&gt;
&lt;br /&gt;
If you have the regular serial port drivers as modules, that's it.  Otherwise, try adding the install line described in the Linux 2.6 kernel config section, above, or compile them as modules instead of built-in.&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
* If the FIR mode is not activated, attempts to load the &amp;lt;tt&amp;gt;nsc-ircc&amp;lt;/tt&amp;gt; module will result in an error in syslog of &amp;quot;Wrong chip version ff&amp;quot;.&lt;br /&gt;
* After suspend the &amp;lt;tt&amp;gt;nsc-ircc&amp;lt;/tt&amp;gt; module needs to be manually reloaded&lt;br /&gt;
* If module reloading does not work after a suspend, try reactivating the IrDA port as well:&lt;br /&gt;
 rmmod nsc_ircc&lt;br /&gt;
 echo disable &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 echo activate &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 modprobe nsc_ircc&lt;br /&gt;
:The value &amp;lt;tt&amp;gt;pnp0/00\:0d&amp;lt;/tt&amp;gt; can vary - look for a resources file containing the appropriate irq/dma/io values, e.g., using {{cmdroot|grep 0x2f8 /sys/devices/pnp*/*/resources}} .&lt;br /&gt;
{{NOTE|The power management issues should be resolved starting with the 2.6.17-rc1 kernel.}}&lt;br /&gt;
&lt;br /&gt;
== Some other things you might want to do with IrDA ==&lt;br /&gt;
* add fast PPP support:&lt;br /&gt;
:{{cmdroot|modprobe irnet}}&lt;br /&gt;
* if needed, limit further the size of the transmit window&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /proc/sys/net/irda/max_tx_window}}&lt;br /&gt;
* set the connection speed to 4Mbit in FIR mode:&lt;br /&gt;
:{{cmdroot|echo 4000000 &amp;gt; /proc/sys/net/irda/max_baud_rate}}&lt;br /&gt;
&lt;br /&gt;
==LIRC and IrDA==&lt;br /&gt;
Usually, IrDA port's are not compatible with LIRC, but you may have luck using lirc_sir.&lt;br /&gt;
&lt;br /&gt;
If loading the &amp;lt;tt&amp;gt;lirc_sir&amp;lt;/tt&amp;gt; module shows something like the following in {{cmdroot|dmesg}} output, you are lucky and can use LIRC with the IrDA port to remote control your ThinkPad.&lt;br /&gt;
 lirc_sir: I/O port 0x02f8, IRQ 3.&lt;br /&gt;
 lirc_sir: Installed.&lt;br /&gt;
&lt;br /&gt;
== External Sources ==&lt;br /&gt;
*[http://irda.sourceforge.net/ Linux-IrDA Project] (External)&lt;br /&gt;
*[http://pcmcia-cs.sourceforge.net/ Linux PCMCIA Project] (External)&lt;br /&gt;
*[http://tpctl.sourceforge.net/ tpctl homepage] (External)&lt;br /&gt;
*[http://www.lirc.org/ Linux Infrared Remote Control] (External)&lt;/div&gt;</summary>
		<author><name>Pohl446</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_IrDA&amp;diff=22500</id>
		<title>How to make use of IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_IrDA&amp;diff=22500"/>
		<updated>2006-05-27T20:54:43Z</updated>

		<summary type="html">&lt;p&gt;Pohl446: /* {{Debian}} Sarge/Etch kernel config */&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;
The purpose of this document is to get the [[IrDA]] hardware in your ThinkPad operational, setting up communication to other devices is not covered. However, the external links section can prove useful for this.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Serial IR (SIR) ==&lt;br /&gt;
SIR is limited to serial datarates up to 115.2Kb/s&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
 alias tty-ldisc-11 irtty&lt;br /&gt;
 alias char-major-161 ircomm-tty&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.6 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modprobe.conf}} and add the following lines&lt;br /&gt;
 alias tty-ldisc-11 irtty-sir&lt;br /&gt;
 alias char-major-161 ircomm-tty&lt;br /&gt;
&lt;br /&gt;
== Fast IR (FIR) ==&lt;br /&gt;
FIR is the preferred mode of IrDA operation and operates at a bandwidth of 4 Mbps&lt;br /&gt;
&lt;br /&gt;
The chips FIR mode first needs to be activated using the ISA PnP or BIOS method.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Regardless of which method you use, you will still have to set the dongle_id and run setserial as shown further below}}&lt;br /&gt;
=== ISA PnP support for nsc-ircc ===&lt;br /&gt;
Starting with the 2.6.17-rc1 kernel, the nsc-ircc driver has ISA PnP support, and seperate patching is no longer required.&lt;br /&gt;
&lt;br /&gt;
If you have an older 2.6 kernel, here are some patches, that allow the loading of the driver without the below BIOS change.&amp;lt;br /&amp;gt;&lt;br /&gt;
* [http://steffenpingel.de/patches/nsc-ircc-pnp.diff 2.6.10 patch]&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12-rc6.diff 2.6.12-rc6 patch] &lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12.diff 2.6.12 patch (applies cleanly to 2.6.12 through 2.6.15)]&lt;br /&gt;
* patches as part of 2.6.17-rc1: [http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fsnapshots%2Fpatch-2.6.16-git15.bz2;z=1931 nsc-ircc.c]and [http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fsnapshots%2Fpatch-2.6.16-git15.bz2;z=1932 nsc-ircc.h]&lt;br /&gt;
&lt;br /&gt;
ISA PnP support seems '''necessary''' in some cases (e.g., ThinkPad {{T43}} and kernel 2.6.14 and 2.6.15).&lt;br /&gt;
&lt;br /&gt;
=== Changing BIOS settings ===&lt;br /&gt;
For older kernels (prior to 2.6.17-rc1), the easiest way to activate FIR mode is by entering BIOS setup during boot-up by pressing {{key|F1}} when prompted.&lt;br /&gt;
Then, selecting 'Config' followed by 'Infrared' will allow you to control the IrDA operation. Here you will need to select the option to Enable the infra-red port, and ensure the proper resources are set (typically: IO 0x2f8 and IRQ 3). Be sure to save the changes, and then Exit.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Changing these BIOS settings does not affect Windows 2000 or XP operating systems, but may cause resource issues in older windows versions, or other legacy operating systems.}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|If you change the BIOS settings for IO, IRQ or DMA of the IrDA port, remember to do so accordingly on all examples in this page when applying them to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 pre-install nsc-ircc setserial /dev/ttyS1 uart none port 0 irq 0&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.6 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modprobe.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0; /sbin/modprobe --ignore-install nsc-ircc&lt;br /&gt;
&lt;br /&gt;
The install line is a work-around for the 8250 serial driver taking over the device, and may not be needed in certain distributions.&lt;br /&gt;
&lt;br /&gt;
==== {{Gentoo}} kernel config ====&lt;br /&gt;
Edit / Create {{path|/etc/modules.d/nsc-irrc}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/modules.autoload.d/kernel-2.6}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 nsc-ircc&lt;br /&gt;
&lt;br /&gt;
If you have serial support build in the kernel, switch it to a module and add it after nsc-ircc to advoid io base and irq conflict. For kernel 2.4, same as 2.6 changing the path to modules.autoload.d/kernel-2.4. &lt;br /&gt;
&lt;br /&gt;
==== {{Debian}} Sarge/Etch kernel config ====&lt;br /&gt;
Install irda-utils and set it up for serial port emulation. Edit {{path|/etc/modprobe.d/irda-utils}} and add/change the following lines:&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 install nsc-ircc /sbin/modprobe --ignore-install nsc-ircc &amp;amp;&amp;amp; echo 4000000 &amp;gt; /proc/sys/net/irda/max_baud_rate&lt;br /&gt;
 &lt;br /&gt;
Edit / create {{path|/etc/modules.conf}} and add the following line before any references to 8250*, if any:&lt;br /&gt;
&lt;br /&gt;
 nsc-ircc&lt;br /&gt;
&lt;br /&gt;
Make sure that module-init-tools has a chance to iterate over {{path|/etc/modules.conf}} before udev does the initial pci hotplug (this is a problem at least in Debian Sarge, when using backported udev packages):&lt;br /&gt;
&lt;br /&gt;
 {{cmdroot|cp /etc/rcS.d/S20module-init-tools /etc/rcS.d/S03module-init-tools}}&lt;br /&gt;
&lt;br /&gt;
Note that at S03, module-init-tools cannot run depmod for you, so either do it manually before you reboot into a new kernel, or reboot twice to get it to work right.  This is also the reason for using cp instead of mv.&lt;br /&gt;
&lt;br /&gt;
If you have the regular serial port drivers as modules, that's it.  Otherwise, try adding the install line described in the Linux 2.6 kernel config section, above, or compile them as modules instead of built-in.&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
* If the FIR mode is not activated, attempts to load the &amp;lt;tt&amp;gt;nsc-ircc&amp;lt;/tt&amp;gt; module will result in an error in syslog of &amp;quot;Wrong chip version ff&amp;quot;.&lt;br /&gt;
* After suspend the &amp;lt;tt&amp;gt;nsc-ircc&amp;lt;/tt&amp;gt; module needs to be manually reloaded&lt;br /&gt;
* If module reloading does not work after a suspend, try reactivating the IrDA port as well:&lt;br /&gt;
 rmmod nsc_ircc&lt;br /&gt;
 echo disable &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 echo activate &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 modprobe nsc_ircc&lt;br /&gt;
:The value &amp;lt;tt&amp;gt;pnp0/00\:0d&amp;lt;/tt&amp;gt; can vary - look for a resources file containing the appropriate irq/dma/io values, e.g., using {{cmdroot|grep 0x2f8 /sys/devices/pnp*/*/resources}} .&lt;br /&gt;
{{NOTE|The power management issues should be resolved starting with the 2.6.17-rc1 kernel.}}&lt;br /&gt;
&lt;br /&gt;
== Some other things you might want to do with IrDA ==&lt;br /&gt;
* add fast PPP support:&lt;br /&gt;
:{{cmdroot|modprobe irnet}}&lt;br /&gt;
* if needed, limit further the size of the transmit window&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /proc/sys/net/irda/max_tx_window}}&lt;br /&gt;
* set the connection speed to 4Mbit in FIR mode:&lt;br /&gt;
:{{cmdroot|echo 4000000 &amp;gt; /proc/sys/net/irda/max_baud_rate}}&lt;br /&gt;
&lt;br /&gt;
==LIRC and IrDA==&lt;br /&gt;
Usually, IrDA port's are not compatible with LIRC, but you may have luck using lirc_sir.&lt;br /&gt;
&lt;br /&gt;
If loading the &amp;lt;tt&amp;gt;lirc_sir&amp;lt;/tt&amp;gt; module shows something like the following in {{cmdroot|dmesg}} output, you are lucky and can use LIRC with the IrDA port to remote control your ThinkPad.&lt;br /&gt;
 lirc_sir: I/O port 0x02f8, IRQ 3.&lt;br /&gt;
 lirc_sir: Installed.&lt;br /&gt;
&lt;br /&gt;
== External Sources ==&lt;br /&gt;
*[http://irda.sourceforge.net/ Linux-IrDA Project] (External)&lt;br /&gt;
*[http://pcmcia-cs.sourceforge.net/ Linux PCMCIA Project] (External)&lt;br /&gt;
*[http://tpctl.sourceforge.net/ tpctl homepage] (External)&lt;br /&gt;
*[http://www.lirc.org/ Linux Infrared Remote Control] (External)&lt;/div&gt;</summary>
		<author><name>Pohl446</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_IrDA&amp;diff=22497</id>
		<title>How to make use of IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_IrDA&amp;diff=22497"/>
		<updated>2006-05-27T20:04:35Z</updated>

		<summary type="html">&lt;p&gt;Pohl446: /* Some other things you might want to do with IrDA */&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;
The purpose of this document is to get the [[IrDA]] hardware in your ThinkPad operational, setting up communication to other devices is not covered. However, the external links section can prove useful for this.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Serial IR (SIR) ==&lt;br /&gt;
SIR is limited to serial datarates up to 115.2Kb/s&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
 alias tty-ldisc-11 irtty&lt;br /&gt;
 alias char-major-161 ircomm-tty&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.6 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modprobe.conf}} and add the following lines&lt;br /&gt;
 alias tty-ldisc-11 irtty-sir&lt;br /&gt;
 alias char-major-161 ircomm-tty&lt;br /&gt;
&lt;br /&gt;
== Fast IR (FIR) ==&lt;br /&gt;
FIR is the preferred mode of IrDA operation and operates at a bandwidth of 4 Mbps&lt;br /&gt;
&lt;br /&gt;
The chips FIR mode first needs to be activated using the ISA PnP or BIOS method.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Regardless of which method you use, you will still have to set the dongle_id and run setserial as shown further below}}&lt;br /&gt;
=== ISA PnP support for nsc-ircc ===&lt;br /&gt;
Starting with the 2.6.17-rc1 kernel, the nsc-ircc driver has ISA PnP support, and seperate patching is no longer required.&lt;br /&gt;
&lt;br /&gt;
If you have an older 2.6 kernel, here are some patches, that allow the loading of the driver without the below BIOS change.&amp;lt;br /&amp;gt;&lt;br /&gt;
* [http://steffenpingel.de/patches/nsc-ircc-pnp.diff 2.6.10 patch]&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12-rc6.diff 2.6.12-rc6 patch] &lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12.diff 2.6.12 patch (applies cleanly to 2.6.12 through 2.6.15)]&lt;br /&gt;
* patches as part of 2.6.17-rc1: [http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fsnapshots%2Fpatch-2.6.16-git15.bz2;z=1931 nsc-ircc.c]and [http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fsnapshots%2Fpatch-2.6.16-git15.bz2;z=1932 nsc-ircc.h]&lt;br /&gt;
&lt;br /&gt;
ISA PnP support seems '''necessary''' in some cases (e.g., ThinkPad {{T43}} and kernel 2.6.14 and 2.6.15).&lt;br /&gt;
&lt;br /&gt;
=== Changing BIOS settings ===&lt;br /&gt;
For older kernels (prior to 2.6.17-rc1), the easiest way to activate FIR mode is by entering BIOS setup during boot-up by pressing {{key|F1}} when prompted.&lt;br /&gt;
Then, selecting 'Config' followed by 'Infrared' will allow you to control the IrDA operation. Here you will need to select the option to Enable the infra-red port, and ensure the proper resources are set (typically: IO 0x2f8 and IRQ 3). Be sure to save the changes, and then Exit.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Changing these BIOS settings does not affect Windows 2000 or XP operating systems, but may cause resource issues in older windows versions, or other legacy operating systems.}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|If you change the BIOS settings for IO, IRQ or DMA of the IrDA port, remember to do so accordingly on all examples in this page when applying them to your ThinkPad.}}&lt;br /&gt;
&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 pre-install nsc-ircc setserial /dev/ttyS1 uart none port 0 irq 0&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.6 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modprobe.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
 install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0; /sbin/modprobe --ignore-install nsc-ircc&lt;br /&gt;
&lt;br /&gt;
The install line is a work-around for the 8250 serial driver taking over the device, and may not be needed in certain distributions.&lt;br /&gt;
&lt;br /&gt;
==== {{Gentoo}} kernel config ====&lt;br /&gt;
Edit / Create {{path|/etc/modules.d/nsc-irrc}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/modules.autoload.d/kernel-2.6}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
 nsc-ircc&lt;br /&gt;
&lt;br /&gt;
If you have serial support build in the kernel, switch it to a module and add it after nsc-ircc to advoid io base and irq conflict. For kernel 2.4, same as 2.6 changing the path to modules.autoload.d/kernel-2.4. &lt;br /&gt;
&lt;br /&gt;
==== {{Debian}} Sarge/Etch kernel config ====&lt;br /&gt;
Install irda-utils and set it up for serial port emulation. Edit {{path|/etc/modprobe.d/irda-utils}} and add/change the following lines:&lt;br /&gt;
&lt;br /&gt;
 alias irda0 nsc-ircc&lt;br /&gt;
 options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3&lt;br /&gt;
&lt;br /&gt;
Edit / create {{path|/etc/modules.conf}} and add the following line before any references to 8250*, if any:&lt;br /&gt;
&lt;br /&gt;
 nsc-ircc&lt;br /&gt;
&lt;br /&gt;
Make sure that module-init-tools has a chance to iterate over {{path|/etc/modules.conf}} before udev does the initial pci hotplug (this is a problem at least in Debian Sarge, when using backported udev packages):&lt;br /&gt;
&lt;br /&gt;
 {{cmdroot|cp /etc/rcS.d/S20module-init-tools /etc/rcS.d/S03module-init-tools}}&lt;br /&gt;
&lt;br /&gt;
Note that at S03, module-init-tools cannot run depmod for you, so either do it manually before you reboot into a new kernel, or reboot twice to get it to work right.  This is also the reason for using cp instead of mv.&lt;br /&gt;
&lt;br /&gt;
If you have the regular serial port drivers as modules, that's it.  Otherwise, try adding the install line described in the Linux 2.6 kernel config section, above, or compile them as modules instead of built-in.&lt;br /&gt;
&lt;br /&gt;
== Known problems ==&lt;br /&gt;
* If the FIR mode is not activated, attempts to load the &amp;lt;tt&amp;gt;nsc-ircc&amp;lt;/tt&amp;gt; module will result in an error in syslog of &amp;quot;Wrong chip version ff&amp;quot;.&lt;br /&gt;
* After suspend the &amp;lt;tt&amp;gt;nsc-ircc&amp;lt;/tt&amp;gt; module needs to be manually reloaded&lt;br /&gt;
* If module reloading does not work after a suspend, try reactivating the IrDA port as well:&lt;br /&gt;
 rmmod nsc_ircc&lt;br /&gt;
 echo disable &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 echo activate &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 modprobe nsc_ircc&lt;br /&gt;
:The value &amp;lt;tt&amp;gt;pnp0/00\:0d&amp;lt;/tt&amp;gt; can vary - look for a resources file containing the appropriate irq/dma/io values, e.g., using {{cmdroot|grep 0x2f8 /sys/devices/pnp*/*/resources}} .&lt;br /&gt;
{{NOTE|The power management issues should be resolved starting with the 2.6.17-rc1 kernel.}}&lt;br /&gt;
&lt;br /&gt;
== Some other things you might want to do with IrDA ==&lt;br /&gt;
* add fast PPP support:&lt;br /&gt;
:{{cmdroot|modprobe irnet}}&lt;br /&gt;
* if needed, limit further the size of the transmit window&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /proc/sys/net/irda/max_tx_window}}&lt;br /&gt;
* set the connection speed to 4Mbit in FIR mode:&lt;br /&gt;
:{{cmdroot|echo 4000000 &amp;gt; /proc/sys/net/irda/max_baud_rate}}&lt;br /&gt;
&lt;br /&gt;
==LIRC and IrDA==&lt;br /&gt;
Usually, IrDA port's are not compatible with LIRC, but you may have luck using lirc_sir.&lt;br /&gt;
&lt;br /&gt;
If loading the &amp;lt;tt&amp;gt;lirc_sir&amp;lt;/tt&amp;gt; module shows something like the following in {{cmdroot|dmesg}} output, you are lucky and can use LIRC with the IrDA port to remote control your ThinkPad.&lt;br /&gt;
 lirc_sir: I/O port 0x02f8, IRQ 3.&lt;br /&gt;
 lirc_sir: Installed.&lt;br /&gt;
&lt;br /&gt;
== External Sources ==&lt;br /&gt;
*[http://irda.sourceforge.net/ Linux-IrDA Project] (External)&lt;br /&gt;
*[http://pcmcia-cs.sourceforge.net/ Linux PCMCIA Project] (External)&lt;br /&gt;
*[http://tpctl.sourceforge.net/ tpctl homepage] (External)&lt;br /&gt;
*[http://www.lirc.org/ Linux Infrared Remote Control] (External)&lt;/div&gt;</summary>
		<author><name>Pohl446</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=1074</id>
		<title>How to make ACPI work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=1074"/>
		<updated>2004-12-19T23:16:56Z</updated>

		<summary type="html">&lt;p&gt;Pohl446: /* using swsusp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===general===&lt;br /&gt;
First of all you'll have to enable ACPI support in your kernel (if your distro doesn't already have an ACPI enabled kernel).&lt;br /&gt;
To do this open your kernel config, go to &amp;lt;code&amp;gt;Power management options&amp;lt;/code&amp;gt;, enable &amp;lt;code&amp;gt;Power Management support&amp;lt;/code&amp;gt;, go to &amp;lt;code&amp;gt;ACPI&amp;lt;/code&amp;gt; and enable the needed options. You'd most likely want to enable &amp;lt;code&amp;gt;Sleep States&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AC Adapter&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Battery&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Fan&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Processor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Thermal Zone&amp;lt;/code&amp;gt;. Then recompile your kernel.&lt;br /&gt;
&lt;br /&gt;
If you prefer editing your .config file directly, you should set at least the following variables:&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_ACPI_BOOT=y&lt;br /&gt;
 CONFIG_ACPI_INTERPRETER=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP_PROC_FS=y&lt;br /&gt;
 CONFIG_ACPI_AC=y&lt;br /&gt;
 CONFIG_ACPI_BATTERY=y&lt;br /&gt;
 CONFIG_ACPI_BUTTON=y&lt;br /&gt;
 CONFIG_ACPI_FAN=y&lt;br /&gt;
 CONFIG_ACPI_PROCESSOR=y&lt;br /&gt;
 CONFIG_ACPI_THERMAL=y&lt;br /&gt;
 CONFIG_ACPI_BUS=y&lt;br /&gt;
 CONFIG_ACPI_EC=y&lt;br /&gt;
 CONFIG_ACPI_POWER=y&lt;br /&gt;
 CONFIG_ACPI_PCI=y&lt;br /&gt;
 CONFIG_ACPI_SYSTEM=y&lt;br /&gt;
&lt;br /&gt;
Unfortunately, special drivers for ACPI on ThinkPads were not included with kernels prior 2.6.10. So you'll have to compile one yourself. You have the choice between [[thinkpad-acpi]] and [[ibm-acpi]], with the latter being the recommended one.&lt;br /&gt;
&lt;br /&gt;
Also you'll need to install [[acpid]], if it isn't present on your system. [[acpid]] is a daemon that handles the ACPI events generated by the system. Basically, acpid just executes scripts residing in &amp;lt;tt&amp;gt;/etc/acpi/actions&amp;lt;/tt&amp;gt;. Which script to launch at which event is configured in several files in &amp;lt;tt&amp;gt;/etc/acpi/events&amp;lt;/tt&amp;gt;. See &amp;lt;tt&amp;gt;man acpid&amp;lt;/tt&amp;gt; for more information on how to configure acpid. The [[ibm-acpi]] packages includes example scripts in the &amp;lt;tt&amp;gt;config&amp;lt;/tt&amp;gt; folder inside the tarball. They are a good starting point to adjust them to your needs. You also might have a look at the [[Configs#ACPI | ACPI section of the Configs page]] and you can find information about the event strings ibm-acpi generates for certain keys at the [[How to get special keys to work#ibm-acpi_events | Special Keys HOWTO]].&lt;br /&gt;
&lt;br /&gt;
In general it is a good idea to read the README included with the ibm-acpi source tarball.&lt;br /&gt;
&lt;br /&gt;
===Screen blanking (Standby)===&lt;br /&gt;
Make sure you have &lt;br /&gt;
*Option &amp;quot;DPMS&amp;quot;&lt;br /&gt;
in the Monitor section of your XF86Config/xorg.conf.&lt;br /&gt;
&lt;br /&gt;
Running &amp;lt;code&amp;gt;xset +dpms&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;xset dpms force off&amp;lt;/code&amp;gt; will turn off the backlight on a laptop screen.&amp;lt;br /&amp;gt;&lt;br /&gt;
To force a screen off that is using a radeon chipset, install the [[radeontool]] package.&lt;br /&gt;
&lt;br /&gt;
===Suspend to RAM (Sleep)===&lt;br /&gt;
ACPI Sleep and suspend-to-ram with recent 2.6.x kernels usually works fine, too.&lt;br /&gt;
&lt;br /&gt;
With a 2.6.9 kernel, when resuming from a suspend-to-ram the display might remain black (the system is still rebootable via ctrl-alt-del). This can be fixed by adding &amp;quot;acpi_sleep=s3_bios&amp;quot; to the kernel boot parameters.&lt;br /&gt;
&lt;br /&gt;
However I experience some problems with the serial port of the port replicator&lt;br /&gt;
after the wake up from ram.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to take note of the [[Problem with high power drain in ACPI sleep]].&lt;br /&gt;
&lt;br /&gt;
===Suspend to disk (Hibernate)===&lt;br /&gt;
There are two drivers for this available:&lt;br /&gt;
* swsusp, which is in the kernel and&lt;br /&gt;
* [http://developer.berlios.de/projects/softwaresuspend/ SoftwareSuspend2] which is more feature rich, but not yet in the kernel, so you have to patch it in yourself&lt;br /&gt;
Both are reported to work fine as long as you use open-source graphic drivers. A comparison of the features can be found on [http://softwaresuspend.berlios.de/features.html this page].&lt;br /&gt;
&lt;br /&gt;
Just in case you are in doubt...yes, it is safe in both cases to use the same swap partition as active swap and as suspend partition.&lt;br /&gt;
&lt;br /&gt;
====using swsusp====&lt;br /&gt;
Software Suspend (swsusp) is included in the 2.6 kernel series. It seems like no patches for 2.4 kernels are available.&lt;br /&gt;
&lt;br /&gt;
To enable it, go to &amp;lt;tt&amp;gt;Power management options&amp;lt;/tt&amp;gt; and enable &amp;lt;tt&amp;gt;Power management support&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Software Suspend&amp;lt;/tt&amp;gt; in the kernel config menu. You'll also want to give the swap partition to suspend to in &amp;lt;tt&amp;gt;Default resume partition&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case you prefer to edit your config file directly, you should have the following three entries look like here...&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND=y&lt;br /&gt;
 CONFIG_PM_STD_PARTITION=&amp;quot;/dev/resume_partition&amp;quot;&lt;br /&gt;
...where &amp;lt;tt&amp;gt;/dev/resume_partition&amp;lt;/tt&amp;gt; needs to be replaced by the swap partition you want to use for suspending. (Use &amp;lt;tt&amp;gt;fdisk -l /dev/hda&amp;lt;/tt&amp;gt; if unsure.)&lt;br /&gt;
&lt;br /&gt;
You can override the default resume partition anytime by giving &amp;lt;tt&amp;gt;resume=/dev/resume_partition&amp;lt;/tt&amp;gt; as kernel boot parameter.&lt;br /&gt;
Also, in case you suspended, but want to boot up normally (without resuming from the saved image - loosing all data that was unsaved at suspend time), you can give the &amp;lt;tt&amp;gt;noresume&amp;lt;/tt&amp;gt; kernel boot parameter.&lt;br /&gt;
&lt;br /&gt;
To suspend you can either do a simple &amp;lt;tt&amp;gt;echo -n 4 &amp;gt; /proc/acpi/sleep&amp;lt;/tt&amp;gt; (recommended) or use the [http://softwaresuspend.berlios.de/old-site/swsusp/sysvinit-2.76-v2-for_swsusp-v5.tar.gz patched SysVInit] and call &amp;lt;tt&amp;gt;swsusp&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;shutdown -z now&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ideally you would do this from a script like &amp;lt;tt&amp;gt;/etc/acpi/actions/hibernate.sh&amp;lt;/tt&amp;gt;. It has proven to be a good idea to shutdown the following processes/drivers within the script before you do the actual suspend.&lt;br /&gt;
*any running mysql server&lt;br /&gt;
*the madwifi driver, if you happen to use it&lt;br /&gt;
Afterwards you might want to enable them again, as well as run a script that does necessary configurations according to the ac power state.&lt;br /&gt;
Furthermore, the system clock is not readjusted automatically, so you will probably also want the do that from that script (i.e. by restarting your systemclock bootup script).&lt;br /&gt;
&lt;br /&gt;
Finally you should take note that swsusp does not set the ACPI S4 state. Instead it goes to S5. This means that the machine itself doesn't know that it was suspend rather than shutdown. Hence you can i.e. boot a parallel installed other operating system and resume your linux session later, as long as you don't touch the swap partition the image was saved to.&lt;br /&gt;
&lt;br /&gt;
====using SoftwareSuspend2====&lt;br /&gt;
Todo...&lt;/div&gt;</summary>
		<author><name>Pohl446</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=1064</id>
		<title>How to make ACPI work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=1064"/>
		<updated>2004-12-19T23:14:14Z</updated>

		<summary type="html">&lt;p&gt;Pohl446: /* Screen blanking (Standby) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===general===&lt;br /&gt;
First of all you'll have to enable ACPI support in your kernel (if your distro doesn't already have an ACPI enabled kernel).&lt;br /&gt;
To do this open your kernel config, go to &amp;lt;code&amp;gt;Power management options&amp;lt;/code&amp;gt;, enable &amp;lt;code&amp;gt;Power Management support&amp;lt;/code&amp;gt;, go to &amp;lt;code&amp;gt;ACPI&amp;lt;/code&amp;gt; and enable the needed options. You'd most likely want to enable &amp;lt;code&amp;gt;Sleep States&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AC Adapter&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Battery&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Fan&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Processor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Thermal Zone&amp;lt;/code&amp;gt;. Then recompile your kernel.&lt;br /&gt;
&lt;br /&gt;
If you prefer editing your .config file directly, you should set at least the following variables:&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_ACPI_BOOT=y&lt;br /&gt;
 CONFIG_ACPI_INTERPRETER=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP_PROC_FS=y&lt;br /&gt;
 CONFIG_ACPI_AC=y&lt;br /&gt;
 CONFIG_ACPI_BATTERY=y&lt;br /&gt;
 CONFIG_ACPI_BUTTON=y&lt;br /&gt;
 CONFIG_ACPI_FAN=y&lt;br /&gt;
 CONFIG_ACPI_PROCESSOR=y&lt;br /&gt;
 CONFIG_ACPI_THERMAL=y&lt;br /&gt;
 CONFIG_ACPI_BUS=y&lt;br /&gt;
 CONFIG_ACPI_EC=y&lt;br /&gt;
 CONFIG_ACPI_POWER=y&lt;br /&gt;
 CONFIG_ACPI_PCI=y&lt;br /&gt;
 CONFIG_ACPI_SYSTEM=y&lt;br /&gt;
&lt;br /&gt;
Unfortunately, special drivers for ACPI on ThinkPads were not included with kernels prior 2.6.10. So you'll have to compile one yourself. You have the choice between [[thinkpad-acpi]] and [[ibm-acpi]], with the latter being the recommended one.&lt;br /&gt;
&lt;br /&gt;
Also you'll need to install [[acpid]], if it isn't present on your system. [[acpid]] is a daemon that handles the ACPI events generated by the system. Basically, acpid just executes scripts residing in &amp;lt;tt&amp;gt;/etc/acpi/actions&amp;lt;/tt&amp;gt;. Which script to launch at which event is configured in several files in &amp;lt;tt&amp;gt;/etc/acpi/events&amp;lt;/tt&amp;gt;. See &amp;lt;tt&amp;gt;man acpid&amp;lt;/tt&amp;gt; for more information on how to configure acpid. The [[ibm-acpi]] packages includes example scripts in the &amp;lt;tt&amp;gt;config&amp;lt;/tt&amp;gt; folder inside the tarball. They are a good starting point to adjust them to your needs. You also might have a look at the [[Configs#ACPI | ACPI section of the Configs page]] and you can find information about the event strings ibm-acpi generates for certain keys at the [[How to get special keys to work#ibm-acpi_events | Special Keys HOWTO]].&lt;br /&gt;
&lt;br /&gt;
In general it is a good idea to read the README included with the ibm-acpi source tarball.&lt;br /&gt;
&lt;br /&gt;
===Screen blanking (Standby)===&lt;br /&gt;
Make sure you have &lt;br /&gt;
*Option &amp;quot;DPMS&amp;quot;&lt;br /&gt;
in the Monitor section of your XF86Config/xorg.conf.&lt;br /&gt;
&lt;br /&gt;
Running &amp;lt;code&amp;gt;xset +dpms&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;xset dpms force off&amp;lt;/code&amp;gt; will turn off the backlight on a laptop screen.&amp;lt;br /&amp;gt;&lt;br /&gt;
To force a screen off that is using a radeon chipset, install the [[radeontool]] package.&lt;br /&gt;
&lt;br /&gt;
===Suspend to RAM (Sleep)===&lt;br /&gt;
ACPI Sleep and suspend-to-ram with recent 2.6.x kernels usually works fine, too.&lt;br /&gt;
&lt;br /&gt;
With a 2.6.9 kernel, when resuming from a suspend-to-ram the display might remain black (the system is still rebootable via ctrl-alt-del). This can be fixed by adding &amp;quot;acpi_sleep=s3_bios&amp;quot; to the kernel boot parameters.&lt;br /&gt;
&lt;br /&gt;
However I experience some problems with the serial port of the port replicator&lt;br /&gt;
after the wake up from ram.&lt;br /&gt;
&lt;br /&gt;
Also, you might want to take note of the [[Problem with high power drain in ACPI sleep]].&lt;br /&gt;
&lt;br /&gt;
===Suspend to disk (Hibernate)===&lt;br /&gt;
There are two drivers for this available:&lt;br /&gt;
* swsusp, which is in the kernel and&lt;br /&gt;
* [http://developer.berlios.de/projects/softwaresuspend/ SoftwareSuspend2] which is more feature rich, but not yet in the kernel, so you have to patch it in yourself&lt;br /&gt;
Both are reported to work fine as long as you use open-source graphic drivers. A comparison of the features can be found on [http://softwaresuspend.berlios.de/features.html this page].&lt;br /&gt;
&lt;br /&gt;
Just in case you are in doubt...yes, it is safe in both cases to use the same swap partition as active swap and as suspend partition.&lt;br /&gt;
&lt;br /&gt;
====using swsusp====&lt;br /&gt;
Software Suspend (swsusp) is included in the 2.6 kernel series. It seems like no patches for 2.4 kernels are available.&lt;br /&gt;
&lt;br /&gt;
To enable it, go to &amp;lt;tt&amp;gt;Power management options&amp;lt;/tt&amp;gt; and enable &amp;lt;tt&amp;gt;Power management support&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Software Suspend&amp;lt;/tt&amp;gt; in the kernel config menu. You'll also want to give the swap partition to suspend to in &amp;lt;tt&amp;gt;Default resume partition&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case you prefer to edit your config file directly, you should have the following three entries look like here...&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND=y&lt;br /&gt;
 CONFIG_PM_STD_PARTITION=&amp;quot;/dev/resume_partition&amp;quot;&lt;br /&gt;
...where &amp;lt;tt&amp;gt;/dev/resume_partition&amp;lt;/tt&amp;gt; needs to be replaced by the swap partition you want to use for suspending. (Use &amp;lt;tt&amp;gt;fdisk -l /dev/hda&amp;lt;/tt&amp;gt; if unsure.)&lt;br /&gt;
&lt;br /&gt;
You can override the default resume partition anytime by giving &amp;lt;tt&amp;gt;resume=/dev/resume_partition&amp;lt;/tt&amp;gt; as kernel boot parameter.&lt;br /&gt;
Also, ihn case you suspended, but want to boot up normally (without resuming from the saved image - loosing all data that was unsaved at suspend time), you can give the &amp;lt;tt&amp;gt;noresume&amp;lt;/tt&amp;gt; kernel boot parameter.&lt;br /&gt;
&lt;br /&gt;
To suspend you can either do a simple &amp;lt;tt&amp;gt;echo -n 4 &amp;gt; /proc/acpi/sleep&amp;lt;/tt&amp;gt; (recommended) or use the [http://softwaresuspend.berlios.de/old-site/swsusp/sysvinit-2.76-v2-for_swsusp-v5.tar.gz patched SysVInit] and call &amp;lt;tt&amp;gt;swsusp&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;shutdown -z now&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ideally you would do this from a script like &amp;lt;tt&amp;gt;/etc/acpi/actions/hibernate.sh&amp;lt;/tt&amp;gt;. It has proven to be a good idea to shutdown the following processes/drivers within the script before you do the actual suspend.&lt;br /&gt;
*any running mysql server&lt;br /&gt;
*the madwifi driver, if you happen to use it&lt;br /&gt;
Afterwards you might want to enable them again, as well as run a script that does necessary configurations according to the ac power state.&lt;br /&gt;
Furthermore, the system clock is not readjusted automatically, so you will probably also want the do that from that script (i.e. by restarting your systemclock bootup script).&lt;br /&gt;
&lt;br /&gt;
Finally you should take note that swsusp does not set the ACPI S4 state. Instead it goes to S5. This means that the machine itself doesn't know that it was suspend rather than shutdown. Hence you can i.e. boot a parallel installed other operating system and resume your linux session later, as long as you don't touch the swap partition the image was saved to.&lt;br /&gt;
&lt;br /&gt;
====using SoftwareSuspend2====&lt;br /&gt;
Todo...&lt;/div&gt;</summary>
		<author><name>Pohl446</name></author>
		
	</entry>
</feed>