<?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=Morgwai</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=Morgwai"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Morgwai"/>
	<updated>2026-04-21T23:14:51Z</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=55788</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=55788"/>
		<updated>2014-08-05T10:28:25Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: update info about microarch support&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;
If you are installing on a recent Thinkpad that has an [[Ivy Bridge]] or newer processor ({{X230}}, {{T430}}, {{T530}}, etc.), tp_smapi will not work. You will be mostly limited to [[thinkpad-acpi]] capabilities. You can however set battery charge thresholds with [[tpacpi-bat]].&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, a newer version 0.41 is available in a fork at https://github.com/evgeni/tp_smapi which is also available in Debian&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;
&lt;br /&gt;
====Installation on Debian====&lt;br /&gt;
You can use 'dkms' on Debian 7 stable (wheezy) or oldstable (squeeze) (kernel &amp;gt;=2.6.32-5). (Note: If installation seems ineffective, confirm you have the linux-headers of your kernel installed, purge tp-smapi-dkms and reinstall.)&lt;br /&gt;
* {{cmdroot|aptitude install linux-headers tp-smapi-dkms}}&lt;br /&gt;
&lt;br /&gt;
=====Installation on Debian from source=====&lt;br /&gt;
Since Debian 5 (lenny) also the [http://packages.debian.org/tp-smapi packaged module source] is available.&lt;br /&gt;
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 Debian 5 (lenny)=====&lt;br /&gt;
In Debian 5 (lenny) are also the prebuilt modules for Debian kernels.&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;
====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;
{{HINT|This appears to be the ideal solution. A description of DKMS, from [http://linux.dell.com/projects.shtml#dkms Dell]: &amp;quot;DKMS stands for Dynamic Kernel Module Support. It is designed to create a framework where kernel dependent module source can reside so that it is very easy to rebuild modules as you upgrade kernels.&amp;quot;}}&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;
{{NOTE|Not all Thinkpad ECs support these charge control features. If you get the message &amp;quot;Operation not supported&amp;quot; when trying to cat for the status of a given parameter, it means your controller does not support that feature.}}&lt;br /&gt;
&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;
{{HINT|TPBattStat-Applet is a gnome applet for integrating battery balancing with a graphics and/or text display of both batteries in a panel. Battery balancing improves battery life by not leaving one battery empty while the other discharges. For the latest alpha release, see https://github.com/teleshoes/tpbattstat-applet}}&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: {{T400}}, {{T500}}, {{X60s}}, {{X61}}, {{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;
Tip: The &amp;lt;tt&amp;gt;thinkpad-acpi&amp;lt;/tt&amp;gt; module reports both the BIOS and EC firmware versions when it loads.&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;
&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;
&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}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1  || 0.41 ||   ||   || Machine types 7732, 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;
! {{T40}} 2373-72U&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||  0.40  || 3.23  || 1RHT71WW-3.04  ||&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;
! {{T410s}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cunk}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes|text=}} 4 || 0.40 || 1.14 || || Requires &amp;lt;tt&amp;gt;invert=4&amp;lt;/tt&amp;gt; accoding to &amp;lt;tt&amp;gt;hdaps-gl&amp;lt;/tt&amp;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;
! {{T510}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cno|text=}}  7 || 0.40 || 1.35 || 1.17 || ||&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;
! {{W500}} 4062-4EG&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} ||  0.40 || {{Cunk}} || {{Cunk}} ||&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}}  || {{Cno}} || {{Cyes}} || N/A || N/A || 0.40 || 3.02 || ||&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}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{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}} || {{Cyes}} || {{Cyes|text=}} 6 || 0.40 || 7NETB9WW (2.19) || 7MHT25WW-1.03 ||&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}} || {{Cyes}} || {{Cyes}} || {{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;
! {{X201}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 5 || 0.40 ||  || ECP:  || It said 6 here, but see [http://www.thinkwiki.org/wiki/Talk:Tp_smapi#Wrong_HDAPS_axis_orientation_for_x201 discussion page]&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;
! {{X220}} 4290-2GW&lt;br /&gt;
| {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || 0.40 || 8DET46WW (1.16 ) || &amp;quot;unknown&amp;quot; ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X220}} 4286-CTO&lt;br /&gt;
| {{Cno}} || {{Cyes}} || {{Cyes}} || {{Cno}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.41 || 8DET54WW (1.24 ) ||  {{Cunk}} || HDAPS works fine, don't know wich axis orientation thougth ||&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;
===See also===&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Tp_smapi#Workaround_for_Partially_Supported_Laptops&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Haswell&amp;diff=55787</id>
		<title>Haswell</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Haswell&amp;diff=55787"/>
		<updated>2014-08-05T10:24:30Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: add link to tick-tock explanation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haswell is an Intel processor microarchitecture used for example in Thinkpad {{X240}}. It is a &amp;quot;tock&amp;quot; in [http://en.wikipedia.org/wiki/Intel_Tick-Tock Intel Tick-Tock production cycle].&lt;br /&gt;
&lt;br /&gt;
[http://ark.intel.com/products/codename/42174/Haswell product page at Intel's website]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ivy_Bridge&amp;diff=55734</id>
		<title>Ivy Bridge</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ivy_Bridge&amp;diff=55734"/>
		<updated>2014-07-05T13:00:49Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: change shrink link to tick-tock link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ivy Bridge is an Intel processor microarchitecture used in Thinkpad {{X230}}, {{T430}}, {{T530}}.&lt;br /&gt;
It is a [http://en.wikipedia.org/wiki/Intel_Tick-Tock shrink] of [[Sandy Bridge]] microarchitecture.&lt;br /&gt;
Thinkpad models using this architecture are '''not''' supported by [[tp_smapi]], so you are limited to [[thinkpad-acpi]] + [[tpacpi-bat]] capabilities.&lt;br /&gt;
&lt;br /&gt;
[http://ark.intel.com/products/codename/29902/Ivy-Bridge product page at Intel's website]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ivy_Bridge&amp;diff=55733</id>
		<title>Ivy Bridge</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ivy_Bridge&amp;diff=55733"/>
		<updated>2014-07-05T12:55:59Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: add link to die shrink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ivy Bridge is an Intel processor microarchitecture used in Thinkpad {{X230}}, {{T430}}, {{T530}}.&lt;br /&gt;
It is a [http://en.wikipedia.org/wiki/Die_shrink die shrink] of [[Sandy Bridge]] microarchitecture.&lt;br /&gt;
Thinkpad models using this architecture are '''not''' supported by [[tp_smapi]], so you are limited to [[thinkpad-acpi]] + [[tpacpi-bat]] capabilities.&lt;br /&gt;
&lt;br /&gt;
[http://ark.intel.com/products/codename/29902/Ivy-Bridge product page at Intel's website]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Haswell&amp;diff=55732</id>
		<title>Haswell</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Haswell&amp;diff=55732"/>
		<updated>2014-07-05T12:53:04Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: create page of haswell microarch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haswell is an Intel processor microarchitecture used for example in Thinkpad {{X240}}.&lt;br /&gt;
&lt;br /&gt;
[http://ark.intel.com/products/codename/42174/Haswell product page at Intel's website]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55731</id>
		<title>Category:X240</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X240&amp;diff=55731"/>
		<updated>2014-07-05T12:50:40Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: add link to cpu microarch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following [[Haswell]] processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, {{key|End}} and {{key|Insert}} share the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file {{path|/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, End works without Fn).&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
{{cmdroot|udevadm hwdb --update}}&lt;br /&gt;
&lt;br /&gt;
(The &amp;lt;tt&amp;gt;keyboard:...&amp;lt;/tt&amp;gt; line matches {{path|/sys/devices/virtual/dmi/id/modalias}}, and the hex scancodes are found using {{cmdroot|evtest  /dev/input/by-path/platform-i8042-serio-0-event-kbd}} . )&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications (pdf)]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/#techspecs Specifications (web)]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tpacpi-bat&amp;diff=55730</id>
		<title>Tpacpi-bat</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tpacpi-bat&amp;diff=55730"/>
		<updated>2014-07-05T12:44:12Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: change capitalization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;tpacpi-bat is a script using acpi_call kernel module which allows one to set battery charge thresholds on new ThinkPad models not supported by [[tp_smapi]].&lt;br /&gt;
&lt;br /&gt;
===Project Homepage===&lt;br /&gt;
* acpi_call: https://github.com/mkottman/acpi_call&lt;br /&gt;
* tpacpi-bat: https://github.com/teleshoes/tpacpi-bat&lt;br /&gt;
* utility scripts: https://github.com/morgwai/tpbat-utils-acpi&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Ubuntu / LinuxMint====&lt;br /&gt;
You can use [https://launchpad.net/~morgwai/+archive/tpbat this PPA]&lt;br /&gt;
&lt;br /&gt;
====ArchLinux====&lt;br /&gt;
Packages are available for ArchLinux: https://aur.archlinux.org/packages.php?ID=54293&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
You need to build from source.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=55729</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=55729"/>
		<updated>2014-07-05T12:42:25Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: linkify intro&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;
If you are installing on a recent Thinkpad that has an [[Ivy Bridge]] processor ({{X230}}, {{T430}}, {{T530}}, etc.), tp_smapi will not work. You will be mostly limited to [[thinkpad-acpi]] capabilities. You can however set battery charge thresholds with [[tpacpi-bat]].&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, a newer version 0.41 is available in a fork at https://github.com/evgeni/tp_smapi which is also available in Debian&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;
&lt;br /&gt;
====Installation on Debian====&lt;br /&gt;
You can use 'dkms' on Debian 7 stable (wheezy) or oldstable (squeeze) (kernel &amp;gt;=2.6.32-5). (Note: If installation seems ineffective, confirm you have the linux-headers of your kernel installed, purge tp-smapi-dkms and reinstall.)&lt;br /&gt;
* {{cmdroot|aptitude install linux-headers tp-smapi-dkms}}&lt;br /&gt;
&lt;br /&gt;
=====Installation on Debian from source=====&lt;br /&gt;
Since Debian 5 (lenny) also the [http://packages.debian.org/tp-smapi packaged module source] is available.&lt;br /&gt;
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 Debian 5 (lenny)=====&lt;br /&gt;
In Debian 5 (lenny) are also the prebuilt modules for Debian kernels.&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;
====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;
{{HINT|This appears to be the ideal solution. A description of DKMS, from [http://linux.dell.com/projects.shtml#dkms Dell]: &amp;quot;DKMS stands for Dynamic Kernel Module Support. It is designed to create a framework where kernel dependent module source can reside so that it is very easy to rebuild modules as you upgrade kernels.&amp;quot;}}&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;
{{NOTE|Not all Thinkpad ECs support these charge control features. If you get the message &amp;quot;Operation not supported&amp;quot; when trying to cat for the status of a given parameter, it means your controller does not support that feature.}}&lt;br /&gt;
&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;
{{HINT|TPBattStat-Applet is a gnome applet for integrating battery balancing with a graphics and/or text display of both batteries in a panel. Battery balancing improves battery life by not leaving one battery empty while the other discharges. For the latest alpha release, see https://github.com/teleshoes/tpbattstat-applet}}&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: {{T400}}, {{T500}}, {{X60s}}, {{X61}}, {{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;
Tip: The &amp;lt;tt&amp;gt;thinkpad-acpi&amp;lt;/tt&amp;gt; module reports both the BIOS and EC firmware versions when it loads.&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;
&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;
&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}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1  || 0.41 ||   ||   || Machine types 7732, 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;
! {{T40}} 2373-72U&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||  0.40  || 3.23  || 1RHT71WW-3.04  ||&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;
! {{T410s}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cunk}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes|text=}} 4 || 0.40 || 1.14 || || Requires &amp;lt;tt&amp;gt;invert=4&amp;lt;/tt&amp;gt; accoding to &amp;lt;tt&amp;gt;hdaps-gl&amp;lt;/tt&amp;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;
! {{T510}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cno|text=}}  7 || 0.40 || 1.35 || 1.17 || ||&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;
! {{W500}} 4062-4EG&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} ||  0.40 || {{Cunk}} || {{Cunk}} ||&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}}  || {{Cno}} || {{Cyes}} || N/A || N/A || 0.40 || 3.02 || ||&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}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{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}} || {{Cyes}} || {{Cyes|text=}} 6 || 0.40 || 7NETB9WW (2.19) || 7MHT25WW-1.03 ||&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}} || {{Cyes}} || {{Cyes}} || {{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;
! {{X201}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 5 || 0.40 ||  || ECP:  || It said 6 here, but see [http://www.thinkwiki.org/wiki/Talk:Tp_smapi#Wrong_HDAPS_axis_orientation_for_x201 discussion page]&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;
! {{X220}} 4290-2GW&lt;br /&gt;
| {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || 0.40 || 8DET46WW (1.16 ) || &amp;quot;unknown&amp;quot; ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X220}} 4286-CTO&lt;br /&gt;
| {{Cno}} || {{Cyes}} || {{Cyes}} || {{Cno}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.41 || 8DET54WW (1.24 ) ||  {{Cunk}} || HDAPS works fine, don't know wich axis orientation thougth ||&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;
===See also===&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Tp_smapi#Workaround_for_Partially_Supported_Laptops&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ivy_Bridge&amp;diff=55728</id>
		<title>Ivy Bridge</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ivy_Bridge&amp;diff=55728"/>
		<updated>2014-07-05T12:36:51Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: create page of ivy bridge microarch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ivy Bridge is an Intel processor microarchitecture used in Thinkpad {{X230}}, {{T430}}, {{T530}}.&lt;br /&gt;
It is a &amp;quot;Die shrink&amp;quot; of [[Sandy Bridge]] microarchitecture.&lt;br /&gt;
Thinkpad models using this architecture are '''not''' supported by [[tp_smapi]], so you are limited to [[thinkpad-acpi]] + [[tpacpi-bat]] capabilities.&lt;br /&gt;
&lt;br /&gt;
[http://ark.intel.com/products/codename/29902/Ivy-Bridge product page at Intel's website]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X230&amp;diff=55727</id>
		<title>Category:X230</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X230&amp;diff=55727"/>
		<updated>2014-07-05T12:28:09Z</updated>

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

		<summary type="html">&lt;p&gt;Morgwai: add link to web specs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X240 ===&lt;br /&gt;
This page gives an overview of the ThinkPad X240 (machine types 20AL and 20AM) that is due to start selling at the end of october 2013.&lt;br /&gt;
Note: This information was collected from various sources and it does not yet contain the official specifications by Lenovo.&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
Dimensions:&lt;br /&gt;
* 305.5 mm x 208.12 mm x 20.3 mm&lt;br /&gt;
* Weight: 1.36 kg&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
*One of the following processors (all 15W TDP ultra low voltage):&lt;br /&gt;
** [http://ark.intel.com/products/76616/ Intel Core i7-4600U] (2.1 GHz / 3.3 GHz Turbo, 2 cores, HyperThreading, 4MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/76308/ Intel Core i5-4300U] (1.9 GHz / 2.9 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75459/ Intel Core i5-4200U] (1.6 GHz / 2.6 GHz Turbo, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
** [http://ark.intel.com/products/75107/ Intel Core i3-4010U] [1.7 GHz, 2 cores, HyperThreading, 3MB cache)&lt;br /&gt;
&lt;br /&gt;
* [[Intel HD4400 Graphics]] integrated into CPU&lt;br /&gt;
* Up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM) in a single socket&lt;br /&gt;
&lt;br /&gt;
* One of the following [[TFT display|TFT displays]]:&lt;br /&gt;
** 12.5&amp;quot; HD (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; HD IPS Touch (1366 x 768)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS (1920 x 1080)&lt;br /&gt;
** 12.5&amp;quot; FHD IPS Touch (1920 x 1080)&lt;br /&gt;
&lt;br /&gt;
* 2.5&amp;quot; × [[7mm hard drive bay]] with one of the following hard drives:&lt;br /&gt;
** HD&lt;br /&gt;
*** 320GB (7200 rpm) OPAL&lt;br /&gt;
*** 1TB (5400 rpm)&lt;br /&gt;
*** 500GB (7200 rpm)&lt;br /&gt;
** SSD&lt;br /&gt;
*** 128GB / 512GB SSD SATA3&lt;br /&gt;
*** Intel® 180GB SSD SATA3&lt;br /&gt;
*** 256GB SSD eDrive (OPAL 2.0)&lt;br /&gt;
* M.2 slot with, optionally, one of the following:&lt;br /&gt;
** 16GB SSD &lt;br /&gt;
** Ericsson N5321 WWAN &amp;quot;Integrated Mobile Broadband&amp;quot; - &lt;br /&gt;
** Gobi 5000 (Sierra Wireless EM7355) WWAN &amp;quot;Integrated Mobile Broadband&amp;quot;&lt;br /&gt;
* Display connectors&lt;br /&gt;
** Mini DisplayPort port with audio&lt;br /&gt;
** VGA port&lt;br /&gt;
* 3.5mm Headphone+Mic combo jack &lt;br /&gt;
* 2 x USB 3.0 ports, one of which is &amp;quot;Always on&amp;quot; for power&lt;br /&gt;
* 4-in-1 SD card reader (SD / SDHC / SDXC / MMC slot)&lt;br /&gt;
* Smart card reader (optional)&lt;br /&gt;
* Ethernet: Intel® 82577LM Gigabit (Hanksville)&lt;br /&gt;
* Wireless, one of the following:&lt;br /&gt;
** Intel Dual Band Wireless-AC 7260 (2x2, 802.11ac/a/b/g/n, BlueTooth 4.0)&lt;br /&gt;
** Intel Dual Band Wireless-N 7260 (2x2, 802.11abgn, BlueTooth 4.0) &lt;br /&gt;
* NFC Transmitter&lt;br /&gt;
* 720p HD [[Integrated camera]]&lt;br /&gt;
* Batteries:&lt;br /&gt;
** Internal (front) battery: 23.2Whr 3 cell Li-Polymer (optional)&lt;br /&gt;
** External (rear) battery: one of&lt;br /&gt;
*** 23.2Wh 3 cell Li-Polymer (Type 68)&lt;br /&gt;
*** 72Wh 6 cell Li-Ion (Type 68+)&lt;br /&gt;
** External battery can be swapped while running on the internal battery (&amp;quot;Power Bridge&amp;quot;)&lt;br /&gt;
* Kensington lock&lt;br /&gt;
* [[Integrated Fingerprint Reader]] (optional)&lt;br /&gt;
* VGA connector&lt;br /&gt;
* Compatible docking stations: &lt;br /&gt;
** [[ThinkPad Ultra Dock]]&lt;br /&gt;
** [[ThinkPad Pro Dock]]&lt;br /&gt;
** [[ThinkPad Basic Dock]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX240.jpg|ThinkPad X240|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== RAM upgradability ===&lt;br /&gt;
This model has a single SODIMM socket, which supports up to 8GB of RAM (PC3-12800 DDR3L SDRAM 1600MHz SODIMM). The CPU does not support more than 8GB of RAM per SODIMM module.&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
Any internal component replacement or upgrade (including hard disk and expansion cards) requires opening the back cover. Keyboard replacement requires full assembly and disassembly of the system board, and fresh thermal paste for the CPU heatsink.&lt;br /&gt;
&lt;br /&gt;
Opening the case involves two stages:&lt;br /&gt;
* Opening a handful of screws (these have tiny retainer rings made of transparent plastic; be careful not to drop them when removing the back cover).&lt;br /&gt;
* Carefully prying apart dozens of little fragile plastic latches. This requires a plastic case opening tool to avoid damage (a metal screwdriver will nick and scratch the plastic).&lt;br /&gt;
&lt;br /&gt;
=== Key mapping ===&lt;br /&gt;
This model has a 6-row keyboard, where the {{key|F1}} through {{key|F12}} share the same top-row physical keys with special functions keys (volume, brightness, etc.). By default, the top-row keys invoke the special functions, and require {{key|Fn}} keypress to invoke the usual {{key|F1}} through {{key|F12}} functions. To switch the role and have the top-row keys default to {{key|F1}} through {{key|F12}}, enable Fn-Lock mode (by pressing {{key|Fn}}+{{key|Esc}}).&lt;br /&gt;
&lt;br /&gt;
Moreover, {{key|End}} and {{key|Insert}} share the same physical key. When Fn-Lock is activated, the key default to {{key|Insert}}, and {{key|End}} is invoked as {{key|Fn}}+{{key|Insert}}, which many users find inconvenient. To switch the {{key|End}} and {{key|Insert}} functions, in modern Linux distribution, add the following in a new file {{path|/usr/lib/udev/hwdb.d/61-ThinkPad-X240-keyboard.hwdb}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ThinkPad X240: switch End and Insert keys (so that when Fn-Lock is enabled, End works without Fn).&lt;br /&gt;
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*&lt;br /&gt;
 KEYBOARD_KEY_d2=end&lt;br /&gt;
 KEYBOARD_KEY_cf=insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
{{cmdroot|udevadm hwdb --update}}&lt;br /&gt;
&lt;br /&gt;
(The &amp;lt;tt&amp;gt;keyboard:...&amp;lt;/tt&amp;gt; line matches {{path|/sys/devices/virtual/dmi/id/modalias}}, and the hex scancodes are found using {{cmdroot|evtest  /dev/input/by-path/platform-i8042-serio-0-event-kbd}} . )&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
==== Resources (by Lenovo) ====&lt;br /&gt;
* [http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS037578 Windows Drivers]&lt;br /&gt;
* [http://support.lenovo.com/de_DE/guides-and-manuals/detail.page?DocID=UM019141 Hardware maintenance manual]&lt;br /&gt;
* [http://shopap.lenovo.com/au/en/common/pdf/X240_DS_ANZ_lowres.PDF Specifications (pdf)]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/#techspecs Specifications (web)]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=UM019145 User Guide]&lt;br /&gt;
* [http://support.lenovo.com/en_US/detail.page?DocID=PD029323 System Service Parts]&lt;br /&gt;
&lt;br /&gt;
==== Other Documents ====&lt;br /&gt;
* [http://www.pcper.com/news/General-Tech/Lenovo-Launches-Premium-ThinkPad-X240-Business-Ultrabook PC Perspective's description]&lt;br /&gt;
* [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x240/ Description at Lenovo's online shop]&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-thinkpad-x240-sports-hd-screen-epic-battery-life Laptopmag.com]&lt;br /&gt;
* [http://www.youtube.com/watch?v=4cgaYQAOTN0 Mobile Geeks video presentation]&lt;br /&gt;
* [http://www.notebookcheck.com/Lenovo-stellt-neue-ThinkPad-T440-T440s-X240-sowie-S440-und-S540-vor.100679.0.html Article by notebookcheck.com in German]&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X230&amp;diff=55725</id>
		<title>Category:X230</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X230&amp;diff=55725"/>
		<updated>2014-07-05T10:50:29Z</updated>

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

		<summary type="html">&lt;p&gt;Morgwai: updated links to profiles&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.morgwai.pl/&lt;br /&gt;
&lt;br /&gt;
http://www.linkedin.com/in/morgwai&lt;br /&gt;
&lt;br /&gt;
https://launchpad.net/~morgwai&lt;br /&gt;
&lt;br /&gt;
https://github.com/morgwai&lt;br /&gt;
&lt;br /&gt;
http://morgwai.elance.com&lt;br /&gt;
&lt;br /&gt;
https://www.couchsurfing.org/people/morgwai&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tpacpi-bat&amp;diff=55653</id>
		<title>Tpacpi-bat</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tpacpi-bat&amp;diff=55653"/>
		<updated>2014-05-21T18:28:03Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: change order of home page links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;tpacpi-bat is a script using acpi_call kernel module which allows one to set battery charge thresholds on new ThinkPad models not supported by [[Tp_smapi]].&lt;br /&gt;
&lt;br /&gt;
===Project Homepage===&lt;br /&gt;
* acpi_call: https://github.com/mkottman/acpi_call&lt;br /&gt;
* tpacpi-bat: https://github.com/teleshoes/tpacpi-bat&lt;br /&gt;
* utility scripts: https://github.com/morgwai/tpbat-utils-acpi&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Ubuntu / LinuxMint====&lt;br /&gt;
You can use [https://launchpad.net/~morgwai/+archive/tpbat this PPA]&lt;br /&gt;
&lt;br /&gt;
====ArchLinux====&lt;br /&gt;
Packages are available for ArchLinux: https://aur.archlinux.org/packages.php?ID=54293&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
You need to build from source.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tpacpi-bat&amp;diff=55648</id>
		<title>Tpacpi-bat</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tpacpi-bat&amp;diff=55648"/>
		<updated>2014-05-20T12:12:12Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: link to utility scripts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;tpacpi-bat is a script using acpi_call kernel module which allows one to set battery charge thresholds on new ThinkPad models not supported by [[Tp_smapi]].&lt;br /&gt;
&lt;br /&gt;
===Project Homepage===&lt;br /&gt;
* tpacpi-bat: https://github.com/teleshoes/tpacpi-bat&lt;br /&gt;
* acpi_call: https://github.com/mkottman/acpi_call&lt;br /&gt;
* utility scripts: https://github.com/morgwai/tpbat-utils-acpi&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Ubuntu / LinuxMint====&lt;br /&gt;
You can use [https://launchpad.net/~morgwai/+archive/tpbat this PPA]&lt;br /&gt;
&lt;br /&gt;
====ArchLinux====&lt;br /&gt;
Packages are available for ArchLinux: https://aur.archlinux.org/packages.php?ID=54293&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
You need to build from source.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tpacpi-bat&amp;diff=55647</id>
		<title>Tpacpi-bat</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tpacpi-bat&amp;diff=55647"/>
		<updated>2014-05-20T12:07:31Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;tpacpi-bat is a script using acpi_call kernel module which allows one to set battery charge thresholds on new ThinkPad models not supported by [[Tp_smapi]].&lt;br /&gt;
&lt;br /&gt;
===Project Homepage===&lt;br /&gt;
* tpacpi-bat: https://github.com/teleshoes/tpacpi-bat&lt;br /&gt;
* acpi_call: https://github.com/mkottman/acpi_call&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Ubuntu / LinuxMint====&lt;br /&gt;
You can use [https://launchpad.net/~morgwai/+archive/tpbat this PPA]&lt;br /&gt;
&lt;br /&gt;
====ArchLinux====&lt;br /&gt;
Packages are available for ArchLinux: https://aur.archlinux.org/packages.php?ID=54293&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
You need to build from source.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=55646</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=55646"/>
		<updated>2014-05-20T12:07:03Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: add info and link to tpacpi-bat&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;
If you are installing on a recent Thinkpad that has an Ivy Bridge processor (X230, T430, T530, etc.), tp_smapi will not work. You will be mostly limited to thinkpad-acpi capabilities. You can however set battery charge thresholds with [[Tpacpi-bat]].&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, a newer version 0.41 is available in a fork at https://github.com/evgeni/tp_smapi which is also available in Debian&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;
&lt;br /&gt;
====Installation on Debian====&lt;br /&gt;
You can use 'dkms' on Debian 7 stable (wheezy) or oldstable (squeeze) (kernel &amp;gt;=2.6.32-5). (Note: If installation seems ineffective, confirm you have the linux-headers of your kernel installed, purge tp-smapi-dkms and reinstall.)&lt;br /&gt;
* {{cmdroot|aptitude install linux-headers tp-smapi-dkms}}&lt;br /&gt;
&lt;br /&gt;
=====Installation on Debian from source=====&lt;br /&gt;
Since Debian 5 (lenny) also the [http://packages.debian.org/tp-smapi packaged module source] is available.&lt;br /&gt;
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 Debian 5 (lenny)=====&lt;br /&gt;
In Debian 5 (lenny) are also the prebuilt modules for Debian kernels.&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;
====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;
{{HINT|This appears to be the ideal solution. A description of DKMS, from [http://linux.dell.com/projects.shtml#dkms Dell]: &amp;quot;DKMS stands for Dynamic Kernel Module Support. It is designed to create a framework where kernel dependent module source can reside so that it is very easy to rebuild modules as you upgrade kernels.&amp;quot;}}&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;
{{NOTE|Not all Thinkpad ECs support these charge control features. If you get the message &amp;quot;Operation not supported&amp;quot; when trying to cat for the status of a given parameter, it means your controller does not support that feature.}}&lt;br /&gt;
&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;
{{HINT|TPBattStat-Applet is a gnome applet for integrating battery balancing with a graphics and/or text display of both batteries in a panel. Battery balancing improves battery life by not leaving one battery empty while the other discharges. For the latest alpha release, see https://github.com/teleshoes/tpbattstat-applet}}&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: {{T400}}, {{T500}}, {{X60s}}, {{X61}}, {{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;
Tip: The &amp;lt;tt&amp;gt;thinkpad-acpi&amp;lt;/tt&amp;gt; module reports both the BIOS and EC firmware versions when it loads.&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;
&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;
&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}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cyes|text=}} 1  || 0.41 ||   ||   || Machine types 7732, 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;
! {{T40}} 2373-72U&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || N/A || N/A ||  0.40  || 3.23  || 1RHT71WW-3.04  ||&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;
! {{T410s}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cunk}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes|text=}} 4 || 0.40 || 1.14 || || Requires &amp;lt;tt&amp;gt;invert=4&amp;lt;/tt&amp;gt; accoding to &amp;lt;tt&amp;gt;hdaps-gl&amp;lt;/tt&amp;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;
! {{T510}}&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cyes}}  || {{Cno|text=}}  7 || 0.40 || 1.35 || 1.17 || ||&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;
! {{W500}} 4062-4EG&lt;br /&gt;
| {{Cyes}}  || {{Cyes}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} ||  0.40 || {{Cunk}} || {{Cunk}} ||&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}}  || {{Cno}} || {{Cyes}} || N/A || N/A || 0.40 || 3.02 || ||&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}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{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}} || {{Cyes}} || {{Cyes|text=}} 6 || 0.40 || 7NETB9WW (2.19) || 7MHT25WW-1.03 ||&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}} || {{Cyes}} || {{Cyes}} || {{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;
! {{X201}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 5 || 0.40 ||  || ECP:  || It said 6 here, but see [http://www.thinkwiki.org/wiki/Talk:Tp_smapi#Wrong_HDAPS_axis_orientation_for_x201 discussion page]&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;
! {{X220}} 4290-2GW&lt;br /&gt;
| {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || {{Cno}} || 0.40 || 8DET46WW (1.16 ) || &amp;quot;unknown&amp;quot; ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X220}} 4286-CTO&lt;br /&gt;
| {{Cno}} || {{Cyes}} || {{Cyes}} || {{Cno}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.41 || 8DET54WW (1.24 ) ||  {{Cunk}} || HDAPS works fine, don't know wich axis orientation thougth ||&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;
===See also===&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Tp_smapi#Workaround_for_Partially_Supported_Laptops&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_DVD_Burner_Ultrabay_Slim_Drive_II_(Serial_ATA)&amp;diff=50390</id>
		<title>ThinkPad DVD Burner Ultrabay Slim Drive II (Serial ATA)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_DVD_Burner_Ultrabay_Slim_Drive_II_(Serial_ATA)&amp;diff=50390"/>
		<updated>2011-01-30T12:57:47Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DVD burner for the {{T400s}}&lt;br /&gt;
&lt;br /&gt;
Lenovo P/N: 43N3229&lt;br /&gt;
&lt;br /&gt;
===External Links===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-73195 Lenovo product page]&lt;br /&gt;
* [http://www.thinkpads.com/2009/06/25/about-the-thinkpad-t400s-ultrabay-devices/ Thinkpads.com entry on the T400s' ultrabay]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Morgwai&amp;diff=50389</id>
		<title>User:Morgwai</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Morgwai&amp;diff=50389"/>
		<updated>2011-01-30T11:06:55Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: initial version: links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.google.com/profiles/morgwai&lt;br /&gt;
&lt;br /&gt;
http://www.linkedin.com/in/morgwai&lt;br /&gt;
&lt;br /&gt;
https://launchpad.net/~morgwai&lt;br /&gt;
&lt;br /&gt;
http://www.morgwai.pl/&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=50387</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=50387"/>
		<updated>2011-01-30T09:08:14Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
&lt;br /&gt;
[[File:UltraBaseX200.jpg|200px|center]]&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads, providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]] (supporting up to 2048x1536 according to Lenovo, tested up to 2048x1152)&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
** AC&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]] (supporting up to 2560x1600)&lt;br /&gt;
* Battery charging connector&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]] with [[Ultrabay_Devices#Ultrabay_Slim_Devices| one of the following devices]]&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
Positives:&lt;br /&gt;
* eases up portability of laptop&lt;br /&gt;
* provides digital video output&lt;br /&gt;
* provides option for optical drive&lt;br /&gt;
* allows effective use of second battery&lt;br /&gt;
* allows to connect 2 external monitors (one via DisplayPort, second via VGA)&lt;br /&gt;
Negatives:&lt;br /&gt;
* reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
* introduces some noise to VGA signal. This is something you should pay attention at when purchasing: we've got many of these ultrabases at my company and some of them introduce only a bit of noise while others much more.&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-70299 Product Overview]&lt;br /&gt;
&lt;br /&gt;
===Supported with the following ThinkPads===&lt;br /&gt;
* {{X200}}, {{X200s}}, {{X200_Tablet}}&lt;br /&gt;
* {{X201}}, {{X201i}}, {{X201s}}, {{X201 Tablet}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ultrabay_Devices&amp;diff=50386</id>
		<title>Ultrabay Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ultrabay_Devices&amp;diff=50386"/>
		<updated>2011-01-30T09:02:01Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Ultrabay Slim Devices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Note on spelling==&lt;br /&gt;
IBM originally spelled it &amp;quot;UltraBay&amp;quot; but the spelling for more recent products is &amp;quot;Ultrabay&amp;quot; with a small letter bee.&lt;br /&gt;
&lt;br /&gt;
==UltraBay (original) devices==&lt;br /&gt;
* [[Image:Icon20_floppy.png|Floppy Drive]] UltraBay 1.44MB FDD&lt;br /&gt;
* [[Image:Icon20_floppy.png|Floppy Drive]] [[UltraBay 2.88MB FDD]]&lt;br /&gt;
* [[Image:Icon20_hdd.png|HDD Adapter]] UltraBay HDD Adapter&lt;br /&gt;
* [[Image:Icon20_battery.png|Battery]] UltraBay Battery&lt;br /&gt;
* UltraBay Cellular Digital Packet Data (CDPD)&lt;br /&gt;
* UltraBay IBM Wireless Modem for ARDIS&lt;br /&gt;
* UltraBay TV Tuner&lt;br /&gt;
* UltraBay PCMCIA Cartridge&lt;br /&gt;
&lt;br /&gt;
==UltraBay &amp;quot;thick&amp;quot; devices==&lt;br /&gt;
* [[Image:Icon20_cdrom.png|CD-ROM Drive]] UltraBay CD-ROM Drive&lt;br /&gt;
&lt;br /&gt;
==UltraBay II devices==&lt;br /&gt;
*[[Image:Icon20_floppy.png|Floppy Drive]] [[UltraBay II Floppy Drive]]&lt;br /&gt;
*[[Image:Icon20_cdrom.png|CD-ROM Drive]] [[UltraBay II CD-ROM Drive]]&lt;br /&gt;
*[[Image:Icon20_dvd.png|DVD-ROM Drive]] [[UltraBay II DVD Drive]]&lt;br /&gt;
*[[Image:Icon20_hdd.png|HDD Adapter]] [[UltraBay II HDD adapter tray]]&lt;br /&gt;
*[[Image:Icon20_ultrabay.png|Adapter]] [[Ultrabay Drive Adapter for Ultrabay II]]&lt;br /&gt;
&lt;br /&gt;
==UltraBay FX devices==&lt;br /&gt;
*[[Image:Icon20_cdrom.png|CD-ROM Drive]]/[[Image:Icon20_floppy.png|Floppy Drive]] [[UltraBay FX CD-ROM/Floppy Drive]]&lt;br /&gt;
*[[Image:Icon20_dvd.png|DVD-ROM Drive]]/[[Image:Icon20_floppy.png|Floppy Drive]] [[UltraBay FX DVD/Floppy Drive]]&lt;br /&gt;
*[[Image:Icon20_dvd.png|DVD-ROM Drive]]/[[Image:Icon20_floppy.png|Floppy Drive]] [[UltraBay FX 4x DVD/Floppy Drive]]&lt;br /&gt;
*[[Image:Icon20_hdd.png|HDD Adapter]] [[UltraBay FX HDD Adapter]]&lt;br /&gt;
*[[Image:Icon20_battery.png|Battery]] [[UltraBay FX Battery]]&lt;br /&gt;
&lt;br /&gt;
==UltraslimBay devices==&lt;br /&gt;
*[[Image:Icon20_floppy.png|Floppy Drive]] [[UltraslimBay Floppy Drive]]&lt;br /&gt;
*[[Image:Icon20_ls120.png|SuperDisk LS-120 Drive]] [[UltraslimBay SuperDisk LS-120 Drive]]&lt;br /&gt;
*[[Image:Icon20_zip100.png|100 MB ZIP Drive]] [[UltraslimBay ZIP 100MB Drive]]&lt;br /&gt;
*[[Image:Icon20_cdrom.png|CD-ROM Drive]] [[UltraslimBay CD-ROM Drive]]&lt;br /&gt;
*[[Image:Icon20_dvd.png|DVD-ROM Drive]] [[UltraslimBay 2x DVD-ROM Drive]]&lt;br /&gt;
*[[Image:Icon20_dvd.png|DVD-ROM Drive]] [[UltraslimBay 6x-2x DVD-ROM Drive]]&lt;br /&gt;
*[[Image:Icon20_hdd.png|HDD Adapter]] [[UltraslimBay HDD Adapter]]&lt;br /&gt;
*[[Image:Icon20_battery.png|Battery]] [[UltraslimBay Battery]]&lt;br /&gt;
&lt;br /&gt;
==Ultrabay 2000 devices==&lt;br /&gt;
*Ultrabay 2000 Travel Bezel&lt;br /&gt;
*[[Image:Icon20_floppy.png|Floppy Drive]] [[Ultrabay 2000 Floppy Drive]]&lt;br /&gt;
*[[Image:Icon20_ls120.png|SuperDisk LS-120 Drive]] [[Ultrabay 2000 SuperDisk (LS-120) Drive]]&lt;br /&gt;
*[[Image:Icon20_ls120.png|SuperDisk LS-120 Drive]] [[Ultrabay 2000 2x SuperDisk (LS-120) Drive]]&lt;br /&gt;
*[[Image:Icon20_ls240.png|SuperDisk LS-240 Drive]] [[Ultrabay 2000 SuperDisk (LS-240) Drive]]&lt;br /&gt;
*[[Image:Icon20_zip250.png|250 MB ZIP Drive]] [[Ultrabay 2000 Zip 250MB Drive]]&lt;br /&gt;
*[[Image:Icon20_cdrom.png|CD-ROM Drive]] [[Ultrabay 2000 CD-ROM Drive]]&lt;br /&gt;
*[[Image:Icon20_cdrw.png|CD-RW Drive]] [[Ultrabay 2000 20x-4x-4x CD-RW Drive]]&lt;br /&gt;
*[[Image:Icon20_cdrw.png|CD-RW Drive]] [[Ultrabay 2000 24x-8x-4x CD-RW Drive]]&lt;br /&gt;
*[[Image:Icon20_dvd.png|DVD-ROM Drive]] [[Ultrabay 2000 6x-2x DVD Drive]]&lt;br /&gt;
*[[Image:Icon20_dvd.png|DVD-ROM Drive]] [[Ultrabay 2000 8x-3x DVD Drive]]&lt;br /&gt;
*[[Image:Icon20_dvd.png|DVD-ROM Drive]] [[Ultrabay 2000 Ultralight 8x DVD-ROM Drive]]&lt;br /&gt;
*[[Image:Icon20_combo.png|CD-RW/DVD-ROM Combo Drive]] [[Ultrabay 2000 CD-RW DVD Combo I Drive]]&lt;br /&gt;
*[[Image:Icon20_combo.png|CD-RW/DVD-ROM Combo Drive]] [[Ultrabay 2000 8x8x24x/8x CD-RW/DVD Combo II Drive]]&lt;br /&gt;
*[[Image:Icon20_combo.png|CD-RW/DVD-ROM Combo Drive]] [[Ultrabay 2000 CD RW/DVD ROM Combo III Drive]]&lt;br /&gt;
*[[Image:Icon20_combo.png|CD-RW/DVD-ROM Combo Drive]] [[Ultrabay 2000 CD-RW/DVD ROM Combo IV Drive]]&lt;br /&gt;
*[[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Ultrabay 2000 Multi-Burner]]&lt;br /&gt;
*[[Image:Icon20_hdd.png|HDD Adapter]] [[Ultrabay 2000 HDD Adapter]]&lt;br /&gt;
*[[Image:Icon20_ultrabayslim.png|Adapter]] [[Ultrabay Slim Drive Adapter for Ultrabay 2000]]&lt;br /&gt;
*[[Image:Icon20_ultrabayenh.png|Adapter]] [[Ultrabay Enhanced Drive Adapter for Ultrabay 2000]]&lt;br /&gt;
*[[Image:Icon20_battery.png|Battery]] [[Ultrabay 2000 Battery]]&lt;br /&gt;
&lt;br /&gt;
==Ultrabay Plus Devices==&lt;br /&gt;
*[[Ultrabay Plus Device Carrier]]&lt;br /&gt;
**[[Ultrabay Plus Numeric Keypad]]&lt;br /&gt;
**[[Ultrabay Plus Cradle for the WorkPad C500]]&lt;br /&gt;
&lt;br /&gt;
==Ultrabay Slim Devices==&lt;br /&gt;
* [[Image:Icon20_dvd.png|DVD-ROM Drive]] [[Ultrabay Slim DVD-ROM Drive]]&lt;br /&gt;
* [[Image:Icon20_combo.png|CD-RW/DVD-ROM Combo Drive]] [[Ultrabay Slim CD-RW/DVD-ROM Combo Drive]]&lt;br /&gt;
* [[Image:Icon20_combo.png|CD-RW/DVD-ROM Combo Drive]] [[Ultrabay Slim CD-RW/DVD-ROM Combo II Drive]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Ultrabay Slim Multi-Burner Drive]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Ultrabay Slim Multi-Burner Plus Drive]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Ultrabay Slim Super Multi-Burner Drive]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[ThinkPad DVD Burner Ultrabay Slim Drive II (Serial ATA)]]&lt;br /&gt;
* [[Image:Icon20_hdd.png|HDD Adapter]] [[Ultrabay Slim HDD Adapter]]&lt;br /&gt;
* [[Image:Icon20_hdd.png|HDD Adapter]] [[Ultrabay Slim SATA HDD Adapter]]&lt;br /&gt;
* [[Image:Icon20_battery.png|Battery]] [[Ultrabay Slim Battery]]&lt;br /&gt;
* [[Image:Icon20_battery.png|Battery]] [[Advanced Ultrabay Battery]]&lt;br /&gt;
* [[Image:Icon20_battery.png|Battery]] [[Advanced Ultrabay Battery III]]&lt;br /&gt;
* [[Ultrabay Slim Serial/Parallel Port Adapter]]&lt;br /&gt;
* [[Serial Ultrabay Slim Blu-ray Burner]]&lt;br /&gt;
* [[Serial Ultrabay Slim Blu-ray Burner II]]&lt;br /&gt;
&lt;br /&gt;
==Ultrabay Enhanced Devices==&lt;br /&gt;
* [[Image:Icon20_cdrom.png|CD-ROM Drive]] [[Ultrabay Enhanced CD-ROM Drive]]&lt;br /&gt;
* [[Image:Icon20_combo.png|CD-RW/DVD-ROM Combo Drive]] [[Ultrabay Enhanced CD-RW/DVD-ROM Combo Drive]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Ultrabay Enhanced Multi-Burner Drive]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Ultrabay Enhanced Multi-Burner Plus Drive]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Ultrabay Enhanced Super Multi-Burner Drive]]&lt;br /&gt;
&lt;br /&gt;
==Serial Ultrabay Slim Devices==&lt;br /&gt;
* [[Image:Icon20_dvd.png|DVD-ROM Drive]] [[Serial Ultrabay Slim DVD-ROM Drive]]&lt;br /&gt;
* [[Image:Icon20_combo.png|CD-RW/DVD-ROM Combo Drive]] [[Serial Ultrabay Slim CD-RW/DVD combo Drive]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Serial Ultrabay Slim DVD Burner]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Serial Ultrabay Slim DVD Burner II]]&lt;br /&gt;
* [[Serial Ultrabay Slim Blu-ray Burner]]&lt;br /&gt;
* [[Serial Ultrabay Slim Blu-ray Burner II]]&lt;br /&gt;
* [[Image:Icon20_hdd.png|HDD Adapter]] [[Ultrabay Slim SATA HDD Adapter II]]&lt;br /&gt;
* [[Image:Icon20_hdd.png|HDD Adapter]] [[Ultrabay Slim ThinkPad Serial Hard Drive Bay Adapter III]]&lt;br /&gt;
&lt;br /&gt;
==Serial Ultrabay Enhanced Devices==&lt;br /&gt;
* [[Image:Icon20_dvd.png|DVD-ROM Drive]] [[Serial Ultrabay Enhanced DVD-ROM Drive]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Serial UltraBay Enhanced DVD Burner]]&lt;br /&gt;
* [[Image:Icon20_multiburner.png|DVD Multi-Burner Drive]] [[Serial UltraBay Enhanced DVD Burner II]]&lt;br /&gt;
* [[Serial Ultrabay Enhanced Blu-ray Reader and DVD Burner]]&lt;br /&gt;
* [[Serial UltraBay Enhanced Blu-ray Burner]]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=50385</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=50385"/>
		<updated>2011-01-30T08:59:54Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Lenovo X200 UltraBase */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
&lt;br /&gt;
[[File:UltraBaseX200.jpg|200px|center]]&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads, providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]] (supporting up to 2048x1536 according to Lenovo, tested up to 2048x1152)&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
** AC&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]] (supporting up to 2560x1600)&lt;br /&gt;
* Battery charging connector&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]] with one of the following:&lt;br /&gt;
** None (empty)&lt;br /&gt;
**[[Serial Ultrabay Slim DVD-ROM Drive]]&lt;br /&gt;
**[[Serial Ultrabay Slim CD-RW/DVD combo Drive]]&lt;br /&gt;
**[[Serial Ultrabay Slim DVD Burner]]&lt;br /&gt;
**[[Serial Ultrabay Slim Blu-ray Burner]]&lt;br /&gt;
**[[Serial Ultrabay Slim Blu-ray Burner II]]&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* key lock to lock laptop to a docking station&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
Positives:&lt;br /&gt;
* eases up portability of laptop&lt;br /&gt;
* provides digital video output&lt;br /&gt;
* provides option for optical drive&lt;br /&gt;
* allows effective use of second battery&lt;br /&gt;
* allows to connect 2 external monitors (one via DisplayPort, second via VGA)&lt;br /&gt;
Negatives:&lt;br /&gt;
* reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
* introduces some noise to VGA signal. This is something you should pay attention at when purchasing: we've got many of these ultrabases at my company and some of them introduce only a bit of noise while others much more.&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-70299 Product Overview]&lt;br /&gt;
&lt;br /&gt;
===Supported with the following ThinkPads===&lt;br /&gt;
* {{X200}}, {{X200s}}, {{X200_Tablet}}&lt;br /&gt;
* {{X201}}, {{X201i}}, {{X201s}}, {{X201 Tablet}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=44835</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=44835"/>
		<updated>2009-11-24T17:50:31Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Pros &amp;amp; Cons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads ({{X200}}, {{X200s}}, {{X200_Tablet}}) providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]] (supporting up to 2048x1536 according to Lenovo, tested up to 1920x1200)&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
** AC&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]] (supporting up to 2560x1600 according to Lenovo, tested up to 1920x1200)&lt;br /&gt;
* Battery charging slot&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]]&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* key lock to lock laptop to a docking station&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
Positives:&lt;br /&gt;
* eases up portability of laptop&lt;br /&gt;
* provides digital video output&lt;br /&gt;
* provides option for optical drive&lt;br /&gt;
* allows effective use of second battery&lt;br /&gt;
* allows to connect 2 external monitors (one via DisplayPort, second via VGA)&lt;br /&gt;
Negatives:&lt;br /&gt;
* reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
* introduces some noise to VGA signal. This is something you should pat attention at when purchasing: we've got many of these ultrabases at my company and some of them introduce only a bit of it while others much more.&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44768</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44768"/>
		<updated>2009-11-16T06:52:45Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I didn't have time to test all features yet. Please update if you have info on features marked as untested.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Updating from Jaunty:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
The middle Scrollbutton won't work out-of-the-box, you can solve it with the help of the following Link: http://samiux.wordpress.com/2008/11/02/howto-lenovo-thinkpad-scroll-button-on-ubuntu-810/&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: works fine&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: works fine&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
I couldn't make hdaps module to use [[Tp smapi]]. It seems module-assistant does not build patched version of hdaps module from tp-smapi-source package.&amp;lt;br&amp;gt;&lt;br /&gt;
Nevertheless hdaps seems to work fine with thinkpad_ec. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Works fine when hibernating when undocked. Not tested when docked.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok. System even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* Undocking doesn't umount automatically devices connected to docking station (usb pendrives, optical drive) so you must remember to do this manually. See https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/433682&lt;br /&gt;
* Suspending or hibernating when docked is not a good idea as system will probably get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44764</id>
		<title>Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44764"/>
		<updated>2009-11-14T03:03:09Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
==Overview==&lt;br /&gt;
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].&lt;br /&gt;
&lt;br /&gt;
Upgrading from 8.10 may not be a painless process.  There are regressions (at least with the X200Tablet).&lt;br /&gt;
&lt;br /&gt;
==Saving Windows==&lt;br /&gt;
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP).  If you were planning to use Windows, the first thing you would do is to back this up.  Even if you don't plan on using Windows, you may wish to back it up anyway.  See other installation instructions for details.  You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows).  But backing up Windows may be the hardest part of the entire installation process.&lt;br /&gt;
&lt;br /&gt;
==Install Ubuntu==&lt;br /&gt;
If you have an UltraBase, the CD install should just work.&lt;br /&gt;
&lt;br /&gt;
==Resolve Issues==&lt;br /&gt;
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working.  Joys of monoculture.&lt;br /&gt;
&lt;br /&gt;
=== Bugzilla ===&lt;br /&gt;
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon &amp;quot;X200&amp;quot;, and misses more)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad X200''] (small - but misses many)&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Display - now just works.&lt;br /&gt;
* Trackpoint - now just works?  For customizing the calibration, see ''link''.&lt;br /&gt;
* Wireless (Intel 5100 and 5300) - both seem to just work.&lt;br /&gt;
* Bluetooth - works, but see [https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913].&lt;br /&gt;
* Broadband (AT&amp;amp;T) - ''untested''.&lt;br /&gt;
* Camera - seems to just work (install &amp;lt;tt&amp;gt;cheese&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Sound - now seems to just work&lt;br /&gt;
** Speakers - now seem to just work&lt;br /&gt;
** Headphones - just work, both laptop and base.&lt;br /&gt;
** Mic - all just work: built-in, laptop external, and base external.&lt;br /&gt;
* UltraBase VGA - just works&lt;br /&gt;
* HDAPS and drive parking - works with [[Tp smapi]], needs proper parameters for axis orientation. See [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html] also&lt;br /&gt;
* HDAPS as tilt sensor - as above&lt;br /&gt;
* Temperature sensors - mostly work, for HDD hddtemp is needed&lt;br /&gt;
* UltraBase DisplayPort - works with karmic kernel &amp;gt;= 2.6.31 and xserver-xorg-video-intel &amp;gt;= 2.7, see [[X200 UltraBase#DisplayPort_support_in_Linux]]&lt;br /&gt;
&lt;br /&gt;
'''untested'''&lt;br /&gt;
* Skype&lt;br /&gt;
* Power Mgmt&lt;br /&gt;
* HDD clicking.  (but I haven't heard a click (on AC) since install).&lt;br /&gt;
* GPS (AT&amp;amp;T)&lt;br /&gt;
* Fingerprint reader&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Internal speakers don't seem to be working out of the box.  See the 8.10 doc.&lt;br /&gt;
&lt;br /&gt;
Update: Tested 2009 Jul 19, internal speakers worked fine with vanilla install.&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).&lt;br /&gt;
&lt;br /&gt;
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].&lt;br /&gt;
&lt;br /&gt;
Update: suspending&amp;amp;resuming works 9 of 10 times for me.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
&lt;br /&gt;
* Docking works ok, the only minor issue is that it doesn't switch automatically to saved external monitor display configuration.&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking usually switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* Undocking doesn't umount automatically devices connected to docking station [https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/433682] (usb pendrives, optical drive) so you must remember to do this manually.&lt;br /&gt;
* suspending or hibernating when docked is not a good idea as system will get confused when resumed not docked also.&lt;br /&gt;
* undocking sometimes makes gnome panel freeze and consume 100% cpu [https://bugs.launchpad.net/ubuntu/+source/gnome-panel/+bug/427619]&lt;br /&gt;
&lt;br /&gt;
===X200 Tablet===&lt;br /&gt;
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].&lt;br /&gt;
&lt;br /&gt;
* Wacom stylus - seems to just work.&lt;br /&gt;
* Wacom touch - &amp;quot;works&amp;quot;, but is still miscalibrated, so the cursor position doesn't match your finger position.&lt;br /&gt;
* Screen rotation - the old scripts don't work in 9.04.&lt;br /&gt;
&lt;br /&gt;
====Wacom touch calibration====&lt;br /&gt;
There are old instruction for adjusting the calibration ... somewhere.  They will have to be dug up and modified for the new, bare, &amp;quot;works&amp;quot; out of the box xorg.conf.&lt;br /&gt;
&lt;br /&gt;
====Screen rotation====&lt;br /&gt;
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04.  But it looks like a modified script might work?&lt;br /&gt;
&lt;br /&gt;
this one works for me on fedora 11 - after i added some option to xorg.conf (http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus)&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 orientation=$1&lt;br /&gt;
 orientation=${orientation:=normal}&lt;br /&gt;
 wacomDevs=&amp;quot;stylus cursor eraser touch&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 function setWacomDev {&lt;br /&gt;
 	for dev in ${wacomDevs}&lt;br /&gt;
 	do&lt;br /&gt;
 		xsetwacom set ${dev} $*&lt;br /&gt;
 	done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$orientation&amp;quot; in&lt;br /&gt;
 	left)	xrandr --output LVDS1 --rotate left&lt;br /&gt;
 		setWacomDev Rotate 2&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	right)	xrandr --output LVDS1 --rotate right&lt;br /&gt;
 		setWacomDev Rotate 1&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	inverted) xrandr --output LVDS1 --rotate inverted&lt;br /&gt;
 		setWacomDev Rotate 3&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 	*)	xrandr --output LVDS1 --rotate normal&lt;br /&gt;
 		setWacomDev Rotate 0&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44763</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44763"/>
		<updated>2009-11-14T02:58:10Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* HDAPS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet. Please update if you have info on features marked as untested.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Updating from Jaunty:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
The middle Scrollbutton won't work out-of-the-box, you can solve it with the help of the following Link: http://samiux.wordpress.com/2008/11/02/howto-lenovo-thinkpad-scroll-button-on-ubuntu-810/&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: works fine&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: works fine&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
I couldn't make hdaps module to use [[Tp smapi]]. It seems module-assistant does not build patched version of hdaps module from tp-smapi-source package.&amp;lt;br&amp;gt;&lt;br /&gt;
Nevertheless hdaps seems to work fine with thinkpad_ec. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Works fine when hibernating when undocked. Not tested when docked.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok. System even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* Undocking doesn't umount automatically devices connected to docking station (usb pendrives, optical drive) so you must remember to do this manually. See https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/433682&lt;br /&gt;
* Suspending or hibernating when docked is not a good idea as system will probably get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44762</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44762"/>
		<updated>2009-11-14T02:53:38Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Sensors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet. Please update if you have info on features marked as untested.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Updating from Jaunty:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
The middle Scrollbutton won't work out-of-the-box, you can solve it with the help of the following Link: http://samiux.wordpress.com/2008/11/02/howto-lenovo-thinkpad-scroll-button-on-ubuntu-810/&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: works fine&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: works fine&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
works with [[Tp smapi]]. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Works fine when hibernating when undocked. Not tested when docked.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok. System even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* Undocking doesn't umount automatically devices connected to docking station (usb pendrives, optical drive) so you must remember to do this manually. See https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/433682&lt;br /&gt;
* Suspending or hibernating when docked is not a good idea as system will probably get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44761</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44761"/>
		<updated>2009-11-14T02:53:03Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet. Please update if you have info on features marked as untested.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Updating from Jaunty:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
The middle Scrollbutton won't work out-of-the-box, you can solve it with the help of the following Link: http://samiux.wordpress.com/2008/11/02/howto-lenovo-thinkpad-scroll-button-on-ubuntu-810/&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: works fine&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: works fine&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
works with [[Tp smapi]]. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Works fine when hibernating when undocked. Not tested when docked.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok. System even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* Undocking doesn't umount automatically devices connected to docking station (usb pendrives, optical drive) so you must remember to do this manually. See https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/433682&lt;br /&gt;
* Suspending or hibernating when docked is not a good idea as system will probably get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44729</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44729"/>
		<updated>2009-11-10T02:04:26Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet. Please update if you have info on features marked as untested.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Updating from Jaunty:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
works fine&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: not tested&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300 so the above probably also works&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: not tested&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
works with [[Tp smapi]]. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Works fine when hibernating when undocked. Not tested when docked.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok. System even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* Undocking doesn't umount automatically devices connected to docking station (usb pendrives, optical drive) so you must remember to do this manually. See https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/433682&lt;br /&gt;
* Suspending or hibernating when docked is not a good idea as system will probably get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44728</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44728"/>
		<updated>2009-11-10T02:02:34Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Docking and Undocking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet. Please update if you have info on features marked as untested.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
works fine&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: not tested&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300 so the above probably also works&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: not tested&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
works with [[Tp smapi]]. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Works fine when hibernating when undocked. Not tested when docked.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok. System even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* Undocking doesn't umount automatically devices connected to docking station (usb pendrives, optical drive) so you must remember to do this manually. See https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/433682&lt;br /&gt;
* Suspending or hibernating when docked is not a good idea as system will probably get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44727</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44727"/>
		<updated>2009-11-10T01:58:28Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Hibernating */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet. Please update if you have info on features marked as untested.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
works fine&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: not tested&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300 so the above probably also works&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: not tested&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
works with [[Tp smapi]]. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Works fine when hibernating when undocked. Not tested when docked.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok, system even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* automatic umounting of devices connected to docking station was not tested yet.&lt;br /&gt;
* suspending or hibernating when docked is not a good idea as system will get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44684</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44684"/>
		<updated>2009-11-05T15:38:34Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet. Please update if you have info on features marked as untested.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
works fine&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: not tested&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300 so the above probably also works&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: not tested&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
works with [[Tp smapi]]. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Not tested&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok, system even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* automatic umounting of devices connected to docking station was not tested yet.&lt;br /&gt;
* suspending or hibernating when docked is not a good idea as system will get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44683</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44683"/>
		<updated>2009-11-05T15:36:58Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet. Please update if you have info on features marks as untested.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
works fine&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: not tested&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300 so the above probably also works&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: not tested&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
works with [[Tp smapi]]. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Not tested&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok, system even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* automatic umounting of devices connected to docking station was not tested yet.&lt;br /&gt;
* suspending or hibernating when docked is not a good idea as system will get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44682</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44682"/>
		<updated>2009-11-05T15:35:42Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
works fine&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: not tested&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300 so the above probably also works&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: not tested&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
works with [[Tp smapi]]. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Not tested&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok, system even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* automatic umounting of devices connected to docking station was not tested yet.&lt;br /&gt;
* suspending or hibernating when docked is not a good idea as system will get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44681</id>
		<title>Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.10_(Karmic_Koala)_on_a_ThinkPad_X200&amp;diff=44681"/>
		<updated>2009-11-05T15:35:07Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: â†Created page with 'Category: X200 Just brief info for now as I haven't time to test all features yet.  ==Installation==  * Installing from desktop cd:&amp;lt;br&amp;gt;not tested  * Installing from al...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
Just brief info for now as I haven't time to test all features yet.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
* Installing from desktop cd:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
* Installing from alternate cd:&amp;lt;br&amp;gt;works fine with optical drive in [[X200 UltraBase]], just follow the steps&lt;br /&gt;
&lt;br /&gt;
* Installing via wubi:&amp;lt;br&amp;gt;not tested&lt;br /&gt;
&lt;br /&gt;
==Features support==&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
* internal LCD: works fine&lt;br /&gt;
* external VGA: not tested&lt;br /&gt;
* external VGA via ultraBase: works fine&lt;br /&gt;
* DisplayPort via ultraBase: works fine&lt;br /&gt;
&lt;br /&gt;
===Trackpoint===&lt;br /&gt;
works fine&lt;br /&gt;
&lt;br /&gt;
===WiFi===&lt;br /&gt;
*Intel 5100: not tested&lt;br /&gt;
*Intel 5300: not tested&lt;br /&gt;
*Intel 5350: works fine, kernel sees it as 5300 so the above probably also works&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
generally works, but see https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913&lt;br /&gt;
&lt;br /&gt;
===3G===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
===webcam===&lt;br /&gt;
not tested&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* internal speakers: not tested&lt;br /&gt;
* headphones: not tested&lt;br /&gt;
* headphones via ultrabase: works fine&lt;br /&gt;
* internal mic: works fine&lt;br /&gt;
* mic via ultrabase: not tested&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
&lt;br /&gt;
===HDAPS===&lt;br /&gt;
works with [[Tp smapi]]. After installing hdapsd edit /etc/default/hdapsd make sure START is set to &amp;quot;yes&amp;quot;, DISK to &amp;quot;sda&amp;quot; and adjust SENSITIVITY (50 works ok for most people).&lt;br /&gt;
&lt;br /&gt;
===Suspending===&lt;br /&gt;
Works fine as long as you don't suspend when docked.&lt;br /&gt;
&lt;br /&gt;
===Hibernating===&lt;br /&gt;
Not tested&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
* Docking works ok, system even tries to switch automatically to saved external monitor display configuration and sometimes it even does the smart thing&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking and/or pressing &amp;quot;pre-undock&amp;quot; button switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* automatic umounting of devices connected to docking station was not tested yet.&lt;br /&gt;
* suspending or hibernating when docked is not a good idea as system will get confused when resumed not docked also.&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X200&amp;diff=44680</id>
		<title>Installation instructions for the ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X200&amp;diff=44680"/>
		<updated>2009-11-05T15:01:43Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Installation Instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
*[[Installing Fedora on an X200]]&lt;br /&gt;
*[[Installing Debian on an X200]]&lt;br /&gt;
*[[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]]&lt;br /&gt;
*[[Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200]]&lt;br /&gt;
*[[Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200]]&lt;br /&gt;
*[[Installing Debian Sid on an X200]]&lt;br /&gt;
*[[Installing Arch on an X200]]&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44676</id>
		<title>Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44676"/>
		<updated>2009-11-04T01:35:25Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Docking and Undocking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
==Overview==&lt;br /&gt;
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].&lt;br /&gt;
&lt;br /&gt;
Upgrading from 8.10 may not be a painless process.  There are regressions (at least with the X200Tablet).&lt;br /&gt;
&lt;br /&gt;
==Saving Windows==&lt;br /&gt;
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP).  If you were planning to use Windows, the first thing you would do is to back this up.  Even if you don't plan on using Windows, you may wish to back it up anyway.  See other installation instructions for details.  You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows).  But backing up Windows may be the hardest part of the entire installation process.&lt;br /&gt;
&lt;br /&gt;
==Install Ubuntu==&lt;br /&gt;
If you have an UltraBase, the CD install should just work.&lt;br /&gt;
&lt;br /&gt;
==Resolve Issues==&lt;br /&gt;
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working.  Joys of monoculture.&lt;br /&gt;
&lt;br /&gt;
=== Bugzilla ===&lt;br /&gt;
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon &amp;quot;X200&amp;quot;, and misses more)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad X200''] (small - but misses many)&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Display - now just works.&lt;br /&gt;
* Trackpoint - now just works?  For customizing the calibration, see ''link''.&lt;br /&gt;
* Wireless (Intel 5100 and 5300) - both seem to just work.&lt;br /&gt;
* Bluetooth - works, but see [https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913].&lt;br /&gt;
* Broadband (AT&amp;amp;T) - ''untested''.&lt;br /&gt;
* Camera - seems to just work (install &amp;lt;tt&amp;gt;cheese&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Sound - now seems to just work&lt;br /&gt;
** Speakers - now seem to just work&lt;br /&gt;
** Headphones - just work, both laptop and base.&lt;br /&gt;
** Mic - all just work: built-in, laptop external, and base external.&lt;br /&gt;
* UltraBase VGA - just works&lt;br /&gt;
* HDAPS and drive parking - works with [[Tp smapi]], needs proper parameters for axis orientation. See [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html] also&lt;br /&gt;
* HDAPS as tilt sensor - as above&lt;br /&gt;
* Temperature sensors - mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
* UltraBase DisplayPort - works with karmic kernel &amp;gt;= 2.6.31 and xserver-xorg-video-intel &amp;gt;= 2.7, see [[X200 UltraBase#DisplayPort_support_in_Linux]]&lt;br /&gt;
&lt;br /&gt;
'''untested'''&lt;br /&gt;
* Skype&lt;br /&gt;
* Power Mgmt&lt;br /&gt;
* HDD clicking.  (but I haven't heard a click (on AC) since install).&lt;br /&gt;
* GPS (AT&amp;amp;T)&lt;br /&gt;
* Fingerprint reader&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Internal speakers don't seem to be working out of the box.  See the 8.10 doc.&lt;br /&gt;
&lt;br /&gt;
Update: Tested 2009 Jul 19, internal speakers worked fine with vanilla install.&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).&lt;br /&gt;
&lt;br /&gt;
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].&lt;br /&gt;
&lt;br /&gt;
Update: suspending&amp;amp;resuming works 9 of 10 times for me.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
&lt;br /&gt;
* Docking works ok, the only minor issue is that it doesn't switch automatically to saved external monitor display configuration.&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking usually switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* Undocking doesn't umount automatically devices connected to docking station [https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/433682] (usb pendrives, optical drive) so you must remember to do this manually.&lt;br /&gt;
* suspending or hibernating when docked is not a good idea as system will get confused when resumed not docked also.&lt;br /&gt;
* undocking sometimes makes gnome panel freeze and consume 100% cpu [https://bugs.launchpad.net/ubuntu/+source/gnome-panel/+bug/427619]&lt;br /&gt;
&lt;br /&gt;
===X200 Tablet===&lt;br /&gt;
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].&lt;br /&gt;
&lt;br /&gt;
* Wacom stylus - seems to just work.&lt;br /&gt;
* Wacom touch - &amp;quot;works&amp;quot;, but is still miscalibrated, so the cursor position doesn't match your finger position.&lt;br /&gt;
* Screen rotation - the old scripts don't work in 9.04.&lt;br /&gt;
&lt;br /&gt;
====Wacom touch calibration====&lt;br /&gt;
There are old instruction for adjusting the calibration ... somewhere.  They will have to be dug up and modified for the new, bare, &amp;quot;works&amp;quot; out of the box xorg.conf.&lt;br /&gt;
&lt;br /&gt;
====Screen rotation====&lt;br /&gt;
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04.  But it looks like a modified script might work?&lt;br /&gt;
&lt;br /&gt;
this one works for me on fedora 11 - after i added some option to xorg.conf (http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus)&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 orientation=$1&lt;br /&gt;
 orientation=${orientation:=normal}&lt;br /&gt;
 wacomDevs=&amp;quot;stylus cursor eraser touch&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 function setWacomDev {&lt;br /&gt;
 	for dev in ${wacomDevs}&lt;br /&gt;
 	do&lt;br /&gt;
 		xsetwacom set ${dev} $*&lt;br /&gt;
 	done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$orientation&amp;quot; in&lt;br /&gt;
 	left)	xrandr --output LVDS1 --rotate left&lt;br /&gt;
 		setWacomDev Rotate 2&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	right)	xrandr --output LVDS1 --rotate right&lt;br /&gt;
 		setWacomDev Rotate 1&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	inverted) xrandr --output LVDS1 --rotate inverted&lt;br /&gt;
 		setWacomDev Rotate 3&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 	*)	xrandr --output LVDS1 --rotate normal&lt;br /&gt;
 		setWacomDev Rotate 0&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44675</id>
		<title>Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44675"/>
		<updated>2009-11-04T01:13:10Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: docking and undocking&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
==Overview==&lt;br /&gt;
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].&lt;br /&gt;
&lt;br /&gt;
Upgrading from 8.10 may not be a painless process.  There are regressions (at least with the X200Tablet).&lt;br /&gt;
&lt;br /&gt;
==Saving Windows==&lt;br /&gt;
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP).  If you were planning to use Windows, the first thing you would do is to back this up.  Even if you don't plan on using Windows, you may wish to back it up anyway.  See other installation instructions for details.  You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows).  But backing up Windows may be the hardest part of the entire installation process.&lt;br /&gt;
&lt;br /&gt;
==Install Ubuntu==&lt;br /&gt;
If you have an UltraBase, the CD install should just work.&lt;br /&gt;
&lt;br /&gt;
==Resolve Issues==&lt;br /&gt;
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working.  Joys of monoculture.&lt;br /&gt;
&lt;br /&gt;
=== Bugzilla ===&lt;br /&gt;
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon &amp;quot;X200&amp;quot;, and misses more)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad X200''] (small - but misses many)&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Display - now just works.&lt;br /&gt;
* Trackpoint - now just works?  For customizing the calibration, see ''link''.&lt;br /&gt;
* Wireless (Intel 5100 and 5300) - both seem to just work.&lt;br /&gt;
* Bluetooth - works, but see [https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913].&lt;br /&gt;
* Broadband (AT&amp;amp;T) - ''untested''.&lt;br /&gt;
* Camera - seems to just work (install &amp;lt;tt&amp;gt;cheese&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Sound - now seems to just work&lt;br /&gt;
** Speakers - now seem to just work&lt;br /&gt;
** Headphones - just work, both laptop and base.&lt;br /&gt;
** Mic - all just work: built-in, laptop external, and base external.&lt;br /&gt;
* UltraBase VGA - just works&lt;br /&gt;
* HDAPS and drive parking - works with [[Tp smapi]], needs proper parameters for axis orientation. See [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html] also&lt;br /&gt;
* HDAPS as tilt sensor - as above&lt;br /&gt;
* Temperature sensors - mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
* UltraBase DisplayPort - works with karmic kernel &amp;gt;= 2.6.31 and xserver-xorg-video-intel &amp;gt;= 2.7, see [[X200 UltraBase#DisplayPort_support_in_Linux]]&lt;br /&gt;
&lt;br /&gt;
'''untested'''&lt;br /&gt;
* Skype&lt;br /&gt;
* Power Mgmt&lt;br /&gt;
* HDD clicking.  (but I haven't heard a click (on AC) since install).&lt;br /&gt;
* GPS (AT&amp;amp;T)&lt;br /&gt;
* Fingerprint reader&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Internal speakers don't seem to be working out of the box.  See the 8.10 doc.&lt;br /&gt;
&lt;br /&gt;
Update: Tested 2009 Jul 19, internal speakers worked fine with vanilla install.&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).&lt;br /&gt;
&lt;br /&gt;
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].&lt;br /&gt;
&lt;br /&gt;
Update: suspending&amp;amp;resuming works 9 of 10 times for me.&lt;br /&gt;
&lt;br /&gt;
===Docking and Undocking===&lt;br /&gt;
&lt;br /&gt;
* Docking works ok, the only minor issue is that it doesn't switch automatically to saved external monitor display configuration.&lt;br /&gt;
* Before undocking you must always press &amp;quot;pre-undock&amp;quot; button on the left side of docking station and wait until green arrow allows you to proceed. Otherwise system will start to beep at you and it will probably get confused.&lt;br /&gt;
* Undocking usually switches automatically display to internal LCD only so you don't have to worry about it.&lt;br /&gt;
* Undocking doesn't umount automatically devices connected to docking station [https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/433682] (usb pendrives, optical drive) so you must remember to do this manually.&lt;br /&gt;
* suspending or hibernating when docked is not a good idea as system will get confused when resumed not docked also.&lt;br /&gt;
&lt;br /&gt;
===X200 Tablet===&lt;br /&gt;
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].&lt;br /&gt;
&lt;br /&gt;
* Wacom stylus - seems to just work.&lt;br /&gt;
* Wacom touch - &amp;quot;works&amp;quot;, but is still miscalibrated, so the cursor position doesn't match your finger position.&lt;br /&gt;
* Screen rotation - the old scripts don't work in 9.04.&lt;br /&gt;
&lt;br /&gt;
====Wacom touch calibration====&lt;br /&gt;
There are old instruction for adjusting the calibration ... somewhere.  They will have to be dug up and modified for the new, bare, &amp;quot;works&amp;quot; out of the box xorg.conf.&lt;br /&gt;
&lt;br /&gt;
====Screen rotation====&lt;br /&gt;
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04.  But it looks like a modified script might work?&lt;br /&gt;
&lt;br /&gt;
this one works for me on fedora 11 - after i added some option to xorg.conf (http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus)&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 orientation=$1&lt;br /&gt;
 orientation=${orientation:=normal}&lt;br /&gt;
 wacomDevs=&amp;quot;stylus cursor eraser touch&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 function setWacomDev {&lt;br /&gt;
 	for dev in ${wacomDevs}&lt;br /&gt;
 	do&lt;br /&gt;
 		xsetwacom set ${dev} $*&lt;br /&gt;
 	done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$orientation&amp;quot; in&lt;br /&gt;
 	left)	xrandr --output LVDS1 --rotate left&lt;br /&gt;
 		setWacomDev Rotate 2&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	right)	xrandr --output LVDS1 --rotate right&lt;br /&gt;
 		setWacomDev Rotate 1&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	inverted) xrandr --output LVDS1 --rotate inverted&lt;br /&gt;
 		setWacomDev Rotate 3&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 	*)	xrandr --output LVDS1 --rotate normal&lt;br /&gt;
 		setWacomDev Rotate 0&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44633</id>
		<title>Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44633"/>
		<updated>2009-11-01T01:19:42Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Suspend and Hibernate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
==Overview==&lt;br /&gt;
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].&lt;br /&gt;
&lt;br /&gt;
Upgrading from 8.10 may not be a painless process.  There are regressions (at least with the X200Tablet).&lt;br /&gt;
&lt;br /&gt;
==Saving Windows==&lt;br /&gt;
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP).  If you were planning to use Windows, the first thing you would do is to back this up.  Even if you don't plan on using Windows, you may wish to back it up anyway.  See other installation instructions for details.  You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows).  But backing up Windows may be the hardest part of the entire installation process.&lt;br /&gt;
&lt;br /&gt;
==Install Ubuntu==&lt;br /&gt;
If you have an UltraBase, the CD install should just work.&lt;br /&gt;
&lt;br /&gt;
==Resolve Issues==&lt;br /&gt;
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working.  Joys of monoculture.&lt;br /&gt;
&lt;br /&gt;
=== Bugzilla ===&lt;br /&gt;
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon &amp;quot;X200&amp;quot;, and misses more)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad X200''] (small - but misses many)&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Display - now just works.&lt;br /&gt;
* Trackpoint - now just works?  For customizing the calibration, see ''link''.&lt;br /&gt;
* Wireless (Intel 5100 and 5300) - both seem to just work.&lt;br /&gt;
* Bluetooth - works, but see [https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913].&lt;br /&gt;
* Broadband (AT&amp;amp;T) - ''untested''.&lt;br /&gt;
* Camera - seems to just work (install &amp;lt;tt&amp;gt;cheese&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Sound - now seems to just work&lt;br /&gt;
** Speakers - now seem to just work&lt;br /&gt;
** Headphones - just work, both laptop and base.&lt;br /&gt;
** Mic - all just work: built-in, laptop external, and base external.&lt;br /&gt;
* UltraBase VGA - just works&lt;br /&gt;
* HDAPS and drive parking - works with [[Tp smapi]], needs proper parameters for axis orientation. See [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html] also&lt;br /&gt;
* HDAPS as tilt sensor - as above&lt;br /&gt;
* Temperature sensors - mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
* UltraBase DisplayPort - works with karmic kernel &amp;gt;= 2.6.31 and xserver-xorg-video-intel &amp;gt;= 2.7, see [[X200 UltraBase#DisplayPort_support_in_Linux]]&lt;br /&gt;
&lt;br /&gt;
'''untested'''&lt;br /&gt;
* Skype&lt;br /&gt;
* Power Mgmt&lt;br /&gt;
* HDD clicking.  (but I haven't heard a click (on AC) since install).&lt;br /&gt;
* GPS (AT&amp;amp;T)&lt;br /&gt;
* Fingerprint reader&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Internal speakers don't seem to be working out of the box.  See the 8.10 doc.&lt;br /&gt;
&lt;br /&gt;
Update: Tested 2009 Jul 19, internal speakers worked fine with vanilla install.&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).&lt;br /&gt;
&lt;br /&gt;
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].&lt;br /&gt;
&lt;br /&gt;
Update: suspending&amp;amp;resuming works 9 of 10 times for me.&lt;br /&gt;
&lt;br /&gt;
===X200 Tablet===&lt;br /&gt;
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].&lt;br /&gt;
&lt;br /&gt;
* Wacom stylus - seems to just work.&lt;br /&gt;
* Wacom touch - &amp;quot;works&amp;quot;, but is still miscalibrated, so the cursor position doesn't match your finger position.&lt;br /&gt;
* Screen rotation - the old scripts don't work in 9.04.&lt;br /&gt;
&lt;br /&gt;
====Wacom touch calibration====&lt;br /&gt;
There are old instruction for adjusting the calibration ... somewhere.  They will have to be dug up and modified for the new, bare, &amp;quot;works&amp;quot; out of the box xorg.conf.&lt;br /&gt;
&lt;br /&gt;
====Screen rotation====&lt;br /&gt;
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04.  But it looks like a modified script might work?&lt;br /&gt;
&lt;br /&gt;
this one works for me on fedora 11 - after i added some option to xorg.conf (http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus)&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 orientation=$1&lt;br /&gt;
 orientation=${orientation:=normal}&lt;br /&gt;
 wacomDevs=&amp;quot;stylus cursor eraser touch&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 function setWacomDev {&lt;br /&gt;
 	for dev in ${wacomDevs}&lt;br /&gt;
 	do&lt;br /&gt;
 		xsetwacom set ${dev} $*&lt;br /&gt;
 	done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$orientation&amp;quot; in&lt;br /&gt;
 	left)	xrandr --output LVDS1 --rotate left&lt;br /&gt;
 		setWacomDev Rotate 2&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	right)	xrandr --output LVDS1 --rotate right&lt;br /&gt;
 		setWacomDev Rotate 1&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	inverted) xrandr --output LVDS1 --rotate inverted&lt;br /&gt;
 		setWacomDev Rotate 3&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 	*)	xrandr --output LVDS1 --rotate normal&lt;br /&gt;
 		setWacomDev Rotate 0&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44632</id>
		<title>Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44632"/>
		<updated>2009-11-01T01:18:19Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
==Overview==&lt;br /&gt;
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].&lt;br /&gt;
&lt;br /&gt;
Upgrading from 8.10 may not be a painless process.  There are regressions (at least with the X200Tablet).&lt;br /&gt;
&lt;br /&gt;
==Saving Windows==&lt;br /&gt;
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP).  If you were planning to use Windows, the first thing you would do is to back this up.  Even if you don't plan on using Windows, you may wish to back it up anyway.  See other installation instructions for details.  You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows).  But backing up Windows may be the hardest part of the entire installation process.&lt;br /&gt;
&lt;br /&gt;
==Install Ubuntu==&lt;br /&gt;
If you have an UltraBase, the CD install should just work.&lt;br /&gt;
&lt;br /&gt;
==Resolve Issues==&lt;br /&gt;
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working.  Joys of monoculture.&lt;br /&gt;
&lt;br /&gt;
=== Bugzilla ===&lt;br /&gt;
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon &amp;quot;X200&amp;quot;, and misses more)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad X200''] (small - but misses many)&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Display - now just works.&lt;br /&gt;
* Trackpoint - now just works?  For customizing the calibration, see ''link''.&lt;br /&gt;
* Wireless (Intel 5100 and 5300) - both seem to just work.&lt;br /&gt;
* Bluetooth - works, but see [https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/381913].&lt;br /&gt;
* Broadband (AT&amp;amp;T) - ''untested''.&lt;br /&gt;
* Camera - seems to just work (install &amp;lt;tt&amp;gt;cheese&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Sound - now seems to just work&lt;br /&gt;
** Speakers - now seem to just work&lt;br /&gt;
** Headphones - just work, both laptop and base.&lt;br /&gt;
** Mic - all just work: built-in, laptop external, and base external.&lt;br /&gt;
* UltraBase VGA - just works&lt;br /&gt;
* HDAPS and drive parking - works with [[Tp smapi]], needs proper parameters for axis orientation. See [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html] also&lt;br /&gt;
* HDAPS as tilt sensor - as above&lt;br /&gt;
* Temperature sensors - mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
* UltraBase DisplayPort - works with karmic kernel &amp;gt;= 2.6.31 and xserver-xorg-video-intel &amp;gt;= 2.7, see [[X200 UltraBase#DisplayPort_support_in_Linux]]&lt;br /&gt;
&lt;br /&gt;
'''untested'''&lt;br /&gt;
* Skype&lt;br /&gt;
* Power Mgmt&lt;br /&gt;
* HDD clicking.  (but I haven't heard a click (on AC) since install).&lt;br /&gt;
* GPS (AT&amp;amp;T)&lt;br /&gt;
* Fingerprint reader&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Internal speakers don't seem to be working out of the box.  See the 8.10 doc.&lt;br /&gt;
&lt;br /&gt;
Update: Tested 2009 Jul 19, internal speakers worked fine with vanilla install.&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).&lt;br /&gt;
&lt;br /&gt;
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].&lt;br /&gt;
&lt;br /&gt;
===X200 Tablet===&lt;br /&gt;
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].&lt;br /&gt;
&lt;br /&gt;
* Wacom stylus - seems to just work.&lt;br /&gt;
* Wacom touch - &amp;quot;works&amp;quot;, but is still miscalibrated, so the cursor position doesn't match your finger position.&lt;br /&gt;
* Screen rotation - the old scripts don't work in 9.04.&lt;br /&gt;
&lt;br /&gt;
====Wacom touch calibration====&lt;br /&gt;
There are old instruction for adjusting the calibration ... somewhere.  They will have to be dug up and modified for the new, bare, &amp;quot;works&amp;quot; out of the box xorg.conf.&lt;br /&gt;
&lt;br /&gt;
====Screen rotation====&lt;br /&gt;
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04.  But it looks like a modified script might work?&lt;br /&gt;
&lt;br /&gt;
this one works for me on fedora 11 - after i added some option to xorg.conf (http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus)&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 orientation=$1&lt;br /&gt;
 orientation=${orientation:=normal}&lt;br /&gt;
 wacomDevs=&amp;quot;stylus cursor eraser touch&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 function setWacomDev {&lt;br /&gt;
 	for dev in ${wacomDevs}&lt;br /&gt;
 	do&lt;br /&gt;
 		xsetwacom set ${dev} $*&lt;br /&gt;
 	done&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$orientation&amp;quot; in&lt;br /&gt;
 	left)	xrandr --output LVDS1 --rotate left&lt;br /&gt;
 		setWacomDev Rotate 2&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	right)	xrandr --output LVDS1 --rotate right&lt;br /&gt;
 		setWacomDev Rotate 1&lt;br /&gt;
 		setWacomDev BottomX 21200&lt;br /&gt;
 		;;&lt;br /&gt;
 	inverted) xrandr --output LVDS1 --rotate inverted&lt;br /&gt;
 		setWacomDev Rotate 3&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 	*)	xrandr --output LVDS1 --rotate normal&lt;br /&gt;
 		setWacomDev Rotate 0&lt;br /&gt;
 		setWacomDev TopX 0&lt;br /&gt;
 		setWacomDev TopY 0&lt;br /&gt;
 		;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=44508</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=44508"/>
		<updated>2009-10-17T17:02:12Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads ({{X200}}, {{X200s}}, {{X200_Tablet}}) providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]] (supporting up to 2048x1536 according to Lenovo, tested up to 1920x1200)&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
** AC&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]] (supporting up to 2560x1600 according to Lenovo, tested up to 1920x1200)&lt;br /&gt;
* Battery charging slot&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]]&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* key lock to lock laptop to a docking station&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: eases up portability of laptop, provides digital video output, provides option for optical drive, allows effective use of second battery, allows to connect 2 external monitors (one via DisplayPort, second via VGA)&lt;br /&gt;
* Negatives: reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=44466</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=44466"/>
		<updated>2009-10-07T16:30:55Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads ({{X200}}, {{X200s}}, {{X200_Tablet}}) providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]] (supporting up to 2048x1536 according to Lenovo, tested up to 1920x1200)&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
** AC&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]] (supporting up to 2560x1600 according to Lenovo, tested up to 1920x1200)&lt;br /&gt;
* Battery slot&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]]&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* key lock to lock laptop to a docking station&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: eases up portability of laptop, provides digital video output, provides option for optical drive, allows effective use of second battery, allows to connect 2 external monitors (one via DisplayPort, second via VGA)&lt;br /&gt;
* Negatives: reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=44465</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=44465"/>
		<updated>2009-10-07T15:28:06Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Pros &amp;amp; Cons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads ({{X200}}, {{X200s}}, {{X200_Tablet}}) providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]]&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
** AC&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]]&lt;br /&gt;
* Battery slot&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]]&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* key lock to lock laptop to a docking station&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: eases up portability of laptop, provides digital video output, provides option for optical drive, allows effective use of second battery, allows to connect 2 external monitors (one via DisplayPort, second via VGA)&lt;br /&gt;
* Negatives: reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44067</id>
		<title>Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=44067"/>
		<updated>2009-09-07T18:50:22Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
==Overview==&lt;br /&gt;
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].&lt;br /&gt;
&lt;br /&gt;
Upgrading from 8.10 may not be a painless process.  There are regressions (at least with the X200Tablet).&lt;br /&gt;
&lt;br /&gt;
==Saving Windows==&lt;br /&gt;
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP).  If you were planning to use Windows, the first thing you would do is to back this up.  Even if you don't plan on using Windows, you may wish to back it up anyway.  See other installation instructions for details.  You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows).  But backing up Windows may be the hardest part of the entire installation process.&lt;br /&gt;
&lt;br /&gt;
==Install Ubuntu==&lt;br /&gt;
If you have an UltraBase, the CD install should just work.&lt;br /&gt;
&lt;br /&gt;
==Resolve Issues==&lt;br /&gt;
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working.  Joys of monoculture.&lt;br /&gt;
&lt;br /&gt;
=== Bugzilla ===&lt;br /&gt;
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon &amp;quot;X200&amp;quot;, and misses more)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad X200''] (small - but misses many)&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Display - now just works.&lt;br /&gt;
* Trackpoint - now just works?  For customizing the calibration, see ''link''.&lt;br /&gt;
* Wireless (Intel 5100 and 5300) - both seem to just work.&lt;br /&gt;
* Bluetooth - ''untested''.&lt;br /&gt;
* Broadband (AT&amp;amp;T) - ''untested''.&lt;br /&gt;
* Camera - seems to just work (install &amp;lt;tt&amp;gt;cheese&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Sound - now seems to just work&lt;br /&gt;
** Speakers - now seem to just work&lt;br /&gt;
** Headphones - just work, both laptop and base.&lt;br /&gt;
** Mic - all just work: built-in, laptop external, and base external.&lt;br /&gt;
* UltraBase VGA - just works&lt;br /&gt;
* HDAPS and drive parking - works with [[Tp smapi]], needs proper parameters for axis orientation. See [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html] also&lt;br /&gt;
* HDAPS as tilt sensor - as above&lt;br /&gt;
* Temperature sensors - mostly work, [[Tp smapi]] adds more readable sensor names, for HDD hddtemp is needed&lt;br /&gt;
* UltraBase DisplayPort - works with karmic kernel &amp;gt;= 2.6.31 and xserver-xorg-video-intel &amp;gt;= 2.7, see [[X200 UltraBase#DisplayPort_support_in_Linux]]&lt;br /&gt;
&lt;br /&gt;
'''untested'''&lt;br /&gt;
* Skype&lt;br /&gt;
* Power Mgmt&lt;br /&gt;
* HDD clicking.  (but I haven't heard a click (on AC) since install).&lt;br /&gt;
* GPS (AT&amp;amp;T)&lt;br /&gt;
* Fingerprint reader&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Internal speakers don't seem to be working out of the box.  See the 8.10 doc.&lt;br /&gt;
&lt;br /&gt;
Update: Tested 2009 Jul 19, internal speakers worked fine with vanilla install.&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).&lt;br /&gt;
&lt;br /&gt;
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].&lt;br /&gt;
&lt;br /&gt;
===X200 Tablet===&lt;br /&gt;
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].&lt;br /&gt;
&lt;br /&gt;
* Wacom stylus - seems to just work.&lt;br /&gt;
* Wacom touch - &amp;quot;works&amp;quot;, but is still miscalibrated, so the cursor position doesn't match your finger position.&lt;br /&gt;
* Screen rotation - the old scripts don't work in 9.04.&lt;br /&gt;
&lt;br /&gt;
====Wacom touch calibration====&lt;br /&gt;
There are old instruction for adjusting the calibration ... somewhere.  They will have to be dug up and modified for the new, bare, &amp;quot;works&amp;quot; out of the box xorg.conf.&lt;br /&gt;
&lt;br /&gt;
====Screen rotation====&lt;br /&gt;
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04.  But it looks like a modified script might work?&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=43882</id>
		<title>Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=43882"/>
		<updated>2009-08-11T19:35:37Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
==Overview==&lt;br /&gt;
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].&lt;br /&gt;
&lt;br /&gt;
Upgrading from 8.10 may not be a painless process.  There are regressions (at least with the X200Tablet).&lt;br /&gt;
&lt;br /&gt;
==Saving Windows==&lt;br /&gt;
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP).  If you were planning to use Windows, the first thing you would do is to back this up.  Even if you don't plan on using Windows, you may wish to back it up anyway.  See other installation instructions for details.  You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows).  But backing up Windows may be the hardest part of the entire installation process.&lt;br /&gt;
&lt;br /&gt;
==Install Ubuntu==&lt;br /&gt;
If you have an UltraBase, the CD install should just work.&lt;br /&gt;
&lt;br /&gt;
==Resolve Issues==&lt;br /&gt;
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working.  Joys of monoculture.&lt;br /&gt;
&lt;br /&gt;
=== Bugzilla ===&lt;br /&gt;
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon &amp;quot;X200&amp;quot;, and misses more)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad X200''] (small - but misses many)&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Display - now just works.&lt;br /&gt;
* Trackpoint - now just works?  For customizing the calibration, see ''link''.&lt;br /&gt;
* Wireless (Intel 5100 and 5300) - both seem to just work.&lt;br /&gt;
* Bluetooth - ''untested''.&lt;br /&gt;
* Broadband (AT&amp;amp;T) - ''untested''.&lt;br /&gt;
* Camera - seems to just work (install &amp;lt;tt&amp;gt;cheese&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Sound - now seems to just work&lt;br /&gt;
** Speakers - now seem to just work&lt;br /&gt;
** Headphones - just work, both laptop and base.&lt;br /&gt;
** Mic - all just work: built-in, laptop external, and base external.&lt;br /&gt;
* UltraBase VGA - just works&lt;br /&gt;
* HDAPS and drive parking - works with [[Tp smapi]], needs proper parameters for axis orientation. See [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html] also&lt;br /&gt;
* HDAPS as tilt sensor - as above&lt;br /&gt;
* Temperature sensors - mostly work, for HDD hddtemp is needed&lt;br /&gt;
* UltraBase DisplayPort - works with karmic kernel &amp;gt;= 2.6.31 and xserver-xorg-video-intel &amp;gt;= 2.7, see [[X200 UltraBase#DisplayPort_support_in_Linux]]&lt;br /&gt;
&lt;br /&gt;
'''untested'''&lt;br /&gt;
* Skype&lt;br /&gt;
* Power Mgmt&lt;br /&gt;
* HDD clicking.  (but I haven't heard a click (on AC) since install).&lt;br /&gt;
* GPS (AT&amp;amp;T)&lt;br /&gt;
* Fingerprint reader&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Internal speakers don't seem to be working out of the box.  See the 8.10 doc.&lt;br /&gt;
&lt;br /&gt;
Update: Tested 2009 Jul 19, internal speakers worked fine with vanilla install.&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).&lt;br /&gt;
&lt;br /&gt;
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].&lt;br /&gt;
&lt;br /&gt;
===X200 Tablet===&lt;br /&gt;
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].&lt;br /&gt;
&lt;br /&gt;
* Wacom stylus - seems to just work.&lt;br /&gt;
* Wacom touch - &amp;quot;works&amp;quot;, but is still miscalibrated, so the cursor position doesn't match your finger position.&lt;br /&gt;
* Screen rotation - the old scripts don't work in 9.04.&lt;br /&gt;
&lt;br /&gt;
====Wacom touch calibration====&lt;br /&gt;
There are old instruction for adjusting the calibration ... somewhere.  They will have to be dug up and modified for the new, bare, &amp;quot;works&amp;quot; out of the box xorg.conf.&lt;br /&gt;
&lt;br /&gt;
====Screen rotation====&lt;br /&gt;
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04.  But it looks like a modified script might work?&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=43881</id>
		<title>Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&amp;diff=43881"/>
		<updated>2009-08-11T19:34:20Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X200]]&lt;br /&gt;
==Overview==&lt;br /&gt;
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].&lt;br /&gt;
&lt;br /&gt;
Upgrading from 8.10 may not be a painless process.  There are regressions (at least with the X200Tablet).&lt;br /&gt;
&lt;br /&gt;
==Saving Windows==&lt;br /&gt;
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP).  If you were planning to use Windows, the first thing you would do is to back this up.  Even if you don't plan on using Windows, you may wish to back it up anyway.  See other installation instructions for details.  You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows).  But backing up Windows may be the hardest part of the entire installation process.&lt;br /&gt;
&lt;br /&gt;
==Install Ubuntu==&lt;br /&gt;
If you have an UltraBase, the CD install should just work.&lt;br /&gt;
&lt;br /&gt;
==Resolve Issues==&lt;br /&gt;
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working.  Joys of monoculture.&lt;br /&gt;
&lt;br /&gt;
=== Bugzilla ===&lt;br /&gt;
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon &amp;quot;X200&amp;quot;, and misses more)&lt;br /&gt;
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&amp;amp;orderby=-importance&amp;amp;search=Search&amp;amp;field.status%3Alist=NEW&amp;amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;amp;field.status%3Alist=CONFIRMED&amp;amp;field.status%3Alist=TRIAGED&amp;amp;field.status%3Alist=INPROGRESS&amp;amp;field.status%3Alist=FIXCOMMITTED&amp;amp;field.assignee=&amp;amp;field.bug_reporter=&amp;amp;field.omit_dupes=on&amp;amp;field.has_patch=&amp;amp;field.has_no_package= search: ''thinkpad X200''] (small - but misses many)&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Display - now just works.&lt;br /&gt;
* Trackpoint - now just works?  For customizing the calibration, see ''link''.&lt;br /&gt;
* Wireless (Intel 5100 and 5300) - both seem to just work.&lt;br /&gt;
* Bluetooth - ''untested''.&lt;br /&gt;
* Broadband (AT&amp;amp;T) - ''untested''.&lt;br /&gt;
* Camera - seems to just work (install &amp;lt;tt&amp;gt;cheese&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Sound - now seems to just work&lt;br /&gt;
** Speakers - now seem to just work&lt;br /&gt;
** Headphones - just work, both laptop and base.&lt;br /&gt;
** Mic - all just work: built-in, laptop external, and base external.&lt;br /&gt;
* UltraBase VGA - just works&lt;br /&gt;
* HDAPS and drive parking - works with [[Tp smapi]], needs proper parameters for axis orientation. See [http://meandmyubuntu.blogspot.com/2009/05/getting-hdasp-to-work-on-jaunty.html] also&lt;br /&gt;
* HDAPS as tilt sensor - as above&lt;br /&gt;
* Temperature sensors - mainly work, for HDD hddtemp is needed&lt;br /&gt;
* UltraBase DisplayPort - works with karmic kernel &amp;gt;= 2.6.31 and xserver-xorg-video-intel &amp;gt;= 2.7, see [[X200 UltraBase#DisplayPort_support_in_Linux]]&lt;br /&gt;
&lt;br /&gt;
'''untested'''&lt;br /&gt;
* Skype&lt;br /&gt;
* Power Mgmt&lt;br /&gt;
* HDD clicking.  (but I haven't heard a click (on AC) since install).&lt;br /&gt;
* GPS (AT&amp;amp;T)&lt;br /&gt;
* Fingerprint reader&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Internal speakers don't seem to be working out of the box.  See the 8.10 doc.&lt;br /&gt;
&lt;br /&gt;
Update: Tested 2009 Jul 19, internal speakers worked fine with vanilla install.&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).&lt;br /&gt;
&lt;br /&gt;
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].&lt;br /&gt;
&lt;br /&gt;
===X200 Tablet===&lt;br /&gt;
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].&lt;br /&gt;
&lt;br /&gt;
* Wacom stylus - seems to just work.&lt;br /&gt;
* Wacom touch - &amp;quot;works&amp;quot;, but is still miscalibrated, so the cursor position doesn't match your finger position.&lt;br /&gt;
* Screen rotation - the old scripts don't work in 9.04.&lt;br /&gt;
&lt;br /&gt;
====Wacom touch calibration====&lt;br /&gt;
There are old instruction for adjusting the calibration ... somewhere.  They will have to be dug up and modified for the new, bare, &amp;quot;works&amp;quot; out of the box xorg.conf.&lt;br /&gt;
&lt;br /&gt;
====Screen rotation====&lt;br /&gt;
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04.  But it looks like a modified script might work?&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=43880</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=43880"/>
		<updated>2009-08-11T19:14:07Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads ({{X200}}, {{X200s}}, {{X200_Tablet}}) providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]]&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
** AC&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]]&lt;br /&gt;
* Battery slot&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]]&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* key lock to lock laptop to a docking station&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: eases up portability of laptop, provides digital video output, provides option for optical drive, allows effective use of second battery&lt;br /&gt;
* Negatives: reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=43879</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=43879"/>
		<updated>2009-08-11T19:13:27Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads ({{X200}}, {{X200s}}, {{X200_Tablet}}) providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]]&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
** AC&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]]&lt;br /&gt;
* Battery slot&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]]&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* key lock to lock laptop to docking station&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: eases up portability of laptop, provides digital video output, provides option for optical drive, allows effective use of second battery&lt;br /&gt;
* Negatives: reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=43878</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=43878"/>
		<updated>2009-08-11T19:12:05Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads ({{X200}}, {{X200s}}, {{X200_Tablet}}) providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]]&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
** AC&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]]&lt;br /&gt;
* Battery slot&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]]&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: eases up portability of laptop, provides digital video output, provides option for optical drive, allows effective use of second battery&lt;br /&gt;
* Negatives: reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=43877</id>
		<title>ThinkPad X200 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X200_UltraBase&amp;diff=43877"/>
		<updated>2009-08-11T19:10:53Z</updated>

		<summary type="html">&lt;p&gt;Morgwai: /* DisplayPort support in Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &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;
== Lenovo X200 UltraBase ==&lt;br /&gt;
Here is some basic info about X200 UltraBase: portable dock for the X200-series ThinkPads ({{X200}}, {{X200s}}, {{X200_Tablet}}) providing extra ports (notably DisplayPort), [[Ultrabay|Ultrabay Slim]] slot and an additional battery slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Gigabit Ethernet (RJ45)&lt;br /&gt;
** [[VGA Port|VGA]]&lt;br /&gt;
** Microphone&lt;br /&gt;
** Headphone&lt;br /&gt;
* Additional ports:&lt;br /&gt;
** 4 USB ports (1 on the right side, 3 on the back)&lt;br /&gt;
** [[DisplayPort]]&lt;br /&gt;
* Battery slot&lt;br /&gt;
* [[Ultrabay|Serial Ultrabay Slim]]&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: eases up portability of laptop, provides digital video output, provides option for optical drive, allows effective use of second battery&lt;br /&gt;
* Negatives: reduces cooling capabilities a bit (mainly HDD)&lt;br /&gt;
&lt;br /&gt;
===DisplayPort support in Linux===&lt;br /&gt;
&lt;br /&gt;
Kernel support for DisplayPort in intel graphic chips using KMS (Kernel Mode Setting) was added by Keith Packard in version 2.6.31. On the userspace side driver version 2.7 or newer is required to use KMS. In order to activate it you need to pass {{bootparm|modeset|1}} parameter to i915 driver either at boot time or in your initramfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|When passing module parameter at boot time you need to precede it's name by module name followed by a dot so in this case you would need to add {{bootparm|i915.modeset|1}} to your boot command line.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|To pass module parameter in initramfs simply add it to your modprobe configuration and update your initramfs with &amp;lt;code&amp;gt;update-initramfs&amp;lt;/code&amp;gt; command.}}&lt;/div&gt;</summary>
		<author><name>Morgwai</name></author>
		
	</entry>
</feed>