<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BDKMPSS</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BDKMPSS"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/BDKMPSS"/>
	<updated>2026-06-09T03:32:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=48976</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=48976"/>
		<updated>2010-07-03T15:03:27Z</updated>

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

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

		<summary type="html">&lt;p&gt;BDKMPSS: /* Card habitually loses connection unlss using WEP */ works @ X31 @ Fedora&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Linux ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
Could anybody please confirm that the ipw2200 driver works for that card?&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;
-- [[User:Oub|Oub]] 18:46, 23 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Yes, it does. You should always use Intel's latest stable version, though, and not whatever happened to come with the distribution kernel you're using.  Usually the very latest development drivers from Intel are good as well.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Hmh|hmh]] 2006-03-24 12:07 UTC-0300&lt;br /&gt;
&lt;br /&gt;
==Difference to 2200?==&lt;br /&gt;
Is it correct, that the only difference between 2200 and 2915 is the 802.11a which is supported by 2915? Does the possible a-mode needs more power (so a 2915 needs more than a 2200 while connected to the same g-network)? --[[User:Zhenech|Zhenech]] 14:18, 11 May 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Does this card really work in an X24? ==&lt;br /&gt;
&lt;br /&gt;
I bought a card from a parts distributer, Option 27K9936, but after installing it, Windows finds the card and installs the drivers but says &amp;quot;This device cannot start (10)&amp;quot;.  I have tried both the latest Intel and IBM supplied drivers, and neither seem to help.  I have also tried updating to the latest BIOS version as well.&lt;br /&gt;
&lt;br /&gt;
== Card habitually loses connection unlss using WEP ==&lt;br /&gt;
&lt;br /&gt;
I've just got an X32 with this card installed, latest drivers on XP Pro SP3. It frequently loses connection with a Linksys WRT54G router using anything but WEP. Wondering if anyone else has encountered unreliability with this card for more sophisticated encryption protocols (WPA, WPA2)? Thanks.... -- [[User:Davidspalding|Davidspalding]] 14:48, 3 April 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I use this card in my X31, which is the same machine except for the CPU, running Fedora 10 and it works with no encryption, WEP, WPA and WPA2 without any problem. Maybe its a problem between the router and your System or a Problem of Windows/Drivers.&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 17:48, 3 April 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:BDKMPSS&amp;diff=41623</id>
		<title>User:BDKMPSS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:BDKMPSS&amp;diff=41623"/>
		<updated>2009-02-21T23:12:12Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* my ThinkPad Workstation */ minor fixup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==my ThinkPad '''''Workstation'''''==&lt;br /&gt;
ThinkPad [[:Category:X31|X31]] (Model: 2672-C2G) running [[:Category:Debian|Debian]] Testing&lt;br /&gt;
&lt;br /&gt;
===Default Features===&lt;br /&gt;
* Intel Pentium M 1.4&lt;br /&gt;
* 256 MB PC2100&lt;br /&gt;
* 40GB Hitachi HDD&lt;br /&gt;
* Intel 10/100 Ethernet controller (PXE boot enabled)&lt;br /&gt;
* CDC slot with Modem Daughter Card (MDC)&lt;br /&gt;
* MiniPCI slot with Intel PRO/Wireless LAN 2100 3B Mini PCI Adapter&lt;br /&gt;
&lt;br /&gt;
===Changed/Upgraded to/with:===&lt;br /&gt;
* Intel Pentium M 1.4 undervolted&lt;br /&gt;
* 2 GB DDR 400 RAM (Kingston KVR400X64SC3A/1G) running at 266MHz&lt;br /&gt;
* 160 GB Hitachi TravelStar 5K160 (HTS541616J9AT00)&lt;br /&gt;
* Intel Pro/Wireless 2915 ABG MiniPCI card&lt;br /&gt;
* Modem Daughter Card (MDC) removed&lt;br /&gt;
* PXE boot via Bios disabled&lt;br /&gt;
* latest BIOS/EC-Frimware (3.02/1.08)&lt;br /&gt;
&lt;br /&gt;
===why I have chosen/stick to this very model===&lt;br /&gt;
I think this is may the last Thinkpad purchase I ever made, not because I don't like it, actually I love it, but I don't like these &amp;quot;newer ones&amp;quot; (ThinkPad X40 and higher).&lt;br /&gt;
&lt;br /&gt;
For me this this very model was/is the (second) last '''''perfect''''' one, so I never got a newer one and the last known good, the X32, is not a update which is really enhancing.&lt;br /&gt;
My X31 is '''''very solid''''', '''''ultraportable''''' and '''''fast enough''''' for the &amp;quot;office&amp;quot; stuff I do with it.&lt;br /&gt;
&lt;br /&gt;
This is partly may also featured by the newer ones, but I miss some things of my X31 '''''very''''' much on them:&lt;br /&gt;
*the port-layout is much better than the &amp;quot;newer one&amp;quot;. I hate ports on the sides especially on the right one, and all newer ones have all ports there...&lt;br /&gt;
*the battery in the back makes the newer ones sort of unbalanced and causes these port-layout problems&lt;br /&gt;
*the LCD cover with this thick, wide, &amp;quot;salient&amp;quot; borders is absolutely robust and &amp;quot;unbreakable&amp;quot;. Or at least feels like this ;)&lt;br /&gt;
*the overall case feels much better engineered, like I could walk over it without doing any damage, the newer ones just don't feel like this (no I am not going to try it)&lt;br /&gt;
*its one of the last fully IBM engineered ones&lt;br /&gt;
*even if at first seemed like Lenovo could keep up the &amp;quot;legendary&amp;quot; quality, or even increase it to the old &amp;quot;pre-outsourcing&amp;quot; level, it now seems like this was wishful thinking&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Pentium_M_undervolting_and_underclocking&amp;diff=40150</id>
		<title>Pentium M undervolting and underclocking</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Pentium_M_undervolting_and_underclocking&amp;diff=40150"/>
		<updated>2008-12-07T23:10:51Z</updated>

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

		<summary type="html">&lt;p&gt;BDKMPSS: /* Eject mechanism on Dock II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Got it! Actually able to run six monitors without any conflicts. Life is good.&lt;br /&gt;
&lt;br /&gt;
Hope I doing this right. Look up the definition of novice in the dictionary and you will find my picture. That said, I have an R52 ThinkPad, a ThinkPad Dock II with an ATI FireMV 2400 PCI 128M video card in the dock PCI slot. Card supports 4 monitors. Was told by a guy at work just plug it all in, install the card drivers, set up the configuration of the monitors in display properties and your good to go. Not so. Display properties only shows 2 monitors. None of the four outputs of the card have a signal. I want to ultimately be able to use 5 monitors, the four supported by the the ATI card and the display on the R-52. Got any ideas where I can get help with this? Thanks for any help anyone can give me.&lt;br /&gt;
   Eddie  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I just installed a Nvidia Quadro NVS 50 PCI card in an attempt to add an additional monitor to my laptop (T41), and get 1920 x 1200 digital on my 24&amp;quot; widescreen.  The Nvidia is not a dual monitor card, but I thought I would be able to use it as well as the laptop's existing card (ATI Mobility Radeon 7500).  However the ATI card shows up in the hardware manager with the message &amp;quot;This device cannot start. (Code 10)&amp;quot;.  I then tried to enable the AGP as the primary video device in the BIOS (PCI was enabled).  The on-board adapter came up, and the device manager listed no conflict, but the Nvidia would not come up as I tried to extend my desktop in display props.  I got the message that I did not have admin rights to select the Nvidia, followed by messages that my drivers were not compatible with the newer version of Windows.  I have never tried to use two monitors before, so I am not sure if it is feasible to have two video cards running at the same time.  If this is possible, please let me know what I need to do, if it is not possible then I need to return the card and get one of your recommended ones.&lt;br /&gt;
&lt;br /&gt;
TIA!&lt;br /&gt;
Tony&lt;br /&gt;
----&lt;br /&gt;
Hi Tony, can't help you much, i'm afraid. I have had a Radeon 9200 PCI card in the dock for a while, using it under Win. I think setting the AGP bus as the primary one in the BIOS is the way you should go. I had troubles with my Windows not booting up at all anymore when i changed it to PCI and was sure that it was the ATI driver having problems.&lt;br /&gt;
&lt;br /&gt;
I would try to get the most recent drivers from the NVidia homepage. Best try uninstalling your drivers and reinstalling them. You might also check if your card is supported by the OMEGA drivers (http://www.omegadrivers.net).&lt;br /&gt;
&lt;br /&gt;
Good luck, Wyrfel.&lt;br /&gt;
&lt;br /&gt;
== Modify for compatibility? ==&lt;br /&gt;
&lt;br /&gt;
I have an X41 Tablet on the way and am very disappointed that the only &amp;quot;Dock&amp;quot; available is more like a glorified port replicator. While I'm sure the X41 Tablet wouldn't ''fit'' on the Dock II, do you think it would be possible to remove the docking port from the plastic and connect it to the X41, or is it a different style connector? I would really appreciate audio jacks and a PCI slot.&lt;br /&gt;
^&lt;br /&gt;
&lt;br /&gt;
== Who wrote this about the 1920 x 1200 on the dock II? ==&lt;br /&gt;
&lt;br /&gt;
This is a very important subject to me since we used to buy a lot of T series Thinkpads but dont any longer because of the lack of support for the widescreen external DVI flat panels. &lt;br /&gt;
&lt;br /&gt;
Who wrote this about the new driver from 8-11-05 - I have contacted IBM tech support (not Lenovo) and they have not heard such a thing and it is not listed - they have looked at the last video driver update to the T42p or T43p (I am looking for the 14&amp;quot; SXGA+ T42p model) with a dock II being able to drive externally 1920 x 1200 (UXGA+) WITHOUT an added PCI card. This would be NIRVANA for me.&lt;br /&gt;
&lt;br /&gt;
Do you have anymore information about this driver and have you SEEN it work at all?&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
Dean&lt;br /&gt;
&lt;br /&gt;
dean@sigma-usa.com&lt;br /&gt;
----&lt;br /&gt;
Hei Dean,&lt;br /&gt;
&lt;br /&gt;
i do not have a 1920x1200 display, but i have a 1600x1200 one which was unsupported before as well. The newest driver (upgraded via IBM Software Installer) indeed doesn't have the problem anymore which it had before with that resolution (1280x1024 was supported max). The newest Presentation Director supports the higher resolution as well.&lt;br /&gt;
&lt;br /&gt;
I actually switched back from OMEGA drivers to the newest IBM release and experienced some strange behaviour which was gone after a few reboots). I guess some parts of OMEGA were not properly uninstalled in one go.&lt;br /&gt;
&lt;br /&gt;
IBM might not know about this if they just upgraded the underlying Catalyst drivers.&lt;br /&gt;
&lt;br /&gt;
However, you might wanna get a confirmation from someone using 1920x1200 before you celebrate. ;-)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 01:16, 4 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
BTW: I merged the information that was provided here on this issue into the [[Problem with DVI throughput]] page, since it was doubled in several places and belongs there. [[User:Wyrfel|Wyrfel]] 01:48, 4 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
====newest drivers work with high resolution via DVI====&lt;br /&gt;
The above is a true statement. I have in Nov 2005 installed 3 Thinkpad T's (T42p and T43p) with 128 megs of ATI video RAM (Fire 3200) and with the Think Dock II using the pass through DVI port, i am driving Dell 20&amp;quot; WSXGA+ (1600 x 1050 widescreen) and Sony WUXGA (1900 x 1200) 23&amp;quot; widescreen flat panels. They work OUT OF THE BOX without having to install special drivers. This is a new feature of the Thinkpad line (at least for the T series).&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Low Profile PCI? IBM says Half size. ==&lt;br /&gt;
&lt;br /&gt;
I don't think that LowProfile PCI-Cards will fit in the Dock II cause of the shorter mounting bracket.&lt;br /&gt;
I just successfully plugged a standard PCI card with the dimension &lt;br /&gt;
17.5 cm (without brackets and vga connector) x 9,9 cm (without pci connector, 10,7 cm with pci connector)&lt;br /&gt;
This seems to be the maximum dimensions possible...think the 'half size' written by ibm means the length of the card, not the width, as there are full size pci cards e.g. for video editing that reach all the way to the front through a standard tower case.&lt;br /&gt;
&lt;br /&gt;
== Z60 and T60 ==&lt;br /&gt;
&lt;br /&gt;
These machines are not supported by the ''legacy'' docks, you need to use the new Z60 range of port replicators and docking stations.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 20:22, 11 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== T60 And Dual Monitors ==&lt;br /&gt;
&lt;br /&gt;
Yes, you can drive dual monitors with the ThinkPad Advanced Mini-Dock. I am running it under Windows Vista and it is great! The thing you need to do is download the ATI drivers from Lenovo and use the Catalyst Control center to disable your laptop LCD and then enable your analog monitor. By default, the DVI is enabled if both monitors are plugged in.&lt;br /&gt;
&lt;br /&gt;
--[[User:Paul317|Paul317]] 22:30, 19 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
So I can drive dual monitors with a T60 and an &amp;quot;THINKPAD ADVANCED MINI-DOCK&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
-- [[ryan.mchale@gmail.com | ryan]] 18:30, 18 April 2006 (CMT)&lt;br /&gt;
----&lt;br /&gt;
The docking solutions are listed [[Docking Solutions|here]], and indeed that includes the [[ThinkPad Advanced Mini Dock]] which supports the T60.&lt;br /&gt;
&lt;br /&gt;
I do not personally have this hardware, but you should be able to do any of the following:&lt;br /&gt;
&lt;br /&gt;
* ThinkPad LCD + Analog external monitor (VGA)&lt;br /&gt;
* ThinkPad LCD + External TV (Svideo)&lt;br /&gt;
* ThinkPad LCD + Digital external monitor (DVI)&lt;br /&gt;
* Analog external monitor (VGA) + Digital external monitor (DVI)&lt;br /&gt;
* Analog external monitor (VGA) + External TV (Svideo)&lt;br /&gt;
&lt;br /&gt;
DVI requires that you have a Dock or Port-Replicator for your ThinkPad with a DVI passthrough port on it. Also you cannot have both DVI and Svideo, since (at least historically, not sure with the new ThinkPads), the Svideo port on the ThinkPad has been blocked by the dock or port replicator and no passthrough function is provided.&lt;br /&gt;
&lt;br /&gt;
Also, I am not sure DVI is supported on the entry T60 model with GMA950 graphics.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 22:59, 19 April 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Eject mechanism on Dock II ==&lt;br /&gt;
&lt;br /&gt;
I've just acquired a used Dock II, and the eject mechanism seems to be a bit different from other Thinkpad docks and port replicators I'm familiar with.  In particular, my question concerns the the square plugs on the dock base that help eject the laptop when the eject button is pressed. On the original dock for the A and T series, the original Port Replicator, and the newer Mini-Dock, the plugs are normally flush with the base, and are pushed up when the user presses the eject button.   On the Docking Station II that I have, the plugs are spring loaded, are extruded from the base when no laptop is present, and are not affected by pressing the the eject button.  That is, on the Docking Station II, the plugs are always applying pressure pushing the laptop up, and the laptop is held in place by the locking mechanism that is released when the eject button is pressed.  Is this normal for the Docking Station II, or is there some linkage in my unit that's broken?&lt;br /&gt;
&lt;br /&gt;
TIA, &lt;br /&gt;
Sanford&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is perfectly normal and maybe was an attempt from IBM to reduce the complex mechanics of the eject mechanism of the older docks.&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 15:31, 11 July 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== R30, R31, and R32 are not supported ==&lt;br /&gt;
&lt;br /&gt;
According to [http://www-307.ibm.com/pc/support/site.wss/MIGR-4NXNTP.html Docking station, port replicator, and expansion - ThinkPad General] R30, R31, and R32 are not supported by ThinkPad Dock II.&lt;br /&gt;
&lt;br /&gt;
== Replace/unplug the noisy fan of Dock II ==&lt;br /&gt;
&lt;br /&gt;
In the information page, it is said some user might replace or unplug the noisy fan, I attempt to open the Dock II so that I could reach the fan and do something about it, does some one here knows the steps to disassemble it? The noise of the fan is really LOUD!&lt;br /&gt;
&lt;br /&gt;
Thanks ahead.&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_get_special_keys_to_work&amp;diff=38124</id>
		<title>Talk:How to get special keys to work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_get_special_keys_to_work&amp;diff=38124"/>
		<updated>2008-07-03T21:45:07Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* ThinkVantage button not recognized by xev under Hardy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
The xmodmap step doesn't seem to work when using the &amp;quot;kdb&amp;quot; driver of xorg. Here are the changes I needed to make to my setup to get the &amp;quot;back&amp;quot; and &amp;quot;forward&amp;quot; keys to work (in diff -u format);&lt;br /&gt;
&lt;br /&gt;
 --- xkb/symbols/inet.oud        2004-12-01 08:36:04.000000000 +0100&lt;br /&gt;
 +++ xkb/symbols/inet    2005-03-08 19:59:32.587636120 +0100&lt;br /&gt;
 @@ -1875,6 +1875,16 @@&lt;br /&gt;
      key &amp;lt;I76&amp;gt;  {       [ XF86AudioLowerVolume  ]       };&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
 +// IBM ThinkPad 41 Internet Keys&lt;br /&gt;
 +&lt;br /&gt;
 +partial alphanumeric_keys&lt;br /&gt;
 +xkb_symbols &amp;quot;tp41&amp;quot; {&lt;br /&gt;
 +    name[Group1]= &amp;quot;IBM ThinkPad 41 Internet Keys&amp;quot;;&lt;br /&gt;
 +&lt;br /&gt;
 +    key &amp;lt;I69&amp;gt;  {       [ F22           ]       };&lt;br /&gt;
 +    key &amp;lt;I6A&amp;gt;  {       [ F21           ]       };&lt;br /&gt;
 +};&lt;br /&gt;
 +&lt;br /&gt;
  // Trust&lt;br /&gt;
  &lt;br /&gt;
  partial alphanumeric_keys&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 --- xkb/rules/xorg.lst.oud      2004-12-01 08:36:05.000000000 +0100&lt;br /&gt;
 +++ xkb/rules/xorg.lst  2005-03-07 20:55:21.000000000 +0100&lt;br /&gt;
 @@ -97,6 +97,7 @@&lt;br /&gt;
    sven         SVEN Ergonomic 2500&lt;br /&gt;
    symplon      Symplon PaceBook (tablet PC)&lt;br /&gt;
    toshiba_s3000        Toshiba Satellite S3000&lt;br /&gt;
 +  tp41         IBM ThinkPad 41 Internet Keys&lt;br /&gt;
    trust                Trust Wireless Keyboard Classic&lt;br /&gt;
    trustda      Trust Direct Access Keyboard&lt;br /&gt;
    yahoo                Yahoo! Internet Keyboard&lt;br /&gt;
&lt;br /&gt;
 --- xkb/rules/xorg.oud  2004-12-01 08:36:05.000000000 +0100&lt;br /&gt;
 +++ xkb/rules/xorg      2005-03-07 20:45:59.000000000 +0100&lt;br /&gt;
 @@ -120,7 +120,7 @@&lt;br /&gt;
                qtronix \&lt;br /&gt;
                samsung4500 samsung4510 \&lt;br /&gt;
                sk1300 sk2500 sk6200 sk7100 \&lt;br /&gt;
 -              sven symplon toshiba_s3000 trust trustda yahoo&lt;br /&gt;
 +              sven symplon toshiba_s3000 tp41 trust trustda yahoo&lt;br /&gt;
 &lt;br /&gt;
  ! model         =       symbols&lt;br /&gt;
    $inetkbds     =       +inet(%m)&lt;br /&gt;
&lt;br /&gt;
 --- xkb/rules/xorg.xml.oud      2004-12-01 08:36:05.000000000 +0100&lt;br /&gt;
 +++ xkb/rules/xorg.xml  2005-03-07 20:52:35.000000000 +0100&lt;br /&gt;
 @@ -975,6 +975,13 @@&lt;br /&gt;
      &amp;lt;/model&amp;gt;&lt;br /&gt;
      &amp;lt;model&amp;gt;&lt;br /&gt;
        &amp;lt;configItem&amp;gt;&lt;br /&gt;
 +        &amp;lt;name&amp;gt;tp41&amp;lt;/name&amp;gt;&lt;br /&gt;
 +        &amp;lt;description&amp;gt;IBM Thinkpad 41 Internet Keys&amp;lt;/description&amp;gt;&lt;br /&gt;
 +        &amp;lt;description xml:lang=&amp;quot;nl&amp;quot;&amp;gt;IBM ThinkPad 41 internet toetsen&amp;lt;/description&amp;gt;&lt;br /&gt;
 +      &amp;lt;/configItem&amp;gt;&lt;br /&gt;
 +    &amp;lt;/model&amp;gt;&lt;br /&gt;
 +    &amp;lt;model&amp;gt;&lt;br /&gt;
 +      &amp;lt;configItem&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;trust&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;description&amp;gt;Trust Wireless Keyboard Classic&amp;lt;/description&amp;gt;&lt;br /&gt;
          &amp;lt;description xml:lang=&amp;quot;fr&amp;quot;&amp;gt;clavier classique Trust Wireless&amp;lt;/description&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Do not forget to add something like &amp;quot;+inet(tp41)&amp;quot; to /etc/X11/xorg.conf:&lt;br /&gt;
        (...)&lt;br /&gt;
        Option      &amp;quot;XkbLayout&amp;quot; &amp;quot;us_intl+inet(tp41)&amp;quot;&lt;br /&gt;
        (...)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I've filled a [https://bugs.freedesktop.org/show_bug.cgi?id=9779 bug] to freedesktop bugzilla, which has been applied.  It adds inet(thinkpad) symbols with &amp;lt;I69&amp;gt;/&amp;lt;I6A&amp;gt; keys and adds thinkpad to $inetkbds list.  So, Forward/Back keys will work out-of-box with thinkpad XkbModel.  However, thinkpadintl model is not supported... --[[User:Raorn|Raorn]] 13:25, 27 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== Not T41 specific ==&lt;br /&gt;
&lt;br /&gt;
These keys are hardly T41 specific, they can also be found on the T30, T40, T42 and I'm sure several other ThinkPads in the X, R and G lineup.&lt;br /&gt;
&lt;br /&gt;
Actually, the above patches could be completed with the information of the other special keys found on some Thinkpads (which is listed in [[How_to_get_special_keys_to_work#xmodmap_configuration]]) and submitted as a request for enhancement with [http://bugs.freedesktop.org xorg's bugzilla]. However, firefox doesn't yet recognize keysyms like XF86Back, XF86Forward, so then firefox still needs to be patched manually (unless an enhancement is requested for firefox too).&lt;br /&gt;
&lt;br /&gt;
=== XF86Back in Firefox === &lt;br /&gt;
I found that XF86Back and XF86Forward work for me with firefox.  I was able to use the following in &lt;br /&gt;
/usr/lib/firefox/chrome/browser/content/browser/browser.xul&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackKb&amp;quot; keycode=&amp;quot;XF86Back&amp;quot; command=&amp;quot;Browser:Back&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardKb&amp;quot; keycode=&amp;quot;XF86Forward&amp;quot; command=&amp;quot;Browser:Forward&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
My firefox version is Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20061201 Firefox/2.0.0.3 (Ubuntu-feisty)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This also works for me, but &amp;quot;XF86Back&amp;quot; seems to be *the same* (toggles the same command, but only in FireFox) as [Alt Gr]-Key on German keyboards, even if xev shows nothing like this. Bug in FireFox? Therefor I have stick to the F19/F20 workaround.&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] June 04 2007&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Fake ACPI events? ==&lt;br /&gt;
&lt;br /&gt;
Not all keys generate ACPI events. Maybe it is feasible to have the ibm-acpi module check the CMOS (instead of having tpb checking /dev/nvram) and generate fake ACPI events for those keys. Even if it is feasible, that is probably way to hacky for a kernel module ... Still, it would be nice to only have to use scripts triggered by ACPI events and not both scripts for ACPI events and scripts for tpb.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I think something like this is possible with ibm-acpi 0.10 already. It provides a proc file from which you can derive a table of CMOS states. You'd only have to figure the who is who of CMOS bits and write a daemon (or daemon like shell script) checking them regularly. This should be about what you suggest since tpb does the same thing with the bios ram. Of course generating ACPI events can not be done like that (or can it?), but you could trigger the ACPI action scripts directly then.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 01:02, 14 Mar 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It may be possible (I have a 770x, so don't have the special keys) to add the keys as real ACPI events, by altering the DSDT.  I've done this to enable ACPI events for Fn-(every labelled F key),Home,End,PgUp,PgDn on mine, and they aren't labelled with anything physically (no thinklight and physical brightness control).  The Embedded Controller  reports all events, including keys, by calling one of the _Qxx functions (you'll find a whole pile in the sourcecode for the DSDT).  If you then insert a fucntion in the same scope as the others like:-&lt;br /&gt;
 Method (_Q12, 0, NotSerialized) { \_SB.HKEY.MHKQ (0x1003) } //Fn-F3&lt;br /&gt;
when executed, ibm-acpi will then report an acpi event numbered 0x0001003.  You should find some functions, e.g. _Q1B For Fn-F12 identical to this.&lt;br /&gt;
&lt;br /&gt;
I found some IBM DSDT's had functions that made MKHQ calls for EC functions _Q63, _Q64, _Q4E, _Q4F, but did nothing on mine---maybe these are a good starting point.  Add a whole pile, and see if you get lucky! (At your own risk, of course... :/  But it should be pretty safe).&lt;br /&gt;
&lt;br /&gt;
Yes, the above sounds pretty identical to tpb, except with /proc/ibm/ecdump instead of /dev/nvram.  The above works very nicely, however there's luck involved in finding the right number, even if it exists!&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj|lentinj]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Fn+F6 does not seem to generate an event on t41p even if the mask is set to 0xffff and experimental=1 is passed to ibm_acpi&lt;br /&gt;
[[User:tf|tf]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Bind Fn to super or hyper ==&lt;br /&gt;
&lt;br /&gt;
Hello &lt;br /&gt;
&lt;br /&gt;
Is it possible to bind Fn via Xmodmap to a key modifier such as hyper or super? Thanks&lt;br /&gt;
[[User:Oub|Oub]] 13:14, 6 February 2006 (CET): &lt;br /&gt;
----&lt;br /&gt;
I doubt it. The event for the {{key|Fn}} key is generated at release (as opposed to holding it where it serves it's usual special function). Hence you can't use it as a modifier. [[User:Wyrfel|Wyrfel]] 22:52, 6 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
==Bind Fn 12 say to F34 ==&lt;br /&gt;
Thanks Wyrfel for your reply, in order to display my question better, I use a new header: can I bind all the Fn Fx to hay F34 and the like?&lt;br /&gt;
[[User:Oub|Oub]] 21:33, 10 February 2006 (CET):&lt;br /&gt;
----&lt;br /&gt;
You can do this with all key '''combinations''' that support xmodmap (see the table). That means you can't do it with {{key|Fn}}}{{key|F12}}, because that combination doesn't generate a key event at all (it only generates an APM/ACPI event. Hence there is nothing vor xmodmap to remap.&lt;br /&gt;
&lt;br /&gt;
But what is your wider focus goal? I'm sure that what you want to do can be realized, anyway: You can write an ACPI script and event file for {{key|Fn}}{{key|F12}} and have the script start some tool that sends a F34 key to the X server. I'm sure this is possible.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 00:03, 11 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
==Can't bind Fn 12 ==&lt;br /&gt;
&lt;br /&gt;
Hello &lt;br /&gt;
&lt;br /&gt;
I  am using a R51 and I have compiled ibm-acpi monolithic in the kernel (not as module, maybe this is a mistake?). Anyway, I am using &lt;br /&gt;
suspend2, which I compiled in the kernel as well. Now I have bound &lt;br /&gt;
''to hibernate '' first to Fn 4, with the following script&lt;br /&gt;
 event=button[ /]sleep  &lt;br /&gt;
 action=/usr/local/sbin/mihibernate &lt;br /&gt;
&lt;br /&gt;
This works fine. Now I want to do the same for Fn12, so following the key table I did:  &lt;br /&gt;
&lt;br /&gt;
 event=button[/] ibm/hotkey HKEY 00000080 0000100c  &lt;br /&gt;
 action=/usr/local/sbin/mihibernate &lt;br /&gt;
&lt;br /&gt;
But that does not work. What is the problem? I tried even   &lt;br /&gt;
 echo enable,0xffff &amp;gt;/proc/acpi/ibm/hotkey &lt;br /&gt;
without success. Can anybody help me? &lt;br /&gt;
[[User:Oub|Oub]] 16:27, 4 March 2006 (CET):&lt;br /&gt;
----&lt;br /&gt;
The proper event line is&lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Also, make sure that you are not using [thinkpad-acpi]. If &amp;lt;tt&amp;gt;event=button[ /]sleep&amp;lt;/tt&amp;gt; works for {{key|Fn}}{{key|F4}}, that indicates that you do. It might block the ibm-acpi driver. Check your kernel config and disable any thinkpad acpi driver except ibm-acpi.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 21:58, 4 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
:Hello&lt;br /&gt;
:&lt;br /&gt;
:It is odd, I am pretty sure, that I do not use [thinkpad-acpi], but [ibm-acpi], although event=button[ /]sleep works for FnF4, in any case I found out that &lt;br /&gt;
:&lt;br /&gt;
: event=(button/power|ibm/hotkey HKEY 00000080 0000100c)&lt;br /&gt;
:&lt;br /&gt;
:Works! What do you think of adding a subsection to the [[How to get special keys to work]] page, with some examples, like the following:&lt;br /&gt;
:&lt;br /&gt;
:from ''/etc/acpi/events/battery'':&lt;br /&gt;
 event=(button/power|ibm/hotkey HKEY 00000080 0000100c)  &lt;br /&gt;
 action=/usr/local/sbin/hibernate&lt;br /&gt;
:from ''/etc/acpi/events/lid''&lt;br /&gt;
 event=button/lid&lt;br /&gt;
 action=/usr/local/bin/mysleepram&lt;br /&gt;
:from ''/etc/acpi/events/sleepbtn''&lt;br /&gt;
 event=(button/sleep|ibm/hotkey HKEY 00000080 00001004)&lt;br /&gt;
 action=/usr/local/bin/mysleepram&lt;br /&gt;
:&lt;br /&gt;
:(Also ''event=button/sleep '' works for me)&lt;br /&gt;
:and then restart acpi:&lt;br /&gt;
:&lt;br /&gt;
 /etc/init.d/acpid restart&lt;br /&gt;
:&lt;br /&gt;
:[[User:Oub|Oub]] 13:22, 5 March 2006 (CET):&lt;br /&gt;
----&lt;br /&gt;
What you do with&lt;br /&gt;
 event=(button/power|ibm/hotkey HKEY 00000080 0000100c)  &lt;br /&gt;
is to make a logical nonexclusive OR between&lt;br /&gt;
 event=button/power&lt;br /&gt;
and&lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
. If the first works, the whole thing works. So that's pretty logical.&lt;br /&gt;
&lt;br /&gt;
Please, do a {{cmdroot|dmesg &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; grep thinkpad-acpi}} and do a {{cmdroot|dmesg &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; grep ibm-acpi}}. What is the output in either case?&lt;br /&gt;
&lt;br /&gt;
I see no sense in putting examples to the page that only confuse people because they are not correct. ibm-acpi generates the events listed in the table and nothing else. If you get something like &amp;lt;tt&amp;gt;button/sleep&amp;lt;/tt&amp;gt; it's not ibm-acpi generating it. You are running Debian, right? Let's hope they didn't patch the driver to generate different events.&lt;br /&gt;
&lt;br /&gt;
Also, you can always do {{cmdroot|tail -f /var/log/acpid}} to have a life view of the generated events.&lt;br /&gt;
&lt;br /&gt;
I am pretty sure that you are using thinkpad-acpi or - if not so - that something else must interfere.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 04:49, 6 March 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
---- &lt;br /&gt;
&lt;br /&gt;
:Hi &lt;br /&gt;
:&lt;br /&gt;
:Ok I admit everything is very odd. For the start, I seem to use &lt;br /&gt;
:ibm-acpi. As I said I am Debian,  but I compiled my own kernel :(2.6.10)(but not as a module, maybe this was a bad idee??)  and I used :the ibm-acpi driver which comes shipped with that kernel. I did not :download the driver from the official http://ibm-acpi.sourceforge.net/ :site. Here is the output of &lt;br /&gt;
:&lt;br /&gt;
:dmesg | grep acpi&lt;br /&gt;
 Kernel command line: ro  root=/dev/hda6 acpi_sleep=s3_bios&lt;br /&gt;
 tbxface-0118 [02] acpi_load_tables      : ACPI Tables successfully acquired&lt;br /&gt;
 evxfevnt-0094 [03] acpi_enable           : Transition to ACPI mode successful&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [df6ddaa8]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c1464768]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c1467328]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c146bba8]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c146b628]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c146b3e8]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c146b268]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c146dde8]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c1470d68]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c1470568]&lt;br /&gt;
 acpi_bus-0081 [06] acpi_bus_get_device   : Error getting context for object [c14719a8]&lt;br /&gt;
 ibm_acpi: IBM ThinkPad ACPI Extras v0.8&lt;br /&gt;
 ibm_acpi: http://ibm-acpi.sf.net/&lt;br /&gt;
 acpi_bus-0081 [08] acpi_bus_get_device   : Error getting context for object [c1467328]&lt;br /&gt;
 ibm_acpi: dock device not present&lt;br /&gt;
&lt;br /&gt;
:I don't understand the errors but anyway. Now the odd thing is that indeed the following works&lt;br /&gt;
:&lt;br /&gt;
 event=button[ /]sleep&lt;br /&gt;
 action=/usr/local/sbin/hibernate &lt;br /&gt;
:but   &lt;br /&gt;
 event=button[/]sleep  &lt;br /&gt;
 action=/usr/local/sbin/hibernate &lt;br /&gt;
&lt;br /&gt;
:Does not work. But from what you said, using the ibm_acpi neither of '''these strings ''' should  work? So I don't understand what is going on. [[User:Oub|Oub]] 20:28, 6 March 2006 (CET):&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
With any reasonably new kernel (2.6.16 in Thinkpad terms :-) ) and a good DSDT (say, like the one that comes inside the T43), you can get two classes of events: ACPI events (as in native ACPI events), and ibm-acpi hotkey events.&lt;br /&gt;
&lt;br /&gt;
This has nothing to do with thinkpad-acpi.&lt;br /&gt;
&lt;br /&gt;
Look under /proc/acpi/buttons.  If you have sleep and maybe hibernate/suspend in there (I don't know how fn+f12 is called when properly supported through ACPI DSDT, the T43 doesn't support it like that), then your Thinkpad can, and will generate proper ACPI events without the help of ibm-acpi.  This is valid for a complete ACPI config of kernel 2.6.16 with all modules loaded.&lt;br /&gt;
&lt;br /&gt;
And it will generate regular ibm-acpi hotkey events if you enable the feature and use the correct mask, which may or may not confuse the thinkpad (I am not sure the correct DSDT handlers the BIOS expect to run are called in this case).&lt;br /&gt;
&lt;br /&gt;
-- [[User:Hmh|hmh]] 2006-05-26 13:20 UTC&lt;br /&gt;
&lt;br /&gt;
==Turn on/off Wifi on Fn5 ==&lt;br /&gt;
Hi&lt;br /&gt;
&lt;br /&gt;
I hope this is the last question. I use a crude way to activate and deactivate my wificard: I remove and insert the relevant modules, with 2 simple scripts. Now the question is how can I bind Fn5 so, that it turns on and off the wificard? With my approach I need to fire up two scripts, and that I cannot bind to one button. Thanks &lt;br /&gt;
[[User:Oub|Oub]] 17:57, 5 March 2006 (CET):&lt;br /&gt;
&lt;br /&gt;
Try a {{cmdroot|cat /proc/acpi/ibm/bluetooth}}. Maybe it returns the state. If not, the other way would be to check if the USB bluetooth controller device is listed in {{path|/proc/bus/usb}} somewhere. It shouldn't be there if bluetooth is switched off and should be there if it is on.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 04:49, 6 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Split page?==&lt;br /&gt;
This page is getting too long. Maybe we should split it. I'd suggest moving the &amp;quot;Example applications&amp;quot; to a seperate page. &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 22:46, 3 April 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==DIY Firefox 1.5 xpi==&lt;br /&gt;
Here's how I maneged a Firefox 1.5 compatible plugin (source: google). Note that the wiki eats some of the xml tags (so look at the source too)&lt;br /&gt;
&lt;br /&gt;
 $ ls -1R tp41.xpi&lt;br /&gt;
 tp41.xpi/:&lt;br /&gt;
 chrome&lt;br /&gt;
 chrome.manifest&lt;br /&gt;
 install.rdf&lt;br /&gt;
 &lt;br /&gt;
 tp41.xpi/chrome:&lt;br /&gt;
 content&lt;br /&gt;
 &lt;br /&gt;
 tp41.xpi/chrome/content:&lt;br /&gt;
 tp41keysOverlay.xul&lt;br /&gt;
&lt;br /&gt;
 $ cat tp41.xpi/chrome.manifest&lt;br /&gt;
 content     tp41keys    chrome/content/&lt;br /&gt;
 overlay chrome://browser/content/browser.xul chrome://tp41keys/content/tp41keysOverlay.xul&lt;br /&gt;
&lt;br /&gt;
 $ cat tp41.xpi/install.rdf&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;RDF xmlns=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
      xmlns:em=&amp;quot;http://www.mozilla.org/2004/em-rdf#&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Description about=&amp;quot;urn:mozilla:install-manifest&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;em:id&amp;gt;tp41keys@tp41keys.org&amp;lt;/em:id&amp;gt;&lt;br /&gt;
     &amp;lt;em:version&amp;gt;1.0&amp;lt;/em:version&amp;gt;&lt;br /&gt;
     &amp;lt;em:type&amp;gt;2&amp;lt;/em:type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;!-- Target Application this extension can install into,&lt;br /&gt;
          with minimum and maximum supported versions. --&amp;gt;&lt;br /&gt;
     &amp;lt;em:targetApplication&amp;gt;&lt;br /&gt;
       &amp;lt;Description&amp;gt;&lt;br /&gt;
         &amp;lt;em:id&amp;gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&amp;lt;/em:id&amp;gt;&lt;br /&gt;
         &amp;lt;em:minVersion&amp;gt;1.0+&amp;lt;/em:minVersion&amp;gt;&lt;br /&gt;
         &amp;lt;em:maxVersion&amp;gt;1.5.0.*&amp;lt;/em:maxVersion&amp;gt;&lt;br /&gt;
       &amp;lt;/Description&amp;gt;&lt;br /&gt;
     &amp;lt;/em:targetApplication&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;!-- Front End MetaData --&amp;gt;&lt;br /&gt;
     &amp;lt;em:name&amp;gt;IBM ThinkPad 41 Keys&amp;lt;/em:name&amp;gt;&lt;br /&gt;
     &amp;lt;em:description&amp;gt;Two Browser Navigation Keys&amp;lt;/em:description&amp;gt;&lt;br /&gt;
     &amp;lt;em:creator&amp;gt;Paul Bolle&amp;lt;/em:creator&amp;gt;&lt;br /&gt;
     &amp;lt;em:homepageURL&amp;gt;http://www.example.com/tp41keys.xpi&amp;lt;/em:homepageURL&amp;gt;&lt;br /&gt;
   &amp;lt;/Description&amp;gt;&lt;br /&gt;
 &amp;lt;/RDF&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ cat tp41.xpi/chrome/content/tp41keysOverlay.xul&lt;br /&gt;
 &amp;lt;?xml version='1.0'?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE overlay&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;overlay id='tp41keysOverlay'&lt;br /&gt;
     xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'&amp;gt;&lt;br /&gt;
 &amp;lt;!-- For Firefox --&amp;gt;&lt;br /&gt;
     &amp;lt;keyset id='mainKeyset'&amp;gt;&lt;br /&gt;
         &amp;lt;key id='tp41BackKey' keycode='VK_F21' command='Browser:Back' /&amp;gt;&lt;br /&gt;
         &amp;lt;key id='tp41ForwardKey' keycode='VK_F22' command='Browser:Forward' /&amp;gt;&lt;br /&gt;
     &amp;lt;/keyset&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/overlay&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ cat .mozilla/firefox/*.default/extensions/tp41keys\@tp41keys.org &lt;br /&gt;
 ~/tp41.xpi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ibm-acpi hint==&lt;br /&gt;
&lt;br /&gt;
I would like to add a hint under ibm-acpi to enable all hotkeys at boot, but I can not seem to get the HINT template to work:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{HINT|To enable all hotkeys on boot in debian, create the file /etc/modprobe.d/ibm_acpi containing 'options ibm_acpi hotkey=enable,0xffff'}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It outputs:&lt;br /&gt;
&lt;br /&gt;
{{HINT|To enable all hotkeys on boot in debian, create the file /etc/modprobe.d/ibm_acpi containing 'options ibm_acpi hotkey=enable,0xffff'}}&lt;br /&gt;
&lt;br /&gt;
Any ideas on how to get this to work? Also, does it even belong in the page?&lt;br /&gt;
&lt;br /&gt;
--[[User:Paul Strefling|Paul Strefling]] 23:22, 10 August 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you use ''ibm-apci'' as a module and have  {{path|/proc}} filesystem enabled, you can tune it by&lt;br /&gt;
adding to  {{path|/etc/modules.d/ibm_acpi}}:&lt;br /&gt;
&lt;br /&gt;
     post-install ibm-acpi /bin/echo enable,0x00d0 &amp;gt; /proc/acpi/ibm/hotkey&lt;br /&gt;
I added it after ''alias ibm-acpi ibm_acpi''. I'm not sure - if the order make sence. Params can be differ - it is an example.&lt;br /&gt;
&lt;br /&gt;
Also works fine with {{cmdroot|modprobe}} (don't forget to run  {{cmdroot|modules-update}} after editing  {{path|/etc/modules.d/*}}).&lt;br /&gt;
&lt;br /&gt;
(tested on Gentoo with vanilla kernel).&lt;br /&gt;
&lt;br /&gt;
==Lock Screen with hotkey on models before T60==&lt;br /&gt;
&lt;br /&gt;
In case it's of interest, it's possible to simulate the &amp;quot;lock screen&amp;quot; (Fn+F2) function of T60s on prior models. I wrote a little [http://forums.gentoo.org/viewtopic-p-3814885.html HOWTO] on the Gentoo forums explaining how to configure Fn+F3 to fire up xscreensaver instead of blanking the screen (though this could easily be changed to Fn+F2 instead). This was for my T42 but I presume it'd work on other models too. Perhaps it'd be worth mentioning in the Remarks column of the Fn+F2 row of the table at the top of the article? --[[User:Waveform|Waveform]] 03:42, 2 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== Toggle touchpad with Fn-F8 ==&lt;br /&gt;
&lt;br /&gt;
I often want to switch off the touchpad, since I tend to produce spurious taps while typing, sending my cursor to random places on the screen. To toggle touchpad operation, I use this little script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # toggle touchpad operation&lt;br /&gt;
 # August 2, 2006&lt;br /&gt;
 # (c) Michael Schmuker&lt;br /&gt;
 #&lt;br /&gt;
 if synclient -l | grep TouchpadOff | grep -q 0; then &lt;br /&gt;
     synclient TouchpadOff=1;&lt;br /&gt;
     kdialog --passivepopup &amp;quot;Touchpad is OFF&amp;quot; 2;&lt;br /&gt;
 else &lt;br /&gt;
     synclient TouchpadOff=0;&lt;br /&gt;
     kdialog --passivepopup &amp;quot;Touchpad is ON&amp;quot; 2;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
This checks if the touchpad is on or off, and toggles its state accordingly. Note that it uses kdialog to display a notification on the desktop. This obviously works only with KDE, but there certainly is a similar mechanism for other desktop environments.&lt;br /&gt;
&lt;br /&gt;
Now this script needs to be bound to the Fn-F8-key. On Suse 10.2, the ACPI-events produced by the thinkpad special keys are processed by powersaved. You need to edit the file {{path|/usr/lib/powersave/scripts/thinkpad_acpi_events}}.&lt;br /&gt;
There, thinkpad-ACPI events are bound to their actions. Where it comes to Fn-F8, just change it to the following (supposed you put the above script to {{path|/usr/local/bin/toggleTouchpad}} and make it executable):&lt;br /&gt;
 4104)   HOTKEY=&amp;quot;Fn+F8&amp;quot; #toggle touchpad on/off&lt;br /&gt;
    /usr/local/bin/toggleTouchpad&lt;br /&gt;
 ;;&lt;br /&gt;
Save the file, and the next time you press Fn-F8 you will toggle your touchpad. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, the notification via kdialog is not working when toggling with Fn-F8. If anyone finds out how to solve this: Let us know!&lt;br /&gt;
&lt;br /&gt;
'''Possible Solutions:'''&lt;br /&gt;
&lt;br /&gt;
1. You can instead use syndaemon, which can turn off the touchpad for a brief period while you are typing.&lt;br /&gt;
&lt;br /&gt;
2. All acpi events are run as root. Therefore, to enable the kdialog, you will need to incorporate a script to determine which user is running on DISPLAY :0.0; something like the following should work (put it in your acpi file)&lt;br /&gt;
 if ps -e | grep -q -E '(enlightenment|kwin|dwm)'; then&lt;br /&gt;
        X_USER=`/usr/bin/who | /usr/bin/sed -n &amp;quot;s,^\(.*\):0 .*$,\1,p&amp;quot;`&lt;br /&gt;
        X_USER=${X_USER/ /};&lt;br /&gt;
        export DISPLAY=:0.0&lt;br /&gt;
 fi&lt;br /&gt;
 if [ -n &amp;quot;$X_USER&amp;quot; ]; then su $X_USER -c &amp;quot;/usr/local/bin/toggleTouchpad&amp;quot;;&lt;br /&gt;
 else /usr/local/bin/toggleTouchpad;&lt;br /&gt;
 fi&lt;br /&gt;
--[[User:Ppurka|Ppurka]] 18:43, 14 September 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== What about older machines? ==&lt;br /&gt;
&lt;br /&gt;
On the 600X, Fn+PgUp and Fn+PgDn control speaker volume and Fn+Backspace toggles speaker mute. In addition, Fn+F2 is shows a battery icon and the manual states that it brings up a battery monitor. It hasn't worked since Windows 95. Fn+F11 shows a dripping tap and is meant to select a power mode. Fn+F8 has no icon but toggles screen expansion.&lt;br /&gt;
&lt;br /&gt;
On the 750P, Fn+F5 and Fn+F6 control speaker volume, and I think Fn+F2 and Fn+F11 show the same icons as the 600X. However, that machine certainly doesn't have ACPI. Fn+F8 toggles screen inversion (black shows as white and vice-versa) on the monochrome models and Fn+F9 toggles brightness inversion (normal characters become bright and bright characters become normal). Those two only affect the internal LCD and not the signal on the VGA connector.&lt;br /&gt;
&lt;br /&gt;
--[[User:Whizkid|Whizkid]] 19:32, 27 November 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
Please add that information to the [[Default meanings of special keys]] page, including the description of the icons and functions.  As for how to use these keys, it depends.  How well does thinkpad-acpi work on the 600X and 750P?  If it doesn't work at all, then you have to resort to tpb, which may have no idea how to access these keys in NVRAM :-(&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 14:18, 30 November 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I've updated the descriptions of functions on that page for 750P, 560E and 600X. There are no descriptions of icons anywhere on that page. An example to start with would be nice. The 750 family doesn't have ACPI at all.&lt;br /&gt;
--[[User:Whizkid|Whizkid]] 14:09, 25 December 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== ThinkVantage button not recognized by xev under Hardy ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
I would like to set up the ThinkVantage button as XF86LaunchA, but I simply can't as it doesn't give any signal in xev. Any ideas how could I fix this?&lt;br /&gt;
&lt;br /&gt;
Thanks, [[User:Nagyv|Nagyv]] 22:54, 3 July 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As the button is no &amp;quot;real keyboard button&amp;quot; it does not generate a keycode, but an acpi event (maybe thinkpad_acpi is needed for it to work) which you can set up to do what ever you want (well, not everything). see the article.&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 23:45, 3 July 2008 (CEST)&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Pentium_M_undervolting_and_underclocking&amp;diff=38122</id>
		<title>Pentium M undervolting and underclocking</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Pentium_M_undervolting_and_underclocking&amp;diff=38122"/>
		<updated>2008-07-03T18:14:27Z</updated>

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

		<summary type="html">&lt;p&gt;BDKMPSS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==my ThinkPad '''''Workstation'''''==&lt;br /&gt;
ThinkPad [[:Category:X31|X31]] (Model: 2672-C2G) running [[:Category:Debian|Debian]] Testing&lt;br /&gt;
&lt;br /&gt;
===Default Features===&lt;br /&gt;
* Intel Pentium M 1.4&lt;br /&gt;
* 256 MB PC2100&lt;br /&gt;
* 40GB Hitachi HDD&lt;br /&gt;
* Intel 10/100 Ethernet controller (PXE boot enabled)&lt;br /&gt;
* CDC slot with Modem Daughter Card (MDC)&lt;br /&gt;
* MiniPCI slot with Intel PRO/Wireless LAN 2100 3B Mini PCI Adapter&lt;br /&gt;
&lt;br /&gt;
===Changed/Upgraded to/with:===&lt;br /&gt;
* Intel Pentium M 1.4 undervolted&lt;br /&gt;
* 2 GB DDR 400 RAM (Kingston KVR400X64SC3A/1G) running at 266MHz&lt;br /&gt;
* 160 GB Hitachi TravelStar 5K160 (HTS541616J9AT00)&lt;br /&gt;
* Intel Pro/Wireless 2915 ABG MiniPCI card&lt;br /&gt;
* Modem Daughter Card (MDC) removed&lt;br /&gt;
* PXE boot via Bios disabled&lt;br /&gt;
* newest BIOS/EC-Frimware (3.02/1.08)&lt;br /&gt;
&lt;br /&gt;
===why I have chosen/stick to this very model===&lt;br /&gt;
I think this is may the last Thinkpad purchase I ever made, not because I don't like it, actually I love it, but I don't like the &amp;quot;newer ones&amp;quot; (ThinkPad X40 and higher).&lt;br /&gt;
&lt;br /&gt;
For me this this very model was/is the (second) last '''''perfect''''' one, so I never got a newer one and the last known good, the X32, is not a update which is really enhancing.&lt;br /&gt;
My X31 is '''''very solid''''', '''''ultraportable''''' and '''''fast enough''''' for the &amp;quot;office&amp;quot; stuff I do with it.&lt;br /&gt;
&lt;br /&gt;
This is partly may also featured by the newer ones, but I miss some things of my X31 '''''very''''' much on them:&lt;br /&gt;
*the port-layout is much better than the &amp;quot;newer one&amp;quot;. I hate ports on the sides especially on the right one, and all newer ones have all ports there...&lt;br /&gt;
*the LCD cover with this thick, wide, &amp;quot;salient&amp;quot; borders is absolutely robust and &amp;quot;unbreakable&amp;quot;. Or at least feels like this ;)&lt;br /&gt;
*the overall case feels much better engineered, like I could walk over it without doing any damage, the newer ones just don't feel like this (no I am not going to try it)&lt;br /&gt;
*its one of the last fully IBM crafted ones, as I am not comfortable with this strange 3rd party manufacturing outsourcing somewhere in deeper China witch started right after the X31 was constructed&lt;br /&gt;
*Even if it first seemed like Lenovo could keep up the &amp;quot;legendary&amp;quot; quality, or even increase it to the old &amp;quot;pre-outsourcing&amp;quot; level, it now seems like this was wishful thinking&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Dothan)&amp;diff=38093</id>
		<title>Intel Pentium M (Dothan)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Dothan)&amp;diff=38093"/>
		<updated>2008-06-28T15:10:34Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: shouldn't use generation two times in different contexts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Pentium M &amp;amp;quot;Dothan&amp;amp;quot; is the second generation Pentium M processor. The fabrication process was reduced to 90 nm and the L2-Cache was doubled to 2 MB. The second revision of Dothan Pentium M processors features a 533 MHz FSB and accompanies the Sonoma [[Centrino]] platform.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
*1.0 - 2.26 GHz clock speed&lt;br /&gt;
*400/533 MHz FSB&lt;br /&gt;
*170 Million Transistors&lt;br /&gt;
*90 nm fabrication process&lt;br /&gt;
*2 MB L2-Cache&lt;br /&gt;
*[[SpeedStep|(Enhanced) EIST]], [[QuickStart and Deeper Sleep|Deeper Sleep]]&lt;br /&gt;
* XD-Bit (on most models)&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]] instruction sets&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || FSB (MHz)|| XD-Bit || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! high !! low !! high !! low !! &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Pentium M&lt;br /&gt;
|-&lt;br /&gt;
| 780 || 2266 || 800 || 533 || &amp;amp;bull; || 1.372 || ... || 27 || 11 || {{R52}}, {{T43}}. {{T43p}}&lt;br /&gt;
|-&lt;br /&gt;
| 770 || 2133 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R52}}, {{T43}}, {{T43p}}&lt;br /&gt;
|-&lt;br /&gt;
| 765 || 2100 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| 760 || 2000 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R52}}, {{T43}}, {{T43p}}, {{Z60m}}, {{Z60t}}&lt;br /&gt;
|-&lt;br /&gt;
| 755 || 2000 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{T42p}}, {{X32}}&lt;br /&gt;
|-&lt;br /&gt;
| 750 || 1866 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R52}}, {{T43}}, {{T43p}}, {{Z60m}}, {{Z60t}}&lt;br /&gt;
|-&lt;br /&gt;
| 745 || 1800 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{T42}}, {{T42p}}, {{X32}}, {{R51}}&lt;br /&gt;
|-&lt;br /&gt;
| 740 || 1733 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R51e}}, {{R52}}, {{T43}}, {{Z60m}}, {{Z60t}}&lt;br /&gt;
|-&lt;br /&gt;
| 735 || 1700 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{R50e}}, {{R51}}, {{T42}}, {{X32}}&lt;br /&gt;
|-&lt;br /&gt;
| 730 || 1600 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{T43}}&lt;br /&gt;
|-&lt;br /&gt;
| 725a || 1600 || 600 || 400 || || ... || ... || ... || ... || {{R50e}}, {{R51}}, {{R52}}&lt;br /&gt;
|-&lt;br /&gt;
| 725 || 1600 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{R50e}}, {{R51}}, {{T42}}, {{X32}}&lt;br /&gt;
|-&lt;br /&gt;
| 715a || 1500 || 600 || 400 || || ... || ... || ... || ... || {{R50e}}, {{R51}} &lt;br /&gt;
|-&lt;br /&gt;
| 715 || 1500 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{R50e}}, {{R51}}&lt;br /&gt;
|-&lt;br /&gt;
| 710 || 1400 || ... || 400 || || ... || ... || ... || ... || {{R50e}}, {{R51}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Pentium M (Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 778 || 1600 || ... || 400 || &amp;amp;bull; || 1.116 || ... || 10 || ... || {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
|-&lt;br /&gt;
| 758 || 1500 || 600 || 400 || &amp;amp;bull; || 1.116 || 0.988 || 10 || ... || {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
|-&lt;br /&gt;
| 738 || 1400 || ... || 400 || || 1.116 || 0.988 || 10 || ... || {{X40}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Pentium M (Ultra Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 773 || 1300 || ... || 400 || &amp;amp;bull; || ... || ... || ... || ... || &lt;br /&gt;
|-&lt;br /&gt;
| 753 || 1200 || ... || 400 || &amp;amp;bull; || 0.940 || 0.812 || 5 || ... || {{X41T}}&lt;br /&gt;
|-&lt;br /&gt;
| 733J || 1100 || ... || 400 || &amp;amp;bull; || .... || ... || ... || ... || &lt;br /&gt;
|-&lt;br /&gt;
| 733 || 1100 || ... || 400 || || 0.940 || 0.812 || 5 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| 723 || 1000 || ... || 400 || || 0.940 || 0.812 || 5 || ... || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The max. Core Temperature is 100&amp;amp;deg;C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
You should use the following for GCC version 3.4.4 and later if you have a Pentium M:&lt;br /&gt;
 -Os -march=pentium-m -pipe&lt;br /&gt;
&lt;br /&gt;
For GCC version 3.3.5 and earlier use the following:&lt;br /&gt;
 -Os -march=pentium3 -msse2 -pipe&lt;br /&gt;
&lt;br /&gt;
Also, if you don't plan to use debugging information, then you can safely add the following to either of the above for a possible performance improvement:&lt;br /&gt;
 -fomit-frame-pointer&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Intel Pentium M (Banias)]]&lt;br /&gt;
* [[Intel Core Duo (Yonah)]]&lt;br /&gt;
* [[Pentium M undervolting and underclocking]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Pentium_M_undervolting_and_underclocking&amp;diff=38092</id>
		<title>Pentium M undervolting and underclocking</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Pentium_M_undervolting_and_underclocking&amp;diff=38092"/>
		<updated>2008-06-28T14:48:55Z</updated>

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

		<summary type="html">&lt;p&gt;BDKMPSS: /* Using xrandr to do useful things */ fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
'''X RandR '''is used to configure which display ports are enabled (e.g. LCD, VGA and DVI), and to configure display modes and properties such as orientation, reflection and DPI.&lt;br /&gt;
&lt;br /&gt;
This is the simplest and most powerful way to get multi-monitor systems working using recent versions of Linux such as {{Ubuntu 7.10}} with graphics chipsets such as the Intel 945GM/GMS and ATI Radeon found in Thinkpads.&lt;br /&gt;
&lt;br /&gt;
'''xrandr''' is the command line interface to the RandR X extension. As usual with X, good documentation is hard to find; first try the following commands:&lt;br /&gt;
&lt;br /&gt;
* {{cmduser|xrandr --help}}&lt;br /&gt;
* {{cmduser|man xrandr}}&lt;br /&gt;
&lt;br /&gt;
* for Intel graphics: {{cmduser|man intel}}&lt;br /&gt;
* for ATI graphics: {{cmduser|man radeon}}&lt;br /&gt;
&lt;br /&gt;
The rest of this page refers to a laptop with a built in 1024x768 pixel screen and an external 1600x1200 VGA monitor. Simply replace the relevant numbers with your own system specifications and all should work fine.&lt;br /&gt;
&lt;br /&gt;
== Supported drivers ==&lt;br /&gt;
 {{Ubuntu 7.10}} '''Gutsy Gibbon'''&lt;br /&gt;
* X.org [[intel]] driver, version ??? (included in Xorg ???) and later. Ubuntu version: [https://launchpad.net/ubuntu/+source/xserver-xorg-video-intel/2:2.1.1-0ubuntu2  2:2.1.1-0ubuntu2] with [https://launchpad.net/ubuntu/gutsy/i386/xrandr/1:1.2.2-0ubuntu1 xrandr 1:1.2.2-0ubuntu1]&lt;br /&gt;
&lt;br /&gt;
* X.org [[radeon]] driver, 6.7.192 and later (in ubuntu [http://packages.ubuntu.com/gutsy/x11/xserver-xorg-video-ati gutsy] and [http://packages.ubuntu.com/hardy/x11/xserver-xorg-video-ati hardy], but they still have [http://bugs.launchpad.net/bugs/148408 very serious issues] for some Thinkpads).&lt;br /&gt;
&lt;br /&gt;
== xorg.conf ==&lt;br /&gt;
Recent versions of xorg.conf intended for use with xrandr 1.2 considerably simplify the video section of the configuration. If you upgrading from an earlier version you may find your existing xorg.conf works against the effective deployment of xrandr. So it is best to start with a new Xorg configuration.&lt;br /&gt;
&lt;br /&gt;
'''an updated Xorg.conf should:'''&lt;br /&gt;
* omit dual Device/Screen/Monitor sections&lt;br /&gt;
* omit MonitorLayout option and Screen lines from the remaining Device section&lt;br /&gt;
* omit dual Screen lines from the ServerLayout section&lt;br /&gt;
* omit RightOf/LeftOf indication to the remaining Screen line in ServerLayout section&lt;br /&gt;
* add a &amp;quot;Virtual 2048 2048&amp;quot; line in SubSection &amp;quot;Display&amp;quot; to create a large virtual screen &lt;br /&gt;
&lt;br /&gt;
To create a new xorg.conf or Ubuntu and other Debian based distributions connect the external display to the VGA port, turn on that display, and run&lt;br /&gt;
    {{cmduser|sudo dpkg-reconfigure -phigh xserver-xorg}}&lt;br /&gt;
 &lt;br /&gt;
The resulting {{path|/etc/X11/xorg.conf}} should include something like&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier	&amp;quot;Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller&amp;quot;&lt;br /&gt;
        Driver		&amp;quot;intel&amp;quot;&lt;br /&gt;
        BusID		&amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
        '''# ADD THIS IF YOUR LAPTOP DOES NOT HAVE A TV CONNECTOR or DOCKING STATION '''&lt;br /&gt;
        '''Option          &amp;quot;monitor-TV&amp;quot;   &amp;quot;TV&amp;quot; '''&lt;br /&gt;
    EndSection&lt;br /&gt;
    Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier	&amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
        Option		&amp;quot;DPMS&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
   ''' # ADD THIS IF YOUR LAPTOP DOES NOT HAVE A TV CONNECTOR or DOCKING STATION '''&lt;br /&gt;
   '''Section &amp;quot;Monitor&amp;quot; '''&lt;br /&gt;
        '''Identifier      &amp;quot;TV&amp;quot; '''&lt;br /&gt;
        '''Option          &amp;quot;Ignore&amp;quot; &amp;quot;True&amp;quot; '''&lt;br /&gt;
   EndSection '''&lt;br /&gt;
    Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
        Identifier	&amp;quot;Default Screen&amp;quot;&lt;br /&gt;
        Device		&amp;quot;Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller&amp;quot;&lt;br /&gt;
        Monitor		&amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
        DefaultDepth	24&lt;br /&gt;
    ...&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
            Depth		24&lt;br /&gt;
            Modes		&amp;quot;1600x1200&amp;quot; &amp;quot;1280x1024&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
            '''# ADD A VIRTUAL LINE TO PROVIDE FOR THE LARGEST SCREENS YOU WILL HOTPLUG '''&lt;br /&gt;
            '''Virtual              2048 2048 '''&lt;br /&gt;
        EndSubSection&lt;br /&gt;
    EndSection&lt;br /&gt;
    Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
        Identifier	&amp;quot;Default Layout&amp;quot;&lt;br /&gt;
        Screen		&amp;quot;Default Screen&amp;quot;&lt;br /&gt;
        InputDevice	&amp;quot;Generic Keyboard&amp;quot;&lt;br /&gt;
        InputDevice	&amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
        InputDevice     &amp;quot;stylus&amp;quot;	&amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
        InputDevice     &amp;quot;cursor&amp;quot;	&amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
        InputDevice     &amp;quot;eraser&amp;quot;	&amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
        InputDevice	&amp;quot;Synaptics Touchpad&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
after creating a clean Xorg.conf restart X and logon&lt;br /&gt;
&lt;br /&gt;
You may find you have a display only on the external VGA screen at its default max resolution, do not worry xrandr can fix this.&lt;br /&gt;
&lt;br /&gt;
== Using  {{cmduser|xrandr}} ==&lt;br /&gt;
&lt;br /&gt;
===First discover what we have ===&lt;br /&gt;
Open a terminal window to use the command line: 'Applications:Accessories:Terminal'&lt;br /&gt;
&lt;br /&gt;
{{HINT|First look at the 'help' and 'man' pages. }}&lt;br /&gt;
&lt;br /&gt;
 {{cmduser|xrandr --help}}&lt;br /&gt;
 {{cmduser|man xrandr}}&lt;br /&gt;
&lt;br /&gt;
To find what version of xrandr is running, type the following command:&lt;br /&gt;
 {{cmduser| xrandr -v}}&lt;br /&gt;
    Server reports RandR version 1.2&lt;br /&gt;
&lt;br /&gt;
To query what screens are connected, type the following: (The output shown indicates nothing is connected to the VGA port.)&lt;br /&gt;
 {{cmduser| xrandr -q }}&lt;br /&gt;
 Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1920 x 1440&lt;br /&gt;
 VGA disconnected (normal left inverted right)&lt;br /&gt;
  LVDS connected 1024x768+0+0 (normal left inverted right) 304mm x 228mm&lt;br /&gt;
    1024x768       60.0*+   50.0  &lt;br /&gt;
    800x600        60.3  &lt;br /&gt;
    640x480        60.0     59.9  &lt;br /&gt;
 TV disconnected (normal left inverted right)&lt;br /&gt;
&lt;br /&gt;
If you see the 'TV disconnected' line but have neither TV connector nor docking station (eg Thinkpad R60e) then add to the Monitor and Device sections of xorg.conf as noted above. This will prevent the external (VGA) flashing off for a few seconds every time xrandr is used. (Newer versions of the intel driver may fix this.) &lt;br /&gt;
 &lt;br /&gt;
The same command as above, but with the VGA monitor plugged in and powered off, should give something like the following output: (The VGA monitor is now shown as 'connected'.)&lt;br /&gt;
 {{cmduser| xrandr -q }}&lt;br /&gt;
 Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1920 x 1440&lt;br /&gt;
 VGA connected (normal left inverted right)&lt;br /&gt;
    1920x1440@60   60.0  &lt;br /&gt;
    1920x1440      60.0  &lt;br /&gt;
    1600x1200@60   60.0  &lt;br /&gt;
    1600x1200      60.0  &lt;br /&gt;
    1280x960       60.0  &lt;br /&gt;
    640x480@60     60.0  &lt;br /&gt;
 LVDS connected 1024x768+0+0 (normal left inverted right) 304mm x 228mm&lt;br /&gt;
    1024x768       60.0*+   50.0  &lt;br /&gt;
    800x600        60.3  &lt;br /&gt;
    640x480        60.0     59.9  &lt;br /&gt;
 TV disconnected (normal left inverted right)&lt;br /&gt;
&lt;br /&gt;
Powering on the VGA monitor and issuing the same command again will give the following output: (The size and position of the VGA output within the virtual screen is now shown.)&lt;br /&gt;
 {{cmduser| xrandr -q }}&lt;br /&gt;
 Screen 0: minimum 320 x 200, current 2624 x 1200, maximum 2624 x 2048&lt;br /&gt;
 VGA connected 1600x1200+1024+0 (normal left inverted right) 367mm x 275mm&lt;br /&gt;
    1600x1200      60.0*+&lt;br /&gt;
    1920x1440@60   60.0  &lt;br /&gt;
    1600x1200@60   60.0  &lt;br /&gt;
    640x480@60     60.0  &lt;br /&gt;
    640x480        60.0  &lt;br /&gt;
 LVDS connected 1024x768+0+0 (normal left inverted right) 304mm x 228mm&lt;br /&gt;
    1024x768       60.0*+   50.0  &lt;br /&gt;
    800x600        60.3  &lt;br /&gt;
    640x480        60.0     59.9  &lt;br /&gt;
 TV disconnected (normal left inverted right)&lt;br /&gt;
&lt;br /&gt;
For bug reporting and diagnosis use xrandr with the verbose option:&lt;br /&gt;
 {{cmduser| xrandr --verbose}}&lt;br /&gt;
&lt;br /&gt;
===Using xrandr to do useful things===&lt;br /&gt;
In general the commands will specify the output name and either --off or --auto. In the examples here the external screen is named ''VGA'', as used by the Intel driver, with an ATI card the name will probably be ''VGA-0''. In general use {{cmduser| xrandr -q}} to discover the appropriate output names for your configuration. The --auto option will select the preferred resolution for each output, this is starred(*) in the {{cmduser| xrandr -q}} listing and is normally the best resolution available. It is also possible to set a particular mode eg --mode 1024x768.&lt;br /&gt;
&lt;br /&gt;
First clone the two screens, (the smaller screen will display the top left portion of the virtual screen)&lt;br /&gt;
 {{cmduser| xrandr --output LVDS --auto --output VGA --auto --same-as LVDS}}&lt;br /&gt;
&lt;br /&gt;
To turn off the VGA monitor. &lt;br /&gt;
 {{cmduser| xrandr  --output VGA --off }}&lt;br /&gt;
&lt;br /&gt;
To turn the VGA monitor back on, with its viewport to the right of the laptop monitor:&lt;br /&gt;
 {{cmduser| xrandr --output VGA --auto --right-of LVDS}}&lt;br /&gt;
This will probably give an error message similar to:&lt;br /&gt;
    xrandr: screen cannot be larger than 1600x1600 (desired size 2624x1200)&lt;br /&gt;
&lt;br /&gt;
This can be fixed by editing xorg.conf and changing the ''virtual'' line (see example above) to something like:&lt;br /&gt;
    Virtual 2624 1200&lt;br /&gt;
Note that the maximum supported size of the virtual desktop for the Intel 945GM series of chipset with 3D acceleration enabled, is 2048x2048. The virtual screen can be larger but DRI will be disabled. This may matter if you like games and compiz desktop effects, or if you want Google Earth to display in better than geological time. Obviously the larger the virtual desktop, the more graphics memory is used. So for good performance with a shared graphics system such as Intel the Virtual should be no larger than necessary. &lt;br /&gt;
&lt;br /&gt;
It is possible to set screen locations as ''--left-of'', ''--right-of'', ''--above'' and ''--below''. Assuming displays sizes of 1024x768 and 1200x1600:&lt;br /&gt;
 {{cmduser| xrandr --output LVDS --auto --output VGA --auto --right-of LVDS}}&lt;br /&gt;
 and&lt;br /&gt;
 {{cmduser| xrandr --output LVDS --mode 1024x768 --pos 0x0 --output VGA  --mode 1600x1200 --pos 1024x0}}&lt;br /&gt;
are equivalent. Both will place the external monitor to the right of the laptop display within the virtual screen.&lt;br /&gt;
&lt;br /&gt;
If the Virtual size is only 2048 wide the above command will fail as the combined width of the two displays exceeds the maximum virtual size. However it is possible to have overlap the display viewports. So to fit within the 2048 limit:&lt;br /&gt;
 {{cmduser| xrandr --output VGA --mode 1024x768 --pos 0x0 --output VGA  --mode 1600x1200 --pos 448x0}}&lt;br /&gt;
&lt;br /&gt;
===[[Sample Fn-F7 script]]===&lt;br /&gt;
For further examples of the use of xrandr commands and a script to switch the display using the Fuction key Fn7 see [[Sample Fn-F7 script]].&lt;br /&gt;
&lt;br /&gt;
== Summing up ==&lt;br /&gt;
&lt;br /&gt;
'''xrandr''' enables dynamic resizing of screens, switching both external and laptop screens on and off, and the applications windows can be dragged from one screen to the other. None of this requires configuring anything special for {{path|/etc/X11/xorg.conf}}.&lt;br /&gt;
&lt;br /&gt;
===the Virtual screen=== &lt;br /&gt;
A Virtual line is needed in the 'Display' SubSection of the of xorg.conf; it determines the size of the frame buffer into which the displays must fit. Without it the maximum virtual size will be limited to the size of the largest display that was connected when X was started. The maximum virtual size cannot be changed once X starts so needs to be large enough to accommodate the largest combination of displays you want to hotplug without having to restart X. If it is greater than 2048x2048 and you are using an Intel 945 (or less) chip then DRI is not possible. Making the Virtual size square makes rotation easy. A bigger Virtual requires more memory. &lt;br /&gt;
&lt;br /&gt;
[[Image:Intel-DualHead.png|monitor windows must fit within the virtual screen]] &lt;br /&gt;
&lt;br /&gt;
=== Output port names ===&lt;br /&gt;
&lt;br /&gt;
'''Intel driver'''&lt;br /&gt;
* '''VGA'''  -  Analog VGA output&lt;br /&gt;
* '''LVDS''' -  Laptop panel&lt;br /&gt;
* '''TV'''   -  Integrated TV output&lt;br /&gt;
* '''TMDS-1''' - First DVI SDVO output&lt;br /&gt;
* '''TMDS-2''' - Second DVI SDVO output&lt;br /&gt;
The '''SDVO''' and '''DVO TV''' outputs are not supported by the driver at this time.&lt;br /&gt;
&lt;br /&gt;
'''[[radeon]] driver '''&lt;br /&gt;
* '''VGA-0'''  - Analog VGA output&lt;br /&gt;
* '''LVDS'''   - Laptop panel&lt;br /&gt;
* '''S-video'''     - Integrated TV output&lt;br /&gt;
* '''DVI-0'''  - DVI output&lt;br /&gt;
&lt;br /&gt;
===Note for Gnome users===&lt;br /&gt;
Gnome places the menu bar on screen 0 and thus with the Intel chip and driver Screen 0 (the external VGA monitor) will always be the default display if it is connected. This applies even if the external monitor is switched off but the cable connected: if you have a blank laptop monitor check if you have anything plugged in to the VGA port. Also beware that desktop icons and windows can disappear into the invisible parts of the virtual display. (see diagram below)&lt;br /&gt;
&lt;br /&gt;
===Note for Ubuntu Gutsy users===&lt;br /&gt;
There is a  Graphical Configuration Tool, ([https://launchpad.net/ubuntu/+source/displayconfig-gtk/0.2+20070731ubuntu1 displayconfig-gtk]) included with {{Ubuntu 7.10}}. At present [https://bugs.launchpad.net/ubuntu/+source/displayconfig-gtk it dosn't work too well].It is found in the menu: 'System: Administration: Screens and Graphics'. As using it will wreck your xorg.conf  I recommend removing it.&lt;br /&gt;
&lt;br /&gt;
== Gleanings ==&lt;br /&gt;
=== Notes from xserver-xorg-video-intel.readme === &lt;br /&gt;
'''Known Limitations'''&lt;br /&gt;
- No support for &amp;quot;zaphod mode&amp;quot; dualhead.  This is the mode in which two&lt;br /&gt;
Device sections are placed in the config file, and doesn't support DRI or&lt;br /&gt;
many other features.  Instead, only &amp;quot;MergedFB-style&amp;quot; dualhead is supported.&lt;br /&gt;
- No support for X Screens larger than 2048 pixels in either direction&lt;br /&gt;
before the 965.  This reflects hardware limitations in the x direction on&lt;br /&gt;
those older chips, and limits dualhead functionality.  It may be possible to&lt;br /&gt;
extend the limit vertically on these older chips.&lt;br /&gt;
- i855 XV may cause hangs.  This was present in the previous release, and no&lt;br /&gt;
workaround is known.&lt;br /&gt;
- SDVO TV-out cards not supported.  This should be fixed in the next&lt;br /&gt;
release.&lt;br /&gt;
- Gray output with integrated TV-out and PAL TVs.&lt;br /&gt;
- EXA support unstable on i845.&lt;br /&gt;
- Some GM965 systems, such as the Thinkpad T61, probe the TV as being connected&lt;br /&gt;
even when no output connector is available. &lt;br /&gt;
&lt;br /&gt;
'''Common issues not caused by the driver'''&lt;br /&gt;
- Font sizes (DPI) are wrong.  Some displays incorrectly report their&lt;br /&gt;
physical size, which is harmless on most OSes that always assume 96dpi&lt;br /&gt;
displays.  This can be fixed through quirks for specific monitors in the X&lt;br /&gt;
Server, and the output of xrandr --prop along with a physical measurement of&lt;br /&gt;
the screen size in a bug report against the server can help get that fixed.&lt;br /&gt;
- gnome-panel is located in the middle of the screen.  gnome-panel places&lt;br /&gt;
itself within head #0's boundaries, which doesn't work well with a second&lt;br /&gt;
head covering the same area as head #0 but larger.&lt;br /&gt;
- Older resolution-changing applications have poor results in&lt;br /&gt;
multihead systems.  Previous extensions such as RandR 1.1 exposed only a&lt;br /&gt;
single output to client programs, and those requests map poorly to multi-head&lt;br /&gt;
systems.  Currently, those requests map to just one of the outputs in the&lt;br /&gt;
RandR 1.2 environment, and those applications need to be updated to RandR 1.2&lt;br /&gt;
API when available for better results.&lt;br /&gt;
&lt;br /&gt;
=== Xorg mailing list ===&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-June/025469.html FreeDesktop.org 2007-June 025469]&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-June/025484.html FreeDesktop.org 2007-June 025484]&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-July/026340.html FreeDesktop.org 2007-July 026340]&lt;br /&gt;
&lt;br /&gt;
the 3D engine has an 11 bit coordinate space at one point making it&lt;br /&gt;
impossible to draw to areas beyond 2048x2048. At another point, it has a&lt;br /&gt;
stride limit of 8192 bytes, so you can't even draw to a subset of a&lt;br /&gt;
larger frame buffer.&lt;br /&gt;
&lt;br /&gt;
One more bit in both of these registers would have solved the problem&lt;br /&gt;
for pretty much any supportable monitor configuration (the chip can only&lt;br /&gt;
support two single-channel DVI outputs at the most; 1920 is the widest&lt;br /&gt;
size supported at single-channel speeds).&lt;br /&gt;
&lt;br /&gt;
For multiple monitors, the driver could allocate multiple frame buffers&lt;br /&gt;
and step through them one at a time with appropriate clipping. It would&lt;br /&gt;
be icky, but could be made to work.&lt;br /&gt;
&lt;br /&gt;
Of course, the latest hardware (965G/965GM) has plenty of coordinate&lt;br /&gt;
space, which does tend to reduce the odds that someone will get excited&lt;br /&gt;
enough to go fix the driver for older chips.&lt;br /&gt;
&lt;br /&gt;
The Gnome menu bar lands on Xinerama Screen 0 at this&lt;br /&gt;
point, which isn't currently something that you can set through RandR. On Intel the allocation to Screen 0 is determined by CRTC order and LVDS only runs on screen 1.&lt;br /&gt;
&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-June/026053.html FreeDesktop.org 2007-June 026053]&lt;br /&gt;
&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-August/027616.html Blanking of external screen when using xrandr]&lt;br /&gt;
&lt;br /&gt;
 it's checking to see if you have anything connected to the TV output.&lt;br /&gt;
 To do that, it needs to temporarily unplug the VGA.&lt;br /&gt;
  You can avoid this by ignoring the TV output&lt;br /&gt;
    Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier      &amp;quot;TV&amp;quot;&lt;br /&gt;
        Option          &amp;quot;Ignore&amp;quot; &amp;quot;True&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
    Section &amp;quot;Device&amp;quot;&lt;br /&gt;
       Option      &amp;quot;monitor-TV&amp;quot; &amp;quot;TV&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
 If your machine cannot ever have a TV adapter (even with a docking station),&lt;br /&gt;
 we can add a quirk to the driver to never look at the TV output.  That requires &lt;br /&gt;
 the pci subsystem values (from lspci -n -v) to plug into the quirk table.&lt;br /&gt;
&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-August/027632.html default for 'Virtual']&lt;br /&gt;
 &amp;gt; Version 2.1.1-0ubuntu2 seems to set the default Virtual size (maximum &lt;br /&gt;
 &amp;gt; screen size) to 1920 x 1920, if there is no entry in xorg.conf. I take &lt;br /&gt;
 &amp;gt; it the maximum screen size for the i915 chipset family is 2048 x 2048, &lt;br /&gt;
 &amp;gt; so why not have it at that? This would make dualscreen setups a bit easier.&lt;br /&gt;
   The default settings is found by taking the largest resolution in either &lt;br /&gt;
 x or y dimension and making a square from that. This allows for easy &lt;br /&gt;
 rotation should you want to do so.&lt;br /&gt;
   I believe you should be able to do dual screen up to 8192x8192, though &lt;br /&gt;
 only through two monitors (Only two pipes are available for output), but &lt;br /&gt;
 that 3D acceleration is only supported up to 2048x2048. Thus as soon as &lt;br /&gt;
 you set your virtual size above 2048x2048, you lose 3D acceleration.&lt;br /&gt;
   The current driver cannot reallocate the frame buffer, so whatever size&lt;br /&gt;
 you start with is the maximum the screen can ever become, and that this&lt;br /&gt;
 amount of physical memory is tied down for the whole X server run.&lt;br /&gt;
&lt;br /&gt;
[http://lists.freedesktop.org/archives/xorg/2007-August/027670.html Primary output for Laptop + external screen]&lt;br /&gt;
 &amp;gt;the desired behavior of the video &lt;br /&gt;
 &amp;gt; drivers in typical laptop situations with an internal display and an &lt;br /&gt;
 &amp;gt; external screen attached (extending the desktop).&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
 &amp;gt; Currently for example the intel driver uses the external screen as the &lt;br /&gt;
 &amp;gt; primary output. It is listed first with xrandr. I'm not sure if this is &lt;br /&gt;
 &amp;gt; intentional or just coincidence.&lt;br /&gt;
     It's coincidence -- the laptop hardware has two crtcs, and the LVDS can&lt;br /&gt;
 only be driven by the second.&lt;br /&gt;
     Note that RandR doesn't really want the order to be significant; it&lt;br /&gt;
 would be better if the desktop environment knew about outputs and could&lt;br /&gt;
 refer to a specific output as 'primary' or 'holds toolbar' or whatever.&lt;br /&gt;
&lt;br /&gt;
[mailto:gekkoman@illimitable.com &amp;amp;nbsp;] Uncovered a workaround for black and white TV-out &amp;quot;known limitation&amp;quot; listed above on a intel 945GM chipset running i810-2.1.1 driver and xrandr-1.2.2. Get TV running in black and white. Then run command.&lt;br /&gt;
&lt;br /&gt;
xrandr --output TV --set TV_FORMAT PAL; xrandr --output TV --mode 1024x768&lt;br /&gt;
&lt;br /&gt;
substitute TV_FORMAT and mode as required.  Note that the command &amp;quot;xrandr --output TV --set TV_FORMAT PAL&amp;quot; gives an error but appears to work as the subsequent mode change converts screen to colour.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notes for X31,T30 / Radeon 7000,Radeon 7500 users ===&lt;br /&gt;
My {{X31}} has an [[ATI Mobility Radeon 7000]] with only 16MB RAM. This is not enough for big screens and DRI. Neither with [[radeon]]-default virtual size of 2048x1200, nor with my customized virtual of 2304x1024 (for one 1024x768 and one 1280x1024 screen). But this only applies for 24-bit color depth. Now I'm using only 16-bit and DRI works fine with the big virtual screen.&lt;br /&gt;
&lt;br /&gt;
If you really want 24-bit depth, and do not need a bigger screen as your LCD, try setting Virtual to &amp;quot;1024 768&amp;quot;, this will enable DRI in 24-bit too, but you won't be able to extend your screen anymore (well, clone will still work though).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* XRandR 1.2&lt;br /&gt;
** [http://gitweb.freedesktop.org/?p=xorg/proto/randrproto.git;f=randrproto.txt;a=blob RandR 1.2 protocol specifications] - this defines the model and terminology&lt;br /&gt;
** [http://wiki.x.org/wiki/XDC2007Notes#head-11895d48723a8d0308571bec8829b7cc3ef87d7b In Xorg Developer Conference 2007]&lt;br /&gt;
** [http://burtonini.com/blog/computers/randr-2007-02-06-17-50 tutorial blog post]&lt;br /&gt;
&lt;br /&gt;
* Ubuntu&lt;br /&gt;
** Version 7.10 (Gutsy) of Ubuntu includes support for Xorg 7.3 with RandR 1.2 [https://wiki.ubuntu.com/Xorg7.3Integration Xorg 7.3]&lt;br /&gt;
** [[Installing Ubuntu on a ThinkPad R60e]] for a revised and more specific version of this page&lt;br /&gt;
** [https://launchpad.net/ubuntu/+source/xserver-xorg-video-intel/ Ubuntu source for Intel]&lt;br /&gt;
** [https://bugs.launchpad.net/xserver-xorg-driver-ati/+bug/148408 gutsy version of xserver-xorg-ati has some major problems on ATI Radeon] for ([[:Category:X Series]]) and possibly others.  The solution is to downgrade to the [https://launchpad.net/ubuntu/feisty/i386/xserver-xorg-video-ati/1:6.6.3-2ubuntu6 feisty version]&lt;br /&gt;
&lt;br /&gt;
* X.org&lt;br /&gt;
** [http://lists.freedesktop.org/mailman/listinfo/xorg FreeDesktop.org mailing list]&lt;br /&gt;
** [http://lists.freedesktop.org/archives/xorg/ FreeDesktop.org Xorg archive]&lt;br /&gt;
&lt;br /&gt;
* Useful page to supplement the minimal documentation  [http://wiki.x.org/wiki/Development/Documentation/HowVideoCardsWork How video cards work]&lt;br /&gt;
* [http://wiki.debian.org/XStrikeForce/ReleaseNotes xserver-xorg-core  and xserver-xorg-video-intel might cause some trouble but also brings nice features.]&lt;br /&gt;
* [http://andrew.mcmillan.net.nz/taxonomy/term/18 Seamless Monitor Hotplugging with X Windows]&lt;br /&gt;
* [http://www.intellinuxgraphics.org/  Linux Graphics Drivers from Intel]&lt;br /&gt;
* [http://zdzichubg.jogger.pl/2007/05/07/xrandr-1-2-sweetness/ blog post] with xrandr-1.2 commands and photos. Narrative is in polish.&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:BDKMPSS&amp;diff=36505</id>
		<title>User:BDKMPSS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:BDKMPSS&amp;diff=36505"/>
		<updated>2008-02-20T00:00:20Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: removed my homepage... sold the domain&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==my ThinkPad '''''Workstation'''''==&lt;br /&gt;
ThinkPad [[:Category:X31|X31]] (Model: 2672-C2G) running [[:Category:Debian|Debian]] Testing&lt;br /&gt;
&lt;br /&gt;
===Default Features===&lt;br /&gt;
* Intel Pentium M 1.4&lt;br /&gt;
* 256 MB PC2100&lt;br /&gt;
* 40GB Hitachi HDD&lt;br /&gt;
* Intel 10/100 Ethernet controller (PXE boot enabled)&lt;br /&gt;
* CDC slot with Modem Daughter Card (MDC)&lt;br /&gt;
* MiniPCI slot with Intel PRO/Wireless LAN 2100 3B Mini PCI Adapter&lt;br /&gt;
&lt;br /&gt;
===Changed/Upgraded to/with:===&lt;br /&gt;
* 2 GB DDR 400 RAM (Kingston KVR400X64SC3A/1G) running at 266MHz&lt;br /&gt;
* 120 GB Hitachi TravelStar 4K120 (HTS421212H9AT00)&lt;br /&gt;
* Intel Pro/Wireless 2915 ABG MiniPCI card&lt;br /&gt;
* Modem Daughter Card (MDC) removed&lt;br /&gt;
* PXE boot via Bios disabled&lt;br /&gt;
* newest BIOS/EC-Frimware (3.02/1.08)&lt;br /&gt;
&lt;br /&gt;
===why I have chosen/stick to this very model===&lt;br /&gt;
I think this is may the last Thinkpad purchase I ever made, not because I don't like it, actually I love it, but I don't like the &amp;quot;newer ones&amp;quot; (ThinkPad X40 and higher).&lt;br /&gt;
&lt;br /&gt;
For me this this very model was/is the (second) last '''''perfect''''' one, so I never got a newer one and the last known good, the X32, is not a update which is really enhancing.&lt;br /&gt;
My X31 is '''''very solid''''', '''''ultraportable''''' and '''''fast enough''''' for the &amp;quot;office&amp;quot; stuff I do with it.&lt;br /&gt;
&lt;br /&gt;
This is partly may also featured by the newer ones, but I miss some things of my X31 '''''very''''' much on them:&lt;br /&gt;
*the port-layout is much better than the &amp;quot;newer one&amp;quot;. I hate ports on the sides especially on the right one, and all newer ones have all ports there...&lt;br /&gt;
*the LCD cover with this thick, wide, &amp;quot;salient&amp;quot; borders is absolutely robust and &amp;quot;unbreakable&amp;quot;. Or at least feels like this ;)&lt;br /&gt;
*the overall case feels much better engineered, like I could walk over it without doing any damage, the newer ones just don't feel like this (no I am not going to try it)&lt;br /&gt;
*its one of the last fully IBM crafted ones, as I am not comfortable with this strange 3rd party manufacturing outsourcing somewhere in deeper China witch started right after the X31 was constructed&lt;br /&gt;
*Even if it first seemed like Lenovo could keep up the &amp;quot;legendary&amp;quot; quality, or even increase it to the old &amp;quot;pre-outsourcing&amp;quot; level, it now seems like this was wishful thinking&lt;br /&gt;
&lt;br /&gt;
==things related to (my) ThinPads I am currently on==&lt;br /&gt;
I am currently start to build my own &amp;quot;Debian Testing on the X31&amp;quot;-how to, leaving the &amp;quot;simple installation&amp;quot;, but aiming at the configuration.&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Automatically_reduce_brightness&amp;diff=36493</id>
		<title>Automatically reduce brightness</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Automatically_reduce_brightness&amp;diff=36493"/>
		<updated>2008-02-18T21:47:29Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* The idea */ clarification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The idea ==&lt;br /&gt;
When watching someone working with an iBook I noticed that the brightness automatically faded to the lowest level after a few seconds of inactivity. I think that this is a simple way to save power. I wrote a c-daemon which uses the XScreenSaver extension to check whether the user is active. If he is not, it lowers the brightness to a specific level. When he is active again, the brightness is reset to the previous level.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This Feature is implemented in the &amp;quot;gnome-power-manager&amp;quot; (at least from gnome 2.14) and can be used without this script (Prerequisites are needed anyway). Enable it under Gnome's Power management settings ([[:Category:Debian|Debian]] Etch: Gnome-Menu/Desktop/Preferences/Power Management) -&amp;gt; General-Tab -&amp;gt; &amp;quot;Dim the laptop panel when idle&amp;quot;. &amp;quot;when idle&amp;quot; in this case means, when the gnome-screensaver sets the session idle. Change time at Gnome's Screensaver settings ([[:Category:Debian|Debian]] Etch: Gnome-Menu/Desktop/Preferences/Screensaver). If you want to see the actual content of the screen when dimmed, you should disable &amp;quot;Activate screensaver when session is idle&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
A recent kernel with the [[ibm-acpi]] driver (You should have a directory called {{path|/sys/class/backlight/ibm/}} or {{path|/sys/class/backlight/thinkpad_screen/}}).&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Download the [http://www.pberndt.com/Programme/Linux/brightd/_download/latest.phpc brightness control daemon]&lt;br /&gt;
# Unpack it and chdir into the {{path|brightd}} directory&lt;br /&gt;
# Call {{cmduser|make}}&lt;br /&gt;
# Move the {{path|brightd}} executable into a directory like {{path|/usr/local/bin}}&lt;br /&gt;
# Put {{cmduser|brightd -d}} into your {{path|~/.Xsession}} (or another distro-specific startup script)&lt;br /&gt;
# Change the permissions of {{path|/sys/class/backlight/ibm/brightness}} so that your user can write to that file&lt;br /&gt;
&lt;br /&gt;
See the README for more detailled instructions and command line parameters.&lt;br /&gt;
&lt;br /&gt;
== Example installation for Gentoo linux and XFCE4 ==&lt;br /&gt;
The following is an example which shows how to install brightd manually. The prefered way to install brightd on gentoo is to use the [http://bugs.gentoo.org/show_bug.cgi?id=177214 ebuild from bugzilla].&lt;br /&gt;
 $ wget -o /dev/null -O brightd.tar.bz2 &amp;quot;http://www.pberndt.com/raw/Programme/Linux/brightd/_download/brightd-0.3_pre2.tar.bz2&amp;quot;&lt;br /&gt;
 $ tar xjf brightd.tar.bz2&lt;br /&gt;
 $ cd brightd-*/&lt;br /&gt;
 $ make&lt;br /&gt;
 gcc -lX11 -lXss -o brightd brightd.c&lt;br /&gt;
 $ make install&lt;br /&gt;
 install -Ds brightd //usr/bin/brightd&lt;br /&gt;
 install -D brightd.1 //usr/share/man/man1/brightd.1&lt;br /&gt;
 $ cd /etc/xdg/xfce4&lt;br /&gt;
 $ vi xinitrc&lt;br /&gt;
 73Gi&lt;br /&gt;
 /usr/local/bin/brightd -s 5 -w 2 -d&lt;br /&gt;
 &amp;lt;escape&amp;gt;:x &lt;br /&gt;
 $ cd /etc/init.d/&lt;br /&gt;
 $ cat &amp;gt; permissions&lt;br /&gt;
 start() {&lt;br /&gt;
         ebegin &amp;quot;Setting permissions on /sys&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
         chmod g+w /sys/class/backlight/*/brightness&lt;br /&gt;
         chgrp wheel /sys/class/backlight/*/brightness&lt;br /&gt;
 &lt;br /&gt;
         eend $?&lt;br /&gt;
 }&lt;br /&gt;
 $ chmod a+x permissions&lt;br /&gt;
 $ rc-update add permissions boot&lt;br /&gt;
 $ ./permissions start&lt;br /&gt;
&lt;br /&gt;
Done. Restart X to see it working. Have a look at the &amp;quot;-x&amp;quot; parameter if you intend to start the daemon from an init-script.&lt;br /&gt;
&lt;br /&gt;
== Example installation for Debian Sid ==&lt;br /&gt;
brightd isn't yet in the official Debian archives ([http://bugs.debian.org/419329 an ITP was filled]), but you can get precompiled binaries for unstable from [[User:Zhenech|Zhenech]]'s page.&lt;br /&gt;
&lt;br /&gt;
{{cmduser|wget http://debian.die-welt.net/pool/main/brightd/brightd_0.1-1_i386.deb}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|dpkg -i brightd_0.1-1_i386.deb}}&lt;br /&gt;
&lt;br /&gt;
Done. Relogin into your X session and brightd will be started. You can change this and other settings by editing {{path|/etc/default/brightd}}.&lt;br /&gt;
{{NOTE|Changing permissions is not needed, because the binary is installed suid-root.}}&lt;br /&gt;
&lt;br /&gt;
== Possible problems ==&lt;br /&gt;
=== brightd does not fade, screensaver deactivated ===&lt;br /&gt;
On my Debian Sid box, brightd can run for hours and just do nothing. This happens because it thinks the screensaver is deactivated and screen shouldn't be faded (useful while watching videos).&lt;br /&gt;
But in fact the screensaver isn't deactivated. To solve this problem, just execute the following command before starting bright:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xset s default}}&lt;br /&gt;
&lt;br /&gt;
=== brightd says it is fading, but does not ===&lt;br /&gt;
On my Z61m {{path|/sys/class/backlight/ibm/brightness}} is 0 after the laptop boots up. As long it is 0, brightd does nothing, because it thinks, brightness is already as low as possible, so I need to initialize the brightness-level before using brightd:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 7&amp;gt;/sys/class/backlight/ibm/brightness}}&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Code/tp-fancontrol&amp;diff=36158</id>
		<title>Talk:Code/tp-fancontrol</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Code/tp-fancontrol&amp;diff=36158"/>
		<updated>2008-01-21T19:31:05Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: you have to use &amp;quot;libata&amp;quot;, please use the discussion page on &amp;quot;Fan_control_scripts&amp;quot; (http://www.thinkwiki.org/wiki/Talk:Fan_control_scripts)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CodeHeader|&lt;br /&gt;
|filename=tp-fancontrol&lt;br /&gt;
|context=[[ACPI fan control script#Comprehensive_bash_script_with_fine_control_over_fan_speed]]&lt;br /&gt;
|author=[[User:Thinker|Thinker]] and [[User:Spiney|Spiney]]&lt;br /&gt;
|license=GPL v2 or later, or GFDL v1.2 or later&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Please use [[Talk:Fan_control_scripts]] to post bugs, questions and other &amp;quot;discussion&amp;quot;-items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Discussion ===&lt;br /&gt;
&lt;br /&gt;
Great work, guys!&lt;br /&gt;
&lt;br /&gt;
I have a hitachi HTS548080M9AT00 in my T42 (2373-M1U).&amp;lt;br /&amp;gt;&lt;br /&gt;
It DOES provide the SENSE CONDITION command&amp;lt;br /&amp;gt;&lt;br /&gt;
(works with hdparm -H /dev/hda, or your perl script read_hitachi_temp /dev/hda)&amp;lt;br /&amp;gt;&lt;br /&gt;
however, my system does not provide /sys/block/$DEV/device/model&amp;lt;br /&amp;gt;&lt;br /&gt;
...so the script gives an error about not finding that file, and does the energy-taxing read.&lt;br /&gt;
&lt;br /&gt;
I'm not sure where else to look for that model number ... it's in dmesg, of course. Perhaps it would be appropriate to change the script to just read that information once, from an alternate source (in the case 'model' is not provided in /sys/block/hda/device) rather than every time it polls?&lt;br /&gt;
&lt;br /&gt;
My fan seems to be running pretty consistently at level 2, about 3000 rpm, whether I use the script or leave it to auto-control.&lt;br /&gt;
&lt;br /&gt;
~David Emerson&lt;br /&gt;
&lt;br /&gt;
You have to use the &amp;quot;libata&amp;quot;-kernel-driver for this function to work!&lt;br /&gt;
It is not used (by default) if you have a IDE drive (as you do).&lt;br /&gt;
You can use it, but your drive than appears as sda, not hda.&lt;br /&gt;
&lt;br /&gt;
Please use [[Talk:Fan_control_scripts]] for discussions about the script and MOVE both our posts there. I think your question was asked there some time ago.&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 20:31, 21 January 2008 (CET)&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Hard_disk_drives&amp;diff=34248</id>
		<title>Talk:Hard disk drives</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Hard_disk_drives&amp;diff=34248"/>
		<updated>2007-11-02T14:36:50Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Modding ZIF connectors for AT connection in X41 */  &amp;quot;hint&amp;quot; to IBM/Lenovo Support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Could anybody just give a brief hind on how to replace the hard disc? I haven't gotten a single clue, and I seem not to be able to find any documentation on that topic. I would really be greatful for any help whatsoever. :)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I wonder where you are looking for that documentation.&lt;br /&gt;
*the printed manuals that should have come with your ThinkPad include that documentation&lt;br /&gt;
*the Access IBM help application in Windows includes that documentation&lt;br /&gt;
*the hardware maintenance manuals linked from almost every model page in ThinkWiki includes that documentation&lt;br /&gt;
*googling for &amp;quot;thinkpad replace harddisk&amp;quot; has [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-44101 this] link in 5th position and replacing &amp;quot;thinkpad&amp;quot; with your actual model will for sure lead you to more specific documentation&lt;br /&gt;
&lt;br /&gt;
I guess you've just been waiting for someone to throw it into your letter box.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 14:11, 4 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== FUJITSU MHV2120AH suitable for T41? ==&lt;br /&gt;
&lt;br /&gt;
Hello guys,&lt;br /&gt;
&lt;br /&gt;
I've bought a Fujitsu MHV2120AH. Has anyone experience whether that harddisk is suitable for the Thinkpad T41? It seems that I can't insert the harddisk entirely.&lt;br /&gt;
&lt;br /&gt;
Thanks a lot.&lt;br /&gt;
Marcus&lt;br /&gt;
&lt;br /&gt;
== Modding ZIF connectors for AT connection in X41 ==&lt;br /&gt;
&lt;br /&gt;
I've been searching online for a new hard disk for my Thinkpad X41 (2525), it has one of those little 1.8&amp;quot; TravelStar drives that seems to have a PATA interface (rows of pins) on it.  It looks like these 1.8&amp;quot; drives have been pretty much discontinued by Hitachi and they only sell the same disk but with a ZIF (Zero Insertion Force) connector.&lt;br /&gt;
&lt;br /&gt;
Does anyone know if it is possible to get a PATA to ZIF connector to work in a Thinkpad?&lt;br /&gt;
or indeed any source of the HTC***AT drives?&lt;br /&gt;
&lt;br /&gt;
--[[User:Callum|Callum]] 15:44, 26 September 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
There are no ZIF-2-PATA adapters (which would fit into the notebook), as far as I can tell.&lt;br /&gt;
The 1.8&amp;quot; HDDs are produced with ZIF or PATA and all system manufacturers alway use these connectors directly.&lt;br /&gt;
I think Hitachi is/was the only HDD-manufacturer which offered PATA-Interfaces.&lt;br /&gt;
&lt;br /&gt;
Have you tried to get the HDD through IBM/Lenovo?&lt;br /&gt;
&lt;br /&gt;
They offer parts for at least 5 Years for most products (IBM does, maybe Lenovo as well?). Sure they are a little overpriced, but any replacement part I bought for my X31 was &amp;quot;in range&amp;quot; and one was surprisingly cheap.&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 14:36, 2 November 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== 1.8&amp;quot; drives ==&lt;br /&gt;
&lt;br /&gt;
I recommend once your Deathstar 1.8&amp;quot; drive dies, just use an external drive like I do here:&lt;br /&gt;
&lt;br /&gt;
http://www.flickr.com/photos/hendry/1508630532/&lt;br /&gt;
&lt;br /&gt;
X40s can boot Linux fine from external USB hard drives.&lt;br /&gt;
&lt;br /&gt;
If you want to attempt to pull data off an old 1.8&amp;quot; drive, you can actually use an 2.5&amp;quot; IDE USB enclosure like I do here:&lt;br /&gt;
&lt;br /&gt;
http://www.flickr.com/photos/hendry/1809483099/&lt;br /&gt;
&lt;br /&gt;
[[User:Hendry|Hendry]] 21:02, 31 October 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
This does not solve the problem, because you have to carry the external hard drive where ever you go and use it every time, which successfully defeats the concept of a notebook, especially of any sub-notebook like the X-Series ones.&lt;br /&gt;
&lt;br /&gt;
Its better to do it, then using your ThinkPad as a paperweight, but no real solution of roadwarriors.&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 14:16, 2 November 2007 (UTC)&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Hard_disk_drives&amp;diff=34247</id>
		<title>Talk:Hard disk drives</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Hard_disk_drives&amp;diff=34247"/>
		<updated>2007-11-02T14:16:30Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* 1.8&amp;quot; drives */  this is a very wacky workaround&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Could anybody just give a brief hind on how to replace the hard disc? I haven't gotten a single clue, and I seem not to be able to find any documentation on that topic. I would really be greatful for any help whatsoever. :)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I wonder where you are looking for that documentation.&lt;br /&gt;
*the printed manuals that should have come with your ThinkPad include that documentation&lt;br /&gt;
*the Access IBM help application in Windows includes that documentation&lt;br /&gt;
*the hardware maintenance manuals linked from almost every model page in ThinkWiki includes that documentation&lt;br /&gt;
*googling for &amp;quot;thinkpad replace harddisk&amp;quot; has [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-44101 this] link in 5th position and replacing &amp;quot;thinkpad&amp;quot; with your actual model will for sure lead you to more specific documentation&lt;br /&gt;
&lt;br /&gt;
I guess you've just been waiting for someone to throw it into your letter box.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 14:11, 4 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== FUJITSU MHV2120AH suitable for T41? ==&lt;br /&gt;
&lt;br /&gt;
Hello guys,&lt;br /&gt;
&lt;br /&gt;
I've bought a Fujitsu MHV2120AH. Has anyone experience whether that harddisk is suitable for the Thinkpad T41? It seems that I can't insert the harddisk entirely.&lt;br /&gt;
&lt;br /&gt;
Thanks a lot.&lt;br /&gt;
Marcus&lt;br /&gt;
&lt;br /&gt;
== Modding ZIF connectors for AT connection in X41 ==&lt;br /&gt;
&lt;br /&gt;
I've been searching online for a new hard disk for my Thinkpad X41 (2525), it has one of those little 1.8&amp;quot; TravelStar drives that seems to have a PATA interface (rows of pins) on it.  It looks like these 1.8&amp;quot; drives have been pretty much discontinued by Hitachi and they only sell the same disk but with a ZIF (Zero Insertion Force) connector.&lt;br /&gt;
&lt;br /&gt;
Does anyone know if it is possible to get a PATA to ZIF connector to work in a Thinkpad?&lt;br /&gt;
or indeed any source of the HTC***AT drives?&lt;br /&gt;
&lt;br /&gt;
--[[User:Callum|Callum]] 15:44, 26 September 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1.8&amp;quot; drives ==&lt;br /&gt;
&lt;br /&gt;
I recommend once your Deathstar 1.8&amp;quot; drive dies, just use an external drive like I do here:&lt;br /&gt;
&lt;br /&gt;
http://www.flickr.com/photos/hendry/1508630532/&lt;br /&gt;
&lt;br /&gt;
X40s can boot Linux fine from external USB hard drives.&lt;br /&gt;
&lt;br /&gt;
If you want to attempt to pull data off an old 1.8&amp;quot; drive, you can actually use an 2.5&amp;quot; IDE USB enclosure like I do here:&lt;br /&gt;
&lt;br /&gt;
http://www.flickr.com/photos/hendry/1809483099/&lt;br /&gt;
&lt;br /&gt;
[[User:Hendry|Hendry]] 21:02, 31 October 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
This does not solve the problem, because you have to carry the external hard drive where ever you go and use it every time, which successfully defeats the concept of a notebook, especially of any sub-notebook like the X-Series ones.&lt;br /&gt;
&lt;br /&gt;
Its better to do it, then using your ThinkPad as a paperweight, but no real solution of roadwarriors.&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 14:16, 2 November 2007 (UTC)&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Issues_with_the_Wiki&amp;diff=34036</id>
		<title>Issues with the Wiki</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Issues_with_the_Wiki&amp;diff=34036"/>
		<updated>2007-10-21T00:32:48Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Your signature with timestamp button */ i'm sorry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a provisorium. It's a list of things that are going wrong after the update to help [[User:akw|Akw]] track and fix them.&lt;br /&gt;
&lt;br /&gt;
== Suggestions and requests ==&lt;br /&gt;
&lt;br /&gt;
=== Enabling user Javascript and CSS for MediaWiki ===&lt;br /&gt;
&lt;br /&gt;
Could ThinkWiki's MediaWiki installation get these options enabled (typically set in LocalSettings.php):&lt;br /&gt;
&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserCss wgAllowUserCss]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserJs wgAllowUserJs]&lt;br /&gt;
&lt;br /&gt;
These options allow users to have their own custom Javascript and CSS. I (and others) like to have our own custom themes and Javascript when working with MediaWiki-powered websites.&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 22:04, 28 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
This is a great security risk. What is it good for?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:14, 29 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
It allowers users to set their own customizations via Javascript and CSS. It's a minor security risk which is why MediaWiki ships with it off, but Wikipedia and other popular websites using MediaWiki ship with it on.&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 20:49, 29 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
There is nothing minor about it.  The web security model is site-wise when dealing with MediaWiki, there is no easy (read: manageable) way for an user, even one that uses NoScript+Firefox or something else equally powerful, to really filter out trusted from untrusted content when you start allowing people to write JavaScript into a Wiki.&lt;br /&gt;
&lt;br /&gt;
CSS is less of a problem, but it could still hork the site if one is not careful, and MediaWiki already allows us to change the pages well enough.  If you need to change thinkwiki CSS for your own viewing pleasure, any browser worth its bytes lets you layer your own CSS on top of a site's.  I would not be strongly against enabling CSS, but I don't see any reason to do it, either.&lt;br /&gt;
&lt;br /&gt;
JavaScript submissions, OTOH, is something that must remain disabled.  IMO, if you really can't survive without tacking different JavaScript code than what thinkwiki already has, you can use greasemonkey or some other such system to do it in your own browser.&lt;br /&gt;
&lt;br /&gt;
If thinkwiki starts allowing users to set javascript on their pages, I would have to block javascript completely on my side, for example.  At that time, it is likely I will just go away.  Other contributors might feel the same.  It is not that I have anything against JavaScript.  It is the fact that I cannot *trust* user-submitted JavaScript.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 12:26, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
These options only enable Javascript and CSS for user pages, i.e. for User:User/Monobook.css and User/Monobook.js, specifically ''not'' for other pages. Disabling these options was done by default as a precaution against XSS vulnerabilies [http://www.gossamer-threads.com/lists/wiki/mediawiki-announce/28572 long since been fixed]. Unfortunately, while I agree with you about disabling user Javascript as a precaution, I do not think the wgAllowUserCss option has any effect unless the wgAllowUserJs option is enabled as well.&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 18:52, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I don't get the point ether.&lt;br /&gt;
Why you want to use css/javascript on user pages? You always say why you think its no problem, but not what you want to do. If you need some funky looking stuff or buttons there you should use something like myspace. This Wikis (and almost all other) purpose is collecting the main - Thinkpad - content, not something cool/funky/special on userpages&lt;br /&gt;
&lt;br /&gt;
As Hmh, I would block js immediately and may leave the site, even if its only on userpages, because I don't want to mind clicking &amp;quot;the false links&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]], 30 July 2007&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/MediaWiki#Customisation Wikipedia's section on MediaWiki customization] describes some of the extensions and addons available. For example, [http://en.wikipedia.org/wiki/User:Cacycle/wikEd wikiEd] is a WYSIWYG editor such that instead of having to remember MediaWiki's markup, they use an editor that's only enabled for use them. This kind of extending is difficult to do with Stylish or Greasemonkey.&lt;br /&gt;
&lt;br /&gt;
I'll repeat, since I've not been apparently misunderstood:&lt;br /&gt;
* Users ''won't'' be able to add Javascript or CSS to arbitrary pages, only those under their user profile (these are called &amp;quot;user pages&amp;quot;)&lt;br /&gt;
* Only those users logged in will see these their own changes, no other users will.&lt;br /&gt;
Given these things, I don't understand why people need to threaten they're going to stop contributing to ThinkWiki? There isn't a way you're going to turn ThinkWiki into MySpace. If you don't use specifically use any CSS or Javascript through these features, it will not effect you at all.&lt;br /&gt;
&lt;br /&gt;
What I personally want to do, I want to use a MediaWiki modification I wrote, [http://meta.wikimedia.org/wiki/Gallery_of_user_styles#Nullbook Nullbook]. I feel as if I am much more efficient with this theme. &lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 21:58, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I don't understand what exactly $wgAllowUserJs is supposed to do, and its [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserCss documentation] is worthless. The crux of the matter is this: if those features are enabled, is there any way ''you'' can cause ''me'' to execute JavaScript (or apply CSS) that ''you'' wrote, in ''any'' page on ThinkWiki? If not, why? &lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:17, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
[http://meta.wikimedia.org/wiki/User_styles User styles on the MediaWiki site] describes a bit more how these options work and what is provided to any modification that depends upon them. Unless there exist security-related bugs (which is the reason these features are tagged possible security risks, and why they are proactively disabled by default), by design, no, there is no way that I can cause you to execute Javascript or apply CSS that I had put into one of my own &amp;quot;user pages&amp;quot; (i.e. those under [[User:SamatJain]]).&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 22:53, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
'''If and only if''' such javascript and css changes are limited so that the user who made them is the only one who gets them, then I have nothing against it.&lt;br /&gt;
&lt;br /&gt;
That said, I'd prefer if the relevant mediawiki code was audited a bit before it is enabled.&lt;br /&gt;
&lt;br /&gt;
PS: Whomever is doing it, please stop screwing around with the formatting: there must be one empty line before and after signatures, it makes the dialog a '''lot''' more readable.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 02:53, 1 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Troubles encountered ==&lt;br /&gt;
&lt;br /&gt;
=== Problems with Language.php ===&lt;br /&gt;
&lt;br /&gt;
Some pages are not happy with mediawiki 1.11.0, and return:&lt;br /&gt;
 Warning: array_slice() [function.array-slice]: The first argument should be an array in /home/thinkwiki/htdocs/mediawiki-1.11.0/languages/Language.php on line 1153&lt;br /&gt;
&lt;br /&gt;
For an example, see: [[User:Akw | Akw's user page]]&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 01:14, 20 October 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Problem with cmdroot ===&lt;br /&gt;
&lt;br /&gt;
Following String is not handled correct by template cmdroot:&lt;br /&gt;
&amp;quot;fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image&amp;quot;&lt;br /&gt;
&lt;br /&gt;
see here:&lt;br /&gt;
{{cmdroot|fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image}}&lt;br /&gt;
&lt;br /&gt;
=== Can not open page to edit without introducing modifications ===&lt;br /&gt;
&lt;br /&gt;
If I open the [[X31]] model page and without touching anything I hit preview, the div token is decomposed and appears in the preview page, and of course, the photo is not in the right place.&lt;br /&gt;
 &lt;br /&gt;
--[[User:Ungoliant|Ungoliant]] 19:24, 20 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
=== Uploading SVG files ===&lt;br /&gt;
&lt;br /&gt;
'''Can not upload SVG'''&lt;br /&gt;
 I get the upload warning:&lt;br /&gt;
 &amp;quot;.svg&amp;quot; is not a recommended image file format.&lt;br /&gt;
--[[User:Matt|Matt]] 14:02, 3 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
=== SpamBlackList not working ===&lt;br /&gt;
&lt;br /&gt;
* [[ThinkWiki:SpamBlackList]] does not appear to work anymore&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 03:40, 11 March 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
=== Multiline cmdresult template ===&lt;br /&gt;
&lt;br /&gt;
You can't (easliy do a multiline {{cmdresult|cmdresult}}, can you? See:&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&lt;br /&gt;
bar&lt;br /&gt;
baz}}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&lt;br /&gt;
  bar (after whitespace)&lt;br /&gt;
  baz (after whitespace)}}&lt;br /&gt;
&lt;br /&gt;
This works (but is not so nice)&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&lt;br /&gt;
&lt;br /&gt;
bar (after empty line)&lt;br /&gt;
&lt;br /&gt;
baz (after empty line)}}&lt;br /&gt;
&lt;br /&gt;
Any suggestions?&lt;br /&gt;
&lt;br /&gt;
--[[User:Pebolle|Paul Bolle]] 10:27, 24 January 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I think the best way is to use single cmdresult calls for each line and prefix them with a colon. Like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
:{{cmdresult|foo}}&lt;br /&gt;
:{{cmdresult|bar}}&lt;br /&gt;
:{{cmdresult|baz}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;, which results in&lt;br /&gt;
:{{cmdresult|foo}}&lt;br /&gt;
:{{cmdresult|bar}}&lt;br /&gt;
:{{cmdresult|baz}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use &amp;amp;lt;br /&amp;amp;gt; at the ende of each line within one call, like this:&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{cmdresult|foo&amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
bar&amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
baz}}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
, which will result in&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&amp;lt;br /&amp;gt;&lt;br /&gt;
bar&amp;lt;br /&amp;gt;&lt;br /&gt;
baz}}&lt;br /&gt;
&lt;br /&gt;
--[[User:Wyrfel|Wyrfel]] 12:13, 24 January 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
=== Server time out-of-sync ===&lt;br /&gt;
&lt;br /&gt;
The server time would appear to be off a lot, is it possible to setup ntpd, or to run ntpdate every hour or so using cron?&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 05:11, 22 February 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
=== Missing imagemagick on server ===&lt;br /&gt;
&lt;br /&gt;
 Error creating thumbnail: /home/thinkwiki/htdocs/mediawiki-1.10.0/bin/ulimit4.sh: line 4: /usr/bin/convert: No such file or directory&lt;br /&gt;
&lt;br /&gt;
I think the computer this wiki is running on is missing the imagemagick software tools especially convert to create thumbnails of images &lt;br /&gt;
&lt;br /&gt;
--[[User:Markusw|Markusw]] 10:21, 26 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Your signature with timestamp button ===&lt;br /&gt;
&lt;br /&gt;
This Button simply doesn't work, it adds &amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
I think its a bunch on javascript so I may add:&amp;lt;br&amp;gt;&lt;br /&gt;
I use Firefox (branded as Icewasel) on Debian Testing&amp;lt;br&amp;gt;&lt;br /&gt;
Preferences:&amp;lt;br&amp;gt;&lt;br /&gt;
Raw signatures (without automatic link) OFF&amp;lt;br&amp;gt;&lt;br /&gt;
Show edit toolbar (JavaScript) ON&amp;lt;br&amp;gt;&lt;br /&gt;
(Oh... Yes its javascript)&lt;br /&gt;
&lt;br /&gt;
EDIT:&lt;br /&gt;
Even in my Windows XP SP2 Virtual Machine it don't work in Internet Explorer 7.0&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 29 July 2007&lt;br /&gt;
&lt;br /&gt;
I have been using this button for quite a while now, and it seems to work just fine.  It does insert &amp;lt;nowiki&amp;gt;--~~~&amp;lt;/nowiki&amp;gt;, but upon submitting previews or saving the page, it gets converted into my signature.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 01:27, 20 October 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
hm... (wow a nice joke...)&lt;br /&gt;
&lt;br /&gt;
lets try this&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 00:30, 21 October 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
OK, its all fine... I'm sorry but this seems to be extremely non-intuitive...&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 00:32, 21 October 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Problems fixed ==&lt;br /&gt;
&lt;br /&gt;
* List emptied, since everything in it was more than one year old&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Issues_with_the_Wiki&amp;diff=34035</id>
		<title>Issues with the Wiki</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Issues_with_the_Wiki&amp;diff=34035"/>
		<updated>2007-10-21T00:30:43Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Your signature with timestamp button */  try&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a provisorium. It's a list of things that are going wrong after the update to help [[User:akw|Akw]] track and fix them.&lt;br /&gt;
&lt;br /&gt;
== Suggestions and requests ==&lt;br /&gt;
&lt;br /&gt;
=== Enabling user Javascript and CSS for MediaWiki ===&lt;br /&gt;
&lt;br /&gt;
Could ThinkWiki's MediaWiki installation get these options enabled (typically set in LocalSettings.php):&lt;br /&gt;
&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserCss wgAllowUserCss]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserJs wgAllowUserJs]&lt;br /&gt;
&lt;br /&gt;
These options allow users to have their own custom Javascript and CSS. I (and others) like to have our own custom themes and Javascript when working with MediaWiki-powered websites.&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 22:04, 28 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
This is a great security risk. What is it good for?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:14, 29 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
It allowers users to set their own customizations via Javascript and CSS. It's a minor security risk which is why MediaWiki ships with it off, but Wikipedia and other popular websites using MediaWiki ship with it on.&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 20:49, 29 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
There is nothing minor about it.  The web security model is site-wise when dealing with MediaWiki, there is no easy (read: manageable) way for an user, even one that uses NoScript+Firefox or something else equally powerful, to really filter out trusted from untrusted content when you start allowing people to write JavaScript into a Wiki.&lt;br /&gt;
&lt;br /&gt;
CSS is less of a problem, but it could still hork the site if one is not careful, and MediaWiki already allows us to change the pages well enough.  If you need to change thinkwiki CSS for your own viewing pleasure, any browser worth its bytes lets you layer your own CSS on top of a site's.  I would not be strongly against enabling CSS, but I don't see any reason to do it, either.&lt;br /&gt;
&lt;br /&gt;
JavaScript submissions, OTOH, is something that must remain disabled.  IMO, if you really can't survive without tacking different JavaScript code than what thinkwiki already has, you can use greasemonkey or some other such system to do it in your own browser.&lt;br /&gt;
&lt;br /&gt;
If thinkwiki starts allowing users to set javascript on their pages, I would have to block javascript completely on my side, for example.  At that time, it is likely I will just go away.  Other contributors might feel the same.  It is not that I have anything against JavaScript.  It is the fact that I cannot *trust* user-submitted JavaScript.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 12:26, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
These options only enable Javascript and CSS for user pages, i.e. for User:User/Monobook.css and User/Monobook.js, specifically ''not'' for other pages. Disabling these options was done by default as a precaution against XSS vulnerabilies [http://www.gossamer-threads.com/lists/wiki/mediawiki-announce/28572 long since been fixed]. Unfortunately, while I agree with you about disabling user Javascript as a precaution, I do not think the wgAllowUserCss option has any effect unless the wgAllowUserJs option is enabled as well.&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 18:52, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I don't get the point ether.&lt;br /&gt;
Why you want to use css/javascript on user pages? You always say why you think its no problem, but not what you want to do. If you need some funky looking stuff or buttons there you should use something like myspace. This Wikis (and almost all other) purpose is collecting the main - Thinkpad - content, not something cool/funky/special on userpages&lt;br /&gt;
&lt;br /&gt;
As Hmh, I would block js immediately and may leave the site, even if its only on userpages, because I don't want to mind clicking &amp;quot;the false links&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]], 30 July 2007&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/MediaWiki#Customisation Wikipedia's section on MediaWiki customization] describes some of the extensions and addons available. For example, [http://en.wikipedia.org/wiki/User:Cacycle/wikEd wikiEd] is a WYSIWYG editor such that instead of having to remember MediaWiki's markup, they use an editor that's only enabled for use them. This kind of extending is difficult to do with Stylish or Greasemonkey.&lt;br /&gt;
&lt;br /&gt;
I'll repeat, since I've not been apparently misunderstood:&lt;br /&gt;
* Users ''won't'' be able to add Javascript or CSS to arbitrary pages, only those under their user profile (these are called &amp;quot;user pages&amp;quot;)&lt;br /&gt;
* Only those users logged in will see these their own changes, no other users will.&lt;br /&gt;
Given these things, I don't understand why people need to threaten they're going to stop contributing to ThinkWiki? There isn't a way you're going to turn ThinkWiki into MySpace. If you don't use specifically use any CSS or Javascript through these features, it will not effect you at all.&lt;br /&gt;
&lt;br /&gt;
What I personally want to do, I want to use a MediaWiki modification I wrote, [http://meta.wikimedia.org/wiki/Gallery_of_user_styles#Nullbook Nullbook]. I feel as if I am much more efficient with this theme. &lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 21:58, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I don't understand what exactly $wgAllowUserJs is supposed to do, and its [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserCss documentation] is worthless. The crux of the matter is this: if those features are enabled, is there any way ''you'' can cause ''me'' to execute JavaScript (or apply CSS) that ''you'' wrote, in ''any'' page on ThinkWiki? If not, why? &lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:17, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
[http://meta.wikimedia.org/wiki/User_styles User styles on the MediaWiki site] describes a bit more how these options work and what is provided to any modification that depends upon them. Unless there exist security-related bugs (which is the reason these features are tagged possible security risks, and why they are proactively disabled by default), by design, no, there is no way that I can cause you to execute Javascript or apply CSS that I had put into one of my own &amp;quot;user pages&amp;quot; (i.e. those under [[User:SamatJain]]).&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 22:53, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
'''If and only if''' such javascript and css changes are limited so that the user who made them is the only one who gets them, then I have nothing against it.&lt;br /&gt;
&lt;br /&gt;
That said, I'd prefer if the relevant mediawiki code was audited a bit before it is enabled.&lt;br /&gt;
&lt;br /&gt;
PS: Whomever is doing it, please stop screwing around with the formatting: there must be one empty line before and after signatures, it makes the dialog a '''lot''' more readable.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 02:53, 1 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Troubles encountered ==&lt;br /&gt;
&lt;br /&gt;
=== Problems with Language.php ===&lt;br /&gt;
&lt;br /&gt;
Some pages are not happy with mediawiki 1.11.0, and return:&lt;br /&gt;
 Warning: array_slice() [function.array-slice]: The first argument should be an array in /home/thinkwiki/htdocs/mediawiki-1.11.0/languages/Language.php on line 1153&lt;br /&gt;
&lt;br /&gt;
For an example, see: [[User:Akw | Akw's user page]]&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 01:14, 20 October 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Problem with cmdroot ===&lt;br /&gt;
&lt;br /&gt;
Following String is not handled correct by template cmdroot:&lt;br /&gt;
&amp;quot;fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image&amp;quot;&lt;br /&gt;
&lt;br /&gt;
see here:&lt;br /&gt;
{{cmdroot|fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image}}&lt;br /&gt;
&lt;br /&gt;
=== Can not open page to edit without introducing modifications ===&lt;br /&gt;
&lt;br /&gt;
If I open the [[X31]] model page and without touching anything I hit preview, the div token is decomposed and appears in the preview page, and of course, the photo is not in the right place.&lt;br /&gt;
 &lt;br /&gt;
--[[User:Ungoliant|Ungoliant]] 19:24, 20 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
=== Uploading SVG files ===&lt;br /&gt;
&lt;br /&gt;
'''Can not upload SVG'''&lt;br /&gt;
 I get the upload warning:&lt;br /&gt;
 &amp;quot;.svg&amp;quot; is not a recommended image file format.&lt;br /&gt;
--[[User:Matt|Matt]] 14:02, 3 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
=== SpamBlackList not working ===&lt;br /&gt;
&lt;br /&gt;
* [[ThinkWiki:SpamBlackList]] does not appear to work anymore&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 03:40, 11 March 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
=== Multiline cmdresult template ===&lt;br /&gt;
&lt;br /&gt;
You can't (easliy do a multiline {{cmdresult|cmdresult}}, can you? See:&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&lt;br /&gt;
bar&lt;br /&gt;
baz}}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&lt;br /&gt;
  bar (after whitespace)&lt;br /&gt;
  baz (after whitespace)}}&lt;br /&gt;
&lt;br /&gt;
This works (but is not so nice)&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&lt;br /&gt;
&lt;br /&gt;
bar (after empty line)&lt;br /&gt;
&lt;br /&gt;
baz (after empty line)}}&lt;br /&gt;
&lt;br /&gt;
Any suggestions?&lt;br /&gt;
&lt;br /&gt;
--[[User:Pebolle|Paul Bolle]] 10:27, 24 January 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I think the best way is to use single cmdresult calls for each line and prefix them with a colon. Like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
:{{cmdresult|foo}}&lt;br /&gt;
:{{cmdresult|bar}}&lt;br /&gt;
:{{cmdresult|baz}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;, which results in&lt;br /&gt;
:{{cmdresult|foo}}&lt;br /&gt;
:{{cmdresult|bar}}&lt;br /&gt;
:{{cmdresult|baz}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use &amp;amp;lt;br /&amp;amp;gt; at the ende of each line within one call, like this:&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{cmdresult|foo&amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
bar&amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
baz}}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
, which will result in&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&amp;lt;br /&amp;gt;&lt;br /&gt;
bar&amp;lt;br /&amp;gt;&lt;br /&gt;
baz}}&lt;br /&gt;
&lt;br /&gt;
--[[User:Wyrfel|Wyrfel]] 12:13, 24 January 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
=== Server time out-of-sync ===&lt;br /&gt;
&lt;br /&gt;
The server time would appear to be off a lot, is it possible to setup ntpd, or to run ntpdate every hour or so using cron?&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 05:11, 22 February 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
=== Missing imagemagick on server ===&lt;br /&gt;
&lt;br /&gt;
 Error creating thumbnail: /home/thinkwiki/htdocs/mediawiki-1.10.0/bin/ulimit4.sh: line 4: /usr/bin/convert: No such file or directory&lt;br /&gt;
&lt;br /&gt;
I think the computer this wiki is running on is missing the imagemagick software tools especially convert to create thumbnails of images &lt;br /&gt;
&lt;br /&gt;
--[[User:Markusw|Markusw]] 10:21, 26 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Your signature with timestamp button ===&lt;br /&gt;
&lt;br /&gt;
This Button simply doesn't work, it adds &amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
I think its a bunch on javascript so I may add:&amp;lt;br&amp;gt;&lt;br /&gt;
I use Firefox (branded as Icewasel) on Debian Testing&amp;lt;br&amp;gt;&lt;br /&gt;
Preferences:&amp;lt;br&amp;gt;&lt;br /&gt;
Raw signatures (without automatic link) OFF&amp;lt;br&amp;gt;&lt;br /&gt;
Show edit toolbar (JavaScript) ON&amp;lt;br&amp;gt;&lt;br /&gt;
(Oh... Yes its javascript)&lt;br /&gt;
&lt;br /&gt;
EDIT:&lt;br /&gt;
Even in my Windows XP SP2 Virtual Machine it don't work in Internet Explorer 7.0&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 29 July 2007&lt;br /&gt;
&lt;br /&gt;
I have been using this button for quite a while now, and it seems to work just fine.  It does insert &amp;lt;nowiki&amp;gt;--~~~&amp;lt;/nowiki&amp;gt;, but upon submitting previews or saving the page, it gets converted into my signature.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 01:27, 20 October 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
hm... (wow a nice joke...)&lt;br /&gt;
&lt;br /&gt;
lets try this&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 00:30, 21 October 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Problems fixed ==&lt;br /&gt;
&lt;br /&gt;
* List emptied, since everything in it was more than one year old&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&amp;diff=33747</id>
		<title>How to reduce power consumption</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&amp;diff=33747"/>
		<updated>2007-10-09T17:47:33Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* CPU */ added wiki link to powertop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Reducing system power consumption will extend battery life, reduce system&lt;br /&gt;
temperature and (on some models) reduce system fan noise.&lt;br /&gt;
Power consumption can be greatly improved from a stock distribution configuration&lt;br /&gt;
to a fine tuned system. The general rules are :&lt;br /&gt;
* Unload drivers for unused devices (ie. USB 1.1, Yenta/PCMCIA, Wireless, IRDA, Bluetooth, ...)&lt;br /&gt;
* Reduce polling on devices (drives, USB subsystem, nvram, ...)&lt;br /&gt;
* Reduce hard drive activity&lt;br /&gt;
* Reduce LCD brightness to the minimum you can stand&lt;br /&gt;
* Reduce CPU wakeups, so it can stay longer in deep power saving c-states&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Arjan van de Ven's [[PowerTOP]] utility&lt;br /&gt;
is a gold mine to improve energy efficiency, but is almost only CPU-oriented. This tool helps to easily detect&lt;br /&gt;
the top power offenders, both userland and kernel modules, which prevent the use of CPU power saving mechanisms and sometime suggest &lt;br /&gt;
fixes accordingly.&lt;br /&gt;
PowerTOP users collected some [http://www.linuxpowertop.org/known.php tips &amp;amp; tricks]&lt;br /&gt;
and an informative [http://www.linuxpowertop.org/faq.php faq].&lt;br /&gt;
&lt;br /&gt;
Alternatively (or complementary) to PowerTOP, running &amp;lt;code&amp;gt;strace -p $(pidof yourapp)&amp;lt;/code&amp;gt; &lt;br /&gt;
for all your favorite or background running applications while they are expected to be &lt;br /&gt;
idle, will show the misbehaviors.&lt;br /&gt;
&lt;br /&gt;
Beside CPU wakeups, disks spins are also power angry. To detect what make your disk spinning,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 sysctl vm.block_dump=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will list all applications causing disks wakeups on the kernel's dmesg.&lt;br /&gt;
Other useful tools for this purpose are blktrace, iostat and lm-profiler&lt;br /&gt;
(from laptop-mode-tools suite).&lt;br /&gt;
&lt;br /&gt;
==BIOS settings==&lt;br /&gt;
Some Thinkpad BIOS (like 2.08 BIOS on {{X40}}) offer two very lame options,&lt;br /&gt;
with a very misleading online help (saying &amp;quot;Usually not needed&amp;quot;). That's&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management: (default disabled)&lt;br /&gt;
 PCI bus power management: (default disabled)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should indeed enable them, else the deepest C3 and C4 ACPI C-states&lt;br /&gt;
are disabled.&lt;br /&gt;
&lt;br /&gt;
==CPU==&lt;br /&gt;
Look at:&lt;br /&gt;
* [[How to make use of Dynamic Frequency Scaling]]&lt;br /&gt;
* [[Pentium M undervolting and underclocking]]&lt;br /&gt;
&lt;br /&gt;
A good thing to keep in mind is that every CPU wakeup, even if it's for&lt;br /&gt;
a trivial light job, reduce the time the CPU stays on a deep power&lt;br /&gt;
saving C-state (like C3 or C4). Therefore you should ensure your applications&lt;br /&gt;
stay really idle when they meant to be idle (track shorts select timeouts&lt;br /&gt;
in loop, etc. with [[PowerTOP]]).&lt;br /&gt;
&lt;br /&gt;
Also note that manually locking the CPU in the lowest P-state (frequency) &lt;br /&gt;
available is '''not''' an efficient way to improve battery lifetime. This will&lt;br /&gt;
cause the CPU to stay longer in C0 (power angry C-state) doing hard work when &lt;br /&gt;
there is something to do, while it could have done this work faster by augmenting&lt;br /&gt;
the CPU freq, and returned back faster to a deeper, economic, C-state and to a&lt;br /&gt;
lower frequency (P-state).&lt;br /&gt;
The best is to let the kernel select the appropriates CPU frequencies by itself&lt;br /&gt;
with the help of in kernel CPU governors.&lt;br /&gt;
Have a look at [http://www.bughost.org/pipermail/power/2007-May/000166.html this explanation]&lt;br /&gt;
from Intel's kernel developer Arjan van de Ven.&lt;br /&gt;
&lt;br /&gt;
==Kernel settings and patches==&lt;br /&gt;
&lt;br /&gt;
===General settings===&lt;br /&gt;
The 2.6.21 kernel brought some very effective changes (like dynticks). If&lt;br /&gt;
it's not already on your distribution and you value power efficiency, you&lt;br /&gt;
may think about compiling it (or a more recent one) yourself.&lt;br /&gt;
&lt;br /&gt;
Here are a few options (beside the ACPI and APM related one) that matter to &lt;br /&gt;
reduce power consumption or to help diagnosing consumers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # From PowerTOP's FAQ:&lt;br /&gt;
 CONFIG_NO_HZ&lt;br /&gt;
 CONFIG_HIGH_RES_TIMERS&lt;br /&gt;
 CONFIG_HPET&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_ONDEMAND&lt;br /&gt;
 CONFIG_USB_SUSPEND&lt;br /&gt;
 CONFIG_SND_AC97_POWER_SAVE&lt;br /&gt;
 CONFIG_TIMER_STATS&lt;br /&gt;
 CONFIG_ACPI_BATTERY&lt;br /&gt;
 CONFIG_CPU_FREQ_STAT&lt;br /&gt;
 # Not from the PowerTOP FAQ:&lt;br /&gt;
 CONFIG_BLK_DEV_IO_TRACE&lt;br /&gt;
 CONFIG_X86_ACPI_CPUFREQ&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_CENTRINO&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_ICH&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_SMI&lt;br /&gt;
 CONFIG_X86_ACPI_CPUFREQ&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those options are already in Fedora Core 7 and Ubuntu Gutsy (not Feisty) default i686 kernels.&lt;br /&gt;
PowerTOP FAQ also suggest to '''disable'''&lt;br /&gt;
CONFIG_IRQBALANCE et CONFIG_ACPI_DEBUG.&lt;br /&gt;
&lt;br /&gt;
Also, you need to properly set APM and ACPI. Look at:&lt;br /&gt;
* [[Power Management]]&lt;br /&gt;
* [[How to make use of Power Management features]]&lt;br /&gt;
&lt;br /&gt;
===Useful Patchs===&lt;br /&gt;
&lt;br /&gt;
Thomas Gleixner High Resolution Timers (hrt) patchset brings many improvements,&lt;br /&gt;
like the cpuidle work and Udo A. Steinberg and Venki Pallipadi &amp;quot;force&lt;br /&gt;
enable HPET&amp;quot; patches (non HPET timers causes about 20-40 CPU wakeups/second, but&lt;br /&gt;
HPET is often hidden by the BIOS due to Windows XP deficiencies).&lt;br /&gt;
See http://www.tglx.de/projects/hrtimers/&lt;br /&gt;
&lt;br /&gt;
Kristen Carlson Accardi from Intel has a patchset to turn on &amp;quot;Aggressive&lt;br /&gt;
Link Power Management&amp;quot; (ALPM) for the AHCI driver (for SATA bus). See:&lt;br /&gt;
http://www.kernel.org/pub/linux/kernel/people/kristen/patches/SATA/alpm/&lt;br /&gt;
&lt;br /&gt;
The [[HDAPS]] disk protection systems can reduce battery life. &lt;br /&gt;
Matthew Garrett provides [http://www.linuxpowertop.org/patches/hdaps.patch a patch]&lt;br /&gt;
that prevents hdaps kernel module to generate interrupts when&lt;br /&gt;
this feature isn't used.&lt;br /&gt;
&lt;br /&gt;
===Useful sysctls===&lt;br /&gt;
The meaning of those settings is explained case by case on the relevant &lt;br /&gt;
sections of this document. But for convenience sake, we group them here too.&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;ondemand&amp;quot; scaling governor is recommended by Intel developers&lt;br /&gt;
for energy efficiency: it's expected to be more efficient than the &amp;quot;powersave&amp;quot;&lt;br /&gt;
governor, or than userspace daemons (like cpufreq-utils, cpufreqd, powernowd...).&lt;br /&gt;
Look [http://www.bughost.org/pipermail/power/2007-May/000071.html here],&lt;br /&gt;
[http://www.bughost.org/pipermail/power/2007-May/000073.html here], or&lt;br /&gt;
[http://www.bughost.org/pipermail/power/2007-May/000166.html here] for a&lt;br /&gt;
kernel developer explanation about &amp;quot;ondemand&amp;quot; being better on modern Intel CPUs.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;link_power_management_policy&amp;quot; tunable won't be available unless you&lt;br /&gt;
run Kirsten patchset, have an Intel AHCI compatible chipset, and use SATA drives.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
 echo 0 &amp;gt; /proc/sys/kernel/nmi_watchdog&lt;br /&gt;
 echo Y &amp;gt; /sys/module/snd_ac97_codec/parameters/power_save&lt;br /&gt;
 echo 1 &amp;gt; /sys/devices/system/cpu/sched_mc_power_savings&lt;br /&gt;
 echo ondemand &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host1/link_power_management_policy&lt;br /&gt;
 echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're running a kernel older than 2.6.22 do this. Not needed for kernels 2.6.22 onward:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd /sys/devices/system/cpu/cpu0/cpufreq&lt;br /&gt;
 cat ondemand/sampling_rate_max &amp;gt; ondemand/sampling_rate&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ATA drives==&lt;br /&gt;
Hard drives and CDRom drives spinning is very costly. To improve battery&lt;br /&gt;
lifetime, you should reduce disks access (or devices polling) the more you&lt;br /&gt;
can.  &lt;br /&gt;
&lt;br /&gt;
===Hard Drives===&lt;br /&gt;
The files access time update, while mandated by POSIX, is causing lots of&lt;br /&gt;
disks access; even accessing files on disk cache may wake the ATA or USB&lt;br /&gt;
bus. If you don't use this feature, disable it via:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 mount -o remount,noatime /  # and so on for all mounted fs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The laptop_mode reduce disk usage by regrouping writes. You should enable&lt;br /&gt;
it, at least while on battery. See [[Laptop-mode]] for more details:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default kernel dirty page writeback frequency is very conservative. On&lt;br /&gt;
a laptop running on battery, one might find more appropriate to reduce it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some power saving hard drives features can be activated with hdparm.&lt;br /&gt;
For more details look at [[How to make use of Power Management features]] :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 hdparm -B 1 -S 12 /dev/sda # and/or any other disk device&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optical drive===&lt;br /&gt;
The optical drive is reported to consume power even when not accessed. See &lt;br /&gt;
&lt;br /&gt;
* [[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).&lt;br /&gt;
* [[How to set optical drive speed|Reduce the spinning speed of the optical drive]].&lt;br /&gt;
&lt;br /&gt;
The hald daemon polling tends to maintain the ATA buses out of power saving&lt;br /&gt;
modes, and to wakeup CDROM drive. If you have a recent hald version, you&lt;br /&gt;
can stop this polling when on battery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hal-disable-polling /dev/scd0 # or whatever your CD drive is&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your hald is not recent enough, consider stopping it on battery.&lt;br /&gt;
&lt;br /&gt;
==LCD Backlight/Brightness==&lt;br /&gt;
The LCD backlight is one of the very major power drain. &lt;br /&gt;
Reducing brightness to the lowest readable&lt;br /&gt;
level will save a lot of battery lifetime. Also, don't forget to configure&lt;br /&gt;
your screen saver to shutdown the screen backlight (rather than displaying some&lt;br /&gt;
eye candy), when no activity for a few minutes.&lt;br /&gt;
&lt;br /&gt;
You can also let the system [[automatically reduce brightness]] after a &lt;br /&gt;
period of inactivity.&lt;br /&gt;
&lt;br /&gt;
If you're choosing your Thinkpad laptop model, keep in mind that the screen&lt;br /&gt;
size affect the battery time greatly: more power needed for larger screens.&lt;br /&gt;
&lt;br /&gt;
==Graphic controllers==&lt;br /&gt;
All xorg Thinkpad graphics chipsets drivers (ati, radeon, fglrx, i810) have&lt;br /&gt;
the same bug causing very frequent CPU wakeups when DRI is activated, even&lt;br /&gt;
when you don't use any 3D application.&lt;br /&gt;
This problem is partly fixed on xorg git tree but not released as of xorg&lt;br /&gt;
7.2. If you value more battery than 3D, you should disable DRI: put this on&lt;br /&gt;
the /etc/X11/xorg.conf &amp;quot;Device&amp;quot; of you graphic controller:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Option          &amp;quot;NoDRI&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also be sure that DPMS is working: &amp;lt;code&amp;gt;grep DPMS /var/log/Xorg.0.log&amp;lt;/code&amp;gt;&lt;br /&gt;
should output &amp;quot;DPMS enabled&amp;quot;. If not, put &amp;lt;code&amp;gt;Option &amp;quot;DPMS&amp;quot;&amp;lt;/code&amp;gt; in your config.&lt;br /&gt;
&lt;br /&gt;
On recent xrandr/xorg versions, you can disable the TV output when you're&lt;br /&gt;
not using it (it's known to consume power) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 xrandr --output TV -off&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you don't have an external monitor plugged, disable CRT and DVI output &lt;br /&gt;
(for some, this can make a difference in power usage) : &lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 echo crt_disable &amp;gt; /proc/acpi/ibm/video&lt;br /&gt;
 echo dvi_disable &amp;gt; /proc/acpi/ibm/video&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some drivers have specials power saving mode, and/or allows underclocking the GPU. See also:&lt;br /&gt;
* [[How to make use of Graphics Chips Power Management features]], or with [[Rovclock]] on ATI.&lt;br /&gt;
* [[Problem with high power drain in ACPI sleep]]&lt;br /&gt;
&lt;br /&gt;
==USB Subsystem==&lt;br /&gt;
The kernel support an efficient USB 2.0 power saving feature if you enabled&lt;br /&gt;
CONFIG_USB_SUSPEND. This may not trigger in when you have an USB device&lt;br /&gt;
plugged (and beside, USB devices tends to suck power on their own), so avoid&lt;br /&gt;
using such devices when on battery.&lt;br /&gt;
&lt;br /&gt;
USB 1.1 is worst. It needs polling the bus frequently, hence can't really go&lt;br /&gt;
in a low power mode when you enabled it, even if you don't have any device&lt;br /&gt;
plugged. You'd better remove it when you don't use a 1.1 device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo &amp;quot;blacklist uhci_hcd&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
ALSA has a power saving feature that should be enabled on your kernel&lt;br /&gt;
(CONFIG_SND_AC97_POWER_SAVE). Note that this low power mode won't trigger in&lt;br /&gt;
unless you muted all sound inputs (micro, line in etc.). This feature has&lt;br /&gt;
to be activated with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 amixer set Line mute nocap&lt;br /&gt;
 amixer set Mic mute nocap&lt;br /&gt;
 echo Y &amp;gt; /sys/module/snd_ac97_codec/parameters/power_save&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More radical: you can unload all sound related modules when you are on &lt;br /&gt;
battery, or mute the sound system (echo mute &amp;gt; /proc/acpi/ibm/volume).&lt;br /&gt;
&lt;br /&gt;
Seel also [[How to enable AC97 power saving]].&lt;br /&gt;
&lt;br /&gt;
==Wireless Interface==&lt;br /&gt;
Wireless network consume a lot of power.&lt;br /&gt;
To save power on ipw adapters, you can kill the Wi-Fi radio when it's not in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 1 &amp;gt; /sys/bus/pci/drivers/ipw*/*/rf_kill&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need Wi-Fi, you can also reduce power consumption (at the price of&lt;br /&gt;
performances) by activating the power saving modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 iwpriv eth1 set_power 5&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reducing beacon intervals on your Access Point to 1 per second will also&lt;br /&gt;
reduce network card interrupts, therefore power savings. This shouldn't have&lt;br /&gt;
negatives side effects.&lt;br /&gt;
&lt;br /&gt;
See also, to activate power saving on the wireless network card:&lt;br /&gt;
* For [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] and [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]], see instructions for the [[ipw2200]] driver.&lt;br /&gt;
* For [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]], see the [http://ipw3945.sourceforge.net/README.ipw3945 ipw3945 driver README]&lt;br /&gt;
&lt;br /&gt;
==Ethernet Controler==&lt;br /&gt;
If you don't use Wake-on-LAN, you should disable it for your network card,&lt;br /&gt;
because it sucks a lot of power:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ethtool -s eth0 wol d&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you can, try to reduce useless network activity on your ethernet&lt;br /&gt;
segment, coming to your NIC (ie. uneeded broadcasts), those cause &lt;br /&gt;
interrupts and CPU wakeups.&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
When you don't need bluetooth, disable it. Because of its radio, &lt;br /&gt;
bluetooth is not power friendly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hciconfig hci0 down ; rmmod hci_usb&lt;br /&gt;
 echo disable &amp;gt; /proc/acpi/ibm/bluetooth&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Modem==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==System Fans==&lt;br /&gt;
Fans consumes power when running, so you may look at the [[ACPI fan control script]].&lt;br /&gt;
&lt;br /&gt;
==Misbehaving Userland==&lt;br /&gt;
You should avoid using Beagle, Compiz, Beryl, XMMS, gnome-power-manager&lt;br /&gt;
and Evolution while on battery.&lt;br /&gt;
Look at the PowerTOP's [http://www.linuxpowertop.org/known.php known problems]&lt;br /&gt;
list.&lt;br /&gt;
&lt;br /&gt;
Deactivate desktop animations (blinking cursor on the terms, animated wallpapers, ...): they cause regular X (therefore kernel and CPU) wakeups.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* Wakes up the CPU too often (by polling something, because of too short select() timeouts, ...)&lt;br /&gt;
* Access the disks at regular intervals&lt;br /&gt;
* Access an hardware bus (USB, ATA, ...) at regular intervals&lt;br /&gt;
To find those offenders run:&lt;br /&gt;
* &amp;lt;code&amp;gt;strace -p $(pidof yourapp)&amp;lt;/code&amp;gt; # for all your running applications&lt;br /&gt;
* &amp;lt;code&amp;gt;powertop&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sysctl vm.block_dump=1&amp;lt;/code&amp;gt; # and look at dmesg&lt;br /&gt;
* &amp;lt;code&amp;gt;ps aux | awk '{print$10,$11}' | sort -n&amp;lt;/code&amp;gt; # will list all running softs sorted by used cpu time&lt;br /&gt;
Please, don't forget to fill a bug when you find such a misbehaving software.&lt;br /&gt;
{{NOTE|Not all software is evil, buggy or badly written. Some produce regular activity because they have to and the purpose of the software is doing it like this. Just think twice before fill bugs like this.}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[How to measure power consumption]]&lt;br /&gt;
* [[Script for monitoring power consumption]]&lt;br /&gt;
* Battery [[maintenance]]&lt;br /&gt;
&lt;br /&gt;
==External resources==&lt;br /&gt;
* [http://www.free-it.de/archiv/talks_2005/paper-11017/paper-11017.html ''Current trends in Linux Kernel Power Management''], Dominik Brodowski, 2005&lt;br /&gt;
* [http://www.linuxpowertop.org PowerTOP] website&lt;br /&gt;
* [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide] from the Gentoo Linux documentation&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030478.html When/where/what for low power consumption?] (thread on Linux-Thinkpad)&lt;br /&gt;
* ''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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[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]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&amp;diff=33746</id>
		<title>How to reduce power consumption</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&amp;diff=33746"/>
		<updated>2007-10-09T17:46:46Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Tools */ added linkt to (think)wiki page, noted that is is mostly all about CPU wakeups only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Reducing system power consumption will extend battery life, reduce system&lt;br /&gt;
temperature and (on some models) reduce system fan noise.&lt;br /&gt;
Power consumption can be greatly improved from a stock distribution configuration&lt;br /&gt;
to a fine tuned system. The general rules are :&lt;br /&gt;
* Unload drivers for unused devices (ie. USB 1.1, Yenta/PCMCIA, Wireless, IRDA, Bluetooth, ...)&lt;br /&gt;
* Reduce polling on devices (drives, USB subsystem, nvram, ...)&lt;br /&gt;
* Reduce hard drive activity&lt;br /&gt;
* Reduce LCD brightness to the minimum you can stand&lt;br /&gt;
* Reduce CPU wakeups, so it can stay longer in deep power saving c-states&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Arjan van de Ven's [[PowerTOP]] utility&lt;br /&gt;
is a gold mine to improve energy efficiency, but is almost only CPU-oriented. This tool helps to easily detect&lt;br /&gt;
the top power offenders, both userland and kernel modules, which prevent the use of CPU power saving mechanisms and sometime suggest &lt;br /&gt;
fixes accordingly.&lt;br /&gt;
PowerTOP users collected some [http://www.linuxpowertop.org/known.php tips &amp;amp; tricks]&lt;br /&gt;
and an informative [http://www.linuxpowertop.org/faq.php faq].&lt;br /&gt;
&lt;br /&gt;
Alternatively (or complementary) to PowerTOP, running &amp;lt;code&amp;gt;strace -p $(pidof yourapp)&amp;lt;/code&amp;gt; &lt;br /&gt;
for all your favorite or background running applications while they are expected to be &lt;br /&gt;
idle, will show the misbehaviors.&lt;br /&gt;
&lt;br /&gt;
Beside CPU wakeups, disks spins are also power angry. To detect what make your disk spinning,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 sysctl vm.block_dump=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will list all applications causing disks wakeups on the kernel's dmesg.&lt;br /&gt;
Other useful tools for this purpose are blktrace, iostat and lm-profiler&lt;br /&gt;
(from laptop-mode-tools suite).&lt;br /&gt;
&lt;br /&gt;
==BIOS settings==&lt;br /&gt;
Some Thinkpad BIOS (like 2.08 BIOS on {{X40}}) offer two very lame options,&lt;br /&gt;
with a very misleading online help (saying &amp;quot;Usually not needed&amp;quot;). That's&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management: (default disabled)&lt;br /&gt;
 PCI bus power management: (default disabled)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should indeed enable them, else the deepest C3 and C4 ACPI C-states&lt;br /&gt;
are disabled.&lt;br /&gt;
&lt;br /&gt;
==CPU==&lt;br /&gt;
Look at:&lt;br /&gt;
* [[How to make use of Dynamic Frequency Scaling]]&lt;br /&gt;
* [[Pentium M undervolting and underclocking]]&lt;br /&gt;
&lt;br /&gt;
A good thing to keep in mind is that every CPU wakeup, even if it's for&lt;br /&gt;
a trivial light job, reduce the time the CPU stays on a deep power&lt;br /&gt;
saving C-state (like C3 or C4). Therefore you should ensure your applications&lt;br /&gt;
stay really idle when they meant to be idle (track shorts select timeouts&lt;br /&gt;
in loop, etc. with powertop).&lt;br /&gt;
&lt;br /&gt;
Also note that manually locking the CPU in the lowest P-state (frequency) &lt;br /&gt;
available is '''not''' an efficient way to improve battery lifetime. This will&lt;br /&gt;
cause the CPU to stay longer in C0 (power angry C-state) doing hard work when &lt;br /&gt;
there is something to do, while it could have done this work faster by augmenting&lt;br /&gt;
the CPU freq, and returned back faster to a deeper, economic, C-state and to a&lt;br /&gt;
lower frequency (P-state).&lt;br /&gt;
The best is to let the kernel select the appropriates CPU frequencies by itself&lt;br /&gt;
with the help of in kernel CPU governors.&lt;br /&gt;
Have a look at [http://www.bughost.org/pipermail/power/2007-May/000166.html this explanation]&lt;br /&gt;
from Intel's kernel developer Arjan van de Ven.&lt;br /&gt;
&lt;br /&gt;
==Kernel settings and patches==&lt;br /&gt;
&lt;br /&gt;
===General settings===&lt;br /&gt;
The 2.6.21 kernel brought some very effective changes (like dynticks). If&lt;br /&gt;
it's not already on your distribution and you value power efficiency, you&lt;br /&gt;
may think about compiling it (or a more recent one) yourself.&lt;br /&gt;
&lt;br /&gt;
Here are a few options (beside the ACPI and APM related one) that matter to &lt;br /&gt;
reduce power consumption or to help diagnosing consumers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # From PowerTOP's FAQ:&lt;br /&gt;
 CONFIG_NO_HZ&lt;br /&gt;
 CONFIG_HIGH_RES_TIMERS&lt;br /&gt;
 CONFIG_HPET&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_ONDEMAND&lt;br /&gt;
 CONFIG_USB_SUSPEND&lt;br /&gt;
 CONFIG_SND_AC97_POWER_SAVE&lt;br /&gt;
 CONFIG_TIMER_STATS&lt;br /&gt;
 CONFIG_ACPI_BATTERY&lt;br /&gt;
 CONFIG_CPU_FREQ_STAT&lt;br /&gt;
 # Not from the PowerTOP FAQ:&lt;br /&gt;
 CONFIG_BLK_DEV_IO_TRACE&lt;br /&gt;
 CONFIG_X86_ACPI_CPUFREQ&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_CENTRINO&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_ICH&lt;br /&gt;
 CONFIG_X86_SPEEDSTEP_SMI&lt;br /&gt;
 CONFIG_X86_ACPI_CPUFREQ&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those options are already in Fedora Core 7 and Ubuntu Gutsy (not Feisty) default i686 kernels.&lt;br /&gt;
PowerTOP FAQ also suggest to '''disable'''&lt;br /&gt;
CONFIG_IRQBALANCE et CONFIG_ACPI_DEBUG.&lt;br /&gt;
&lt;br /&gt;
Also, you need to properly set APM and ACPI. Look at:&lt;br /&gt;
* [[Power Management]]&lt;br /&gt;
* [[How to make use of Power Management features]]&lt;br /&gt;
&lt;br /&gt;
===Useful Patchs===&lt;br /&gt;
&lt;br /&gt;
Thomas Gleixner High Resolution Timers (hrt) patchset brings many improvements,&lt;br /&gt;
like the cpuidle work and Udo A. Steinberg and Venki Pallipadi &amp;quot;force&lt;br /&gt;
enable HPET&amp;quot; patches (non HPET timers causes about 20-40 CPU wakeups/second, but&lt;br /&gt;
HPET is often hidden by the BIOS due to Windows XP deficiencies).&lt;br /&gt;
See http://www.tglx.de/projects/hrtimers/&lt;br /&gt;
&lt;br /&gt;
Kristen Carlson Accardi from Intel has a patchset to turn on &amp;quot;Aggressive&lt;br /&gt;
Link Power Management&amp;quot; (ALPM) for the AHCI driver (for SATA bus). See:&lt;br /&gt;
http://www.kernel.org/pub/linux/kernel/people/kristen/patches/SATA/alpm/&lt;br /&gt;
&lt;br /&gt;
The [[HDAPS]] disk protection systems can reduce battery life. &lt;br /&gt;
Matthew Garrett provides [http://www.linuxpowertop.org/patches/hdaps.patch a patch]&lt;br /&gt;
that prevents hdaps kernel module to generate interrupts when&lt;br /&gt;
this feature isn't used.&lt;br /&gt;
&lt;br /&gt;
===Useful sysctls===&lt;br /&gt;
The meaning of those settings is explained case by case on the relevant &lt;br /&gt;
sections of this document. But for convenience sake, we group them here too.&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;ondemand&amp;quot; scaling governor is recommended by Intel developers&lt;br /&gt;
for energy efficiency: it's expected to be more efficient than the &amp;quot;powersave&amp;quot;&lt;br /&gt;
governor, or than userspace daemons (like cpufreq-utils, cpufreqd, powernowd...).&lt;br /&gt;
Look [http://www.bughost.org/pipermail/power/2007-May/000071.html here],&lt;br /&gt;
[http://www.bughost.org/pipermail/power/2007-May/000073.html here], or&lt;br /&gt;
[http://www.bughost.org/pipermail/power/2007-May/000166.html here] for a&lt;br /&gt;
kernel developer explanation about &amp;quot;ondemand&amp;quot; being better on modern Intel CPUs.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;link_power_management_policy&amp;quot; tunable won't be available unless you&lt;br /&gt;
run Kirsten patchset, have an Intel AHCI compatible chipset, and use SATA drives.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
 echo 0 &amp;gt; /proc/sys/kernel/nmi_watchdog&lt;br /&gt;
 echo Y &amp;gt; /sys/module/snd_ac97_codec/parameters/power_save&lt;br /&gt;
 echo 1 &amp;gt; /sys/devices/system/cpu/sched_mc_power_savings&lt;br /&gt;
 echo ondemand &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
 echo min_power &amp;gt; /sys/class/scsi_host/host1/link_power_management_policy&lt;br /&gt;
 echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you're running a kernel older than 2.6.22 do this. Not needed for kernels 2.6.22 onward:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cd /sys/devices/system/cpu/cpu0/cpufreq&lt;br /&gt;
 cat ondemand/sampling_rate_max &amp;gt; ondemand/sampling_rate&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ATA drives==&lt;br /&gt;
Hard drives and CDRom drives spinning is very costly. To improve battery&lt;br /&gt;
lifetime, you should reduce disks access (or devices polling) the more you&lt;br /&gt;
can.  &lt;br /&gt;
&lt;br /&gt;
===Hard Drives===&lt;br /&gt;
The files access time update, while mandated by POSIX, is causing lots of&lt;br /&gt;
disks access; even accessing files on disk cache may wake the ATA or USB&lt;br /&gt;
bus. If you don't use this feature, disable it via:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 mount -o remount,noatime /  # and so on for all mounted fs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The laptop_mode reduce disk usage by regrouping writes. You should enable&lt;br /&gt;
it, at least while on battery. See [[Laptop-mode]] for more details:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default kernel dirty page writeback frequency is very conservative. On&lt;br /&gt;
a laptop running on battery, one might find more appropriate to reduce it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some power saving hard drives features can be activated with hdparm.&lt;br /&gt;
For more details look at [[How to make use of Power Management features]] :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 hdparm -B 1 -S 12 /dev/sda # and/or any other disk device&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optical drive===&lt;br /&gt;
The optical drive is reported to consume power even when not accessed. See &lt;br /&gt;
&lt;br /&gt;
* [[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).&lt;br /&gt;
* [[How to set optical drive speed|Reduce the spinning speed of the optical drive]].&lt;br /&gt;
&lt;br /&gt;
The hald daemon polling tends to maintain the ATA buses out of power saving&lt;br /&gt;
modes, and to wakeup CDROM drive. If you have a recent hald version, you&lt;br /&gt;
can stop this polling when on battery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hal-disable-polling /dev/scd0 # or whatever your CD drive is&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your hald is not recent enough, consider stopping it on battery.&lt;br /&gt;
&lt;br /&gt;
==LCD Backlight/Brightness==&lt;br /&gt;
The LCD backlight is one of the very major power drain. &lt;br /&gt;
Reducing brightness to the lowest readable&lt;br /&gt;
level will save a lot of battery lifetime. Also, don't forget to configure&lt;br /&gt;
your screen saver to shutdown the screen backlight (rather than displaying some&lt;br /&gt;
eye candy), when no activity for a few minutes.&lt;br /&gt;
&lt;br /&gt;
You can also let the system [[automatically reduce brightness]] after a &lt;br /&gt;
period of inactivity.&lt;br /&gt;
&lt;br /&gt;
If you're choosing your Thinkpad laptop model, keep in mind that the screen&lt;br /&gt;
size affect the battery time greatly: more power needed for larger screens.&lt;br /&gt;
&lt;br /&gt;
==Graphic controllers==&lt;br /&gt;
All xorg Thinkpad graphics chipsets drivers (ati, radeon, fglrx, i810) have&lt;br /&gt;
the same bug causing very frequent CPU wakeups when DRI is activated, even&lt;br /&gt;
when you don't use any 3D application.&lt;br /&gt;
This problem is partly fixed on xorg git tree but not released as of xorg&lt;br /&gt;
7.2. If you value more battery than 3D, you should disable DRI: put this on&lt;br /&gt;
the /etc/X11/xorg.conf &amp;quot;Device&amp;quot; of you graphic controller:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Option          &amp;quot;NoDRI&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also be sure that DPMS is working: &amp;lt;code&amp;gt;grep DPMS /var/log/Xorg.0.log&amp;lt;/code&amp;gt;&lt;br /&gt;
should output &amp;quot;DPMS enabled&amp;quot;. If not, put &amp;lt;code&amp;gt;Option &amp;quot;DPMS&amp;quot;&amp;lt;/code&amp;gt; in your config.&lt;br /&gt;
&lt;br /&gt;
On recent xrandr/xorg versions, you can disable the TV output when you're&lt;br /&gt;
not using it (it's known to consume power) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 xrandr --output TV -off&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you don't have an external monitor plugged, disable CRT and DVI output &lt;br /&gt;
(for some, this can make a difference in power usage) : &lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
 echo crt_disable &amp;gt; /proc/acpi/ibm/video&lt;br /&gt;
 echo dvi_disable &amp;gt; /proc/acpi/ibm/video&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some drivers have specials power saving mode, and/or allows underclocking the GPU. See also:&lt;br /&gt;
* [[How to make use of Graphics Chips Power Management features]], or with [[Rovclock]] on ATI.&lt;br /&gt;
* [[Problem with high power drain in ACPI sleep]]&lt;br /&gt;
&lt;br /&gt;
==USB Subsystem==&lt;br /&gt;
The kernel support an efficient USB 2.0 power saving feature if you enabled&lt;br /&gt;
CONFIG_USB_SUSPEND. This may not trigger in when you have an USB device&lt;br /&gt;
plugged (and beside, USB devices tends to suck power on their own), so avoid&lt;br /&gt;
using such devices when on battery.&lt;br /&gt;
&lt;br /&gt;
USB 1.1 is worst. It needs polling the bus frequently, hence can't really go&lt;br /&gt;
in a low power mode when you enabled it, even if you don't have any device&lt;br /&gt;
plugged. You'd better remove it when you don't use a 1.1 device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo &amp;quot;blacklist uhci_hcd&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
ALSA has a power saving feature that should be enabled on your kernel&lt;br /&gt;
(CONFIG_SND_AC97_POWER_SAVE). Note that this low power mode won't trigger in&lt;br /&gt;
unless you muted all sound inputs (micro, line in etc.). This feature has&lt;br /&gt;
to be activated with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 amixer set Line mute nocap&lt;br /&gt;
 amixer set Mic mute nocap&lt;br /&gt;
 echo Y &amp;gt; /sys/module/snd_ac97_codec/parameters/power_save&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More radical: you can unload all sound related modules when you are on &lt;br /&gt;
battery, or mute the sound system (echo mute &amp;gt; /proc/acpi/ibm/volume).&lt;br /&gt;
&lt;br /&gt;
Seel also [[How to enable AC97 power saving]].&lt;br /&gt;
&lt;br /&gt;
==Wireless Interface==&lt;br /&gt;
Wireless network consume a lot of power.&lt;br /&gt;
To save power on ipw adapters, you can kill the Wi-Fi radio when it's not in use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 echo 1 &amp;gt; /sys/bus/pci/drivers/ipw*/*/rf_kill&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need Wi-Fi, you can also reduce power consumption (at the price of&lt;br /&gt;
performances) by activating the power saving modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 iwpriv eth1 set_power 5&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reducing beacon intervals on your Access Point to 1 per second will also&lt;br /&gt;
reduce network card interrupts, therefore power savings. This shouldn't have&lt;br /&gt;
negatives side effects.&lt;br /&gt;
&lt;br /&gt;
See also, to activate power saving on the wireless network card:&lt;br /&gt;
* For [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] and [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]], see instructions for the [[ipw2200]] driver.&lt;br /&gt;
* For [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]], see the [http://ipw3945.sourceforge.net/README.ipw3945 ipw3945 driver README]&lt;br /&gt;
&lt;br /&gt;
==Ethernet Controler==&lt;br /&gt;
If you don't use Wake-on-LAN, you should disable it for your network card,&lt;br /&gt;
because it sucks a lot of power:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ethtool -s eth0 wol d&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you can, try to reduce useless network activity on your ethernet&lt;br /&gt;
segment, coming to your NIC (ie. uneeded broadcasts), those cause &lt;br /&gt;
interrupts and CPU wakeups.&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
When you don't need bluetooth, disable it. Because of its radio, &lt;br /&gt;
bluetooth is not power friendly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 hciconfig hci0 down ; rmmod hci_usb&lt;br /&gt;
 echo disable &amp;gt; /proc/acpi/ibm/bluetooth&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Modem==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==System Fans==&lt;br /&gt;
Fans consumes power when running, so you may look at the [[ACPI fan control script]].&lt;br /&gt;
&lt;br /&gt;
==Misbehaving Userland==&lt;br /&gt;
You should avoid using Beagle, Compiz, Beryl, XMMS, gnome-power-manager&lt;br /&gt;
and Evolution while on battery.&lt;br /&gt;
Look at the PowerTOP's [http://www.linuxpowertop.org/known.php known problems]&lt;br /&gt;
list.&lt;br /&gt;
&lt;br /&gt;
Deactivate desktop animations (blinking cursor on the terms, animated wallpapers, ...): they cause regular X (therefore kernel and CPU) wakeups.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* Wakes up the CPU too often (by polling something, because of too short select() timeouts, ...)&lt;br /&gt;
* Access the disks at regular intervals&lt;br /&gt;
* Access an hardware bus (USB, ATA, ...) at regular intervals&lt;br /&gt;
To find those offenders run:&lt;br /&gt;
* &amp;lt;code&amp;gt;strace -p $(pidof yourapp)&amp;lt;/code&amp;gt; # for all your running applications&lt;br /&gt;
* &amp;lt;code&amp;gt;powertop&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sysctl vm.block_dump=1&amp;lt;/code&amp;gt; # and look at dmesg&lt;br /&gt;
* &amp;lt;code&amp;gt;ps aux | awk '{print$10,$11}' | sort -n&amp;lt;/code&amp;gt; # will list all running softs sorted by used cpu time&lt;br /&gt;
Please, don't forget to fill a bug when you find such a misbehaving software.&lt;br /&gt;
{{NOTE|Not all software is evil, buggy or badly written. Some produce regular activity because they have to and the purpose of the software is doing it like this. Just think twice before fill bugs like this.}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[How to measure power consumption]]&lt;br /&gt;
* [[Script for monitoring power consumption]]&lt;br /&gt;
* Battery [[maintenance]]&lt;br /&gt;
&lt;br /&gt;
==External resources==&lt;br /&gt;
* [http://www.free-it.de/archiv/talks_2005/paper-11017/paper-11017.html ''Current trends in Linux Kernel Power Management''], Dominik Brodowski, 2005&lt;br /&gt;
* [http://www.linuxpowertop.org PowerTOP] website&lt;br /&gt;
* [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide] from the Gentoo Linux documentation&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030478.html When/where/what for low power consumption?] (thread on Linux-Thinkpad)&lt;br /&gt;
* ''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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[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]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Issues_with_the_Wiki&amp;diff=33659</id>
		<title>Issues with the Wiki</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Issues_with_the_Wiki&amp;diff=33659"/>
		<updated>2007-10-03T18:42:12Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Troubles encountered */ E-Mail confirmation works now&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a provisorium. It's a list of things that are going wrong after the update to help [[User:akw|Akw]] track and fix them.&lt;br /&gt;
&lt;br /&gt;
== JavaScript and CSS ==&lt;br /&gt;
&lt;br /&gt;
'''Enabling user Javascript and CSS for MediaWiki'''&lt;br /&gt;
&lt;br /&gt;
Could ThinkWiki's MediaWiki installation get these options enabled (typically set in LocalSettings.php):&lt;br /&gt;
&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserCss wgAllowUserCss]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserJs wgAllowUserJs]&lt;br /&gt;
&lt;br /&gt;
These options allow users to have their own custom Javascript and CSS. I (and others) like to have our own custom themes and Javascript when working with MediaWiki-powered websites.&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 22:04, 28 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
This is a great security risk. What is it good for?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:14, 29 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
It allowers users to set their own customizations via Javascript and CSS. It's a minor security risk which is why MediaWiki ships with it off, but Wikipedia and other popular websites using MediaWiki ship with it on.&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 20:49, 29 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
There is nothing minor about it.  The web security model is site-wise when dealing with MediaWiki, there is no easy (read: manageable) way for an user, even one that uses NoScript+Firefox or something else equally powerful, to really filter out trusted from untrusted content when you start allowing people to write JavaScript into a Wiki.&lt;br /&gt;
&lt;br /&gt;
CSS is less of a problem, but it could still hork the site if one is not careful, and MediaWiki already allows us to change the pages well enough.  If you need to change thinkwiki CSS for your own viewing pleasure, any browser worth its bytes lets you layer your own CSS on top of a site's.  I would not be strongly against enabling CSS, but I don't see any reason to do it, either.&lt;br /&gt;
&lt;br /&gt;
JavaScript submissions, OTOH, is something that must remain disabled.  IMO, if you really can't survive without tacking different JavaScript code than what thinkwiki already has, you can use greasemonkey or some other such system to do it in your own browser.&lt;br /&gt;
&lt;br /&gt;
If thinkwiki starts allowing users to set javascript on their pages, I would have to block javascript completely on my side, for example.  At that time, it is likely I will just go away.  Other contributors might feel the same.  It is not that I have anything against JavaScript.  It is the fact that I cannot *trust* user-submitted JavaScript.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 12:26, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
These options only enable Javascript and CSS for user pages, i.e. for User:User/Monobook.css and User/Monobook.js, specifically ''not'' for other pages. Disabling these options was done by default as a precaution against XSS vulnerabilies [http://www.gossamer-threads.com/lists/wiki/mediawiki-announce/28572 long since been fixed]. Unfortunately, while I agree with you about disabling user Javascript as a precaution, I do not think the wgAllowUserCss option has any effect unless the wgAllowUserJs option is enabled as well.&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 18:52, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I don't get the point ether.&lt;br /&gt;
Why you want to use css/javascript on user pages? You always say why you think its no problem, but not what you want to do. If you need some funky looking stuff or buttons there you should use something like myspace. This Wikis (and almost all other) purpose is collecting the main - Thinkpad - content, not something cool/funky/special on userpages&lt;br /&gt;
&lt;br /&gt;
As Hmh, I would block js immediately and may leave the site, even if its only on userpages, because I don't want to mind clicking &amp;quot;the false links&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]], 30 July 2007&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/MediaWiki#Customisation Wikipedia's section on MediaWiki customization] describes some of the extensions and addons available. For example, [http://en.wikipedia.org/wiki/User:Cacycle/wikEd wikiEd] is a WYSIWYG editor such that instead of having to remember MediaWiki's markup, they use an editor that's only enabled for use them. This kind of extending is difficult to do with Stylish or Greasemonkey.&lt;br /&gt;
&lt;br /&gt;
I'll repeat, since I've not been apparently misunderstood:&lt;br /&gt;
* Users ''won't'' be able to add Javascript or CSS to arbitrary pages, only those under their user profile (these are called &amp;quot;user pages&amp;quot;)&lt;br /&gt;
* Only those users logged in will see these their own changes, no other users will.&lt;br /&gt;
Given these things, I don't understand why people need to threaten they're going to stop contributing to ThinkWiki? There isn't a way you're going to turn ThinkWiki into MySpace. If you don't use specifically use any CSS or Javascript through these features, it will not effect you at all.&lt;br /&gt;
&lt;br /&gt;
What I personally want to do, I want to use a MediaWiki modification I wrote, [http://meta.wikimedia.org/wiki/Gallery_of_user_styles#Nullbook Nullbook]. I feel as if I am much more efficient with this theme. &lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 21:58, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
I don't understand what exactly $wgAllowUserJs is supposed to do, and its [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserCss documentation] is worthless. The crux of the matter is this: if those features are enabled, is there any way ''you'' can cause ''me'' to execute JavaScript (or apply CSS) that ''you'' wrote, in ''any'' page on ThinkWiki? If not, why? &lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:17, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
[http://meta.wikimedia.org/wiki/User_styles User styles on the MediaWiki site] describes a bit more how these options work and what is provided to any modification that depends upon them. Unless there exist security-related bugs (which is the reason these features are tagged possible security risks, and why they are proactively disabled by default), by design, no, there is no way that I can cause you to execute Javascript or apply CSS that I had put into one of my own &amp;quot;user pages&amp;quot; (i.e. those under [[User:SamatJain]]).&lt;br /&gt;
&lt;br /&gt;
--[[User:SamatJain|SamatJain]] 22:53, 30 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
'''If and only if''' such javascript and css changes are limited so that the user who made them is the only one who gets them, then I have nothing against it.&lt;br /&gt;
&lt;br /&gt;
That said, I'd prefer if the relevant mediawiki code was audited a bit before it is enabled.&lt;br /&gt;
&lt;br /&gt;
PS: Whomever is doing it, please stop screwing around with the formatting: there must be one empty line before and after signatures, it makes the dialog a '''lot''' more readable.&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 02:53, 1 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Troubles encountered ==&lt;br /&gt;
&lt;br /&gt;
'''/usr/bin/convert'''&lt;br /&gt;
&lt;br /&gt;
I think the computer this wiki is running on is missing the imagemagick software tools especially convert to create thumbnails of images --[[User:Markusw|Markusw]] 10:21, 26 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Problem with cmdroot'''&lt;br /&gt;
&lt;br /&gt;
Following String is not handled correct by template cmdroot:&lt;br /&gt;
&amp;quot;fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image&amp;quot;&lt;br /&gt;
&lt;br /&gt;
see here:&lt;br /&gt;
{{cmdroot|fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Can not open page to edit without introducing modifications'''&lt;br /&gt;
&lt;br /&gt;
If I open the [[X31]] model page and without touching anything I hit preview, the div token is decomposed and appears in the preview page, and of course, the photo is not in the right place.&lt;br /&gt;
 &lt;br /&gt;
:[[User:Ungoliant|Ungoliant]] 19:24, 20 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Can not upload SVG'''&lt;br /&gt;
 I get the upload warning:&lt;br /&gt;
 &amp;quot;.svg&amp;quot; is not a recommended image file format.&lt;br /&gt;
:[[User:Matt|Matt]] 14:02, 3 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Is there a way to contact a registered user, for example to confirm information.  I have found that AdamZ claims that the X20 is bootable via USB.  My information indicates the contrary.  Isn't there a way to contact a registered user through MediaWiki?  --[[User:Rolf|Rolf]] 00:30, 9 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
php error encountered when attempting to update Bios Upgrade page:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 133781 bytes) in /home/akw/htdocs/thinkwiki.org/mediawiki-1.5.6/includes/MagicWord.php on line 250&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
--[[User:roadends|roadends]] 02:30, 20 March 2006 (EDT)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* [[ThinkWiki:SpamBlackList]] does not appear to work anymore&lt;br /&gt;
--[[User:Tonko|Tonko]] 03:40, 11 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
You can't (easliy do a multiline {{cmdresult|cmdresult}}, can you? See:&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&lt;br /&gt;
bar&lt;br /&gt;
baz}}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&lt;br /&gt;
  bar (after whitespace)&lt;br /&gt;
  baz (after whitespace)}}&lt;br /&gt;
&lt;br /&gt;
This works (but is not so nice)&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&lt;br /&gt;
&lt;br /&gt;
bar (after empty line)&lt;br /&gt;
&lt;br /&gt;
baz (after empty line)}}&lt;br /&gt;
&lt;br /&gt;
Any suggestions?&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 10:27, 24 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
I think the best way is to use single cmdresult calls for each line and prefix them with a colon. Like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
:{{cmdresult|foo}}&lt;br /&gt;
:{{cmdresult|bar}}&lt;br /&gt;
:{{cmdresult|baz}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;, which results in&lt;br /&gt;
:{{cmdresult|foo}}&lt;br /&gt;
:{{cmdresult|bar}}&lt;br /&gt;
:{{cmdresult|baz}}&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can use &amp;amp;lt;br /&amp;amp;gt; at the ende of each line within one call, like this:&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{cmdresult|foo&amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
bar&amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
baz}}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
, which will result in&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|foo&amp;lt;br /&amp;gt;&lt;br /&gt;
bar&amp;lt;br /&amp;gt;&lt;br /&gt;
baz}}&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 12:13, 24 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
I have just got a MySQL problem when I edited a page, a query was not to its liking. It is quite easy to reproduce, just edit any page ;-)&lt;br /&gt;
&lt;br /&gt;
History did get updated, and the page was also updated, so I have no idea what broke when that query failed.&lt;br /&gt;
&lt;br /&gt;
 A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:&lt;br /&gt;
 (SQL query hidden)&lt;br /&gt;
 from within function &amp;quot;SearchMySQL4::update&amp;quot;. MySQL returned error &amp;quot;1062: Duplicate entry ' ' for key 3 (localhost)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[User:Hmh|hmh]] 2006-02-17, 20:12 UTC&lt;br /&gt;
----&lt;br /&gt;
More database problems, this time the search function:&lt;br /&gt;
&lt;br /&gt;
 A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:&lt;br /&gt;
 (SQL query hidden)&lt;br /&gt;
 from within function &amp;quot;&amp;quot;. MySQL returned error &amp;quot;145: Table './thinkwiki/searchindex' is marked as crashed and should be repaired (localhost)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[User:Hmh|hmh]] 2006-02-21, 15:07 UTC&lt;br /&gt;
----&lt;br /&gt;
The server time would appear to be off a lot, is it possible to setup ntpd, or to run ntpdate every hour or so using cron?&lt;br /&gt;
--[[User:Tonko|Tonko]] 05:11, 22 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
Search still seems broken, searching for DVI brings up nothing.&lt;br /&gt;
--[[User:Jumpfroggy|Jumpfroggy]] 00:03, 17 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
Error creating thumbnail: /home/thinkwiki/htdocs/mediawiki-1.10.0/bin/ulimit4.sh: line 4: /usr/bin/convert: No such file or directory&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;Your signature with timestamp&amp;quot;-Button'''&lt;br /&gt;
&lt;br /&gt;
This Button simply doesn't work, it adds &amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
I think its a bunch on javascript so I may add:&amp;lt;br&amp;gt;&lt;br /&gt;
I use Firefox (branded as Icewasel) on Debian Testing&amp;lt;br&amp;gt;&lt;br /&gt;
Preferences:&amp;lt;br&amp;gt;&lt;br /&gt;
Raw signatures (without automatic link) OFF&amp;lt;br&amp;gt;&lt;br /&gt;
Show edit toolbar (JavaScript) ON&amp;lt;br&amp;gt;&lt;br /&gt;
(Oh... Yes its javascript)&lt;br /&gt;
&lt;br /&gt;
EDIT:&lt;br /&gt;
Even in my Windows XP SP2 Virtual Machine it don't work in Internet Explorer 7.0&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 29 July 2007&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Confirmation E-mail'''&lt;br /&gt;
&lt;br /&gt;
It just don't work. It neither is in my spam dir nor works with any other address.&lt;br /&gt;
Tried multiple times, waited hours, days, weeks... gave up and wrote this here...&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 29 July 2007&lt;br /&gt;
&lt;br /&gt;
The E-Mail confirmation feature works now&lt;br /&gt;
&lt;br /&gt;
--[[User:BDKMPSS|BDKMPSS]] 10 October 2007&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Troubles confirmed ==&lt;br /&gt;
* [[Special:Benchmarks]] doesn't find it's data&lt;br /&gt;
&lt;br /&gt;
(update 2007-03-24: this page is not listed in the special pages category anymore, so the bug is now worked around).&lt;br /&gt;
&lt;br /&gt;
== Fixed problems ==&lt;br /&gt;
* http://thinkwiki.org/ reverted again to the default MediaWiki theme. '''Cannot reproduce this one (15.01.06, akw)'''&lt;br /&gt;
* File upload is disabled - '''Argh. Fixed (15.01.06, akw)'''&lt;br /&gt;
* URL contains index.php(/) before the actual page name - '''This has been fixed (28.05.05, akw)'''&lt;br /&gt;
* The categories page doesn't link to [[:Category:ThinkWiki]] - '''Fixed (29.05.05, akw)'''&lt;br /&gt;
* http://thinkwiki.org/ is broken (no www prefix), this was working before - '''Fixed (29.05.05, akw)'''&lt;br /&gt;
* On logging in a requester pops up asking to confirm a password change - '''seems like it's implicitly been fixed (29.05.2005, wyrfel)'''&lt;br /&gt;
* In Navigation bar, &amp;quot;&amp;amp;amp;lt;download&amp;amp;amp;gt;&amp;quot; leads to [http://www.thinkwiki.org/wiki/--error:_link_target_missing--] - '''fixed (30.06.2005)'''&lt;br /&gt;
* direct link to [[:Category:Models]] missing in Navigation '''Fixed (10.07.05, akw)'''&lt;br /&gt;
* It seems the Wiki has trouble updating the edit history, i'm getting mysql query errors on saving pages. The pages get saved, however. '''Fixed (12.05.2005)'''&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Power_Management_features&amp;diff=33506</id>
		<title>How to make use of Power Management features</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Power_Management_features&amp;diff=33506"/>
		<updated>2007-09-28T18:04:36Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* See also */  added link to Idle_consumptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General Information about Power Management features==&lt;br /&gt;
This page should give you all the information you need to make use of your ThinkPads [[Power Management]] features under [[:Category:Distributions|Linux]] and hence effectively enhance your battery life.&lt;br /&gt;
&lt;br /&gt;
Note that different distributions and kernels have different results.  ThinkPad-365 and 365X used to perform&lt;br /&gt;
blank, sleep and hibernation well using HW with W95,OS/2,and Linux installed (1998).  Later ThinkPads such as 240X,600E,T20 with recent Debian 2.4 kernels and ACPI=off will sleep, (also MDK-2.6 kernels). &lt;br /&gt;
However, blank and hibernation to disk do not work.  Better results are expected with 2.6.11+.&lt;br /&gt;
&lt;br /&gt;
===APM vs. ACPI===&lt;br /&gt;
All IBM ThinkPads support APM, and a lot support ACPI as well. Newer Lenovo ThinkPads support only ACPI.  Quality of ACPI implementation varies from model to model.  Both technologies cannot be used simultaneously; you'll have to make a choice.   Which to use depends on the model as well as on the state of ACPI support in the kernel.&lt;br /&gt;
&lt;br /&gt;
On older models you are surely better off with APM, if they feature ACPI at all.&lt;br /&gt;
&lt;br /&gt;
It seems that at least in recent models from the A, G, R, T and X series ACPI generally works fine and is a lot more flexible than APM, but with a lot of them also a [[Problem with high power drain in ACPI sleep]] has been experienced.&lt;br /&gt;
&lt;br /&gt;
Please check our [[APM vs. ACPI | APM vs. ACPI success table]] to find out about APM and ACPI support in specific models.&lt;br /&gt;
&lt;br /&gt;
On the other hand simply switching from APM to ACPI extended my X31 battery runtime from about 3.5h to 4h. This had&lt;br /&gt;
nothing to do with Dynamic Frequency Scaling which was active in both configurations.&lt;br /&gt;
&lt;br /&gt;
{{Todo|more precise and extended info should be provided here}}&lt;br /&gt;
&lt;br /&gt;
==How to enable certain features==&lt;br /&gt;
The following links will take you to separate pages dealing with the various topics.&lt;br /&gt;
*[[How to make APM work]] &amp;lt;tt&amp;gt;(Screen Blanking, Suspend to RAM, Suspend to Disk)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to make ACPI work]] &amp;lt;tt&amp;gt;(Screen Blanking, Suspend to RAM, Suspend to Disk)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to make use of Dynamic Frequency Scaling]] &amp;lt;tt&amp;gt;(Speedstep, Throttling, etc.)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to make use of Harddisk Power Management features]] &amp;lt;tt&amp;gt;(Laptop-mode, Spindown, etc.)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to make use of Graphics Chips Power Management features]] &amp;lt;tt&amp;gt;(save even more battery power)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to use UltraBay batteries]] &amp;lt;tt&amp;gt;(advanced control for a secondary battery)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[How to reduce power consumption]]&lt;br /&gt;
*[[Idle_consumptions]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Idle_consumptions&amp;diff=33505</id>
		<title>Idle consumptions</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Idle_consumptions&amp;diff=33505"/>
		<updated>2007-09-28T18:03:46Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: added my X31&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page reports the minimal consumptions of Thinkpads when idle. This means, in principle: minimum brightness, CPU and GPU at lowest speed, no wifi, hard drive spun down, no pcmcia cards inserted (see details of each entry).&lt;br /&gt;
&lt;br /&gt;
This kind of information has several uses: comparing one's consumption with that of other people's setups, knowing which model to use as a gateway/file server, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Model !! OS !! Remarks !! consumption &lt;br /&gt;
|----&lt;br /&gt;
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || back light off, laptop-mode-tools enabled, fan on, idling, measured with powertop || 6W&lt;br /&gt;
|----&lt;br /&gt;
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || Min brightness, laptop-mode-tools enabled, fan on, idling, measured with powertop || 7.5W&lt;br /&gt;
|----&lt;br /&gt;
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || Max brightness, laptop-mode-tools enabled, fan on, idling, measured with powertop || 9.2W&lt;br /&gt;
|----&lt;br /&gt;
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || Max brightness, laptop-mode-tools enabled, fan on, 100% cpu utilisation, measured with powertop || ~22W&lt;br /&gt;
|----&lt;br /&gt;
|{{600E}} PIII/450 || Archlinux 0.8/xfce ||  || 9W&lt;br /&gt;
|----&lt;br /&gt;
|{{R50e}}|| Gentoo (linux-2.6.22-rc4 force_HPET, fluxbox) ||With Networking, USB, firefox, thunderbird || 11.1W&lt;br /&gt;
|----&lt;br /&gt;
|{{R50e}}|| Gentoo (linux-2.6.22-rc4 force_HPET, fluxbox) ||Fluxbox + shell (+fan) || 10.5W&lt;br /&gt;
|----&lt;br /&gt;
|{{R50e}}|| Gentoo (linux-2.6.22-rc4 force_HPET, fluxbox) ||Blank Screen after 20min idle (+fan) || 7.1W&lt;br /&gt;
|----&lt;br /&gt;
|{{R52}}|| Gentoo (linux-2.6.22-rc6 + phc + hrt) ||Min brightness, tp-fancontrol, ipw2200 with power_save 5, undervolted, ondemand, laptop_mode, rovclock -c 100 -m 100&amp;lt;br /&amp;gt;virtual console (idle kde desktop adds about 0.2W) || 12.1W&lt;br /&gt;
|----&lt;br /&gt;
|{{R61}}||Ubuntu 7.04||Wireless on||16.4W&lt;br /&gt;
|----&lt;br /&gt;
|{{T23}}||Ubuntu 7.04|| || 10.7W&lt;br /&gt;
|----&lt;br /&gt;
|{{T40}}||Gentoo (2.6.23-rc6-hrt2)|| [http://www.linuxpowertop.org/patches/kernel-2.6.22-rc1.patch Bg-timer patch], HPET-patches, radeon, &amp;lt;tt&amp;gt;rovclock -c 105 -m 122&amp;lt;/tt&amp;gt;, no DRI, sound power_save = Y, min. brightness, no networking, with USB, Laptop-Mode, X &amp;amp; 1x URxvt || 7,4W&lt;br /&gt;
|----&lt;br /&gt;
|{{T41p}}||Ubuntu 7.04|| Undervolted, fglrx, no dri; fan-&amp;gt;+0.5W, powerstate=2-&amp;gt;+0.7W, HD-&amp;gt;+1.5W || 8.3W&lt;br /&gt;
|----&lt;br /&gt;
|{{T42}} (2373)||Debian 4.0 Etch|| Kernel 2.6.21_rc5 + hrtimer, rovclock -c 100 -m 120 (Radeon M10), no DRI, min bright. (+3W max), no wifi (+1W if idle) || 9.4W&lt;br /&gt;
|----&lt;br /&gt;
|{{T43}} (1871)||Debian (Linux 2.6.21, fluxbox)|| DRI, alsa (power_save=1), with usb, no networking || 10.1W (12.0W with HD)&lt;br /&gt;
|----&lt;br /&gt;
|{{T43}} (2669)||Gentoo (2.6.20-gentoo-r5)|| Undervolted, fglrx (powerstate=1), DRI, no alsa, no usb modules, no networking || 12.7W&lt;br /&gt;
|----&lt;br /&gt;
|{{T43}} (2686)||Fedora Core 6 (2.6.19.x patched)|| Undervolted, radeon, &amp;lt;tt&amp;gt;rovclock -c 125 -m 130&amp;lt;/tt&amp;gt;, no DRI, ALSA &amp;lt;tt&amp;gt;power_save=1&amp;lt;/tt&amp;gt;, no usb modules, no networking, min brightness, HDD spun down || 15W&lt;br /&gt;
|----&lt;br /&gt;
|{{T60}} (2007)||Fedora Core 6|| Wireless kill switch on, 1400x1050 panel @ min brightness, fglrx (powerstate=1), HDD spun up (~1W saving without) || 16W&lt;br /&gt;
|----&lt;br /&gt;
|{{T60}} (2007)||KUbuntu 7.04|| Wireless on, 1680x1050 panel @ medium brightness, fglrx (powerstate=1) || 16W&lt;br /&gt;
|----&lt;br /&gt;
|{{T60}} (2623D6U)||Debian testing (linux-2.6.21-1-686)||1400x1050 14&amp;quot; min-bright, iwpriv wlan0 set_power 7, VESA driver|| 12,7W&lt;br /&gt;
|----&lt;br /&gt;
|{{X21}}||Kubuntu 7.04|| Minimal consumption with kde loaded.||5.5W&lt;br /&gt;
|----&lt;br /&gt;
|{{X31}}||Debian Etch||2.6.22rc6+hrt1 patch+radeon patch||~ 8 W&lt;br /&gt;
|----&lt;br /&gt;
|{{X31}} (2672-C2G)||Debian Etch||vanilla 2.6.23rc8 tickless kernel, wireless rf-kill on, min brightness, hdd idle but spinning||~ 9.6 W&lt;br /&gt;
|----&lt;br /&gt;
|{{X60}}||Ubuntu 7.04||Wireless kill switch on, min brightness||10.2W&lt;br /&gt;
|----&lt;br /&gt;
|{{X60s}}||Debian Etch||2.6.21 tickless kernel, processes tweaked with powertop, usb/fw unloaded, hd spun down, min brightness, ipw3945 set to powersave mode 7||8.3W&lt;br /&gt;
|----&lt;br /&gt;
|{{X60s}}||Debian Etch||2.6.21 tickless kernel, processes tweaked with powertop, usb/fw unloaded, hd spun down, min brightness,ipw3945 unloaded||9W&lt;br /&gt;
|----&lt;br /&gt;
|{{X60s}}||Debian Lenny(testing)|| 2.6.22 tickless kernel, hrt-patch, alpm-patches, almost everything unloaded (wifi,pcmcia,ethernet,usb,firewire,sd,snd) and stopped (no X11,only cron/syslog), no vesa-fb, min brightness, 5 min idle, measured with powertop 1.7 (ACPI)||7.7W&lt;br /&gt;
|----&lt;br /&gt;
|{{X60s}}||Debian Lenny(testing)|| 2.6.22 tickless kernel, hrt-patch, alpm-patches, almost everything unloaded (wifi,pcmcia,ethernet,usb,firewire,sd,snd), with X11 (latest intel-xorg-driver, DRI enabled) and one x-terminal running, min brightness, 5 min idle, measured with powertop 1.7 (ACPI)||8.3W&lt;br /&gt;
|----&lt;br /&gt;
|{{X61T}}||Ubuntu Gutsy(tribe6)|| 2.6.23-rc6-hrt1 x86_64, everything unloaded &amp;amp; stopped, lcd backlight off, hd powered down, powertop 1.8||8.5W&lt;br /&gt;
|----&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X32&amp;diff=33504</id>
		<title>Category:X32</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X32&amp;diff=33504"/>
		<updated>2007-09-28T17:56:45Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: fix typo X21-&amp;gt; X31&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X32 ===&lt;br /&gt;
This page gives an overview of all ThinkPad X32 related topics.&lt;br /&gt;
==== Standard Features ====&lt;br /&gt;
* [[Intel Pentium M (Dothan)]] 1.6, 1.7, 1.8 or 2.0GHz CPU&lt;br /&gt;
* [[ATI Mobility Radeon 7000]] with 16MB&lt;br /&gt;
** 12.1&amp;quot; TFT display with 1024x768 resolution&lt;br /&gt;
* 256 or 512MB [[PC2700]] memory standard (2GB max)&lt;br /&gt;
* 40, 60 or 80GB HDD&lt;br /&gt;
* [[AD1981B]] AC'97 Audio controller&lt;br /&gt;
* [[Ethernet Controllers|Intel 10/100/1000 Ethernet controller]]&lt;br /&gt;
* [[CDC slot]] with one of the following:&lt;br /&gt;
** [[IBM Integrated 56K Modem (MDC-2)]]&lt;br /&gt;
** [[IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)]]&lt;br /&gt;
* [[MiniPCI slot]] with one of the following:&lt;br /&gt;
** none (open)&lt;br /&gt;
** [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]]&lt;br /&gt;
** [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]]&lt;br /&gt;
** [[IBM 11a/b/g Wireless LAN Mini PCI Adapter II]]&lt;br /&gt;
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]&lt;br /&gt;
* [[CF Card slot]]&lt;br /&gt;
* [[CardBus slot]] (Type 2)&lt;br /&gt;
* Firewire (IEEE1394)&lt;br /&gt;
* Weight: 3.6lbs (1.7kg)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:ThinkPadX31.jpg|ThinkPad X32]]&lt;br /&gt;
|}&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/39t2219.pdf ThinkPad X30, X31, X32 - Hardware Maintenance Manual (March 2005)] (4,369,265 Bytes)&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/39t6189.pdf ThinkPad X30, X31, X32 - Hardware Maintenance Manual (July 2005)] (4,375,026 Bytes)&lt;br /&gt;
&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Thermal_Sensors&amp;diff=33100</id>
		<title>Thermal Sensors</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Thermal_Sensors&amp;diff=33100"/>
		<updated>2007-09-13T23:36:33Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* ThinkPad {{X31}} */ 0x7D and 0x7F are sensors found Extended-Life-Battery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page summarizes known information about the locations and properties of thermal sensors on ThinkPad laptops. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Accessing the sensors==&lt;br /&gt;
&lt;br /&gt;
===Basic ACPI system temperature sensors===&lt;br /&gt;
The primary means of accessing the thermal sensors is through the [[ibm-acpi]] module.  Up to Linux 2.6.19, ibm-acpi supported only 8 sensors, but since Linux 2.6.20-rc2, up to 16 sensors are supported.  When the module is loaded, the sensors (some of which may be inactive) are shown in {{path|/proc/acpi/ibm/thermal}}:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /proc/acpi/ibm/thermal}}&lt;br /&gt;
:{{cmdresult|temperatures:   44 41 33 42 33 -128 30 -128}}&lt;br /&gt;
&lt;br /&gt;
A value of -128 (i.e., 0x80 hex) means the sensor is not connected. For example, above the two -128 values belong to the UltraBay battery, which is not plugged in.&lt;br /&gt;
&lt;br /&gt;
If the ThinkPad supports the extended sensor set, eight more values will be displayed:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /proc/acpi/ibm/thermal}}&lt;br /&gt;
:{{cmdresult|temperatures:   44 41 33 42 33 -128 30 -128 48 50 49 -128 -128 -128 -128 -128}}&lt;br /&gt;
&lt;br /&gt;
====Patch for accessing the extra ACPI sensors through &amp;lt;tt&amp;gt;thermal&amp;lt;/tt&amp;gt;====&lt;br /&gt;
If you don't use a recent-enough [[ibm-acpi]], you can patch it to make the extra 3 sensors show up on {{path|/proc/acpi/ibm/thermal}} just like the 8 basic sensors, apply the {{CodeRef|ibm_acpi-extra-thermal.patch}} kernel patch to [[ibm-acpi]].&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /proc/acpi/ibm/thermal}}&lt;br /&gt;
:{{cmdresult|temperatures:   44 41 33 42 33 -128 30 -128 40 48 43}}&lt;br /&gt;
&lt;br /&gt;
If you apply this patch in conjunction with [[ACPI_fan_control_script#Comprehensive_bash_script_with_fine_control_over_fan_speed|tp-fancontrol]], you'll need tp-fancontrol 0.2.9 or newer.&lt;br /&gt;
&lt;br /&gt;
===Accessing the thermal sensors through &amp;lt;tt&amp;gt;ecdump&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Load [[ibm-acpi]] with the &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt; option, and parse {{path|/proc/acpi/ibm/ecdump}}.  The 8 basic sensors are on offsets 0x78-0x7f, and the extended sensors (if supported) are on offsets 0xc0-0xc7.&lt;br /&gt;
&lt;br /&gt;
To read the first three extended sensors:&lt;br /&gt;
:{{cmdroot|perl -ne 'm/^EC 0xc0: .(..) .(..) .(..) / or next; print hex($1).&amp;quot; &amp;quot;.hex($2).&amp;quot; &amp;quot;.hex($3).&amp;quot;\n&amp;quot;' &amp;lt; /proc/acpi/ibm/ecdump}}&lt;br /&gt;
:{{cmdresult|40 48 43}}&lt;br /&gt;
&lt;br /&gt;
Future models might provide additional extra sensors beyond those three. To see all candidates:&lt;br /&gt;
:{{cmdroot|perl -ne 'print join(&amp;quot; &amp;quot;,map(hex,m/\w+/g)).&amp;quot;\n&amp;quot; if s/^EC 0xc0://' &amp;lt; /proc/acpi/ibm/ecdump}}&lt;br /&gt;
:{{cmdresult|40 48 43 128 128 128 128 128 0 0 0 0 0 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
{{WARN|'''ecdump''' is not a playground, and even just reading it causes side-effects to the ThinkPad.  The ibm-acpi maintainer wants to make it clear that he considers it a very dumb idea to use ecdump constantly in a script}}&lt;br /&gt;
&lt;br /&gt;
===HDAPS temperature sensor===&lt;br /&gt;
The [[Active Protection System]] accelerometer also reports a temperature, which is identical to one of the ACPI sensors. The corresponding sensor is actually not inside the HDAPS chip, but fairly close.&lt;br /&gt;
:{{cmdroot|cat /sys/bus/platform/drivers/hdaps/hdaps/temp1}}&lt;br /&gt;
:{{cmdresult|41}}&lt;br /&gt;
&lt;br /&gt;
===Harddisks SMART temperature sensor===&lt;br /&gt;
The system hard disk temperature can be read through the disk's SMART interface:&lt;br /&gt;
:{{cmdroot|&amp;lt;nowiki&amp;gt;smartctl -A /dev/hda | grep Temperature&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:{{cmdresult|194 Temperature_Celsius     0x0022   145   097   000    Old_age   Always       -       31}}&lt;br /&gt;
&lt;br /&gt;
Or, for SATA-equipped models running a recent Linux kernel (see [[Problems with SATA and Linux]]):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|&amp;lt;nowiki&amp;gt;smartctl -A -d ata /dev/sda | grep Temperature&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:{{cmdresult|194 Temperature_Celsius     0x0022   145   097   000    Old_age   Always       -       31}}&lt;br /&gt;
&lt;br /&gt;
When the [[UltraBay Slim HDD Adapter]] or [[UltraBay Slim SATA HDD Adapter]] are used, the second hard disk will typically provide another temperature readout via its SMART interface, analogously to the above.&lt;br /&gt;
&lt;br /&gt;
Reading this sensor will typically cause a drive spin-up and head unload.&lt;br /&gt;
&lt;br /&gt;
===Hitachi harddisks &amp;lt;tt&amp;gt;SENSE CONDITION&amp;lt;/tt&amp;gt; temperature sensor===&lt;br /&gt;
&lt;br /&gt;
Recent Hitachi disks provide a non-standard &amp;lt;tt&amp;gt;SENSE CONDITION&amp;lt;/tt&amp;gt; command which reads the disk temperature without causing a spin-up or head load. The reported value is the same as when using SMART. This can be invoked, e.g., using {{cmdroot|hdparm -H}}, or the relevant code in {{CodeRef|tp-fancontrol}}. When using the  &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; driver, this requires kernel &amp;gt;= 2.6.19-rc1.&lt;br /&gt;
&lt;br /&gt;
==Utilities for viewing temperatures==&lt;br /&gt;
&lt;br /&gt;
The following utilities display the ThinkPad-specific thermal sensor readouts:&lt;br /&gt;
* The above shell commands.&lt;br /&gt;
* The &amp;quot;Sensors&amp;quot; builtin of [[GKrellM]] can show 6 specific ACPI sensors (out of up to 11).&lt;br /&gt;
* [http://www.elliptique.net/~ken/kima/ Kima] is a KDE applet that can display the 8 first ACPI sensors as well as the HDAPS sensor.&lt;br /&gt;
* [http://www.kraus.tk/projects/IBMDoK/ IBMDoK], another KDE applet. Shows 4 specific sensors (out of up to 11). So far only tested at the {{T60}}.&lt;br /&gt;
* [http://www.zolnott.de/software/applications/ibm-acpi-applet-for-gnome-210-and-higher.html IBM ACPI applet] is a small gnome panel applet which shows the fan speed and thermal informations.&lt;br /&gt;
* There is an [http://munin.projects.linpro.no/wiki/plugin-ibm_acpi ibm_acpi plugin] for [http://munin.projects.linpro.no/ Munin].&lt;br /&gt;
* [http://sensors-applet.sourceforge.net/ GNOME Sensors Applet] supports ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
==Sensor locations==&lt;br /&gt;
This information is model specific.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{A31}}===&lt;br /&gt;
Found by Milos Popovic using cooling spray to cool down components on a completely removed, running motherboard, to locate the sensors.  Also reported [http://forum.thinkpads.com/viewtopic.php?t=31837 here].&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    Battery        (this one heats up when on battery power)&lt;br /&gt;
 0x7A        3                    Power          (sensor near power diodes and CPU; heats up when high power consumption, has crosstalk from CPU)&lt;br /&gt;
 0x7B        4                    Ultrabay 2000 battery?&lt;br /&gt;
 0x7C        5                    Northbridge    (sensor next to Northbridge, also somewhat near GPU)&lt;br /&gt;
 0x7D        6                    PCMCIA/ambient (sensor is a National Semiconductor LM75 Digital Temperature Sensor/Thermal Watchdog chip&lt;br /&gt;
                                                  next to the 9-pin VGA connector; sits right under PCMCIA slots but doesn't touch)&lt;br /&gt;
 0x7E        7                    Battery        (this one stays near ambient temperature, even when on battery power)&lt;br /&gt;
 0x7F        8                    Ultrabay 2000 battery?&lt;br /&gt;
 0xC0        none                 zero&lt;br /&gt;
 0xC1        none                 zero&lt;br /&gt;
 0xC2        none                 zero&lt;br /&gt;
The following photos (resolution reduced for server space) show the locations found for the listed temperature sensors.&lt;br /&gt;
{{gallery_start}}&lt;br /&gt;
{{thumb|A31_2652M3U_systemboardtop_DSCN6105_tempsensors_lores.jpg|ThinkPad A31 sensor locations on top of motherboard.}}&lt;br /&gt;
{{thumb|A31_2652M3U_systemboardbottom_DSCN6105_tempsensors_lores.jpg|ThinkPad A31 sensor locations on bottom of motherboard.}}&lt;br /&gt;
{{gallery_end}}&lt;br /&gt;
On this A31 systemboard (FRU 26P8398), there is a [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2313 Maxim MAX1668] 5-channel remote/local temperature sensor (4 remote + 1 self temperature) on top of the systemboard, and a [http://www.national.com/pf/LM/LM75.html National Semiconductor LM75] single-channel &amp;quot;digital temperature sensor and thermal watchdog&amp;quot; chip.  It would appear that the LM75 has the ability to hard shutdown the processor (without software intervention) if its temperature exceeds a given threshold.  I'm not sure if it is wired for this, nor whether the Thinkpad changes the threshold temperature from the chip's power-up default of 80Â°C.  A software application with drivers on the LM75 webpage is available that claims to allow direct access to the thermal sensor chip (this hasn't been tried, but could be useful in other models to determine if this sensor is somewhere on the MB, and which register it corresponds to).  The MAX1668's self-temperature reading does not appear anywhere in the above temperature registers; it's not clear whether it is read at all, and whether it is to be found elsewhere in the EC memory.  These two chips (LM75 and MAX1668) account for some of the sensors.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{R51}}===&lt;br /&gt;
The [[ibm-acpi]] documentation includes the report by Thomas Gruber:&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    Mini-PCI&lt;br /&gt;
 0x7A        3                    HDD&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    System battery&lt;br /&gt;
 0x7D        6                    UltraBay battery&lt;br /&gt;
 0x7E        7                    System battery&lt;br /&gt;
 0x7F        8                    UltraBay battery&lt;br /&gt;
 0xC0        none                 ?&lt;br /&gt;
 0xC1        none                 ?&lt;br /&gt;
 0xC2        none                 ?&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T40}}===&lt;br /&gt;
The location of one of the sensors is identified [http://forum.thinkpads.com/viewtopic.php?t=11574 here].&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    System board under rear left corner of Mini-PCI module&lt;br /&gt;
 0x7A        3                    ?&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    Battery&lt;br /&gt;
 0x7D        6                    n/a&lt;br /&gt;
 0x7E        7                    Battery&lt;br /&gt;
 0x7F        8                    n/a&lt;br /&gt;
 0xC0        none                 n/a&lt;br /&gt;
 0xC1        none                 n/a&lt;br /&gt;
 0xC2        none                 n/a&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T43}}, {{T43p}}===&lt;br /&gt;
Found by Shmidoax using cooling spray to cool down components and observe the effect on the sensors.&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    Between PCMCIA slot and CPU (same as HDAPS module)&lt;br /&gt;
 0x7A        3                    PCMCIA slot&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    System battery (front left = charging circuit)&lt;br /&gt;
 0x7D        6                    UltraBay battery?&lt;br /&gt;
 0x7E        7                    System battery (rear right)&lt;br /&gt;
 0x7F        8                    UltraBay battery?&lt;br /&gt;
 0xC0        none                 Bus between Northbridge and DRAM&lt;br /&gt;
 0xC1        none                 Southbridge, WLAN and clock generator (under Mini-PCI card, under touchpad)&lt;br /&gt;
 0xC2        none                 Power circuitry, on underside of system board under F2 key&lt;br /&gt;
{{gallery_start}}&lt;br /&gt;
{{thumb|T43-thermal-sensors.jpg|ThinkPad T43 sensor locations}}&lt;br /&gt;
{{thumb|T43-2668-thermal-sensors-zoom.jpg|ThinkPad T43 sensor locations detail}}&lt;br /&gt;
{{thumb|T43p-H8S2161.jpg|ThinkPad T43/p 26xx Embedded Controller Renesas H8S/2161BV}}&lt;br /&gt;
{{gallery_end}}&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T60}}===&lt;br /&gt;
Found by Marco Kraus for use in [http://www.kraus.tk/projects/IBMDoK/ IBMDok].&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU 0&lt;br /&gt;
 0x79        2                    HDD&lt;br /&gt;
 0x7A        3                    HDD&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    Battery&lt;br /&gt;
 0x7D        6                    n/a&lt;br /&gt;
 0x7E        7                    Battery&lt;br /&gt;
 0x7F        8                    n/a&lt;br /&gt;
 0xC0        none                 ?&lt;br /&gt;
 0xC1        none                 ?&lt;br /&gt;
 0xC2        none                 ?&lt;br /&gt;
&lt;br /&gt;
The CPU thermal sensors seem to be exposed in both {{path|/proc/acpi/thermal_zone/THM0/temperature}} and {{path|/proc/acpi/thermal_zone/THM1/temperature}}, though the latter curiously seems to exist only in this file and nowhere in {{path|/proc/acpi/ibm/ecdump}}.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{X31}}===&lt;br /&gt;
I figured these out by myself ([[User:BDKMPSS|BDKMPSS]]), as there are just a few available, this wasn't a huge problem. I verified my presumptions with a contactless thermometer.&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    n/a&lt;br /&gt;
 0x7A        3                    GPU?&lt;br /&gt;
 0x7B        4                    near or the ICH4M Southbrige, on the back of the Motherboard&lt;br /&gt;
 0x7C        5                    Battery&lt;br /&gt;
 0x7D        6                    Extended-Life-Battery; may also UltraBay battery&lt;br /&gt;
 0x7E        7                    Battery&lt;br /&gt;
 0x7F        8                    Extended-Life-Battery; may also UltraBay battery&lt;br /&gt;
 0xC0        none                 n/a&lt;br /&gt;
 0xC1        none                 n/a&lt;br /&gt;
 0xC2        none                 n/a&lt;br /&gt;
&lt;br /&gt;
0x7A &amp;quot;GPU?&amp;quot; is pretty hot and seems like the GPU, but as the Chipset and the GPU are cooled with the same heatsink it is difficult to separate them without roasting the machine. However the left and GPU side of the heatsink is much closer to the shown value than the right Chipset side.&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=QuickStart_and_Deeper_Sleep&amp;diff=32254</id>
		<title>QuickStart and Deeper Sleep</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=QuickStart_and_Deeper_Sleep&amp;diff=32254"/>
		<updated>2007-08-20T01:21:25Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* QuickStart and Deeper Sleep */ added more descriptions, removed &amp;quot;in thinkpads&amp;quot; as it may looks like this is a thinkpad only feature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== QuickStart and Deeper Sleep ==&lt;br /&gt;
&lt;br /&gt;
QuickStart and Deeper Sleep are two processor features appearing in some Intel processors.&lt;br /&gt;
&lt;br /&gt;
===Intels discription===&lt;br /&gt;
&lt;br /&gt;
'''QuickStart''' extends battery life by reducing power during pauses in user activity, such as between keystrokes.&lt;br /&gt;
&lt;br /&gt;
'''Deeper Sleep''' alert state is a dynamic power management mode which is enabled during less than a millisecond of inactivity by the user, such as between keystrokes, delivering longer battery life&lt;br /&gt;
&lt;br /&gt;
===QuickStart===&lt;br /&gt;
&lt;br /&gt;
This is one of the earlier C-State implementations, which was discarded/renamed in more recent processors.&lt;br /&gt;
&lt;br /&gt;
===Deeper Sleep===&lt;br /&gt;
&lt;br /&gt;
This is most commonly the last and deepest sleep-state available, but in fact its implementation was changed almost anytime in a new processor, just the names stays the same.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
http://www.intel.com/cd/channel/reseller/emea/spa/products/mobile/processors/proc_mobile_p3/index.htm&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=32253</id>
		<title>Intel Core 2 Duo (Merom)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=32253"/>
		<updated>2007-08-20T00:56:44Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Features */ add link to deeper sleep&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Core 2 Duo ===&lt;br /&gt;
The Intel 2 Core is the successor of the [[Intel Core Duo (Yonah)]] processor. Even if the name seems like a second version, the Core 2 Duo is &amp;quot;only&amp;quot; a mobile version of the desktop processor with the same name and not designed for mobile applications in the first place like its predecessor. The architecture is changed in many ways, which introduced EM64T, [[SIMD|SSSE3]] and improved the performance by up to 25 percent. The 667 MHz FSB versions are part of the &amp;quot;Napa&amp;quot;- and the 800MHz FSB versions of the &amp;quot;Santa Rosa&amp;quot;-platform. It is part of the hardware from both the Centrino Duo and Centrino Pro brands.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Dual Core&lt;br /&gt;
*EM64T&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Vanderpool#Intel_VT_.28IVT.29 Intel Virtualization Technology]&lt;br /&gt;
*XD-Bit&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]], [[SIMD|SSE3]], [[SIMD|SSSE3]] instruction sets&lt;br /&gt;
*667 or 800 MHz FSB&lt;br /&gt;
*65 nm fabrication process&lt;br /&gt;
*4 MB or 2 MB L2-Cache with dynamic cache sizing&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), [[QuickStart and Deeper Sleep|Deeper Sleep]] (C4)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || L2 Cache || FSB (MHz)|| VT || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|-&lt;br /&gt;
| T7700 || 2400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7600 || 2333 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T7500 || 2200 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7400 || 2166 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7300 || 2000 || 1000 || 4MB || 800 || yes || 1.30 || 0.95 || 35 || ? || {{R61}},{{T61}}, {{X61s}}&lt;br /&gt;
|-&lt;br /&gt;
| T7200 || 2000 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7100 || 1800 || 1000 || 2MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T5600 || 1833 || 1000 || 2MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T5500 || 1666 || 1000 || 2MB || 667 || no || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The maximum temperature for safe operation is 100°C.&lt;br /&gt;
&lt;br /&gt;
The catastrophic thermal protection temperature is 125°C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
==See also==&lt;br /&gt;
[[Intel_Core_Solo_(Yonah)|Intel Core Solo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
[[Intel Core Duo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.intel.com/products/processor_number/chart/core2duo.htm  Intel - Processor Numbers and Features]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors#Mobile_processors Wikipedia - Intel Core 2 mobile microprocessors]&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_Solo_(Yonah)&amp;diff=32252</id>
		<title>Intel Core Solo (Yonah)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_Solo_(Yonah)&amp;diff=32252"/>
		<updated>2007-08-20T00:56:00Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Features */ add link to deeper sleep&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Core Solo (Yonah)===&lt;br /&gt;
The Intel Core Solo is the successor to the [[Intel_Pentium_M_(Dothan)|Pentium M processor]]. The chip uses Intel's 65 nm process (compared to 90 nm for the Pentium M). The Intel Core processors feature a 667 MHz FSB and are shipped as part of the Napa Centrino platform.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*1.66 GHz clock speed&lt;br /&gt;
*667 MHz FSB&lt;br /&gt;
*27 watt thermal design power consumption&lt;br /&gt;
*151 Million Transistors&lt;br /&gt;
*65 nm process&lt;br /&gt;
*2 MB L2-Cache&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), [[QuickStart and Deeper Sleep|Deeper Sleep]] (C4) &lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]], [[SIMD|SSE3]] instruction sets, XD-Bit&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || FSB (MHz)|| XD-Bit || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! high !! low !! high !! low !! &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Intel Core Solo&lt;br /&gt;
|-&lt;br /&gt;
| T1300 || 1666 || 1000 || 667 || yes || 1.2 || ... || 27 || 13.1 || {{X60}}, {{T60}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The maximum temperature for safe operation is 100 Â°C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
Safe, recommended optimizations for GCC 3.4.x and later:&lt;br /&gt;
 -pipe -O2 -march=prescott -fomit-frame-pointer&lt;br /&gt;
&lt;br /&gt;
Possibly unsafe optimizations for GCC 3.3.x and later:&lt;br /&gt;
 -mfpmath=sse&lt;br /&gt;
&lt;br /&gt;
Optimizations likely to break binary-only compatibility:&lt;br /&gt;
 -ffast-math&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Intel_Core_Duo_(Yonah)|Intel Core Duo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_Duo_(Yonah)&amp;diff=32251</id>
		<title>Intel Core Duo (Yonah)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_Duo_(Yonah)&amp;diff=32251"/>
		<updated>2007-08-20T00:55:16Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Features */ add link to deeper sleep&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Core Duo (Yonah)===&lt;br /&gt;
The Intel Core is the successor of the [[Intel_Pentium_M_(Dothan)|Pentium M processor]]. The fabrication process was reduced again to 65 nm and with this generation Intel introduced Dual Core processors to the mobile market. The Intel Core processors feature a 667 MHz FSB and accompany the Napa Centrino platform.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Dual Core&lt;br /&gt;
*1.5 - 2.33 GHz clock speed&lt;br /&gt;
*15 (low voltage) or 31 (normal voltage) watt thermal design power consumption&lt;br /&gt;
*667 MHz FSB&lt;br /&gt;
*151 Million Transistors&lt;br /&gt;
*65 nm fabrication process&lt;br /&gt;
*2 MB L2-Cache with dynamic cache sizing&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), [[QuickStart and Deeper Sleep|Deeper Sleep]] (C4)&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]], [[SIMD|SSE3]] instruction sets, XD-Bit&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Vanderpool#Intel_VT_.28IVT.29 Intel Virtualization Extensions], except for T2300e&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || FSB (MHz)|| XD-Bit || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=10 | Intel Core Duo&lt;br /&gt;
|-&lt;br /&gt;
| T2700 || 2333 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60}}, {{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T2600 || 2166 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T2500 || 2000 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60}}, {{T60p}}, {{Z61m}}&lt;br /&gt;
|-&lt;br /&gt;
| T2400 || 1833 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60}}, {{X60}}, {{z61m}}, {{R60}}&lt;br /&gt;
|-&lt;br /&gt;
| T2300 || 1666 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60}}, {{X60}}, {{Z61e}}&lt;br /&gt;
|-&lt;br /&gt;
| T2300E || 1666 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{R60e}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=10 | Intel Core Duo (Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| L2500 || 1833 || 1000 || 667 || yes || 1.1 || ... || 15 || 13.1 || {{X60t}}&lt;br /&gt;
|-&lt;br /&gt;
| L2400 || 1666 || 1000 || 667 || yes || 1.1 || ... || 15 || 13.1 || {{X60s}}, {{X60t}}&lt;br /&gt;
|-&lt;br /&gt;
| L2300 || 1500 || 1000 || 667 || yes || 1.1 || ... || 15 || 13.1 || {{X60s}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The maximum temperature for safe operation is 100 Â°C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
Safe, recommended optimizations for GCC 3.4.x and later:&lt;br /&gt;
 -pipe -O2 -march=prescott -fomit-frame-pointer&lt;br /&gt;
&lt;br /&gt;
Possibly unsafe optimizations for GCC 3.3.x and later:&lt;br /&gt;
 -mfpmath=sse&lt;br /&gt;
&lt;br /&gt;
Optimizations likely to break binary-only compatibility:&lt;br /&gt;
 -ffast-math&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Intel Pentium M (Dothan)]]&lt;br /&gt;
* [[Intel Core Solo (Yonah)]]&lt;br /&gt;
* [[Intel Core 2 Duo]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Dothan)&amp;diff=32250</id>
		<title>Intel Pentium M (Dothan)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Dothan)&amp;diff=32250"/>
		<updated>2007-08-20T00:53:09Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Features */ same here... features deeper sleep but no quickstart&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Pentium M (Dothan)===&lt;br /&gt;
The Pentium M &amp;amp;quot;Dothan&amp;amp;quot; is the second generation Pentium M processor. The fabrication process was reduced to 90 nm and the L2-Cache was doubled to 2 MB. The second generation of Dothan Pentium M processors features a 533 MHz FSB and accompanies the Sonoma Centrino platform.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*1.0 - 2.26 GHz clock speed&lt;br /&gt;
*400/533 MHz FSB&lt;br /&gt;
*170 Million Transistors&lt;br /&gt;
*90 nm fabrication process&lt;br /&gt;
*2 MB L2-Cache&lt;br /&gt;
*[[SpeedStep|(Enhanced) EIST]], [[QuickStart and Deeper Sleep|Deeper Sleep]]&lt;br /&gt;
* XD-Bit (on most models)&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]] instruction sets&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || FSB (MHz)|| XD-Bit || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! high !! low !! high !! low !! &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Pentium M&lt;br /&gt;
|-&lt;br /&gt;
| 780 || 2266 || 800 || 533 || &amp;amp;bull; || 1.372 || ... || 27 || 11 || {{R52}}, {{T43}}. {{T43p}}&lt;br /&gt;
|-&lt;br /&gt;
| 770 || 2133 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R52}}, {{T43}}, {{T43p}}&lt;br /&gt;
|-&lt;br /&gt;
| 765 || 2100 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| 760 || 2000 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R52}}, {{T43}}, {{T43p}}, {{Z60m}}, {{Z60t}}&lt;br /&gt;
|-&lt;br /&gt;
| 755 || 2000 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{T42p}}, {{X32}}&lt;br /&gt;
|-&lt;br /&gt;
| 750 || 1866 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R52}}, {{T43}}, {{T43p}}, {{Z60m}}, {{Z60t}}&lt;br /&gt;
|-&lt;br /&gt;
| 745 || 1800 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{T42}}, {{T42p}}, {{X32}}, {{R51}}&lt;br /&gt;
|-&lt;br /&gt;
| 740 || 1733 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R51e}}, {{R52}}, {{T43}}, {{Z60m}}, {{Z60t}}&lt;br /&gt;
|-&lt;br /&gt;
| 735 || 1700 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{R50e}}, {{R51}}, {{T42}}, {{X32}}&lt;br /&gt;
|-&lt;br /&gt;
| 730 || 1600 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{T43}}&lt;br /&gt;
|-&lt;br /&gt;
| 725a || 1600 || 600 || 400 || || ... || ... || ... || ... || {{R50e}}, {{R51}}, {{R52}}&lt;br /&gt;
|-&lt;br /&gt;
| 725 || 1600 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{R50e}}, {{R51}}, {{T42}}, {{X32}}&lt;br /&gt;
|-&lt;br /&gt;
| 715a || 1500 || 600 || 400 || || ... || ... || ... || ... || {{R50e}}, {{R51}} &lt;br /&gt;
|-&lt;br /&gt;
| 715 || 1500 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{R50e}}, {{R51}}&lt;br /&gt;
|-&lt;br /&gt;
| 710 || 1400 || ... || 400 || || ... || ... || ... || ... || {{R50e}}, {{R51}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Pentium M (Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 778 || 1600 || ... || 400 || &amp;amp;bull; || 1.116 || ... || 10 || ... || {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
|-&lt;br /&gt;
| 758 || 1500 || 600 || 400 || &amp;amp;bull; || 1.116 || 0.988 || 10 || ... || {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
|-&lt;br /&gt;
| 738 || 1400 || ... || 400 || || 1.116 || 0.988 || 10 || ... || {{X40}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Pentium M (Ultra Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 773 || 1300 || ... || 400 || &amp;amp;bull; || ... || ... || ... || ... || &lt;br /&gt;
|-&lt;br /&gt;
| 753 || 1200 || ... || 400 || &amp;amp;bull; || 0.940 || 0.812 || 5 || ... || {{X41T}}&lt;br /&gt;
|-&lt;br /&gt;
| 733J || 1100 || ... || 400 || &amp;amp;bull; || .... || ... || ... || ... || &lt;br /&gt;
|-&lt;br /&gt;
| 733 || 1100 || ... || 400 || || 0.940 || 0.812 || 5 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| 723 || 1000 || ... || 400 || || 0.940 || 0.812 || 5 || ... || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The max. Core Temperature is 100&amp;amp;deg;C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
You should use the following for GCC version 3.4.4 and later if you have a Pentium M:&lt;br /&gt;
 -Os -march=pentium-m -pipe&lt;br /&gt;
&lt;br /&gt;
For GCC version 3.3.5 and earlier use the following:&lt;br /&gt;
 -Os -march=pentium3 -msse2 -pipe&lt;br /&gt;
&lt;br /&gt;
Also, if you don't plan to use debugging information, then you can safely add the following to either of the above for a possible performance improvement:&lt;br /&gt;
 -fomit-frame-pointer&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Intel Pentium M (Banias)]]&lt;br /&gt;
* [[Intel Core Duo (Yonah)]]&lt;br /&gt;
* [[Pentium M undervolting and underclocking]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Banias)&amp;diff=32249</id>
		<title>Intel Pentium M (Banias)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Banias)&amp;diff=32249"/>
		<updated>2007-08-20T00:52:01Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Features */ Pentium M features Deeper Sleep to (but not Quickstart...)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Mobile Pentium M (Banias)===&lt;br /&gt;
After the efficiency problems with the [[Intel_Mobile_Pentium_4-M|Pentium 4 based mobile processors]], Intel decided to go back to the [[Intel Mobile Pentium III-M|Tualatin]] architecture as development base, extending its potential. The result is the Pentium M mobile processor.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*1.3-1.7 GHz tact&lt;br /&gt;
*400 MHz FSB&lt;br /&gt;
*77 Million Transistors&lt;br /&gt;
*0.13&amp;amp;micro;m fabrication process&lt;br /&gt;
*0.07&amp;amp;micro;m gates&lt;br /&gt;
*1 MB L2-Cache&lt;br /&gt;
*[[SpeedStep|(Enhanced) EIST]], [[QuickStart and Deeper Sleep|Deeper Sleep]]&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]] instruction sets&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || FSB (MHz)|| colspan=2 | core Voltage (V) || colspan=2 | Power cons. (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! high !! low !! high !! low !! &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=9 | Mobile Pentium M&lt;br /&gt;
|-&lt;br /&gt;
| || 1700 || 600 || 400 || 1.484 || 0.956 || 24.5 || ... || {{R50}}, {{R50p}}, {{R51}}, {{T41}}, {{T41p}}, {{X31}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1600 || 600 || 400 || 1.484 || 0.956 || 24.5 || ... || {{R50}}, {{R51}}, {{T40}}, {{T40p}}, {{T41}}, {{X31}}&lt;br /&gt;
|-&lt;br /&gt;
| 705 || 1500 || ... || 400 || 1.484 || 0.956 || 24.5 || ... || {{R40}}, {{R50}}, {{R50e}}, {{R51}}, {{T40}}, {{X31}}, {{T42}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1400 || 600 || 400 || 1.484 || 0.956 || 22 || ... || {{R40}}, {{R50}}, {{T40}}, {{T41}}, {{X31}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1300 || 600 || 400 || 1.388 || 0.960 || 22 || ... || {{R40}}, {{T40}}, {{X31}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=9 | Mobile Pentium M (Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 718 || 1300 || ... || 400 || 1.18 || 0.956 || 12 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1200 || ... || 400 || 1.18 || 0.956 || 12 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1100 || ... || 400 || 1.18 || 0.956 || 12 || ... || &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=9 | Mobile Pentium M (Ultra Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 713 || 1100 || ... || 400 || 1.004 || 0.844 || 7 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1000 || ... || 400 || 1.00 || 0.85 || 7 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| || 900 || ... || 400 || 1.00 || 0.85 || 7 || ... || &lt;br /&gt;
|-&lt;br /&gt;
| || 600 || ... || 400 || 0.956 || ... || ... || ... || &lt;br /&gt;
|-&lt;br /&gt;
| || 600 || ... || 400 || 0.844 || ... || ... || ... || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The max. Core Temperature is 100&amp;amp;deg;C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
CFLAGS=&amp;quot;-march=pentium3 -O3 -pipe -msse2 -fomit-frame-pointer -fforce-addr -fprefetch-loop-arrays&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Intel_Mobile_Pentium_III-M]]&lt;br /&gt;
* [[Intel Pentium M (Dothan)]]&lt;br /&gt;
* [[Pentium M undervolting and underclocking]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://download.intel.com/design/mobile/datashts/25261203.pdf Intel Datasheet for the Pentium-M Banias, Order Number 252612-003, April 2004] - PDF Document&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_Duo_(Yonah)&amp;diff=32248</id>
		<title>Intel Core Duo (Yonah)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_Duo_(Yonah)&amp;diff=32248"/>
		<updated>2007-08-20T00:26:31Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* See also */ added link to the predecessor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Core Duo (Yonah)===&lt;br /&gt;
The Intel Core is the successor of the [[Intel_Pentium_M_(Dothan)|Pentium M processor]]. The fabrication process was reduced again to 65 nm and with this generation Intel introduced Dual Core processors to the mobile market. The Intel Core processors feature a 667 MHz FSB and accompany the Napa Centrino platform.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Dual Core&lt;br /&gt;
*1.5 - 2.33 GHz clock speed&lt;br /&gt;
*15 (low voltage) or 31 (normal voltage) watt thermal design power consumption&lt;br /&gt;
*667 MHz FSB&lt;br /&gt;
*151 Million Transistors&lt;br /&gt;
*65 nm fabrication process&lt;br /&gt;
*2 MB L2-Cache with dynamic cache sizing&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), Deeper Sleep (C4)&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]], [[SIMD|SSE3]] instruction sets, XD-Bit&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Vanderpool#Intel_VT_.28IVT.29 Intel Virtualization Extensions], except for T2300e&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || FSB (MHz)|| XD-Bit || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=10 | Intel Core Duo&lt;br /&gt;
|-&lt;br /&gt;
| T2700 || 2333 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60}}, {{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T2600 || 2166 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T2500 || 2000 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60}}, {{T60p}}, {{Z61m}}&lt;br /&gt;
|-&lt;br /&gt;
| T2400 || 1833 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60}}, {{X60}}, {{z61m}}, {{R60}}&lt;br /&gt;
|-&lt;br /&gt;
| T2300 || 1666 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{T60}}, {{X60}}, {{Z61e}}&lt;br /&gt;
|-&lt;br /&gt;
| T2300E || 1666 || 1000 || 667 || yes || 1.2 || ... || 31 || 13.1 || {{R60e}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=10 | Intel Core Duo (Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| L2500 || 1833 || 1000 || 667 || yes || 1.1 || ... || 15 || 13.1 || {{X60t}}&lt;br /&gt;
|-&lt;br /&gt;
| L2400 || 1666 || 1000 || 667 || yes || 1.1 || ... || 15 || 13.1 || {{X60s}}, {{X60t}}&lt;br /&gt;
|-&lt;br /&gt;
| L2300 || 1500 || 1000 || 667 || yes || 1.1 || ... || 15 || 13.1 || {{X60s}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The maximum temperature for safe operation is 100 Â°C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
Safe, recommended optimizations for GCC 3.4.x and later:&lt;br /&gt;
 -pipe -O2 -march=prescott -fomit-frame-pointer&lt;br /&gt;
&lt;br /&gt;
Possibly unsafe optimizations for GCC 3.3.x and later:&lt;br /&gt;
 -mfpmath=sse&lt;br /&gt;
&lt;br /&gt;
Optimizations likely to break binary-only compatibility:&lt;br /&gt;
 -ffast-math&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Intel Pentium M (Dothan)]]&lt;br /&gt;
* [[Intel Core Solo (Yonah)]]&lt;br /&gt;
* [[Intel Core 2 Duo]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Dothan)&amp;diff=32247</id>
		<title>Intel Pentium M (Dothan)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Dothan)&amp;diff=32247"/>
		<updated>2007-08-20T00:24:15Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* See also */ adding link to successor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Pentium M (Dothan)===&lt;br /&gt;
The Pentium M &amp;amp;quot;Dothan&amp;amp;quot; is the second generation Pentium M processor. The fabrication process was reduced to 90 nm and the L2-Cache was doubled to 2 MB. The second generation of Dothan Pentium M processors features a 533 MHz FSB and accompanies the Sonoma Centrino platform.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*1.0 - 2.26 GHz clock speed&lt;br /&gt;
*400/533 MHz FSB&lt;br /&gt;
*170 Million Transistors&lt;br /&gt;
*90 nm fabrication process&lt;br /&gt;
*2 MB L2-Cache&lt;br /&gt;
*[[SpeedStep|(Enhanced) EIST]], XD-Bit (on most models)&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]] instruction sets&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || FSB (MHz)|| XD-Bit || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! high !! low !! high !! low !! &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Pentium M&lt;br /&gt;
|-&lt;br /&gt;
| 780 || 2266 || 800 || 533 || &amp;amp;bull; || 1.372 || ... || 27 || 11 || {{R52}}, {{T43}}. {{T43p}}&lt;br /&gt;
|-&lt;br /&gt;
| 770 || 2133 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R52}}, {{T43}}, {{T43p}}&lt;br /&gt;
|-&lt;br /&gt;
| 765 || 2100 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| 760 || 2000 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R52}}, {{T43}}, {{T43p}}, {{Z60m}}, {{Z60t}}&lt;br /&gt;
|-&lt;br /&gt;
| 755 || 2000 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{T42p}}, {{X32}}&lt;br /&gt;
|-&lt;br /&gt;
| 750 || 1866 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R52}}, {{T43}}, {{T43p}}, {{Z60m}}, {{Z60t}}&lt;br /&gt;
|-&lt;br /&gt;
| 745 || 1800 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{T42}}, {{T42p}}, {{X32}}, {{R51}}&lt;br /&gt;
|-&lt;br /&gt;
| 740 || 1733 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{R51e}}, {{R52}}, {{T43}}, {{Z60m}}, {{Z60t}}&lt;br /&gt;
|-&lt;br /&gt;
| 735 || 1700 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{R50e}}, {{R51}}, {{T42}}, {{X32}}&lt;br /&gt;
|-&lt;br /&gt;
| 730 || 1600 || 800 || 533 || &amp;amp;bull; || 1.372 || 0.988 || 27 || 11 || {{T43}}&lt;br /&gt;
|-&lt;br /&gt;
| 725a || 1600 || 600 || 400 || || ... || ... || ... || ... || {{R50e}}, {{R51}}, {{R52}}&lt;br /&gt;
|-&lt;br /&gt;
| 725 || 1600 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{R50e}}, {{R51}}, {{T42}}, {{X32}}&lt;br /&gt;
|-&lt;br /&gt;
| 715a || 1500 || 600 || 400 || || ... || ... || ... || ... || {{R50e}}, {{R51}} &lt;br /&gt;
|-&lt;br /&gt;
| 715 || 1500 || 600 || 400 || || 1.34 || 0.988 || 21 || 8 || {{R50e}}, {{R51}}&lt;br /&gt;
|-&lt;br /&gt;
| 710 || 1400 || ... || 400 || || ... || ... || ... || ... || {{R50e}}, {{R51}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Pentium M (Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 778 || 1600 || ... || 400 || &amp;amp;bull; || 1.116 || ... || 10 || ... || {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
|-&lt;br /&gt;
| 758 || 1500 || 600 || 400 || &amp;amp;bull; || 1.116 || 0.988 || 10 || ... || {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
|-&lt;br /&gt;
| 738 || 1400 || ... || 400 || || 1.116 || 0.988 || 10 || ... || {{X40}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;10&amp;quot; | Pentium M (Ultra Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 773 || 1300 || ... || 400 || &amp;amp;bull; || ... || ... || ... || ... || &lt;br /&gt;
|-&lt;br /&gt;
| 753 || 1200 || ... || 400 || &amp;amp;bull; || 0.940 || 0.812 || 5 || ... || {{X41T}}&lt;br /&gt;
|-&lt;br /&gt;
| 733J || 1100 || ... || 400 || &amp;amp;bull; || .... || ... || ... || ... || &lt;br /&gt;
|-&lt;br /&gt;
| 733 || 1100 || ... || 400 || || 0.940 || 0.812 || 5 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| 723 || 1000 || ... || 400 || || 0.940 || 0.812 || 5 || ... || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The max. Core Temperature is 100&amp;amp;deg;C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
You should use the following for GCC version 3.4.4 and later if you have a Pentium M:&lt;br /&gt;
 -Os -march=pentium-m -pipe&lt;br /&gt;
&lt;br /&gt;
For GCC version 3.3.5 and earlier use the following:&lt;br /&gt;
 -Os -march=pentium3 -msse2 -pipe&lt;br /&gt;
&lt;br /&gt;
Also, if you don't plan to use debugging information, then you can safely add the following to either of the above for a possible performance improvement:&lt;br /&gt;
 -fomit-frame-pointer&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Intel Pentium M (Banias)]]&lt;br /&gt;
* [[Intel Core Duo (Yonah)]]&lt;br /&gt;
* [[Pentium M undervolting and underclocking]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Banias)&amp;diff=32246</id>
		<title>Intel Pentium M (Banias)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Pentium_M_(Banias)&amp;diff=32246"/>
		<updated>2007-08-20T00:19:55Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: adding link to the predecessor, extending the description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Mobile Pentium M (Banias)===&lt;br /&gt;
After the efficiency problems with the [[Intel_Mobile_Pentium_4-M|Pentium 4 based mobile processors]], Intel decided to go back to the [[Intel Mobile Pentium III-M|Tualatin]] architecture as development base, extending its potential. The result is the Pentium M mobile processor.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*1.3-1.7 GHz tact&lt;br /&gt;
*400 MHz FSB&lt;br /&gt;
*77 Million Transistors&lt;br /&gt;
*0.13&amp;amp;micro;m fabrication process&lt;br /&gt;
*0.07&amp;amp;micro;m gates&lt;br /&gt;
*1 MB L2-Cache&lt;br /&gt;
*[[SpeedStep|(Enhanced) EIST]]&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]] instruction sets&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || FSB (MHz)|| colspan=2 | core Voltage (V) || colspan=2 | Power cons. (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! high !! low !! high !! low !! &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=9 | Mobile Pentium M&lt;br /&gt;
|-&lt;br /&gt;
| || 1700 || 600 || 400 || 1.484 || 0.956 || 24.5 || ... || {{R50}}, {{R50p}}, {{R51}}, {{T41}}, {{T41p}}, {{X31}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1600 || 600 || 400 || 1.484 || 0.956 || 24.5 || ... || {{R50}}, {{R51}}, {{T40}}, {{T40p}}, {{T41}}, {{X31}}&lt;br /&gt;
|-&lt;br /&gt;
| 705 || 1500 || ... || 400 || 1.484 || 0.956 || 24.5 || ... || {{R40}}, {{R50}}, {{R50e}}, {{R51}}, {{T40}}, {{X31}}, {{T42}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1400 || 600 || 400 || 1.484 || 0.956 || 22 || ... || {{R40}}, {{R50}}, {{T40}}, {{T41}}, {{X31}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1300 || 600 || 400 || 1.388 || 0.960 || 22 || ... || {{R40}}, {{T40}}, {{X31}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=9 | Mobile Pentium M (Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 718 || 1300 || ... || 400 || 1.18 || 0.956 || 12 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1200 || ... || 400 || 1.18 || 0.956 || 12 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1100 || ... || 400 || 1.18 || 0.956 || 12 || ... || &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=9 | Mobile Pentium M (Ultra Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 713 || 1100 || ... || 400 || 1.004 || 0.844 || 7 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| || 1000 || ... || 400 || 1.00 || 0.85 || 7 || ... || {{X40}}&lt;br /&gt;
|-&lt;br /&gt;
| || 900 || ... || 400 || 1.00 || 0.85 || 7 || ... || &lt;br /&gt;
|-&lt;br /&gt;
| || 600 || ... || 400 || 0.956 || ... || ... || ... || &lt;br /&gt;
|-&lt;br /&gt;
| || 600 || ... || 400 || 0.844 || ... || ... || ... || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The max. Core Temperature is 100&amp;amp;deg;C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
CFLAGS=&amp;quot;-march=pentium3 -O3 -pipe -msse2 -fomit-frame-pointer -fforce-addr -fprefetch-loop-arrays&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Intel_Mobile_Pentium_III-M]]&lt;br /&gt;
* [[Intel Pentium M (Dothan)]]&lt;br /&gt;
* [[Pentium M undervolting and underclocking]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://download.intel.com/design/mobile/datashts/25261203.pdf Intel Datasheet for the Pentium-M Banias, Order Number 252612-003, April 2004] - PDF Document&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Mobile_Pentium_III-M&amp;diff=32245</id>
		<title>Intel Mobile Pentium III-M</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Mobile_Pentium_III-M&amp;diff=32245"/>
		<updated>2007-08-20T00:15:08Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: link is not external, tulatin is not exactly reborn as P-M&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Mobile Pentium III-M===&lt;br /&gt;
Featuring the Tualatin core the Mobile Pentium III-M is a lot more powerful than the [[Intel Mobile Pentium III|Mobile Pentium III]]. This is proven in being the development base for the [[Intel Pentium M (Banias)|Pentium M]].&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*700-1200 MHz tact&lt;br /&gt;
*133 MHz FSB (100 on some of the lv and ulv models)&lt;br /&gt;
*44 Million Transistors&lt;br /&gt;
*0.13&amp;amp;micro;m fabrication process&lt;br /&gt;
*0.07&amp;amp;micro;m gates&lt;br /&gt;
*1.40/1.15 VCore&lt;br /&gt;
*2x 16 KB L1-Cache&lt;br /&gt;
*512 KB L2-Cache&lt;br /&gt;
*[[SpeedStep|Enhanced SpeedStep]], [[QuickStart and Deeper Sleep|QuickStart]], [[QuickStart and Deeper Sleep|Deeper Sleep]]&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]] instruction sets&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! colspan=2 | Frequency (MHz) || Bus Speed (MHz)|| colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
!max. !! min. !! !! high !! low !! high !! low !! &lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=8 | Mobile Pentium III-M&lt;br /&gt;
|-&lt;br /&gt;
| 1333 || 800 || 133 || 1.40 || 1.15 || 22.0 || 9.8 || &lt;br /&gt;
|-&lt;br /&gt;
| 1266 || 800 || 133 || 1.40 || 1.15 || 22.0 || 9.8 || &lt;br /&gt;
|-&lt;br /&gt;
| 1200 || 800 || 133 || 1.40 || 1.15 || 22.0 || 9.8 || {{A30p}}, {{T23}}, {{X30}}&lt;br /&gt;
|-&lt;br /&gt;
| 1133 || 733 || 133 || 1.40 || 1.15 || 21.8 || 9.3 || {{A30}}, {{R31}}, {{T23}}, {{X24}}&lt;br /&gt;
|-&lt;br /&gt;
| 1066 || 733 || 133 || 1.40 || 1.15 || 21.0 || 9.3 || {{X30}}&lt;br /&gt;
|-&lt;br /&gt;
| 1000 || 733 || 133 || 1.40 || 1.15 || 20.5 || 9.3 || {{A30}}, {{R31}}, {{T23}}&lt;br /&gt;
|-&lt;br /&gt;
| 933 || 733 || 133 || 1.40 || 1.15 || 20.1 || 9.3 || {{A30}}&lt;br /&gt;
|-&lt;br /&gt;
| 866 || 667 || 133 || 1.40 || 1.15 || 19.5 || 8.9 || {{T23}}&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=8 | Mobile Pentium III-M (Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 1000 || 533 || 133 || 1.15 || 1.05 || 10.9 || 6.1 || &lt;br /&gt;
|-&lt;br /&gt;
| 933 || 533 || 133 || 1.15 || 1.05 || 10.5 || 6.1 || &lt;br /&gt;
|-&lt;br /&gt;
| 866 || 533 || 133 || 1.15 || 1.05 || 10.1 || 6.1 || {{X23}}?&lt;br /&gt;
|-&lt;br /&gt;
| 850 || 500 || 100 || 1.15 || 1.05 || 10.0 || 5.9 || &lt;br /&gt;
|-&lt;br /&gt;
| 800 || 533 || 133 || 1.15 || 1.05 || 9.8 || 5.9 || {{X22}}?, {{X23}}?&lt;br /&gt;
|-&lt;br /&gt;
| 750 || 450 || 100 || 1.15 || 1.05 || 9.4 || 5.7 || &lt;br /&gt;
|-&lt;br /&gt;
| 733 || 466 || 133 || 1.15 || 1.05 || 9.3 || 5.8 || {{X22}}?&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! colspan=8 | Mobile Pentium III-M (Ultra Low Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| 866 || 400 || 133 || 1.10 || 0.95 || 7  || 3.4 || &lt;br /&gt;
|-&lt;br /&gt;
| 850 || 400 || 100 || 1.10 || 0.95 || 7 || 3.4 || &lt;br /&gt;
|-&lt;br /&gt;
| 800 || 400 || 100 || 1.10 || 0.95 || 7 || 3.4 || &lt;br /&gt;
|-&lt;br /&gt;
| 750 || 350 || 100 || 1.10 || 0.95 || 7 || 3.1 || &lt;br /&gt;
|-&lt;br /&gt;
| 733 || 400 || 133 || 1.10 || 0.95 || 7 || 3.4 || &lt;br /&gt;
|-&lt;br /&gt;
| 700 || 300 || 100 || 1.10 || 0.95 || 7 || 3.0 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
&lt;br /&gt;
==Speedstepping==&lt;br /&gt;
&lt;br /&gt;
[[Installing_Ubuntu_on_a_ThinkPad_T23#Power_Management|The page on installing Ubuntu on a T23]] includes tips for monitoring and managing the processor speed settings.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
You should use the following if you have a Mobile Pentium III-M:&lt;br /&gt;
 -Os -march=pentium3m -fomit-frame-pointer -pipe&lt;br /&gt;
&lt;br /&gt;
&amp;quot;-Os&amp;quot; means optimise for size. &amp;quot;-O2&amp;quot; is usually the default and is probably more prefferable. If you're feeling brave you could try using &amp;quot;-O3&amp;quot;, but many programs fail to compile with this (attempting to compile binutils, gcc or any other core tools with &amp;quot;-O3&amp;quot; is not recommended)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Intel_Mobile_Pentium_III]]&lt;br /&gt;
* [[Intel Pentium M (Banias)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Buyers_Guide&amp;diff=31855</id>
		<title>Buyers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Buyers_Guide&amp;diff=31855"/>
		<updated>2007-08-10T15:39:13Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Long-time Weaknesses of certain models */ The T4x drive is a standard UltraBay Slim Device, nothing to bogous to get a replacement for.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page is dedicated to hints about buying used or new ThinkPad models. You can find notes about typical weaknesses of used ThinkPads here and other things you should care about when choosing a ThinkPad and where to buy it.&lt;br /&gt;
|}&lt;br /&gt;
==Build it yourself and save money==&lt;br /&gt;
Lenovo offers more flexibility than any other major manufacturer of laptop computers, at least that I know of. Their &amp;quot;configure-to-order&amp;quot; (CTO) offerings let you build the computer you want, without paying for anything you don't want. The basic CTO includes the mainboard and CPU, but no RAM, disk, mini-PCI cards, software, or other add-ons. You can even get a laptop in a CTO configuration.&lt;br /&gt;
&lt;br /&gt;
I built my {{X32}} notebook with 1GB RAM, 60GB 5400RPM hard drive, USB DVD-ROM CD-RW drive, and 802.11a/b/g mini-PCI for a grand total of US$1,206, including tax and shipping.&lt;br /&gt;
&lt;br /&gt;
Start with the complete list of [https://www-03.ibm.com/lenovo/shop/personalpages/public/public/products/dsp_product_list.cfm products]. Look for items that end with &amp;quot;CTO&amp;quot; or &amp;quot;Custom.&amp;quot; Choose the chassis you want. Then add whatever [http://www-132.ibm.com/content/home/store_IBMPublicUSA/en_US/Upgrades.html upgrades] you need that only Lenovo offers (such as WiFi). Fill in the rest of the components from other, less expensive vendors.&lt;br /&gt;
&lt;br /&gt;
Update: you cant do this nowadays. They will not sell you a CTO barebone. At least you cant do it online. You might have to 'con'  a sales agent.&lt;br /&gt;
&lt;br /&gt;
Response to update: I did not need to con anyone. I just ordered the CTO chassis and the parts I needed from their website. I placed the order on August 18, 2005 and received all the shipments by August 26, 2005.&lt;br /&gt;
&lt;br /&gt;
Comment from visitor: [https://www-03.ibm.com/lenovo/shop/personalpages/public/public/products/dsp_feature_product.cfm?display=main&amp;amp;cat_id=24 Try this page].  You can at least get a Z60 with the titanium cover in a more stripped down model than is otherwise available.&lt;br /&gt;
&lt;br /&gt;
==Various deals==&lt;br /&gt;
&lt;br /&gt;
Special prices: You can get a laptop from Lenovo for special price if you are a student, alumni, researcher &lt;br /&gt;
or something like that. You need to go to education -&amp;gt; computers for home -&amp;gt; students (or such), and &lt;br /&gt;
now click on &amp;quot;My Account&amp;quot; to create a new account. Perhaps there is another way, but you must end up with a student&lt;br /&gt;
account. Then you get around 5% off the web price.&lt;br /&gt;
&lt;br /&gt;
You can also buy a Lenovo thinkpad pre-configured with Linux from [http://www.linuxcertified.com/linux-laptop-lctp60.html here]&lt;br /&gt;
&lt;br /&gt;
The [https://www.directlenovo.com/public/ Lenovo USA sales web site] offers some attractive deals in its [http://www.directlenovo.com/public/public/search/dsp_product_features.cfm?category=9953&amp;amp;featured_display=Template surplus outlet].&lt;br /&gt;
&lt;br /&gt;
IBM sells [http://www-132.ibm.com/webapp/wcs/stores/servlet/CategoryDisplay?storeId=1&amp;amp;catalogId=-840&amp;amp;langId=-1&amp;amp;categoryId=2576396 refurbished ThinkPads].&lt;br /&gt;
&lt;br /&gt;
== Special deals for certain customer groups ==&lt;br /&gt;
IBM makes huge discounts to students and teachers:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
! country !! shops &amp;amp; target groups&lt;br /&gt;
|-&lt;br /&gt;
| Austria ||&lt;br /&gt;
* [http://www.studentline.at/ Studentline.at] (students, university staff, pupils and teachers)&lt;br /&gt;
* [http://www.notebook4u.at/ notebook4u.at] (students, university staff, pupils and teachers)&lt;br /&gt;
* [http://www.abax.at/academic/ ABAX] (students, university staff, pupils and teachers)&lt;br /&gt;
* [http://www.bostelmann.com/ Computer Bostelmann] (students, university staff, pupils and teachers)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| France ||&lt;br /&gt;
*[http://www.ibm.com/easyaccess/education IBM education homepage]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Germany ||&lt;br /&gt;
*[http://www.notebooksbilliger.de notebooksbilliger.de] (pupils, students)&lt;br /&gt;
*[http://www.lapstars.de lapstars.de] (students, university staff, pupils and teachers)&lt;br /&gt;
*[http://www.ok1.de ok1] (students, university staff, pupils and teachers)&lt;br /&gt;
*[http://www.campusrabatt.de/index.php ADD Datensysteme: CampusRabatt] (students, university staff, pupils and teachers)&lt;br /&gt;
*[http://www.pro-com.org pro-com Datensysteme]:&lt;br /&gt;
**[http://www.pro-com.org/b2b pro-com b2b] (businesses)&lt;br /&gt;
**[http://www.nofost.de/ NOFOST] (students &amp;amp; university staff)&lt;br /&gt;
**[http://www.no4ed.de/ NOFOED] (pupils &amp;amp; teachers)&lt;br /&gt;
**[http://www.nofoch.de/ NOFOCH] (clinics and medical institutions and their staff)&lt;br /&gt;
**[http://www.pro-com.org/lf pro-com luf] (universities, schools &amp;amp; other educational and research institutes)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Switzerland ||&lt;br /&gt;
*[http://www.rabais-etudiant.ch/ Rabais-Etudiant] (students, teachers, schools)&lt;br /&gt;
*[http://www.studentenrabatt.ch/ Studentenrabatt] (students, teachers, schools)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| United States ||&lt;br /&gt;
* [http://www.pc.ibm.com/us/education/ Education] (K-12 and Higher Education)&lt;br /&gt;
* [http://www.dealmine.com/search_by_product.php?s=thinkpad Comparison shop] at DealMine.com to find Thinkpad and membership discounts [http://www.dealmine.com/deals_from/Union_Plus/23 AFL-CIO/AFT] matched up at various stores&lt;br /&gt;
* IBM Employee Purchase Program (EPP) for IBM employees and their family and friends: [http://www.ibm.com/shop/us/epp/ IBM store] / [http://shoplenovo.i2.com/SEUILibrary/controller/Lenovo:EnterStdAffinity?affinity=eppibm Lenovo store]&lt;br /&gt;
* Corporate Perks program for corporate employees (e.g., accessible through the Microsoft Alumni Network)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Buying FRUs ==&lt;br /&gt;
&lt;br /&gt;
You can buy single components, called, FRU (Field Replacement Unit), directly from Lenovo.&lt;br /&gt;
&lt;br /&gt;
* US orders: https://www-132.ibm.com/content/home/store_IBMPublicUSA/en_US/parts/parts_r.html&lt;br /&gt;
* Other countries: http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-50278&amp;amp;sitestyle=lenovo&lt;br /&gt;
&lt;br /&gt;
To find the right FRU, you can look up your model's part lists here:&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=TPAD-FRU Service parts list index - ThinkPad General]&lt;br /&gt;
&lt;br /&gt;
== Official list of linux certified computers ==&lt;br /&gt;
&lt;br /&gt;
* A [http://www.lenovo.com/pc/support/site.wss/MIGR-48NT8D.html list] of completed Linux certifications on [http://www.lenovo.com lenovo web site]&lt;br /&gt;
&lt;br /&gt;
==Where to by Linux preinstalled thinkpad==&lt;br /&gt;
* [http://laclinux.com/en/Laptop Los Alamos Computers] Custom Linux Thinkpads - T Series, Z Series, X Series 23 Apr 2007&lt;br /&gt;
&lt;br /&gt;
== Buying on eBay ==&lt;br /&gt;
* Many sellers do not know exactly what they have. Get the full 7-digit machine type if at all possible. Compare it to the specifications in the *book.pdf series: twbook.pdf, tabook.pdf, tawbook.pdf, etc, to determine actual screen size, original CPU speed, original hard disk, etc.&lt;br /&gt;
* You can try getting the serial number as well to check the warranty status at IBMs support pages.&lt;br /&gt;
* Check completed auctions carefully to determine going prices for comparable machines.&lt;br /&gt;
* Be aware if any port covers are missing. If they are, see if any current auctions are running to check availability.&lt;br /&gt;
* If the unit doesn't come with a hard drive, know whether it has the caddy and cover. Make sure that the three passwords are NOT set or that you know the right passwords before you install your hard drive! If you don't: A password can be set into your hard disk automatically, making it a brick - useful for door stopping only!&lt;br /&gt;
* Anything with a PIII or later most likely came with a Windows Certificate of Authenticity. Find out whether the listed machine does. Even if you don't want it, it may help resale value when you '''sell''' the machine.&lt;br /&gt;
* Read the feedback of the seller on items he has sold, especially electronics, computers and laptops. If meangranny is suddenly selling T43's after three years of lace, stay away.&lt;br /&gt;
* If it seems too good to be true, it probably is. There's a reason no one else is bidding on it.&lt;br /&gt;
&lt;br /&gt;
==Long-time Weaknesses of certain models==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Model !! Issues&lt;br /&gt;
|-&lt;br /&gt;
| {{390X}} || *models with 15&amp;quot; display are said to have weak display cables that tend to break.&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} || Battery problems.&lt;br /&gt;
|-&lt;br /&gt;
||{{A20p}}, {{390}}, {{390E}}, {{390X}} || *Base cover corners are prone to crack, root cause stiff display hinges&lt;br /&gt;
|-&lt;br /&gt;
||{{A31}} || Several reports of [[Problem with garbled screen]] independent on Operating System&lt;br /&gt;
|- &lt;br /&gt;
| {{A30}}, {{A30p}}, {{A31}}, {{A31p}} || *seem to have a mechanical design that can cause the motherboard to break. At least there are a significant number of reports of broken motherboards on these models.&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} || *had a problem with memory sockets detaching from the system board. IBM replaced these free of charge even after warranties expired.&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} || Many models have a problem of gradually dying. Attempting to turn on will only cause a blinking light, and many attempts must be made in order to start the machine. Eventually, the machine is no longer bootable. &lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} || A number of laptops from the T-line are very thin (everything since {{T40}}?), which was to some degree possible by using the newer [[UltraBay|UltraBay Slim]], which is used in almost all Thinkpads now, instead of the old [[UltraBay|UltraBay Plus]]. This limits the available alternatives for optical drives, as they are not compatible with the industrial standard slimline drives, which are to thick. Some {{T43}}s have Matshita UJ-822S drives, and Matshita is infamous for striving extra to enforce the DVD regional codes. Purchasing such a laptop would effectively mean being locked to one DVD region, or you have to spend extra money and effort to get a better [[UltraBay_Devices#UltraBay Slim Devices|UltraBay Slim Drive]]. The {{T43}} family is also notorious for its [[problem with fan noise]] and has a [[problem with non-ThinkPad hard disks]]; its predecessor, the {{T42}} family, had none of these problems and offered better battery life.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_and_use_libata_SATA_/_PATA_drivers&amp;diff=31786</id>
		<title>How to configure and use libata SATA / PATA drivers</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_and_use_libata_SATA_/_PATA_drivers&amp;diff=31786"/>
		<updated>2007-08-06T15:46:35Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: a note should be a note, right? ;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How to configure and use libata SATA / PATA drivers==&lt;br /&gt;
&lt;br /&gt;
For now this mosty is for libata PATA drivers. Should work for SATA as well, I can't test it since I do not have an SATA based ThinkPad.&lt;br /&gt;
&lt;br /&gt;
Configure your kernel as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CONFIG_ATA=y&lt;br /&gt;
CONFIG_ATA_PIIX=y&lt;br /&gt;
CONFIG_ATA_GENERIC=y&lt;br /&gt;
CONFIG_BLK_DEV_SD=y&lt;br /&gt;
CONFIG_BLK_DEV_SR=m&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You find those in &amp;quot;Device / Serial ATA (prod) and Parallel ATA (experimental) drivers&amp;quot; and &amp;quot;Device Drivers / SCSI device support&amp;quot; in menuconfig. &lt;br /&gt;
&lt;br /&gt;
You need CONFIG_ATA_PIIX for current Intel chipsets - I got the hint from  &lt;br /&gt;
Serge Belyshev out from a thread on the [http://members.optusnet.com.au/ckolivas/kernel/ ck mailinglist]. It is a labeled a bit misleading:&lt;br /&gt;
&amp;lt;pre&amp;gt;[ ]   ServerWorks Frodo / Apple K2 SATA support&lt;br /&gt;
[*]   Intel PIIX/ICH SATA support                     &amp;lt;---  there&lt;br /&gt;
[ ]   Marvell SATA support (HIGHLY EXPERIMENTAL)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The other PIIX related options are for older chipsets.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|As of 2.6.22, the above option seems to be called &amp;quot;Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support&amp;quot; and is under Device Drivers -&amp;gt; Serial ATA (prod) and Pallel ATA (experimental)}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Above configuration should also work for SATA as well, ATA_PIIX does SATA and PATA. For T60/X60/R60/Z60 series according to Henrique de Moraes Holschuh you might also need &amp;lt;tt&amp;gt;CONFIG_SATA_AHCI&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Switching from old IDE drivers to libata drivers==&lt;br /&gt;
&lt;br /&gt;
I tested libata PATA drivers on ThinkPad T23 and ThinkPad T42.&lt;br /&gt;
&lt;br /&gt;
You can and probably should disable the whole IDE driver subsystem (&amp;quot;ATA/ATAPI/MFM/RLL support&amp;quot;) when you switch from old IDE drivers to the new libata PATA drivers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CONFIG_IDE=n&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to change the bootloader configuration, rename all &amp;lt;tt&amp;gt;/dev/hd*&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/dev/sd*&amp;lt;/tt&amp;gt;. At least upto kernel 2.6.20 you also need to add the kernel boot option &amp;lt;tt&amp;gt;atapi_enabled=1&amp;lt;/tt&amp;gt; to get out of the box working CD-ROM support. Otherwise you manually need to load the module sr_mod with modprobe sr_mod. This option will likely become the default in 2.6.21 or 2.6.22 as Henrique de Moraes Holschuh noted.&lt;br /&gt;
&lt;br /&gt;
This is an example entry:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;title           Debian GNU/Linux, kernel 2.6.20.3-ck1-tp42-sws2-2.2.9.9&lt;br /&gt;
root            (hd0,0)&lt;br /&gt;
kernel          /boot/vmlinuz-2.6.20.3-ck1-tp42-sws2-2.2.9.9 root=/dev/sda1 ro resume2=swap:/dev/sda5 resume=/dev/sda5 vga=792 atap&lt;br /&gt;
i_enabled=1&lt;br /&gt;
savedefault&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(on Debian/Ubuntu and possibly other distros you better change the kopt line and run update-grub)&lt;br /&gt;
&lt;br /&gt;
You also need to change /etc/fstab. Replace any relevant &amp;lt;tt&amp;gt;dev/hd*&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;/dev/sd*&amp;lt;/tt&amp;gt;. Better yet use labels or uuids. An example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Debian&lt;br /&gt;
LABEL=debian    /               xfs             defaults,logbufs=8      0       1&lt;br /&gt;
LABEL=swap      none            swap            sw                      0       2&lt;br /&gt;
proc            /proc           proc            defaults                0       2&lt;br /&gt;
LABEL=home      /home           xfs             defaults,logbufs=8      0       2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to set labels for your partition via specific filesystem or swapspace tools like &amp;lt;tt&amp;gt;xfs_admin -L&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;tune2fs -L&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;mkswap -L&amp;lt;/tt&amp;gt;. This way fstab setup is independant of concrete device file names and thus you can switch back to old IDE drivers easily.&lt;br /&gt;
&lt;br /&gt;
For the CD-ROM drive use &amp;lt;tt&amp;gt;/dev/scd0&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/dev/scd0       /cdrom          iso9660         ro,user,noauto          0       0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should enough to get the system up and running with the new libata PATA drivers. You may need to change other configuration files that refer to device files such as &amp;lt;tt&amp;gt;/etc/hdparm.conf&amp;lt;/tt&amp;gt; and possibly &amp;lt;tt&amp;gt;/etc/sysfs.conf&amp;lt;/tt&amp;gt; if you set an IO scheduler there (I just removed my cfq scheduler entries as it is the default in the meanwhile.&lt;br /&gt;
&lt;br /&gt;
==Smartmontools and libata driven devices==&lt;br /&gt;
&lt;br /&gt;
For libata driven devices you should use smartmontools 5.37 and the &amp;lt;tt&amp;gt;-d sat&amp;lt;/tt&amp;gt; option. An example entry for ''/etc/smartd.conf'' would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Short selftest wednesday, sunday at 13 o clock.&lt;br /&gt;
# Long selftest thursday, 13 Uhr&lt;br /&gt;
# Email me on problems and use raw temperature values&lt;br /&gt;
/dev/sda -d sat -r 194 -a -o on -S on -n standby -m martin@deepdance -s (S/../../(3|7)/13|L/../../4/13)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
[http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2007-March/038383.html Thread on linux-thinkpad mailing list]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=SIMD&amp;diff=31775</id>
		<title>SIMD</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=SIMD&amp;diff=31775"/>
		<updated>2007-08-04T11:50:30Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: added ssse3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SIMD (Single Instruction, Multiple Data) is a set of operations for efficiently handling large amounts of data. It makes it possible to execute one command on a set of data instances instead of having the same command to be executed on each of the data instances.&lt;br /&gt;
&lt;br /&gt;
First introduced in large-scale supercomputers SIMD instrucion sets have become popular in personal computing hardware, hence being mostly associated with these units. The most widely known SIMD instructions sets are AIMs (Apple-IBM-Motorola) [[WikiPedia:AltiVec|AltiVec]] for the PowerPC, AMDs [[Wikipedia:3DNow!|3DNow!]] and Intels MMX and SSE sets in their various versions.&lt;br /&gt;
&lt;br /&gt;
==MMX==&lt;br /&gt;
MMX is a SIMD instruction introduced by Intel with later models of the Pentium processor line. It provides integer operations only and has a strong limitation in that it makes it difficult to work with integer and floating point data at the same time, since it reuses the IA-32 FPU registers.&lt;br /&gt;
&lt;br /&gt;
==SSE==&lt;br /&gt;
SSE is a set of instuctions optimized for handling floating point operations on a 128 bit level.&lt;br /&gt;
&lt;br /&gt;
==SSE 2==&lt;br /&gt;
SSE 2 contains 144 new commands for Cache and Memory management and the 64 bit commands of the MMX set were improved and extended to 128 bit.&lt;br /&gt;
&lt;br /&gt;
==SSE 3==&lt;br /&gt;
SSE 3 extends the SSE 2 command set by 13 instrucions for converting floating point numbers into integer numbers, for complex arithmetics, video encoding, image processing and thread communications.&lt;br /&gt;
&lt;br /&gt;
==SSSE 3==&lt;br /&gt;
SSSE 3 extends the SSE 3 command set by 16 instrucions for both 32 and 64 Bit data (Intel counts it as 32)&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31774</id>
		<title>Intel Core 2 Duo (Merom)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31774"/>
		<updated>2007-08-04T11:44:40Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: added ssse3 to description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Core 2 Duo ===&lt;br /&gt;
The Intel 2 Core is the successor of the [[Intel Core Duo (Yonah)]] processor. Even if the name seems like a second version, the Core 2 Duo is &amp;quot;only&amp;quot; a mobile version of the desktop processor with the same name and not designed for mobile applications in the first place like its predecessor. The architecture is changed in many ways, which introduced EM64T, [[SIMD|SSSE3]] and improved the performance by up to 25 percent. The 667 MHz FSB versions are part of the &amp;quot;Napa&amp;quot;- and the 800MHz FSB versions of the &amp;quot;Santa Rosa&amp;quot;-platform. It is part of the hardware from both the Centrino Duo and Centrino Pro brands.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Dual Core&lt;br /&gt;
*EM64T&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Vanderpool#Intel_VT_.28IVT.29 Intel Virtualization Technology]&lt;br /&gt;
*XD-Bit&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]], [[SIMD|SSE3]], [[SIMD|SSSE3]] instruction sets&lt;br /&gt;
*667 or 800 MHz FSB&lt;br /&gt;
*65 nm fabrication process&lt;br /&gt;
*4 MB or 2 MB L2-Cache with dynamic cache sizing&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), Deeper Sleep (C4)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || L2 Cache || FSB (MHz)|| VT || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|-&lt;br /&gt;
| T7700 || 2400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7600 || 2333 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T7500 || 2200 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7400 || 2166 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7300 || 1400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}, {{X61s}}&lt;br /&gt;
|-&lt;br /&gt;
| T7200 || 2000 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7100 || 1800 || 1000 || 2MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T5600 || 1833 || 1000 || 2MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T5500 || 1666 || 1000 || 2MB || 667 || no || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The maximum temperature for safe operation is 100°C.&lt;br /&gt;
&lt;br /&gt;
The catastrophic thermal protection temperature is 125°C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
==See also==&lt;br /&gt;
[[Intel_Core_Solo_(Yonah)|Intel Core Solo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
[[Intel Core Duo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.intel.com/products/processor_number/chart/core2duo.htm  Intel - Processor Numbers and Features]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors#Mobile_processors Wikipedia - Intel Core 2 mobile microprocessors]&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=SIMD&amp;diff=31767</id>
		<title>SIMD</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=SIMD&amp;diff=31767"/>
		<updated>2007-08-03T21:16:59Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* MMX */ MMX was not introduced with the Pentium, it was an later addition to them&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SIMD (Single Instruction, Multiple Data) is a set of operations for efficiently handling large amounts of data. It makes it possible to execute one command on a set of data instances instead of having the same command to be executed on each of the data instances.&lt;br /&gt;
&lt;br /&gt;
First introduced in large-scale supercomputers SIMD instrucion sets have become popular in personal computing hardware, hence being mostly associated with these units. The most widely known SIMD instructions sets are AIMs (Apple-IBM-Motorola) [[WikiPedia:AltiVec|AltiVec]] for the PowerPC, AMDs [[Wikipedia:3DNow!|3DNow!]] and Intels MMX and SSE sets in their various versions.&lt;br /&gt;
&lt;br /&gt;
==MMX==&lt;br /&gt;
MMX is a SIMD instruction introduced by Intel with later models of the Pentium processor line. It provides integer operations only and has a strong limitation in that it makes it difficult to work with integer and floating point data at the same time, since it reuses the IA-32 FPU registers.&lt;br /&gt;
&lt;br /&gt;
==SSE==&lt;br /&gt;
SSE is a set of instuctions optimized for handling floating point operations on a 128 bit level.&lt;br /&gt;
&lt;br /&gt;
==SSE 2==&lt;br /&gt;
SSE 2 contains 144 new commands for Cache and Memory management and the 64 bit commands of the MMX set were improved and extended to 128 bit.&lt;br /&gt;
&lt;br /&gt;
==SSE 3==&lt;br /&gt;
SSE 3 extends the SSE 2 command set by 13 instrucions for converting floating point numbers into integer numbers, for complex arithmetics, video encoding, image processing and thread communications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31764</id>
		<title>Intel Core 2 Duo (Merom)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31764"/>
		<updated>2007-08-03T21:12:35Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Features */ and MMX, SSE1/2/3.... and SSSE3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Core 2 Duo ===&lt;br /&gt;
The Intel 2 Core is the successor of the [[Intel Core Duo (Yonah)]] processor. Even if the name seems like a second version, the Core 2 Duo is &amp;quot;only&amp;quot; a mobile version of the desktop processor with the same name and not designed for mobile applications in the first place like its predecessor. The architecture is changed in many ways, which introduced EM64T and improved the performance by up to 25 percent. The 667 MHz FSB versions are part of the &amp;quot;Napa&amp;quot;- and the 800MHz FSB versions of the &amp;quot;Santa Rosa&amp;quot;-platform. It is part of the hardware from both the Centrino Duo and Centrino Pro brands.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Dual Core&lt;br /&gt;
*EM64T&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Vanderpool#Intel_VT_.28IVT.29 Intel Virtualization Technology]&lt;br /&gt;
*XD-Bit&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]], [[SIMD|SSE3]], [[SIMD|SSSE3]] instruction sets&lt;br /&gt;
*667 or 800 MHz FSB&lt;br /&gt;
*65 nm fabrication process&lt;br /&gt;
*4 MB or 2 MB L2-Cache with dynamic cache sizing&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), Deeper Sleep (C4)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || L2 Cache || FSB (MHz)|| VT || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|-&lt;br /&gt;
| T7700 || 2400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7600 || 2333 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T7500 || 2200 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7400 || 2166 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7300 || 1400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}, {{X61s}}&lt;br /&gt;
|-&lt;br /&gt;
| T7200 || 2000 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7100 || 1800 || 1000 || 2MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T5600 || 1833 || 1000 || 2MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T5500 || 1666 || 1000 || 2MB || 667 || no || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The maximum temperature for safe operation is 100°C.&lt;br /&gt;
&lt;br /&gt;
The catastrophic thermal protection temperature is 125°C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
==See also==&lt;br /&gt;
[[Intel_Core_Solo_(Yonah)|Intel Core Solo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
[[Intel Core Duo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.intel.com/products/processor_number/chart/core2duo.htm  Intel - Processor Numbers and Features]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors#Mobile_processors Wikipedia - Intel Core 2 mobile microprocessors]&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31763</id>
		<title>Intel Core 2 Duo (Merom)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31763"/>
		<updated>2007-08-03T21:10:17Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Features */  any core 2 duo should have the XD-Bit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Core 2 Duo ===&lt;br /&gt;
The Intel 2 Core is the successor of the [[Intel Core Duo (Yonah)]] processor. Even if the name seems like a second version, the Core 2 Duo is &amp;quot;only&amp;quot; a mobile version of the desktop processor with the same name and not designed for mobile applications in the first place like its predecessor. The architecture is changed in many ways, which introduced EM64T and improved the performance by up to 25 percent. The 667 MHz FSB versions are part of the &amp;quot;Napa&amp;quot;- and the 800MHz FSB versions of the &amp;quot;Santa Rosa&amp;quot;-platform. It is part of the hardware from both the Centrino Duo and Centrino Pro brands.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Dual Core&lt;br /&gt;
*EM64T&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Vanderpool#Intel_VT_.28IVT.29 Intel Virtualization Technology]&lt;br /&gt;
*XD-Bit&lt;br /&gt;
*667 or 800 MHz FSB&lt;br /&gt;
*65 nm fabrication process&lt;br /&gt;
*4 MB or 2 MB L2-Cache with dynamic cache sizing&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), Deeper Sleep (C4)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || L2 Cache || FSB (MHz)|| VT || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|-&lt;br /&gt;
| T7700 || 2400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7600 || 2333 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T7500 || 2200 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7400 || 2166 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7300 || 1400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}, {{X61s}}&lt;br /&gt;
|-&lt;br /&gt;
| T7200 || 2000 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7100 || 1800 || 1000 || 2MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T5600 || 1833 || 1000 || 2MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T5500 || 1666 || 1000 || 2MB || 667 || no || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The maximum temperature for safe operation is 100°C.&lt;br /&gt;
&lt;br /&gt;
The catastrophic thermal protection temperature is 125°C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
==See also==&lt;br /&gt;
[[Intel_Core_Solo_(Yonah)|Intel Core Solo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
[[Intel Core Duo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.intel.com/products/processor_number/chart/core2duo.htm  Intel - Processor Numbers and Features]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors#Mobile_processors Wikipedia - Intel Core 2 mobile microprocessors]&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31762</id>
		<title>Intel Core 2 Duo (Merom)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31762"/>
		<updated>2007-08-03T21:07:48Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Intel Core 2 Duo */ fixed some bugs in my English&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Core 2 Duo ===&lt;br /&gt;
The Intel 2 Core is the successor of the [[Intel Core Duo (Yonah)]] processor. Even if the name seems like a second version, the Core 2 Duo is &amp;quot;only&amp;quot; a mobile version of the desktop processor with the same name and not designed for mobile applications in the first place like its predecessor. The architecture is changed in many ways, which introduced EM64T and improved the performance by up to 25 percent. The 667 MHz FSB versions are part of the &amp;quot;Napa&amp;quot;- and the 800MHz FSB versions of the &amp;quot;Santa Rosa&amp;quot;-platform. It is part of the hardware from both the Centrino Duo and Centrino Pro brands.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Dual Core&lt;br /&gt;
*EM64T&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Vanderpool#Intel_VT_.28IVT.29 Intel Virtualization Technology]&lt;br /&gt;
*667 or 800 MHz FSB&lt;br /&gt;
*65 nm fabrication process&lt;br /&gt;
*4 MB or 2 MB L2-Cache with dynamic cache sizing&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), Deeper Sleep (C4)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || L2 Cache || FSB (MHz)|| VT || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|-&lt;br /&gt;
| T7700 || 2400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7600 || 2333 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T7500 || 2200 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7400 || 2166 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7300 || 1400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}, {{X61s}}&lt;br /&gt;
|-&lt;br /&gt;
| T7200 || 2000 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7100 || 1800 || 1000 || 2MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T5600 || 1833 || 1000 || 2MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T5500 || 1666 || 1000 || 2MB || 667 || no || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The maximum temperature for safe operation is 100°C.&lt;br /&gt;
&lt;br /&gt;
The catastrophic thermal protection temperature is 125°C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
==See also==&lt;br /&gt;
[[Intel_Core_Solo_(Yonah)|Intel Core Solo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
[[Intel Core Duo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.intel.com/products/processor_number/chart/core2duo.htm  Intel - Processor Numbers and Features]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors#Mobile_processors Wikipedia - Intel Core 2 mobile microprocessors]&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31761</id>
		<title>Intel Core 2 Duo (Merom)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=31761"/>
		<updated>2007-08-03T21:05:43Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: expanded &amp;quot;The Intel 2 Core is...&amp;quot; a little bit, fixed °C signs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Intel Core 2 Duo ===&lt;br /&gt;
The Intel 2 Core is the successor of the [[Intel Core Duo (Yonah)]] processor. Even the name seems like a second version, the Core 2 Duo is &amp;quot;only&amp;quot; a mobile version of the desktop processor with the same name, not a designed for mobile applications in the first place like its predecessor. The architecture is changed in many ways, which introduced EM64T and improved the performance by up to 25 percent. The 667 MHz FSB versions are part of the &amp;quot;Napa&amp;quot;- and the 800MHz FSB versions of the &amp;quot;Santa Rosa&amp;quot;-platform. It is part of the hardware from both the Centrino Duo and Centrino Pro brands.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Dual Core&lt;br /&gt;
*EM64T&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Vanderpool#Intel_VT_.28IVT.29 Intel Virtualization Technology]&lt;br /&gt;
*667 or 800 MHz FSB&lt;br /&gt;
*65 nm fabrication process&lt;br /&gt;
*4 MB or 2 MB L2-Cache with dynamic cache sizing&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), Deeper Sleep (C4)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Available Types and ThinkPads featuring them==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || L2 Cache || FSB (MHz)|| VT || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|-&lt;br /&gt;
| T7700 || 2400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7600 || 2333 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T7500 || 2200 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7400 || 2166 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7300 || 1400 || 1000 || 4MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}, {{X61s}}&lt;br /&gt;
|-&lt;br /&gt;
| T7200 || 2000 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7100 || 1800 || 1000 || 2MB || 800 || yes || ? || ? || 35 || ? || {{R61}},{{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T5600 || 1833 || 1000 || 2MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T5500 || 1666 || 1000 || 2MB || 667 || no || 1.30 || 0.95 || 34 || 20 || {{R60}},{{T60}},{{X60}},{{Z61m}},{{Z61t}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thermal Specifications==&lt;br /&gt;
The maximum temperature for safe operation is 100°C.&lt;br /&gt;
&lt;br /&gt;
The catastrophic thermal protection temperature is 125°C.&lt;br /&gt;
&lt;br /&gt;
==GCC Optimization Flags==&lt;br /&gt;
==See also==&lt;br /&gt;
[[Intel_Core_Solo_(Yonah)|Intel Core Solo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
[[Intel Core Duo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.intel.com/products/processor_number/chart/core2duo.htm  Intel - Processor Numbers and Features]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors#Mobile_processors Wikipedia - Intel Core 2 mobile microprocessors]&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_unauthorized_MiniPCI_network_card&amp;diff=31727</id>
		<title>Problem with unauthorized MiniPCI network card</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_unauthorized_MiniPCI_network_card&amp;diff=31727"/>
		<updated>2007-08-02T11:12:26Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Successful BIOS Modifications */ added another success&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Problem Description==&lt;br /&gt;
Although the MiniPCI slot is an industry standard and can accept any MiniPCI adapter, the IBM BIOS is set to only allow you to boot with an 'authorized' adapter installed. Attempts to install an unsupported card will result in the following message:&lt;br /&gt;
&lt;br /&gt;
   1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.&lt;br /&gt;
&lt;br /&gt;
This is because the card's sub-vendor PCI-ID (which can be seen using ''lspci -v'') are checked against a [[Wikipedia:Whitelist|whitelist]] in the BIOS.  IBM's reasoning for this is that the combination of MiniPCI card and the integrated antenna in the ThinkPad needs to be certified by the US FCC (Federal Communications Commission).{{footnote|1}} or similar agencies in other countries.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
All machines with integrated WiFi, or machines with WiFi added&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
All - problem is in the BIOS&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
* Workarounds exist for most affected models.&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
It may be possible to use the computer with the unauthorized card deactivated (but not removed).  Press {{key|F1}} to enter the BIOS and deactivate the WLAN card, then attempt to boot with the card disabled.  This does not make the wireless card work, but it may allow you to boot the computer normally.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Any of the following solutions should suffice to make the wireless card useable.  You only need to perform one of them.}}&lt;br /&gt;
&lt;br /&gt;
* You may can modify the BIOS whitelist to include the PCI-ID of the card you wish to use.  The complete instructions for this procedure are [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html here].&lt;br /&gt;
{{WARN|It is dangerous to mess with your BIOS, you can easily make your machine unbootable, proceed with caution!}}&lt;br /&gt;
&lt;br /&gt;
* A safer method than modifying the BIOS is modifying the PCI-ID of the wlan card.  The instructions are [http://www.dagarlas.org/stuff/computing/article0001.php here].  This page is for Atheros-based cards and HP notebooks, but it applies to Thinkpads as well.  It also has links on how to edit the PCI-ID on Intel Pro Wireless cards.  &lt;br /&gt;
{{NOTE|Modifying your PCI-ID will require either a laptop without a BIOS lock or a PCI adapter for your desktop.  Also, this procedure can render your card useless, but that's better than bricking your laptop.}}&lt;br /&gt;
&lt;br /&gt;
* You can use the [[Problem with error 01C9 - More than one Ethernet devices | no-1802 and no-01C9 Linux Live CD]] without applying the no-01C9 patch. It is very convenient to use and based on the C code below.&lt;br /&gt;
&lt;br /&gt;
* You can use the DOS [http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com no-1802] utility, written by Tisheng Chen.{{footnote|2}} It will set a certain bit in the CMOS memory which disables the whitelist check, but it has been reported not to work on the latest machines, such as the T43 and X41&lt;br /&gt;
&lt;br /&gt;
* You can compile and run (as root) the following C-code, which was written by Matthew Garrett. It was based on the code written by Vojtech Pavlik, which in turn was based on the assembly used in the no-1802 program. {{footnote|3}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;sys/stat.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
   int fd;&lt;br /&gt;
   unsigned char data;&lt;br /&gt;
   &lt;br /&gt;
   fd = open(&amp;quot;/dev/nvram&amp;quot;, O_RDWR);&lt;br /&gt;
   if (fd==-1) {&lt;br /&gt;
     printf(&amp;quot;Opening /dev/nvram failed\n&amp;quot;);&lt;br /&gt;
     return 1;&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;Disabling WiFi whitelist check.\n&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
   /* BIG INFORMATIONAL WARNING */ &lt;br /&gt;
   /* The linux nvram driver doesn't give access to the first 14 bytes of&lt;br /&gt;
      the CMOS. As a result, we seek to 0x5c rather than 0x6a. If you're &lt;br /&gt;
      implementing this under another OS, then you'll have to go to whichever&lt;br /&gt;
      address is appropriate for your access method */&lt;br /&gt;
 &lt;br /&gt;
   lseek(fd, 0x5c, SEEK_SET);&lt;br /&gt;
   read(fd, &amp;amp;data, 1);&lt;br /&gt;
   printf(&amp;quot;CMOS address 0x5c: %02x-&amp;gt;&amp;quot;, data);&lt;br /&gt;
   data |= 0x80;&lt;br /&gt;
   printf(&amp;quot;%02x\n&amp;quot;, data);&lt;br /&gt;
   lseek(fd, 0x5c, SEEK_SET);&lt;br /&gt;
   if (write(fd, &amp;amp;data, 1)&amp;lt;0) {&lt;br /&gt;
     printf(&amp;quot;Unable to write to /dev/nvram - hack failed\n&amp;quot;);&lt;br /&gt;
     close(fd);&lt;br /&gt;
     return 2;&lt;br /&gt;
   }&lt;br /&gt;
   close(fd);&lt;br /&gt;
   printf(&amp;quot;Done.\n&amp;quot;);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
{{NOTE|On the R32, T43, X41, X60 and probably others, the BIOS hacks and the &amp;quot;no-1802&amp;quot; utility don't work.}}&lt;br /&gt;
&lt;br /&gt;
==Successful BIOS Modifications==&lt;br /&gt;
{{WARN|This table is meant to give users an idea of what models have been successfully modified and how. As stated before, it is dangerous to mess with your BIOS, you can easily make your machine unbootable. Please proceed with caution!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following table contains information about ThinkPad models that have been successfully modified to run an unauthorized Mini PCI card. {{footnote|4}} &lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;border:1px; background:grey;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Model &lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Type &lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| BIOS Version &lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Operating System &lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Method &lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Success&lt;br /&gt;
|- style=&amp;quot;background: white;&amp;quot;&lt;br /&gt;
| ThinkPad 240&lt;br /&gt;
| 2609-21G&lt;br /&gt;
| 1.18&lt;br /&gt;
| Damn Small Linux&lt;br /&gt;
| Matthew Garrett code {{footnote|3}}&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad G40&lt;br /&gt;
| 2388-2UU&lt;br /&gt;
| 1.21 (2006/2/24; 1TETA6WW)&lt;br /&gt;
| Windows XP Home&lt;br /&gt;
| no-1802 DOS 6.22 floppy&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white;&amp;quot;&lt;br /&gt;
| ThinkPad R31&lt;br /&gt;
| 2656-6FG &lt;br /&gt;
| 3.11 (12-01-2004) &lt;br /&gt;
| Windows XP Boot Disk &lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white;&amp;quot;&lt;br /&gt;
| ThinkPad R32&lt;br /&gt;
| 2656-EG1 &lt;br /&gt;
| 2.16 (16-06-2006) &lt;br /&gt;
| DOS Boot Disk &lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:red;&amp;quot;| No&lt;br /&gt;
|- style=&amp;quot;background: white;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2656-69U &lt;br /&gt;
| ? &lt;br /&gt;
| Windows 2000 Pro&lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2681-F7G &lt;br /&gt;
| n/a&lt;br /&gt;
| Windows XP Pro SP2 w/ Intel 2200BG&lt;br /&gt;
| No-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2896-J3U &lt;br /&gt;
| 1.24 (10-18-2005) &lt;br /&gt;
| Fedora Core 4 &lt;br /&gt;
| Vojtech Pavlik code&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2681-L7U &lt;br /&gt;
| 1.24 (10-18-2005) &lt;br /&gt;
| Windows XP Pro &lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2681-CDG&lt;br /&gt;
| 1.27 (10-06-2006) &lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 LiveCD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2681-CFM &lt;br /&gt;
| 1.24 (10-17-2005) &lt;br /&gt;
| Gentoo &amp;amp; XP Pro&lt;br /&gt;
| no-1802 utility (boot from USB key to apply)&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2724 &lt;br /&gt;
| 1.30 (10-19-2005) &lt;br /&gt;
| FreeBSD 6.1-p1&lt;br /&gt;
| code by Matthew Garrett, compiled and run on bactrack&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2724-3XU &lt;br /&gt;
| 1.33 (06-29-2006) &lt;br /&gt;
| Windows XP Pro &lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2682 &lt;br /&gt;
| 1.01 (2003-01-24)&lt;br /&gt;
| Debian GNU/Linux etch (March 2007) &lt;br /&gt;
| Matthew Garret's code&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R40&lt;br /&gt;
| 2722-BDG&lt;br /&gt;
| 1.33 (2006/6/29)&lt;br /&gt;
| Lunar Linux (2007/03/04) &lt;br /&gt;
| Matthew Garret's code&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R50&lt;br /&gt;
| 1829-7RG&lt;br /&gt;
| 3.21 (02-06-2006)&lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad R50p&lt;br /&gt;
| 1832-2AG&lt;br /&gt;
| 3.19 (13-10-2005)&lt;br /&gt;
| Ubuntu 5.10 (kernel 2.6.12-10-686)&lt;br /&gt;
| Vojtech Pavlik code&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
|ThinkPad R51&lt;br /&gt;
| 2887-W2C &lt;br /&gt;
| 1.27 (03-03-2006) &lt;br /&gt;
| Windows XP Pro SP2&lt;br /&gt;
| no-1802 utility (boot from USB key to apply)&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
|ThinkPad R52&lt;br /&gt;
| 1849-BMU&lt;br /&gt;
|1.27 (09-20-2006)&lt;br /&gt;
| Windows XP Pro SP2&lt;br /&gt;
| no-1802 utility (boot from external USB floppy)&lt;br /&gt;
! style =&amp;quot;color:red;&amp;quot;| No&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
|ThinkPad T23&lt;br /&gt;
| 2647-4MU&lt;br /&gt;
| 1.18 (08-06-2004) &lt;br /&gt;
| Windows XP Pro/SP2&lt;br /&gt;
| no-1802 utility (W98se-bootfloppy)&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot; &lt;br /&gt;
|ThinkPad T30&lt;br /&gt;
| 2366-68G &lt;br /&gt;
| 2.09 (08-08-2005) &lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
|ThinkPad T30&lt;br /&gt;
| 2366-ES1 &lt;br /&gt;
| 2.10  &lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;  &lt;br /&gt;
| ThinkPad T30 &lt;br /&gt;
| 2366-97G &lt;br /&gt;
| 2.09 (08-08-2005) &lt;br /&gt;
| Windows XP Pro &lt;br /&gt;
| no-1802 utility &lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T30 &lt;br /&gt;
| 2366-N6G &lt;br /&gt;
| 2.09 (08-08-2005) &lt;br /&gt;
| Windows XP Pro &lt;br /&gt;
| no-1802 utility &lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T30 &lt;br /&gt;
| 2366-N6G &lt;br /&gt;
| 2.10 (26-06-2006) &lt;br /&gt;
| Windows XP Pro &lt;br /&gt;
| no-1802 utility &lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T30 &lt;br /&gt;
| 2366-81U &lt;br /&gt;
| 2.10 (27-06-2006) &lt;br /&gt;
| Windows XP Pro &lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T30 &lt;br /&gt;
| 2366-86U &lt;br /&gt;
| 2.10 (27-06-2006) &lt;br /&gt;
| Windows XP Pro SP 2&lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T30 &lt;br /&gt;
| 2366-DU9 &lt;br /&gt;
| 2.10 (27-06-2006) &lt;br /&gt;
| Suse Linux 10.1 &lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40 &lt;br /&gt;
| 2373-7CU &lt;br /&gt;
| 3.21&lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40 &lt;br /&gt;
| 2373-4BG &lt;br /&gt;
| 3.21&lt;br /&gt;
| Windows XP Pro SP2&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40&lt;br /&gt;
| 2373-7CU&lt;br /&gt;
| 3.21 (06-02-2006)&lt;br /&gt;
| Windows XP Pro SP2&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40&lt;br /&gt;
| 2373-75U&lt;br /&gt;
| 3.21 (09-12-2006)&lt;br /&gt;
| Fedora 6 w Intel 2915ABG&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40&lt;br /&gt;
| 2373-82U &lt;br /&gt;
| 3.18 (09-15-2005)&lt;br /&gt;
| Windows XP/ SUSE 10.1&lt;br /&gt;
| No-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40&lt;br /&gt;
| 2373-8CG &lt;br /&gt;
| 3.05a (2004-05-14)&lt;br /&gt;
| Arch Linux&lt;br /&gt;
| No-1802 LiveCD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40&lt;br /&gt;
| 2373-PU7 &lt;br /&gt;
| 3.21 (09-12-2006)&lt;br /&gt;
| Windows XP Professional&lt;br /&gt;
| No-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40&lt;br /&gt;
| 2373-42G &lt;br /&gt;
| 3.20 (11-05-2006) &lt;br /&gt;
| Windows 2000 Pro &lt;br /&gt;
| no-1802 utility &lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40&lt;br /&gt;
| 2374-8CG &lt;br /&gt;
| 3.20 (11-05-2006) &lt;br /&gt;
| Ubuntu 6.06 LTS w/Intel Pro Lan2200&lt;br /&gt;
| no-1802 Linux Live CD &lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; coloar:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40&lt;br /&gt;
| 2374-DG1 &lt;br /&gt;
| 3.21 (06-02-2006) &lt;br /&gt;
| Ubuntu 6.10 w/Broadcom 4306&lt;br /&gt;
| Matthew Garrett's code &lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; coloar:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40p&lt;br /&gt;
| 2373-G1G&lt;br /&gt;
| 3.19 (10-13-2005)&lt;br /&gt;
| Debian GNU/Linux (sid)&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; coloar:black;&amp;quot;&lt;br /&gt;
| ThinkPad T40p&lt;br /&gt;
| 2373-G5G&lt;br /&gt;
| 3.21 (2006-06-02)&lt;br /&gt;
| Windows XP Pro SP2 / Gentoo 2007.0&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T41&lt;br /&gt;
| 2373-1FG &lt;br /&gt;
| 3.21 (2007-06-18)&lt;br /&gt;
| Windows XP Pro SP2&lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T41&lt;br /&gt;
| 2373-5G1 &lt;br /&gt;
| 2004 &lt;br /&gt;
| Fedora Core 6 w/Intel Pro 2915ABG a/b/g&lt;br /&gt;
| no-1802 Linux Live CD &lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; coloar:black;&amp;quot;&lt;br /&gt;
|ThinkPad T41&lt;br /&gt;
| 2373-9HU&lt;br /&gt;
| n/a&lt;br /&gt;
| Ubuntu 6.10 w/Atheros 5212 a/b/g&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style=&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
|ThinkPad T41&lt;br /&gt;
| 2373-2FG&lt;br /&gt;
| n/a&lt;br /&gt;
| Windows XP Pro SR2 w/ Intel 2200BG&lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style=&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T41p&lt;br /&gt;
| 2373-GEG &lt;br /&gt;
| BIOS Build ID: 1RETDOWW(3.20) &lt;br /&gt;
| Gentoo / XP pro SP2&lt;br /&gt;
| Matthew Garrett's code {{footnote|3}}&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T41p&lt;br /&gt;
| 2374-GGU &lt;br /&gt;
| 3.21 (1RETDPWW) 6/2/2006&lt;br /&gt;
| Slackware / XP pro SP2&lt;br /&gt;
| Matthew Garrett's code&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T42&lt;br /&gt;
| 2373-4TG &lt;br /&gt;
| 3.13 (1RETDHWW) (29-10-2004)&lt;br /&gt;
| Windows XP Pro SP2 w/ Intel PRO 2200BG&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; coloar:black;&amp;quot;&lt;br /&gt;
| ThinkPad T42&lt;br /&gt;
| 2373-K2G &lt;br /&gt;
| 3.17 (07-27-2005)&lt;br /&gt;
| Windows XP Pro SP2 w/ Intel 2915ABG&lt;br /&gt;
| No-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T42&lt;br /&gt;
| 2373-M1U&lt;br /&gt;
| 3.13 1RETDHWW (10/29/2004)&lt;br /&gt;
| Fedora 7 w/ Intel PRO 2200BG&lt;br /&gt;
| Matthew Garrett's code&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad T42&lt;br /&gt;
| 2378-EXU &lt;br /&gt;
| 3.18 (09-15-2005)&lt;br /&gt;
| Windows XP Pro SP2&lt;br /&gt;
| No-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X22 &lt;br /&gt;
| 2662-95G&lt;br /&gt;
| 1.32 (2003-06-10)&lt;br /&gt;
| Debian GNU/Linux testing, kernel 2.6.18-3-686&lt;br /&gt;
| Matthew Garrett's code&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X30 &lt;br /&gt;
| 2672-41j &lt;br /&gt;
| 1.08 (08-09-2005)&lt;br /&gt;
| Gentoo Kernel 2.6.15 &lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X30 &lt;br /&gt;
| 2672-4XU &lt;br /&gt;
| 1.09&lt;br /&gt;
| Win XP Pro SP2&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X30 &lt;br /&gt;
| 2673-EU2 &lt;br /&gt;
| 1.09 &lt;br /&gt;
| Windows XP Pro SP2 &lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X31 &lt;br /&gt;
| 2672-C2G &lt;br /&gt;
| 3.02 (22-09-2005) &lt;br /&gt;
| Debian Etch (Testing), Kernel 2.6.22-rc7&lt;br /&gt;
| no-1802 utility&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X31 &lt;br /&gt;
| 2672-PG9 &lt;br /&gt;
| 2.04 (2003-11-10) &lt;br /&gt;
| Debian Etch (Testing), Kernel 2.6.21-2&lt;br /&gt;
| Matthew Garrett's code&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X31 &lt;br /&gt;
| 2673-C27 &lt;br /&gt;
| 3.02 (22-09-2005) &lt;br /&gt;
| Ubuntu 5.10 (kernel 2.6.12-9-386) &lt;br /&gt;
| Matthew Garrett code {{footnote|3}}&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X31 &lt;br /&gt;
| 2672-1UG &lt;br /&gt;
| 3.02 (22-09-2005) &lt;br /&gt;
| FreeBSD 6-STABLE&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X31 &lt;br /&gt;
| 2672-CEG &lt;br /&gt;
| 3.02 (22-09-2005) &lt;br /&gt;
| Debian Etch (Testing), Kernel 2.6.17-2-686&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X31 &lt;br /&gt;
| 2672-CXU &lt;br /&gt;
| 2.04&lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 DOS boot CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X31 &lt;br /&gt;
| 2672-PBU &lt;br /&gt;
| 3.02&lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 DOS boot CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X31 &lt;br /&gt;
| 2672-C8G&lt;br /&gt;
| 3.02&lt;br /&gt;
| Debian (kernel 2.6.16.20-386)&lt;br /&gt;
| Matthew Garrett code {{footnote|3}}&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X31 &lt;br /&gt;
| 2672-CEG&lt;br /&gt;
| 2.11 (02/13/2004)&lt;br /&gt;
| Debian (kernel 2.6.18-4-686, gcc 4.1.2)&lt;br /&gt;
| Matthew Garrett code {{footnote|3}}&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X40&lt;br /&gt;
| 2371-8EU&lt;br /&gt;
| 1.42 (2004/09/16; 1UET92WW)&lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X41&lt;br /&gt;
| 1866-6SU&lt;br /&gt;
| ?&lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 DOS boot CD&lt;br /&gt;
! style =&amp;quot;color:red;&amp;quot;| No&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X41 &lt;br /&gt;
| 2525-A2U&lt;br /&gt;
| 2.06 (2006/03/14; 74ET61WW)&lt;br /&gt;
| Windows XP Pro&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:red;&amp;quot;| No&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X41&lt;br /&gt;
| 2528-ELU&lt;br /&gt;
| 2.06 (2006/03/14; 74ET61WW)&lt;br /&gt;
| Windows XP Pro / OSX 10.4.8 / Ubuntu Edgy&lt;br /&gt;
| no-1802 Linux Live CD&lt;br /&gt;
! style =&amp;quot;color:red;&amp;quot;| No&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| ThinkPad X60s&lt;br /&gt;
| 1702-3JU&lt;br /&gt;
| ?&lt;br /&gt;
| Debian Testing&lt;br /&gt;
| Matthew Garrett's code&lt;br /&gt;
! style =&amp;quot;color:red;&amp;quot;| NO (bricked)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
* Additional Information about &amp;quot;Unauthorised&amp;quot; MiniPCI adapters can be found on [http://www.srcf.ucam.org/~mjg59/thinkpad/wireless.html Matthew Garrett's website].&lt;br /&gt;
&lt;br /&gt;
* Thinkpad Mini PCI Wireless [http://www.srcf.ucam.org/~mjg59/thinkpad/tables.html compatibility matrix].&lt;br /&gt;
&lt;br /&gt;
* Bootable &amp;quot;no-1802&amp;quot; [http://www.command-tab.com/2006/02/26/unauthorized-wireless-cards/ CD and floppy image]&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#This is explained in a [http://lkml.org/lkml/2003/6/3/162 message to the LKML] and subsequently [http://lkml.org/lkml/2003/6/9/50 clarified].&lt;br /&gt;
#The no-1802 tool was announced and explaned in a [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2004-June/018253.html message to the Linux-Thinkpad ML].&lt;br /&gt;
#Vojtech Pavlik's C-code was originally posted in a [http://lkml.org/lkml/2004/6/13/69 message to the LKML]. It was based on the assembly used in the no-1802 program. Matthew Garrett [http://www.srcf.ucam.org/~mjg59/thinkpad/hacks.html rewrote] the code to provide more error checking.&lt;br /&gt;
#This information has been added by users. Please feel free to add systems if you have had personal success or failure.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X_Series&amp;diff=31706</id>
		<title>Category:X Series</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X_Series&amp;diff=31706"/>
		<updated>2007-07-31T14:01:17Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: added link to Thinkpad series page to avoid double entry's like on the t series page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* '''ThinkPad X''': Subnotebook, very small and light, hard drive internal, no internal optical drive, small screen. &lt;br /&gt;
&lt;br /&gt;
A comparison and development list of this series can be found on the overview page about all [[ThinkPad series#ThinkPad_X_series|series of ThinkPad computers]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Models]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:T_Series&amp;diff=31705</id>
		<title>Category:T Series</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:T_Series&amp;diff=31705"/>
		<updated>2007-07-31T13:59:46Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: added link to Thinkpad series page to avoid double entry's&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ThinkPad T series=&lt;br /&gt;
As the successor of the [[ThinkPad_series#ThinkPad_600_series|600 series]], the T series became IBM mobile productivity line. Usually leading the ThinkPad range in technology, innovation and price, the T series was intended for the travelling businessman.&lt;br /&gt;
&lt;br /&gt;
A comparison and development list of this series can be found on the overview page about all [[ThinkPad series#ThinkPad_T_series|series of ThinkPad computers]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Models]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:R_Series&amp;diff=31704</id>
		<title>Category:R Series</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:R_Series&amp;diff=31704"/>
		<updated>2007-07-31T13:56:56Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: added link to Thinkpad series page to avoid double entrys like on the t series page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* '''ThinkPad R''': Traditionally the budget laptop line, they are 'mobile workstation' configurations to replace the discontinued [[:Category:A_Series|A series]].&lt;br /&gt;
&lt;br /&gt;
A comparison and development list of this series can be found on the overview page about all [[ThinkPad series#ThinkPad_R_series|series of ThinkPad computers]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Models]]&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_series&amp;diff=31703</id>
		<title>ThinkPad series</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_series&amp;diff=31703"/>
		<updated>2007-07-31T13:49:11Z</updated>

		<summary type="html">&lt;p&gt;BDKMPSS: /* Current Series */ merge with T-Series-Model-Overview-Page, added some links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Current Series=&lt;br /&gt;
==ThinkPad R series==&lt;br /&gt;
Dropping the [[#ThinkPad A series|A series]], IBM introduced a mainstream budget line of ThinkPads in the R series. The RXXe series lacks some of &amp;quot;normal&amp;quot; RXX series features like stereo speakers, [[IrDA]] port, touchpad, hot-swappable CD/DVD drive, firewire and some other things. It also usualy features slower CPU like Intel Celeron (but in newer models also slower Intel Core processors). ACPI functions in modern RXX-e models are just as well supported in Linux as they are for regular RXX models.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad T series==&lt;br /&gt;
As successor of the [[#ThinkPad 600 series|600 series]], the T series became IBM mobile productivity line. Usually leading the ThinkPad range in technology, innovation and price, the T series was intended for the travelling businessman - comparatively more stylish, functional, and rugged machines; and easy to disassemble for repair or upgrades. T series ThinkPads are clad in black non-slip rubber with embedded glitter. The case lid has tabs along the edge that interlocks with depressions in the lower case when closed, to reduce case flexing. &lt;br /&gt;
&lt;br /&gt;
===ThinkPad T2x series===&lt;br /&gt;
The ThinkPad T2x models ([[:Category:T20|T20]], [[:Category:T21|T21]], [[:Category:T22|T22]], [[:Category:T23|T23]]) were [[Intel Mobile Pentium III-M]] based, sub-5 lb (2.3 kg) class machines.  These machines typically had 14.1 inch XGA screens, S3 Savage graphics chips and Cirrus Logic sound chips. The T2x series introduced the [[UltraBay|UltraBay 2000]] optical drive bay and titanium-reinforced screen lids. With the [[:Category:T23|T23]], an internal WiFi antenna became available, so WiFi miniPCI cards could be used. Also the [[:Category:T23|T23]] was the first ThinkPad featuring an [[UltraBay|UltraBay Plus]] drive and [[Embedded Security Subsystem]].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T3x series===&lt;br /&gt;
The T3x series only saw one model, the [[:Category:T30|T30]]. Powered by a [[Intel Mobile Pentium 4-M]] and a Radeon 7500 graphics chip with 16&amp;amp;nbsp;MB of discrete video memory, the T30 was available with 14.1 inch XGA or SXGA screens. The [[:Category:T30|T30]] introduced the [[UltraNav]] touchpad and integrated Bluetooth among ThinkPads. Other features include the [[Embedded Security Subsystem]], [[UltraBay|Ultrabay Plus]] drive, integrated Wireless LAN. The shell is titanium reinforced composite. The whole package was a bit heavier and thicker than both the T2x and the T4x series.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T4x series===&lt;br /&gt;
Includes the [[:Category:T40|T40]], [[:Category:T41|T41]], [[:Category:T42|T42]], [[:Category:T43|T43]], and associated &amp;quot;p&amp;quot; series (for &amp;quot;performance&amp;quot;; e.g., [[:Category:T43p|T43p]]). A typical T4x weighs 2.2 kg (4.9 lb), slightly less than the [[#ThinkPad 600 series|600 series]], and features an [[Intel Pentium M (Dothan)]] Processor, a 14.1 or 15 inch LCD (XGA or SXGA+), an integrated GPU ([[Intel Graphics Media Accelerator 900]]) or a discrete GPU ([[ATI Mobility Radeon 7500]], [[ATI Mobility Radeon 9000|9000]], [[ATI Mobility Radeon X300|X300]], [[ATI Mobility FireGL 9000]], FireGL 9600, [[ATI Mobility FireGL T2| FireGL T2]] and [[ATI Mobility FireGL V3200|FireGL V3200]]), and a hard drive ranging in size from 30 to 100 GB with the [[Active Protection System]] to protect the hard drive ([[:Category:T41|T41]] and later models).  &amp;quot;p&amp;quot; (mobile workstation) models are also available with a 14&amp;quot; SXGA+ or a 15 inch UXGA FlexView display with wide viewing angle and high density IPS technology with resolutions up to 1600x1200. These 15 inch display models weigh slightly more than their lesser brethren, with optical drive and battery, at 2.7 kg (5.9 lb).  Some [[:Category:T42|T42]] and [[:Category:T43|T43]] models feature a biometric security system with [[Integrated Fingerprint Reader]].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T6x series===&lt;br /&gt;
ThinkPad [[:Category:T60|T60]] contained the [[Intel Core Duo (Yonah)]].  It was paired with either a [[ATI Mobility Radeon X1300]] or [[ATI Mobility Radeon X1400|x1400]] or with an [[ATI Mobility FireGL V5200]] for the performance model. The [[:Category:T60|T60]] was also the first of its kind to support Wireless Wide Area Network (WWAN) out of the box if the option was selected.&lt;br /&gt;
&lt;br /&gt;
The ThinkPad [[:Category:T60|T60]] refresh contained the [[Intel Core 2 Duo (Merom)]]. It gave a processing speed of up to twenty five percent faster than the [[Intel Core Duo (Yonah)|Yonah]] and introduced EM64T into the mobile realm. It was paired with either a [[ATI Mobility Radeon X1300]] or [[ATI Mobility Radeon X1400|x1400]] or with an [[ATI Mobility FireGL V5250]] for the performance model.&lt;br /&gt;
&lt;br /&gt;
ThinkPad [[:Category:T61|T61]] features the Santa Rosa chipset, in addition to the existing [[Intel Core 2 Duo (Merom)]]. The designers found it prudent to move from an ATI based Mobility Radeon to NVIDIA's Quadro NVS series discrete video processors. The move also marked a more aggressive shift to the wide screen format. Introductory [[:Category:T61|T61]] models only shipped with a wide screen. In addition, the designers added a Roll Cage for the screen to decrease the likelihood of damage in the event of a fall. Finally fan blades were overhauled to decrease fan noise and temperature.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad X series==&lt;br /&gt;
===ThinkPad X2x series===&lt;br /&gt;
[[Intel Mobile Pentium III]] with [[ATI Rage Mobility M]] ([[:Category:X20|X20]], [[:Category:X21|X21]]) or [[Intel Mobile Pentium III-M]] with [[ATI Mobility Radeon 7000]] ([[:Category:X22|X22]], [[:Category:X23|X23]], [[:Category:X24|X24]]), sub-4 lb machines. Contained processors ranging from [[Intel Mobile Pentium III|MPIII]] 500&amp;amp;nbsp;MHz to [[Intel Mobile Pentium III-M|PIII-M]] 1+&amp;amp;nbsp;GHz. 12.1 inch XGA screens.  Used miniPCI form factor cards, which supports modem and/or ethernet. With the [[:Category:X22|X22]] and later machines, provisions for wireless networking support are built into the chassis.  [[UltraBay|UltraBay 2000]] optical drive support can be fitted via the [[UltraBase X2]] portable docking station option, and extended batteries can give the series a 5 hour running time.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad X3x series===&lt;br /&gt;
[[Intel Mobile Pentium III-M]] with [[Intel Graphics Technology]] ([[:Category:X30|X30]]) or [[Intel Pentium M (Banias)]]/[[Intel Pentium M (Dothan)|(Dothan)]] with [[ATI Mobility Radeon 7000]] ([[:Category:X31|X31]], [[:Category:X32|X32]]), 12.1 inch XGA screens, [[IrDA]], FireWire, Compact Flash card slot. No built-in optical drive. Like the X2x series [[UltraBay|UltraBay Plus]] optical drive support can be fitted via the [[UltraBase X3]] portable docking station option. As the [[UltraBase X3]] can take the same battery as the notebook, the running time can be increased to amazing 10 hours.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad X4x Series===&lt;br /&gt;
A continuation of the lightweight X series. Weighing in at 1.2 kg (2.7 lb), the lightest [[:Category:X41|X41]] is 25% lighter than its predecessor, the [[:Category:X31|X31]]. Part of the X4x series, the [[:Category:X41 Tablet|X41 Tablet]] is the first Tablet PC (convertible) ThinkPad. They also get [[UltraBay|UltraBay Slim]] optical drive support via the [[UltraBase X4]] portable docking station option, but it is not compatible with the [[:Category:X41 Tablet|X41 Tablet]].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad X6x Series===&lt;br /&gt;
Includes, as of 2006, the [[:Category:X60|X60]]; the next generation of the X6x Series ThinkPads; this is the first X Series ThinkPad to feature Intel &amp;quot;Yonah&amp;quot; Dual Core Technology. A &amp;quot;slim&amp;quot;, the [[:Category:X60s|X60s]], and a Tablet PC version, the [[:Category:X60 Tablet|X60 Tablet]], are also available. The fitting portable docking station option is the [[UltraBase X6]].&lt;br /&gt;
&lt;br /&gt;
=Withdrawn Series=&lt;br /&gt;
==ThinkPad 200 series==&lt;br /&gt;
The 200 series ([[:Category:220|220]], [[:Category:230|230]], [[:Category:235|235]], [[:Category:240|240]] and their various sub series) was a subnotebook series. This means they were extremely small and light crossovers between notebooks and PDAs. The series ended with the [[:Category:240X|240X]]. With the changing from the numeric to the alphanumeric naming scheme in 2000, IBM stopped developing subnotebook class ThinkPads. Only in the Asia-Pacific only [[#ThinkPad S series|S series]] did in find a rather short revival.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 300 series==&lt;br /&gt;
The 300 series ([[:Category:300|300]], [[:Category:310|310]], [[:Category:350|350]], [[:Category:360|360]], [[:Category:365E|365E]], [[:Category:380|380]], [[:Category:385ED|385ED]], [[:Category:390|390]] and their various sub series) was a long running value series starting at the [[Intel 386|Intel 386SL-33]] going all the way to the [[Intel Mobile Pentium III]].  The ThinkPad 300 was also produced for IBM by Zenith Data Systems.  They were a bit large and slower than the more full featured models but offered a less expensive ThinkPad. The successor of this series is the [[#ThinkPad R series|R series]].&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 500 series==&lt;br /&gt;
The 500 series ([[:Category:500|500]], [[:Category:510Cs|510Cs]], [[:Category:560|560]], [[:Category:570|570]] and their various sub series) were the main line of the ultraportable ThinkPads.  Starting with the [[IBM 486|IBM 486BL-25 Blue Lightening]] to the [[Intel Mobile Pentium III]], these machines had only a hard disk onboard.  Any other drives were either external or available in the respective [[Docking Solutions]]. The successor of the 500 series is the [[#ThinkPad X series|X series]].&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 600 series==&lt;br /&gt;
The 600 series ([[:Category:600|600]], [[:Category:600D|600D]], [[:Category:600E|600E]] and [[:Category:600X|600X]]) are the direct predecessors of the [[#ThinkPad T series|T series]], and are legendary for their portability and sturdy construction. Most 600 series models packed a 13.3 inch LCD, [[Intel Mobile Pentium II]] or [[Intel Mobile Pentium III]] processor and full sized keyboard into a package weighing roughly 2.3 kg (5 lb). The [[UltraBay|UltraSlimBay]] was introduced with the 600 series. IBM was able to create this light, fully featured machine by using lightweight but strong carbon fibre composite plastics.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 700 series==&lt;br /&gt;
The 700 series ([[:Category:700|700]], [[:Category:701C|701C]], [[:Category:730T|730T]], [[:Category:750|750]], [[:Category:755C|755C]], [[:Category:760E|760E]], [[:Category:765D|765D]], [[:Category:770|770]] and their various sub series) were the cutting edge Intel-based ThinkPads.  They featured the best screens, largest hard drives and fastest processors available at the time.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad 800 series==&lt;br /&gt;
The PowerPC ThinkPad series, (800, [[:Category:820|820]], 821, 822, 823, [[:Category:850|850]], 851, [[:Category:860|860]]) were unique in that they ran on the PowerPC architecture, and not the x86 architecture.  They all used the [[IBM PowerPC 603|IBM PowerPC 603e]] CPU.  The 800 may have used a 603, and it is unclear if the 800 was experimental or not.  All units used SCSI 2 instead of IDE.  The units are believed to have all been extremely expensive, as the [[:Category:850|850]] cost upwards of $12,000 USD.  The 800 series can run Windows NT 3.5 (probably 4.0 as well), OS/2, AIX 4.14, Solaris Desktop 2.5.1 PowerPC Edition and Linux.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad Transnote==&lt;br /&gt;
The IBM [[:Category:TransNote|TransNote]] was a pen based PC in a notebook.  Data could not only be entered through keyboard, TrackPoint and TouchScreen, but also through a unique paper notepad with integrated digitizer which was produced in cooperation with Cross AT.  This ThinkPad expanded on IBM's previous pen based notebooks ([[:Category:360P|360P]](E), [[:Category:730T|730T]](E), and 755(P).&lt;br /&gt;
&lt;br /&gt;
==ThinkPad A series==&lt;br /&gt;
The A series was developed as an allround productivity machine, equipped with hardware powerful enough to make it a desktop replacement. Hence it was the biggest and heaviest ThinkPad series at its time, but also had features not even found in a [[#ThinkPad T series|T series]] of the same age. The A series was dropped in favour of the [[#ThinkPad G series|G series]] and [[#ThinkPad R series|R series]].&lt;br /&gt;
&lt;br /&gt;
==ThinkPad G series==&lt;br /&gt;
The G series consists of only two models so far, the [[:Category:G40|G40]] and [[:Category:G41|G41]]. Being large and heavy machines, equipped with powerful desktop processors, this line of ThinkPads is consequently specialised in serving as a desktop replacement.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad i series==&lt;br /&gt;
The i series introduced the [[ThinkLight]] and were also the first notebooks equipped with Wireless LAN.&lt;br /&gt;
&lt;br /&gt;
==ThinkPad S series==&lt;br /&gt;
A subnotebook series consisting of only two models: the [[:Category:S30|S30]] and [[:Category:S31|S31]].&lt;br /&gt;
[[Category:Models]]&lt;br /&gt;
&lt;br /&gt;
==ThinkPad Z series==&lt;br /&gt;
The widescreen ThinkPad build to offer the ultimate multimedia experience. Internal similar to the [[#ThinkPad T series|T series]], but they have a widescreen and are available with a Titanium Special Edition Cover on selected models. This was the first ThinkPad series completely developed by Lenovo. This series was discontinued as the [[#ThinkPad T series|T series]] are available with widescreen displays.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad Z60x Series===&lt;br /&gt;
The first widescreen ThinkPads, internal similar to the T4x series, but they are available with 14&amp;quot; ([[:Category:Z60t|Z60t]]) or 15.4&amp;quot; ([[:Category:Z60m|Z60m]]) widescreens (some with optional MaxBright-technology). Travel weight starting at 4.1 lb and they are less than 1.1&amp;quot; thin. They are the first ThinkPads completely developed by Lenovo.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad Z61x Series===&lt;br /&gt;
Second generation Z series, upgraded to the internal technology level of the T60 series ThinkPads.&lt;/div&gt;</summary>
		<author><name>BDKMPSS</name></author>
		
	</entry>
</feed>