https://www.thinkwiki.org/w/api.php?action=feedcontributions&user=Jelly&feedformat=atomThinkWiki - User contributions [en]2024-03-29T01:38:42ZUser contributionsMediaWiki 1.31.12https://www.thinkwiki.org/w/index.php?title=Talk:Patch_for_controlling_fan_speed&diff=38641Talk:Patch for controlling fan speed2008-08-19T16:55:53Z<p>Jelly: /* Using sudo */ fix example usage of /proc/acpi/ibm/fan</p>
<hr />
<div>==Using sudo==<br />
Any idea why I have to use '''sudo -s''' first instead of just using '''sudo <command>'''?<br />
<br />
* Just using {{cmduser|sudo echo level 5 > /proc/acpi/ibm/fan}} runs the echo command as root, but the writing to the proc file is done as your user. Running {{cmduser|sudo -s}} gives you a root shell where the write to the fan file is done as root. - [[User:Kelsin|Kelsin]] 01:16, 17 August 2008 (CEST)<br />
* One might, however, do {{cmduser|sudo sh -c 'echo level 5 > /proc/acpi/ibm/fan'}} instead.<br />
<br />
==Windows XP port==<br />
How would I port this patch to Windows XP? <br />
<br />
--Jason<br />
<br />
You can't. But you can write a Windows device driver based on the specs and [[ibm-acpi]].<br />
<br />
--[[User:Thinker|Thinker]] 18:54, 7 Nov 2005 (CET)<br />
<br />
==gkrellm support==<br />
<br />
I can confirm that it works on Thinkpad {{T43}} here. However after<br />
applying the patch, the fan speed monitor of gkrellm 2.2.7 cannot read<br />
value correctly. Maybe we gkrellm is reading the second line for speed<br />
but instead find the line for level, so it got confused? Would it be possible to interchange the lines so that speed still appears in the <br />
second line and level appears in the third instead? I'm no coder, just <br />
a suggestion to improve the patch.<br />
<br />
--Jiang<br />
<br />
I'd say it's a bug in gkrellm. It should parse the line header rather than relying on line numbers. But feel free to change (and test) the patch if you wish.<br />
<br />
--[[User:Thinker|Thinker]] 05:14, 26 Oct 2005 (CEST)<br />
<br />
== patch to keep gkrell working against 2.6.14 ==<br />
<br />
As in "works for me on a T43p", use with caution at your own risk. And thanks to thinker for the original patch, very nice work.<br />
<br />
(See article for the actual patch)<br />
<br />
--[[User:Spiney|Spiney]]<br />
<br />
Looks excellent, why not add it to the article page? Also, care to provide a license (preferably public domain like my patch) so the kernel guys can handle it? Speaking of which, the kernel people seem to like their patches generated via "diff -up vanilla-kernel-2.6.14 patched-kernel-2.6.14".<br />
<br />
--[[User:Thinker|Thinker]] 22:04, 1 Nov 2005 (CET)<br />
<br />
Done, using the -p option for diff and "borrowing" your sentence for licensing purposes.<br />
<br />
--[[User:Spiney|Spiney]]<br />
----<br />
<br />
== Updated script for unpatched kernels ==<br />
Moved to the [[ACPI fan control script]] article page, after joint development by [[User:Spiney|Spiney]] and [[User:Thinker|Thinker]].<br />
<br />
== whats the problem kernel 2.6.14 ==<br />
<br />
hi all,<br />
<br />
i patched the kernel with the patch for 2.6.14 with the option:<br />
/usr/src/linux # patch -p0 -l -i ../ibm_acpi.patch (which i copy&pasted)<br />
<br />
they dont show me errors or so. but after i reboot and load the modul ibm_acpi i cant see any /proc/acpi/ibm/fan<br />
<br />
whats the problem? copy&past ( tab -> space?)<br />
or is it a problem in my kernel config?<br />
<br />
greetings and big thx from .ch, <br />
<br />
<br />
system: ibm thinkpad t43p<br />
kernel: 2.6.14<br />
<br />
--[[User:62.203.29.204|62.203.29.204]] 19:22, 9 Nov 2005 (CET)kru<br />
<br />
You need to pass the "<tt>experimental=1</tt>" module parameter to ibm-acpi:<br />
# modprobe ibm_acpi experimental=1<br />
--[[User:Thinker|Thinker]] 21:01, 9 Nov 2005 (CET)<br />
<br />
big thx!!! problem solved.<br />
<br />
--[[User:62.203.29.204|62.203.29.204]]<br />
<br />
== Fan control does not work with Suse 10.1 ? ==<br />
<br />
Hi, <br />
<br />
I successfully installed and used the fan control script on my T43p with Suse 10.0.<br />
<br />
Yesterday, I installed Suse 10.1 from scratch. Unfortunately fan control does not work with Suse 10.1:<br />
<br />
\# echo level 2 > /proc/acpi/ibm/fan<br />
bash: echo: write error: Invalid argument<br />
<br />
Are there any substantial differences between Suse 10.0 and 10.1 with respect to ibm_acpi?<br />
<br />
* You need to pass the fan_control=1 parameter to the thinkpad_acpi module when it's loaded into the kernel. This can be done manually with <br />
<br />
# modprobe thinkpad_acpi fan_control=1<br />
<br />
You'll have to read up on suse config to figure out how to do that automatically. With Gentoo it involves putting a file in {{path|/etc/modprobe.d/}} then running {{cmdroot|update-modules}} to have it update {{path|/etc/modprobe.conf}}. Other distros might have you just edit {{path|/etc/modprobe.conf}} directly but I wouldn't know. - [[User:Kelsin|Kelsin]] 01:16, 17 August 2008 (CEST)<br />
<br />
== Speed Control Patch for 2.6.18? ==<br />
<br />
Hi All.<br />
I'm trying to apply the speed control patch to vanilla 2.6.18 but it looks like it failed. Anyone who can point me to a direction for 2.6.18 patch?<br />
Thanks<br />
<br />
== ibm-acpi-0.12a-2.6.17-fan.patch broken? ==<br />
The code is not completed.</div>Jellyhttps://www.thinkwiki.org/w/index.php?title=Talk:Patch_for_controlling_fan_speed&diff=38640Talk:Patch for controlling fan speed2008-08-19T16:53:08Z<p>Jelly: /* Using sudo */ trivial sudo usage hint to avoid an interactive root shell</p>
<hr />
<div>==Using sudo==<br />
Any idea why I have to use '''sudo -s''' first instead of just using '''sudo <command>'''?<br />
<br />
* Just using {{cmduser|sudo echo 5 > /proc/acpi/ibm/fan}} runs the echo command as root, but the writing to the proc file is done as your user. Running {{cmduser|sudo -s}} gives you a root shell where the write to the fan file is done as root. - [[User:Kelsin|Kelsin]] 01:16, 17 August 2008 (CEST)<br />
* One might, however, do {{cmduser|sudo sh -c 'echo 5 > /proc/acpi/ibm/fan'}} instead.<br />
<br />
==Windows XP port==<br />
How would I port this patch to Windows XP? <br />
<br />
--Jason<br />
<br />
You can't. But you can write a Windows device driver based on the specs and [[ibm-acpi]].<br />
<br />
--[[User:Thinker|Thinker]] 18:54, 7 Nov 2005 (CET)<br />
<br />
==gkrellm support==<br />
<br />
I can confirm that it works on Thinkpad {{T43}} here. However after<br />
applying the patch, the fan speed monitor of gkrellm 2.2.7 cannot read<br />
value correctly. Maybe we gkrellm is reading the second line for speed<br />
but instead find the line for level, so it got confused? Would it be possible to interchange the lines so that speed still appears in the <br />
second line and level appears in the third instead? I'm no coder, just <br />
a suggestion to improve the patch.<br />
<br />
--Jiang<br />
<br />
I'd say it's a bug in gkrellm. It should parse the line header rather than relying on line numbers. But feel free to change (and test) the patch if you wish.<br />
<br />
--[[User:Thinker|Thinker]] 05:14, 26 Oct 2005 (CEST)<br />
<br />
== patch to keep gkrell working against 2.6.14 ==<br />
<br />
As in "works for me on a T43p", use with caution at your own risk. And thanks to thinker for the original patch, very nice work.<br />
<br />
(See article for the actual patch)<br />
<br />
--[[User:Spiney|Spiney]]<br />
<br />
Looks excellent, why not add it to the article page? Also, care to provide a license (preferably public domain like my patch) so the kernel guys can handle it? Speaking of which, the kernel people seem to like their patches generated via "diff -up vanilla-kernel-2.6.14 patched-kernel-2.6.14".<br />
<br />
--[[User:Thinker|Thinker]] 22:04, 1 Nov 2005 (CET)<br />
<br />
Done, using the -p option for diff and "borrowing" your sentence for licensing purposes.<br />
<br />
--[[User:Spiney|Spiney]]<br />
----<br />
<br />
== Updated script for unpatched kernels ==<br />
Moved to the [[ACPI fan control script]] article page, after joint development by [[User:Spiney|Spiney]] and [[User:Thinker|Thinker]].<br />
<br />
== whats the problem kernel 2.6.14 ==<br />
<br />
hi all,<br />
<br />
i patched the kernel with the patch for 2.6.14 with the option:<br />
/usr/src/linux # patch -p0 -l -i ../ibm_acpi.patch (which i copy&pasted)<br />
<br />
they dont show me errors or so. but after i reboot and load the modul ibm_acpi i cant see any /proc/acpi/ibm/fan<br />
<br />
whats the problem? copy&past ( tab -> space?)<br />
or is it a problem in my kernel config?<br />
<br />
greetings and big thx from .ch, <br />
<br />
<br />
system: ibm thinkpad t43p<br />
kernel: 2.6.14<br />
<br />
--[[User:62.203.29.204|62.203.29.204]] 19:22, 9 Nov 2005 (CET)kru<br />
<br />
You need to pass the "<tt>experimental=1</tt>" module parameter to ibm-acpi:<br />
# modprobe ibm_acpi experimental=1<br />
--[[User:Thinker|Thinker]] 21:01, 9 Nov 2005 (CET)<br />
<br />
big thx!!! problem solved.<br />
<br />
--[[User:62.203.29.204|62.203.29.204]]<br />
<br />
== Fan control does not work with Suse 10.1 ? ==<br />
<br />
Hi, <br />
<br />
I successfully installed and used the fan control script on my T43p with Suse 10.0.<br />
<br />
Yesterday, I installed Suse 10.1 from scratch. Unfortunately fan control does not work with Suse 10.1:<br />
<br />
\# echo level 2 > /proc/acpi/ibm/fan<br />
bash: echo: write error: Invalid argument<br />
<br />
Are there any substantial differences between Suse 10.0 and 10.1 with respect to ibm_acpi?<br />
<br />
* You need to pass the fan_control=1 parameter to the thinkpad_acpi module when it's loaded into the kernel. This can be done manually with <br />
<br />
# modprobe thinkpad_acpi fan_control=1<br />
<br />
You'll have to read up on suse config to figure out how to do that automatically. With Gentoo it involves putting a file in {{path|/etc/modprobe.d/}} then running {{cmdroot|update-modules}} to have it update {{path|/etc/modprobe.conf}}. Other distros might have you just edit {{path|/etc/modprobe.conf}} directly but I wouldn't know. - [[User:Kelsin|Kelsin]] 01:16, 17 August 2008 (CEST)<br />
<br />
== Speed Control Patch for 2.6.18? ==<br />
<br />
Hi All.<br />
I'm trying to apply the speed control patch to vanilla 2.6.18 but it looks like it failed. Anyone who can point me to a direction for 2.6.18 patch?<br />
Thanks<br />
<br />
== ibm-acpi-0.12a-2.6.17-fan.patch broken? ==<br />
The code is not completed.</div>Jellyhttps://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&diff=31757List of DMI IDs2007-08-03T19:09:34Z<p>Jelly: /* Z series */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
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.<br />
{{HELP|We need more information about older models, especially those released before 2004. Please [[#Adding_entries|add your model]] to the database.}}<br />
{{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.}}<br />
|}<br />
<br />
==DMI ID database==<br />
<br />
<div style="font-size: 80%"><br />
{| border="1" cellspacing="0" cellpadding="2"<br />
|-<br />
! Model<br />
! <tt>system-<br />manufa<br />cturer</tt><br />
! <tt>system-<br />product-<br />name</tt><br />
! <tt>system-<br />version</tt><br />
! <tt>baseboard-<br />manufa<br />cturer</tt><br />
! <tt>baseboard-<br />product-<br />name</tt><br />
! <tt>baseboard-<br />version</tt><br />
! <tt>chassis-<br />manufa<br />cturer</tt><br />
! <tt>chassis-<br />version</tt><br />
! <tt>bios-<br />vendor</tt><br />
! <tt>bios-<br />version</tt><br />
! <tt>bios-<br />release-<br />date</tt><br />
! Embedded controller<br />
! Notes<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====Numbered series====<br />
|-<br />
| {{600E}} 2645-5AU<br />
|| IBM || 26455AU || Not Available || IBM || 26455AU || Not Available || IBM || Not Available || IBM || INET36WW || 11/20/1999<br />
||<br />
||<br />
|-<br />
| {{600X}} 2645-5FU<br />
|| IBM || 26455FU || Not Available || IBM || 26455FU || Not Available || IBM || Not Available || IBM || INET55WW || 11/30/1999<br />
||<br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====A series====<br />
|-<br />
| {{A21m}} 2628-FSG<br />
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET24WW (1.02b) || 12/19/2000 <br />
|| <br />
||<br />
|-<br />
| {{A21m}} 2628-FSG<br />
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET36WW (1.09 ) || 05/08/2003 <br />
||<br />
||<br />
|-<br />
| {{A22p}} 2629-USG<br />
|| IBM || 2629USG || Not Available || IBM || 2629USG || Not Available || IBM || Not Available || IBM || KYET36WW (1.09a) || 10/17/2002 <br />
||<br />
|| {{WARN|Outdated BIOS}}<br />
|-<br />
| {{A31}} 2652-PBU<br />
|| IBM || 2652PBU || Not Available || IBM || 2652PBU || Not Available || IBM || Not Available || IBM || 1NET15WW (1.09 ) || 04/06/2005<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1NHT04WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{A31p}} 2653H6U<br />
|| IBM || 2653H6U || Not Available || IBM || 2653H6U || Not Available || IBM || Not Available || IBM || 1GET31WW (1.03 ) || 07/23/2002<br />
||<br />
|| {{WARN|Missing EC string, extremely outdated BIOS}}{{HELP|We need a report to know if the latest BIOS fixes the missing EC string}}<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====G series====<br />
|-<br />
| {{G41}} 2881-75M<br />
|| IBM || 288175M || ThinkPad G41 || IBM || 288175M || Not Available || IBM || Not Available || IBM || 1XET47WW (1.06 ) || 01/14/2005<br />
||<br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====R series====<br />
|-<br />
| {{R40}} 2681-5UU<br />
|| IBM || 26815UU || Not Available || IBM || 26815UU || Not Available || IBM || Not Available || IBM || 1OET57WW (1.23 ) || 03/23/2005 <br />
||<br />
|| {{WARN|Outdated BIOS}}<br />
|-<br />
| {{R40}} 2681-HSG<br />
|| IBM || 2681HSG || Not Available || IBM || 2681HSG || Not Available || IBM || Not Available || IBM || 1OET61WW (1.27 ) || 06/29/2006<br />
||<br />
|| {{WARN|Outdated BIOS}}<br />
|-<br />
| {{R40}} 2722-B3G<br />
|| IBM || 2722B3G || Not Available || IBM || 2722B3G || Not Available || IBM || Not Available || IBM || 1PET62WW (1.30 ) || 09/29/2005<br />
||<br />
||<br />
|-<br />
| {{R40}} 2897-B4U<br />
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1PET52WW (1.20 ) || 03/03/2004<br />
||<br />
||<br />
|-<br />
| {{R40e}} 2684-L8G<br />
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1SET62WW (1.30 ) || 07/09/2004<br />
||<br />
|| {{WARN|Outdated BIOS}}<br />
|-<br />
| {{R50}} 1829-7QG<br />
|| IBM || 0123456 || ThinkPad R50 || IBM || 0123456 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
||<br />
|-<br />
|{{R50e}} 1834-JAG<br />
|| IBM || 1834JAG || ThinkPad R50e || IBM || 1834JAG || Not Available || IBM || Not Available || IBM || 1WET82WW (2.02 ) || 02/21/2005<br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
|{{R50p}} 1832-2AG<br />
|| IBM || 18322AG || ThinkPad R50p || IBM || 18322AG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 1829-DRG<br />
|| IBM || 1829DRG || ThinkPad R51 || IBM || 1829DRG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a ]-</nowiki> <br />
||<br />
|-<br />
| {{R51}} 1829-9MG<br />
|| IBM || 18299MG || ThinkPad R51 || IBM || 18299MG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 1829-L7G<br />
|| IBM || 1829L7G || ThinkPad R51 || IBM || 1829L7G || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT70WW-3.03 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 1836-GEU<br />
|| IBM || 1836GEU || ThinkPad R51 || IBM || 1836GEU || Not Available || IBM || Not Available || IBM || 1RETDLWW (3.17 ) || 07/27/2005 || <nowiki>Handle 0x0029, DMI type 11, 5 bytes. String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 2883-ELU<br />
|| IBM || 2883ELU || ThinkPad R51 || IBM || 2883ELU || Not Available || IBM || Not Available || IBM || 1VET69WW (1.27 ) || 03/03/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-AQG<br />
|| IBM || 1846AQG || ThinkPad H || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04 ]-</nowiki><br />
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}<br />
|-<br />
| {{R52}} 1846-AQG<br />
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET68WW (1.28 ) || 11/15/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1847-W62<br />
|| IBM || 1847W62 || ThinkPad . || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04 ]-</nowiki><br />
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}<br />
|-<br />
| {{R52}} 1847-W62<br />
|| IBM || 1847W62 || ThinkPad R52 || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1858-6MM<br />
|| IBM || 18586MM || ThinkPad R52 || IBM || 18586MM || Not Available || IBM || Not Available || IBM || 70ET40WW (1.04 ) || 06/02/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1858-6SM<br />
|| IBM || 18586SM || ThinkPad R52 || IBM || 18586SM || Not Available || IBM || Not Available || IBM || 70ET57WW (1.17 ) || 07/15/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03 ]-</nowiki> ||<br />
|-<br />
| {{R52}} 1846-4CG<br />
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT15WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-4CG<br />
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki> ||<br />
||<br />
|-<br />
| {{R52}} 1846-B5G<br />
|| IBM || 1846B5G || ThinkPad H || IBM || 1846B5G || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R60e}} 0657-4TG<br />
|| LENOVO || 06574TG || ThinkPad R60e || LENOVO || 06574TG || Not Available || LENOVO || Not Available || LENOVO || 7EET18WW (1.04 ) || 07/28/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7EHT13WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9456-6FG<br />
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9456-6FG<br />
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CETB7WW (2.07 ) || 11/13/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-54G<br />
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-54G<br />
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CETC1WW (2.11 ) || 01/09/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
|| {{NOTE|With this bios version the brightness control buttons don't work for kernel < 2.6.20}}<br />
|-<br />
| {{R60}} 9461-DXG<br />
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETB6WW (2.06 ) || 10/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
|-<br />
| {{R60}} 9462-GAG<br />
|| LENOVO || 9462GAG || ThinkPad R60 || LENOVO || 9462GAG || Not Available || LENOVO || Not Available || LENOVO || 7CETB5WW (2.05 ) || 10/13/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki> ||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====S series====<br />
|-<br />
| {{s30}} 2639-4WJ<br />
|| IBM || 26394WJ || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 18ET45WW (1.45) || 07/10/2001<br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====T series====<br />
|-<br />
| {{T20}} 2647-UC2<br />
|| IBM || 2647UC2 || Not Available || IBM || 2647UC2 || Not Available || IBM || Not Available || IBM || IYET45WW (1.08a) || 12/21/1999<br />
||<br />
|| {{WARN|Very outdated BIOS}}<br />
|-<br />
| {{T21}} 2647-8AU<br />
|| IBM || 26478AU || Not Available || IBM || 26478AU || Not Available || IBM || Not Available || IBM || KZET34WW (1.16 ) || 04/28/2004<br />
||<br />
||<br />
|-<br />
| {{T22}} 2647-4EG<br />
|| IBM || 26474EG || Not Available || IBM || 26474EG || Not Available || IBM || Not Available || IBM || 16ET31WW (1.11 ) ||<br />
03/20/2003 <br />
||<br />
||<br />
|-<br />
| {{T22}} 2647-8EU<br />
|| IBM || 26478EU || Not Available || IBM || 26478EU || Not Available || IBM || Not Available || IBM || 16ET32WW (1.12 ) || 04/27/2004<br />
||<br />
||<br />
|- <br />
| {{T23}} 2647-4NU<br />
|| IBM || 26474NU || Not Available || IBM || 26474NU || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a ]-</nowiki><br />
||<br />
|-<br />
| {{T23}} 2647-8MG<br />
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13 ) || 07/02/2002<br />
||<br />
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}<br />
|-<br />
| {{T23}} 2647-8MG<br />
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-85G<br />
|| IBM || 236685G || Not Available || IBM || 236685G || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1IHT18WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-GU1<br />
|| IBM || 2366GU1 || Not Available || IBM || 2366GU1 || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1IHT19WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-JBU<br />
|| IBM || 2366JBU || Not Available || IBM || 2366JBU || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T40}} 2378-D2U<br />
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004<br />
|| <br />
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}<br />
|-<br />
| {{T40p}} 2373-G1G<br />
|| IBM || 2373G1G || ThinkPad T40p || IBM || 2373G1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2373-W63<br />
|| IBM || 2373W63 || ThinkPad T41 || IBM || 2373W63 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki> <br />
||<br />
|-<br />
|{{T41}} 2373-XNX<br />
|| IBM || 2373XNX || ThinkPad T41 || IBM || 2373XNX || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2373-2FG<br />
|| IBM || 23732FG || ThinkPad T41 || IBM || 23732FG || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003<br />
||<br />
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}<br />
|-<br />
| {{T41}} 2379-DJU<br />
|| IBM || 2379DJU || ThinkPad T41 || IBM || 2379DJU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki> ||<br />
|-<br />
| {{T41p}} 2373-GHG <br />
|| IBM || 2373GHG || ThinkPad T41p || IBM || 2373GHG || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41p}} 2373-GEG<br />
|| IBM || 2373GEG || ThinkPad T41p || IBM || 2373GEG || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005<br />
|| <nowiki> Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41p}} 2373-GJJ<br />
|| IBM || 2373GJJ || ThinkPad T41p || IBM || 2373GJJ || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} 2373-FWG<br />
|| IBM || 2373FWG || ThinkPad T42 || IBM || 2373FWG || Not Available || IBM || Not Available || IBM || 1RETDHWW (3.13 ) || 10/29/2004<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} 2373-M1G<br />
|| IBM || 2373M1G || ThinkPad T42 || IBM || 2373M1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|- <br />
| {{T42}} 2374-WEH<br />
|| IBM || 2374WEH || ThinkPad T42 || IBM || 2374WEH || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki> <br />
||<br />
|-<br />
| {{T42}} 2378-FVU<br />
|| IBM || 2378FVU || ThinkPad T42 || IBM || 2378FVU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2373-KUU<br />
|| IBM || 2373KUU || ThinkPad T42p || IBM || 2373KUU || Not Available || IBM || Not Available || IBM || 1RETDMWW (3.18 ) || 09/15/2005<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2373-GYG<br />
|| IBM || 2373GYG || ThinkPad T42p || IBM || 2373GYG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2374-CP5<br />
|| IBM || 2374CP5 || ThinkPad T42p || IBM || 2374CP5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2379-DYU<br />
|| IBM || 2379DYU || ThinkPad T42p || IBM || 2379DYU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2372-Q2G<br />
|| IBM || 2373Q2G || ThinkPad T42p || IBM || 2373Q2G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 1871-4AG<br />
|| IBM || 18714AG || ThinkPad T43 || IBM || 18714AG || Not Available || IBM || Not Available || IBM || 70ET64WW (1.24 ) || 02/13/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT27WW-1.04 ]-</nowiki> ||<br />
||<br />
|-<br />
| {{T43}} 1871-F1G<br />
|| IBM || 1871F1G || ThinkPad T43 || IBM || 1871F1G || Not Available || IBM || Not Available || IBM || 70ET61WW (1.21 ) || 11/01/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 2686-DGU<br />
|| IBM || 2686DGU || ThinkPad T43 || IBM || 2686DGU || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 2669-WE5<br />
|| IBM || 2669WE5 || ThinkPad T43 || IBM || 2669WE5 || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 <br />
|| <nowiki>String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
|| {{NOTE|User reports this is really a 2669-CEU with 1GB RAM + BlueTooth, and not a 2669-WE5 (unverified if this makes sense)}}<br />
|-<br />
| {{T43p}} 2668-G2G<br />
|| IBM || 2668G2G || ThinkPad T43p || IBM || 2668G2G || Not Available || IBM || Not Available || IBM || 1YET47WW (1.08 ) || 06/09/2005 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43p}} 2687-D5U<br />
|| IBM || 2687D5U || ThinkPad T43p || IBM || 2687D5U || Not Available || IBM || Not Available || IBM || 1YET59WW (1.24 ) || 11/07/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1952-W5R<br />
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ET61WW (1.06 ) || 05/24/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1952-W5R<br />
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ETD2WW (2.12 ) || 04/12/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki> ||<br />
||<br />
|-<br />
| {{T60}} 2007-49G<br />
|| LENOVO || 200749G || ThinkPad T60 || LENOVO || 200749G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-77G<br />
|| LENOVO || 200777G || ThinkPad T60 || LENOVO || 200777G || Not Available || LENOVO || Not Available || LENOVO || 79ETD1WW (2.11 ) || 03/15/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki> ||<br />
|-<br />
| {{T60p}} 2007-83U<br />
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006 || <nowiki> String 1: IBM ThinkPad Embedded Controller -[79HT43WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93G<br />
|| LENOVO || 200793G || ThinkPad T60p || LENOVO || 200793G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93U<br />
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93U<br />
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93U<br />
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2613-ESU<br />
|| LENOVO || 2613ESU || ThinkPad T60p || LENOVO || 2613ESU || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2623-DDU<br />
|| LENOVO || 2623DDU || ThinkPad T60p || LENOVO || 2623DDU || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 7662-XDU<br />
|| LENOVO || 7662XDU || ThinkPad T61 || LENOVO || 7662XDU || 7662XDU|| LENOVO || Not Available || LENOVO || 7LET37WW (1.07 ) || 04/17/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7KHT19WW-1.03 ]-</nowiki><br />
|| {{WARN|BIOS and EC firmware have different IDs}}<br />
||<br />
|-<br />
| {{T61}} 7661-A56<br />
|| LENOVO || 7661A56 || ThinkPad T61 || LENOVO || 7661A56 || Not Available || LENOVO || Not Available || LENOVO || 7LET39WW (1.09 ) || 05/14/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT21WW-1.05 ]-</nowiki> ||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====X series====<br />
|-<br />
| {{X20}} 266231G<br />
|| IBM || 266231G || Not Available || IBM || 266231G || Not Available || IBM || Not Available || IBM || IZET9DWW (2.25 ) || 04/17/2003<br />
||<br />
|-<br />
|| 266232G || IBM || 266232G || Not Available || IBM || 266232G || Not Available || IBM || Not Available || IBM || IZET9AWW (2.22 ) || 09/11/2002<br />
|| <nowiki></nowiki> ||<br />
||<br />
|-<br />
| {{X23}} 2662EBG<br />
|| IBM || 2662EBG || Not Available || IBM || 2662EBG || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003<br />
|| <nowiki></nowiki> ||<br />
|-<br />
| {{X24}} 2662-MPU<br />
|| IBM || 62MPUFX || Not Available || IBM || 62MPUFX || Not Available || IBM || Not Available || IBM || 1DET67WW (1.29 ) || 12/18/2002<br />
||<br />
||<br />
|- <br />
| {{X30}} 2672-4HU<br />
|| IBM || 26724HU || Not Available || IBM || 26724HU || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06 ]-</nowiki> ||<br />
|-<br />
| {{X30}} 2672-PG3<br />
|| IBM || 2672PG3 || Not Available || IBM || 2672PG3 || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06 ]-</nowiki> <br />
||<br />
|-<br />
| {{X31}} 2672-JXU<br />
|| IBM || 2672JXU || ThinkPad X31 || IBM || 2672JXU || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki> ||<br />
|-<br />
| {{X32}} 2884-A3U<br />
|| IBM || 2884A3U || ThinkPad X32 || IBM || 2884A3U || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2386-H4G<br />
|| IBM || 2386H4G || ThinkPad X40 || IBM || 2386H4G || Not Available || IBM || Not Available || IBM || 1UET92WW (1.42 ) || 09/16/2004 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-Y29<br />
|| IBM || 2371Y29 || ThinkPad X40 || IBM || 2371Y29 || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTA6WW-1.56 ]-</nowiki> ||<br />
|-<br />
| {{X41}} 2525-HU1<br />
|| IBM || 2525HU1 || ThinkPad X41 || IBM || 2525HU1 || Not Available || IBM || Not Available || IBM || 74ET48WW (1.17a) || 06/07/2005<br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[74HT25WW-1.00 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1709-47U<br />
|| LENOVO || 170947U || ThinkPad X60 || LENOVO || 170947U || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1709-GDJ<br />
|| LENOVO || 1709GDJ || ThinkPad X60 || LENOVO || 1709GDJ || Not Available || LENOVO || Not Available || LENOVO || 7BETC2WW (2.03 ) || 10/16/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT36WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1702-55G<br />
|| LENOVO || 170255G || ThinkPad X60s || LENOVO || 170255G || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1702-5FG<br />
|| LENOVO || 17025FG || ThinkPad X60s || LENOVO || 17025FG || Not Available || LENOVO || Not Available || LENOVO || 7BET49WW (1.09 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT34WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1704-56G<br />
|| LENOVO || 170456G || ThinkPad X60s || LENOVO || 170456G || Not Available || LENOVO || Not Available || LENOVO || 7BET43WW (1.03 ) || 02/13/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7BHT28WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====Z series====<br />
|-<br />
| {{Z60t}} 2511-FEU<br />
|| IBM || 2511FEU || ThinkPad Z60t || IBM || 2511FEU || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{Z60t}} 2511-FFG<br />
|| IBM || 2511FFG || ThinkPad Z60t || IBM || 2511FFG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[77HT57WW-1.17 ]-</nowiki> ||<br />
|- <br />
| {{Z60m}} 2529-ETG<br />
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET59WW (1.19 ) || 04/24/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[77HT54WW-1.14 ]-</nowiki> ||<br />
|-<br />
| {{Z60m}} 2529-ETG<br />
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18 ]-</nowiki> ||<br />
|-<br />
| {{Z60m}} 2529-FBG<br />
|| IBM || 2529FBG || ThinkPad Z60m || IBM || 2529FBG || Not Available || IBM || Not Available || IBM || 77ET62WW (1.22 ) || 11/21/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18 ]-</nowiki> ||<br />
|- <br />
| {{Z60m}} 2529-FKG<br />
|| IBM || 2529FKG || ThinkPad Z60m || IBM || 2529FKG || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005<br />
|| String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02 ]-<br />
||<br />
|-<br />
| {{Z61m}} 9453-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET48WW (1.08 ) || 05/26/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[7FHT21WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9543-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05 ]-</nowiki> ||<br />
|-<br />
| {{Z61m}} 9543-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET93WW (2.11 ) || 11/10/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki> ||<br />
|-<br />
| {{Z61m}} 9453-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05 ]-</nowiki> ||<br />
|-<br />
| {{Z61p}} 9453-A12<br />
|| LENOVO || 9453A12 || ThinkPad Z61p || LENOVO || 9453A12 || Not Available || LENOVO || Not Available || LENOVO || 7FET45WW (1.05 ) || 04/20/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7FHT19WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61p}} 9450-3AU<br />
|| LENOVO || 94503AU || ThinkPad Z61p || LENOVO || 94503AU || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05 ]-</nowiki> ||<br />
|-<br />
| {{Z61t}} 9440-2CU<br />
|| LENOVO || 94402CU || ThinkPad Z61t || LENOVO || 94402CU || Not Available || LENOVO || Not Available || LENOVO || 7FET50WW (1.10 ) || 06/20/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT22WW-1.04 ]-</nowiki> ||<br />
|-<br />
| {{Z61t}} 9443-4GG<br />
|| LENOVO || 94434GG || ThinkPad Z61t || LENOVO || 94434GG || Not Available || LENOVO || Not Available || LENOVO || 7FET96WW (2.14 ) || 12/25/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki> ||<br />
|-<br />
| {{Z61t}} 9440-CTO<br />
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FET99WW (2.17 ) || 04/17/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki> ||<br />
|}<br />
</div><br />
<br />
==Adding entries==<br />
<br />
Click the "Edit" link on the appropriate series above and add an entry of the following form:<br />
:<tt>!-</tt><br />
:<tt>| </tt><i>description of your model</i><br />
:<i>data line 1</i><br />
:<i>data line 2</i><br />
<br />
where the two data lines are genereated by the following <tt>bash</tt> command:<br />
<br />
<pre><br />
for X in system-{manufacturer,product-name,version} \<br />
baseboard-{manufacturer,product-name,version} \<br />
chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \<br />
echo -n "|| `sudo /usr/sbin/dmidecode -s $X` "; done; \<br />
sudo /usr/sbin/dmidecode | perl -0777 -ne \<br />
'm/\n(.*).\n.*\n(.*Embedded Cont.*)\n/i; print "\n|| <nowiki><</nowiki>nowiki>$1$2</nowiki> ||\n"'<br />
</pre><br />
<br />
While at it, you may also want to test [[tp_smapi]] and update its [[tp_smapi#Model-specific_status|model-specific status table]].<br />
<br />
==Software using ThinkPad DMI IDs==<br />
* [[HDAPS]] driver whitelist<br />
* [[tp_smapi]] driver whitelist<br />
* [[ibm-acpi]]/thinkpad-acpi driver quirk list</div>Jellyhttps://www.thinkwiki.org/w/index.php?title=SD_Card_slot&diff=24676SD Card slot2006-09-16T14:15:35Z<p>Jelly: /* Linux support */</p>
<hr />
<div>{| width="100%"<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
The SD Card slot (Secure Digital) is found on select ThinkPads and Docking stations.<br />
<br />
In addition to SD Cards, SD Card slots can also accept the older MMC (MultiMedia Card).<br />
</div><br />
|}<br />
__NOTOC__<br />
* [[Wikipedia:Secure Digital card|Wikipedia article on SD Cards]]<br />
* [[Wikipedia:Multimedia Card|Wikipedia article on MMC Cards]]<br />
<br />
==PCI-based SD Card slot==<br />
This implementation is called "SD Card with IO support", and supports in addition to regular SD memory cards also special SDIO cards (e.g. Bluetooth, WiFi, etc).<br />
<br />
=== Linux support ===<br />
lspci reports it as a Ricoh device with PCI ID 1180:0822 (X Series, Z60m, Z60t), or 1180:0841 (Z Series).<br />
<br />
The [http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci sdhci project] has developed a driver that supports these and other SD controller chips. The driver has been reported to work on ThinkPad {{X40}}, {{X41}}, {{Z60m}} and {{Z60t}} models, and has been available in mainline kernel since 2.6.17-rc1. See also "[[How to get the internal SD-CARD working]]".<br />
<br />
=== Models featuring this Technology ===<br />
* ThinkPad {{X40}}, {{X41}}, {{X41T}}<br />
* ThinkPad {{X60}}, {{X60s}}<br />
* ThinkPad {{Z60m}}, {{Z60t}}<br />
<br />
==USB based SD Card slot==<br />
This implementation only supports SD Memory cards.<br />
<br />
=== Linux support ===<br />
Should be supported by the Linux USB Storage drivers (usb-storage).<br />
<br />
=== Models featuring this Technology ===<br />
* [[ThinkPad Advanced Dock]]<br />
<br />
[[Category:Components]]</div>Jellyhttps://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&diff=23209How to control fan speed2006-07-16T14:02:47Z<p>Jelly: /* Supported models */</p>
<hr />
<div>This page discusses methods for controlling the system fan.<br />
<br />
==For Linux==<br />
===Using a patched kernel===<br />
<br />
The [[Patch for controlling fan speed]] provides a convenient interface via {{path|/proc/acpi/ibm/fan}}.<br />
<br />
Manual speed control can be done through the [[patch for controlling fan speed]]:<br />
<br />
'''#cat /proc/acpi/ibm/fan'''<br />
status: enabled<br />
level: auto<br />
speed: 4219<br />
commands: enable, disable, level <level><br />
(<level> is 0-7, auto or disengaged)<br />
<br />
'''#echo level 2 > /proc/acpi/ibm/fan'''<br />
<br />
'''#cat /proc/acpi/ibm/fan'''<br />
status: enabled<br />
level: 2<br />
speed: 3142<br />
commands: enable, disable, level <level><br />
(<level> is 0-7, auto or disengaged)<br />
<br />
===Using a stock kernel===<br />
<br />
If you have the [[ibm-acpi]] module loaded with <tt>experimental=1</tt>, you can control the fan without patching the kernel by directly writing to the relevant embedded controller register using {{path|/proc/acpi/ibm/ecdump}}. <br />
<br />
For example:<br />
<br />
{{cmdroot|echo 0x2F 0x00 > /proc/acpi/ibm/ecdump}} (fan off)<br />
<br />
{{cmdroot|echo 0x2F 0x02 > /proc/acpi/ibm/ecdump}} (low speed)<br />
<br />
{{cmdroot|echo 0x2F 0x04 > /proc/acpi/ibm/ecdump}} (medium speed)<br />
<br />
{{cmdroot|echo 0x2F 0x07 > /proc/acpi/ibm/ecdump}} (maximum speed)<br />
<br />
{{cmdroot|echo 0x2F 0x80 > /proc/acpi/ibm/ecdump}} (automatic - default)<br />
<br />
{{cmdroot|echo 0x2F 0x40 > /proc/acpi/ibm/ecdump}} (disengaged)<br />
<br />
Ssee the specifications below for the meaning of these modes.<br />
<br />
===On/off control using stock kernel===<br />
<br />
If you only wish to turn the fan on and off (with automatic control when it's on), you can use the following.<br />
<br />
When loading [[ibm-acpi]] v0.11 with experimental switch ({{cmdroot|1=modprobe ibm_acpi experimental=1}}), it is possible to read and write the status of fan:<br />
<br />
'''#cat /proc/acpi/ibm/fan'''<br />
status: enabled<br />
speed: 3580<br />
commands: enable, disable<br />
<br />
'''#echo disable > /proc/acpi/ibm/fan'''<br />
<br />
'''cat /proc/acpi/ibm/fan'''<br />
status: disabled<br />
speed: 0<br />
commands: enable, disable<br />
<br />
When off, the fan will then '''never''' wake up. It is advised to use an automated control script to reduce the chance of hardware damage.<br />
<br />
===Automated control scripts===<br />
<br />
An [[ACPI fan control script#Variable speed control scripts|ACPI fan control script]] can be to override the firmware's fan algorithm with gentler, quieter version. It monitors the laptop's [[thermal sensors]] and sets the fan speed accordingly, according to customizable thresholds. For the default behavior, simply save the [[ACPI fan control script#Variable speed control scripts|script]] as {{path|tp-fancontrol}} and run<br /><br />
{{cmdroot|./tp-fancontrol}}<br />
<br />
==For Windows==<br />
<br />
Shimodax's ThinkPad fan control tool offers similar functionality (see [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com). Source and binaries are available through the [http://sourceforge.net/projects/tp4xfancontrol "Tp4xFanControl"] project on SourceForge.<br />
<br />
==Hardware specs==<br />
<br />
The patch relies on the following hardware behavior, which was discovered experimentally by [[User:Thinker|Thinker]] and neither provided by nor confirmed by IBM/Lenovo. The following description may be inaccurate and may vary by model (see list of models above). The terminology probably does not match the one used by IBM/Lenovo engineers.<br />
<br />
ACPI DSDT register _SB.PCI0.LPC.EC.HFSP (8 bits, offset 0x2F in the <tt>EmbeddedController</tt> address space, accessed through the standard EC interface at IO ports 0x62 and 0x66) is read/writable and has the following meaning:<br />
<br />
Bits 7 6 5 4 3 2 1 0<br />
---------------<br />
Value 1 0 * * * * * * - automatic<br />
* 1 * * * * * * - disengaged<br />
0 0 N N N N N N - manual (0..63; 0=disable fan, 1=min, ..., 7=max)<br />
<br />
In ''automatic'' mode, the embedded controller sets the fan speed automatically according to system temperatures and some unknown algorithm.<br />
<br />
In ''manual'' mode, the fan level is forced to the given value and the EC will auto-regulate the fan to maintain at a (roughly) constant RPM, which is model-dependent. Manual speed levels 8-63 yield the same behavior as level 7, and the the ACPI DSDT uses level 7 for the emergency mode it enters upon critical CPU/GPU temperature, so apparently 7 is the real maximum level.<br />
<br />
In ''disengaged'' mode, the embedded controller does not read the fan RPM (hence <tt>EmbeddedController</tt> offset 0x84 is not updated), and does not maintain a stable fan speed. When disengaged mode is entered the fan speed is not immediately changed (except if the fan was disabed, in which case it is turned on at a low level). However, once in disengaged mode, fan speed will slowly increase to ''beyond'' the maximum manual level (this may cause hardware damage!).<br />
<br />
After boot, the register may not reflect the true state of the EC (on some models it reads 0x07 even though the EC is actually in automatic mode).<br />
<br />
{{HINT|Apparently the [[Problem with fan noise|pulsing fan noise]] experienced by some users can be cured by repeatedly running 2-4 seconds of manual control followed by 0.5-1 seconds of disengaged mode. The pulse occurs when the the embedded controller computes the fan speed and adjusts the fan voltage adaptively every few seconds (~4.8sec for the ThinkPad T43); the aforementioned mode switching doesn't give it a chance to do so. One of the [[ACPI fan control script#Variable speed control scripts|ACPI fan control scripts]] implements this solution.}}<br />
<br />
==Supported models==<br />
<br />
The above was successfully tested on the following models:<br />
<br />
* ThinkPad {{T43}}, {{T43p}} (fan levels RPM: 1-2 = ~3300, 3-5 = ~4100, 6-7 = ~4700; disengaged mode works)<br />
* ThinkPad {{T42}}, {{T42p}} (fan levels RPM: 1-2 = ~2900, 3-5 = ~3700, 6-7 = ~4700)<br />
* ThinkPad {{T41}}, {{T41p}} (fan levels RPM: 1-2 = ~2980, 3-5 = ~3500, 6-7 = ~4050; disengaged mode works at ~5100)<br />
* ThinkPad {{T40}} (fan levels RPM: 1-2 = ~2950, 3-5 = ~3600, 6-7 = ~4050)<br />
* ThinkPad {{T30}}<br />
* ThinkPad {{T22}}<br />
* ThinkPad {{T23}}<br />
* ThinkPad {{R52}}<br />
* ThinkPad {{R50}} (highest manual level is 3; disengage mode works and reaches much higher RPM)<br />
* ThinkPad {{R50p}} (disengaged mode works at ~5100)<br />
* ThinkPad {{R51}} (level 0 = off, level 1-2 = ~3160, level 3-5 = ~3380, level 6 = ~3760, disengaged > 5200, sounds afoul)<br />
* ThinkPad {{X41T}}<br />
* ThinkPad {{X31}}<br />
* ThinkPad {{Z60t}} (fan levels RPM: 1-2 = ~1700, 3-5 = ~2800, 6-7 = ~3500)<br />
* ThinkPad {{Z60m}} (fan levels like Z60t)<br />
* ThinkPad {{X60}}<br />
Probably other models are supported too (please update this page if you confirm this).<br />
<br />
==Models using a different interface==<br />
<br />
The following models also work, use a different access method which supported (only) via the {{path|/proc/acpi/ibm/fan}} of [[ibm-acpi]]. No need for patching.<br />
<br />
* ThinkPad {{600E}}, {{600X}}, {{770E}}, {{770X}} (these use a different fan control interface)<br />
<br />
==Unsupported models==<br />
<br />
* ThinkPad {{560}} (these models don't have a fan)</div>Jellyhttps://www.thinkwiki.org/w/index.php?title=SD_Card_slot&diff=22414SD Card slot2006-05-23T01:30:21Z<p>Jelly: /* Linux support */</p>
<hr />
<div>{| width="100%"<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
The SD Card slot (Secure Digital) is found on select ThinkPads and Docking stations.<br />
<br />
In addition to SD Cards, SD Card slots can also accept the older MMC (MultiMedia Card).<br />
</div><br />
|}<br />
__NOTOC__<br />
* [[Wikipedia:Secure Digital card|Wikipedia article on SD Cards]]<br />
* [[Wikipedia:Multimedia Card|Wikipedia article on MMC Cards]]<br />
<br />
==PCI-based SD Card slot==<br />
This implementation is called "SD Card with IO support", and supports in addition to regular SD memory cards also special SDIO cards (e.g. Bluetooth, WiFi, etc).<br />
<br />
=== Linux support ===<br />
lspci reports it as a Ricoh device with PCI ID 1180:0822 (X Series, Z60m, Z60t), or 1180:0841 (Z Series).<br />
<br />
The [http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci sdhci project] has developed a driver that supports these and other SD controller chips. The driver has been reported to work on a ThinkPad {{X40}} and {{X41}} .<br />
<br />
=== Models featuring this Technology ===<br />
* ThinkPad {{X40}}, {{X41}}, {{X41T}}<br />
* ThinkPad {{X60}}, {{X60s}}<br />
* ThinkPad {{Z60m}}, {{Z60t}}<br />
<br />
==USB based SD Card slot==<br />
This implementation only supports SD Memory cards.<br />
<br />
=== Linux support ===<br />
Should be supported by the Linux USB Storage drivers (usb-storage).<br />
<br />
=== Models featuring this Technology ===<br />
* [[ThinkPad Advanced Dock]]<br />
<br />
[[Category:Components]]</div>Jellyhttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(14_pins)&diff=22413Bluetooth Daughter Card (14 pins)2006-05-23T00:42:16Z<p>Jelly: /* Linux driver */</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<br />
|style="vertical-align:top" |[[Image:Logo_bluetooth.jpg|Bluetooth Logo]]<br />
|style="vertical-align:top" |<br />
<div style="margin:0px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
=== ThinkPad Bluetooth with Enhanced Data Rate (BDC-2) ===<br />
This is a USB Bluetooth Adapter that is installed in a [[CDC slot]] in the screen assembly.<br />
=== Features ===<br />
* Chipset: ?<br />
* USB ID: ?<br />
</div><br />
|}<br />
=== IBM Partnumbers ===<br />
IBM FRU PN: 39T0497<br />
<br />
=== Linux driver ===<br />
<br />
One can enable Bluetooth by pressing Fn-F5, or running this command:<br />
<br />
echo "enable" > /proc/acpi/ibm/bluetooth<br />
<br />
(Tested with Mandriva 2006 on a ThinkPad z60m)<br />
<br />
=== ThinkPads this card may be found in ===<br />
* {{Z60m}}, {{Z60t}}<br />
<br />
===External Sources===<br />
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51427 IBMs page about configuring Bluetooth under Linux]<br />
<br />
<br />
[[Category:Components]]</div>Jellyhttps://www.thinkwiki.org/w/index.php?title=AD1981HD&diff=21062AD1981HD2006-03-23T16:58:46Z<p>Jelly: /* Linux ALSA driver */</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
=== AD1981HD ===<br />
This is a Analog Devices AC'97 Audio controller<br />
<br />
=== Features ===<br />
* Chipset: AD1981HD<br />
* Interface: AC'97<br />
</div><br />
|style="vertical-align:top" |<br />
|}<br />
<br />
=== Linux OSS driver ===<br />
??<br />
<br />
=== Linux ALSA driver ===<br />
This chip works with '''snd-hda-intel''' driver. Possible cracking noises can be avoided by adding the<br />
position_fix=2 optional argument for the module.<br />
<br />
=== ThinkPads this chip may be found in ===<br />
* {{T60}}, {{T60p}}<br />
* {{X60}}, {{X60s}}<br />
* {{Z60m}}, {{Z60t}}<br />
<br />
[[Category:Components]]</div>Jelly