https://www.thinkwiki.org/w/api.php?action=feedcontributions&user=Bugmenot&feedformat=atomThinkWiki - User contributions [en]2024-03-29T15:20:11ZUser contributionsMediaWiki 1.31.12https://www.thinkwiki.org/w/index.php?title=Old_ThinkPad_Niches&diff=59678Old ThinkPad Niches2020-02-20T20:05:54Z<p>Bugmenot: </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 />
|}<br />
<br />
===Overview===<br />
This page gives an overview of some old, but useful features or traits that were only available in the older models. The models listed below are the latest models to contain a certain feature/trait that some might see as desirable or useful enough to warrant a trade-off in performance or security.<br />
<br />
====Models with a 4:3 display panel====<br />
*{{T61}}, {{T61p}}, {{X61}}, {{X61s}}, {{X61 Tablet}}, {{R61}}, {{R61i}}<br />
<br />
====Models with a 16:10 display panel====<br />
*{{W701}}, {{W701ds}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201si}}, {{X201 Tablet}}, {{X201i Tablet}}<br />
<br />
====Models with a 6-row non-chiclet keyboard====<br />
*{{SL Series}}, {{L410}}, {{L412}}, {{L420}}, {{L421}}, {{L510}}, {{L512}}, {{L520}}<br />
<br />
====Models with a 7-row non-chiclet keyboard====<br />
*{{W520}}, {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T520}}, {{T520i}}, {{X220}}, {{X220i}}, {{X220 Tablet}}, {{X220i Tablet}}, {{ThinkPad 25}}<br />
<br />
====Models with a 7-row non-chiclet keyboard without the vertically elongated Escape and Delete key====<br />
*{{W701}}, {{W701ds}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201si}}, {{X201 Tablet}}, {{X201i Tablet}}<br />
<br />
====Models with a 7-row non-chiclet keyboard without the [[Windows Keys]] and the vertically elongated Escape+Delete key====<br />
*{{T43}}, {{T43p}}, {{X41}}, {{X41 Tablet}}, {{R52}}, {{G50}}<br />
<br />
====Models with a [[TrackPoint]] but without the [[UltraNav]]====<br />
*{{X201}}, {{X201i}}, {{X201s}}, {{X201si}}<br />
<br />
====Models with a [[ThinkLight]]====<br />
*{{W530}}, {{T430}}, {{T430i}}, {{T430s}}, {{T430si}}, {{T530}}, {{T530i}}, {{X230}}, {{X230i}}<br />
<br />
====Models with a headphone port and a microphone port====<br />
*{{W701}}, {{W701ds}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201si}}, {{X201 Tablet}}, {{X201i Tablet}}<br />
<br />
====Models with a stereo-line in port====<br />
*{{X32}}<br />
<br />
====Models with a working stereo mix function====<br />
*{{T60}}, {{T60p}}, {{R60}}, {{R60e}}, {{R60i}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{G50}}, {{Z61t}}, {{Z61e}}, {{Z61m}}, {{Z61p}}<br />
<br />
====Models with an [[UltraPort]]====<br />
*{{A31p}}, {{T23}}, {{X24}}<br />
<br />
====Models with an [[Ultrabay]]====<br />
*{{P71}}, {{P70}}, {{W540}}, {{W541}}, {{T440p}}, {{T540p}}, {{L570}}<br />
<br />
====Models with an RJ-11 modem port====<br />
*{{W520}}, {{T520}}, {{T520i}}, {{T420}}, {{T420i}}<br />
<br />
====Models with a [[Serial Port]]====<br />
*{{A31}}, {{A31p}}, {{T30}}, {{T60}}{{footnote|1}}, {{T60p}}{{footnote|1}}, {{T61}}{{footnote|1}}, {{T61p}}{{footnote|1}}<br />
<br />
====Models with a [[Parallel Port]]====<br />
*{{T43}}, {{T43p}}, {{T60}}{{footnote|1}}, {{T60p}}{{footnote|1}}, {{T61}}{{footnote|1}}, {{T61p}}{{footnote|1}}, {{R52}}, {{G50}}<br />
<br />
====Models with a [[PS/2 Port]]====<br />
*{{G50}}<br />
<br />
====Models with a [[VGA Port]]====<br />
*{{L470}}, {{L570}}, {{E570}}<br />
<br />
====Models with a [[DVI Port|dual-link DVI-D port]]====<br />
*{{W701}}, {{W701ds}}, {{W700}}, {{W700ds}}<br />
<br />
====Models with a [[Firewire Port]]====<br />
*{{W530}}, {{T530}}, {{T530i}}<br />
<br />
====Models with an [[ESATA Port|eSATAp port]]====<br />
*{{W520}}, {{T420}}, {{T420i}}, {{T520}}, {{T520i}}, {{L420}}, {{L421}}, {{L520}}<br />
<br />
====Models with a [[PCMCIA slot]]====<br />
*{{230Cs}}, {{385D}}, {{385ED}}, {{560}}, {{560E}}, {{760L}}, {{760LD}}, {{860}}<br />
<br />
====Models with a [[CardBus slot]]====<br />
*{{W500}}, {{W700}}, {{W700ds}}, {{T400}}, {{T500}}, {{R400}}, {{R500}}<br />
<br />
====Models with an [[ExpressCard slot]]====<br />
*{{W540}}, {{W541}}, {{T440p}}, {{T540p}}, {{L440}}, {{L540}}<br />
<br />
====Models with [[Power Bridge]]====<br />
*{{P52s}}, {{T480}}, {{T580}}<br />
<br />
====Models without the Intel Management Engine====<br />
*{{T60}}, {{T60p}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{R60}}, {{R60e}}, {{R60i}}, {{G50}}, {{Z61t}}, {{Z61e}}, {{Z61m}}, {{Z61p}}<br />
<br />
====Models without the [[Embedded Security Subsystem]]====<br />
*{{A30}}, {{T22}}, {{X21}}, {{R51e}}, {{G41}}<br />
<br />
==External Sources==<br />
* [http://mail.matrix.de/pipermail/linux-thinkpad/2014-August/052178.html Mailing list discussion]<br />
<br />
{{footnotes|<br />
#This model requires the [[Ultrabay Slim Serial/Parallel Port Adapter]].<br />
}}</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_slot&diff=59640Bluetooth Daughter Card slot2020-02-14T16:17:03Z<p>Bugmenot: /* Overview */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:BDCSLOT.png|192px]] __NOTOC__<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 />
=== Bluetooth Daughter Card slot ===<br />
The Bluetooth Daughter Card (BDC) slot is a proprietary slot replacing the [[CDC slot]] that was once used to provide Bluetooth as a secondary function. This slot can be found implemented on motherboards/display cables using the Hirose DF12B(3.0)-14DP-0.5V connector.<br />
</div><br />
|}<br />
=== Overview ===<br />
All BDCs will work on any ThinkPad that has this slot, as its pin-out has never changed throughout its lifetime. This is also one of the few expansion slots that is not crippled by a BIOS/UEFI whitelist.<br />
<br />
The BDC slot's pin-out can be seen here: [[File:BDCSLOT PINOUT.png|64px]] (click on the image to maximize it)<br />
<br />
==== BDCs ====<br />
* [[Bluetooth Daughter Card (BDC-2)]]<br />
* [[Bluetooth Daughter Card (BDC-2.1)]]<br />
* [[Bluetooth Daughter Card (BDC-3)]]<br />
* [[Bluetooth Daughter Card (BDC-4)]]<br />
<br />
== Models featuring this technology ==<br />
* {{W500}}, {{W510}}, {{W520}}, {{W530}}, {{W700}}, {{W700ds}}, {{W701}}, {{W701ds}}<br />
* {{T60}}, {{T60p}}, {{T61}}, {{T61p}}, {{T400}}, {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T430}}, {{T430i}}, {{T430s}}, {{T430si}}, {{T500}}, {{T510}}, {{T510i}}, {{T520}}, {{T520i}}, {{T530}}, {{T530i}}<br />
* {{X1}}, {{X1 Carbon}} {{X1 Hybrid}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}, {{X100e}}, {{X120e}}, {{X121e}}, {{X130e}}, {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201si}}, {{X201 Tablet}}, {{X201i Tablet}}, {{X220}}, {{X220i}}, {{X220 Tablet}}, {{X220i Tablet}}, {{X230}}, {{X230i}}, {{X230 Tablet}}, {{X230i Tablet}}, {{X300}}, {{X301}}<br />
* {{L410}}, {{L412}}, {{L420}}, {{L421}}, {{L430}}, {{L510}}, {{L512}}, {{L520}}, {{L530}}<br />
* {{SL Series}}<br />
* {{R60}}, {{R60i}}, {{R61}}, {{R61i}}, {{R400}}, {{R500}}<br />
* {{Z60t}}, {{Z61t}}, {{Z61m}}, {{Z61p}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:BDCSLOT_PINOUT.png&diff=59639File:BDCSLOT PINOUT.png2020-02-14T16:14:58Z<p>Bugmenot: Taken from the W520's schematic.</p>
<hr />
<div>Taken from the W520's schematic.</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(14_pins)&diff=59638Bluetooth Daughter Card (14 pins)2020-02-14T16:09:19Z<p>Bugmenot: Redirected page to Bluetooth Daughter Card slot</p>
<hr />
<div>#REDIRECT [[Bluetooth Daughter Card slot]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=BDC_slot&diff=59637BDC slot2020-02-14T16:07:11Z<p>Bugmenot: Redirected page to Bluetooth Daughter Card slot</p>
<hr />
<div>#REDIRECT [[Bluetooth Daughter Card slot]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_slot&diff=59636Bluetooth Daughter Card slot2020-02-14T16:05:55Z<p>Bugmenot: â†Created page with '{| width="100%" |style="vertical-align:top;padding-right:20px;width:10px;" | 192px __NOTOC__ |style="vertical-align:top" | <div style="margin: 0;...'</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:BDCSLOT.png|192px]] __NOTOC__<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 />
=== Bluetooth Daughter Card slot ===<br />
The Bluetooth Daughter Card (BDC) slot is a proprietary slot replacing the [[CDC slot]] that was once used to provide Bluetooth as a secondary function. This slot can be found implemented on motherboards/display cables using the Hirose DF12B(3.0)-14DP-0.5V connector.<br />
</div><br />
|}<br />
=== Overview ===<br />
All BDCs will work on any ThinkPad that has this slot, as its pin-out has never changed throughout its lifetime. This is also one of the few expansion slots that is not crippled by a BIOS/UEFI whitelist.<br />
<br />
==== BDCs ====<br />
* [[Bluetooth Daughter Card (BDC-2)]]<br />
* [[Bluetooth Daughter Card (BDC-2.1)]]<br />
* [[Bluetooth Daughter Card (BDC-3)]]<br />
* [[Bluetooth Daughter Card (BDC-4)]]<br />
<br />
== Models featuring this technology ==<br />
* {{W500}}, {{W510}}, {{W520}}, {{W530}}, {{W700}}, {{W700ds}}, {{W701}}, {{W701ds}}<br />
* {{T60}}, {{T60p}}, {{T61}}, {{T61p}}, {{T400}}, {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T430}}, {{T430i}}, {{T430s}}, {{T430si}}, {{T500}}, {{T510}}, {{T510i}}, {{T520}}, {{T520i}}, {{T530}}, {{T530i}}<br />
* {{X1}}, {{X1 Carbon}} {{X1 Hybrid}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}, {{X100e}}, {{X120e}}, {{X121e}}, {{X130e}}, {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201si}}, {{X201 Tablet}}, {{X201i Tablet}}, {{X220}}, {{X220i}}, {{X220 Tablet}}, {{X220i Tablet}}, {{X230}}, {{X230i}}, {{X230 Tablet}}, {{X230i Tablet}}, {{X300}}, {{X301}}<br />
* {{L410}}, {{L412}}, {{L420}}, {{L421}}, {{L430}}, {{L510}}, {{L512}}, {{L520}}, {{L530}}<br />
* {{SL Series}}<br />
* {{R60}}, {{R60i}}, {{R61}}, {{R61i}}, {{R400}}, {{R500}}<br />
* {{Z60t}}, {{Z61t}}, {{Z61m}}, {{Z61p}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:BDCSLOT.png&diff=59635File:BDCSLOT.png2020-02-14T15:49:32Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(BDC-4)&diff=59634Bluetooth Daughter Card (BDC-4)2020-02-14T14:50:35Z<p>Bugmenot: â†Created page with '__NOTOC__ {| width="100%" |style="vertical-align:top" | <div style="margin:0px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:rig...'</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<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 />
=== Bluetooth Daughter Card (BDC-4) ===<br />
This is a USB Bluetooth Adapter card that is installed in a [[Bluetooth Daughter Card slot]].<br />
<br />
=== Features ===<br />
* Chipset: Broadcom BCM20702 Bluetooth Controller<br />
* Speeds: 1.45/2.1/24 Mbps (Bluetooth 4.0)<br />
* USB ID: 0A5C:21E6<br />
</div><br />
|style="vertical-align:top" | [[Image:FRU39T0497.jpg|192px]]<br />
|}<br />
<br />
=== Part numbers ===<br />
==== LiteOn ====<br />
* 60Y3305<br />
==== Foxconn ====<br />
* 60Y3303, 04W3824<br />
<br />
=== Linux support ===<br />
This card will work with the standard Linux Bluetooth drivers.<br />
<br />
This device is implemented as a USB device, you might be able to enable or disable it by using Fn-F5.<br />
<br />
== This card may be found in ==<br />
* {{W530}}<br />
* {{T430}}, {{T430i}}, {{T430s}}, {{T430si}}, {{T530}}, {{T530i}}<br />
* {{X1 Carbon}}, {{X230}}, {{X230i}}, {{X230 Tablet}}, {{X230i Tablet}}<br />
* {{L430}}, {{L530}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(BDC-3)&diff=59633Bluetooth Daughter Card (BDC-3)2020-02-14T14:27:54Z<p>Bugmenot: /* Features */</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<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 />
=== Bluetooth Daughter Card (BDC-3) ===<br />
This is a USB Bluetooth Adapter card that is installed in a [[Bluetooth Daughter Card slot]].<br />
<br />
=== Features ===<br />
* Chipset: Broadcom BCM2070 Bluetooth Controller<br />
* Speeds: 1.45/2.1 Mbps (Bluetooth 3.0 without High Speed)<br />
* USB ID: 0A5C:217F<br />
</div><br />
|style="vertical-align:top" | [[Image:FRU39T0497.jpg|192px]]<br />
|}<br />
<br />
=== Part numbers ===<br />
* 60Y3271, 60Y3275<br />
<br />
=== Linux support ===<br />
This card will work with the standard Linux Bluetooth drivers.<br />
<br />
This device is implemented as a USB device, you might be able to enable or disable it by using Fn-F5.<br />
<br />
== This card may be found in ==<br />
* {{W520}}<br />
* {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T520}}, {{T520i}}<br />
* {{X1}}, {{X1 Hybrid}}, {{X121e}}, {{X130e}}, {{X220}}, {{X220i}}, {{X220 Tablet}}, {{X220i Tablet}}<br />
* {{L420}}, {{L421}}, {{L520}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(BDC-3)&diff=59632Bluetooth Daughter Card (BDC-3)2020-02-14T14:27:08Z<p>Bugmenot: </p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<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 />
=== Bluetooth Daughter Card (BDC-3) ===<br />
This is a USB Bluetooth Adapter card that is installed in a [[Bluetooth Daughter Card slot]].<br />
<br />
=== Features ===<br />
* Chipset: Broadcom BCM2070MD Bluetooth Controller<br />
* Speeds: 1.45/2.1 Mbps (Bluetooth 3.0 without High Speed)<br />
* USB ID: 0A5C:217F<br />
</div><br />
|style="vertical-align:top" | [[Image:FRU39T0497.jpg|192px]]<br />
|}<br />
=== Part numbers ===<br />
* 60Y3271, 60Y3275<br />
<br />
=== Linux support ===<br />
This card will work with the standard Linux Bluetooth drivers.<br />
<br />
This device is implemented as a USB device, you might be able to enable or disable it by using Fn-F5.<br />
<br />
== This card may be found in ==<br />
* {{W520}}<br />
* {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T520}}, {{T520i}}<br />
* {{X1}}, {{X1 Hybrid}}, {{X121e}}, {{X130e}}, {{X220}}, {{X220i}}, {{X220 Tablet}}, {{X220i Tablet}}<br />
* {{L420}}, {{L421}}, {{L520}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(BDC-3)&diff=59631Bluetooth Daughter Card (BDC-3)2020-02-14T14:20:05Z<p>Bugmenot: â†Created page with '__NOTOC__ {| width="100%" |style="vertical-align:top" | <div style="margin:0px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:rig...'</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<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 />
=== Bluetooth Daughter Card (BDC-3) ===<br />
This is a USB Bluetooth Adapter card that is installed in a [[Bluetooth Daughter Card slot]].<br />
<br />
=== Features ===<br />
* Chipset: Broadcom BCM92070MD Bluetooth Controller<br />
* Speeds: 1.45/2.1 Mbps (Bluetooth 3.0 without High Speed)<br />
* USB ID: 0A5C:217F<br />
</div><br />
|style="vertical-align:top" | [[Image:FRU39T0497.jpg|192px]]<br />
|}<br />
=== Part numbers ===<br />
* 60Y3271, 60Y3275<br />
<br />
=== Linux support ===<br />
This card will work with the standard Linux Bluetooth drivers.<br />
<br />
This device is implemented as a USB device, you might be able to enable or disable it by using Fn-F5.<br />
<br />
== This card may be found in ==<br />
* {{W520}}<br />
* {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T520}}, {{T520i}}<br />
* {{X1}}, {{X1 Hybrid}}, {{X121e}}, {{X130e}}, {{X220}}, {{X220i}}, {{X220 Tablet}}, {{X220i Tablet}}<br />
* {{L420}}, {{L421}}, {{L520}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(BDC-2.1)&diff=59630Bluetooth Daughter Card (BDC-2.1)2020-02-14T13:56:59Z<p>Bugmenot: â†Created page with '__NOTOC__ {| width="100%" |style="vertical-align:top" | <div style="margin:0px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:rig...'</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<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 />
=== Bluetooth Daughter Card (BDC-2.1) ===<br />
This is a USB Bluetooth Adapter card that is installed in a [[Bluetooth Daughter Card slot]].<br />
<br />
=== Features ===<br />
* Chipset: Broadcom BCM92046MD or BCM92070MD Bluetooth Controller<br />
* Speeds: 1.45/2.1 Mbps (Bluetooth 2.1 with Enhanced Data Rate)<br />
* USB ID: 0A5C:2145 or 0A5C:217F<br />
</div><br />
|style="vertical-align:top" | [[Image:FRU39T0497.jpg|192px]]<br />
|}<br />
=== Part numbers ===<br />
==== BCM92070MD ====<br />
* 60Y3199, 60Y3211, 60Y3213, 60Y3215<br />
==== BCM92046MD ====<br />
* 42T0969, 43Y6481, 44C9696<br />
<br />
=== Linux support ===<br />
This card will work with the standard Linux Bluetooth drivers.<br />
<br />
This device is implemented as a USB device, you might be able to enable or disable it by using Fn-F5.<br />
<br />
== This card may be found in ==<br />
* {{W500}}, {{W510}}, {{W700}}, {{W700ds}}, {{W701}}, {{W701ds}}<br />
* {{T400}}, {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T500}}, {{T510}}, {{T510i}}<br />
* {{X100e}}, {{X120e}}, {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201si}}, {{X201 Tablet}}, {{X201i Tablet}}, {{X301}}<br />
* {{L410}}, {{L412}}, {{L510}}, {{L512}}<br />
* {{SL Series}}<br />
* {{R400}}, {{R500}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(BDC-2)&diff=59629Bluetooth Daughter Card (BDC-2)2020-02-14T12:39:06Z<p>Bugmenot: â†Created page with '__NOTOC__ {| width="100%" |style="vertical-align:top" | <div style="margin:0px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:rig...'</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<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 />
=== Bluetooth Daughter Card (BDC-2) ===<br />
This is a USB Bluetooth Adapter card that is installed in a [[Bluetooth Daughter Card slot]].<br />
<br />
=== Features ===<br />
* Chipset: Broadcom BCM2045B Bluetooth Controller<br />
* Speeds: 1.45/2.1 Mbps (Bluetooth 2.0 with Enhanced Data Rate)<br />
* USB ID: 0A5C:2110<br />
</div><br />
|style="vertical-align:top" | [[Image:FRU39T0497.jpg|192px]]<br />
|}<br />
=== Part numbers ===<br />
* 39T0497<br />
<br />
=== Linux support ===<br />
This card will work with the standard Linux Bluetooth drivers.<br />
<br />
This device is implemented as a USB device, you might be able to enable or disable it by using Fn-F5.<br />
<br />
== This card may be found in ==<br />
* {{T60}}, {{T60p}}, {{T61}}, {{T61p}}<br />
* {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}, {{X300}}<br />
* {{R60}}, {{R60i}}, {{R61}}, {{R61i}}<br />
* {{Z60t}}, {{Z61t}}, {{Z61m}}, {{Z61p}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=CDC_slot&diff=59628CDC slot2020-02-14T12:12:51Z<p>Bugmenot: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:AC97CDCSlot.png|128px]] [[Image:HDACDCSlot.png|128px]] __NOTOC__<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 />
=== CDC slot ===<br />
The Communications Daughter Card slot (CDC) in IBM literature or Modem Daughter Card slot (MDC) in Intel's standards, is the mobile version of the Audio/Modem Riser slot. There are two known implementations of this slot, featuring different connectors for different platforms.<br />
<br />
The Hirose DF12(5.0)-40DP-0.5V(86) connector is used on ThinkPads with an AC'97 audio codec, while the TE Connectivity 1-1775149-2 connector is used on ThinkPads with a HD Audio codec. Something worth to note is that all AC'97 ThinkPads with a CDC slot, do not adhere to Intel's MDC standard. This is due to how it uses a proprietary Hirose connector, instead of the specified TE Connectivity 3-179397-0 connector.<br />
{{footnotes|<br />
[http://en.wikipedia.org/wiki/Mobile_Daughter_Card Wikipedia article on the CDC slot]<br />
}}<br />
</div><br />
|}<br />
=== Overview ===<br />
Not all CDCs will work in compatible ThinkPads, even if they are using the same connector. This is due to a different electrical pin-out, which varies among ThinkPads. Some might even reject a pin-compatible CDC by displaying an 'Error 1803: Invalid Daughter Card' message.<br />
<br />
Note that all AC'97 CDCs are approximately 45 x 27 mm, and all HD Audio CDCs are approximately 34 x 26 mm.<br />
<br />
==== Ethernet CDCs ====<br />
* [[Ethernet Daughter Card (EDC)]]<br />
<br />
==== Bluetooth CDCs ====<br />
* [[Bluetooth Daughter Card (BDC)]]<br />
<br />
==== Modem CDCs ====<br />
* [[Modem Daughter Card (MDC)]]<br />
* [[IBM Integrated 56K Modem (MDC-2)]]<br />
* [[ThinkPad 56K Modem (MDC-1.5)]]<br />
* [[ThinkPad Modem (MDC-3.0, 56kbps HDA)]]<br />
<br />
==== Modem and Bluetooth Combination CDCs ====<br />
* [[IBM Integrated Bluetooth II with 56K Modem (BMDC)]]<br />
* [[IBM Integrated Bluetooth III with 56K Modem (BMDC-2)]]<br />
* [[IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)]]<br />
<br />
== Models featuring this technology ==<br />
=== with an AC'97 CDC slot ===<br />
*{{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}<br />
*{{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41 Tablet}}<br />
*{{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R51e}}, {{R52}}<br />
*{{G40}}, {{G41}}<br />
*{{S30}}, {{S31}}<br />
<br />
=== with two AC'97 CDC slots ===<br />
*{{A30}}, {{A30p}}, {{A31}}, {{A31p}}<br />
<br />
=== with a HD Audio CDC slot ===<br />
*{{W500}}<br />
*{{T60}}, {{T60p}}, {{T61}}, {{T61p}}, {{T400}}, {{T410}}, {{T410i}}, {{T500}}<br />
*{{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}<br />
*{{R60}}, {{R60i}}, {{R60e}}, {{R61}}, {{R61i}}, {{R400}}<br />
*{{G50}}<br />
*{{Z Series}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(14_pins)&diff=59422Bluetooth Daughter Card (14 pins)2019-12-19T14:03:24Z<p>Bugmenot: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:FRU39T0497.jpg|192px]] __NOTOC__<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 />
The 14 pin Bluetooth Daughter Cards (BDC) are USB Bluetooth Adapters that are installed in a proprietary BDC socket (a Hirose DF12B(3.0)-14DP-0.5V). The antenna is printed on the PCB. The location varies by model (within the screen, under the palm rest area, etc.); refer to the Hardware Maintenance Manual for the location of the BDC.<br />
<br />
Very likely, '''all 14-pin-BDCs can be interchanged, allowing newer Bluetooth adapters to be installed in older ThinkPads.''' The Bluetooth 4.0 module, for example, works in an ThinkPad X200, even though it didn’t even exist at the time the X200 was released.<br />
</div><br />
|}<br />
=== Overview ===<br />
When Bluetooth is enabled, the Bluetooth-logo LED will light up and executing {{cmdroot|lsusb}} will show an entry mentioning "Broadcom".<br />
<br />
On recent ThinkPads the Wireless killswitch disables both WiFi and Bluetooth (verified on a ThinkPad Z60m, Z61t, T60, T61 and X61).<br />
<br />
Pin-out:<br />
{| class="wikitable" border="1"<br />
|-<br />
! Pin<br />
! Guessed description<br />
|-<br />
| 7, 11, 13, 14<br />
| Unconnected<br />
|-<br />
| 10, 12, 15, 16<br />
| Ground<br />
|-<br />
| 4<br />
| Voltage, unknown amount<br />
|-<br />
| 1<br />
| Bluetooth presence signal<br />
|-<br />
| 2<br />
| Bluetooth busy signal<br />
|-<br />
| 3<br />
| WiFi busy signal<br />
|-<br />
| 5<br />
| Bluetooth power-on switch<br />
|-<br />
| 6<br />
| USB data+<br />
|-<br />
| 8<br />
| USB data-<br />
|-<br />
| 9<br />
| Bluetooth LED 'in' signal<br />
|}<br />
<br />
===Bluetooth 2.0 with Enhanced Data Rate (EDR)===<br />
* Broadcom BCM2045B<br />
* USB id 0A5C:2110<br />
* FRU PN: 39T0497 ({{T60}}, {{T61}}, {{X60}}, {{X61}}, {{X300}})<br />
* {{Z60m}}, {{Z60t}}, {{Z61t}}<br />
* {{R60}}, {{R61}}<br />
* {{T60p}}, {{T61p}}<br />
* {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61s}}, {{X61 Tablet}}<br />
<br />
===Bluetooth 2.1 with EDR===<br />
* USB ids <br />
** 0A5C:2145<br />
** 0A5C:217F<br />
*** Broadcom BCM92070MD<br />
*** HCI/LMP version 2.1<br />
*** Firmware 104.66 / 3<br />
*** (information from hciconfig hciX features/version/revision)<br />
* FRU 42T0969, 60Y3211, 60Y3215 {{R400}}, {{R500}}, {{T400}}, {{T500}}, {{W500}}, {{W700}}, {{W700ds}}, {{X200}}, {{X200s}}, {{X201}}, {{X201s}}<br />
* FRU 44C9696 {{X200 Tablet}}, {{X201 Tablet}}<br />
* FRU 43Y6481 {{SL300}}, {{T400s}}, {{X301}}<br />
* FRU 60Y3199, 60Y3213 {{W701}}, {{W701ds}}, {{Edge 11"}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}<br />
* FRU 60Y3199 {{T510}}, {{T510i}}, {{W510}}, {{X100e}}<br />
* {{Edge 13"}}, {{Edge 14"}}, {{Edge 15"}}<br />
* {{L412}}, {{L512}}<br />
* {{SL400}}, {{SL500}}, {{SL500c}}, {{SL510}}<br />
* {{X220}}<br />
<br />
===Bluetooth 3.0===<br />
* {{E10}}, {{E30}}, {{E40}}, {{E50}}, {{E420}}, {{X1}}<br />
* FRU 60Y3271<br />
* FRU 60Y3275<br />
<br />
===Bluetooth 4.0===<br />
* FRU 60Y3303 Foxcon, 60Y3305 Liteon<br />
** {{T530}}, {{T540}}, {{E430}}, {{E431}}, {{E440}}, {{X230 Tablet}}, {{X230i}}, {{X230}}<br />
** tested also in {{X200}}<br />
* USB id 0A5C:21E6<br />
** Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]<br />
** tested also in {{T530}}<br />
<br />
==ThinkPads without BDC socket==<br />
Not every Bluetooth comes via 14 pin Bluetooth Daughter Card. The {{X130e}}, {{X140e}} and the {{X240}} for example use combined WiFi/Bluetooth mini-PCIe cards instead. Older devices use the [[CDC slot|Communication Daughter Card slot]] to provide Bluetooth.<br />
<br />
== See Also ==<br />
* [[How_to_setup_Bluetooth|How to Setup Bluetooth]]<br />
<br />
== External Sources ==<br />
*[http://www.broadcom.com/products/Bluetooth/Bluetooth-RF-Silicon-and-Software-Solutions/BCM2045 Broadcom BCM2045 Product]<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Modem_Daughter_Card_(MDC)&diff=59421Modem Daughter Card (MDC)2019-12-19T13:28:33Z<p>Bugmenot: </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 />
=== Modem Daughter Card (MDC) ===<br />
This is an AC'97 Modem Adapter that is installed in a [[CDC slot]].<br />
<br />
=== Features ===<br />
* Chipset: Ambit J07M058 Softmodem Controller<br />
* Speeds: 33.6/56 Kbps<br />
* PCI ID: Varies, depends on the AC'97 modem controller's PCI ID<br />
* Headers: One 2-pin connector<br />
</div><br />
|style="vertical-align:top" |<br />
|}<br />
=== IBM Partnumbers ===<br />
IBM FRU PN: 91P7657, 26P8477, 26P8256<br />
<br />
=== Also known (in IBM literature) as.... ===<br />
* CDC Modem Card<br />
* V.90 Modem Daughter Card (MDC)<br />
* Modem Card, Ambit<br />
* Ambit Modem Daughter Card<br />
<br />
=== Linux driver ===<br />
The Linux driver from [http://linmodems.technion.ac.il/packages/smartlink/ SmartLink] supports this device.<br><br />
Latest version of this driver is 2.9.11.<br />
<br />
The ALSA AC'97 modem driver ('''snd_intel8x0m''') should be used instead of the proprietary kernel module from SmartLink (see README ALSA mode), as it avoids tainting your kernel, and does not require a recompile each time you update your kernel version.<br />
<br />
For Debian there is a sl-modem-daemon deb.<br />
<br />
==== Fedora ====<br />
There is a slmodem rpm in the [http://rpmfusion.org RPM-Fusion] nonfree repository.<br />
Once you have installed the package, you need to edit {{Path|/etc/sysconfig/slmodem}} and set INTERFACE=alsa and ALSA_DEVICE=modem:1<br />
<br />
{{NOTE|If ALSA_DEVICE<nowiki>=</nowiki>modem:1 does not work, run {{cmd|cat /proc/asound/cards|}} and use the number before the Modem line}}<br />
<br />
In addition you can set the country for the correct recognition of dialling and busy tones, and to adhere to any local (possibly legal) requirements. If you do not set the country, it will default to USA.<br />
<br />
You can then start the service, and set it to autostart on boot<br />
service slmodem start<br />
chkconfig slmodem on<br />
<br />
After this you should have a /dev/ttySL0 device<br />
<br />
== This card may be found in ==<br />
* {{A30}}, {{A30p}}, {{A31}}, {{A31p}}<br />
* {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}<br />
* {{X30}}, {{X31}}<br />
* {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R40e}}, {{R50}}<br />
* {{G40}}, {{G41}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(BDC)&diff=59420Bluetooth Daughter Card (BDC)2019-12-18T16:37:43Z<p>Bugmenot: </p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<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 />
=== Bluetooth Daughter Card (BDC) ===<br />
This is a USB Bluetooth Adapter that is installed in a [[CDC slot]].<br />
<br />
=== Features ===<br />
* Chipset: TDK BDC01 Bluetooth 1.1 Controller<br />
* Speeds: 434/723 Kbps<br />
* USB ID: 04BF:0310<br />
* Headers: One 3-pin connector{{footnote|1}}, one Hirose U.FL connector<br />
{{footnotes|<br />
#This was likely used for debug purposes. For safety reasons, do not connect this to any available pin-compatible connector on your ThinkPad.<br />
}}<br />
</div><br />
|style="vertical-align:top" | [[Image:BluetoothDaughterCard.png|192px]]<br />
|}<br />
<br />
=== IBM Partnumbers ===<br />
IBM FRU PN: 12P3872, 26P8041, 26P8071<br />
<br />
=== Also known (in IBM literature) as.... ===<br />
* Bluetooth Daughter Card<br />
* Bluetooth Daughter Card board<br />
* BDC board<br />
<br />
=== Firmware ===<br />
A firmware update is available for this adapter from IBM.<br><br />
The updated firmware is version 310, and is available [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&lndocid=MIGR-44264 here]<br />
<br />
This firmware update can unfortunately only be applied from Windows.<BR><br />
In theory an update for Linux exists; the BTDFU update utility that can be found on the pages of Marcel Holtmann, the current Linux BlueZ stack maintainer, which can be found [http://www.holtmann.org/linux/bluetooth/dfu.html here]. You need to get the original IBM update file and extract the file with the extension "dfu" from it using cabextract. Using the btdfu tool and this file it should be possible to update the firmware. This procedure has not yet been confirmed.<br />
<br />
=== Linux driver ===<br />
This card will work with the standard Linux Bluetooth drivers.<br />
<br />
This device is implemented as a USB device, you might be able to enable or disable it by using Fn-F5.<br />
<br />
=== External Sources ===<br />
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51427 IBM's page about configuring Bluetooth under Linux]<br />
<br />
== This card may be found in ==<br />
* {{A30}}, {{A30p}}, {{A31}}, {{A31p}}<br />
* {{T30}}<br />
* {{X23}}, {{X24}}, {{X30}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:BluetoothDaughterCard.png&diff=59419File:BluetoothDaughterCard.png2019-12-18T16:24:01Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Ethernet_Daughter_Card_(EDC)&diff=59418Ethernet Daughter Card (EDC)2019-12-18T14:51:05Z<p>Bugmenot: </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 />
=== Ethernet Daughter Card (EDC) ===<br />
This is an Ethernet Adapter that is installed in a [[CDC slot]].<br />
=== Features ===<br />
* Chipset: Intel 82562ET Fast Ethernet Controller<br />
* Speeds: 10/100 Mbps<br />
* PCI ID: 8086:1031<br />
* Headers: One 14-pin connector<br />
</div><br />
|style="vertical-align:top" |<br />
[[image:EDC.JPG|EDC Ethernet Adapter|150px]]<br />
|}<br />
<br />
=== IBM Partnumbers ===<br />
IBM FRU PN: 26P8069, 26P8181, 91P7663<br />
<br />
=== Also known (in IBM literature) as.... ===<br />
* Ethernet Daughter Card (EDC)<br />
* Ethernet daughter card board<br />
* Ethernet daughter card (Ambit)<br />
* EDC board<br />
<br />
=== Linux driver ===<br />
This card will work with the standard '[[e100]]' Linux driver.<br />
<br />
=== This card may be found in ===<br />
* {{A30}}, {{A30p}}, {{A31}}, {{A31p}}<br />
* {{T23}}<br />
* {{X22}}, {{X23}}, {{X24}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Talk:CDC_slot&diff=59417Talk:CDC slot2019-12-18T14:39:31Z<p>Bugmenot: </p>
<hr />
<div>Is this a grab bag for any and all “daughter cards” in a ThinkPad? Some are just USB with a non-standard connector, like the camera. – At least they should be grouped by electrical compatibility. And then form factors.<br />
<br />
--[[User:Siemer|Siemer]] ([[User talk:Siemer|talk]]) 16:07, 11 April 2014 (UTC)<br />
<br />
No, this is a 'grab bag' for daughter cards adhering to the MDC standard provided by Intel.<br />
<br />
--[[User:Bugmenot|Bugmenot]] ([[User talk:Bugmenot|talk]]) 15:39, 18 December 2019 (CET)</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=CDC_slot&diff=59416CDC slot2019-12-18T14:35:36Z<p>Bugmenot: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:AC97CDCSlot.png|128px]] [[Image:HDACDCSlot.png|128px]] __NOTOC__<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 />
The Communications Daughter Card slot (CDC) in IBM literature or Modem Daughter Card slot (MDC) in Intel's standards, is the mobile version of the Audio/Modem Riser slot. There are two known implementations of this slot, featuring different connectors for different platforms.<br />
<br />
The Hirose DF12(5.0)-40DP-0.5V(86) connector is used on ThinkPads with an AC'97 audio codec, while the TE Connectivity 1-1775149-2 connector is used on ThinkPads with a HD Audio codec. These connectors may or may not be proprietary, although the Hirose connector is proprietary as it does not adhere to Intel's MDC standard, which specifies a TE Connectivity 3-179397-0 connector instead.<br />
<br />
[http://en.wikipedia.org/wiki/Mobile_Daughter_Card Wikipedia article on CDC]<br />
</div><br />
|}<br />
=== Overview ===<br />
Not all CDCs will work in compatible ThinkPads, even if they are using the same connector. This is due to a different electrical pin-out, which varies among ThinkPads. Some might even reject a pin-compatible CDC by displaying an 'Error 1803: Invalid Daughter Card' message.<br />
<br />
Note that all AC'97 CDCs are 45 x 27 mm, and all HD Audio CDCs are 34 x 26 mm.<br />
<br />
=== CDCs ===<br />
==== Ethernet CDCs ====<br />
* [[Ethernet Daughter Card (EDC)]]<br />
==== Bluetooth CDCs ====<br />
* [[Bluetooth Daughter Card (BDC)]]<br />
==== Modem CDCs ====<br />
* [[Modem Daughter Card (MDC)]]<br />
* [[ThinkPad 56K Modem (MDC-1.5)]]<br />
* [[IBM Integrated 56K Modem (MDC-2)]]<br />
* [[ThinkPad Modem (MDC-3.0, 56kbps HDA)]]<br />
==== Combo Modem and Bluetooth CDCs ====<br />
* [[IBM Integrated Bluetooth II with 56K Modem (BMDC)]]<br />
* [[IBM Integrated Bluetooth III with 56K Modem (BMDC-2)]]<br />
* [[IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)]]<br />
<br />
== Models featuring this technology ==<br />
*{{W500}}<br />
*{{A30}}, {{A30p}}, {{A31}}, {{A31p}}<br />
*{{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}, {{T400}}, {{T500}}<br />
*{{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41T}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}<br />
*{{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R51e}}, {{R52}}, {{R60}}, {{R60i}}, {{R60e}}, {{R61}}, {{R61i}}<br />
*{{G Series}}<br />
*{{S30}}, {{S31}}<br />
*{{Z Series}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:HDACDCSlot.png&diff=59415File:HDACDCSlot.png2019-12-18T13:45:36Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:AC97CDCSlot.png&diff=59414File:AC97CDCSlot.png2019-12-18T13:45:21Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=MiniPCI_slot&diff=59413MiniPCI slot2019-12-18T13:41:05Z<p>Bugmenot: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:124PinMiniPCISlot.png|MiniPCI slot]] __NOTOC__<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 />
The MiniPCI slot is a miniaturized version of the PCI slot, generally implemented as a 124-pin connector. The other implementation uses a 100-pin connector, which is not used in any known ThinkPad. The 124-pin MiniPCI slot will accept any Type IIIA or IIIB card, but it will not accept any Type IA, IB, IIA, or IIB card as they are only meant for the 100-pin MiniPCI slot.<br />
<br />
Technically, the MiniPCI slot is a 32-bit only, 33 MHz, 3.3V PCI slot (also supports 5V operation according to the pin-outs). The PCI version depends on the I/O controller, but it can't be older than PCI version 2.2.<br />
<br />
[[Wikipedia:Mini PCI| Wikipedia article on Mini PCI]]<br />
</div><br />
|}<br />
=== MiniPCI Adapters ===<br />
{{NOTE|Typically only select MiniPCI adapters can be installed, which are on a BIOS whitelist. Installing an unsupported card in a ThinkPad will result in BIOS error 1802 with the instructions to remove the card. See [[Problem with unauthorized MiniPCI network card]] for more info and solutions.}}<br />
'''Modem cards'''<br />
* [[Mini-PCI Modem card]]<br />
'''Ethernet cards'''<br />
* [[Mini-PCI Ethernet card]]<br />
'''Combo Ethernet and Modem cards'''<br />
* [[3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]<br />
* [[Intel 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]<br />
* [[Intel PRO/100 SP Mobile Combo Adapter]]<br />
* [[Xircom 10/100 EtherJet Mini PCI Adapter with 56K Modem]]<br />
'''Combo WiFi and Modem cards'''<br />
* [[IBM High Rate Wireless LAN Mini-PCI Adapter with Modem]]<br />
* [[IBM High Rate Wireless LAN Mini-PCI Adapter with Modem II]]<br />
'''WiFi cards'''<br />
* [[IBM High Rate Wireless LAN Mini-PCI Adapter III]]<br />
* [[Cisco Aironet Wireless 802.11b]]<br />
* [[IBM Dual-Band 11a/b Wi-Fi Wireless Mini PCI Adapter]]<br />
* [[IBM 11b/g Wireless LAN Mini PCI Adapter]]<br />
* [[IBM 11a/b/g Wireless LAN Mini PCI Adapter]]<br />
* [[IBM 11a/b/g Wireless LAN Mini PCI Adapter II]]<br />
* [[Intel PRO/Wireless LAN 2100 3B Mini PCI Adapter]]<br />
* [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]]<br />
* [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]]<br />
<br />
=== Linux support ===<br />
MiniPCI adapters are seen as regular PCI devices, and handled by the Linux PCI subsystem.<br />
<br />
=== Models featuring this technology ===<br />
*{{i1124}}, {{i1157}}<br />
*{{i1300}}, {{i1330}}, {{i1370}}<br />
*{{i1420}}, {{i1421}}, {{i1422}}, {{i1441}}, {{i1442}}, {{i1460}}, {{i1480}}, {{i1483}}, {{i1492}}<br />
*{{i1540}}, {{i1541}}, {{i1542}}, {{i1560}}, {{i1562}}, {{i1592}}<br />
*{{i1620}}<br />
*{{i1720}}, {{i1721}}<br />
*{{i1800}}<br />
*{{130}}<br />
*{{240}}, {{240X}}, {{240Z}}<br />
*{{390E}}, {{390X}}<br />
*{{570}}, {{570E}}<br />
*{{600X}}<br />
*{{A Series}}<br />
*{{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}<br />
*{{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41 Tablet}}<br />
*{{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R51e}}, {{R52}}<br />
*{{G40}}, {{G41}}<br />
*{{S30}}, {{S31}}<br />
*{{Z60m}}<br />
*{{TransNote}}<br />
<br />
[[Category:Components]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:124PinMiniPCISlot.png&diff=59412File:124PinMiniPCISlot.png2019-12-18T13:21:12Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Firewire_Port&diff=59411Firewire Port2019-12-18T12:18:07Z<p>Bugmenot: </p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:4PinFireWirePort.png|128px|IEEE1394a-2000 4-pin FireWire Port]]<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 />
{{NOTE|4-pin FireWire 400 connectors do not provide power, so FireWire 400 devices must have their own power supply.}}<br />
Some ThinkPads have a 4-pin IEEE 1394a-2000 port. IEEE 1394a-2000/1394-1995 is most commonly referred to as FireWire 400.<br />
<br />
[[Wikipedia:IEEE 1394 interface| Wikipedia article on IEEE 1394]]<br />
</div><br />
|}<br />
==Models featuring this technology==<br />
* {{W500}}, {{W510}}, {{W520}}, {{W530}}, {{W700}}, {{W700ds}}, {{W701}}, {{W701ds}}<br />
* {{A30p}}, {{A31p}}<br />
* {{T61}}, {{T61p}}, {{T400}}, {{T410}}, {{T410i}}, {{T420}}, {{T420i}}, {{T500}}, {{T510}}, {{T510i}}, {{T520}}, {{T520i}}, {{T530}}, {{T530i}}<br />
* {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}<br />
* {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R50}}, {{R50p}}, {{R51}}, {{R52}}, {{R60}}, {{R60i}}, {{R61}}, {{R61i}}, {{R400}}, {{R500}}<br />
* {{S30}}, {{S31}}<br />
* {{SL300}}, {{SL400}}, {{SL400c}}, {{SL500}}, {{SL500c}}<br />
* {{Z Series}}</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:4PinFireWirePort.png&diff=59410File:4PinFireWirePort.png2019-12-18T12:10:13Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Model_suffixes&diff=59409Model suffixes2019-12-17T14:16:33Z<p>Bugmenot: </p>
<hr />
<div>{{NOTE|The pre-2000 model suffixes' meanings may vary, depending on their generation. Due to that problem, some or most of the information here are not exactly accurate.}}<br />
This page gives an overview of the model suffixes that indicate variants of the main model.<br />
<br />
== Post-2000 models ==<br />
'''m:''' Mainstream. This suffix is confusingly taped onto models that are the same as a standard model without a suffix; only the Z series has a clear distinction with its use of this suffix. In the Z series models, it indicates that the model has a 15.4-inch display panel. As for the A series models, it has no clear distinction other than being a mainstream variant.<br />
<br />
'''p:''' Professional. These variants are generally configured with denser display panels, faster graphics controllers, faster processors, and faster/denser storage drives. They also tend to sacrifice battery life for better overall performance.<br />
<br />
'''s:''' Slim. These variants are generally configured with low power processors, thinner battery packs, and mostly slower graphics controllers. They often sacrifice upgradability and performance to reduce their housing case's height and weight, but sometimes that is not always the case.<br />
<br />
'''u:''' Ultrabook. These variants comply to Intel's Ultrabook specifications, and are generally configured with ultra-low power processors. They always sacrifice performance to attain better battery life. This suffix is not to be confused with the other 'u', which was used on the T61u and the R61u as a identifier for models sold to educational institutions.<br />
<br />
'''e:''' Economy. These variants are generally configured with slower processors, slower graphics controllers, and slower storage drives. They often lack basic features, such as a docking port or an UltraNav for later models.<br />
<br />
'''i:''' Introductory. These variants are generally configured with slower processors, slower graphics controllers, and slower storage drives. They are slightly better than an 'e' variant, as they include basic features and can be sometimes configured with faster hardware.<br />
<br />
'''t:''' Thin. These variants are exclusive to the Z series, and they indicate that the model has a 14.1-inch display panel.<br />
<br />
'''c:''' Camera. These variants are exclusive to the SL series, and they indicate that the model does not have a camera.<br />
<br />
'''ds:''' Dual-Screen. These variants are exclusive to the W series, and they indicate that the model has a secondary pull-out display panel.<br />
<br />
=== Suffixes that are not on the model's name, but were stated in a hardware announcement ===<br />
'''u:''' ??? These variants are exclusive to the T and R series, and they indicate that the model was a educational-specific configuration.<br />
<br />
'''k:''' ??? These variants are exclusive to the SL series, and they indicate that the model was a Greater China Group-specific (GCG) configuration.<br />
<br />
== Pre-2000 models ==<br />
Suffixes on older models vary considerably and do not follow a regular pattern. For most of the time, they are inconsistent and should not be relied on as an indicator.<br />
<br />
'''C:''' Color. This indicates that the model has a TN TFT LCD panel capable of displaying colors.<br />
<br />
'''Cs:''' ColorSTN. This indicates that the model has a CSTN LCD panel capable of displaying colors.<br />
<br />
'''D:''' Digital. This mostly indicates that the model has enhanced video capabilities.<br />
<br />
'''L:''' Light. This mostly indicates that the model has a reduced weight.<br />
<br />
'''E:''' Enhancement Stage 1. This indicates that the model has been enhanced from its original variant.<br />
<br />
'''X:''' Enhancement Stage 2. This indicates that the model has been enhanced again, from its original variant.<br />
<br />
'''Z:''' Enhancement Stage 3. This indicates that the model has been enhanced again, from its original variant.<br />
<br />
'''BJ:''' BubbleJet. This indicates that this model has a built-in BubbleJet printer.<br />
<br />
'''P:''' Pen tablet. This indicates that this model has a stylus pen, and is also a 2-in-1 convertible tablet.<br />
<br />
'''T:''' Tablet. This indicates that this model is a tablet.<br />
<br />
'''V:''' Visible projection. This indicates that the model has a removable lid to allow its display panel to be projected through an overhead projector.<br />
<br />
=== Suffixes that are not on the model's name, but were stated in a hardware announcement ===<br />
'''D:''' ???. These variants are exclusive to the 600 series, and they indicate that the model was an EMEA-specific configuration</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=ThinkPad_Button&diff=59408ThinkPad Button2019-12-17T13:56:33Z<p>Bugmenot: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:ThinkPadButton.png|96px]] [[Image:AccessIBMButton.png|96px]] [[Image:ThinkVantageButton.png|96px]] [[Image:BlackButton.png|96px]] [[Image:LenovoCareButton.png|96px]]<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 />
The ThinkPad Button is a programmable button situated in the upper left corner of the keyboard on most ThinkPads. It is intended to be a means of quick access to help and support. Technically, it is nothing more than a button that can be configured to launch a certain piece of software.<br />
<br />
While it was originally grey and labelled {{ibmkey|ThinkPad|#494949}}, IBM later made it blue and called it the {{ibmkey|Access IBM|#495988}} Button. After Lenovo took over the ThinkPad line from IBM, they re-labelled it as {{ibmkey|ThinkVantage|#495988}}. Some later models no longer had it labelled, which turned it into a simple black button with no fixed purpose.<br />
<br />
This button was also called the Lenovo Care Button for the SLx00 ThinkPads, although it did not have the usual text label and was just simply accompanied by a toolbox icon above itself.<br />
</div><br />
|}<br />
__NOTOC__<br />
== System Boot ==<br />
Pressing {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkVantage|#495988}} at system boot can launch the [[Predesktop Area| Predesktop Area]]. This depends on a specific setting of the BIOS Setup Utility and on the availability of either a [[Hidden Protected Area|Hidden Protected Area]] or a [[Rescue and Recovery|Rescue and Recovery partition]]. See the linked pages for details.<br />
<br />
== Access IBM Utility Application ==<br />
After booting to Windows in an IBM ThinkPad, the button typically launches the Access IBM application. The later IBM ThinkPad models rely upon Access IBM utility software instead of providing a hard copy user manual. As quoted from IBM: "Access IBM is the comprehensive, on-board help and information center for your computer. It travels with you, eliminating the need to carry reference manuals. It is your guide to a host of information and tools."<br />
<br />
Later releases of Access IBM require Adobe Flash player. Unfortunately, Flash v.10 incorporates security enhancements which are incompatible with Access IBM. Flash player v.9.0.280 is the last version which supports the Access IBM application. It may be obtained by performing a general web search for the phrase "archived flash player." For variants of Windows NT 5.x (including 2000, XP, and Server 2003) install flashplayer9r280_winax.exe, which is the Internet Explorer plugin. Following that, the latest version of Flash player may be installed as a Firefox plugin, and both versions will coexist without interfering with eachother.<br />
<br />
== Linux support ==<br />
===Using HAL===<br />
Recent Linux distributions like Fedora 10 and Ubuntu 8.10 use HAL to manage input devices.<br />
<br />
HAL will map the ThinkPad button to either 'vendor' or 'prog1', depending on the version of the hal-info config files.<br />
<br />
Older versions mapped it to 'vendor' because that is the most logical choice. However the 'vendor' button keycode is out of range for Xorg, which made it impossible to have Xorg respond to the keypress (this limitation should be fixed with Xorg 1.6). As such the mapping was changed to 'prog1' (XF86Launch1 under X) instead in later versions of the config files.<br />
<br />
The config file responsible for this is {{path|/usr/share/hal/fdi/information/10freedesktop/30-keymap-module-thinkpad-acpi.fdi}} and you can view the mapping with lshal.<br />
<br />
If you wish to do your own mapping, you can override the system mapping files by creating your own in {{path|/etc/hal/fdi}}.<br />
<br />
You can also run xev from Xorg to check if Xorg recognises the button when pressed. If Xorg recognises the button it can be configured in gnome with gnome-keybinding-properties.<br />
<br />
===Using tpb===<br />
Under Linux, the IBM ThinkPad(tm) special keys can be enabled using [[tpb]].<br />
<br />
I.e., to make pressing the Access IBM Button launch ntpctl, add the following line {{path|/etc/tpbrc}} file: <br />
THINKPAD /usr/bin/X11/xterm -T ntpctl -e ntpctl<br />
<br />
To make pressing the Access IBM Button launch the ThinkWiki homepage in Firefox, add the following line: <br />
<nowiki>THINKPAD /usr/bin/firefox http://www.thinkwiki.org</nowiki><br />
<br />
See the [[tpb]] page and the [[How to get special keys to work | ThinkPad special keys HOWTO]] for more information.<br />
<br />
===Using KDE===<br />
<br />
KDE supports assigning actions to (some) ThinkPad special keys, through the ThinkPad buttons [[KMilo]] plugin. <br />
<br />
It can be activated and configured in the KDE Control Center (<tt>kcontrol</tt>), under <tt>System Administration --> IBM Thinkpad Laptop</tt>.<br />
<br />
===Using xbindkeys on Ubuntu===<br />
<br />
On Ubuntu (at least 7.04/Feisty) <code>tpb</code> is not really an option, because it conflicts with <code>hotkey-setup</code>, which is responsible for much things working out of the box.<br />
<br />
An alternative is to use <code>xbindkeys</code>, which can easily be installed with <code>aptitude install xbindkeys</code> or via the Synaptic package manager. It can be used to assign arbitrary commands to certain keycodes. Therefore, we first have to find this keycode by running <code>xbindkeys --key</code> and pressing the ThinkPad Button. This should result in something like the following:<br />
sean@amalthea ~ $ xbindkeys --key<br />
Press combination of keys or/and click under the window.<br />
You can use one of the two lines after "NoCommand"<br />
in $HOME/.xbindkeysrc to bind a key.<br />
"NoCommand"<br />
m:0x0 + c:159<br />
NoSymbol<br />
<br />
Now we can construct a minimal configuration file in <code>~/.xbindkeysrc</code>:<br />
"gnome-terminal"<br />
m:0x0 + c:159<br />
After starting <code>xbindkeys</code> without further options the ThinkPad Button should launch a new terminal. <br />
<br />
To start the program automatically at login add it under "System -> Preferences -> Sessions -> Startup Programs" (assuming the Gnome Desktop is used, otherwise add it to your <code>~/.xinitrc</code>, <code>~/.xsession</code> or whatever is responsible for startup items in your setting).<br />
<br />
===Using Gnome===<br />
<br />
A simpler but less flexible possibility than <code>xbindkeys</code> is "System -> Preferences -> Keyboard Shortcuts". Just go to (for example) "Run a terminal" and press the ThinkPad Button, when asked for a "New accelerator...". This will only work under the Gnome Desktop. Using custom commands for this is a little harder, see [http://www.codejacked.com/create-custom-keyboard-shortcuts-in-linux/ this tutorial].<br />
<br />
TODO: add the name the key is mapped to (if it is always the same). For now you can use the above method (for a normal shortcut) first, then look what the name of the key is and then copy it to the special command keyboard shortcut.<br />
<br />
== Windows support (2000 or XP) ==<br />
If you want to customize the program that is launched when the {{ibmkey|ThinkPad|#494949}}, {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkVantage|#495988}} button is pressed while<br />
the machine is running {{Windows}} (2000 or XP) you can change the following registry entry:<br />
<br />
<code>HKEY_LOCAL_MACHINE\SOFTWARE\IBM\TPHOTKEY\8001</code><br />
<br />
Here are the default values for the original IBM version:<br />
<br />
[HKEY_LOCAL_MACHINE\SOFTWARE\IBM\TPHOTKEY\8001]<br />
"File"="C:\\Program Files\\IBM\\Access IBM\\aibm.exe"<br />
"DispName"="Access IBM"<br />
<br />
And these are the default values for the Lenovo version:<br />
<br />
[HKEY_LOCAL_MACHINE\SOFTWARE\IBM\TPHOTKEY\8001]<br />
"File"="C:\\PROGRA~1\\THINKV~1\\PrdCtr\\LPL1.exe"<br />
<br />
To avoid conflicts, be sure to enter the file paths as DOS truncated (first six characters, then "~1")<br />
{{NOTE|Works on '''Windows 7''' too. In that case most probably also on Vista.}}<br />
<br />
== See Also ==<br />
* [[How to get special keys to work]]<br />
<br />
== Related Links ==<br />
*[[Python script for Windows to control ThinkPad features]] that also allows querying of the ThinkPad button<br />
*[http://www.pc.ibm.com/us/think/thinkvantagetech/accessibm.html IBM's Access IBM ThinkVantage Technology page]<br />
*[http://www-3.ibm.com/pc/support/site.wss/AIBM-TOOLS.html Access IBM - Customization Guide]<br />
<br />
==Models featuring this Technology==<br />
'''"ThinkPad" button'''<br />
*{{I1210}}, {{I1230}}, {{I1250}}, {{I1260}}<br />
*{{I1300}}, {{I1330}}, {{I1370}}<br />
*{{i1620}}<br />
*{{i1800}}<br />
*{{130}}<br />
*{{A Series}}<br />
*{{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}<br />
*{{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}<br />
*{{R30}}, {{R31}}, {{R32}}<br />
*{{S30}}, {{S31}}<br />
*{{TransNote}}<br />
<br />
'''"Access IBM" button'''<br />
*{{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}<br />
*{{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41T}}<br />
*{{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R51e}}, {{R52}}<br />
*{{G40}}, {{G41}}, {{G50}}<br />
<br />
'''"ThinkVantage" button'''<br />
*{{W500}}, {{W510}}, {{W520}}, {{W530}}, {{W700}}, {{W700ds}}, {{W701}}, {{W701ds}}<br />
*{{T60}}, {{T60p}}, {{T61}}, {{T61p}}, {{T400}}, {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T430}}, {{T430i}}, {{T430s}}, {{T430si}}, {{T500}}, {{T510}}, {{T510i}}, {{T520}}, {{T520i}}, {{T530}}, {{T530i}}<br />
*{{X60}}, {{X60s}}, {{X60t}}, {{X61}}, {{X61s}}, {{X61_Tablet}}, {{X200}}, {{X200s}}, {{X200_Tablet}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201 Tablet}}, {{X220}}, {{X220i}}, {{X220 Tablet}}, {{X300}}, {{X301}}, {{X1}}<br />
*{{R60}}, {{R60i}}, {{R60e}}, {{R61}}, {{R61i}}, {{R61e}}, {{R400}}, {{R500}}<br />
*{{SL410}}, {{SL510}}<br />
*{{L410}}, {{L412}}, {{L420}}, {{L421}}, {{L510}}, {{L512}}, {{L520}}<br />
*{{G50}}<br />
*{{Z Series}}<br />
<br />
'''"Black" button'''<br />
*{{W530}}<br />
*{{T430}}, {{T430i}}, {{T430s}}, {{T430si}}, {{T530}}, {{T530i}}<br />
*{{X230}}, {{X230i}}, {{X230 Tablet}}, {{X230i Tablet}}<br />
*{{L430}}, {{L530}}<br />
<br />
'''"Lenovo Care" button'''<br />
*{{SL300}}, {{SL400}}, {{SL400c}}, {{SL500}}, {{SL500c}}<br />
<br />
[[Category:Glossary]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:LenovoCareButton.png&diff=59407File:LenovoCareButton.png2019-12-17T13:37:56Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:BlackButton.png&diff=59406File:BlackButton.png2019-12-17T13:37:39Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:ThinkVantageButton.png&diff=59405File:ThinkVantageButton.png2019-12-17T13:37:25Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:AccessIBMButton.png&diff=59404File:AccessIBMButton.png2019-12-17T13:37:10Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:ThinkPadButton.png&diff=59403File:ThinkPadButton.png2019-12-17T13:36:55Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=UltraConnect&diff=59402UltraConnect2019-12-17T13:32:31Z<p>Bugmenot: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:UltraConnect.jpg|IBM UltraConnect Antenna]] __NOTOC__<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 />
===IBM/Lenovo UltraConnect===<br />
UltraConnect was IBM's, now Lenovo's name for the built-in antennas that could support both the 802.11a and the 802.11b wireless networking standards. It has gone through two iterations: UltraConnect and UltraConnect II. While UltraConnect was IBM's marketing umbrella for antennas supporting the 802.11a, b, and g standards, UltraConnect II was Lenovo's marketing umbrella for antennas supporting the 802.11a, b, g, and n standards.<br />
<br />
The UltraConnect antennas are built into the top portion of the ThinkPad's display lid, which are connected to a [[Wireless Network Adapters|wireless network controller]].<br />
</div><br />
|}<br />
<br />
==Models featuring this technology==<br />
*{{P Series}}<br />
*{{W Series}}<br />
*{{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}, {{T400}}, {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T430}}, {{T430i}}, {{T430s}}, {{T430si}}, {{T430u}}, {{T431s}}, {{T440}}, {{T440s}}, {{T440p}}, {{T450}}, {{T450s}}, {{T460}}, {{T460s}}, {{T460p}}, {{T470}}, {{T470s}}, {{T470p}}, {{T480}}, {{T480s}}, {{T490}}, {{T490s}}, {{T495}}, {{T495s}}, {{T500}}, {{T510}}, {{T510i}}, {{T520}}, {{T520i}}, {{T530}}, {{T530i}}, {{T540p}}, {{T550}}, {{T560}}, {{T570}}, {{T580}}, {{T590}}<br />
*{{X1}}, {{X1 Hybrid}}, {{X1 Carbon}}, {{X1 Carbon 2nd}}, {{X1 Carbon G3}}, {{X1 Carbon G4}}, {{X1 Carbon G5}}, {{X1 Carbon G6}}, {{X1 Carbon G7}}, {{X1 Yoga}}, {{X1 Yoga G2}}, {{X1 Yoga G3}}, {{X1 Yoga G4}}, {{X1 Extreme}}, {{X1 Extreme G2}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41 Tablet}}, {{X60}}, {{X60s}}, {{X60_Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}, {{X100e}}, {{X120e}}, {{X121e}}, {{X130e}}, {{X131e}}, {{X140e}}, {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201si}}, {{X201 Tablet}}, {{X201i Tablet}}, {{X220}}, {{X220i}}, {{X200 Tablet}}, {{X200i Tablet}}, {{X230}}, {{X230i}}, {{X230s}}, {{X230 Tablet}}, {{X230i Tablet}}, {{X240}}, {{X240s}}, {{X250}}, {{X260}}, {{X270}}, {{X280}}, {{X300}}, {{X301}}, {{X380 Yoga}}, {{X390}}, {{X390 Yoga}}, {{X395}}<br />
*{{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R51e}}, {{R52}}, {{R60}}, {{R60e}}, {{R60i}}, {{R61}}, {{R61e}}, {{R61i}}, {{R400}}, {{R500}}<br />
*{{SL Series}}<br />
*{{L Series}}<br />
*{{G Series}}<br />
*{{Z Series}}<br />
*{{E Series}}<br />
*{{Yoga S1}}, {{S2}}, {{S3}}, {{S5}}, {{S5 G2}}, {{Yoga S240}}, {{S430}}, {{S431}}, {{S440}}, {{S440 Touch}}, {{S531}}, {{S540}}, {{S540 Touch}}<br />
*{{13 Series}}<br />
*{{11e Series}}<br />
*{{Yoga Series}}<br />
*{{Twist}}<br />
*{{Helix}}<br />
<br />
[[Category:Glossary]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=ThinkLight&diff=59401ThinkLight2019-12-17T13:12:53Z<p>Bugmenot: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | __NOTOC__<br />
[[Image:Thinklight.jpg|ThinkLight]]<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 />
The ThinkLight is a small 5V LED integrated into the top left or middle area of the display bezel in some of the older ThinkPads. It illuminates the ThinkPad's keyboard so that one can type in the dark without using an external light source. The ThinkLight is toggled via the {{key|Fn}}+{{key|PageUp}} key combination or via ACPI on some of the newer models.<br />
</div><br />
|}<br />
==Linux Support==<br />
Controlling the ThinkLight with the keyboard works on all systems since it relies on the UEFI/BIOS exclusively. Just press {{key|Fn}}+{{key|PageUp}} to toggle its state between on and off. <br />
<br />
Starting with the xx30 series models (T430, T530, W530, etc), the keystroke was changed to {{key|Fn}}+{{key|Space}} in order to better accommodate the 6-row chiclet keyboard layout. On models with backlit keyboards, there are 4 states: <code>off</code>, <code>dim backlit</code>, <code>full backlit</code>, and <code>full backlit w/ ThinkLight</code>. Models without backlit keyboards only have <code>ThinkLight on</code> and <code>ThinkLight off</code>, which can be obtained by disabling the backlit keyboard in the UEFI of models with backlit keyboards installed.<br />
<br />
===Software Control via thinkpad-acpi===<br />
Support for controlling the ThinkLight with ACPI is provided by [[thinkpad-acpi]]. After installing it, a simple<br />
:{{cmdroot|echo 255 > /sys/class/leds/tpacpi\:\:thinklight/brightness}}<br />
switches it on and a<br />
:{{cmdroot|echo 0 > /sys/class/leds/tpacpi\:\:thinklight/brightness}}<br />
switches it off again.<br />
<br />
This allows one to control the ThinkLight in scripts. Unfortunately, no known ThinkPad with a ThinkLight comes with an ambient light sensor.<br />
<br />
To use these controls in scripts without root permissions, you should run<br />
:{{cmdroot|chmod 666 /sys/class/leds/tpacpi\:\:thinklight/brightness}}, which is probably best done using udev.<br />
<br />
===Applications===<br />
*'''led-notification''': Pidgin plugin to use any LED to indicate new messages. I've forked [http://github.com/Sitwon/led-notification led-notification] to support the ThinkLight via [[thinkpad-acpi]]. The plugins below either weren't compatible with the latest pidgin or didn't compile for me. The original author of led-notification seems MIA. Another fork [http://github.com/xmw/pidgin-led-notification pidgin-led-notification] to write user defined strings (added to Gentoo/Linux)<br />
*'''gaim-thinklight''': If you are using [http://gaim.sf.net GAIM], the [http://www.joachim-breitner.de/blog/archives/38-Created-gaim-thinklight.html gaim-thinklight] plugin will enable you to use the ThinkLight as an indicator for new messages. This depends on [[thinkpad-acpi]].<br />
*'''gaim-lighthink''': [http://www.chris-lamb.co.uk/code/gaim-lightthink/ gaim-lightthink] is an alternative to gaim-thinklight.<br />
*'''pidgin-blinklight''':[http://packages.debian.org/unstable/net/pidgin-blinklight pidgin-blinklight] is a replacement for gaim-lighthink intended for use with [http://pidgin.im/ Pidgin].<br />
*'''rocklight''': [http://hunz.org/ rocklight] is a xmms visualization plugin that makes the ThinkLight flash to the beat of your music. The package also includes a standalone stroboscope mode program.<br />
*'''thinkblinkd''':[http://badcode.de/downloads/thinkblinkd-0.1.7.tar.gz] Thinkblinkd is a python daemon to control the thinklight (and possibly other lights on your Thinkpad) it comes with the daemon and a control script.<br />
*The [[script for theft alarm using HDAPS]] optionally flashes the ThinkLight when the alarm is armed (disabled by default, to enable set <tt>$use_light=1</tt>).<br />
*'''kopete-thinklight''':[http://kde-apps.org/content/show.php?content=47886] This plugin for kopete will enable the usage of the thinklight as notifiaction for new messages.<br />
*'''stupid little hack to blink the ThinkLight''': [http://paste.lisp.org/display/37500] A little C program that may be set SUID so that you can use it from non-privileged programs that needs to do a little notification.<br />
*'''thinkalert''': [http://www.mike.tl/view/Main/ThinkAlert] Another C program that may be set SUID to allow non-privileged programs to manipulate the ThinkLight. Adds some features over the "stupid little hack to blink the ThinkLight" program.<br />
*'''thinklight-notification''': This [http://ubuntuforums.org/showthread.php?t=1017263 Evolution plugin] notifies the user with a blinking light whenever a new message has arrived.<br />
*'''ThinkBlink''': [http://pikeypl.com/index.php?show=blink_en blink.sh] is an universal bash script making ThinkLight blink. It can be used with any application.<br />
<br />
==Windows Support==<br />
Likewise, controlling the ThinkLight with the keyboard works without any additional software. The Hotkey Features software from IBM/Lenovo adds OSD icons that appear when the ThinkLight is turned on/off.<br />
<br />
===Software Control via Hotkey Features===<br />
The Hotkey Features software exposes an interface that allows (among other things) to control the ThinkLight. See [[Python script for Windows to control ThinkPad features]] for more information.<br />
<br />
===Software Control via Embedded Controller===<br />
By writing 2 pre-defined values to register 0x3B to the embedded controller, the ThinkLight can be controlled manually with this method. Writing the value as 0x10 will disable the ThinkLight, while writing the value as 0x12 will enable the ThinkLight.<br />
<br />
==Models featuring this technology==<br />
===featuring a white ThinkLight===<br />
*{{i1400}}, {{I1460}}, {{I1480}}, {{I1482}}, {{I1483}}, {{I1492}}<br />
*{{W500}}, {{W510}}, {{W520}}, {{W530}}<br />
*{{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}, {{A30}}, {{A30p}}, {{A31}}, {{A31p}}<br />
*{{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}, {{T400}}, {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T430}}, {{T430i}}, {{T430s}}, {{T430si}}, {{T500}}, {{T510}}, {{T510i}}, {{T520}}, {{T520i}}, {{T530}}, {{T530i}}<br />
*{{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X60}}, {{X60s}}, {{X61}}, {{X61s}}, {{X200}}, {{X200s}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201si}}, {{X220}}, {{X220i}}, {{X230}}, {{X230i}}, {{X300}}, {{X301}}<br />
*{{R30}}, {{R31}}, {{R32}}, {{R40}}<br />
*{{S30}}, {{S31}}<br />
===featuring an amber ThinkLight===<br />
*{{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}<br />
*{{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R51e}}, {{R52}}, {{R60}}, {{R60e}}, {{R60i}}, {{R61}}, {{R61e}}, {{R61i}}, {{R400}}, {{R500}}<br />
*{{Z Series}}<br />
===featuring two white ThinkLights===<br />
*{{W700}}, {{W700ds}}, {{W701}}, {{W701ds}}<br />
<br />
[[Category:Glossary]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Easy_Launch_Buttons&diff=59400Easy Launch Buttons2019-12-17T10:59:39Z<p>Bugmenot: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:EasyLaunchButtons.png|IBM Easy Launch Buttons]]<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 />
Most of the i Series ThinkPads featured colorful programmable application launch buttons. They were placed on the upper left edge of the keyboard, where the volume buttons can generally be found on other non-i Series ThinkPads.<br />
<br />
The same buttons were featured again on the {{S30}} and {{S31}} models.<br />
<br />
Depending on the model, there were three or four buttons and their color codes were not consistent with their labelling:<br />
{| style="background-color:#F8F8FF;"<br />
! models with three buttons &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; !! models with four buttons<br />
|-<br />
| style="vertical-align:top;padding-right:30px;" |<br />
*{{ibmkey|Home|#dd3123}}<br />
*{{ibmkey|Search|#007f39}}<br />
*{{ibmkey|Mail|#6778b0}}<br />
||<br />
*{{ibmkey|Home|#dd3123}}<br />
*{{ibmkey|Search|#007f39}}<br />
*{{ibmkey|Office/Shopping|#6778B0}}<br />
*{{ibmkey|Mail|#e99900}}<br />
|}<br />
</div><br />
|}<br />
__NOTOC__<br />
== Linux support ==<br />
It seems like nobody ever got these buttons working.<br />
<br />
People have tried to get the specifications from IBM, but Acer, who were producing these machines refused to provide them.<br />
<br />
[http://web.archive.org/web/20080214151526/http://www.cakey.de/acerhk/ This driver] may help to get them to work.<br />
<br />
==Models featuring this technology==<br />
===featuring three buttons===<br />
*{{I1210}}, {{I1230}}, {{I1250}}, {{I1260}}<br />
*{{I1300}}, {{I1330}}, {{I1370}}<br />
*{{i1620}}<br />
*{{i1800}}<br />
*{{130}}<br />
*{{S30}}, {{S31}}<br />
<br />
===featuring four buttons===<br />
*{{I1200}}<br />
*{{i1400}}, {{I1410}}, {{I1411}}, {{I1412}}, {{I1420}}, {{I1421}}, {{I1422}}, {{I1441}}, {{I1442}}, {{I1450}}, {{I1451}}, {{I1452}}, {{I1460}}, {{I1472}}, {{I1480}}, {{I1482}}, {{I1483}}, {{I1492}}<br />
*{{I1512}}, {{I1540}}, {{I1541}}, {{I1542}}, {{I1552}}, {{I1560}}, {{I1562}}, {{I1592}}<br />
<br />
[[Category:Glossary]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:EasyLaunchButtons.png&diff=59399File:EasyLaunchButtons.png2019-12-17T10:47:02Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=Browser_Keys&diff=59398Browser Keys2019-12-17T10:25:51Z<p>Bugmenot: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:browserkeys.png|IBM Browser Keys]]<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 />
Starting from the {{S30}} onward, IBM introduced two new keys for the ThinkPad's keyboard, the browser forward and backward keys. They replaced the two empty spaces found on the left and the right side of the 'Up' arrow key.<br />
<br />
While they are intended to work as browser keys, they are in fact, fully customizable.<br />
</div><br />
|}<br />
__NOTOC__<br />
== Linux support ==<br />
See the [[How to get special keys to work|Special Keys HOWTO]] to know how to configure these two keys. They are referred to as {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} there.<br />
<br />
==Models featuring this technology==<br />
*{{W500}}, {{W510}}, {{W520}}, {{W700}}, {{W700ds}}, {{W701}}, {{W701ds}}<br />
*{{A30}}, {{A30p}}, {{A31}}, {{A31p}}<br />
*{{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}, {{T400}}, {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T420i}}, {{T420s}}, {{T420si}}, {{T500}}, {{T510}}, {{T510i}}, {{T520}}, {{T520i}}<br />
*{{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41 Tablet}}, {{X60}}, {{X60s}}, {{X60_Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}, {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X201}}, {{X201i}}, {{X201s}}, {{X201si}}, {{X201 Tablet}}, {{X201i Tablet}}, {{X220}}, {{X220i}}, {{X220 Tablet}}, {{X220i Tablet}}, {{X300}}, {{X301}}<br />
*{{R Series}}<br />
*{{SL Series}}<br />
*{{L410}}, {{L412}}, {{L420}}, {{L421}}, {{L510}}, {{L512}}, {{L520}}<br />
*{{G Series}}<br />
*{{S30}}, {{S31}}<br />
*{{Z Series}}<br />
<br />
[[Category:Glossary]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=File:Browserkeys.png&diff=59397File:Browserkeys.png2019-12-17T10:24:37Z<p>Bugmenot: </p>
<hr />
<div></div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&diff=31663How to reduce power consumption2007-07-29T12:40:15Z<p>Bugmenot: /* Modem */</p>
<hr />
<div>Reducing system power consumption will extend battery life, reduce system<br />
temperature and (on some models) reduce system fan noise.<br />
Power consumption can be greatly improved from a stock distribution configuration<br />
to a fine tuned system. The general rules are :<br />
* Unload drivers for unused devices (ie. USB 1.1, Yenta/PCMCIA, Wireless, IRDA, Bluetooth, ...)<br />
* Reduce polling on devices (drives, USB subsystem, nvram, ...)<br />
* Reduce hard drive activity<br />
* Reduce LCD brightness to the minimum you can stand<br />
* Reduce CPU wakeups, so it can stay longer in deep power saving c-states<br />
<br />
==Tools==<br />
Arjan van de Ven's [http://www.linuxpowertop.org/ PowerTOP] utility<br />
is a gold mine to improve energy efficiency. This tool helps to easily detect<br />
the top power offenders, both userland and kernel modules, and sometime suggest <br />
fixes accordingly.<br />
PowerTOP users collected some [http://www.linuxpowertop.org/known.php tips & tricks]<br />
and an informative [http://www.linuxpowertop.org/faq.php faq].<br />
<br />
Alternatively (or complementary) to PowerTOP, running <code>strace -p $(pidof yourapp)</code> <br />
for all your favourite or background running applications while they are expected to be <br />
idle, will show the misbehaviours.<br />
<br />
Beside CPU wakeups, disks spins are also power angry. To detect what make your disk spinning,<br />
<br />
<code><br />
sysctl vm.block_dump=1<br />
</code><br />
<br />
will list all applications causing disks wakeups on the kernel's dmesg.<br />
Other useful tools for this purpose are blktrace, iostat and lm-profiler<br />
(from laptop-mode-tools suite).<br />
<br />
==BIOS settings==<br />
Some Thinkpad BIOS (like 2.08 BIOS on {{X40}}) offer two very lame options,<br />
with a very misleading online help (saying "Usually not needed"). That's<br />
<br />
<code><br />
CPU power management: (default disabled)<br />
PCI bus power management: (default disabled)<br />
</code><br />
<br />
You should indeed enable them, else the deepest C3 and C4 ACPI C-states<br />
are disabled.<br />
<br />
==CPU==<br />
Look at:<br />
* [[How to make use of Dynamic Frequency Scaling]]<br />
* [[Pentium M undervolting and underclocking]]<br />
<br />
A good thing to keep in mind is that every CPU wakeup, even if it's for<br />
a trivial light job, reduce the time the CPU stays on a deep power<br />
saving C-state (like C3 or C4). Therefore you should ensure your applications<br />
stay really idle when they meant to be idle (track shorts select timeouts<br />
in loop, etc. with powertop).<br />
<br />
Also note that manually locking the CPU in the lowest P-state (frequency) <br />
available is '''not''' an efficient way to improve battery lifetime. This will<br />
cause the CPU to stay longer in C0 (power angry C-state) doing hard work when <br />
there is something to do, while it could have done this work faster by augmenting<br />
the CPU freq, and returned back faster to a deeper, economic, C-state and to a<br />
lower frequency (P-state).<br />
The best is to let the kernel select the appropriates CPU frequencies by itself<br />
with the help of in kernel CPU governors.<br />
Have a look at [http://www.bughost.org/pipermail/power/2007-May/000166.html this explanation]<br />
from Intel's kernel developer Arjan van de Ven.<br />
<br />
==Kernel settings and patches==<br />
<br />
===General settings===<br />
The 2.6.21 kernel brought some very effective changes (like dynticks). If<br />
it's not already on your distribution and you value power efficiency, you<br />
may think about compiling it (or a more recent one) yourself.<br />
<br />
Here are a few options (beside the ACPI and APM related one) that matter to <br />
reduce power consumption or to help diagnosing consumers:<br />
<br />
<code><br />
# From PowerTOP's FAQ:<br />
CONFIG_NO_HZ<br />
CONFIG_HIGH_RES_TIMERS<br />
CONFIG_HPET<br />
CONFIG_CPU_FREQ_GOV_ONDEMAND<br />
CONFIG_USB_SUSPEND<br />
CONFIG_SND_AC97_POWER_SAVE<br />
CONFIG_TIMER_STATS<br />
CONFIG_ACPI_BATTERY<br />
CONFIG_CPU_FREQ_STAT<br />
# Not from the PowerTOP FAQ:<br />
CONFIG_BLK_DEV_IO_TRACE<br />
CONFIG_X86_ACPI_CPUFREQ<br />
CONFIG_X86_SPEEDSTEP_CENTRINO<br />
CONFIG_X86_SPEEDSTEP_ICH<br />
CONFIG_X86_SPEEDSTEP_SMI<br />
CONFIG_X86_ACPI_CPUFREQ<br />
</code><br />
<br />
Those options are already in Fedora Core 7 and Ubuntu Gutsy (not Feisty) default i686 kernels.<br />
PowerTOP FAQ also suggest to '''disable'''<br />
CONFIG_IRQBALANCE et CONFIG_ACPI_DEBUG.<br />
<br />
Also, you need to properly set APM and ACPI. Look at:<br />
* [[Power Management]]<br />
* [[How to make use of Power Management features]]<br />
<br />
===Useful Patchs===<br />
<br />
Thomas Gleixner High Resolution Timers (hrt) patchset brings many improvements,<br />
like the cpuidle work and Udo A. Steinberg and Venki Pallipadi "force<br />
enable HPET" patches (non HPET timers causes about 20-40 CPU wakeups/second, but<br />
HPET is often hidden by the BIOS due to Windows XP deficiencies).<br />
See http://www.tglx.de/projects/hrtimers/<br />
<br />
Kristen Carlson Accardi from Intel has a patchset to turn on "Aggressive<br />
Link Power Management" (ALPM) for the AHCI driver (for SATA bus). See:<br />
http://www.kernel.org/pub/linux/kernel/people/kristen/patches/SATA/alpm/<br />
<br />
The [[HDAPS]] disk protection systems can reduce battery life. <br />
Matthew Garrett provides [http://www.linuxpowertop.org/patches/hdaps.patch a patch]<br />
that prevents hdaps kernel module to generate interrupts when<br />
this feature isn't used.<br />
<br />
===Useful sysctls===<br />
The meaning of those settings is explained case by case on the relevant <br />
sections of this document. But for convenience sake, we group them here too.<br />
<br />
Note that the "ondemand" scaling governor is recommended by Intel developpers<br />
for energy efficiency: it's expected to be more efficient than the "powersave"<br />
governor, or than userspace daemons (like cpufreq-utils, cpufreqd, powernowd...).<br />
Look [http://www.bughost.org/pipermail/power/2007-May/000071.html here],<br />
[http://www.bughost.org/pipermail/power/2007-May/000073.html there] or<br />
[http://www.bughost.org/pipermail/power/2007-May/000166.html here] for a<br />
kernel developer explanation about "ondemand" being better on modern Intel CPUs.<br />
<br />
The "link_power_management_policy" tunable won't be available unless you<br />
run Kirsten patchset, have an Intel AHCI compatible chipset, and use SATA drives.<br />
<br />
<code><br />
echo 5 > /proc/sys/vm/laptop_mode<br />
echo 0 > /proc/sys/kernel/nmi_watchdog<br />
echo Y > /sys/module/snd_ac97_codec/parameters/power_save<br />
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings<br />
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy<br />
echo min_power > /sys/class/scsi_host/host1/link_power_management_policy<br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
</code><br />
<br />
If you're running a kernel older than 2.6.22 do this. Not needed for kernels 2.6.22 onward:<br />
<br />
<code><br />
cd /sys/devices/system/cpu/cpu0/cpufreq<br />
cat ondemand/sampling_rate_max > ondemand/sampling_rate<br />
</code><br />
<br />
==ATA drives==<br />
Hard drives and CDRom drives spinning is very costly. To improve battery<br />
lifetime, you should reduce disks access (or devices polling) the more you<br />
can. <br />
<br />
===Hard Drives===<br />
The files access time update, while mandated by POSIX, is causing lots of<br />
disks access; even accessing files on disk cache may wake the ATA or USB<br />
bus. If you don't use this feature, disable it via:<br />
<br />
<code><br />
mount -o remount,noatime / # and so on for all mounted fs<br />
</code><br />
<br />
The laptop_mode reduce disk usage by regrouping writes. You should enable<br />
it, at least while on battery. See [[Laptop-mode]] for more details:<br />
<br />
<code><br />
echo 5 > /proc/sys/vm/laptop_mode<br />
</code><br />
<br />
The default kernel dirty page writeback frequency is very conservative. On<br />
a laptop running on battery, one might find more appropriate to reduce it:<br />
<br />
<code><br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
</code><br />
<br />
Some power saving hard drives features can be activated with hdparm.<br />
For more details look at [[How to make use of Power Management features]] :<br />
<br />
<code> <br />
hdparm -B 1 -S 12 /dev/sda # and/or any other disk device<br />
</code><br />
<br />
===Optical drive===<br />
The optical drive is reported to consume power even when not accessed. See <br />
<br />
* [[How to hotswap UltraBay devices|Eject the UltraBay optical drive]], or just turn off its power supply (i.e., run the appropriate eject script but leave the drive inserted).<br />
* [[How to set optical drive speed|Reduce the spinning speed of the optical drive]].<br />
<br />
The hald daemon polling tends to maintain the ATA buses out of power saving<br />
modes, and to wakeup CDROM drive. If you have a recent hald version, you<br />
can stop this polling when on battery:<br />
<br />
<code><br />
hal-disable-polling /dev/scd0 # or whatever your CD drive is<br />
</code><br />
<br />
If your hald is not recent enough, consider stopping it on battery.<br />
<br />
==LCD Backlight/Brightness==<br />
The LCD backlight is one of the very major power drain. <br />
Reducing brightness to the lowest readable<br />
level will save a lot of battery lifetime. Also, don't forget to configure<br />
your screen saver to shutdown the screen backlight (rather than displaying some<br />
eye candy), when no activity for a few minutes.<br />
<br />
You can also let the system [[automatically reduce brightness]] after a <br />
period of inactivity.<br />
<br />
If you're choosing your Thinkpad laptop model, keep in mind that the screen<br />
size affect the battery time greatly: more power needed for larger screens.<br />
<br />
==Graphic controllers==<br />
All xorg Thinkpad graphics chipsets drivers (ati, radeon, fglrx, i810) have<br />
the same bug causing very frequent CPU wakeups when DRI is activated, even<br />
when you don't use any 3D application.<br />
This problem is partly fixed on xorg git tree but not released as of xorg<br />
7.2. If you value more battery than 3D, you should disable DRI: put this on<br />
the /etc/X11/xorg.conf "Device" of you graphic controller:<br />
<br />
<code><br />
Option "NoDRI"<br />
</code><br />
<br />
Also be sure that DPMS is working: <code>grep DPMS /var/log/Xorg.0.log</code><br />
should output "DPMS enabled". If not, put <code>Option "DPMS"</code> in your config.<br />
<br />
On recent xrandr/xorg versions, you can disable the TV output when you're<br />
not using it (it's known to consume power) :<br />
<br />
<code> <br />
xrandr --output TV -off<br />
</code><br />
<br />
When you don't have an external monitor plugged, disable CRT and DVI output <br />
(for some, this can make a difference in power usage) : <br />
<code> <br />
echo crt_disable > /proc/acpi/ibm/video<br />
echo dvi_disable > /proc/acpi/ibm/video<br />
</code> <br />
<br />
Some drivers have specials power saving mode, and/or allows underclocking the GPU. See also:<br />
* [[How to make use of Graphics Chips Power Management features]], or with [[Rovclock]] on ATI.<br />
* [[Problem with high power drain in ACPI sleep]]<br />
<br />
==USB Subsystem==<br />
The kernel support an efficient USB 2.0 power saving feature if you enabled<br />
CONFIG_USB_SUSPEND. This may not trigger in when you have an USB device<br />
plugged (and beside, USB devices tends to suck power on their own), so avoid<br />
using such devices when on battery.<br />
<br />
USB 1.1 is worst. It needs polling the bus frequently, hence can't really go<br />
in a low power mode when you enabled it, even if you don't have any device<br />
plugged. You'd better remove it when you don't use a 1.1 device:<br />
<br />
<code><br />
rmmod uhci_hcd<br />
</code><br />
<br />
If you don't intend to use any USB 1.1 device (unfortunately, the built-in bluetooth and fingerprint-reader are USB 1.1 devices), the USB 1.1 support can also be totaly avoided. On Debian and derivatives, just do:<br />
<br />
<code><br />
echo "blacklist uhci_hcd" >> /etc/modprobe.d/blacklist<br />
</code><br />
<br />
==Sound==<br />
ALSA has a power saving feature that should be enabled on your kernel<br />
(CONFIG_SND_AC97_POWER_SAVE). Note that this low power mode won't trigger in<br />
unless you muted all sound inputs (micro, line in etc.). This feature has<br />
to be activated with:<br />
<br />
<code><br />
amixer set Line mute nocap<br />
amixer set Mic mute nocap<br />
echo Y > /sys/module/snd_ac97_codec/parameters/power_save<br />
</code><br />
<br />
More radical: you can unload all sound related modules when you are on <br />
battery, or mute the sound system (echo mute > /proc/acpi/ibm/volume).<br />
<br />
Seel also [[How to enable AC97 power saving]].<br />
<br />
==Wireless Interface==<br />
Wireless network consume a lot of power.<br />
To save power on ipw adapters, you can kill the Wi-Fi radio when it's not in use:<br />
<br />
<code><br />
echo 1 > /sys/bus/pci/drivers/ipw*/*/rf_kill<br />
</code><br />
<br />
If you need Wi-Fi, you can also reduce power consumption (at the price of<br />
performances) by activating the power saving modes:<br />
<br />
<code><br />
iwpriv eth1 set_power 5<br />
</code><br />
<br />
Reducing beacon intervals on your Access Point to 1 per second will also<br />
reduce network card interrupts, therefore power savings. This shouldn't have<br />
negatives side effects.<br />
<br />
See also, to activate power saving on the wireless network card:<br />
* For [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] and [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]], see instructions for the [[ipw2200]] driver.<br />
* For [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]], see the [http://ipw3945.sourceforge.net/README.ipw3945 ipw3945 driver README]<br />
<br />
==Ethernet Controler==<br />
If you don't use Wake-on-LAN, you should disable it for your network card,<br />
because it sucks a lot of power:<br />
<br />
<code><br />
ethtool -s eth0 wol d<br />
</code><br />
<br />
If you can, try to reduce useless network activity on your ethernet<br />
segment, coming to your NIC (ie. uneeded broadcasts), those cause <br />
interrupts and CPU wakeups.<br />
<br />
==Bluetooth==<br />
When you don't need bluetooth, disable it. Because of it's radio, <br />
bluetooth is not power friendly.<br />
<br />
<code><br />
hciconfig hci0 down ; rmmod hci_usb<br />
echo disable > /proc/acpi/ibm/bluetooth<br />
</code><br />
<br />
==Modem==<br />
When was the last time you used your analog modem? If you can't remember, you probably just don't need it. If it is on a separate module in your laptop, simply remove it. Store it in a ESD safe place (like the bag in which your last addon card or hard drive was packed), in case you should need it again. This won't save you a lot of power and weight, but why carry something around you never use.<br />
<br />
==System Fans==<br />
Fans consumes power when running, so you may look at the [[ACPI fan control script]].<br />
<br />
==Misbehaving Userland==<br />
You should avoid using Beagle, Compiz, Beryl, XMMS, gnome-power-manager<br />
and Evolution while on battery.<br />
Look at the PowerTOP's [http://www.linuxpowertop.org/known.php known problems]<br />
list.<br />
<br />
Deactivate desktop animations (blinking cursor on the terms, animated wallpapers, ...): they cause regular X (therefore kernel and CPU) wakeups.<br />
<br />
In short, while on battery, you should stop all applications that don't really stay idle when you're not using them. This means applications that:<br />
* Wakes up the CPU too often (by polling something, because of too short select() timeouts, ...)<br />
* Access the disks at regular intervals<br />
* Access an hardware bus (USB, ATA, ...) at regular intervals<br />
To find those offenders run:<br />
* <code>strace -p $(pidof yourapp)</code> # for all your running applications<br />
* <code>powertop</code><br />
* <code>sysctl vm.block_dump=1</code> # and look at dmesg<br />
* <code>ps aux | awk '{print$10,$11}' | sort -n</code> # will list all running softs sorted by used cpu time<br />
Please, don't forget to fill a bug when you find such a misbehaving software.<br />
<br />
==See Also==<br />
* [[How to measure power consumption]]<br />
* [[Script for monitoring power consumption]]<br />
* Battery [[maintenance]]<br />
<br />
==External resources==<br />
* [http://www.free-it.de/archiv/talks_2005/paper-11017/paper-11017.html ''Current trends in Linux Kernel Power Management''], Dominik Brodowski, 2005<br />
* [http://www.linuxpowertop.org PowerTOP] website<br />
* [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide] from the Gentoo Linux documentation<br />
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030478.html When/where/what for low power consumption?] (thread on Linux-Thinkpad)<br />
* ''8 hours of battery life on your lap(top)'' ([http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.odp ODP]/[http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.pdf PDF]), a presentation by Pavel Machek<br />
<br />
<br />
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:A30]] [[Category:A30p]] [[Category:A31]] [[Category:A31p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:R60e]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Z61t]] [[Category:Z61e]] [[Category:TransNote]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&diff=31662How to reduce power consumption2007-07-29T12:39:50Z<p>Bugmenot: /* Modem */</p>
<hr />
<div>Reducing system power consumption will extend battery life, reduce system<br />
temperature and (on some models) reduce system fan noise.<br />
Power consumption can be greatly improved from a stock distribution configuration<br />
to a fine tuned system. The general rules are :<br />
* Unload drivers for unused devices (ie. USB 1.1, Yenta/PCMCIA, Wireless, IRDA, Bluetooth, ...)<br />
* Reduce polling on devices (drives, USB subsystem, nvram, ...)<br />
* Reduce hard drive activity<br />
* Reduce LCD brightness to the minimum you can stand<br />
* Reduce CPU wakeups, so it can stay longer in deep power saving c-states<br />
<br />
==Tools==<br />
Arjan van de Ven's [http://www.linuxpowertop.org/ PowerTOP] utility<br />
is a gold mine to improve energy efficiency. This tool helps to easily detect<br />
the top power offenders, both userland and kernel modules, and sometime suggest <br />
fixes accordingly.<br />
PowerTOP users collected some [http://www.linuxpowertop.org/known.php tips & tricks]<br />
and an informative [http://www.linuxpowertop.org/faq.php faq].<br />
<br />
Alternatively (or complementary) to PowerTOP, running <code>strace -p $(pidof yourapp)</code> <br />
for all your favourite or background running applications while they are expected to be <br />
idle, will show the misbehaviours.<br />
<br />
Beside CPU wakeups, disks spins are also power angry. To detect what make your disk spinning,<br />
<br />
<code><br />
sysctl vm.block_dump=1<br />
</code><br />
<br />
will list all applications causing disks wakeups on the kernel's dmesg.<br />
Other useful tools for this purpose are blktrace, iostat and lm-profiler<br />
(from laptop-mode-tools suite).<br />
<br />
==BIOS settings==<br />
Some Thinkpad BIOS (like 2.08 BIOS on {{X40}}) offer two very lame options,<br />
with a very misleading online help (saying "Usually not needed"). That's<br />
<br />
<code><br />
CPU power management: (default disabled)<br />
PCI bus power management: (default disabled)<br />
</code><br />
<br />
You should indeed enable them, else the deepest C3 and C4 ACPI C-states<br />
are disabled.<br />
<br />
==CPU==<br />
Look at:<br />
* [[How to make use of Dynamic Frequency Scaling]]<br />
* [[Pentium M undervolting and underclocking]]<br />
<br />
A good thing to keep in mind is that every CPU wakeup, even if it's for<br />
a trivial light job, reduce the time the CPU stays on a deep power<br />
saving C-state (like C3 or C4). Therefore you should ensure your applications<br />
stay really idle when they meant to be idle (track shorts select timeouts<br />
in loop, etc. with powertop).<br />
<br />
Also note that manually locking the CPU in the lowest P-state (frequency) <br />
available is '''not''' an efficient way to improve battery lifetime. This will<br />
cause the CPU to stay longer in C0 (power angry C-state) doing hard work when <br />
there is something to do, while it could have done this work faster by augmenting<br />
the CPU freq, and returned back faster to a deeper, economic, C-state and to a<br />
lower frequency (P-state).<br />
The best is to let the kernel select the appropriates CPU frequencies by itself<br />
with the help of in kernel CPU governors.<br />
Have a look at [http://www.bughost.org/pipermail/power/2007-May/000166.html this explanation]<br />
from Intel's kernel developer Arjan van de Ven.<br />
<br />
==Kernel settings and patches==<br />
<br />
===General settings===<br />
The 2.6.21 kernel brought some very effective changes (like dynticks). If<br />
it's not already on your distribution and you value power efficiency, you<br />
may think about compiling it (or a more recent one) yourself.<br />
<br />
Here are a few options (beside the ACPI and APM related one) that matter to <br />
reduce power consumption or to help diagnosing consumers:<br />
<br />
<code><br />
# From PowerTOP's FAQ:<br />
CONFIG_NO_HZ<br />
CONFIG_HIGH_RES_TIMERS<br />
CONFIG_HPET<br />
CONFIG_CPU_FREQ_GOV_ONDEMAND<br />
CONFIG_USB_SUSPEND<br />
CONFIG_SND_AC97_POWER_SAVE<br />
CONFIG_TIMER_STATS<br />
CONFIG_ACPI_BATTERY<br />
CONFIG_CPU_FREQ_STAT<br />
# Not from the PowerTOP FAQ:<br />
CONFIG_BLK_DEV_IO_TRACE<br />
CONFIG_X86_ACPI_CPUFREQ<br />
CONFIG_X86_SPEEDSTEP_CENTRINO<br />
CONFIG_X86_SPEEDSTEP_ICH<br />
CONFIG_X86_SPEEDSTEP_SMI<br />
CONFIG_X86_ACPI_CPUFREQ<br />
</code><br />
<br />
Those options are already in Fedora Core 7 and Ubuntu Gutsy (not Feisty) default i686 kernels.<br />
PowerTOP FAQ also suggest to '''disable'''<br />
CONFIG_IRQBALANCE et CONFIG_ACPI_DEBUG.<br />
<br />
Also, you need to properly set APM and ACPI. Look at:<br />
* [[Power Management]]<br />
* [[How to make use of Power Management features]]<br />
<br />
===Useful Patchs===<br />
<br />
Thomas Gleixner High Resolution Timers (hrt) patchset brings many improvements,<br />
like the cpuidle work and Udo A. Steinberg and Venki Pallipadi "force<br />
enable HPET" patches (non HPET timers causes about 20-40 CPU wakeups/second, but<br />
HPET is often hidden by the BIOS due to Windows XP deficiencies).<br />
See http://www.tglx.de/projects/hrtimers/<br />
<br />
Kristen Carlson Accardi from Intel has a patchset to turn on "Aggressive<br />
Link Power Management" (ALPM) for the AHCI driver (for SATA bus). See:<br />
http://www.kernel.org/pub/linux/kernel/people/kristen/patches/SATA/alpm/<br />
<br />
The [[HDAPS]] disk protection systems can reduce battery life. <br />
Matthew Garrett provides [http://www.linuxpowertop.org/patches/hdaps.patch a patch]<br />
that prevents hdaps kernel module to generate interrupts when<br />
this feature isn't used.<br />
<br />
===Useful sysctls===<br />
The meaning of those settings is explained case by case on the relevant <br />
sections of this document. But for convenience sake, we group them here too.<br />
<br />
Note that the "ondemand" scaling governor is recommended by Intel developpers<br />
for energy efficiency: it's expected to be more efficient than the "powersave"<br />
governor, or than userspace daemons (like cpufreq-utils, cpufreqd, powernowd...).<br />
Look [http://www.bughost.org/pipermail/power/2007-May/000071.html here],<br />
[http://www.bughost.org/pipermail/power/2007-May/000073.html there] or<br />
[http://www.bughost.org/pipermail/power/2007-May/000166.html here] for a<br />
kernel developer explanation about "ondemand" being better on modern Intel CPUs.<br />
<br />
The "link_power_management_policy" tunable won't be available unless you<br />
run Kirsten patchset, have an Intel AHCI compatible chipset, and use SATA drives.<br />
<br />
<code><br />
echo 5 > /proc/sys/vm/laptop_mode<br />
echo 0 > /proc/sys/kernel/nmi_watchdog<br />
echo Y > /sys/module/snd_ac97_codec/parameters/power_save<br />
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings<br />
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy<br />
echo min_power > /sys/class/scsi_host/host1/link_power_management_policy<br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
</code><br />
<br />
If you're running a kernel older than 2.6.22 do this. Not needed for kernels 2.6.22 onward:<br />
<br />
<code><br />
cd /sys/devices/system/cpu/cpu0/cpufreq<br />
cat ondemand/sampling_rate_max > ondemand/sampling_rate<br />
</code><br />
<br />
==ATA drives==<br />
Hard drives and CDRom drives spinning is very costly. To improve battery<br />
lifetime, you should reduce disks access (or devices polling) the more you<br />
can. <br />
<br />
===Hard Drives===<br />
The files access time update, while mandated by POSIX, is causing lots of<br />
disks access; even accessing files on disk cache may wake the ATA or USB<br />
bus. If you don't use this feature, disable it via:<br />
<br />
<code><br />
mount -o remount,noatime / # and so on for all mounted fs<br />
</code><br />
<br />
The laptop_mode reduce disk usage by regrouping writes. You should enable<br />
it, at least while on battery. See [[Laptop-mode]] for more details:<br />
<br />
<code><br />
echo 5 > /proc/sys/vm/laptop_mode<br />
</code><br />
<br />
The default kernel dirty page writeback frequency is very conservative. On<br />
a laptop running on battery, one might find more appropriate to reduce it:<br />
<br />
<code><br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
</code><br />
<br />
Some power saving hard drives features can be activated with hdparm.<br />
For more details look at [[How to make use of Power Management features]] :<br />
<br />
<code> <br />
hdparm -B 1 -S 12 /dev/sda # and/or any other disk device<br />
</code><br />
<br />
===Optical drive===<br />
The optical drive is reported to consume power even when not accessed. See <br />
<br />
* [[How to hotswap UltraBay devices|Eject the UltraBay optical drive]], or just turn off its power supply (i.e., run the appropriate eject script but leave the drive inserted).<br />
* [[How to set optical drive speed|Reduce the spinning speed of the optical drive]].<br />
<br />
The hald daemon polling tends to maintain the ATA buses out of power saving<br />
modes, and to wakeup CDROM drive. If you have a recent hald version, you<br />
can stop this polling when on battery:<br />
<br />
<code><br />
hal-disable-polling /dev/scd0 # or whatever your CD drive is<br />
</code><br />
<br />
If your hald is not recent enough, consider stopping it on battery.<br />
<br />
==LCD Backlight/Brightness==<br />
The LCD backlight is one of the very major power drain. <br />
Reducing brightness to the lowest readable<br />
level will save a lot of battery lifetime. Also, don't forget to configure<br />
your screen saver to shutdown the screen backlight (rather than displaying some<br />
eye candy), when no activity for a few minutes.<br />
<br />
You can also let the system [[automatically reduce brightness]] after a <br />
period of inactivity.<br />
<br />
If you're choosing your Thinkpad laptop model, keep in mind that the screen<br />
size affect the battery time greatly: more power needed for larger screens.<br />
<br />
==Graphic controllers==<br />
All xorg Thinkpad graphics chipsets drivers (ati, radeon, fglrx, i810) have<br />
the same bug causing very frequent CPU wakeups when DRI is activated, even<br />
when you don't use any 3D application.<br />
This problem is partly fixed on xorg git tree but not released as of xorg<br />
7.2. If you value more battery than 3D, you should disable DRI: put this on<br />
the /etc/X11/xorg.conf "Device" of you graphic controller:<br />
<br />
<code><br />
Option "NoDRI"<br />
</code><br />
<br />
Also be sure that DPMS is working: <code>grep DPMS /var/log/Xorg.0.log</code><br />
should output "DPMS enabled". If not, put <code>Option "DPMS"</code> in your config.<br />
<br />
On recent xrandr/xorg versions, you can disable the TV output when you're<br />
not using it (it's known to consume power) :<br />
<br />
<code> <br />
xrandr --output TV -off<br />
</code><br />
<br />
When you don't have an external monitor plugged, disable CRT and DVI output <br />
(for some, this can make a difference in power usage) : <br />
<code> <br />
echo crt_disable > /proc/acpi/ibm/video<br />
echo dvi_disable > /proc/acpi/ibm/video<br />
</code> <br />
<br />
Some drivers have specials power saving mode, and/or allows underclocking the GPU. See also:<br />
* [[How to make use of Graphics Chips Power Management features]], or with [[Rovclock]] on ATI.<br />
* [[Problem with high power drain in ACPI sleep]]<br />
<br />
==USB Subsystem==<br />
The kernel support an efficient USB 2.0 power saving feature if you enabled<br />
CONFIG_USB_SUSPEND. This may not trigger in when you have an USB device<br />
plugged (and beside, USB devices tends to suck power on their own), so avoid<br />
using such devices when on battery.<br />
<br />
USB 1.1 is worst. It needs polling the bus frequently, hence can't really go<br />
in a low power mode when you enabled it, even if you don't have any device<br />
plugged. You'd better remove it when you don't use a 1.1 device:<br />
<br />
<code><br />
rmmod uhci_hcd<br />
</code><br />
<br />
If you don't intend to use any USB 1.1 device (unfortunately, the built-in bluetooth and fingerprint-reader are USB 1.1 devices), the USB 1.1 support can also be totaly avoided. On Debian and derivatives, just do:<br />
<br />
<code><br />
echo "blacklist uhci_hcd" >> /etc/modprobe.d/blacklist<br />
</code><br />
<br />
==Sound==<br />
ALSA has a power saving feature that should be enabled on your kernel<br />
(CONFIG_SND_AC97_POWER_SAVE). Note that this low power mode won't trigger in<br />
unless you muted all sound inputs (micro, line in etc.). This feature has<br />
to be activated with:<br />
<br />
<code><br />
amixer set Line mute nocap<br />
amixer set Mic mute nocap<br />
echo Y > /sys/module/snd_ac97_codec/parameters/power_save<br />
</code><br />
<br />
More radical: you can unload all sound related modules when you are on <br />
battery, or mute the sound system (echo mute > /proc/acpi/ibm/volume).<br />
<br />
Seel also [[How to enable AC97 power saving]].<br />
<br />
==Wireless Interface==<br />
Wireless network consume a lot of power.<br />
To save power on ipw adapters, you can kill the Wi-Fi radio when it's not in use:<br />
<br />
<code><br />
echo 1 > /sys/bus/pci/drivers/ipw*/*/rf_kill<br />
</code><br />
<br />
If you need Wi-Fi, you can also reduce power consumption (at the price of<br />
performances) by activating the power saving modes:<br />
<br />
<code><br />
iwpriv eth1 set_power 5<br />
</code><br />
<br />
Reducing beacon intervals on your Access Point to 1 per second will also<br />
reduce network card interrupts, therefore power savings. This shouldn't have<br />
negatives side effects.<br />
<br />
See also, to activate power saving on the wireless network card:<br />
* For [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] and [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]], see instructions for the [[ipw2200]] driver.<br />
* For [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]], see the [http://ipw3945.sourceforge.net/README.ipw3945 ipw3945 driver README]<br />
<br />
==Ethernet Controler==<br />
If you don't use Wake-on-LAN, you should disable it for your network card,<br />
because it sucks a lot of power:<br />
<br />
<code><br />
ethtool -s eth0 wol d<br />
</code><br />
<br />
If you can, try to reduce useless network activity on your ethernet<br />
segment, coming to your NIC (ie. uneeded broadcasts), those cause <br />
interrupts and CPU wakeups.<br />
<br />
==Bluetooth==<br />
When you don't need bluetooth, disable it. Because of it's radio, <br />
bluetooth is not power friendly.<br />
<br />
<code><br />
hciconfig hci0 down ; rmmod hci_usb<br />
echo disable > /proc/acpi/ibm/bluetooth<br />
</code><br />
<br />
==Modem==<br />
When was the last time you used your analog modem? If you can't remember, you probably just don't need it. If it is on a separate module in your laptop, simply remove it. Store it in a ESD safe place (like the bag in which your last addon card or hard drive was packed), in case you should need it again. This won't save you a lot of power and weight, but why should you carry something around you never use.<br />
<br />
==System Fans==<br />
Fans consumes power when running, so you may look at the [[ACPI fan control script]].<br />
<br />
==Misbehaving Userland==<br />
You should avoid using Beagle, Compiz, Beryl, XMMS, gnome-power-manager<br />
and Evolution while on battery.<br />
Look at the PowerTOP's [http://www.linuxpowertop.org/known.php known problems]<br />
list.<br />
<br />
Deactivate desktop animations (blinking cursor on the terms, animated wallpapers, ...): they cause regular X (therefore kernel and CPU) wakeups.<br />
<br />
In short, while on battery, you should stop all applications that don't really stay idle when you're not using them. This means applications that:<br />
* Wakes up the CPU too often (by polling something, because of too short select() timeouts, ...)<br />
* Access the disks at regular intervals<br />
* Access an hardware bus (USB, ATA, ...) at regular intervals<br />
To find those offenders run:<br />
* <code>strace -p $(pidof yourapp)</code> # for all your running applications<br />
* <code>powertop</code><br />
* <code>sysctl vm.block_dump=1</code> # and look at dmesg<br />
* <code>ps aux | awk '{print$10,$11}' | sort -n</code> # will list all running softs sorted by used cpu time<br />
Please, don't forget to fill a bug when you find such a misbehaving software.<br />
<br />
==See Also==<br />
* [[How to measure power consumption]]<br />
* [[Script for monitoring power consumption]]<br />
* Battery [[maintenance]]<br />
<br />
==External resources==<br />
* [http://www.free-it.de/archiv/talks_2005/paper-11017/paper-11017.html ''Current trends in Linux Kernel Power Management''], Dominik Brodowski, 2005<br />
* [http://www.linuxpowertop.org PowerTOP] website<br />
* [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide] from the Gentoo Linux documentation<br />
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030478.html When/where/what for low power consumption?] (thread on Linux-Thinkpad)<br />
* ''8 hours of battery life on your lap(top)'' ([http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.odp ODP]/[http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.pdf PDF]), a presentation by Pavel Machek<br />
<br />
<br />
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:A30]] [[Category:A30p]] [[Category:A31]] [[Category:A31p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:R60e]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Z61t]] [[Category:Z61e]] [[Category:TransNote]]</div>Bugmenothttps://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&diff=31661How to reduce power consumption2007-07-29T12:38:17Z<p>Bugmenot: </p>
<hr />
<div>Reducing system power consumption will extend battery life, reduce system<br />
temperature and (on some models) reduce system fan noise.<br />
Power consumption can be greatly improved from a stock distribution configuration<br />
to a fine tuned system. The general rules are :<br />
* Unload drivers for unused devices (ie. USB 1.1, Yenta/PCMCIA, Wireless, IRDA, Bluetooth, ...)<br />
* Reduce polling on devices (drives, USB subsystem, nvram, ...)<br />
* Reduce hard drive activity<br />
* Reduce LCD brightness to the minimum you can stand<br />
* Reduce CPU wakeups, so it can stay longer in deep power saving c-states<br />
<br />
==Tools==<br />
Arjan van de Ven's [http://www.linuxpowertop.org/ PowerTOP] utility<br />
is a gold mine to improve energy efficiency. This tool helps to easily detect<br />
the top power offenders, both userland and kernel modules, and sometime suggest <br />
fixes accordingly.<br />
PowerTOP users collected some [http://www.linuxpowertop.org/known.php tips & tricks]<br />
and an informative [http://www.linuxpowertop.org/faq.php faq].<br />
<br />
Alternatively (or complementary) to PowerTOP, running <code>strace -p $(pidof yourapp)</code> <br />
for all your favourite or background running applications while they are expected to be <br />
idle, will show the misbehaviours.<br />
<br />
Beside CPU wakeups, disks spins are also power angry. To detect what make your disk spinning,<br />
<br />
<code><br />
sysctl vm.block_dump=1<br />
</code><br />
<br />
will list all applications causing disks wakeups on the kernel's dmesg.<br />
Other useful tools for this purpose are blktrace, iostat and lm-profiler<br />
(from laptop-mode-tools suite).<br />
<br />
==BIOS settings==<br />
Some Thinkpad BIOS (like 2.08 BIOS on {{X40}}) offer two very lame options,<br />
with a very misleading online help (saying "Usually not needed"). That's<br />
<br />
<code><br />
CPU power management: (default disabled)<br />
PCI bus power management: (default disabled)<br />
</code><br />
<br />
You should indeed enable them, else the deepest C3 and C4 ACPI C-states<br />
are disabled.<br />
<br />
==CPU==<br />
Look at:<br />
* [[How to make use of Dynamic Frequency Scaling]]<br />
* [[Pentium M undervolting and underclocking]]<br />
<br />
A good thing to keep in mind is that every CPU wakeup, even if it's for<br />
a trivial light job, reduce the time the CPU stays on a deep power<br />
saving C-state (like C3 or C4). Therefore you should ensure your applications<br />
stay really idle when they meant to be idle (track shorts select timeouts<br />
in loop, etc. with powertop).<br />
<br />
Also note that manually locking the CPU in the lowest P-state (frequency) <br />
available is '''not''' an efficient way to improve battery lifetime. This will<br />
cause the CPU to stay longer in C0 (power angry C-state) doing hard work when <br />
there is something to do, while it could have done this work faster by augmenting<br />
the CPU freq, and returned back faster to a deeper, economic, C-state and to a<br />
lower frequency (P-state).<br />
The best is to let the kernel select the appropriates CPU frequencies by itself<br />
with the help of in kernel CPU governors.<br />
Have a look at [http://www.bughost.org/pipermail/power/2007-May/000166.html this explanation]<br />
from Intel's kernel developer Arjan van de Ven.<br />
<br />
==Kernel settings and patches==<br />
<br />
===General settings===<br />
The 2.6.21 kernel brought some very effective changes (like dynticks). If<br />
it's not already on your distribution and you value power efficiency, you<br />
may think about compiling it (or a more recent one) yourself.<br />
<br />
Here are a few options (beside the ACPI and APM related one) that matter to <br />
reduce power consumption or to help diagnosing consumers:<br />
<br />
<code><br />
# From PowerTOP's FAQ:<br />
CONFIG_NO_HZ<br />
CONFIG_HIGH_RES_TIMERS<br />
CONFIG_HPET<br />
CONFIG_CPU_FREQ_GOV_ONDEMAND<br />
CONFIG_USB_SUSPEND<br />
CONFIG_SND_AC97_POWER_SAVE<br />
CONFIG_TIMER_STATS<br />
CONFIG_ACPI_BATTERY<br />
CONFIG_CPU_FREQ_STAT<br />
# Not from the PowerTOP FAQ:<br />
CONFIG_BLK_DEV_IO_TRACE<br />
CONFIG_X86_ACPI_CPUFREQ<br />
CONFIG_X86_SPEEDSTEP_CENTRINO<br />
CONFIG_X86_SPEEDSTEP_ICH<br />
CONFIG_X86_SPEEDSTEP_SMI<br />
CONFIG_X86_ACPI_CPUFREQ<br />
</code><br />
<br />
Those options are already in Fedora Core 7 and Ubuntu Gutsy (not Feisty) default i686 kernels.<br />
PowerTOP FAQ also suggest to '''disable'''<br />
CONFIG_IRQBALANCE et CONFIG_ACPI_DEBUG.<br />
<br />
Also, you need to properly set APM and ACPI. Look at:<br />
* [[Power Management]]<br />
* [[How to make use of Power Management features]]<br />
<br />
===Useful Patchs===<br />
<br />
Thomas Gleixner High Resolution Timers (hrt) patchset brings many improvements,<br />
like the cpuidle work and Udo A. Steinberg and Venki Pallipadi "force<br />
enable HPET" patches (non HPET timers causes about 20-40 CPU wakeups/second, but<br />
HPET is often hidden by the BIOS due to Windows XP deficiencies).<br />
See http://www.tglx.de/projects/hrtimers/<br />
<br />
Kristen Carlson Accardi from Intel has a patchset to turn on "Aggressive<br />
Link Power Management" (ALPM) for the AHCI driver (for SATA bus). See:<br />
http://www.kernel.org/pub/linux/kernel/people/kristen/patches/SATA/alpm/<br />
<br />
The [[HDAPS]] disk protection systems can reduce battery life. <br />
Matthew Garrett provides [http://www.linuxpowertop.org/patches/hdaps.patch a patch]<br />
that prevents hdaps kernel module to generate interrupts when<br />
this feature isn't used.<br />
<br />
===Useful sysctls===<br />
The meaning of those settings is explained case by case on the relevant <br />
sections of this document. But for convenience sake, we group them here too.<br />
<br />
Note that the "ondemand" scaling governor is recommended by Intel developpers<br />
for energy efficiency: it's expected to be more efficient than the "powersave"<br />
governor, or than userspace daemons (like cpufreq-utils, cpufreqd, powernowd...).<br />
Look [http://www.bughost.org/pipermail/power/2007-May/000071.html here],<br />
[http://www.bughost.org/pipermail/power/2007-May/000073.html there] or<br />
[http://www.bughost.org/pipermail/power/2007-May/000166.html here] for a<br />
kernel developer explanation about "ondemand" being better on modern Intel CPUs.<br />
<br />
The "link_power_management_policy" tunable won't be available unless you<br />
run Kirsten patchset, have an Intel AHCI compatible chipset, and use SATA drives.<br />
<br />
<code><br />
echo 5 > /proc/sys/vm/laptop_mode<br />
echo 0 > /proc/sys/kernel/nmi_watchdog<br />
echo Y > /sys/module/snd_ac97_codec/parameters/power_save<br />
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings<br />
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy<br />
echo min_power > /sys/class/scsi_host/host1/link_power_management_policy<br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
</code><br />
<br />
If you're running a kernel older than 2.6.22 do this. Not needed for kernels 2.6.22 onward:<br />
<br />
<code><br />
cd /sys/devices/system/cpu/cpu0/cpufreq<br />
cat ondemand/sampling_rate_max > ondemand/sampling_rate<br />
</code><br />
<br />
==ATA drives==<br />
Hard drives and CDRom drives spinning is very costly. To improve battery<br />
lifetime, you should reduce disks access (or devices polling) the more you<br />
can. <br />
<br />
===Hard Drives===<br />
The files access time update, while mandated by POSIX, is causing lots of<br />
disks access; even accessing files on disk cache may wake the ATA or USB<br />
bus. If you don't use this feature, disable it via:<br />
<br />
<code><br />
mount -o remount,noatime / # and so on for all mounted fs<br />
</code><br />
<br />
The laptop_mode reduce disk usage by regrouping writes. You should enable<br />
it, at least while on battery. See [[Laptop-mode]] for more details:<br />
<br />
<code><br />
echo 5 > /proc/sys/vm/laptop_mode<br />
</code><br />
<br />
The default kernel dirty page writeback frequency is very conservative. On<br />
a laptop running on battery, one might find more appropriate to reduce it:<br />
<br />
<code><br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
</code><br />
<br />
Some power saving hard drives features can be activated with hdparm.<br />
For more details look at [[How to make use of Power Management features]] :<br />
<br />
<code> <br />
hdparm -B 1 -S 12 /dev/sda # and/or any other disk device<br />
</code><br />
<br />
===Optical drive===<br />
The optical drive is reported to consume power even when not accessed. See <br />
<br />
* [[How to hotswap UltraBay devices|Eject the UltraBay optical drive]], or just turn off its power supply (i.e., run the appropriate eject script but leave the drive inserted).<br />
* [[How to set optical drive speed|Reduce the spinning speed of the optical drive]].<br />
<br />
The hald daemon polling tends to maintain the ATA buses out of power saving<br />
modes, and to wakeup CDROM drive. If you have a recent hald version, you<br />
can stop this polling when on battery:<br />
<br />
<code><br />
hal-disable-polling /dev/scd0 # or whatever your CD drive is<br />
</code><br />
<br />
If your hald is not recent enough, consider stopping it on battery.<br />
<br />
==LCD Backlight/Brightness==<br />
The LCD backlight is one of the very major power drain. <br />
Reducing brightness to the lowest readable<br />
level will save a lot of battery lifetime. Also, don't forget to configure<br />
your screen saver to shutdown the screen backlight (rather than displaying some<br />
eye candy), when no activity for a few minutes.<br />
<br />
You can also let the system [[automatically reduce brightness]] after a <br />
period of inactivity.<br />
<br />
If you're choosing your Thinkpad laptop model, keep in mind that the screen<br />
size affect the battery time greatly: more power needed for larger screens.<br />
<br />
==Graphic controllers==<br />
All xorg Thinkpad graphics chipsets drivers (ati, radeon, fglrx, i810) have<br />
the same bug causing very frequent CPU wakeups when DRI is activated, even<br />
when you don't use any 3D application.<br />
This problem is partly fixed on xorg git tree but not released as of xorg<br />
7.2. If you value more battery than 3D, you should disable DRI: put this on<br />
the /etc/X11/xorg.conf "Device" of you graphic controller:<br />
<br />
<code><br />
Option "NoDRI"<br />
</code><br />
<br />
Also be sure that DPMS is working: <code>grep DPMS /var/log/Xorg.0.log</code><br />
should output "DPMS enabled". If not, put <code>Option "DPMS"</code> in your config.<br />
<br />
On recent xrandr/xorg versions, you can disable the TV output when you're<br />
not using it (it's known to consume power) :<br />
<br />
<code> <br />
xrandr --output TV -off<br />
</code><br />
<br />
When you don't have an external monitor plugged, disable CRT and DVI output <br />
(for some, this can make a difference in power usage) : <br />
<code> <br />
echo crt_disable > /proc/acpi/ibm/video<br />
echo dvi_disable > /proc/acpi/ibm/video<br />
</code> <br />
<br />
Some drivers have specials power saving mode, and/or allows underclocking the GPU. See also:<br />
* [[How to make use of Graphics Chips Power Management features]], or with [[Rovclock]] on ATI.<br />
* [[Problem with high power drain in ACPI sleep]]<br />
<br />
==USB Subsystem==<br />
The kernel support an efficient USB 2.0 power saving feature if you enabled<br />
CONFIG_USB_SUSPEND. This may not trigger in when you have an USB device<br />
plugged (and beside, USB devices tends to suck power on their own), so avoid<br />
using such devices when on battery.<br />
<br />
USB 1.1 is worst. It needs polling the bus frequently, hence can't really go<br />
in a low power mode when you enabled it, even if you don't have any device<br />
plugged. You'd better remove it when you don't use a 1.1 device:<br />
<br />
<code><br />
rmmod uhci_hcd<br />
</code><br />
<br />
If you don't intend to use any USB 1.1 device (unfortunately, the built-in bluetooth and fingerprint-reader are USB 1.1 devices), the USB 1.1 support can also be totaly avoided. On Debian and derivatives, just do:<br />
<br />
<code><br />
echo "blacklist uhci_hcd" >> /etc/modprobe.d/blacklist<br />
</code><br />
<br />
==Sound==<br />
ALSA has a power saving feature that should be enabled on your kernel<br />
(CONFIG_SND_AC97_POWER_SAVE). Note that this low power mode won't trigger in<br />
unless you muted all sound inputs (micro, line in etc.). This feature has<br />
to be activated with:<br />
<br />
<code><br />
amixer set Line mute nocap<br />
amixer set Mic mute nocap<br />
echo Y > /sys/module/snd_ac97_codec/parameters/power_save<br />
</code><br />
<br />
More radical: you can unload all sound related modules when you are on <br />
battery, or mute the sound system (echo mute > /proc/acpi/ibm/volume).<br />
<br />
Seel also [[How to enable AC97 power saving]].<br />
<br />
==Wireless Interface==<br />
Wireless network consume a lot of power.<br />
To save power on ipw adapters, you can kill the Wi-Fi radio when it's not in use:<br />
<br />
<code><br />
echo 1 > /sys/bus/pci/drivers/ipw*/*/rf_kill<br />
</code><br />
<br />
If you need Wi-Fi, you can also reduce power consumption (at the price of<br />
performances) by activating the power saving modes:<br />
<br />
<code><br />
iwpriv eth1 set_power 5<br />
</code><br />
<br />
Reducing beacon intervals on your Access Point to 1 per second will also<br />
reduce network card interrupts, therefore power savings. This shouldn't have<br />
negatives side effects.<br />
<br />
See also, to activate power saving on the wireless network card:<br />
* For [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] and [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]], see instructions for the [[ipw2200]] driver.<br />
* For [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]], see the [http://ipw3945.sourceforge.net/README.ipw3945 ipw3945 driver README]<br />
<br />
==Ethernet Controler==<br />
If you don't use Wake-on-LAN, you should disable it for your network card,<br />
because it sucks a lot of power:<br />
<br />
<code><br />
ethtool -s eth0 wol d<br />
</code><br />
<br />
If you can, try to reduce useless network activity on your ethernet<br />
segment, coming to your NIC (ie. uneeded broadcasts), those cause <br />
interrupts and CPU wakeups.<br />
<br />
==Bluetooth==<br />
When you don't need bluetooth, disable it. Because of it's radio, <br />
bluetooth is not power friendly.<br />
<br />
<code><br />
hciconfig hci0 down ; rmmod hci_usb<br />
echo disable > /proc/acpi/ibm/bluetooth<br />
</code><br />
<br />
==Modem==<br />
When was the last time you used your analog modem? If you can't remember, you probably just don't need it. If it is on a separate module in your laptop, simply remove it. Store it in a ESD safe place (like the bag in which your last addon card or hard drive was packed), in case you should need it again.<br />
<br />
==System Fans==<br />
Fans consumes power when running, so you may look at the [[ACPI fan control script]].<br />
<br />
==Misbehaving Userland==<br />
You should avoid using Beagle, Compiz, Beryl, XMMS, gnome-power-manager<br />
and Evolution while on battery.<br />
Look at the PowerTOP's [http://www.linuxpowertop.org/known.php known problems]<br />
list.<br />
<br />
Deactivate desktop animations (blinking cursor on the terms, animated wallpapers, ...): they cause regular X (therefore kernel and CPU) wakeups.<br />
<br />
In short, while on battery, you should stop all applications that don't really stay idle when you're not using them. This means applications that:<br />
* Wakes up the CPU too often (by polling something, because of too short select() timeouts, ...)<br />
* Access the disks at regular intervals<br />
* Access an hardware bus (USB, ATA, ...) at regular intervals<br />
To find those offenders run:<br />
* <code>strace -p $(pidof yourapp)</code> # for all your running applications<br />
* <code>powertop</code><br />
* <code>sysctl vm.block_dump=1</code> # and look at dmesg<br />
* <code>ps aux | awk '{print$10,$11}' | sort -n</code> # will list all running softs sorted by used cpu time<br />
Please, don't forget to fill a bug when you find such a misbehaving software.<br />
<br />
==See Also==<br />
* [[How to measure power consumption]]<br />
* [[Script for monitoring power consumption]]<br />
* Battery [[maintenance]]<br />
<br />
==External resources==<br />
* [http://www.free-it.de/archiv/talks_2005/paper-11017/paper-11017.html ''Current trends in Linux Kernel Power Management''], Dominik Brodowski, 2005<br />
* [http://www.linuxpowertop.org PowerTOP] website<br />
* [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide] from the Gentoo Linux documentation<br />
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030478.html When/where/what for low power consumption?] (thread on Linux-Thinkpad)<br />
* ''8 hours of battery life on your lap(top)'' ([http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.odp ODP]/[http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.pdf PDF]), a presentation by Pavel Machek<br />
<br />
<br />
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:A30]] [[Category:A30p]] [[Category:A31]] [[Category:A31p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:R60e]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Z61t]] [[Category:Z61e]] [[Category:TransNote]]</div>Bugmenot