<?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=Dmoerner</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=Dmoerner"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Dmoerner"/>
	<updated>2026-05-01T23:50:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Wheezy_(7.0)_on_a_Thinkpad_X200s&amp;diff=53701</id>
		<title>Installing Debian Wheezy (7.0) on a Thinkpad X200s</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Wheezy_(7.0)_on_a_Thinkpad_X200s&amp;diff=53701"/>
		<updated>2012-05-22T20:02:14Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:X200s]]&lt;br /&gt;
&lt;br /&gt;
I have a Thinkpad X200s with:&lt;br /&gt;
&lt;br /&gt;
*Intel Core2 Duo processor SL9400 (1.86GHz, 6MB L2, 1066MHz FSB)&lt;br /&gt;
*12.1&amp;quot; TFT display with 1440x900 (WXGA+) resolution (LED backlight) 250 nits&lt;br /&gt;
*[[Intel WiMAX/WiFi Link 5350]]&lt;br /&gt;
&lt;br /&gt;
This model has no internal webcam.&lt;br /&gt;
&lt;br /&gt;
I installed Debian Wheezy (7.0) using the Alpha 1 installer from http://www.debian.org/devel/debian-installer/News/2012/20120513.&lt;br /&gt;
&lt;br /&gt;
WPA supplicant allowed an internet install, after adding the firmware. I was prompted to insert a USB stick with iwlwifi-5000-{1..5}.ucode on it. The firmware-iwlwifi package which I extracted from http://packages.debian.org/wheezy/firmware-iwlwifi had only iwlwifi-5000-{1,2,5}.ucode. This worked without a hitch. These files were automatically copied to /lib/firmware after the successful install.&lt;br /&gt;
&lt;br /&gt;
I installed the standard gnome-desktop-environment task in tasksel, installing gnome-shell 3.2. Although I selected the &amp;quot;laptop&amp;quot; task, laptop-mode-tools was not installed.&lt;br /&gt;
&lt;br /&gt;
Almost everything worked out of the box, including Wifi, Bluetooth, sound, suspend, brightness adjustments, and hibernate.&lt;br /&gt;
&lt;br /&gt;
On Debian Squeeze, the wireless would not properly connect to WPA2-EAP with PEAP networks unless power management for the network card was turned OFF. Otherwise, there were random disconnects (reason=3 in syslog). I have not tested the new kernel with this wireless encryption yet.&lt;br /&gt;
&lt;br /&gt;
As is normal for a Thinkpad, to get VT/KVM working, you have to enable it in the BIOS and disable AMT.&lt;br /&gt;
&lt;br /&gt;
Things that do not work:&lt;br /&gt;
&lt;br /&gt;
* One thing that does not work properly is suspend-resume on lid close. The package &amp;quot;gnome-tweak-tool&amp;quot; must be installed to support changing these settings. This does work. However, it is not correctly picking up unplug events once one has been triggered. For example, if it is send to blank screen on AC and suspend on battery, if I close the screen on AC and unplug the AC, it should start to suspend. This does not happen. I have filed a bug report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=674048&lt;br /&gt;
&lt;br /&gt;
* gpointing-device-settings does not save middle-mouse scroll settings through reboot. This has been reported before: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=615092. I fixed this problem by creating ~/.bin/enable-middle-mouse.sh with the following contents and adding it to gnome-session-properties. (You must reach gnome-session-properties by alt-F2 or the terminal; it is no longer listed in the Settings menu for some reason.)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1 &lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2 &lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Wheezy_(7.0)_on_a_Thinkpad_X200s&amp;diff=53700</id>
		<title>Installing Debian Wheezy (7.0) on a Thinkpad X200s</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Wheezy_(7.0)_on_a_Thinkpad_X200s&amp;diff=53700"/>
		<updated>2012-05-22T19:51:13Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: Added script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:X200s]]&lt;br /&gt;
&lt;br /&gt;
I have a Thinkpad X200s with:&lt;br /&gt;
&lt;br /&gt;
*Intel Core2 Duo processor SL9400 (1.86GHz, 6MB L2, 1066MHz FSB)&lt;br /&gt;
*12.1&amp;quot; TFT display with 1440x900 (WXGA+) resolution (LED backlight) 250 nits&lt;br /&gt;
*[[Intel WiMAX/WiFi Link 5350]]&lt;br /&gt;
&lt;br /&gt;
This model has no internal webcam.&lt;br /&gt;
&lt;br /&gt;
I installed Debian Wheezy (7.0) using the Alpha 1 installer from http://www.debian.org/devel/debian-installer/News/2012/20120513.&lt;br /&gt;
&lt;br /&gt;
WPA supplicant allowed an internet install, after adding the firmware. I was prompted to insert a USB stick with iwlwifi-5000-{1..5}.ucode on it. The firmware-iwlwifi package which I extracted from http://packages.debian.org/wheezy/firmware-iwlwifi had only iwlwifi-5000-{1,2,5}.ucode. This worked without a hitch. These files were automatically copied to /lib/firmware after the successful install.&lt;br /&gt;
&lt;br /&gt;
I installed the standard gnome-desktop-environment task in tasksel, installing gnome-shell 3.2. Although I selected the &amp;quot;laptop&amp;quot; task, laptop-mode-tools was not installed.&lt;br /&gt;
&lt;br /&gt;
Almost everything worked out of the box, including Wifi, Bluetooth, sound, suspend, and brightness adjustments.&lt;br /&gt;
&lt;br /&gt;
On Debian Squeeze, the wireless would not properly connect to WPA2-EAP with PEAP networks unless power management for the network card was turned OFF. Otherwise, there were random disconnects (reason=3 in syslog). I have not tested the new kernel with this wireless encryption yet.&lt;br /&gt;
&lt;br /&gt;
I have not tested hibernation or on-board hardware virtualization.&lt;br /&gt;
&lt;br /&gt;
Things that do not work:&lt;br /&gt;
&lt;br /&gt;
* One thing that does not work properly is suspend-resume on lid close. The package &amp;quot;gnome-tweak-tool&amp;quot; must be installed to support changing these settings. This does work. However, it is not correctly picking up unplug events once one has been triggered. For example, if it is send to blank screen on AC and suspend on battery, if I close the screen on AC and unplug the AC, it should start to suspend. This does not happen. I have filed a bug report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=674048&lt;br /&gt;
&lt;br /&gt;
* gpointing-device-settings does not save middle-mouse scroll settings through reboot. This has been reported before: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=615092. I fixed this problem by creating ~/.bin/enable-middle-mouse.sh with the following contents and adding it to gnome-session-properties. (You must reach gnome-session-properties by alt-F2 or the terminal; it is no longer listed in the Settings menu for some reason.)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1 &lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2 &lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Wheezy_(7.0)_on_a_Thinkpad_X200s&amp;diff=53699</id>
		<title>Installing Debian Wheezy (7.0) on a Thinkpad X200s</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Wheezy_(7.0)_on_a_Thinkpad_X200s&amp;diff=53699"/>
		<updated>2012-05-22T19:24:48Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: Add gpointing-device-settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:X200s]]&lt;br /&gt;
&lt;br /&gt;
I have a Thinkpad X200s with:&lt;br /&gt;
&lt;br /&gt;
*Intel Core2 Duo processor SL9400 (1.86GHz, 6MB L2, 1066MHz FSB)&lt;br /&gt;
*12.1&amp;quot; TFT display with 1440x900 (WXGA+) resolution (LED backlight) 250 nits&lt;br /&gt;
*[[Intel WiMAX/WiFi Link 5350]]&lt;br /&gt;
&lt;br /&gt;
This model has no internal webcam.&lt;br /&gt;
&lt;br /&gt;
I installed Debian Wheezy (7.0) using the Alpha 1 installer from http://www.debian.org/devel/debian-installer/News/2012/20120513.&lt;br /&gt;
&lt;br /&gt;
WPA supplicant allowed an internet install, after adding the firmware. I was prompted to insert a USB stick with iwlwifi-5000-{1..5}.ucode on it. The firmware-iwlwifi package which I extracted from http://packages.debian.org/wheezy/firmware-iwlwifi had only iwlwifi-5000-{1,2,5}.ucode. This worked without a hitch. These files were automatically copied to /lib/firmware after the successful install.&lt;br /&gt;
&lt;br /&gt;
I installed the standard gnome-desktop-environment task in tasksel, installing gnome-shell 3.2. Although I selected the &amp;quot;laptop&amp;quot; task, laptop-mode-tools was not installed.&lt;br /&gt;
&lt;br /&gt;
Almost everything worked out of the box, including Wifi, Bluetooth, sound, suspend, and brightness adjustments.&lt;br /&gt;
&lt;br /&gt;
On Debian Squeeze, the wireless would not properly connect to WPA2-EAP with PEAP networks unless power management for the network card was turned OFF. Otherwise, there were random disconnects (reason=3 in syslog). I have not tested the new kernel with this wireless encryption yet.&lt;br /&gt;
&lt;br /&gt;
I have not tested hibernation or on-board hardware virtualization.&lt;br /&gt;
&lt;br /&gt;
Things that do not work:&lt;br /&gt;
&lt;br /&gt;
* One thing that does not work properly is suspend-resume on lid close. The package &amp;quot;gnome-tweak-tool&amp;quot; must be installed to support changing these settings. This does work. However, it is not correctly picking up unplug events once one has been triggered. For example, if it is send to blank screen on AC and suspend on battery, if I close the screen on AC and unplug the AC, it should start to suspend. This does not happen. I have filed a bug report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=674048&lt;br /&gt;
&lt;br /&gt;
* gpointing-device-settings does not save middle-mouse scroll settings through reboot. This has been reported before: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=615092&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Wheezy_(7.0)_on_a_Thinkpad_X200s&amp;diff=53698</id>
		<title>Installing Debian Wheezy (7.0) on a Thinkpad X200s</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Wheezy_(7.0)_on_a_Thinkpad_X200s&amp;diff=53698"/>
		<updated>2012-05-22T18:34:09Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: Summary of installation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:X200s]]&lt;br /&gt;
&lt;br /&gt;
I have a Thinkpad X200s with:&lt;br /&gt;
&lt;br /&gt;
*Intel Core2 Duo processor SL9400 (1.86GHz, 6MB L2, 1066MHz FSB)&lt;br /&gt;
*12.1&amp;quot; TFT display with 1440x900 (WXGA+) resolution (LED backlight) 250 nits&lt;br /&gt;
*[[Intel WiMAX/WiFi Link 5350]]&lt;br /&gt;
&lt;br /&gt;
This model has no internal webcam.&lt;br /&gt;
&lt;br /&gt;
I installed Debian Wheezy (7.0) using the Alpha 1 installer from http://www.debian.org/devel/debian-installer/News/2012/20120513.&lt;br /&gt;
&lt;br /&gt;
WPA supplicant allowed an internet install, after adding the firmware. I was prompted to insert a USB stick with iwlwifi-5000-{1..5}.ucode on it. The firmware-iwlwifi package which I extracted from http://packages.debian.org/wheezy/firmware-iwlwifi had only iwlwifi-5000-{1,2,5}.ucode. This worked without a hitch. These files were automatically copied to /lib/firmware after the successful install.&lt;br /&gt;
&lt;br /&gt;
I installed the standard gnome-desktop-environment task in tasksel, installing gnome-shell 3.2. Although I selected the &amp;quot;laptop&amp;quot; task, laptop-mode-tools was not installed.&lt;br /&gt;
&lt;br /&gt;
Almost everything worked out of the box, including Wifi, Bluetooth, sound, suspend, and brightness adjustments.&lt;br /&gt;
&lt;br /&gt;
I have not tested hibernation or on-board hardware virtualization.&lt;br /&gt;
&lt;br /&gt;
One thing that does not work properly is suspend-resume on lid close. The package &amp;quot;gnome-tweak-tool&amp;quot; must be installed to support changing these settings. This does work. However, it is not correctly picking up unplug events once one has been triggered. For example, if it is send to blank screen on AC and suspend on battery, if I close the screen on AC and unplug the AC, it should start to suspend. This does not happen. I have filed a bug report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=674048&lt;br /&gt;
&lt;br /&gt;
On Debian Squeeze, the wireless would not properly connect to WPA2-EAP with PEAP networks unless power management for the network card was turned OFF. Otherwise, there were random disconnects (reason=3 in syslog). I have not tested the new kernel with this wireless encryption yet.&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Debian_5.0_(Lenny)_on_a_ThinkPad_X200&amp;diff=43979</id>
		<title>Talk:Installing Debian 5.0 (Lenny) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Debian_5.0_(Lenny)_on_a_ThinkPad_X200&amp;diff=43979"/>
		<updated>2009-08-19T07:47:42Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Video Card==&lt;br /&gt;
While my video card works fine with the driver provided in lenny, I followed the given instructions to upgrade X to experimental, but encountered enough problems that I gave up and returned to lenny.  Among the problems:&lt;br /&gt;
&lt;br /&gt;
* The resolution was not automatically detected, though this was fixed by putting the resolution in xorg.conf.&lt;br /&gt;
* The HDMI-1 and HDMI-2 workaround is also necessary to prevent a scary blank display after logging in.&lt;br /&gt;
* Control-Alt-F[1–12] and Control-Alt-Backspace don't do anything!&lt;br /&gt;
* The arrow keys don't do anything!&lt;br /&gt;
&lt;br /&gt;
The last one was the one I decided I couldn't live with.  I did a fair amount of troubleshooting—I used xev to get the keycodes produced by the arrow-keys, and then opened the gnome keyboard properties, which showed my that two of my arrow keys were being read as scroll lock and page up, and the other two were not being read as all.  This is experimental, so there may be any number of bugs, but if anybody has a similar experience, please share.&lt;br /&gt;
&lt;br /&gt;
—[[User:Harrisonts|Harrisonts]] 06:52, 26 November 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Debian_5.0_(Lenny)_on_a_ThinkPad_X200&amp;diff=43956</id>
		<title>Talk:Installing Debian 5.0 (Lenny) on a ThinkPad X200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Debian_5.0_(Lenny)_on_a_ThinkPad_X200&amp;diff=43956"/>
		<updated>2009-08-17T00:02:59Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: /* Video Card */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Video Card==&lt;br /&gt;
While my video card works fine with the driver provided in lenny, I followed the given instructions to upgrade X to experimental, but encountered enough problems that I gave up and returned to lenny.  Among the problems:&lt;br /&gt;
&lt;br /&gt;
* The resolution was not automatically detected, though this was fixed by putting the resolution in xorg.conf.&lt;br /&gt;
* The HDMI-1 and HDMI-2 workaround is also necessary to prevent a scary blank display after logging in.&lt;br /&gt;
* Control-Alt-F[1–12] and Control-Alt-Backspace don't do anything!&lt;br /&gt;
* The arrow keys don't do anything!&lt;br /&gt;
&lt;br /&gt;
The last one was the one I decided I couldn't live with.  I did a fair amount of troubleshooting—I used xev to get the keycodes produced by the arrow-keys, and then opened the gnome keyboard properties, which showed my that two of my arrow keys were being read as scroll lock and page up, and the other two were not being read as all.  This is experimental, so there may be any number of bugs, but if anybody has a similar experience, please share.&lt;br /&gt;
&lt;br /&gt;
—[[User:Harrisonts|Harrisonts]] 06:52, 26 November 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
With the Lenny intel driver I can't get the video card to run an external display at greater than 1400x1050. Does anyone else have this problem? (With Sid installed I can run the external monitor at the native 1680x1050, but with Lenny xrandr only goes up to 1400x1050).&lt;br /&gt;
&lt;br /&gt;
--[[User:Dmoerner|Dmoerner]] 00:02, 17 August 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X200s&amp;diff=43494</id>
		<title>Category:X200s</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X200s&amp;diff=43494"/>
		<updated>2009-06-16T07:42:32Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: Added more detailed hardware information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
=== ThinkPad X200s ===&lt;br /&gt;
This page gives an overview of all ThinkPad X200s related topics.&lt;br /&gt;
&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;
==== Standard Features ====&lt;br /&gt;
* One of the following processors:&lt;br /&gt;
** Intel Celeron M processor 723 (1.2GHz, 1MB L2, 800MHz FSB)&lt;br /&gt;
** Intel Core2 Duo processor SU9300 (1.2GHz, 3MB L2, 800MHz FSB)&lt;br /&gt;
** Intel Core2 Duo processor SL9300 (1.6Ghz, 1Ghz FSB)&lt;br /&gt;
** Intel Core2 Duo processor SL9400 (1.8Ghz, 1Ghz FSB)&lt;br /&gt;
* Onboard Graphics&lt;br /&gt;
** Intel Graphics Media Accelerator 4500MHD&lt;br /&gt;
* One of the following screens&lt;br /&gt;
** 1440x900 12.1&amp;quot; (LED backlight) 250 nit&lt;br /&gt;
** 1280x800 12.1&amp;quot; (CCFL backlight) 200 nit&lt;br /&gt;
* Memory&lt;br /&gt;
** Support for up to 4GB DDR3-RAM PC3-8500&lt;br /&gt;
* Card Reader&lt;br /&gt;
** SD, SDHC, and MMC (default)&lt;br /&gt;
** SD, SDHC, MMC, MS, MS Pro, with a Modem&lt;br /&gt;
* Network&lt;br /&gt;
** Wired&lt;br /&gt;
*** Intel Gigabit Ethernet Controller (82567LM) &lt;br /&gt;
** Wireless&lt;br /&gt;
*** Thinkpad Wifi BGN (It's unclear what this chip is, some reviews list it as being only B/G, which suggests it may be an Atheros like older Thinkpad branded chips. However, I've also read that it is an unsupported Realtek.)&lt;br /&gt;
*** Intel WiFi Link 5100AGN&lt;br /&gt;
*** Intel WiFi Link 5300AGN&lt;br /&gt;
*** Intel WiMAX/WiFi Link 5350 (AGN) with My WiFi Technology&lt;br /&gt;
** Bluetooth&lt;br /&gt;
** UWB&lt;br /&gt;
* Other Options&lt;br /&gt;
** [[X200 UltraBase]]&lt;br /&gt;
** Fingerprint reader (Authentec 2810)&lt;br /&gt;
** Intel Turbo Memory 2GB&lt;br /&gt;
** Audio (Conexant Azalia Audio Codec)&lt;br /&gt;
* Battery Sizes - 4 cell, 6 cell, 9 cell (sticks out the back)&lt;br /&gt;
&lt;br /&gt;
==== Resources ====&lt;br /&gt;
Debian sid install:  http://larsgg.spaces.live.com/blog/cns!2019B2D8CDA6ED!748.entry&lt;br /&gt;
&lt;br /&gt;
Arch Linux install:  http://itgen.blogspot.com/2008/12/installing-arch-linux-on-lenovo.html&lt;br /&gt;
&lt;br /&gt;
CentOS 5 install:    http://wiki.centos.org/HowTos/Laptops/Lenovo/Thinkpad-X200s&lt;br /&gt;
&lt;br /&gt;
The above links explain the hoop-jumping required (in early 2009) for x200s models that have the 5300 ethernet/wireless card. However if you have a model containing the 5100 (e.g 7469-5KG) then a standard Debian Lenny install ('HD-media' on USB key+ethernet net install) works fine and is entirely straightforward.&lt;br /&gt;
&lt;br /&gt;
==== Reviews ====&lt;br /&gt;
http://forum.thinkpads.com/viewtopic.php?t=67851&lt;br /&gt;
&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=38744</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=38744"/>
		<updated>2008-08-31T04:01:45Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Executive summary==&lt;br /&gt;
Ubuntu Linux 7.04 -and probably any modern distro- &amp;quot;just works&amp;quot; out-of-the-box on this machine.&lt;br /&gt;
&lt;br /&gt;
No manual configuration was required. Even network, wifi, xorg (with 3D acceleration), sound and suspend-to-ram were properly configured and functional, all with opensource drivers only, at the end of the default Ubuntu installation. I've no problem with fan noises either.&lt;br /&gt;
&lt;br /&gt;
But there's still some room for fine tuning: &lt;br /&gt;
* To improve energy efficiency and battery life (8 cell bat gives 4h with default install, 6h after [[How to reduce power consumption|tuning]])&lt;br /&gt;
* To access some special features (like some [[Default meanings of special keys|Thinkpad special keys]])&lt;br /&gt;
* To better use resources (memory, CPU, power, ...)&lt;br /&gt;
&lt;br /&gt;
==The machine==&lt;br /&gt;
This an &amp;quot;all Intel&amp;quot; machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I opted for this one (beside the 1.2 Kg ultraportable form factor).&lt;br /&gt;
&lt;br /&gt;
* IBM Thinkpad {{X40}} (model 2371Y29), Centrino platform&lt;br /&gt;
* 1 Go DDR SDRAM (333MHz [[PC2700]])&lt;br /&gt;
* CPU: [[Intel Pentium M (Dothan)]] 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 -  no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)&lt;br /&gt;
* Southbridge chipset ICH4-M ([[Intel 82801DBM]]) : PCI, USB, IDE&lt;br /&gt;
* [[E1000|Intel gigabit ethernet]] controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)&lt;br /&gt;
* Wifi controller: [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] on a [[MiniPCI slot]]&lt;br /&gt;
* Northbridge / Graphic chipset : [[Intel Extreme Graphics 2]] ([[Intel 855GME]])&lt;br /&gt;
* [[Ricoh R5C511]] [[PCMCIA]] controller ([[CardBus slot]])&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[TFT display]]: 12&amp;quot; screen, @1024x768 nominal resolution  &lt;br /&gt;
* [[Harddisk Drives|Hard Drive]] : 1.8&amp;quot; - PATA - 40 Go - 4200 RPM - Hitachi DK13FA-40B&lt;br /&gt;
* ATA controler : [[Intel 82801DBM]] Ultra ATA storage controller 24CA&lt;br /&gt;
* Audio controller: [[AD1981B]] AC'97 (linux kernel module: i810_audio)&lt;br /&gt;
* Weigth / size:  1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm&lt;br /&gt;
* [[UltraBase X4]] with broken DVDROM &lt;br /&gt;
* Batteries :&lt;br /&gt;
** default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00&lt;br /&gt;
** new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30&lt;br /&gt;
* BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31&lt;br /&gt;
* IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)&lt;br /&gt;
* FW model : TP-1U&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
The {{X40}} is a very small ultraportable, and doesn't have builtin CDROM or floppy drive. I own an IBM [[UltraBase X4]] dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install this web page] : this was unexpectedly simple and worked flawlessly. Everything got installed from network, &amp;quot;over the air&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I kept the 4Go [[Hidden Protected Area|IBM recovery]] partition at the end of the drive, by superstition and for [[Rescue and Recovery]]. Afterwards, I compiled my own 2.6.22 kernel, patched with high resolution timers, to improve the battery life, and applied tips from the ''[[How to reduce power consumption]]''.&lt;br /&gt;
&lt;br /&gt;
==Small glitches==&lt;br /&gt;
===Distribution (Ubuntu Feisty Fawn 7.04)===&lt;br /&gt;
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better: &lt;br /&gt;
* Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome &amp;quot;logout&amp;quot; screen hides the s2ram and s2disk (hibernate) options. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an &amp;quot;echo mem &amp;gt; /sys/power/state&amp;quot;).&lt;br /&gt;
* Ubuntu installs the &amp;quot;special keys&amp;quot; handler from the &amp;quot;hotkey-setup&amp;quot; package. This is suboptimal, since hotkey-setup supports less special keys than [[tpb]], and consumes a lot of battery (see for instance this [https://bugs.launchpad.net/ubuntu/+source/hotkey-setup/+bug/45404 bug report]).&lt;br /&gt;
* More generally, the whole Ubuntu system needs work to become power efficient on laptops: switch to a 2.6.21 or more kernel, use in kernel &amp;quot;ondemand&amp;quot; governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.&lt;br /&gt;
* The default Ubuntu install left me with a lot processes related to printing (cupsd, gnome-cups-icon, hpiod, hpssd (this one is a python script!)) while I have no printer configured nor attached. Bad. They shouldn't start this until hald find something plugged or until I try to configure a printer. It also left the bluetooth &amp;quot;hcid&amp;quot; daemon, while I've no bluetooth controller. evolution-alarm-notify is running while I've never launched (let alone configured) Evolution.&lt;br /&gt;
&lt;br /&gt;
===Hardware and BIOS limitations===&lt;br /&gt;
The hardware is fine for me, even if a bit old by nowadays standards (I'd prefer have an Intel AHCI chipset with SATA drive on it, for power efficiency reason, and I'd prefer a Core2Duo CPU....). It lacks also some options available on some other Thinkpads models, like the fingerprint reader (but seriously, I prefer give this up to keep my &amp;quot;all Intel&amp;quot; chipsets). It lacks a Firewire controler. The BIOS is also somehow suboptimal, in some aspects.&lt;br /&gt;
&lt;br /&gt;
For an unknown reason, the BIOS disable by default the deeper power saving c-states (C3 and C4). There's two option for this that you need to turn on, despite the the misleading BIOS online help that says &amp;quot;usualy not needed&amp;quot;. Type &amp;quot;F1&amp;quot; during boot to access the BIOS, then enable: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management&lt;br /&gt;
 PCI bus power management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BIOS, as in many laptops, hides the HPET hardware timer to the system. Windows XP don't support HPET and when enabled, it displays a yellow exclamation mark on his device manager list, hence the common vendor choice to disable it. That's a bit odd since Linux can make a great use of it: other available timers (PIC/LAPIC) can't schedule timer events more than a few milliseconds away, so they causes about 20 to 40 CPU wakeups per second. This impact the power consumption greatly. Yet, thanks to the Udo A. Steinberg and Venki Pallipadi, we have a way to force enable HPET on chipsets known to support it (this include ICH3-M, ICH4-M, ICH5-M etc.). So I applied their patch, part of the [http://www.tglx.de/projects/hrtimers/|High Resolution Timer patchset] on top of my hand compiled 2.6.22-rc5 kernel, and all worked fine: &amp;lt;code&amp;gt;dmesg | grep hpet&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    3.740522] hpet clockevent registered&lt;br /&gt;
 [    3.740527] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0&lt;br /&gt;
 [    3.740532] hpet0: 3 64-bit timers, 14318180 Hz&lt;br /&gt;
 [    5.080000] Time: hpet clocksource has been installed.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Not tested yet==&lt;br /&gt;
* [[Embedded Security Subsystem|TCPA chipset]]: Trusted Computing controller. Should be supported by [[tpm]] and [[tpmdd]] but who need this, really ?&lt;br /&gt;
* [[HDAPS]] (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's known to suck power&lt;br /&gt;
* [[IrDA]] (Infrared controller) : is known to work too, and looks supported by my kernel, but I've no other IrDA device to test with&lt;br /&gt;
* [[SD Card slot]] : I've no SD cards to test this&lt;br /&gt;
* [[IBM Integrated 56K Modem (MDC-2)|56K Modem]]: I've no use of this&lt;br /&gt;
&lt;br /&gt;
==System informations==&lt;br /&gt;
'''dmesg | grep states'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    5.280003] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C4])&lt;br /&gt;
 [    5.280009] ACPI: Processor [CPU] (supports 8 throttling states)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''lspci''' :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)&lt;br /&gt;
 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)&lt;br /&gt;
 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)&lt;br /&gt;
 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)&lt;br /&gt;
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)&lt;br /&gt;
 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)&lt;br /&gt;
 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)&lt;br /&gt;
 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)&lt;br /&gt;
 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)&lt;br /&gt;
 02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)&lt;br /&gt;
 02:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)&lt;br /&gt;
 02:01.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller&lt;br /&gt;
 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''cat /proc/cpuinfo''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.40GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est  tm2 &lt;br /&gt;
 bogomips        : 1196.93&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other Linux installation reports on Thinkpad X40==&lt;br /&gt;
Don't forget that the X40 line included different ethernet (tg3 or e1000) and wireless (atheros or Intel) chipsets, and that Linux support involved over time. So there may be some difference between your experience with X40 and others reports. Some reports are quite old too, and Linux involve at fast pace.&lt;br /&gt;
&lt;br /&gt;
'''Thinkwiki internal notes about installing Linux on X40'''&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
&lt;br /&gt;
'''Exernal links to notes about installing linux, OpenBSD and FreeBSD on X40'''&lt;br /&gt;
&lt;br /&gt;
* [http://gentoo-wiki.com/HARDWARE_IBM_ThinkPad_X40 HARDWARE IBM ThinkPad X40] on the Gentoo wiki&lt;br /&gt;
* [http://www.srcf.ucam.org/~mjg59/thinkpad/x40acpi.html ''Linux and ACPI on an IBM Thinkpad X40''], by Matthew Garrett&lt;br /&gt;
* [http://littlesvr.ca/linux-stuff/articles/x40slack/x40slack.php Slackware 10.1 and 10.2] on X40, by Andrew Smith&lt;br /&gt;
* [http://people.bath.ac.uk/masrjb/x40.html SuSE 9.1] on X40, by Russell Bradford&lt;br /&gt;
* [http://www.sun.com/bigadmin/hcl/data/systems/details/1454.html Solaris] on X40, on Sun's BigAdmin database&lt;br /&gt;
* [http://www.cl.cam.ac.uk/~pb22/TPX40/ Red Hat 9] on X40, by Piete Brooks&lt;br /&gt;
* [http://blog.tarotoast.com/2007/01/13/333/ PC-BSD] on X40, by Tarotoast&lt;br /&gt;
* [http://www.roe.ch/FreeBSD_on_the_IBM_ThinkPad_X40 FreeBSD 5.4] on X40, by Daniel Roethlisberger&lt;br /&gt;
* [http://www.iosn.net/Members/kaeru/articles/freebsd/x40 FreeBSD 5.3] on X40, by Khairil Yusof&lt;br /&gt;
* [http://lowerca.se/laptops/ OpenBSD] on X40, by Joshua Stein&lt;br /&gt;
* [http://www.openbsd.org/i386-laptop.html OpenBSD], OpenBSD official site,  i386-laptops page&lt;br /&gt;
* [http://www.citi.umich.edu/u/rees/openbsd/tpx40.html OpenBSD 3.9, 4.0 and 4.1] on X40, by Jim Rees&lt;br /&gt;
* [http://www.catb.org/~esr/faqs/Fedora-Core-on-Thinkpad-X40/ Fedora Core] on X40, by the infamous Eric S. Raymond&lt;br /&gt;
* [http://johnleach.co.uk/documents/thinkpadx40/index.html Fedora] on X40, by John Leach&lt;br /&gt;
* [http://www.mrc-cbu.cam.ac.uk/~matthew/linuxiste/10p1/x40_mandrake_10p1.html Mandrake 10.1] on X40, by Matthew Brett&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40.php Mandriva 10.1] on X40, by ZoneO&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40_2006.php Mandriva 2006] on X40, by Zone0&lt;br /&gt;
* [http://www.linux-on-laptops.com/hosted/ubuntu-thinkpad-x40.html Ubuntu Feisty 7.04], by Chris Cartledge&lt;br /&gt;
* [http://www.tenshu.net/archives/2006/08/08/ubuntu-dapper-606-lts-on-an-ibmlenovo-thinkpad-x40/ Ubuntu Dapper 6.06] on X40, by cmsj&lt;br /&gt;
* [http://www.noapparentmotive.org/topics/ubuntuX40.html Ubuntu Breezy 5.04] on X40, by John Schmitt&lt;br /&gt;
* [http://www.leopold.dk/~martin/IBMx40UbuntuInstall.html Ubuntu Breezy 5.04] on X40, by Martin Leopold&lt;br /&gt;
* [http://martin.wuertele.net/x40/ Debian] on X40, by Martin Würtele&lt;br /&gt;
* [http://www.chronox.de/x40_linux/linux_on_x40.html Debian] on X40, by Stephan Müller;&lt;br /&gt;
* [http://steffenpingel.de/news/archive/2005/apr/22/linux-debian-on-ibm-thinkpad-x40/ Debian] on X40, by Sebastian Schmieg&lt;br /&gt;
* [http://m.ash.to/@/@/Linux/DebianOnThinkpadX40 Debian/GNU Linux 3.1 (Sarge)], by Michael Aschauer&lt;br /&gt;
* [http://www.mathematik.uni-marburg.de/~dfinke/html/howto.html Debian GNU/Linux Unstable with ACPI on an IBM Thinkpad X40], by madn3ss&lt;br /&gt;
* [http://grapevine.net.au/~striggs/thinkpad-x40.html Debian] on X40 (with example PXE network install), by Mark Triggs&lt;br /&gt;
&lt;br /&gt;
==Installation Notes for Ubuntu 8.04 LTS (Hardy Heron)==&lt;br /&gt;
&lt;br /&gt;
Support for the Thinkpad X40 has improved even more in Hardy Heron. A few things to consider that have changed:&lt;br /&gt;
&lt;br /&gt;
1) hotkey-setup has matured to the point that it no longer drains power, so it is now superior to tpb.  My X40 has a nice little GUI that pops up when you change the volume/brightness using hotkeys.&lt;br /&gt;
&lt;br /&gt;
2) Although powersaved is still used, laptop-mode-tools is also installed by default.  You can go to /etc/laptop-mode/laptop-mode.conf to use the ondemand kernel governor.&lt;br /&gt;
&lt;br /&gt;
3) hpet is now in the ubuntu sources.  However, you have to boot with hpet=force to get it work.&lt;br /&gt;
&lt;br /&gt;
4) CPU undervolting is very well supported by the X40.  http://ubuntuforums.org/showthread.php?t=786402 has all the information you need.  I use the following set of phc values with perfectly stable results:&lt;br /&gt;
12:15 11:12 10:9 9:6 8:4 6:1&lt;br /&gt;
&lt;br /&gt;
5) To enable middle-wheel scrolling, go to /etc/X11/xorg.conf and add the following to the &amp;quot;configured mouse&amp;quot; section:&lt;br /&gt;
&amp;lt;pre&amp;gt;Option &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
Option &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6) To make the NumLock (Shift+ScrLk) and the Back/Forward buttons near the arrow keys work, add the following to ~/.Xmodmap:&lt;br /&gt;
&amp;lt;pre&amp;gt;keycode 77 = Num_Lock&lt;br /&gt;
keycode 234 = XF86Back&lt;br /&gt;
keycode 233 = XF86Forward&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7) NOTE: THE BELOW METHOD STILL RESULTS IN SYSTEM FREEZES FOR ME (Thinkpad X40, 1.2 Ghz Banias)&lt;br /&gt;
&lt;br /&gt;
For at least kernel 2.6.24, [[UltraBase X4]] actions are detected by ACPI's &amp;lt;tt&amp;gt;dock&amp;lt;/tt&amp;gt; driver.  By default, [[UltraBay]] devices are not accounted for by the event handlers.  This leads to system freezing when ejecting and undetected peripherals on docking.  The &amp;lt;tt&amp;gt;ultrabay_insert&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ultrabay_eject&amp;lt;/tt&amp;gt; scripts from [[How to hotswap UltraBay devices]] can be used to achieve safe (un)docking.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/modprobe.d/options}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options dock immediate_undock=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabase_dock}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
/usr/local/sbin/ultrabay_insert&lt;br /&gt;
# Anything else that you want executed on docking goes here.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabase_eject}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
/usr/local/sbin/ultrabay_eject&lt;br /&gt;
# Anything else that you want executed on ejection goes here.&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /sys/devices/platform/dock.0/undock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/50-ibm-ultrabase.rules}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{EVENT}==&amp;quot;undock&amp;quot;, KERNEL==&amp;quot;dock.0&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabase_eject&amp;quot;&lt;br /&gt;
ENV{EVENT}==&amp;quot;dock&amp;quot;, KERNEL==&amp;quot;dock.0&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabase_insert&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart &amp;lt;tt&amp;gt;udev&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now, the system will remove the [[UltraBay]] device when the undock button is pressed.  The laptop can be removed when the dock's LED turns off.  When docking, the [[UltraBay]] devices will be scanned and should be detected automatically.&lt;br /&gt;
&lt;br /&gt;
[[Category:X40]] [[Category:Ubuntu 7.04]] [[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=38506</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=38506"/>
		<updated>2008-08-09T01:02:44Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: /* Installation Notes for Ubuntu 8.04 LTS (Hardy Heron) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Executive summary==&lt;br /&gt;
Ubuntu Linux 7.04 -and probably any modern distro- &amp;quot;just works&amp;quot; out-of-the-box on this machine.&lt;br /&gt;
&lt;br /&gt;
No manual configuration was required. Even network, wifi, xorg (with 3D acceleration), sound and suspend-to-ram were properly configured and functional, all with opensource drivers only, at the end of the default Ubuntu installation. I've no problem with fan noises either.&lt;br /&gt;
&lt;br /&gt;
But there's still some room for fine tuning: &lt;br /&gt;
* To improve energy efficiency and battery life (8 cell bat gives 4h with default install, 6h after [[How to reduce power consumption|tuning]])&lt;br /&gt;
* To access some special features (like some [[Default meanings of special keys|Thinkpad special keys]])&lt;br /&gt;
* To better use resources (memory, CPU, power, ...)&lt;br /&gt;
&lt;br /&gt;
==The machine==&lt;br /&gt;
This an &amp;quot;all Intel&amp;quot; machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I opted for this one (beside the 1.2 Kg ultraportable form factor).&lt;br /&gt;
&lt;br /&gt;
* IBM Thinkpad {{X40}} (model 2371Y29), Centrino platform&lt;br /&gt;
* 1 Go DDR SDRAM (333MHz [[PC2700]])&lt;br /&gt;
* CPU: [[Intel Pentium M (Dothan)]] 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 -  no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)&lt;br /&gt;
* Southbridge chipset ICH4-M ([[Intel 82801DBM]]) : PCI, USB, IDE&lt;br /&gt;
* [[E1000|Intel gigabit ethernet]] controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)&lt;br /&gt;
* Wifi controller: [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] on a [[MiniPCI slot]]&lt;br /&gt;
* Northbridge / Graphic chipset : [[Intel Extreme Graphics 2]] ([[Intel 855GME]])&lt;br /&gt;
* [[Ricoh R5C511]] [[PCMCIA]] controller ([[CardBus slot]])&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[TFT display]]: 12&amp;quot; screen, @1024x768 nominal resolution  &lt;br /&gt;
* [[Harddisk Drives|Hard Drive]] : 1.8&amp;quot; - PATA - 40 Go - 4200 RPM - Hitachi DK13FA-40B&lt;br /&gt;
* ATA controler : [[Intel 82801DBM]] Ultra ATA storage controller 24CA&lt;br /&gt;
* Audio controller: [[AD1981B]] AC'97 (linux kernel module: i810_audio)&lt;br /&gt;
* Weigth / size:  1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm&lt;br /&gt;
* [[UltraBase X4]] with broken DVDROM &lt;br /&gt;
* Batteries :&lt;br /&gt;
** default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00&lt;br /&gt;
** new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30&lt;br /&gt;
* BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31&lt;br /&gt;
* IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)&lt;br /&gt;
* FW model : TP-1U&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
The {{X40}} is a very small ultraportable, and doesn't have builtin CDROM or floppy drive. I own an IBM [[UltraBase X4]] dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install this web page] : this was unexpectedly simple and worked flawlessly. Everything got installed from network, &amp;quot;over the air&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I kept the 4Go [[Hidden Protected Area|IBM recovery]] partition at the end of the drive, by superstition and for [[Rescue and Recovery]]. Afterwards, I compiled my own 2.6.22 kernel, patched with high resolution timers, to improve the battery life, and applied tips from the ''[[How to reduce power consumption]]''.&lt;br /&gt;
&lt;br /&gt;
==Small glitches==&lt;br /&gt;
===Distribution (Ubuntu Feisty Fawn 7.04)===&lt;br /&gt;
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better: &lt;br /&gt;
* Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome &amp;quot;logout&amp;quot; screen hides the s2ram and s2disk (hibernate) options. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an &amp;quot;echo mem &amp;gt; /sys/power/state&amp;quot;).&lt;br /&gt;
* Ubuntu installs the &amp;quot;special keys&amp;quot; handler from the &amp;quot;hotkey-setup&amp;quot; package. This is suboptimal, since hotkey-setup supports less special keys than [[tpb]], and consumes a lot of battery (see for instance this [https://bugs.launchpad.net/ubuntu/+source/hotkey-setup/+bug/45404 bug report]).&lt;br /&gt;
* More generally, the whole Ubuntu system needs work to become power efficient on laptops: switch to a 2.6.21 or more kernel, use in kernel &amp;quot;ondemand&amp;quot; governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.&lt;br /&gt;
* The default Ubuntu install left me with a lot processes related to printing (cupsd, gnome-cups-icon, hpiod, hpssd (this one is a python script!)) while I have no printer configured nor attached. Bad. They shouldn't start this until hald find something plugged or until I try to configure a printer. It also left the bluetooth &amp;quot;hcid&amp;quot; daemon, while I've no bluetooth controller. evolution-alarm-notify is running while I've never launched (let alone configured) Evolution.&lt;br /&gt;
&lt;br /&gt;
===Hardware and BIOS limitations===&lt;br /&gt;
The hardware is fine for me, even if a bit old by nowadays standards (I'd prefer have an Intel AHCI chipset with SATA drive on it, for power efficiency reason, and I'd prefer a Core2Duo CPU....). It lacks also some options available on some other Thinkpads models, like the fingerprint reader (but seriously, I prefer give this up to keep my &amp;quot;all Intel&amp;quot; chipsets). It lacks a Firewire controler. The BIOS is also somehow suboptimal, in some aspects.&lt;br /&gt;
&lt;br /&gt;
For an unknown reason, the BIOS disable by default the deeper power saving c-states (C3 and C4). There's two option for this that you need to turn on, despite the the misleading BIOS online help that says &amp;quot;usualy not needed&amp;quot;. Type &amp;quot;F1&amp;quot; during boot to access the BIOS, then enable: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management&lt;br /&gt;
 PCI bus power management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BIOS, as in many laptops, hides the HPET hardware timer to the system. Windows XP don't support HPET and when enabled, it displays a yellow exclamation mark on his device manager list, hence the common vendor choice to disable it. That's a bit odd since Linux can make a great use of it: other available timers (PIC/LAPIC) can't schedule timer events more than a few milliseconds away, so they causes about 20 to 40 CPU wakeups per second. This impact the power consumption greatly. Yet, thanks to the Udo A. Steinberg and Venki Pallipadi, we have a way to force enable HPET on chipsets known to support it (this include ICH3-M, ICH4-M, ICH5-M etc.). So I applied their patch, part of the [http://www.tglx.de/projects/hrtimers/|High Resolution Timer patchset] on top of my hand compiled 2.6.22-rc5 kernel, and all worked fine: &amp;lt;code&amp;gt;dmesg | grep hpet&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    3.740522] hpet clockevent registered&lt;br /&gt;
 [    3.740527] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0&lt;br /&gt;
 [    3.740532] hpet0: 3 64-bit timers, 14318180 Hz&lt;br /&gt;
 [    5.080000] Time: hpet clocksource has been installed.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Not tested yet==&lt;br /&gt;
* [[Embedded Security Subsystem|TCPA chipset]]: Trusted Computing controller. Should be supported by [[tpm]] and [[tpmdd]] but who need this, really ?&lt;br /&gt;
* [[HDAPS]] (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's known to suck power&lt;br /&gt;
* [[IrDA]] (Infrared controller) : is known to work too, and looks supported by my kernel, but I've no other IrDA device to test with&lt;br /&gt;
* [[SD Card slot]] : I've no SD cards to test this&lt;br /&gt;
* [[IBM Integrated 56K Modem (MDC-2)|56K Modem]]: I've no use of this&lt;br /&gt;
&lt;br /&gt;
==System informations==&lt;br /&gt;
'''dmesg | grep states'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    5.280003] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C4])&lt;br /&gt;
 [    5.280009] ACPI: Processor [CPU] (supports 8 throttling states)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''lspci''' :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)&lt;br /&gt;
 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)&lt;br /&gt;
 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)&lt;br /&gt;
 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)&lt;br /&gt;
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)&lt;br /&gt;
 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)&lt;br /&gt;
 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)&lt;br /&gt;
 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)&lt;br /&gt;
 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)&lt;br /&gt;
 02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)&lt;br /&gt;
 02:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)&lt;br /&gt;
 02:01.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller&lt;br /&gt;
 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''cat /proc/cpuinfo''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.40GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est  tm2 &lt;br /&gt;
 bogomips        : 1196.93&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other Linux installation reports on Thinkpad X40==&lt;br /&gt;
Don't forget that the X40 line included different ethernet (tg3 or e1000) and wireless (atheros or Intel) chipsets, and that Linux support involved over time. So there may be some difference between your experience with X40 and others reports. Some reports are quite old too, and Linux involve at fast pace.&lt;br /&gt;
&lt;br /&gt;
'''Thinkwiki internal notes about installing Linux on X40'''&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
&lt;br /&gt;
'''Exernal links to notes about installing linux, OpenBSD and FreeBSD on X40'''&lt;br /&gt;
&lt;br /&gt;
* [http://gentoo-wiki.com/HARDWARE_IBM_ThinkPad_X40 HARDWARE IBM ThinkPad X40] on the Gentoo wiki&lt;br /&gt;
* [http://www.srcf.ucam.org/~mjg59/thinkpad/x40acpi.html ''Linux and ACPI on an IBM Thinkpad X40''], by Matthew Garrett&lt;br /&gt;
* [http://littlesvr.ca/linux-stuff/articles/x40slack/x40slack.php Slackware 10.1 and 10.2] on X40, by Andrew Smith&lt;br /&gt;
* [http://people.bath.ac.uk/masrjb/x40.html SuSE 9.1] on X40, by Russell Bradford&lt;br /&gt;
* [http://www.sun.com/bigadmin/hcl/data/systems/details/1454.html Solaris] on X40, on Sun's BigAdmin database&lt;br /&gt;
* [http://www.cl.cam.ac.uk/~pb22/TPX40/ Red Hat 9] on X40, by Piete Brooks&lt;br /&gt;
* [http://blog.tarotoast.com/2007/01/13/333/ PC-BSD] on X40, by Tarotoast&lt;br /&gt;
* [http://www.roe.ch/FreeBSD_on_the_IBM_ThinkPad_X40 FreeBSD 5.4] on X40, by Daniel Roethlisberger&lt;br /&gt;
* [http://www.iosn.net/Members/kaeru/articles/freebsd/x40 FreeBSD 5.3] on X40, by Khairil Yusof&lt;br /&gt;
* [http://lowerca.se/laptops/ OpenBSD] on X40, by Joshua Stein&lt;br /&gt;
* [http://www.openbsd.org/i386-laptop.html OpenBSD], OpenBSD official site,  i386-laptops page&lt;br /&gt;
* [http://www.citi.umich.edu/u/rees/openbsd/tpx40.html OpenBSD 3.9, 4.0 and 4.1] on X40, by Jim Rees&lt;br /&gt;
* [http://www.catb.org/~esr/faqs/Fedora-Core-on-Thinkpad-X40/ Fedora Core] on X40, by the infamous Eric S. Raymond&lt;br /&gt;
* [http://johnleach.co.uk/documents/thinkpadx40/index.html Fedora] on X40, by John Leach&lt;br /&gt;
* [http://www.mrc-cbu.cam.ac.uk/~matthew/linuxiste/10p1/x40_mandrake_10p1.html Mandrake 10.1] on X40, by Matthew Brett&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40.php Mandriva 10.1] on X40, by ZoneO&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40_2006.php Mandriva 2006] on X40, by Zone0&lt;br /&gt;
* [http://www.linux-on-laptops.com/hosted/ubuntu-thinkpad-x40.html Ubuntu Feisty 7.04], by Chris Cartledge&lt;br /&gt;
* [http://www.tenshu.net/archives/2006/08/08/ubuntu-dapper-606-lts-on-an-ibmlenovo-thinkpad-x40/ Ubuntu Dapper 6.06] on X40, by cmsj&lt;br /&gt;
* [http://www.noapparentmotive.org/topics/ubuntuX40.html Ubuntu Breezy 5.04] on X40, by John Schmitt&lt;br /&gt;
* [http://www.leopold.dk/~martin/IBMx40UbuntuInstall.html Ubuntu Breezy 5.04] on X40, by Martin Leopold&lt;br /&gt;
* [http://martin.wuertele.net/x40/ Debian] on X40, by Martin Würtele&lt;br /&gt;
* [http://www.chronox.de/x40_linux/linux_on_x40.html Debian] on X40, by Stephan Müller;&lt;br /&gt;
* [http://steffenpingel.de/news/archive/2005/apr/22/linux-debian-on-ibm-thinkpad-x40/ Debian] on X40, by Sebastian Schmieg&lt;br /&gt;
* [http://m.ash.to/@/@/Linux/DebianOnThinkpadX40 Debian/GNU Linux 3.1 (Sarge)], by Michael Aschauer&lt;br /&gt;
* [http://www.mathematik.uni-marburg.de/~dfinke/html/howto.html Debian GNU/Linux Unstable with ACPI on an IBM Thinkpad X40], by madn3ss&lt;br /&gt;
* [http://grapevine.net.au/~striggs/thinkpad-x40.html Debian] on X40 (with example PXE network install), by Mark Triggs&lt;br /&gt;
&lt;br /&gt;
==Installation Notes for Ubuntu 8.04 LTS (Hardy Heron)==&lt;br /&gt;
&lt;br /&gt;
Support for the Thinkpad X40 has improved even more in Hardy Heron. A few things to consider that have changed:&lt;br /&gt;
&lt;br /&gt;
1) hotkey-setup has matured to the point that it no longer drains power, so it is now superior to tpb.  My X40 has a nice little GUI that pops up when you change the volume/brightness using hotkeys.&lt;br /&gt;
&lt;br /&gt;
2) Although powersaved is still used, laptop-mode-tools is also installed by default.  You can go to /etc/laptop-mode/laptop-mode.conf to use the ondemand kernel governor.&lt;br /&gt;
&lt;br /&gt;
3) hpet is now in the ubuntu sources.  However, you have to boot with hpet=force to get it work.&lt;br /&gt;
&lt;br /&gt;
4) CPU undervolting is very well supported by the X40.  http://ubuntuforums.org/showthread.php?t=786402 has all the information you need.  I use the following set of phc values with perfectly stable results:&lt;br /&gt;
12:15 11:12 10:9 9:6 8:4 6:1&lt;br /&gt;
&lt;br /&gt;
5) To enable middle-wheel scrolling, go to /etc/X11/xorg.conf and add the following to the &amp;quot;configured mouse&amp;quot; section:&lt;br /&gt;
&amp;lt;pre&amp;gt;Option &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
Option &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6) To make the NumLock (Shift+ScrLk) and the Back/Forward buttons near the arrow keys work, add the following to ~/.Xmodmap:&lt;br /&gt;
&amp;lt;pre&amp;gt;keycode 77 = Num_Lock&lt;br /&gt;
keycode 234 = XF86Back&lt;br /&gt;
keycode 233 = XF86Forward&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7) For at least kernel 2.6.24, [[UltraBase X4]] actions are detected by ACPI's &amp;lt;tt&amp;gt;dock&amp;lt;/tt&amp;gt; driver.  By default, [[UltraBay]] devices are not accounted for by the event handlers.  This leads to system freezing when ejecting and undetected peripherals on docking.  The &amp;lt;tt&amp;gt;ultrabay_insert&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ultrabay_eject&amp;lt;/tt&amp;gt; scripts from [[How to hotswap UltraBay devices]] can be used to achieve safe (un)docking.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/modprobe.d/options}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options dock immediate_undock=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabase_dock}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
/usr/local/sbin/ultrabay_insert&lt;br /&gt;
# Anything else that you want executed on docking goes here.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabase_eject}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
/usr/local/sbin/ultrabay_eject&lt;br /&gt;
# Anything else that you want executed on ejection goes here.&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /sys/devices/platform/dock.0/undock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/50-ibm-ultrabase.rules}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{EVENT}==&amp;quot;undock&amp;quot;, KERNEL==&amp;quot;dock.0&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabase_eject&amp;quot;&lt;br /&gt;
ENV{EVENT}==&amp;quot;dock&amp;quot;, KERNEL==&amp;quot;dock.0&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabase_insert&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart &amp;lt;tt&amp;gt;udev&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now, the system will remove the [[UltraBay]] device when the undock button is pressed.  The laptop can be removed when the dock's LED turns off.  When docking, the [[UltraBay]] devices will be scanned and should be detected automatically.&lt;br /&gt;
&lt;br /&gt;
[[Category:X40]] [[Category:Ubuntu 7.04]] [[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=38505</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=38505"/>
		<updated>2008-08-09T01:01:50Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: /* Installation Notes for Ubuntu 8.04 LTS (Hardy Heron) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Executive summary==&lt;br /&gt;
Ubuntu Linux 7.04 -and probably any modern distro- &amp;quot;just works&amp;quot; out-of-the-box on this machine.&lt;br /&gt;
&lt;br /&gt;
No manual configuration was required. Even network, wifi, xorg (with 3D acceleration), sound and suspend-to-ram were properly configured and functional, all with opensource drivers only, at the end of the default Ubuntu installation. I've no problem with fan noises either.&lt;br /&gt;
&lt;br /&gt;
But there's still some room for fine tuning: &lt;br /&gt;
* To improve energy efficiency and battery life (8 cell bat gives 4h with default install, 6h after [[How to reduce power consumption|tuning]])&lt;br /&gt;
* To access some special features (like some [[Default meanings of special keys|Thinkpad special keys]])&lt;br /&gt;
* To better use resources (memory, CPU, power, ...)&lt;br /&gt;
&lt;br /&gt;
==The machine==&lt;br /&gt;
This an &amp;quot;all Intel&amp;quot; machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I opted for this one (beside the 1.2 Kg ultraportable form factor).&lt;br /&gt;
&lt;br /&gt;
* IBM Thinkpad {{X40}} (model 2371Y29), Centrino platform&lt;br /&gt;
* 1 Go DDR SDRAM (333MHz [[PC2700]])&lt;br /&gt;
* CPU: [[Intel Pentium M (Dothan)]] 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 -  no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)&lt;br /&gt;
* Southbridge chipset ICH4-M ([[Intel 82801DBM]]) : PCI, USB, IDE&lt;br /&gt;
* [[E1000|Intel gigabit ethernet]] controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)&lt;br /&gt;
* Wifi controller: [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] on a [[MiniPCI slot]]&lt;br /&gt;
* Northbridge / Graphic chipset : [[Intel Extreme Graphics 2]] ([[Intel 855GME]])&lt;br /&gt;
* [[Ricoh R5C511]] [[PCMCIA]] controller ([[CardBus slot]])&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[TFT display]]: 12&amp;quot; screen, @1024x768 nominal resolution  &lt;br /&gt;
* [[Harddisk Drives|Hard Drive]] : 1.8&amp;quot; - PATA - 40 Go - 4200 RPM - Hitachi DK13FA-40B&lt;br /&gt;
* ATA controler : [[Intel 82801DBM]] Ultra ATA storage controller 24CA&lt;br /&gt;
* Audio controller: [[AD1981B]] AC'97 (linux kernel module: i810_audio)&lt;br /&gt;
* Weigth / size:  1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm&lt;br /&gt;
* [[UltraBase X4]] with broken DVDROM &lt;br /&gt;
* Batteries :&lt;br /&gt;
** default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00&lt;br /&gt;
** new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30&lt;br /&gt;
* BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31&lt;br /&gt;
* IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)&lt;br /&gt;
* FW model : TP-1U&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
The {{X40}} is a very small ultraportable, and doesn't have builtin CDROM or floppy drive. I own an IBM [[UltraBase X4]] dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install this web page] : this was unexpectedly simple and worked flawlessly. Everything got installed from network, &amp;quot;over the air&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I kept the 4Go [[Hidden Protected Area|IBM recovery]] partition at the end of the drive, by superstition and for [[Rescue and Recovery]]. Afterwards, I compiled my own 2.6.22 kernel, patched with high resolution timers, to improve the battery life, and applied tips from the ''[[How to reduce power consumption]]''.&lt;br /&gt;
&lt;br /&gt;
==Small glitches==&lt;br /&gt;
===Distribution (Ubuntu Feisty Fawn 7.04)===&lt;br /&gt;
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better: &lt;br /&gt;
* Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome &amp;quot;logout&amp;quot; screen hides the s2ram and s2disk (hibernate) options. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an &amp;quot;echo mem &amp;gt; /sys/power/state&amp;quot;).&lt;br /&gt;
* Ubuntu installs the &amp;quot;special keys&amp;quot; handler from the &amp;quot;hotkey-setup&amp;quot; package. This is suboptimal, since hotkey-setup supports less special keys than [[tpb]], and consumes a lot of battery (see for instance this [https://bugs.launchpad.net/ubuntu/+source/hotkey-setup/+bug/45404 bug report]).&lt;br /&gt;
* More generally, the whole Ubuntu system needs work to become power efficient on laptops: switch to a 2.6.21 or more kernel, use in kernel &amp;quot;ondemand&amp;quot; governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.&lt;br /&gt;
* The default Ubuntu install left me with a lot processes related to printing (cupsd, gnome-cups-icon, hpiod, hpssd (this one is a python script!)) while I have no printer configured nor attached. Bad. They shouldn't start this until hald find something plugged or until I try to configure a printer. It also left the bluetooth &amp;quot;hcid&amp;quot; daemon, while I've no bluetooth controller. evolution-alarm-notify is running while I've never launched (let alone configured) Evolution.&lt;br /&gt;
&lt;br /&gt;
===Hardware and BIOS limitations===&lt;br /&gt;
The hardware is fine for me, even if a bit old by nowadays standards (I'd prefer have an Intel AHCI chipset with SATA drive on it, for power efficiency reason, and I'd prefer a Core2Duo CPU....). It lacks also some options available on some other Thinkpads models, like the fingerprint reader (but seriously, I prefer give this up to keep my &amp;quot;all Intel&amp;quot; chipsets). It lacks a Firewire controler. The BIOS is also somehow suboptimal, in some aspects.&lt;br /&gt;
&lt;br /&gt;
For an unknown reason, the BIOS disable by default the deeper power saving c-states (C3 and C4). There's two option for this that you need to turn on, despite the the misleading BIOS online help that says &amp;quot;usualy not needed&amp;quot;. Type &amp;quot;F1&amp;quot; during boot to access the BIOS, then enable: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management&lt;br /&gt;
 PCI bus power management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BIOS, as in many laptops, hides the HPET hardware timer to the system. Windows XP don't support HPET and when enabled, it displays a yellow exclamation mark on his device manager list, hence the common vendor choice to disable it. That's a bit odd since Linux can make a great use of it: other available timers (PIC/LAPIC) can't schedule timer events more than a few milliseconds away, so they causes about 20 to 40 CPU wakeups per second. This impact the power consumption greatly. Yet, thanks to the Udo A. Steinberg and Venki Pallipadi, we have a way to force enable HPET on chipsets known to support it (this include ICH3-M, ICH4-M, ICH5-M etc.). So I applied their patch, part of the [http://www.tglx.de/projects/hrtimers/|High Resolution Timer patchset] on top of my hand compiled 2.6.22-rc5 kernel, and all worked fine: &amp;lt;code&amp;gt;dmesg | grep hpet&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    3.740522] hpet clockevent registered&lt;br /&gt;
 [    3.740527] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0&lt;br /&gt;
 [    3.740532] hpet0: 3 64-bit timers, 14318180 Hz&lt;br /&gt;
 [    5.080000] Time: hpet clocksource has been installed.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Not tested yet==&lt;br /&gt;
* [[Embedded Security Subsystem|TCPA chipset]]: Trusted Computing controller. Should be supported by [[tpm]] and [[tpmdd]] but who need this, really ?&lt;br /&gt;
* [[HDAPS]] (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's known to suck power&lt;br /&gt;
* [[IrDA]] (Infrared controller) : is known to work too, and looks supported by my kernel, but I've no other IrDA device to test with&lt;br /&gt;
* [[SD Card slot]] : I've no SD cards to test this&lt;br /&gt;
* [[IBM Integrated 56K Modem (MDC-2)|56K Modem]]: I've no use of this&lt;br /&gt;
&lt;br /&gt;
==System informations==&lt;br /&gt;
'''dmesg | grep states'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    5.280003] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C4])&lt;br /&gt;
 [    5.280009] ACPI: Processor [CPU] (supports 8 throttling states)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''lspci''' :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)&lt;br /&gt;
 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)&lt;br /&gt;
 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)&lt;br /&gt;
 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)&lt;br /&gt;
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)&lt;br /&gt;
 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)&lt;br /&gt;
 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)&lt;br /&gt;
 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)&lt;br /&gt;
 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)&lt;br /&gt;
 02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)&lt;br /&gt;
 02:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)&lt;br /&gt;
 02:01.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller&lt;br /&gt;
 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''cat /proc/cpuinfo''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.40GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est  tm2 &lt;br /&gt;
 bogomips        : 1196.93&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other Linux installation reports on Thinkpad X40==&lt;br /&gt;
Don't forget that the X40 line included different ethernet (tg3 or e1000) and wireless (atheros or Intel) chipsets, and that Linux support involved over time. So there may be some difference between your experience with X40 and others reports. Some reports are quite old too, and Linux involve at fast pace.&lt;br /&gt;
&lt;br /&gt;
'''Thinkwiki internal notes about installing Linux on X40'''&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
&lt;br /&gt;
'''Exernal links to notes about installing linux, OpenBSD and FreeBSD on X40'''&lt;br /&gt;
&lt;br /&gt;
* [http://gentoo-wiki.com/HARDWARE_IBM_ThinkPad_X40 HARDWARE IBM ThinkPad X40] on the Gentoo wiki&lt;br /&gt;
* [http://www.srcf.ucam.org/~mjg59/thinkpad/x40acpi.html ''Linux and ACPI on an IBM Thinkpad X40''], by Matthew Garrett&lt;br /&gt;
* [http://littlesvr.ca/linux-stuff/articles/x40slack/x40slack.php Slackware 10.1 and 10.2] on X40, by Andrew Smith&lt;br /&gt;
* [http://people.bath.ac.uk/masrjb/x40.html SuSE 9.1] on X40, by Russell Bradford&lt;br /&gt;
* [http://www.sun.com/bigadmin/hcl/data/systems/details/1454.html Solaris] on X40, on Sun's BigAdmin database&lt;br /&gt;
* [http://www.cl.cam.ac.uk/~pb22/TPX40/ Red Hat 9] on X40, by Piete Brooks&lt;br /&gt;
* [http://blog.tarotoast.com/2007/01/13/333/ PC-BSD] on X40, by Tarotoast&lt;br /&gt;
* [http://www.roe.ch/FreeBSD_on_the_IBM_ThinkPad_X40 FreeBSD 5.4] on X40, by Daniel Roethlisberger&lt;br /&gt;
* [http://www.iosn.net/Members/kaeru/articles/freebsd/x40 FreeBSD 5.3] on X40, by Khairil Yusof&lt;br /&gt;
* [http://lowerca.se/laptops/ OpenBSD] on X40, by Joshua Stein&lt;br /&gt;
* [http://www.openbsd.org/i386-laptop.html OpenBSD], OpenBSD official site,  i386-laptops page&lt;br /&gt;
* [http://www.citi.umich.edu/u/rees/openbsd/tpx40.html OpenBSD 3.9, 4.0 and 4.1] on X40, by Jim Rees&lt;br /&gt;
* [http://www.catb.org/~esr/faqs/Fedora-Core-on-Thinkpad-X40/ Fedora Core] on X40, by the infamous Eric S. Raymond&lt;br /&gt;
* [http://johnleach.co.uk/documents/thinkpadx40/index.html Fedora] on X40, by John Leach&lt;br /&gt;
* [http://www.mrc-cbu.cam.ac.uk/~matthew/linuxiste/10p1/x40_mandrake_10p1.html Mandrake 10.1] on X40, by Matthew Brett&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40.php Mandriva 10.1] on X40, by ZoneO&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40_2006.php Mandriva 2006] on X40, by Zone0&lt;br /&gt;
* [http://www.linux-on-laptops.com/hosted/ubuntu-thinkpad-x40.html Ubuntu Feisty 7.04], by Chris Cartledge&lt;br /&gt;
* [http://www.tenshu.net/archives/2006/08/08/ubuntu-dapper-606-lts-on-an-ibmlenovo-thinkpad-x40/ Ubuntu Dapper 6.06] on X40, by cmsj&lt;br /&gt;
* [http://www.noapparentmotive.org/topics/ubuntuX40.html Ubuntu Breezy 5.04] on X40, by John Schmitt&lt;br /&gt;
* [http://www.leopold.dk/~martin/IBMx40UbuntuInstall.html Ubuntu Breezy 5.04] on X40, by Martin Leopold&lt;br /&gt;
* [http://martin.wuertele.net/x40/ Debian] on X40, by Martin Würtele&lt;br /&gt;
* [http://www.chronox.de/x40_linux/linux_on_x40.html Debian] on X40, by Stephan Müller;&lt;br /&gt;
* [http://steffenpingel.de/news/archive/2005/apr/22/linux-debian-on-ibm-thinkpad-x40/ Debian] on X40, by Sebastian Schmieg&lt;br /&gt;
* [http://m.ash.to/@/@/Linux/DebianOnThinkpadX40 Debian/GNU Linux 3.1 (Sarge)], by Michael Aschauer&lt;br /&gt;
* [http://www.mathematik.uni-marburg.de/~dfinke/html/howto.html Debian GNU/Linux Unstable with ACPI on an IBM Thinkpad X40], by madn3ss&lt;br /&gt;
* [http://grapevine.net.au/~striggs/thinkpad-x40.html Debian] on X40 (with example PXE network install), by Mark Triggs&lt;br /&gt;
&lt;br /&gt;
==Installation Notes for Ubuntu 8.04 LTS (Hardy Heron)==&lt;br /&gt;
&lt;br /&gt;
Support for the Thinkpad X40 has improved even more in Hardy Heron. A few things to consider that have changed:&lt;br /&gt;
&lt;br /&gt;
1) hotkey-setup has matured to the point that it no longer drains power, so it is now superior to tpb.  My X40 has a nice little GUI that pops up when you change the volume/brightness using hotkeys.&lt;br /&gt;
&lt;br /&gt;
2) Although powersaved is still used, laptop-mode-tools is also installed by default.  You can go to /etc/laptop-mode/laptop-mode.conf to use the ondemand kernel governor.&lt;br /&gt;
&lt;br /&gt;
3) hpet is now in the ubuntu sources.  However, you have to boot with hpet=force to get it work.&lt;br /&gt;
&lt;br /&gt;
4) CPU undervolting is very well supported by the X40.  http://ubuntuforums.org/showthread.php?t=786402 has all the information you need.  I use the following set of phc values with perfectly stable results:&lt;br /&gt;
12:15 11:12 10:9 9:6 8:4 6:1&lt;br /&gt;
&lt;br /&gt;
5) To enable middle-wheel scrolling, go to /etc/X11/xorg.conf and add the following to the &amp;quot;configured mouse&amp;quot; section:&lt;br /&gt;
Option &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
Option &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6) To make the NumLock (Shift+ScrLk) and the Back/Forward buttons near the arrow keys work, add the following to ~/.Xmodmap:&lt;br /&gt;
keycode 77 = Num_Lock&lt;br /&gt;
keycode 234 = XF86Back&lt;br /&gt;
keycode 233 = XF86Forward&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7) For at least kernel 2.6.24, [[UltraBase X4]] actions are detected by ACPI's &amp;lt;tt&amp;gt;dock&amp;lt;/tt&amp;gt; driver.  By default, [[UltraBay]] devices are not accounted for by the event handlers.  This leads to system freezing when ejecting and undetected peripherals on docking.  The &amp;lt;tt&amp;gt;ultrabay_insert&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ultrabay_eject&amp;lt;/tt&amp;gt; scripts from [[How to hotswap UltraBay devices]] can be used to achieve safe (un)docking.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/modprobe.d/options}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options dock immediate_undock=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabase_dock}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
/usr/local/sbin/ultrabay_insert&lt;br /&gt;
# Anything else that you want executed on docking goes here.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabase_eject}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
/usr/local/sbin/ultrabay_eject&lt;br /&gt;
# Anything else that you want executed on ejection goes here.&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /sys/devices/platform/dock.0/undock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/50-ibm-ultrabase.rules}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{EVENT}==&amp;quot;undock&amp;quot;, KERNEL==&amp;quot;dock.0&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabase_eject&amp;quot;&lt;br /&gt;
ENV{EVENT}==&amp;quot;dock&amp;quot;, KERNEL==&amp;quot;dock.0&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabase_insert&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart &amp;lt;tt&amp;gt;udev&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now, the system will remove the [[UltraBay]] device when the undock button is pressed.  The laptop can be removed when the dock's LED turns off.  When docking, the [[UltraBay]] devices will be scanned and should be detected automatically.&lt;br /&gt;
&lt;br /&gt;
[[Category:X40]] [[Category:Ubuntu 7.04]] [[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=38504</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=38504"/>
		<updated>2008-08-08T02:35:47Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Executive summary==&lt;br /&gt;
Ubuntu Linux 7.04 -and probably any modern distro- &amp;quot;just works&amp;quot; out-of-the-box on this machine.&lt;br /&gt;
&lt;br /&gt;
No manual configuration was required. Even network, wifi, xorg (with 3D acceleration), sound and suspend-to-ram were properly configured and functional, all with opensource drivers only, at the end of the default Ubuntu installation. I've no problem with fan noises either.&lt;br /&gt;
&lt;br /&gt;
But there's still some room for fine tuning: &lt;br /&gt;
* To improve energy efficiency and battery life (8 cell bat gives 4h with default install, 6h after [[How to reduce power consumption|tuning]])&lt;br /&gt;
* To access some special features (like some [[Default meanings of special keys|Thinkpad special keys]])&lt;br /&gt;
* To better use resources (memory, CPU, power, ...)&lt;br /&gt;
&lt;br /&gt;
==The machine==&lt;br /&gt;
This an &amp;quot;all Intel&amp;quot; machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I opted for this one (beside the 1.2 Kg ultraportable form factor).&lt;br /&gt;
&lt;br /&gt;
* IBM Thinkpad {{X40}} (model 2371Y29), Centrino platform&lt;br /&gt;
* 1 Go DDR SDRAM (333MHz [[PC2700]])&lt;br /&gt;
* CPU: [[Intel Pentium M (Dothan)]] 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 -  no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)&lt;br /&gt;
* Southbridge chipset ICH4-M ([[Intel 82801DBM]]) : PCI, USB, IDE&lt;br /&gt;
* [[E1000|Intel gigabit ethernet]] controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)&lt;br /&gt;
* Wifi controller: [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] on a [[MiniPCI slot]]&lt;br /&gt;
* Northbridge / Graphic chipset : [[Intel Extreme Graphics 2]] ([[Intel 855GME]])&lt;br /&gt;
* [[Ricoh R5C511]] [[PCMCIA]] controller ([[CardBus slot]])&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[TFT display]]: 12&amp;quot; screen, @1024x768 nominal resolution  &lt;br /&gt;
* [[Harddisk Drives|Hard Drive]] : 1.8&amp;quot; - PATA - 40 Go - 4200 RPM - Hitachi DK13FA-40B&lt;br /&gt;
* ATA controler : [[Intel 82801DBM]] Ultra ATA storage controller 24CA&lt;br /&gt;
* Audio controller: [[AD1981B]] AC'97 (linux kernel module: i810_audio)&lt;br /&gt;
* Weigth / size:  1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm&lt;br /&gt;
* [[UltraBase X4]] with broken DVDROM &lt;br /&gt;
* Batteries :&lt;br /&gt;
** default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00&lt;br /&gt;
** new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30&lt;br /&gt;
* BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31&lt;br /&gt;
* IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)&lt;br /&gt;
* FW model : TP-1U&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
The {{X40}} is a very small ultraportable, and doesn't have builtin CDROM or floppy drive. I own an IBM [[UltraBase X4]] dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install this web page] : this was unexpectedly simple and worked flawlessly. Everything got installed from network, &amp;quot;over the air&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I kept the 4Go [[Hidden Protected Area|IBM recovery]] partition at the end of the drive, by superstition and for [[Rescue and Recovery]]. Afterwards, I compiled my own 2.6.22 kernel, patched with high resolution timers, to improve the battery life, and applied tips from the ''[[How to reduce power consumption]]''.&lt;br /&gt;
&lt;br /&gt;
==Small glitches==&lt;br /&gt;
===Distribution (Ubuntu Feisty Fawn 7.04)===&lt;br /&gt;
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better: &lt;br /&gt;
* Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome &amp;quot;logout&amp;quot; screen hides the s2ram and s2disk (hibernate) options. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an &amp;quot;echo mem &amp;gt; /sys/power/state&amp;quot;).&lt;br /&gt;
* Ubuntu installs the &amp;quot;special keys&amp;quot; handler from the &amp;quot;hotkey-setup&amp;quot; package. This is suboptimal, since hotkey-setup supports less special keys than [[tpb]], and consumes a lot of battery (see for instance this [https://bugs.launchpad.net/ubuntu/+source/hotkey-setup/+bug/45404 bug report]).&lt;br /&gt;
* More generally, the whole Ubuntu system needs work to become power efficient on laptops: switch to a 2.6.21 or more kernel, use in kernel &amp;quot;ondemand&amp;quot; governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.&lt;br /&gt;
* The default Ubuntu install left me with a lot processes related to printing (cupsd, gnome-cups-icon, hpiod, hpssd (this one is a python script!)) while I have no printer configured nor attached. Bad. They shouldn't start this until hald find something plugged or until I try to configure a printer. It also left the bluetooth &amp;quot;hcid&amp;quot; daemon, while I've no bluetooth controller. evolution-alarm-notify is running while I've never launched (let alone configured) Evolution.&lt;br /&gt;
&lt;br /&gt;
===Hardware and BIOS limitations===&lt;br /&gt;
The hardware is fine for me, even if a bit old by nowadays standards (I'd prefer have an Intel AHCI chipset with SATA drive on it, for power efficiency reason, and I'd prefer a Core2Duo CPU....). It lacks also some options available on some other Thinkpads models, like the fingerprint reader (but seriously, I prefer give this up to keep my &amp;quot;all Intel&amp;quot; chipsets). It lacks a Firewire controler. The BIOS is also somehow suboptimal, in some aspects.&lt;br /&gt;
&lt;br /&gt;
For an unknown reason, the BIOS disable by default the deeper power saving c-states (C3 and C4). There's two option for this that you need to turn on, despite the the misleading BIOS online help that says &amp;quot;usualy not needed&amp;quot;. Type &amp;quot;F1&amp;quot; during boot to access the BIOS, then enable: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management&lt;br /&gt;
 PCI bus power management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BIOS, as in many laptops, hides the HPET hardware timer to the system. Windows XP don't support HPET and when enabled, it displays a yellow exclamation mark on his device manager list, hence the common vendor choice to disable it. That's a bit odd since Linux can make a great use of it: other available timers (PIC/LAPIC) can't schedule timer events more than a few milliseconds away, so they causes about 20 to 40 CPU wakeups per second. This impact the power consumption greatly. Yet, thanks to the Udo A. Steinberg and Venki Pallipadi, we have a way to force enable HPET on chipsets known to support it (this include ICH3-M, ICH4-M, ICH5-M etc.). So I applied their patch, part of the [http://www.tglx.de/projects/hrtimers/|High Resolution Timer patchset] on top of my hand compiled 2.6.22-rc5 kernel, and all worked fine: &amp;lt;code&amp;gt;dmesg | grep hpet&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    3.740522] hpet clockevent registered&lt;br /&gt;
 [    3.740527] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0&lt;br /&gt;
 [    3.740532] hpet0: 3 64-bit timers, 14318180 Hz&lt;br /&gt;
 [    5.080000] Time: hpet clocksource has been installed.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Not tested yet==&lt;br /&gt;
* [[Embedded Security Subsystem|TCPA chipset]]: Trusted Computing controller. Should be supported by [[tpm]] and [[tpmdd]] but who need this, really ?&lt;br /&gt;
* [[HDAPS]] (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's known to suck power&lt;br /&gt;
* [[IrDA]] (Infrared controller) : is known to work too, and looks supported by my kernel, but I've no other IrDA device to test with&lt;br /&gt;
* [[SD Card slot]] : I've no SD cards to test this&lt;br /&gt;
* [[IBM Integrated 56K Modem (MDC-2)|56K Modem]]: I've no use of this&lt;br /&gt;
&lt;br /&gt;
==System informations==&lt;br /&gt;
'''dmesg | grep states'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    5.280003] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C4])&lt;br /&gt;
 [    5.280009] ACPI: Processor [CPU] (supports 8 throttling states)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''lspci''' :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)&lt;br /&gt;
 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)&lt;br /&gt;
 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)&lt;br /&gt;
 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)&lt;br /&gt;
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)&lt;br /&gt;
 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)&lt;br /&gt;
 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)&lt;br /&gt;
 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)&lt;br /&gt;
 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)&lt;br /&gt;
 02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)&lt;br /&gt;
 02:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)&lt;br /&gt;
 02:01.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller&lt;br /&gt;
 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''cat /proc/cpuinfo''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.40GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est  tm2 &lt;br /&gt;
 bogomips        : 1196.93&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other Linux installation reports on Thinkpad X40==&lt;br /&gt;
Don't forget that the X40 line included different ethernet (tg3 or e1000) and wireless (atheros or Intel) chipsets, and that Linux support involved over time. So there may be some difference between your experience with X40 and others reports. Some reports are quite old too, and Linux involve at fast pace.&lt;br /&gt;
&lt;br /&gt;
'''Thinkwiki internal notes about installing Linux on X40'''&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
&lt;br /&gt;
'''Exernal links to notes about installing linux, OpenBSD and FreeBSD on X40'''&lt;br /&gt;
&lt;br /&gt;
* [http://gentoo-wiki.com/HARDWARE_IBM_ThinkPad_X40 HARDWARE IBM ThinkPad X40] on the Gentoo wiki&lt;br /&gt;
* [http://www.srcf.ucam.org/~mjg59/thinkpad/x40acpi.html ''Linux and ACPI on an IBM Thinkpad X40''], by Matthew Garrett&lt;br /&gt;
* [http://littlesvr.ca/linux-stuff/articles/x40slack/x40slack.php Slackware 10.1 and 10.2] on X40, by Andrew Smith&lt;br /&gt;
* [http://people.bath.ac.uk/masrjb/x40.html SuSE 9.1] on X40, by Russell Bradford&lt;br /&gt;
* [http://www.sun.com/bigadmin/hcl/data/systems/details/1454.html Solaris] on X40, on Sun's BigAdmin database&lt;br /&gt;
* [http://www.cl.cam.ac.uk/~pb22/TPX40/ Red Hat 9] on X40, by Piete Brooks&lt;br /&gt;
* [http://blog.tarotoast.com/2007/01/13/333/ PC-BSD] on X40, by Tarotoast&lt;br /&gt;
* [http://www.roe.ch/FreeBSD_on_the_IBM_ThinkPad_X40 FreeBSD 5.4] on X40, by Daniel Roethlisberger&lt;br /&gt;
* [http://www.iosn.net/Members/kaeru/articles/freebsd/x40 FreeBSD 5.3] on X40, by Khairil Yusof&lt;br /&gt;
* [http://lowerca.se/laptops/ OpenBSD] on X40, by Joshua Stein&lt;br /&gt;
* [http://www.openbsd.org/i386-laptop.html OpenBSD], OpenBSD official site,  i386-laptops page&lt;br /&gt;
* [http://www.citi.umich.edu/u/rees/openbsd/tpx40.html OpenBSD 3.9, 4.0 and 4.1] on X40, by Jim Rees&lt;br /&gt;
* [http://www.catb.org/~esr/faqs/Fedora-Core-on-Thinkpad-X40/ Fedora Core] on X40, by the infamous Eric S. Raymond&lt;br /&gt;
* [http://johnleach.co.uk/documents/thinkpadx40/index.html Fedora] on X40, by John Leach&lt;br /&gt;
* [http://www.mrc-cbu.cam.ac.uk/~matthew/linuxiste/10p1/x40_mandrake_10p1.html Mandrake 10.1] on X40, by Matthew Brett&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40.php Mandriva 10.1] on X40, by ZoneO&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40_2006.php Mandriva 2006] on X40, by Zone0&lt;br /&gt;
* [http://www.linux-on-laptops.com/hosted/ubuntu-thinkpad-x40.html Ubuntu Feisty 7.04], by Chris Cartledge&lt;br /&gt;
* [http://www.tenshu.net/archives/2006/08/08/ubuntu-dapper-606-lts-on-an-ibmlenovo-thinkpad-x40/ Ubuntu Dapper 6.06] on X40, by cmsj&lt;br /&gt;
* [http://www.noapparentmotive.org/topics/ubuntuX40.html Ubuntu Breezy 5.04] on X40, by John Schmitt&lt;br /&gt;
* [http://www.leopold.dk/~martin/IBMx40UbuntuInstall.html Ubuntu Breezy 5.04] on X40, by Martin Leopold&lt;br /&gt;
* [http://martin.wuertele.net/x40/ Debian] on X40, by Martin Würtele&lt;br /&gt;
* [http://www.chronox.de/x40_linux/linux_on_x40.html Debian] on X40, by Stephan Müller;&lt;br /&gt;
* [http://steffenpingel.de/news/archive/2005/apr/22/linux-debian-on-ibm-thinkpad-x40/ Debian] on X40, by Sebastian Schmieg&lt;br /&gt;
* [http://m.ash.to/@/@/Linux/DebianOnThinkpadX40 Debian/GNU Linux 3.1 (Sarge)], by Michael Aschauer&lt;br /&gt;
* [http://www.mathematik.uni-marburg.de/~dfinke/html/howto.html Debian GNU/Linux Unstable with ACPI on an IBM Thinkpad X40], by madn3ss&lt;br /&gt;
* [http://grapevine.net.au/~striggs/thinkpad-x40.html Debian] on X40 (with example PXE network install), by Mark Triggs&lt;br /&gt;
&lt;br /&gt;
==Installation Notes for Ubuntu 8.04 LTS (Hardy Heron)==&lt;br /&gt;
&lt;br /&gt;
Support for the Thinkpad X40 has improved even more in Hardy Heron. A few things to consider that have changed:&lt;br /&gt;
&lt;br /&gt;
1) hotkey-setup has matured to the point that it no longer drains power, so it is now superior to tpb.  My X40 has a nice little GUI that pops up when you change the volume/brightness using hotkeys.&lt;br /&gt;
&lt;br /&gt;
2) Although powersaved is still used, laptop-mode-tools is also installed by default.  You can go to /etc/laptop-mode/laptop-mode.conf to use the ondemand kernel governor.&lt;br /&gt;
&lt;br /&gt;
3) hpet is now in the ubuntu sources.  However, you have to boot with hpet=force to get it work.&lt;br /&gt;
&lt;br /&gt;
4) CPU undervolting is very well supported by the X40.  http://ubuntuforums.org/showthread.php?t=786402 has all the information you need.  I use the following set of phc values with perfectly stable results:&lt;br /&gt;
12:15 11:12 10:9 9:6 8:4 6:1&lt;br /&gt;
&lt;br /&gt;
5) To enable middle-wheel scrolling, go to /etc/X11/xorg.conf and add the following to the &amp;quot;configured mouse&amp;quot; section:&lt;br /&gt;
Option &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
Option &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6) For at least kernel 2.6.24, [[UltraBase X4]] actions are detected by ACPI's &amp;lt;tt&amp;gt;dock&amp;lt;/tt&amp;gt; driver.  By default, [[UltraBay]] devices are not accounted for by the event handlers.  This leads to system freezing when ejecting and undetected peripherals on docking.  The &amp;lt;tt&amp;gt;ultrabay_insert&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ultrabay_eject&amp;lt;/tt&amp;gt; scripts from [[How to hotswap UltraBay devices]] can be used to achieve safe (un)docking.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/modprobe.d/options}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options dock immediate_undock=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabase_dock}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
/usr/local/sbin/ultrabay_insert&lt;br /&gt;
# Anything else that you want executed on docking goes here.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabase_eject}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
/usr/local/sbin/ultrabay_eject&lt;br /&gt;
# Anything else that you want executed on ejection goes here.&lt;br /&gt;
&lt;br /&gt;
echo 1 &amp;gt; /sys/devices/platform/dock.0/undock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/50-ibm-ultrabase.rules}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{EVENT}==&amp;quot;undock&amp;quot;, KERNEL==&amp;quot;dock.0&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabase_eject&amp;quot;&lt;br /&gt;
ENV{EVENT}==&amp;quot;dock&amp;quot;, KERNEL==&amp;quot;dock.0&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabase_insert&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart &amp;lt;tt&amp;gt;udev&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now, the system will remove the [[UltraBay]] device when the undock button is pressed.  The laptop can be removed when the dock's LED turns off.  When docking, the [[UltraBay]] devices will be scanned and should be detected automatically.&lt;br /&gt;
&lt;br /&gt;
[[Category:X40]] [[Category:Ubuntu 7.04]] [[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Install_Sidux_2007-04.5_(Christmas_Special)_on_a_ThinkPad_X40&amp;diff=36330</id>
		<title>Install Sidux 2007-04.5 (Christmas Special) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Install_Sidux_2007-04.5_(Christmas_Special)_on_a_ThinkPad_X40&amp;diff=36330"/>
		<updated>2008-02-03T18:31:51Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is how I installed Sidux 2007-04.5 on my Thinkpad X40:&lt;br /&gt;
&lt;br /&gt;
1) The install: The version of GParted in the Debian repositories is out of date.  Thus, I used Parted Magic 1.9 to repartition my Windows partition.  I made Windows 25GB and gave myself a 14GB ext3 root with a 1GB swap.  For more information on why I choose ext3, see http://www.sidux.com/PNphpBB2-viewtopic-t-1336.html&lt;br /&gt;
&lt;br /&gt;
2) Updates: As root, I run smxi -iK to get the latest experimental kernel and bring myself into sync with Debian Sid repositories.&lt;br /&gt;
&lt;br /&gt;
3) General system management:&lt;br /&gt;
*Sudo is unsafe.  Use root shells.  Use sux if you MUST run X applications with root privileges.&lt;br /&gt;
*Read the Sidux manual.  http://manual.sidux.com&lt;br /&gt;
*Update often and make sure you have read the warnings.&lt;br /&gt;
*DO NOT USE THE FOLLOWING: powertweak, preload, prelink, localepurge, apt-get autoremove, aptitude&lt;br /&gt;
*Use OpenDNS.  It is safer and faster.&lt;br /&gt;
&lt;br /&gt;
4) Post-install tweaks:&lt;br /&gt;
*Get the wireless firmware: apt-get install ipw2200-firmware&lt;br /&gt;
*Get Hibernate/Suspend working: 1) add Option &amp;quot;VBERestore&amp;quot; &amp;quot;true&amp;quot; to /etc/X11/xorg.conf, 2) apt-get install acpi-support and turn on &amp;quot;save video state&amp;quot; in /etc/default/acpi-support 3) if you use compiz-fusion, apt-get install uswsusp and use s2both to suspend.  Otherwise, pm-suspend and pm-hibernate will work fine for you.&lt;br /&gt;
*Get laptop tweaks: apt-get install powertop &amp;amp;&amp;amp; powertop.  To make stuff stick on reboots, you should add the commands to /etc/rc.local&lt;br /&gt;
*Get speed tweaks: use tune2fs -o journal_data_writeback /dev/sdaX and add &amp;quot;data=writeback&amp;quot; to your /etc/fstab mount options.  Turn on tmpfs for /tmp in /etc/fstab.  Turn on concurrency=shell in /etc/init.d/rc.  Profile your grub boot-up.  I find that most other tweaks beside these four things have absolutely no impact on how fast your system runs.  Edit your /etc/sysctl.conf, for more information on this see http://antix.freeforums.org/viewtopic.php?t=124.&lt;br /&gt;
*Get network tweaks: turn off ipv6 aliases in /etc/modprobe.d/aliases.  Use OpenDNS.&lt;br /&gt;
&lt;br /&gt;
5) Setting up ICS with a Samsung Blackjack 2 mobile phone over a Kensington bluetooth dongle: http://www.sidux.com/index.php?module=pnWikka&amp;amp;tag=BTPANWM6&lt;br /&gt;
&lt;br /&gt;
6) Still not working:&lt;br /&gt;
&lt;br /&gt;
HDAPS does not work for me.  tp-smapi does not compile with my 2.6.24 kernel.  Even if I use an older kernel I still can't get it to work.&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Install_Sidux_2007-04.5_(Christmas_Special)_on_a_ThinkPad_X40&amp;diff=36329</id>
		<title>Install Sidux 2007-04.5 (Christmas Special) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Install_Sidux_2007-04.5_(Christmas_Special)_on_a_ThinkPad_X40&amp;diff=36329"/>
		<updated>2008-02-03T18:29:02Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is how I installed Sidux 2007-04.5 on my Thinkpad X40:&lt;br /&gt;
&lt;br /&gt;
1) The install: The version of GParted in the Debian repositories is out of date.  Thus, I used Parted Magic 1.9 to repartition my Windows partition.  I made Windows 25GB and gave myself a 14GB ext3 root with a 1GB swap.  For more information on why I choose ext3, see http://www.sidux.com/PNphpBB2-viewtopic-t-1336.html&lt;br /&gt;
&lt;br /&gt;
2) Updates: As root, I run smxi -iK to get the latest experimental kernel and bring myself into sync with Debian Sid repositories.&lt;br /&gt;
&lt;br /&gt;
3) General system management:&lt;br /&gt;
*Sudo is unsafe.  Use root shells.  Don't login as root.  Use sux if you MUST run x applications with x privileges.&lt;br /&gt;
*Read the Sidux manual.  http://manual.sidux.com&lt;br /&gt;
*Update often and make sure you have read the warnings.&lt;br /&gt;
*DO NOT USE THE FOLLOWING: powertweak, preload, prelink, localepurge, apt-get autoremove, aptitude&lt;br /&gt;
*Use OpenDNS.  It is safer and faster.&lt;br /&gt;
&lt;br /&gt;
4) Post-install tweaks:&lt;br /&gt;
*Get the wireless firmware: apt-get install ipw2200-firmware&lt;br /&gt;
*Get Hibernate/Suspend working: 1) add Option &amp;quot;VBERestore&amp;quot; &amp;quot;true&amp;quot; to /etc/X11/xorg.conf, 2) apt-get install acpi-support and turn on &amp;quot;save video state&amp;quot; in /etc/default/acpi-support 3) if you use compiz-fusion, apt-get install uswsusp and use s2both to suspend.  Otherwise, pm-suspend and pm-hibernate will work fine for you.&lt;br /&gt;
*Get laptop tweaks: apt-get install powertop &amp;amp;&amp;amp; powertop.  To make stuff stick on reboots, you should add the commands to /etc/rc.local&lt;br /&gt;
*Get speed tweaks: use tune2fs -o journal_data_writeback /dev/sdaX and add &amp;quot;data=writeback&amp;quot; to your /etc/fstab mount options.  Turn on tmpfs for /tmp in /etc/fstab.  Turn on concurrency=shell in /etc/init.d/rc.  Profile your grub boot-up.  I find that most other tweaks beside these four things have absolutely no impact on how fast your system runs.  Edit your /etc/sysctl.conf, for more information on this see http://antix.freeforums.org/viewtopic.php?t=124.&lt;br /&gt;
*Get network tweaks: turn off ipv6 aliases in /etc/modprobe.d/aliases.  Use OpenDNS.&lt;br /&gt;
&lt;br /&gt;
5) Setting up ICS with a Samsung Blackjack 2 mobile phone over a Kensington bluetooth dongle: http://www.sidux.com/index.php?module=pnWikka&amp;amp;tag=BTPANWM6&lt;br /&gt;
&lt;br /&gt;
6) Still not working:&lt;br /&gt;
&lt;br /&gt;
HDAPS does not work for me.  tp-smapi does not compile with my 2.6.24 kernel.  Even if I use an older kernel I still can't get it to work.&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Install_Sidux_2007-04.5_(Christmas_Special)_on_a_ThinkPad_X40&amp;diff=36328</id>
		<title>Install Sidux 2007-04.5 (Christmas Special) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Install_Sidux_2007-04.5_(Christmas_Special)_on_a_ThinkPad_X40&amp;diff=36328"/>
		<updated>2008-02-03T18:28:25Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: â†Created page with 'This is how I installed Sidux 2007-04.5 on my Thinkpad X40:  1) The install: The version of GParted in the Debian repositories is out of date.  Thus, I used Parted Magic 1...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is how I installed Sidux 2007-04.5 on my Thinkpad X40:&lt;br /&gt;
&lt;br /&gt;
1) The install: The version of GParted in the Debian repositories is out of date.  Thus, I used Parted Magic 1.9 to repartition my Windows partition.  I made Windows 25GB and gave myself a 14GB ext3 root with a 1GB swap.  For more information on why I choose ext3, see http://www.sidux.com/PNphpBB2-viewtopic-t-1336.html&lt;br /&gt;
&lt;br /&gt;
2) Updates: As root, I run smxi -iK to get the latest experimental kernel and bring myself into sync with Debian Sid repositories.&lt;br /&gt;
&lt;br /&gt;
3) General system management:&lt;br /&gt;
-Sudo is unsafe.  Use root shells.  Don't login as root.  Use sux if you MUST run x applications with x privileges.&lt;br /&gt;
-Read the Sidux manual.  http://manual.sidux.com&lt;br /&gt;
-Update often and make sure you have read the warnings.&lt;br /&gt;
-DO NOT USE THE FOLLOWING: powertweak, preload, prelink, localepurge, apt-get autoremove, aptitude&lt;br /&gt;
-Use OpenDNS.  It is safer and faster.&lt;br /&gt;
&lt;br /&gt;
4) Post-install tweaks:&lt;br /&gt;
-Get the wireless firmware: apt-get install ipw2200-firmware&lt;br /&gt;
-Get Hibernate/Suspend working: 1) add Option &amp;quot;VBERestore&amp;quot; &amp;quot;true&amp;quot; to /etc/X11/xorg.conf, 2) apt-get install acpi-support and turn on &amp;quot;save video state&amp;quot; in /etc/default/acpi-support 3) if you use compiz-fusion, apt-get install uswsusp and use s2both to suspend.  Otherwise, pm-suspend and pm-hibernate will work fine for you.&lt;br /&gt;
-Get laptop tweaks: apt-get install powertop &amp;amp;&amp;amp; powertop.  To make stuff stick on reboots, you should add the commands to /etc/rc.local&lt;br /&gt;
-Get speed tweaks: use tune2fs -o journal_data_writeback /dev/sdaX and add &amp;quot;data=writeback&amp;quot; to your /etc/fstab mount options.  Turn on tmpfs for /tmp in /etc/fstab.  Turn on concurrency=shell in /etc/init.d/rc.  Profile your grub boot-up.  I find that most other tweaks beside these four things have absolutely no impact on how fast your system runs.  Edit your /etc/sysctl.conf, for more information on this see http://antix.freeforums.org/viewtopic.php?t=124.&lt;br /&gt;
-Get network tweaks: turn off ipv6 aliases in /etc/modprobe.d/aliases.  Use OpenDNS.&lt;br /&gt;
&lt;br /&gt;
5) Setting up ICS with a Samsung Blackjack 2 mobile phone over a Kensington bluetooth dongle: http://www.sidux.com/index.php?module=pnWikka&amp;amp;tag=BTPANWM6&lt;br /&gt;
&lt;br /&gt;
6) Still not working:&lt;br /&gt;
&lt;br /&gt;
HDAPS does not work for me.  tp-smapi does not compile with my 2.6.24 kernel.  Even if I use an older kernel I still can't get it to work.&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X40&amp;diff=36327</id>
		<title>Installation instructions for the ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X40&amp;diff=36327"/>
		<updated>2008-02-03T17:56:18Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{X40}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
If you don't have a CD-ROM solution, please look at [[Installation on ThinkPads without CD-ROM drive]].&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
*{{Install|Ubuntu| 7.04 (Feisty Fawn)|X40}}&lt;br /&gt;
*{{Install|Sidux| 2007-04.5 (Christmas Special)|X40}}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34963</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34963"/>
		<updated>2007-12-02T17:49:44Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: /* Installation Notes for Ubuntu 8.04 Tribe 1 (Hardy Heron) by dmoerner */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Executive summary==&lt;br /&gt;
Ubuntu Linux 7.04 -and probably any modern distro- &amp;quot;just works&amp;quot; out-of-the-box on this machine.&lt;br /&gt;
&lt;br /&gt;
No manual configuration was required. Even network, wifi, xorg (with 3D acceleration), sound and suspend-to-ram were properly configured and functional, all with opensource drivers only, at the end of the default Ubuntu installation. I've no problem with fan noises either.&lt;br /&gt;
&lt;br /&gt;
But there's still some room for fine tuning: &lt;br /&gt;
* To improve energy efficiency and battery life (8 cell bat gives 4h with default install, 6h after [[How to reduce power consumption|tuning]])&lt;br /&gt;
* To access some special features (like some [[Default meanings of special keys|Thinkpad special keys]])&lt;br /&gt;
* To better use resources (memory, CPU, power, ...)&lt;br /&gt;
&lt;br /&gt;
==The machine==&lt;br /&gt;
This an &amp;quot;all Intel&amp;quot; machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I opted for this one (beside the 1.2 Kg ultraportable form factor).&lt;br /&gt;
&lt;br /&gt;
* IBM Thinkpad {{X40}} (model 2371Y29), Centrino platform&lt;br /&gt;
* 1 Go DDR SDRAM (333MHz [[PC2700]])&lt;br /&gt;
* CPU: [[Intel Pentium M (Dothan)]] 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 -  no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)&lt;br /&gt;
* Southbridge chipset ICH4-M ([[Intel 82801DBM]]) : PCI, USB, IDE&lt;br /&gt;
* [[E1000|Intel gigabit ethernet]] controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)&lt;br /&gt;
* Wifi controller: [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] on a [[MiniPCI slot]]&lt;br /&gt;
* Northbridge / Graphic chipset : [[Intel Extreme Graphics 2]] ([[Intel 855GME]])&lt;br /&gt;
* [[Ricoh R5C511]] [[PCMCIA]] controller ([[CardBus slot]])&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[TFT display]]: 12&amp;quot; screen, @1024x768 nominal resolution  &lt;br /&gt;
* [[Harddisk Drives|Hard Drive]] : 1.8&amp;quot; - PATA - 40 Go - 4200 RPM - Hitachi DK13FA-40B&lt;br /&gt;
* ATA controler : [[Intel 82801DBM]] Ultra ATA storage controller 24CA&lt;br /&gt;
* Audio controller: [[AD1981B]] AC'97 (linux kernel module: i810_audio)&lt;br /&gt;
* Weigth / size:  1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm&lt;br /&gt;
* [[UltraBase X4]] with broken DVDROM &lt;br /&gt;
* Batteries :&lt;br /&gt;
** default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00&lt;br /&gt;
** new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30&lt;br /&gt;
* BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31&lt;br /&gt;
* IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)&lt;br /&gt;
* FW model : TP-1U&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
The {{X40}} is a very small ultraportable, and doesn't have builtin CDROM or floppy drive. I own an IBM [[UltraBase X4]] dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install this web page] : this was unexpectedly simple and worked flawlessly. Everything got installed from network, &amp;quot;over the air&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I kept the 4Go [[Hidden Protected Area|IBM recovery]] partition at the end of the drive, by superstition and for [[Rescue and Recovery]]. Afterwards, I compiled my own 2.6.22 kernel, patched with high resolution timers, to improve the battery life, and applied tips from the ''[[How to reduce power consumption]]''.&lt;br /&gt;
&lt;br /&gt;
==Small glitches==&lt;br /&gt;
===Distribution (Ubuntu Feisty Fawn 7.04)===&lt;br /&gt;
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better: &lt;br /&gt;
* Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome &amp;quot;logout&amp;quot; screen hides the s2ram and s2disk (hibernate) options. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an &amp;quot;echo mem &amp;gt; /sys/power/state&amp;quot;).&lt;br /&gt;
* Ubuntu installs the &amp;quot;special keys&amp;quot; handler from the &amp;quot;hotkey-setup&amp;quot; package. This is suboptimal, since hotkey-setup supports less special keys than [[tpb]], and consumes a lot of battery (see for instance this [https://bugs.launchpad.net/ubuntu/+source/hotkey-setup/+bug/45404 bug report]).&lt;br /&gt;
* More generally, the whole Ubuntu system needs work to become power efficient on laptops: switch to a 2.6.21 or more kernel, use in kernel &amp;quot;ondemand&amp;quot; governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.&lt;br /&gt;
* The default Ubuntu install left me with a lot processes related to printing (cupsd, gnome-cups-icon, hpiod, hpssd (this one is a python script!)) while I have no printer configured nor attached. Bad. They shouldn't start this until hald find something plugged or until I try to configure a printer. It also left the bluetooth &amp;quot;hcid&amp;quot; daemon, while I've no bluetooth controller. evolution-alarm-notify is running while I've never launched (let alone configured) Evolution.&lt;br /&gt;
&lt;br /&gt;
===Hardware and BIOS limitations===&lt;br /&gt;
The hardware is fine for me, even if a bit old by nowadays standards (I'd prefer have an Intel AHCI chipset with SATA drive on it, for power efficiency reason, and I'd prefer a Core2Duo CPU....). It lacks also some options available on some other Thinkpads models, like the fingerprint reader (but seriously, I prefer give this up to keep my &amp;quot;all Intel&amp;quot; chipsets). It lacks a Firewire controler. The BIOS is also somehow suboptimal, in some aspects.&lt;br /&gt;
&lt;br /&gt;
For an unknown reason, the BIOS disable by default the deeper power saving c-states (C3 and C4). There's two option for this that you need to turn on, despite the the misleading BIOS online help that says &amp;quot;usualy not needed&amp;quot;. Type &amp;quot;F1&amp;quot; during boot to access the BIOS, then enable: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management&lt;br /&gt;
 PCI bus power management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BIOS, as in many laptops, hides the HPET hardware timer to the system. Windows XP don't support HPET and when enabled, it displays a yellow exclamation mark on his device manager list, hence the common vendor choice to disable it. That's a bit odd since Linux can make a great use of it: other available timers (PIC/LAPIC) can't schedule timer events more than a few milliseconds away, so they causes about 20 to 40 CPU wakeups per second. This impact the power consumption greatly. Yet, thanks to the Udo A. Steinberg and Venki Pallipadi, we have a way to force enable HPET on chipsets known to support it (this include ICH3-M, ICH4-M, ICH5-M etc.). So I applied their patch, part of the [http://www.tglx.de/projects/hrtimers/|High Resolution Timer patchset] on top of my hand compiled 2.6.22-rc5 kernel, and all worked fine: &amp;lt;code&amp;gt;dmesg | grep hpet&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    3.740522] hpet clockevent registered&lt;br /&gt;
 [    3.740527] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0&lt;br /&gt;
 [    3.740532] hpet0: 3 64-bit timers, 14318180 Hz&lt;br /&gt;
 [    5.080000] Time: hpet clocksource has been installed.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Not tested yet==&lt;br /&gt;
* [[Embedded Security Subsystem|TCPA chipset]]: Trusted Computing controller. Should be supported by [[tpm]] and [[tpmdd]] but who need this, really ?&lt;br /&gt;
* [[HDAPS]] (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's known to suck power&lt;br /&gt;
* [[IrDA]] (Infrared controller) : is known to work too, and looks supported by my kernel, but I've no other IrDA device to test with&lt;br /&gt;
* [[SD Card slot]] : I've no SD cards to test this&lt;br /&gt;
* [[IBM Integrated 56K Modem (MDC-2)|56K Modem]]: I've no use of this&lt;br /&gt;
&lt;br /&gt;
==System informations==&lt;br /&gt;
'''dmesg | grep states'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    5.280003] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C4])&lt;br /&gt;
 [    5.280009] ACPI: Processor [CPU] (supports 8 throttling states)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''lspci''' :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)&lt;br /&gt;
 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)&lt;br /&gt;
 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)&lt;br /&gt;
 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)&lt;br /&gt;
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)&lt;br /&gt;
 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)&lt;br /&gt;
 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)&lt;br /&gt;
 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)&lt;br /&gt;
 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)&lt;br /&gt;
 02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)&lt;br /&gt;
 02:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)&lt;br /&gt;
 02:01.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller&lt;br /&gt;
 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''cat /proc/cpuinfo''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.40GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est  tm2 &lt;br /&gt;
 bogomips        : 1196.93&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other Linux installation reports on Thinkpad X40==&lt;br /&gt;
Don't forget that the X40 line included different ethernet (tg3 or e1000) and wireless (atheros or Intel) chipsets, and that Linux support involved over time. So there may be some difference between your experience with X40 and others reports. Some reports are quite old too, and Linux involve at fast pace.&lt;br /&gt;
&lt;br /&gt;
'''Thinkwiki internal notes about installing Linux on X40'''&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
&lt;br /&gt;
'''Exernal links to notes about installing linux, OpenBSD and FreeBSD on X40'''&lt;br /&gt;
&lt;br /&gt;
* [http://gentoo-wiki.com/HARDWARE_IBM_ThinkPad_X40 HARDWARE IBM ThinkPad X40] on the Gentoo wiki&lt;br /&gt;
* [http://www.srcf.ucam.org/~mjg59/thinkpad/x40acpi.html ''Linux and ACPI on an IBM Thinkpad X40''], by Matthew Garrett&lt;br /&gt;
* [http://littlesvr.ca/linux-stuff/articles/x40slack/x40slack.php Slackware 10.1 and 10.2] on X40, by Andrew Smith&lt;br /&gt;
* [http://people.bath.ac.uk/masrjb/x40.html SuSE 9.1] on X40, by Russell Bradford&lt;br /&gt;
* [http://www.sun.com/bigadmin/hcl/data/systems/details/1454.html Solaris] on X40, on Sun's BigAdmin database&lt;br /&gt;
* [http://www.cl.cam.ac.uk/~pb22/TPX40/ Red Hat 9] on X40, by Piete Brooks&lt;br /&gt;
* [http://blog.tarotoast.com/2007/01/13/333/ PC-BSD] on X40, by Tarotoast&lt;br /&gt;
* [http://www.roe.ch/FreeBSD_on_the_IBM_ThinkPad_X40 FreeBSD 5.4] on X40, by Daniel Roethlisberger&lt;br /&gt;
* [http://www.iosn.net/Members/kaeru/articles/freebsd/x40 FreeBSD 5.3] on X40, by Khairil Yusof&lt;br /&gt;
* [http://lowerca.se/laptops/ OpenBSD] on X40, by Joshua Stein&lt;br /&gt;
* [http://www.openbsd.org/i386-laptop.html OpenBSD], OpenBSD official site,  i386-laptops page&lt;br /&gt;
* [http://www.citi.umich.edu/u/rees/openbsd/tpx40.html OpenBSD 3.9, 4.0 and 4.1] on X40, by Jim Rees&lt;br /&gt;
* [http://www.catb.org/~esr/faqs/Fedora-Core-on-Thinkpad-X40/ Fedora Core] on X40, by the infamous Eric S. Raymond&lt;br /&gt;
* [http://johnleach.co.uk/documents/thinkpadx40/index.html Fedora] on X40, by John Leach&lt;br /&gt;
* [http://www.mrc-cbu.cam.ac.uk/~matthew/linuxiste/10p1/x40_mandrake_10p1.html Mandrake 10.1] on X40, by Matthew Brett&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40.php Mandriva 10.1] on X40, by ZoneO&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40_2006.php Mandriva 2006] on X40, by Zone0&lt;br /&gt;
* [http://www.linux-on-laptops.com/hosted/ubuntu-thinkpad-x40.html Ubuntu Feisty 7.04], by Chris Cartledge&lt;br /&gt;
* [http://www.tenshu.net/archives/2006/08/08/ubuntu-dapper-606-lts-on-an-ibmlenovo-thinkpad-x40/ Ubuntu Dapper 6.06] on X40, by cmsj&lt;br /&gt;
* [http://www.noapparentmotive.org/topics/ubuntuX40.html Ubuntu Breezy 5.04] on X40, by John Schmitt&lt;br /&gt;
* [http://www.leopold.dk/~martin/IBMx40UbuntuInstall.html Ubuntu Breezy 5.04] on X40, by Martin Leopold&lt;br /&gt;
* [http://martin.wuertele.net/x40/ Debian] on X40, by Martin Würtele&lt;br /&gt;
* [http://www.chronox.de/x40_linux/linux_on_x40.html Debian] on X40, by Stephan Müller;&lt;br /&gt;
* [http://steffenpingel.de/news/archive/2005/apr/22/linux-debian-on-ibm-thinkpad-x40/ Debian] on X40, by Sebastian Schmieg&lt;br /&gt;
* [http://m.ash.to/@/@/Linux/DebianOnThinkpadX40 Debian/GNU Linux 3.1 (Sarge)], by Michael Aschauer&lt;br /&gt;
* [http://www.mathematik.uni-marburg.de/~dfinke/html/howto.html Debian GNU/Linux Unstable with ACPI on an IBM Thinkpad X40], by madn3ss&lt;br /&gt;
* [http://grapevine.net.au/~striggs/thinkpad-x40.html Debian] on X40 (with example PXE network install), by Mark Triggs&lt;br /&gt;
&lt;br /&gt;
===Installation Notes for Ubuntu 8.04 Tribe 1 (Hardy Heron) by dmoerner===&lt;br /&gt;
&lt;br /&gt;
I found this page very useful for the installation of Ubuntu on my Thinkpad X40.  As of 12/2/07, I am using Ubuntu 8.04 Tribe 1.  Almost everything works fine:&lt;br /&gt;
&lt;br /&gt;
1) To get suspend/hibernate to work from gnome-power-manager you must do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo apt-get install uswsusp&lt;br /&gt;
&lt;br /&gt;
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux.bak&lt;br /&gt;
&lt;br /&gt;
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux.bak&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now replace the contents of /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
/sbin/s2both&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And replace the contents of /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
/sbin/s2disk&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now test to see if this works by issuing the command:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo s2both&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I tried this, I got the error that it could not stat the resume device.  To fix this, edit /etc/uswsusp.conf and change the line that says UUID=??? to say /dev/yourswappartition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) The 2.6.24-rc3 kernel sources are not mainlined in the Hardy Heron repositories.  You want these sources to enable HPET, etc.  I recommend using git to just grab the ubuntu kernel sources.&lt;br /&gt;
&lt;br /&gt;
[[Category:X40]] [[Category:Ubuntu 7.04]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34962</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34962"/>
		<updated>2007-12-02T17:49:14Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: /* Installation Notes for Ubuntu 8.04 Tribe 1 (Hardy Heron) by dmoerner */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Executive summary==&lt;br /&gt;
Ubuntu Linux 7.04 -and probably any modern distro- &amp;quot;just works&amp;quot; out-of-the-box on this machine.&lt;br /&gt;
&lt;br /&gt;
No manual configuration was required. Even network, wifi, xorg (with 3D acceleration), sound and suspend-to-ram were properly configured and functional, all with opensource drivers only, at the end of the default Ubuntu installation. I've no problem with fan noises either.&lt;br /&gt;
&lt;br /&gt;
But there's still some room for fine tuning: &lt;br /&gt;
* To improve energy efficiency and battery life (8 cell bat gives 4h with default install, 6h after [[How to reduce power consumption|tuning]])&lt;br /&gt;
* To access some special features (like some [[Default meanings of special keys|Thinkpad special keys]])&lt;br /&gt;
* To better use resources (memory, CPU, power, ...)&lt;br /&gt;
&lt;br /&gt;
==The machine==&lt;br /&gt;
This an &amp;quot;all Intel&amp;quot; machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I opted for this one (beside the 1.2 Kg ultraportable form factor).&lt;br /&gt;
&lt;br /&gt;
* IBM Thinkpad {{X40}} (model 2371Y29), Centrino platform&lt;br /&gt;
* 1 Go DDR SDRAM (333MHz [[PC2700]])&lt;br /&gt;
* CPU: [[Intel Pentium M (Dothan)]] 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 -  no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)&lt;br /&gt;
* Southbridge chipset ICH4-M ([[Intel 82801DBM]]) : PCI, USB, IDE&lt;br /&gt;
* [[E1000|Intel gigabit ethernet]] controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)&lt;br /&gt;
* Wifi controller: [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] on a [[MiniPCI slot]]&lt;br /&gt;
* Northbridge / Graphic chipset : [[Intel Extreme Graphics 2]] ([[Intel 855GME]])&lt;br /&gt;
* [[Ricoh R5C511]] [[PCMCIA]] controller ([[CardBus slot]])&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[TFT display]]: 12&amp;quot; screen, @1024x768 nominal resolution  &lt;br /&gt;
* [[Harddisk Drives|Hard Drive]] : 1.8&amp;quot; - PATA - 40 Go - 4200 RPM - Hitachi DK13FA-40B&lt;br /&gt;
* ATA controler : [[Intel 82801DBM]] Ultra ATA storage controller 24CA&lt;br /&gt;
* Audio controller: [[AD1981B]] AC'97 (linux kernel module: i810_audio)&lt;br /&gt;
* Weigth / size:  1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm&lt;br /&gt;
* [[UltraBase X4]] with broken DVDROM &lt;br /&gt;
* Batteries :&lt;br /&gt;
** default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00&lt;br /&gt;
** new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30&lt;br /&gt;
* BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31&lt;br /&gt;
* IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)&lt;br /&gt;
* FW model : TP-1U&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
The {{X40}} is a very small ultraportable, and doesn't have builtin CDROM or floppy drive. I own an IBM [[UltraBase X4]] dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install this web page] : this was unexpectedly simple and worked flawlessly. Everything got installed from network, &amp;quot;over the air&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I kept the 4Go [[Hidden Protected Area|IBM recovery]] partition at the end of the drive, by superstition and for [[Rescue and Recovery]]. Afterwards, I compiled my own 2.6.22 kernel, patched with high resolution timers, to improve the battery life, and applied tips from the ''[[How to reduce power consumption]]''.&lt;br /&gt;
&lt;br /&gt;
==Small glitches==&lt;br /&gt;
===Distribution (Ubuntu Feisty Fawn 7.04)===&lt;br /&gt;
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better: &lt;br /&gt;
* Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome &amp;quot;logout&amp;quot; screen hides the s2ram and s2disk (hibernate) options. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an &amp;quot;echo mem &amp;gt; /sys/power/state&amp;quot;).&lt;br /&gt;
* Ubuntu installs the &amp;quot;special keys&amp;quot; handler from the &amp;quot;hotkey-setup&amp;quot; package. This is suboptimal, since hotkey-setup supports less special keys than [[tpb]], and consumes a lot of battery (see for instance this [https://bugs.launchpad.net/ubuntu/+source/hotkey-setup/+bug/45404 bug report]).&lt;br /&gt;
* More generally, the whole Ubuntu system needs work to become power efficient on laptops: switch to a 2.6.21 or more kernel, use in kernel &amp;quot;ondemand&amp;quot; governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.&lt;br /&gt;
* The default Ubuntu install left me with a lot processes related to printing (cupsd, gnome-cups-icon, hpiod, hpssd (this one is a python script!)) while I have no printer configured nor attached. Bad. They shouldn't start this until hald find something plugged or until I try to configure a printer. It also left the bluetooth &amp;quot;hcid&amp;quot; daemon, while I've no bluetooth controller. evolution-alarm-notify is running while I've never launched (let alone configured) Evolution.&lt;br /&gt;
&lt;br /&gt;
===Hardware and BIOS limitations===&lt;br /&gt;
The hardware is fine for me, even if a bit old by nowadays standards (I'd prefer have an Intel AHCI chipset with SATA drive on it, for power efficiency reason, and I'd prefer a Core2Duo CPU....). It lacks also some options available on some other Thinkpads models, like the fingerprint reader (but seriously, I prefer give this up to keep my &amp;quot;all Intel&amp;quot; chipsets). It lacks a Firewire controler. The BIOS is also somehow suboptimal, in some aspects.&lt;br /&gt;
&lt;br /&gt;
For an unknown reason, the BIOS disable by default the deeper power saving c-states (C3 and C4). There's two option for this that you need to turn on, despite the the misleading BIOS online help that says &amp;quot;usualy not needed&amp;quot;. Type &amp;quot;F1&amp;quot; during boot to access the BIOS, then enable: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management&lt;br /&gt;
 PCI bus power management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BIOS, as in many laptops, hides the HPET hardware timer to the system. Windows XP don't support HPET and when enabled, it displays a yellow exclamation mark on his device manager list, hence the common vendor choice to disable it. That's a bit odd since Linux can make a great use of it: other available timers (PIC/LAPIC) can't schedule timer events more than a few milliseconds away, so they causes about 20 to 40 CPU wakeups per second. This impact the power consumption greatly. Yet, thanks to the Udo A. Steinberg and Venki Pallipadi, we have a way to force enable HPET on chipsets known to support it (this include ICH3-M, ICH4-M, ICH5-M etc.). So I applied their patch, part of the [http://www.tglx.de/projects/hrtimers/|High Resolution Timer patchset] on top of my hand compiled 2.6.22-rc5 kernel, and all worked fine: &amp;lt;code&amp;gt;dmesg | grep hpet&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    3.740522] hpet clockevent registered&lt;br /&gt;
 [    3.740527] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0&lt;br /&gt;
 [    3.740532] hpet0: 3 64-bit timers, 14318180 Hz&lt;br /&gt;
 [    5.080000] Time: hpet clocksource has been installed.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Not tested yet==&lt;br /&gt;
* [[Embedded Security Subsystem|TCPA chipset]]: Trusted Computing controller. Should be supported by [[tpm]] and [[tpmdd]] but who need this, really ?&lt;br /&gt;
* [[HDAPS]] (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's known to suck power&lt;br /&gt;
* [[IrDA]] (Infrared controller) : is known to work too, and looks supported by my kernel, but I've no other IrDA device to test with&lt;br /&gt;
* [[SD Card slot]] : I've no SD cards to test this&lt;br /&gt;
* [[IBM Integrated 56K Modem (MDC-2)|56K Modem]]: I've no use of this&lt;br /&gt;
&lt;br /&gt;
==System informations==&lt;br /&gt;
'''dmesg | grep states'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    5.280003] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C4])&lt;br /&gt;
 [    5.280009] ACPI: Processor [CPU] (supports 8 throttling states)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''lspci''' :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)&lt;br /&gt;
 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)&lt;br /&gt;
 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)&lt;br /&gt;
 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)&lt;br /&gt;
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)&lt;br /&gt;
 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)&lt;br /&gt;
 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)&lt;br /&gt;
 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)&lt;br /&gt;
 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)&lt;br /&gt;
 02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)&lt;br /&gt;
 02:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)&lt;br /&gt;
 02:01.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller&lt;br /&gt;
 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''cat /proc/cpuinfo''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.40GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est  tm2 &lt;br /&gt;
 bogomips        : 1196.93&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other Linux installation reports on Thinkpad X40==&lt;br /&gt;
Don't forget that the X40 line included different ethernet (tg3 or e1000) and wireless (atheros or Intel) chipsets, and that Linux support involved over time. So there may be some difference between your experience with X40 and others reports. Some reports are quite old too, and Linux involve at fast pace.&lt;br /&gt;
&lt;br /&gt;
'''Thinkwiki internal notes about installing Linux on X40'''&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
&lt;br /&gt;
'''Exernal links to notes about installing linux, OpenBSD and FreeBSD on X40'''&lt;br /&gt;
&lt;br /&gt;
* [http://gentoo-wiki.com/HARDWARE_IBM_ThinkPad_X40 HARDWARE IBM ThinkPad X40] on the Gentoo wiki&lt;br /&gt;
* [http://www.srcf.ucam.org/~mjg59/thinkpad/x40acpi.html ''Linux and ACPI on an IBM Thinkpad X40''], by Matthew Garrett&lt;br /&gt;
* [http://littlesvr.ca/linux-stuff/articles/x40slack/x40slack.php Slackware 10.1 and 10.2] on X40, by Andrew Smith&lt;br /&gt;
* [http://people.bath.ac.uk/masrjb/x40.html SuSE 9.1] on X40, by Russell Bradford&lt;br /&gt;
* [http://www.sun.com/bigadmin/hcl/data/systems/details/1454.html Solaris] on X40, on Sun's BigAdmin database&lt;br /&gt;
* [http://www.cl.cam.ac.uk/~pb22/TPX40/ Red Hat 9] on X40, by Piete Brooks&lt;br /&gt;
* [http://blog.tarotoast.com/2007/01/13/333/ PC-BSD] on X40, by Tarotoast&lt;br /&gt;
* [http://www.roe.ch/FreeBSD_on_the_IBM_ThinkPad_X40 FreeBSD 5.4] on X40, by Daniel Roethlisberger&lt;br /&gt;
* [http://www.iosn.net/Members/kaeru/articles/freebsd/x40 FreeBSD 5.3] on X40, by Khairil Yusof&lt;br /&gt;
* [http://lowerca.se/laptops/ OpenBSD] on X40, by Joshua Stein&lt;br /&gt;
* [http://www.openbsd.org/i386-laptop.html OpenBSD], OpenBSD official site,  i386-laptops page&lt;br /&gt;
* [http://www.citi.umich.edu/u/rees/openbsd/tpx40.html OpenBSD 3.9, 4.0 and 4.1] on X40, by Jim Rees&lt;br /&gt;
* [http://www.catb.org/~esr/faqs/Fedora-Core-on-Thinkpad-X40/ Fedora Core] on X40, by the infamous Eric S. Raymond&lt;br /&gt;
* [http://johnleach.co.uk/documents/thinkpadx40/index.html Fedora] on X40, by John Leach&lt;br /&gt;
* [http://www.mrc-cbu.cam.ac.uk/~matthew/linuxiste/10p1/x40_mandrake_10p1.html Mandrake 10.1] on X40, by Matthew Brett&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40.php Mandriva 10.1] on X40, by ZoneO&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40_2006.php Mandriva 2006] on X40, by Zone0&lt;br /&gt;
* [http://www.linux-on-laptops.com/hosted/ubuntu-thinkpad-x40.html Ubuntu Feisty 7.04], by Chris Cartledge&lt;br /&gt;
* [http://www.tenshu.net/archives/2006/08/08/ubuntu-dapper-606-lts-on-an-ibmlenovo-thinkpad-x40/ Ubuntu Dapper 6.06] on X40, by cmsj&lt;br /&gt;
* [http://www.noapparentmotive.org/topics/ubuntuX40.html Ubuntu Breezy 5.04] on X40, by John Schmitt&lt;br /&gt;
* [http://www.leopold.dk/~martin/IBMx40UbuntuInstall.html Ubuntu Breezy 5.04] on X40, by Martin Leopold&lt;br /&gt;
* [http://martin.wuertele.net/x40/ Debian] on X40, by Martin Würtele&lt;br /&gt;
* [http://www.chronox.de/x40_linux/linux_on_x40.html Debian] on X40, by Stephan Müller;&lt;br /&gt;
* [http://steffenpingel.de/news/archive/2005/apr/22/linux-debian-on-ibm-thinkpad-x40/ Debian] on X40, by Sebastian Schmieg&lt;br /&gt;
* [http://m.ash.to/@/@/Linux/DebianOnThinkpadX40 Debian/GNU Linux 3.1 (Sarge)], by Michael Aschauer&lt;br /&gt;
* [http://www.mathematik.uni-marburg.de/~dfinke/html/howto.html Debian GNU/Linux Unstable with ACPI on an IBM Thinkpad X40], by madn3ss&lt;br /&gt;
* [http://grapevine.net.au/~striggs/thinkpad-x40.html Debian] on X40 (with example PXE network install), by Mark Triggs&lt;br /&gt;
&lt;br /&gt;
===Installation Notes for Ubuntu 8.04 Tribe 1 (Hardy Heron) by dmoerner===&lt;br /&gt;
&lt;br /&gt;
I found this page very useful for the installation of Ubuntu on my Thinkpad X40.  As of 12/2/07, I am using Ubuntu 8.04 Tribe 1.  Almost everything works fine:&lt;br /&gt;
&lt;br /&gt;
1) To get suspend/hibernate to work from gnome-power-manager you must do the following:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install uswsusp&lt;br /&gt;
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux.bak&lt;br /&gt;
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux.bak&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now replace the contents of /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux with:&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
/sbin/s2both&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And replace the contents of /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux with:&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&lt;br /&gt;
/sbin/s2disk&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now test to see if this works by issuing the command:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo s2both&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I tried this, I got the error that it could not stat the resume device.  To fix this, edit /etc/uswsusp.conf and change the line that says UUID=??? to say /dev/yourswappartition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) The 2.6.24-rc3 kernel sources are not mainlined in the Hardy Heron repositories.  You want these sources to enable HPET, etc.  I recommend using git to just grab the ubuntu kernel sources.&lt;br /&gt;
&lt;br /&gt;
[[Category:X40]] [[Category:Ubuntu 7.04]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34961</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34961"/>
		<updated>2007-12-02T17:48:06Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: /* Installation Notes for Ubuntu 7.10 (Gutsy Gibbon) by dmoerner */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Executive summary==&lt;br /&gt;
Ubuntu Linux 7.04 -and probably any modern distro- &amp;quot;just works&amp;quot; out-of-the-box on this machine.&lt;br /&gt;
&lt;br /&gt;
No manual configuration was required. Even network, wifi, xorg (with 3D acceleration), sound and suspend-to-ram were properly configured and functional, all with opensource drivers only, at the end of the default Ubuntu installation. I've no problem with fan noises either.&lt;br /&gt;
&lt;br /&gt;
But there's still some room for fine tuning: &lt;br /&gt;
* To improve energy efficiency and battery life (8 cell bat gives 4h with default install, 6h after [[How to reduce power consumption|tuning]])&lt;br /&gt;
* To access some special features (like some [[Default meanings of special keys|Thinkpad special keys]])&lt;br /&gt;
* To better use resources (memory, CPU, power, ...)&lt;br /&gt;
&lt;br /&gt;
==The machine==&lt;br /&gt;
This an &amp;quot;all Intel&amp;quot; machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I opted for this one (beside the 1.2 Kg ultraportable form factor).&lt;br /&gt;
&lt;br /&gt;
* IBM Thinkpad {{X40}} (model 2371Y29), Centrino platform&lt;br /&gt;
* 1 Go DDR SDRAM (333MHz [[PC2700]])&lt;br /&gt;
* CPU: [[Intel Pentium M (Dothan)]] 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 -  no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)&lt;br /&gt;
* Southbridge chipset ICH4-M ([[Intel 82801DBM]]) : PCI, USB, IDE&lt;br /&gt;
* [[E1000|Intel gigabit ethernet]] controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)&lt;br /&gt;
* Wifi controller: [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] on a [[MiniPCI slot]]&lt;br /&gt;
* Northbridge / Graphic chipset : [[Intel Extreme Graphics 2]] ([[Intel 855GME]])&lt;br /&gt;
* [[Ricoh R5C511]] [[PCMCIA]] controller ([[CardBus slot]])&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[TFT display]]: 12&amp;quot; screen, @1024x768 nominal resolution  &lt;br /&gt;
* [[Harddisk Drives|Hard Drive]] : 1.8&amp;quot; - PATA - 40 Go - 4200 RPM - Hitachi DK13FA-40B&lt;br /&gt;
* ATA controler : [[Intel 82801DBM]] Ultra ATA storage controller 24CA&lt;br /&gt;
* Audio controller: [[AD1981B]] AC'97 (linux kernel module: i810_audio)&lt;br /&gt;
* Weigth / size:  1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm&lt;br /&gt;
* [[UltraBase X4]] with broken DVDROM &lt;br /&gt;
* Batteries :&lt;br /&gt;
** default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00&lt;br /&gt;
** new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30&lt;br /&gt;
* BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31&lt;br /&gt;
* IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)&lt;br /&gt;
* FW model : TP-1U&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
The {{X40}} is a very small ultraportable, and doesn't have builtin CDROM or floppy drive. I own an IBM [[UltraBase X4]] dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install this web page] : this was unexpectedly simple and worked flawlessly. Everything got installed from network, &amp;quot;over the air&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I kept the 4Go [[Hidden Protected Area|IBM recovery]] partition at the end of the drive, by superstition and for [[Rescue and Recovery]]. Afterwards, I compiled my own 2.6.22 kernel, patched with high resolution timers, to improve the battery life, and applied tips from the ''[[How to reduce power consumption]]''.&lt;br /&gt;
&lt;br /&gt;
==Small glitches==&lt;br /&gt;
===Distribution (Ubuntu Feisty Fawn 7.04)===&lt;br /&gt;
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better: &lt;br /&gt;
* Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome &amp;quot;logout&amp;quot; screen hides the s2ram and s2disk (hibernate) options. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an &amp;quot;echo mem &amp;gt; /sys/power/state&amp;quot;).&lt;br /&gt;
* Ubuntu installs the &amp;quot;special keys&amp;quot; handler from the &amp;quot;hotkey-setup&amp;quot; package. This is suboptimal, since hotkey-setup supports less special keys than [[tpb]], and consumes a lot of battery (see for instance this [https://bugs.launchpad.net/ubuntu/+source/hotkey-setup/+bug/45404 bug report]).&lt;br /&gt;
* More generally, the whole Ubuntu system needs work to become power efficient on laptops: switch to a 2.6.21 or more kernel, use in kernel &amp;quot;ondemand&amp;quot; governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.&lt;br /&gt;
* The default Ubuntu install left me with a lot processes related to printing (cupsd, gnome-cups-icon, hpiod, hpssd (this one is a python script!)) while I have no printer configured nor attached. Bad. They shouldn't start this until hald find something plugged or until I try to configure a printer. It also left the bluetooth &amp;quot;hcid&amp;quot; daemon, while I've no bluetooth controller. evolution-alarm-notify is running while I've never launched (let alone configured) Evolution.&lt;br /&gt;
&lt;br /&gt;
===Hardware and BIOS limitations===&lt;br /&gt;
The hardware is fine for me, even if a bit old by nowadays standards (I'd prefer have an Intel AHCI chipset with SATA drive on it, for power efficiency reason, and I'd prefer a Core2Duo CPU....). It lacks also some options available on some other Thinkpads models, like the fingerprint reader (but seriously, I prefer give this up to keep my &amp;quot;all Intel&amp;quot; chipsets). It lacks a Firewire controler. The BIOS is also somehow suboptimal, in some aspects.&lt;br /&gt;
&lt;br /&gt;
For an unknown reason, the BIOS disable by default the deeper power saving c-states (C3 and C4). There's two option for this that you need to turn on, despite the the misleading BIOS online help that says &amp;quot;usualy not needed&amp;quot;. Type &amp;quot;F1&amp;quot; during boot to access the BIOS, then enable: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management&lt;br /&gt;
 PCI bus power management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BIOS, as in many laptops, hides the HPET hardware timer to the system. Windows XP don't support HPET and when enabled, it displays a yellow exclamation mark on his device manager list, hence the common vendor choice to disable it. That's a bit odd since Linux can make a great use of it: other available timers (PIC/LAPIC) can't schedule timer events more than a few milliseconds away, so they causes about 20 to 40 CPU wakeups per second. This impact the power consumption greatly. Yet, thanks to the Udo A. Steinberg and Venki Pallipadi, we have a way to force enable HPET on chipsets known to support it (this include ICH3-M, ICH4-M, ICH5-M etc.). So I applied their patch, part of the [http://www.tglx.de/projects/hrtimers/|High Resolution Timer patchset] on top of my hand compiled 2.6.22-rc5 kernel, and all worked fine: &amp;lt;code&amp;gt;dmesg | grep hpet&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    3.740522] hpet clockevent registered&lt;br /&gt;
 [    3.740527] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0&lt;br /&gt;
 [    3.740532] hpet0: 3 64-bit timers, 14318180 Hz&lt;br /&gt;
 [    5.080000] Time: hpet clocksource has been installed.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Not tested yet==&lt;br /&gt;
* [[Embedded Security Subsystem|TCPA chipset]]: Trusted Computing controller. Should be supported by [[tpm]] and [[tpmdd]] but who need this, really ?&lt;br /&gt;
* [[HDAPS]] (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's known to suck power&lt;br /&gt;
* [[IrDA]] (Infrared controller) : is known to work too, and looks supported by my kernel, but I've no other IrDA device to test with&lt;br /&gt;
* [[SD Card slot]] : I've no SD cards to test this&lt;br /&gt;
* [[IBM Integrated 56K Modem (MDC-2)|56K Modem]]: I've no use of this&lt;br /&gt;
&lt;br /&gt;
==System informations==&lt;br /&gt;
'''dmesg | grep states'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    5.280003] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C4])&lt;br /&gt;
 [    5.280009] ACPI: Processor [CPU] (supports 8 throttling states)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''lspci''' :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)&lt;br /&gt;
 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)&lt;br /&gt;
 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)&lt;br /&gt;
 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)&lt;br /&gt;
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)&lt;br /&gt;
 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)&lt;br /&gt;
 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)&lt;br /&gt;
 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)&lt;br /&gt;
 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)&lt;br /&gt;
 02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)&lt;br /&gt;
 02:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)&lt;br /&gt;
 02:01.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller&lt;br /&gt;
 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''cat /proc/cpuinfo''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.40GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est  tm2 &lt;br /&gt;
 bogomips        : 1196.93&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other Linux installation reports on Thinkpad X40==&lt;br /&gt;
Don't forget that the X40 line included different ethernet (tg3 or e1000) and wireless (atheros or Intel) chipsets, and that Linux support involved over time. So there may be some difference between your experience with X40 and others reports. Some reports are quite old too, and Linux involve at fast pace.&lt;br /&gt;
&lt;br /&gt;
'''Thinkwiki internal notes about installing Linux on X40'''&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
&lt;br /&gt;
'''Exernal links to notes about installing linux, OpenBSD and FreeBSD on X40'''&lt;br /&gt;
&lt;br /&gt;
* [http://gentoo-wiki.com/HARDWARE_IBM_ThinkPad_X40 HARDWARE IBM ThinkPad X40] on the Gentoo wiki&lt;br /&gt;
* [http://www.srcf.ucam.org/~mjg59/thinkpad/x40acpi.html ''Linux and ACPI on an IBM Thinkpad X40''], by Matthew Garrett&lt;br /&gt;
* [http://littlesvr.ca/linux-stuff/articles/x40slack/x40slack.php Slackware 10.1 and 10.2] on X40, by Andrew Smith&lt;br /&gt;
* [http://people.bath.ac.uk/masrjb/x40.html SuSE 9.1] on X40, by Russell Bradford&lt;br /&gt;
* [http://www.sun.com/bigadmin/hcl/data/systems/details/1454.html Solaris] on X40, on Sun's BigAdmin database&lt;br /&gt;
* [http://www.cl.cam.ac.uk/~pb22/TPX40/ Red Hat 9] on X40, by Piete Brooks&lt;br /&gt;
* [http://blog.tarotoast.com/2007/01/13/333/ PC-BSD] on X40, by Tarotoast&lt;br /&gt;
* [http://www.roe.ch/FreeBSD_on_the_IBM_ThinkPad_X40 FreeBSD 5.4] on X40, by Daniel Roethlisberger&lt;br /&gt;
* [http://www.iosn.net/Members/kaeru/articles/freebsd/x40 FreeBSD 5.3] on X40, by Khairil Yusof&lt;br /&gt;
* [http://lowerca.se/laptops/ OpenBSD] on X40, by Joshua Stein&lt;br /&gt;
* [http://www.openbsd.org/i386-laptop.html OpenBSD], OpenBSD official site,  i386-laptops page&lt;br /&gt;
* [http://www.citi.umich.edu/u/rees/openbsd/tpx40.html OpenBSD 3.9, 4.0 and 4.1] on X40, by Jim Rees&lt;br /&gt;
* [http://www.catb.org/~esr/faqs/Fedora-Core-on-Thinkpad-X40/ Fedora Core] on X40, by the infamous Eric S. Raymond&lt;br /&gt;
* [http://johnleach.co.uk/documents/thinkpadx40/index.html Fedora] on X40, by John Leach&lt;br /&gt;
* [http://www.mrc-cbu.cam.ac.uk/~matthew/linuxiste/10p1/x40_mandrake_10p1.html Mandrake 10.1] on X40, by Matthew Brett&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40.php Mandriva 10.1] on X40, by ZoneO&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40_2006.php Mandriva 2006] on X40, by Zone0&lt;br /&gt;
* [http://www.linux-on-laptops.com/hosted/ubuntu-thinkpad-x40.html Ubuntu Feisty 7.04], by Chris Cartledge&lt;br /&gt;
* [http://www.tenshu.net/archives/2006/08/08/ubuntu-dapper-606-lts-on-an-ibmlenovo-thinkpad-x40/ Ubuntu Dapper 6.06] on X40, by cmsj&lt;br /&gt;
* [http://www.noapparentmotive.org/topics/ubuntuX40.html Ubuntu Breezy 5.04] on X40, by John Schmitt&lt;br /&gt;
* [http://www.leopold.dk/~martin/IBMx40UbuntuInstall.html Ubuntu Breezy 5.04] on X40, by Martin Leopold&lt;br /&gt;
* [http://martin.wuertele.net/x40/ Debian] on X40, by Martin Würtele&lt;br /&gt;
* [http://www.chronox.de/x40_linux/linux_on_x40.html Debian] on X40, by Stephan Müller;&lt;br /&gt;
* [http://steffenpingel.de/news/archive/2005/apr/22/linux-debian-on-ibm-thinkpad-x40/ Debian] on X40, by Sebastian Schmieg&lt;br /&gt;
* [http://m.ash.to/@/@/Linux/DebianOnThinkpadX40 Debian/GNU Linux 3.1 (Sarge)], by Michael Aschauer&lt;br /&gt;
* [http://www.mathematik.uni-marburg.de/~dfinke/html/howto.html Debian GNU/Linux Unstable with ACPI on an IBM Thinkpad X40], by madn3ss&lt;br /&gt;
* [http://grapevine.net.au/~striggs/thinkpad-x40.html Debian] on X40 (with example PXE network install), by Mark Triggs&lt;br /&gt;
&lt;br /&gt;
===Installation Notes for Ubuntu 8.04 Tribe 1 (Hardy Heron) by dmoerner===&lt;br /&gt;
&lt;br /&gt;
I found this page very useful for the installation of Ubuntu on my Thinkpad X40.  As of 12/2/07, I am using Ubuntu 8.04 Tribe 1.  Almost everything works fine:&lt;br /&gt;
&lt;br /&gt;
1) To get suspend/hibernate to work from gnome-power-manager you must do the following:&lt;br /&gt;
[code]sudo apt-get install uswsusp&lt;br /&gt;
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux.bak&lt;br /&gt;
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux.bak&lt;br /&gt;
[/code]&lt;br /&gt;
&lt;br /&gt;
Now replace the contents of /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux with:&lt;br /&gt;
[code]#!/bin/sh&lt;br /&gt;
/sbin/s2both&lt;br /&gt;
[/code]&lt;br /&gt;
&lt;br /&gt;
And replace the contents of /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux with:&lt;br /&gt;
[code]#!/bin/sh&lt;br /&gt;
/sbin/s2disk&lt;br /&gt;
[/code]&lt;br /&gt;
&lt;br /&gt;
Now test to see if this works by issuing the command:&lt;br /&gt;
[code]sudo s2both[/code]&lt;br /&gt;
&lt;br /&gt;
When I tried this, I got the error that it could not stat the resume device.  To fix this, edit /etc/uswsusp.conf and change the line that says UUID=??? to say /dev/yourswappartition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) The 2.6.24-rc3 kernel sources are not mainlined in the Hardy Heron repositories.  You want these sources to enable HPET, etc.  I recommend using git to just grab the ubuntu kernel sources.&lt;br /&gt;
&lt;br /&gt;
[[Category:X40]] [[Category:Ubuntu 7.04]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=34928</id>
		<title>Talk:Problem with display remaining black after resume</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=34928"/>
		<updated>2007-11-28T04:12:23Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: /* X40 with an Intel 855GM Integrated Graphics Device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== T43 with Intel Graphics Media Accelerator ==&lt;br /&gt;
&lt;br /&gt;
It seems there are several possible solutions for this issue: &lt;br /&gt;
&lt;br /&gt;
I tried 'Option &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;' as hinted in X41 section below, and this worked for me on my T43/915GM.&lt;br /&gt;
&lt;br /&gt;
My T43 (1871-FYG) with Intel 915GM is also affected by the problem and the 'ATI' sollution with&lt;br /&gt;
acpi_sleep=s3_bios works. Please consider updating the page (I don't dare to do it myself).&lt;br /&gt;
&lt;br /&gt;
== From my experience, this does not work with TP R50e. ==&lt;br /&gt;
&lt;br /&gt;
If you want to be able to resume, you need :&lt;br /&gt;
* To start from a VT&lt;br /&gt;
* No option acpi_sleep&lt;br /&gt;
* to save the PCI state like:&lt;br /&gt;
 cat /proc/bus/pci/00/02.0 &amp;gt; /var/cache/video.config&lt;br /&gt;
* Once you get back, restore it:&lt;br /&gt;
 cat /var/cache/video.config &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
&lt;br /&gt;
However, the X screen is not clean after the restore, so this is not very useable...&lt;br /&gt;
&lt;br /&gt;
== The comment on R50e ==&lt;br /&gt;
&lt;br /&gt;
There is a comment at the end of the page on R50e, saying that you should switch to console first, and look at a page to learn how to do this.&lt;br /&gt;
&lt;br /&gt;
However. it seems to me that the given script already does it. Should the comment be removed?&lt;br /&gt;
----&lt;br /&gt;
The scripts are different. However, if you can approve that the solution provided on this page resolves the problem, please remove the footnote.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 14:46, 17 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
On my R50e, the script on this page works fine, while the one linked in the footnote quickly wakes up from sleep.&lt;br /&gt;
&lt;br /&gt;
[[User:Thisnukes4u|Thisnukes4u]] 19:39, 1 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Problems with R51 and Intel Graphics ==&lt;br /&gt;
&lt;br /&gt;
The problems described on the page occur intermittently&lt;br /&gt;
with an Intel Graphics card on an R51. Here is what happens:&lt;br /&gt;
&lt;br /&gt;
1. One some occassions everything seems to work fine.&lt;br /&gt;
&lt;br /&gt;
2. On other occassions the screen looks OK but the some plane seems to have vanished. New text on the screen overwrites instead of replaces prior text. The &amp;quot;standard&amp;quot; pattern disappears from the X background.&lt;br /&gt;
&lt;br /&gt;
3. On yet other occassions the X server dies and comes out &amp;quot;blank&amp;quot; in the mode (2) above.&lt;br /&gt;
&lt;br /&gt;
4. The above problems appear only with the &amp;quot;i810&amp;quot; driver. The &amp;quot;vesa&amp;quot; driver works fine. Moreover, if the machine is &amp;quot;suspend-to-disk&amp;quot;ed then the problem disappears on resumption once the X server is killed and re-started.&lt;br /&gt;
&lt;br /&gt;
But for 1 and 4 above I would have given up and either avoided suspend to ram altogether or used vesa mode---as it stands the problem is tantalising.&lt;br /&gt;
&lt;br /&gt;
Kapil kapil at imsc dot res dot in&lt;br /&gt;
&lt;br /&gt;
== X30 ==&lt;br /&gt;
&lt;br /&gt;
The {{bootparm|acpi_sleep|s3_bios}} boot parameter did the trick, no additional scripts required (Ubuntu feisty).&lt;br /&gt;
&lt;br /&gt;
== X31 ==&lt;br /&gt;
&lt;br /&gt;
In addition to the s3_bios trick, i needed to uninstall the uswsusp and hibernate packages. I've put all the details in the [[Category_talk:X31|X31 talk page]]. [[User:TheAnarcat|TheAnarcat]] 18:50, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== X40 with an Intel 855GM Integrated Graphics Device ==&lt;br /&gt;
&lt;br /&gt;
I used the {{bootparm|acpi_sleep|s3_bios}} boot parameter and the following ACPI script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 set -e&lt;br /&gt;
 &lt;br /&gt;
 vt=`fgconsole`&lt;br /&gt;
 chvt 12&lt;br /&gt;
 echo mem &amp;gt;/sys/power/state&lt;br /&gt;
 vbetool post&lt;br /&gt;
 chvt $vt&lt;br /&gt;
&lt;br /&gt;
The {{bootparm|acpi_sleep|s3_bios}} boot parameter alone did not fix things, and neither did saving and restoring the information from {{path|/proc/bus/pci/00/02.0}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is confirmed to work on my Thinkpad X40, running Arch Linux, kernel 2.6.24-rc2-git2, and ratpoison.  This is also works even if framebuffer is enabled.  This method also works on a Thinkpad X40, running Sidux, kernel 2.6.23.9-rc1, Compiz Fusion, and KDE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get suspend working on a Thinkpad X40, running Ubuntu 7.10, kernel 2.6.24-rc3, you need to do the following:&lt;br /&gt;
1) add Option &amp;quot;VBERestore&amp;quot; &amp;quot;true&amp;quot; to /etc/X11/xorg.conf&lt;br /&gt;
2) boot with &amp;quot;acpi_sleep=s3_bios&amp;quot;&lt;br /&gt;
3) edit /etc/default/acpi-support and uncomment the line about saving the video state on resume&lt;br /&gt;
&lt;br /&gt;
After this it works from gnome-power-manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The easiest way to get suspend working on a Thinkpad X40 running Debian Sid (as of November 26, 2007) is to install the uswsusp package, boot with acpi_sleep=s3_bios, and then use the command &amp;quot;s2ram -f -s -p -v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X41 with an Intel 915GM Integrated Graphics Device ==&lt;br /&gt;
&lt;br /&gt;
It works with the {{bootparm|acpi_sleep|s3_bios,s3_mode}} boot parameter. Resume works great, both on the VESA console and in X.&lt;br /&gt;
&lt;br /&gt;
:Interesting--that didn't work for me.  I needed to do several things to get it to work.  First, I used s3_bios, but not s3_mode.  Secondly, I had to edit resume_video() in /etc/pm/functions-intel to comment out the VBE post and restore.  Those two changes made it functional, but the improper lid state in the HAL daemon caused it to go back to sleep just as soon as it resumed upon the lid opening, so I added a HAL restart to the front end of /etc/acpi/actions/sleep.sh.  This means that I have to restart gnome-power-manager, too.  I haven't yet figured out a way to do that in sleep.sh; currently I do it manually.  I'll post this to the main page soon, unless I hear comments to the contrary. [[User:BrianTung|BrianTung]] 19:52, 30 April 2006 (CEST) (fixed a little)&lt;br /&gt;
&lt;br /&gt;
:(gsaito): I used the {{bootparm|acpi_sleep|s3_bios,s3_mode}} boot parameter and it worked perfectly, entering Suspend to RAM and resuming perfectly. No more blank screens after resuming. No need for any other change as described above, at least in my case. I also have an X41 with Intel 915GM graphics adapter. I use OpenSUSE v.10.0.&lt;br /&gt;
&lt;br /&gt;
I read the edit by Uberpenguin and tried the stated fix.  No go: The next time I pulled out the adapter after a resume--boom, the machine goes straight back to sleep again.  Evidently, the suggested workaround does not work on all machines. [[User:BrianTung|BrianTung]] 19:54, 22 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Yesterday I tried adding 'Option  &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;' to the Driver section in xorg.conf on my X41 and it works great. I used no boot-params or anything else. The distribution is OpenSuSE 10.1. If anyone can acknowledge to my experience, I'd like to add this solution to the articles in this wiki. [[User:Sirmoloch|Sirmoloch]] 11:49, 4 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Z60t with an Intel 915GM Integrated Graphics Device (PCI Express) ==&lt;br /&gt;
&lt;br /&gt;
It works with the {{bootparm|acpi_sleep|s3_bios}} boot parameter.  Here is the script I use (gentoo).  Note: stopping and starting WiFi is not necessary to resume, but it is dead on resume until restarted and the module is reloaded.  This is on a 2.6.15.4 kernel with framebuffer console support.  The blinking led thing is a nice touch I got from the hibernate-scripts package - it blinks the sleep led (moon icon) until the sleep or resume cycle is finished.&lt;br /&gt;
&lt;br /&gt;
The 'vbetool vbemode get/set' commands are for saving and restoring the console text mode - otherwise the screen becomes garbled.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  # blink sleep led (if ibm_acpi is installed)&lt;br /&gt;
  echo 7 blink &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
  &lt;br /&gt;
  # change to console 10 (unused?)&lt;br /&gt;
  FGCONSOLE=`fgconsole`&lt;br /&gt;
  chvt 10&lt;br /&gt;
  &lt;br /&gt;
  # save video state&lt;br /&gt;
  VBEMODE=`vbetool vbemode get`&lt;br /&gt;
  cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state&lt;br /&gt;
  &lt;br /&gt;
  # sync filesystem&lt;br /&gt;
  sync&lt;br /&gt;
  &lt;br /&gt;
  # sync hardware clock with system time&lt;br /&gt;
  hwclock --systohc&lt;br /&gt;
  &lt;br /&gt;
  # stop networking (atheros chipset)&lt;br /&gt;
  /etc/init.d/net.ath0 stop&lt;br /&gt;
  rmmod ath_pci&lt;br /&gt;
  &lt;br /&gt;
  # go to sleep&lt;br /&gt;
  sleep 2 ; echo -n 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
  &lt;br /&gt;
  # blink sleep led&lt;br /&gt;
  echo 7 blink &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
  &lt;br /&gt;
  # restore system clock&lt;br /&gt;
  hwclock --hctosys&lt;br /&gt;
  &lt;br /&gt;
  # restore video state&lt;br /&gt;
  vbetool vbemode set $VBEMODE&lt;br /&gt;
  cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
  &lt;br /&gt;
  # change back to X&lt;br /&gt;
  chvt $FGCONSOLE&lt;br /&gt;
  &lt;br /&gt;
  # restart networking&lt;br /&gt;
  modprobe ath_pci&lt;br /&gt;
  /etc/init.d/net.ath0 start&lt;br /&gt;
  &lt;br /&gt;
  # clean up behind us&lt;br /&gt;
  rm /tmp/video_state&lt;br /&gt;
  echo 7 off &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fedora Core 5 ==&lt;br /&gt;
&lt;br /&gt;
The vbetool on the article page worked great for me, but NetworkManager would not bring the wireless interface back up.  I had to add &amp;quot;ath_pci&amp;quot; to the SUSPEND_MODULES variable in /etc/sysconfig/pm.&lt;br /&gt;
&lt;br /&gt;
== R50e 1834-S3G in Debian Etch ==&lt;br /&gt;
&lt;br /&gt;
I found it necessary to add a {{cmdroot|clear}} to the script before {{cmdroot|chvt}} 'ing back to VT7 after wakeup. If I didn't, I would end up with a 99% black corrupted screen in X. &lt;br /&gt;
[[User:Ris|Ris]] 18:38, 30 October 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Work-arounds for X60s / Intel 950 ==&lt;br /&gt;
&lt;br /&gt;
The page identifies X60s's as having problems with blank display on resume (and I can confirm), but doesn't suggest a work-around.  (Nor are there any obvious fixes for this boxes Intel 950 graphics card.)  Has anyone gotten it working?  [[User:Johnh|Johnh]] 06:47, 16 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
My error, the chip is really an Intel 945, and the suggested work-around of acpi_sleep=s3_bios works great! [[User:Johnh|Johnh]] 05:42, 17 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== T60 with intel video card 945 ==&lt;br /&gt;
&lt;br /&gt;
Linux: Gentoo, kernel 2.6.17&lt;br /&gt;
I have problem with black display after resume with active framebuffer (vesa or vesa-tng).&lt;br /&gt;
I have a lot of garbage after resume with active fb and acpi_sleep=s3_bios,s3_mode parameter.&lt;br /&gt;
And I have normal screen without fb and with acpi_sleep=s3_bios,s3_mode, but  I cant operate with console.&lt;br /&gt;
&lt;br /&gt;
Any ideas?&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=34884</id>
		<title>Talk:Problem with display remaining black after resume</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=34884"/>
		<updated>2007-11-25T15:47:29Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: /* X40 with an Intel 855GM Integrated Graphics Device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== T43 with Intel Graphics Media Accelerator ==&lt;br /&gt;
&lt;br /&gt;
It seems there are several possible solutions for this issue: &lt;br /&gt;
&lt;br /&gt;
I tried 'Option &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;' as hinted in X41 section below, and this worked for me on my T43/915GM.&lt;br /&gt;
&lt;br /&gt;
My T43 (1871-FYG) with Intel 915GM is also affected by the problem and the 'ATI' sollution with&lt;br /&gt;
acpi_sleep=s3_bios works. Please consider updating the page (I don't dare to do it myself).&lt;br /&gt;
&lt;br /&gt;
== From my experience, this does not work with TP R50e. ==&lt;br /&gt;
&lt;br /&gt;
If you want to be able to resume, you need :&lt;br /&gt;
* To start from a VT&lt;br /&gt;
* No option acpi_sleep&lt;br /&gt;
* to save the PCI state like:&lt;br /&gt;
 cat /proc/bus/pci/00/02.0 &amp;gt; /var/cache/video.config&lt;br /&gt;
* Once you get back, restore it:&lt;br /&gt;
 cat /var/cache/video.config &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
&lt;br /&gt;
However, the X screen is not clean after the restore, so this is not very useable...&lt;br /&gt;
&lt;br /&gt;
== The comment on R50e ==&lt;br /&gt;
&lt;br /&gt;
There is a comment at the end of the page on R50e, saying that you should switch to console first, and look at a page to learn how to do this.&lt;br /&gt;
&lt;br /&gt;
However. it seems to me that the given script already does it. Should the comment be removed?&lt;br /&gt;
----&lt;br /&gt;
The scripts are different. However, if you can approve that the solution provided on this page resolves the problem, please remove the footnote.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 14:46, 17 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
On my R50e, the script on this page works fine, while the one linked in the footnote quickly wakes up from sleep.&lt;br /&gt;
&lt;br /&gt;
[[User:Thisnukes4u|Thisnukes4u]] 19:39, 1 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Problems with R51 and Intel Graphics ==&lt;br /&gt;
&lt;br /&gt;
The problems described on the page occur intermittently&lt;br /&gt;
with an Intel Graphics card on an R51. Here is what happens:&lt;br /&gt;
&lt;br /&gt;
1. One some occassions everything seems to work fine.&lt;br /&gt;
&lt;br /&gt;
2. On other occassions the screen looks OK but the some plane seems to have vanished. New text on the screen overwrites instead of replaces prior text. The &amp;quot;standard&amp;quot; pattern disappears from the X background.&lt;br /&gt;
&lt;br /&gt;
3. On yet other occassions the X server dies and comes out &amp;quot;blank&amp;quot; in the mode (2) above.&lt;br /&gt;
&lt;br /&gt;
4. The above problems appear only with the &amp;quot;i810&amp;quot; driver. The &amp;quot;vesa&amp;quot; driver works fine. Moreover, if the machine is &amp;quot;suspend-to-disk&amp;quot;ed then the problem disappears on resumption once the X server is killed and re-started.&lt;br /&gt;
&lt;br /&gt;
But for 1 and 4 above I would have given up and either avoided suspend to ram altogether or used vesa mode---as it stands the problem is tantalising.&lt;br /&gt;
&lt;br /&gt;
Kapil kapil at imsc dot res dot in&lt;br /&gt;
&lt;br /&gt;
== X30 ==&lt;br /&gt;
&lt;br /&gt;
The {{bootparm|acpi_sleep|s3_bios}} boot parameter did the trick, no additional scripts required (Ubuntu feisty).&lt;br /&gt;
&lt;br /&gt;
== X31 ==&lt;br /&gt;
&lt;br /&gt;
In addition to the s3_bios trick, i needed to uninstall the uswsusp and hibernate packages. I've put all the details in the [[Category_talk:X31|X31 talk page]]. [[User:TheAnarcat|TheAnarcat]] 18:50, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== X40 with an Intel 855GM Integrated Graphics Device ==&lt;br /&gt;
&lt;br /&gt;
I used the {{bootparm|acpi_sleep|s3_bios}} boot parameter and the following ACPI script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 set -e&lt;br /&gt;
 &lt;br /&gt;
 vt=`fgconsole`&lt;br /&gt;
 chvt 12&lt;br /&gt;
 echo mem &amp;gt;/sys/power/state&lt;br /&gt;
 vbetool post&lt;br /&gt;
 chvt $vt&lt;br /&gt;
&lt;br /&gt;
The {{bootparm|acpi_sleep|s3_bios}} boot parameter alone did not fix things, and neither did saving and restoring the information from {{path|/proc/bus/pci/00/02.0}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is confirmed to work on my Thinkpad X40, running Arch Linux, kernel 2.6.24-rc2-git2, and ratpoison.  This is also works even if framebuffer is enabled.  This method also works on a Thinkpad X40, running Sidux, kernel 2.6.23.9-rc1, Compiz Fusion, and KDE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get suspend working on a Thinkpad X40, running Ubuntu 7.10, kernel 2.6.24-rc3, you need to do the following:&lt;br /&gt;
1) add Option &amp;quot;VBERestore&amp;quot; &amp;quot;true&amp;quot; to /etc/X11/xorg.conf&lt;br /&gt;
2) boot with &amp;quot;acpi_sleep=s3_bios&amp;quot;&lt;br /&gt;
3) edit /etc/default/acpi-support and uncomment the line about saving the video state on resume&lt;br /&gt;
&lt;br /&gt;
After this it works from gnome-power-manager&lt;br /&gt;
&lt;br /&gt;
== X41 with an Intel 915GM Integrated Graphics Device ==&lt;br /&gt;
&lt;br /&gt;
It works with the {{bootparm|acpi_sleep|s3_bios,s3_mode}} boot parameter. Resume works great, both on the VESA console and in X.&lt;br /&gt;
&lt;br /&gt;
:Interesting--that didn't work for me.  I needed to do several things to get it to work.  First, I used s3_bios, but not s3_mode.  Secondly, I had to edit resume_video() in /etc/pm/functions-intel to comment out the VBE post and restore.  Those two changes made it functional, but the improper lid state in the HAL daemon caused it to go back to sleep just as soon as it resumed upon the lid opening, so I added a HAL restart to the front end of /etc/acpi/actions/sleep.sh.  This means that I have to restart gnome-power-manager, too.  I haven't yet figured out a way to do that in sleep.sh; currently I do it manually.  I'll post this to the main page soon, unless I hear comments to the contrary. [[User:BrianTung|BrianTung]] 19:52, 30 April 2006 (CEST) (fixed a little)&lt;br /&gt;
&lt;br /&gt;
:(gsaito): I used the {{bootparm|acpi_sleep|s3_bios,s3_mode}} boot parameter and it worked perfectly, entering Suspend to RAM and resuming perfectly. No more blank screens after resuming. No need for any other change as described above, at least in my case. I also have an X41 with Intel 915GM graphics adapter. I use OpenSUSE v.10.0.&lt;br /&gt;
&lt;br /&gt;
I read the edit by Uberpenguin and tried the stated fix.  No go: The next time I pulled out the adapter after a resume--boom, the machine goes straight back to sleep again.  Evidently, the suggested workaround does not work on all machines. [[User:BrianTung|BrianTung]] 19:54, 22 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Yesterday I tried adding 'Option  &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;' to the Driver section in xorg.conf on my X41 and it works great. I used no boot-params or anything else. The distribution is OpenSuSE 10.1. If anyone can acknowledge to my experience, I'd like to add this solution to the articles in this wiki. [[User:Sirmoloch|Sirmoloch]] 11:49, 4 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Z60t with an Intel 915GM Integrated Graphics Device (PCI Express) ==&lt;br /&gt;
&lt;br /&gt;
It works with the {{bootparm|acpi_sleep|s3_bios}} boot parameter.  Here is the script I use (gentoo).  Note: stopping and starting WiFi is not necessary to resume, but it is dead on resume until restarted and the module is reloaded.  This is on a 2.6.15.4 kernel with framebuffer console support.  The blinking led thing is a nice touch I got from the hibernate-scripts package - it blinks the sleep led (moon icon) until the sleep or resume cycle is finished.&lt;br /&gt;
&lt;br /&gt;
The 'vbetool vbemode get/set' commands are for saving and restoring the console text mode - otherwise the screen becomes garbled.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  # blink sleep led (if ibm_acpi is installed)&lt;br /&gt;
  echo 7 blink &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
  &lt;br /&gt;
  # change to console 10 (unused?)&lt;br /&gt;
  FGCONSOLE=`fgconsole`&lt;br /&gt;
  chvt 10&lt;br /&gt;
  &lt;br /&gt;
  # save video state&lt;br /&gt;
  VBEMODE=`vbetool vbemode get`&lt;br /&gt;
  cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state&lt;br /&gt;
  &lt;br /&gt;
  # sync filesystem&lt;br /&gt;
  sync&lt;br /&gt;
  &lt;br /&gt;
  # sync hardware clock with system time&lt;br /&gt;
  hwclock --systohc&lt;br /&gt;
  &lt;br /&gt;
  # stop networking (atheros chipset)&lt;br /&gt;
  /etc/init.d/net.ath0 stop&lt;br /&gt;
  rmmod ath_pci&lt;br /&gt;
  &lt;br /&gt;
  # go to sleep&lt;br /&gt;
  sleep 2 ; echo -n 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
  &lt;br /&gt;
  # blink sleep led&lt;br /&gt;
  echo 7 blink &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
  &lt;br /&gt;
  # restore system clock&lt;br /&gt;
  hwclock --hctosys&lt;br /&gt;
  &lt;br /&gt;
  # restore video state&lt;br /&gt;
  vbetool vbemode set $VBEMODE&lt;br /&gt;
  cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
  &lt;br /&gt;
  # change back to X&lt;br /&gt;
  chvt $FGCONSOLE&lt;br /&gt;
  &lt;br /&gt;
  # restart networking&lt;br /&gt;
  modprobe ath_pci&lt;br /&gt;
  /etc/init.d/net.ath0 start&lt;br /&gt;
  &lt;br /&gt;
  # clean up behind us&lt;br /&gt;
  rm /tmp/video_state&lt;br /&gt;
  echo 7 off &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fedora Core 5 ==&lt;br /&gt;
&lt;br /&gt;
The vbetool on the article page worked great for me, but NetworkManager would not bring the wireless interface back up.  I had to add &amp;quot;ath_pci&amp;quot; to the SUSPEND_MODULES variable in /etc/sysconfig/pm.&lt;br /&gt;
&lt;br /&gt;
== R50e 1834-S3G in Debian Etch ==&lt;br /&gt;
&lt;br /&gt;
I found it necessary to add a {{cmdroot|clear}} to the script before {{cmdroot|chvt}} 'ing back to VT7 after wakeup. If I didn't, I would end up with a 99% black corrupted screen in X. &lt;br /&gt;
[[User:Ris|Ris]] 18:38, 30 October 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Work-arounds for X60s / Intel 950 ==&lt;br /&gt;
&lt;br /&gt;
The page identifies X60s's as having problems with blank display on resume (and I can confirm), but doesn't suggest a work-around.  (Nor are there any obvious fixes for this boxes Intel 950 graphics card.)  Has anyone gotten it working?  [[User:Johnh|Johnh]] 06:47, 16 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
My error, the chip is really an Intel 945, and the suggested work-around of acpi_sleep=s3_bios works great! [[User:Johnh|Johnh]] 05:42, 17 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== T60 with intel video card 945 ==&lt;br /&gt;
&lt;br /&gt;
Linux: Gentoo, kernel 2.6.17&lt;br /&gt;
I have problem with black display after resume with active framebuffer (vesa or vesa-tng).&lt;br /&gt;
I have a lot of garbage after resume with active fb and acpi_sleep=s3_bios,s3_mode parameter.&lt;br /&gt;
And I have normal screen without fb and with acpi_sleep=s3_bios,s3_mode, but  I cant operate with console.&lt;br /&gt;
&lt;br /&gt;
Any ideas?&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34811</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34811"/>
		<updated>2007-11-23T22:12:15Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Executive summary==&lt;br /&gt;
Ubuntu Linux 7.04 -and probably any modern distro- &amp;quot;just works&amp;quot; out-of-the-box on this machine.&lt;br /&gt;
&lt;br /&gt;
No manual configuration was required. Even network, wifi, xorg (with 3D acceleration), sound and suspend-to-ram were properly configured and functional, all with opensource drivers only, at the end of the default Ubuntu installation. I've no problem with fan noises either.&lt;br /&gt;
&lt;br /&gt;
But there's still some room for fine tuning: &lt;br /&gt;
* To improve energy efficiency and battery life (8 cell bat gives 4h with default install, 6h after [[How to reduce power consumption|tuning]])&lt;br /&gt;
* To access some special features (like some [[Default meanings of special keys|Thinkpad special keys]])&lt;br /&gt;
* To better use resources (memory, CPU, power, ...)&lt;br /&gt;
&lt;br /&gt;
==The machine==&lt;br /&gt;
This an &amp;quot;all Intel&amp;quot; machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I opted for this one (beside the 1.2 Kg ultraportable form factor).&lt;br /&gt;
&lt;br /&gt;
* IBM Thinkpad {{X40}} (model 2371Y29), Centrino platform&lt;br /&gt;
* 1 Go DDR SDRAM (333MHz [[PC2700]])&lt;br /&gt;
* CPU: [[Intel Pentium M (Dothan)]] 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 -  no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)&lt;br /&gt;
* Southbridge chipset ICH4-M ([[Intel 82801DBM]]) : PCI, USB, IDE&lt;br /&gt;
* [[E1000|Intel gigabit ethernet]] controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)&lt;br /&gt;
* Wifi controller: [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] on a [[MiniPCI slot]]&lt;br /&gt;
* Northbridge / Graphic chipset : [[Intel Extreme Graphics 2]] ([[Intel 855GME]])&lt;br /&gt;
* [[Ricoh R5C511]] [[PCMCIA]] controller ([[CardBus slot]])&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[TFT display]]: 12&amp;quot; screen, @1024x768 nominal resolution  &lt;br /&gt;
* [[Harddisk Drives|Hard Drive]] : 1.8&amp;quot; - PATA - 40 Go - 4200 RPM - Hitachi DK13FA-40B&lt;br /&gt;
* ATA controler : [[Intel 82801DBM]] Ultra ATA storage controller 24CA&lt;br /&gt;
* Audio controller: [[AD1981B]] AC'97 (linux kernel module: i810_audio)&lt;br /&gt;
* Weigth / size:  1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm&lt;br /&gt;
* [[UltraBase X4]] with broken DVDROM &lt;br /&gt;
* Batteries :&lt;br /&gt;
** default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00&lt;br /&gt;
** new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30&lt;br /&gt;
* BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31&lt;br /&gt;
* IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)&lt;br /&gt;
* FW model : TP-1U&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
The {{X40}} is a very small ultraportable, and doesn't have builtin CDROM or floppy drive. I own an IBM [[UltraBase X4]] dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install this web page] : this was unexpectedly simple and worked flawlessly. Everything got installed from network, &amp;quot;over the air&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I kept the 4Go [[Hidden Protected Area|IBM recovery]] partition at the end of the drive, by superstition and for [[Rescue and Recovery]]. Afterwards, I compiled my own 2.6.22 kernel, patched with high resolution timers, to improve the battery life, and applied tips from the ''[[How to reduce power consumption]]''.&lt;br /&gt;
&lt;br /&gt;
==Small glitches==&lt;br /&gt;
===Distribution (Ubuntu Feisty Fawn 7.04)===&lt;br /&gt;
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better: &lt;br /&gt;
* Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome &amp;quot;logout&amp;quot; screen hides the s2ram and s2disk (hibernate) options. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an &amp;quot;echo mem &amp;gt; /sys/power/state&amp;quot;).&lt;br /&gt;
* Ubuntu installs the &amp;quot;special keys&amp;quot; handler from the &amp;quot;hotkey-setup&amp;quot; package. This is suboptimal, since hotkey-setup supports less special keys than [[tpb]], and consumes a lot of battery (see for instance this [https://bugs.launchpad.net/ubuntu/+source/hotkey-setup/+bug/45404 bug report]).&lt;br /&gt;
* More generally, the whole Ubuntu system needs work to become power efficient on laptops: switch to a 2.6.21 or more kernel, use in kernel &amp;quot;ondemand&amp;quot; governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.&lt;br /&gt;
* The default Ubuntu install left me with a lot processes related to printing (cupsd, gnome-cups-icon, hpiod, hpssd (this one is a python script!)) while I have no printer configured nor attached. Bad. They shouldn't start this until hald find something plugged or until I try to configure a printer. It also left the bluetooth &amp;quot;hcid&amp;quot; daemon, while I've no bluetooth controller. evolution-alarm-notify is running while I've never launched (let alone configured) Evolution.&lt;br /&gt;
&lt;br /&gt;
===Hardware and BIOS limitations===&lt;br /&gt;
The hardware is fine for me, even if a bit old by nowadays standards (I'd prefer have an Intel AHCI chipset with SATA drive on it, for power efficiency reason, and I'd prefer a Core2Duo CPU....). It lacks also some options available on some other Thinkpads models, like the fingerprint reader (but seriously, I prefer give this up to keep my &amp;quot;all Intel&amp;quot; chipsets). It lacks a Firewire controler. The BIOS is also somehow suboptimal, in some aspects.&lt;br /&gt;
&lt;br /&gt;
For an unknown reason, the BIOS disable by default the deeper power saving c-states (C3 and C4). There's two option for this that you need to turn on, despite the the misleading BIOS online help that says &amp;quot;usualy not needed&amp;quot;. Type &amp;quot;F1&amp;quot; during boot to access the BIOS, then enable: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management&lt;br /&gt;
 PCI bus power management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BIOS, as in many laptops, hides the HPET hardware timer to the system. Windows XP don't support HPET and when enabled, it displays a yellow exclamation mark on his device manager list, hence the common vendor choice to disable it. That's a bit odd since Linux can make a great use of it: other available timers (PIC/LAPIC) can't schedule timer events more than a few milliseconds away, so they causes about 20 to 40 CPU wakeups per second. This impact the power consumption greatly. Yet, thanks to the Udo A. Steinberg and Venki Pallipadi, we have a way to force enable HPET on chipsets known to support it (this include ICH3-M, ICH4-M, ICH5-M etc.). So I applied their patch, part of the [http://www.tglx.de/projects/hrtimers/|High Resolution Timer patchset] on top of my hand compiled 2.6.22-rc5 kernel, and all worked fine: &amp;lt;code&amp;gt;dmesg | grep hpet&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    3.740522] hpet clockevent registered&lt;br /&gt;
 [    3.740527] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0&lt;br /&gt;
 [    3.740532] hpet0: 3 64-bit timers, 14318180 Hz&lt;br /&gt;
 [    5.080000] Time: hpet clocksource has been installed.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Not tested yet==&lt;br /&gt;
* [[Embedded Security Subsystem|TCPA chipset]]: Trusted Computing controller. Should be supported by [[tpm]] and [[tpmdd]] but who need this, really ?&lt;br /&gt;
* [[HDAPS]] (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's known to suck power&lt;br /&gt;
* [[IrDA]] (Infrared controller) : is known to work too, and looks supported by my kernel, but I've no other IrDA device to test with&lt;br /&gt;
* [[SD Card slot]] : I've no SD cards to test this&lt;br /&gt;
* [[IBM Integrated 56K Modem (MDC-2)|56K Modem]]: I've no use of this&lt;br /&gt;
&lt;br /&gt;
==System informations==&lt;br /&gt;
'''dmesg | grep states'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    5.280003] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C4])&lt;br /&gt;
 [    5.280009] ACPI: Processor [CPU] (supports 8 throttling states)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''lspci''' :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)&lt;br /&gt;
 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)&lt;br /&gt;
 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)&lt;br /&gt;
 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)&lt;br /&gt;
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)&lt;br /&gt;
 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)&lt;br /&gt;
 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)&lt;br /&gt;
 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)&lt;br /&gt;
 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)&lt;br /&gt;
 02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)&lt;br /&gt;
 02:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)&lt;br /&gt;
 02:01.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller&lt;br /&gt;
 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''cat /proc/cpuinfo''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.40GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est  tm2 &lt;br /&gt;
 bogomips        : 1196.93&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other Linux installation reports on Thinkpad X40==&lt;br /&gt;
Don't forget that the X40 line included different ethernet (tg3 or e1000) and wireless (atheros or Intel) chipsets, and that Linux support involved over time. So there may be some difference between your experience with X40 and others reports. Some reports are quite old too, and Linux involve at fast pace.&lt;br /&gt;
&lt;br /&gt;
'''Thinkwiki internal notes about installing Linux on X40'''&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
&lt;br /&gt;
'''Exernal links to notes about installing linux, OpenBSD and FreeBSD on X40'''&lt;br /&gt;
&lt;br /&gt;
* [http://gentoo-wiki.com/HARDWARE_IBM_ThinkPad_X40 HARDWARE IBM ThinkPad X40] on the Gentoo wiki&lt;br /&gt;
* [http://www.srcf.ucam.org/~mjg59/thinkpad/x40acpi.html ''Linux and ACPI on an IBM Thinkpad X40''], by Matthew Garrett&lt;br /&gt;
* [http://littlesvr.ca/linux-stuff/articles/x40slack/x40slack.php Slackware 10.1 and 10.2] on X40, by Andrew Smith&lt;br /&gt;
* [http://people.bath.ac.uk/masrjb/x40.html SuSE 9.1] on X40, by Russell Bradford&lt;br /&gt;
* [http://www.sun.com/bigadmin/hcl/data/systems/details/1454.html Solaris] on X40, on Sun's BigAdmin database&lt;br /&gt;
* [http://www.cl.cam.ac.uk/~pb22/TPX40/ Red Hat 9] on X40, by Piete Brooks&lt;br /&gt;
* [http://blog.tarotoast.com/2007/01/13/333/ PC-BSD] on X40, by Tarotoast&lt;br /&gt;
* [http://www.roe.ch/FreeBSD_on_the_IBM_ThinkPad_X40 FreeBSD 5.4] on X40, by Daniel Roethlisberger&lt;br /&gt;
* [http://www.iosn.net/Members/kaeru/articles/freebsd/x40 FreeBSD 5.3] on X40, by Khairil Yusof&lt;br /&gt;
* [http://lowerca.se/laptops/ OpenBSD] on X40, by Joshua Stein&lt;br /&gt;
* [http://www.openbsd.org/i386-laptop.html OpenBSD], OpenBSD official site,  i386-laptops page&lt;br /&gt;
* [http://www.citi.umich.edu/u/rees/openbsd/tpx40.html OpenBSD 3.9, 4.0 and 4.1] on X40, by Jim Rees&lt;br /&gt;
* [http://www.catb.org/~esr/faqs/Fedora-Core-on-Thinkpad-X40/ Fedora Core] on X40, by the infamous Eric S. Raymond&lt;br /&gt;
* [http://johnleach.co.uk/documents/thinkpadx40/index.html Fedora] on X40, by John Leach&lt;br /&gt;
* [http://www.mrc-cbu.cam.ac.uk/~matthew/linuxiste/10p1/x40_mandrake_10p1.html Mandrake 10.1] on X40, by Matthew Brett&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40.php Mandriva 10.1] on X40, by ZoneO&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40_2006.php Mandriva 2006] on X40, by Zone0&lt;br /&gt;
* [http://www.linux-on-laptops.com/hosted/ubuntu-thinkpad-x40.html Ubuntu Feisty 7.04], by Chris Cartledge&lt;br /&gt;
* [http://www.tenshu.net/archives/2006/08/08/ubuntu-dapper-606-lts-on-an-ibmlenovo-thinkpad-x40/ Ubuntu Dapper 6.06] on X40, by cmsj&lt;br /&gt;
* [http://www.noapparentmotive.org/topics/ubuntuX40.html Ubuntu Breezy 5.04] on X40, by John Schmitt&lt;br /&gt;
* [http://www.leopold.dk/~martin/IBMx40UbuntuInstall.html Ubuntu Breezy 5.04] on X40, by Martin Leopold&lt;br /&gt;
* [http://martin.wuertele.net/x40/ Debian] on X40, by Martin Würtele&lt;br /&gt;
* [http://www.chronox.de/x40_linux/linux_on_x40.html Debian] on X40, by Stephan Müller;&lt;br /&gt;
* [http://steffenpingel.de/news/archive/2005/apr/22/linux-debian-on-ibm-thinkpad-x40/ Debian] on X40, by Sebastian Schmieg&lt;br /&gt;
* [http://m.ash.to/@/@/Linux/DebianOnThinkpadX40 Debian/GNU Linux 3.1 (Sarge)], by Michael Aschauer&lt;br /&gt;
* [http://www.mathematik.uni-marburg.de/~dfinke/html/howto.html Debian GNU/Linux Unstable with ACPI on an IBM Thinkpad X40], by madn3ss&lt;br /&gt;
* [http://grapevine.net.au/~striggs/thinkpad-x40.html Debian] on X40 (with example PXE network install), by Mark Triggs&lt;br /&gt;
&lt;br /&gt;
===Installation Notes for Ubuntu 7.10 (Gutsy Gibbon) by dmoerner===&lt;br /&gt;
&lt;br /&gt;
I found this page very useful for the installation of Ubuntu 7.10 on my Thinkpad X40.  There are a couple things that are different:&lt;br /&gt;
&lt;br /&gt;
1) To get suspend/hibernate to work from gnome-power-manager you must do the following:&lt;br /&gt;
* add Option &amp;quot;VBERestore&amp;quot; &amp;quot;on&amp;quot; to /etc/X11/xorg.conf&lt;br /&gt;
* add acpi_sleep=s3_bios resume=/dev/sda? to /boot/grub/menu.lst where ? is your swap partition.&lt;br /&gt;
* edit /etc/default/acpi-support and uncomment the line that says &amp;quot;restore video state on resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2) You should disable the hotkey-setup service, because the keys on the thinkpad are hardwired and the hotkey-setup can cause freezes.&lt;br /&gt;
&lt;br /&gt;
3) You will want to install compizconfig-settings-manager to get more control over Compiz Fusion.  In my experience, the Thinkpad can handle compiz fusion just fine, with the exception of the rain plugin and the transparent cube gears, which cause it to slow up tremendously.&lt;br /&gt;
&lt;br /&gt;
4) Compile a 2.6.24-rc2 or newer kernel as soon as possible.  The new scheduler and the introduction of hpet into the main line kernel (boot with the code hpet=force) are invaluable.&lt;br /&gt;
&lt;br /&gt;
[[Category:X40]] [[Category:Ubuntu 7.04]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34810</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40&amp;diff=34810"/>
		<updated>2007-11-23T22:10:24Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: Addition of Gutsy Gibbon information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Executive summary==&lt;br /&gt;
Ubuntu Linux 7.04 -and probably any modern distro- &amp;quot;just works&amp;quot; out-of-the-box on this machine.&lt;br /&gt;
&lt;br /&gt;
No manual configuration was required. Even network, wifi, xorg (with 3D acceleration), sound and suspend-to-ram were properly configured and functional, all with opensource drivers only, at the end of the default Ubuntu installation. I've no problem with fan noises either.&lt;br /&gt;
&lt;br /&gt;
But there's still some room for fine tuning: &lt;br /&gt;
* To improve energy efficiency and battery life (8 cell bat gives 4h with default install, 6h after [[How to reduce power consumption|tuning]])&lt;br /&gt;
* To access some special features (like some [[Default meanings of special keys|Thinkpad special keys]])&lt;br /&gt;
* To better use resources (memory, CPU, power, ...)&lt;br /&gt;
&lt;br /&gt;
==The machine==&lt;br /&gt;
This an &amp;quot;all Intel&amp;quot; machine: differing from most other Thinkpad models because even the network, wireless and graphic controllers uses Intel chipsets. Note that some X40 models use atheros for wifi, or tg3 for ethernet (but not mine). That's why I opted for this one (beside the 1.2 Kg ultraportable form factor).&lt;br /&gt;
&lt;br /&gt;
* IBM Thinkpad {{X40}} (model 2371Y29), Centrino platform&lt;br /&gt;
* 1 Go DDR SDRAM (333MHz [[PC2700]])&lt;br /&gt;
* CPU: [[Intel Pentium M (Dothan)]] 738 at 1.4 GHz -32KB L1 - 2Mo cache L2 - 90 nm - LV (low voltage) - 400MHz FSB (4 x 100) - MMX - SSE - SSE2 -  no NX/XD bit, no hyperthreading, no 64bits - socket 479 - (Enhanced) EIST SpeedStep - CPUID : 6D6 (cpu family: 6 / model: 13 / stepping: 6)&lt;br /&gt;
* Southbridge chipset ICH4-M ([[Intel 82801DBM]]) : PCI, USB, IDE&lt;br /&gt;
* [[E1000|Intel gigabit ethernet]] controller (linux kernel module: e1000) 82541GI MT mobile (support PXE boot :)&lt;br /&gt;
* Wifi controller: [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] on a [[MiniPCI slot]]&lt;br /&gt;
* Northbridge / Graphic chipset : [[Intel Extreme Graphics 2]] ([[Intel 855GME]])&lt;br /&gt;
* [[Ricoh R5C511]] [[PCMCIA]] controller ([[CardBus slot]])&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[TFT display]]: 12&amp;quot; screen, @1024x768 nominal resolution  &lt;br /&gt;
* [[Harddisk Drives|Hard Drive]] : 1.8&amp;quot; - PATA - 40 Go - 4200 RPM - Hitachi DK13FA-40B&lt;br /&gt;
* ATA controler : [[Intel 82801DBM]] Ultra ATA storage controller 24CA&lt;br /&gt;
* Audio controller: [[AD1981B]] AC'97 (linux kernel module: i810_audio)&lt;br /&gt;
* Weigth / size:  1.24 Kg / 26.8 cm x 23.7 cm x 2.4 cm&lt;br /&gt;
* [[UltraBase X4]] with broken DVDROM &lt;br /&gt;
* Batteries :&lt;br /&gt;
** default small one: 4 cells, Li-Ion, 1900mAh (about 27.4W) ~ 3h00&lt;br /&gt;
** new one : 8 cells, Li-Ion, 4400 mAh (about 63W), 0.4 kg, ref (FRU) : IBM-92P1083 ~5h30&lt;br /&gt;
* BIOS version : 1UETD3WW (2.08 ), built on 2006-12-21, released on 2007/01/31&lt;br /&gt;
* IBM ThinkPad Embedded Controller version : 1UHTA6WW (1.56)&lt;br /&gt;
* FW model : TP-1U&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
The {{X40}} is a very small ultraportable, and doesn't have builtin CDROM or floppy drive. I own an IBM [[UltraBase X4]] dock station, but her DVDrom is dead. So I went for PXE (network boot) installation for the first time ; I just applied instructions from [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install this web page] : this was unexpectedly simple and worked flawlessly. Everything got installed from network, &amp;quot;over the air&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I kept the 4Go [[Hidden Protected Area|IBM recovery]] partition at the end of the drive, by superstition and for [[Rescue and Recovery]]. Afterwards, I compiled my own 2.6.22 kernel, patched with high resolution timers, to improve the battery life, and applied tips from the ''[[How to reduce power consumption]]''.&lt;br /&gt;
&lt;br /&gt;
==Small glitches==&lt;br /&gt;
===Distribution (Ubuntu Feisty Fawn 7.04)===&lt;br /&gt;
Even if everything was supported, there was some small things where Ubuntu (or Gnome, or Linux kernel) could have done better: &lt;br /&gt;
* Suspend-to-ram works out-of-the-box, no special tricks are needed. But sometimes, not always, for an unknown reason, the Gnome &amp;quot;logout&amp;quot; screen hides the s2ram and s2disk (hibernate) options. Whatever, we still can suspend thanks to the thinkpad's special keys (or just with an &amp;quot;echo mem &amp;gt; /sys/power/state&amp;quot;).&lt;br /&gt;
* Ubuntu installs the &amp;quot;special keys&amp;quot; handler from the &amp;quot;hotkey-setup&amp;quot; package. This is suboptimal, since hotkey-setup supports less special keys than [[tpb]], and consumes a lot of battery (see for instance this [https://bugs.launchpad.net/ubuntu/+source/hotkey-setup/+bug/45404 bug report]).&lt;br /&gt;
* More generally, the whole Ubuntu system needs work to become power efficient on laptops: switch to a 2.6.21 or more kernel, use in kernel &amp;quot;ondemand&amp;quot; governor rather than userland powernowd+hald-addon-cpufreq, activate AC97 power saving features when on battery, etc.&lt;br /&gt;
* The default Ubuntu install left me with a lot processes related to printing (cupsd, gnome-cups-icon, hpiod, hpssd (this one is a python script!)) while I have no printer configured nor attached. Bad. They shouldn't start this until hald find something plugged or until I try to configure a printer. It also left the bluetooth &amp;quot;hcid&amp;quot; daemon, while I've no bluetooth controller. evolution-alarm-notify is running while I've never launched (let alone configured) Evolution.&lt;br /&gt;
&lt;br /&gt;
===Hardware and BIOS limitations===&lt;br /&gt;
The hardware is fine for me, even if a bit old by nowadays standards (I'd prefer have an Intel AHCI chipset with SATA drive on it, for power efficiency reason, and I'd prefer a Core2Duo CPU....). It lacks also some options available on some other Thinkpads models, like the fingerprint reader (but seriously, I prefer give this up to keep my &amp;quot;all Intel&amp;quot; chipsets). It lacks a Firewire controler. The BIOS is also somehow suboptimal, in some aspects.&lt;br /&gt;
&lt;br /&gt;
For an unknown reason, the BIOS disable by default the deeper power saving c-states (C3 and C4). There's two option for this that you need to turn on, despite the the misleading BIOS online help that says &amp;quot;usualy not needed&amp;quot;. Type &amp;quot;F1&amp;quot; during boot to access the BIOS, then enable: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 CPU power management&lt;br /&gt;
 PCI bus power management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The BIOS, as in many laptops, hides the HPET hardware timer to the system. Windows XP don't support HPET and when enabled, it displays a yellow exclamation mark on his device manager list, hence the common vendor choice to disable it. That's a bit odd since Linux can make a great use of it: other available timers (PIC/LAPIC) can't schedule timer events more than a few milliseconds away, so they causes about 20 to 40 CPU wakeups per second. This impact the power consumption greatly. Yet, thanks to the Udo A. Steinberg and Venki Pallipadi, we have a way to force enable HPET on chipsets known to support it (this include ICH3-M, ICH4-M, ICH5-M etc.). So I applied their patch, part of the [http://www.tglx.de/projects/hrtimers/|High Resolution Timer patchset] on top of my hand compiled 2.6.22-rc5 kernel, and all worked fine: &amp;lt;code&amp;gt;dmesg | grep hpet&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    3.740522] hpet clockevent registered&lt;br /&gt;
 [    3.740527] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0&lt;br /&gt;
 [    3.740532] hpet0: 3 64-bit timers, 14318180 Hz&lt;br /&gt;
 [    5.080000] Time: hpet clocksource has been installed.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Not tested yet==&lt;br /&gt;
* [[Embedded Security Subsystem|TCPA chipset]]: Trusted Computing controller. Should be supported by [[tpm]] and [[tpmdd]] but who need this, really ?&lt;br /&gt;
* [[HDAPS]] (Hard Drive protection mechanism): this should work out of the box, we have a kernel module for that but I disable it because it's known to suck power&lt;br /&gt;
* [[IrDA]] (Infrared controller) : is known to work too, and looks supported by my kernel, but I've no other IrDA device to test with&lt;br /&gt;
* [[SD Card slot]] : I've no SD cards to test this&lt;br /&gt;
* [[IBM Integrated 56K Modem (MDC-2)|56K Modem]]: I've no use of this&lt;br /&gt;
&lt;br /&gt;
==System informations==&lt;br /&gt;
'''dmesg | grep states'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [    5.280003] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C4])&lt;br /&gt;
 [    5.280009] ACPI: Processor [CPU] (supports 8 throttling states)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''lspci''' :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)&lt;br /&gt;
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)&lt;br /&gt;
 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)&lt;br /&gt;
 00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)&lt;br /&gt;
 00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)&lt;br /&gt;
 00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)&lt;br /&gt;
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)&lt;br /&gt;
 00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)&lt;br /&gt;
 00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)&lt;br /&gt;
 00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)&lt;br /&gt;
 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
 00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)&lt;br /&gt;
 02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d)&lt;br /&gt;
 02:00.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)&lt;br /&gt;
 02:01.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller&lt;br /&gt;
 02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''cat /proc/cpuinfo''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 processor       : 0&lt;br /&gt;
 vendor_id       : GenuineIntel&lt;br /&gt;
 cpu family      : 6&lt;br /&gt;
 model           : 13&lt;br /&gt;
 model name      : Intel(R) Pentium(R) M processor 1.40GHz&lt;br /&gt;
 stepping        : 6&lt;br /&gt;
 cpu MHz         : 600.000&lt;br /&gt;
 cache size      : 2048 KB&lt;br /&gt;
 fdiv_bug        : no&lt;br /&gt;
 hlt_bug         : no&lt;br /&gt;
 f00f_bug        : no&lt;br /&gt;
 coma_bug        : no&lt;br /&gt;
 fpu             : yes&lt;br /&gt;
 fpu_exception   : yes&lt;br /&gt;
 cpuid level     : 2&lt;br /&gt;
 wp              : yes&lt;br /&gt;
 flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up est  tm2 &lt;br /&gt;
 bogomips        : 1196.93&lt;br /&gt;
 clflush size    : 64&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other Linux installation reports on Thinkpad X40==&lt;br /&gt;
Don't forget that the X40 line included different ethernet (tg3 or e1000) and wireless (atheros or Intel) chipsets, and that Linux support involved over time. So there may be some difference between your experience with X40 and others reports. Some reports are quite old too, and Linux involve at fast pace.&lt;br /&gt;
&lt;br /&gt;
'''Thinkwiki internal notes about installing Linux on X40'''&lt;br /&gt;
*{{Install|Gentoo||X40}}&lt;br /&gt;
*{{Install|Debian||X40}}&lt;br /&gt;
*{{Install|Fedora| Core|X40}}&lt;br /&gt;
&lt;br /&gt;
'''Exernal links to notes about installing linux, OpenBSD and FreeBSD on X40'''&lt;br /&gt;
&lt;br /&gt;
* [http://gentoo-wiki.com/HARDWARE_IBM_ThinkPad_X40 HARDWARE IBM ThinkPad X40] on the Gentoo wiki&lt;br /&gt;
* [http://www.srcf.ucam.org/~mjg59/thinkpad/x40acpi.html ''Linux and ACPI on an IBM Thinkpad X40''], by Matthew Garrett&lt;br /&gt;
* [http://littlesvr.ca/linux-stuff/articles/x40slack/x40slack.php Slackware 10.1 and 10.2] on X40, by Andrew Smith&lt;br /&gt;
* [http://people.bath.ac.uk/masrjb/x40.html SuSE 9.1] on X40, by Russell Bradford&lt;br /&gt;
* [http://www.sun.com/bigadmin/hcl/data/systems/details/1454.html Solaris] on X40, on Sun's BigAdmin database&lt;br /&gt;
* [http://www.cl.cam.ac.uk/~pb22/TPX40/ Red Hat 9] on X40, by Piete Brooks&lt;br /&gt;
* [http://blog.tarotoast.com/2007/01/13/333/ PC-BSD] on X40, by Tarotoast&lt;br /&gt;
* [http://www.roe.ch/FreeBSD_on_the_IBM_ThinkPad_X40 FreeBSD 5.4] on X40, by Daniel Roethlisberger&lt;br /&gt;
* [http://www.iosn.net/Members/kaeru/articles/freebsd/x40 FreeBSD 5.3] on X40, by Khairil Yusof&lt;br /&gt;
* [http://lowerca.se/laptops/ OpenBSD] on X40, by Joshua Stein&lt;br /&gt;
* [http://www.openbsd.org/i386-laptop.html OpenBSD], OpenBSD official site,  i386-laptops page&lt;br /&gt;
* [http://www.citi.umich.edu/u/rees/openbsd/tpx40.html OpenBSD 3.9, 4.0 and 4.1] on X40, by Jim Rees&lt;br /&gt;
* [http://www.catb.org/~esr/faqs/Fedora-Core-on-Thinkpad-X40/ Fedora Core] on X40, by the infamous Eric S. Raymond&lt;br /&gt;
* [http://johnleach.co.uk/documents/thinkpadx40/index.html Fedora] on X40, by John Leach&lt;br /&gt;
* [http://www.mrc-cbu.cam.ac.uk/~matthew/linuxiste/10p1/x40_mandrake_10p1.html Mandrake 10.1] on X40, by Matthew Brett&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40.php Mandriva 10.1] on X40, by ZoneO&lt;br /&gt;
* [http://soft.zoneo.net/Linux/x40_2006.php Mandriva 2006] on X40, by Zone0&lt;br /&gt;
* [http://www.linux-on-laptops.com/hosted/ubuntu-thinkpad-x40.html Ubuntu Feisty 7.04], by Chris Cartledge&lt;br /&gt;
* [http://www.tenshu.net/archives/2006/08/08/ubuntu-dapper-606-lts-on-an-ibmlenovo-thinkpad-x40/ Ubuntu Dapper 6.06] on X40, by cmsj&lt;br /&gt;
* [http://www.noapparentmotive.org/topics/ubuntuX40.html Ubuntu Breezy 5.04] on X40, by John Schmitt&lt;br /&gt;
* [http://www.leopold.dk/~martin/IBMx40UbuntuInstall.html Ubuntu Breezy 5.04] on X40, by Martin Leopold&lt;br /&gt;
* [http://martin.wuertele.net/x40/ Debian] on X40, by Martin Würtele&lt;br /&gt;
* [http://www.chronox.de/x40_linux/linux_on_x40.html Debian] on X40, by Stephan Müller;&lt;br /&gt;
* [http://steffenpingel.de/news/archive/2005/apr/22/linux-debian-on-ibm-thinkpad-x40/ Debian] on X40, by Sebastian Schmieg&lt;br /&gt;
* [http://m.ash.to/@/@/Linux/DebianOnThinkpadX40 Debian/GNU Linux 3.1 (Sarge)], by Michael Aschauer&lt;br /&gt;
* [http://www.mathematik.uni-marburg.de/~dfinke/html/howto.html Debian GNU/Linux Unstable with ACPI on an IBM Thinkpad X40], by madn3ss&lt;br /&gt;
* [http://grapevine.net.au/~striggs/thinkpad-x40.html Debian] on X40 (with example PXE network install), by Mark Triggs&lt;br /&gt;
&lt;br /&gt;
'''Installation Notes for Ubuntu 7.10 (Gutsy Gibbon) by dmoerner'''&lt;br /&gt;
&lt;br /&gt;
I found this page very useful for the installation of Ubuntu 7.10 on my Thinkpad X40.  There are a couple things that are different:&lt;br /&gt;
&lt;br /&gt;
1) To get suspend/hibernate to work from gnome-power-manager you must do the following:&lt;br /&gt;
* add Option &amp;quot;VBERestore&amp;quot; &amp;quot;on&amp;quot; to /etc/X11/xorg.conf&lt;br /&gt;
* add acpi_sleep=s3_bios resume=/dev/sda? to /boot/grub/menu.lst where ? is your swap partition.&lt;br /&gt;
* edit /etc/default/acpi-support and uncomment the line that says &amp;quot;restore video state on resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2) You should disable the hotkey-setup service, because the keys on the thinkpad are hardwired and the hotkey-setup can cause freezes.&lt;br /&gt;
&lt;br /&gt;
3) You will want to install compizconfig-settings-manager to get more control over Compiz Fusion.  In my experience, the Thinkpad can handle compiz fusion just fine, with the exception of the rain plugin and the transparent cube gears, which cause it to slow up tremendously.&lt;br /&gt;
&lt;br /&gt;
4) Compile a 2.6.24-rc2 or newer kernel as soon as possible.  The new scheduler and the introduction of hpet into the main line kernel (boot with the code hpet=force) are invaluable.&lt;br /&gt;
&lt;br /&gt;
[[Category:X40]] [[Category:Ubuntu 7.04]]&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=34803</id>
		<title>Talk:Problem with display remaining black after resume</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=34803"/>
		<updated>2007-11-23T18:19:35Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== T43 with Intel Graphics Media Accelerator ==&lt;br /&gt;
&lt;br /&gt;
It seems there are several possible solutions for this issue: &lt;br /&gt;
&lt;br /&gt;
I tried 'Option &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;' as hinted in X41 section below, and this worked for me on my T43/915GM.&lt;br /&gt;
&lt;br /&gt;
My T43 (1871-FYG) with Intel 915GM is also affected by the problem and the 'ATI' sollution with&lt;br /&gt;
acpi_sleep=s3_bios works. Please consider updating the page (I don't dare to do it myself).&lt;br /&gt;
&lt;br /&gt;
== From my experience, this does not work with TP R50e. ==&lt;br /&gt;
&lt;br /&gt;
If you want to be able to resume, you need :&lt;br /&gt;
* To start from a VT&lt;br /&gt;
* No option acpi_sleep&lt;br /&gt;
* to save the PCI state like:&lt;br /&gt;
 cat /proc/bus/pci/00/02.0 &amp;gt; /var/cache/video.config&lt;br /&gt;
* Once you get back, restore it:&lt;br /&gt;
 cat /var/cache/video.config &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
&lt;br /&gt;
However, the X screen is not clean after the restore, so this is not very useable...&lt;br /&gt;
&lt;br /&gt;
== The comment on R50e ==&lt;br /&gt;
&lt;br /&gt;
There is a comment at the end of the page on R50e, saying that you should switch to console first, and look at a page to learn how to do this.&lt;br /&gt;
&lt;br /&gt;
However. it seems to me that the given script already does it. Should the comment be removed?&lt;br /&gt;
----&lt;br /&gt;
The scripts are different. However, if you can approve that the solution provided on this page resolves the problem, please remove the footnote.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 14:46, 17 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
On my R50e, the script on this page works fine, while the one linked in the footnote quickly wakes up from sleep.&lt;br /&gt;
&lt;br /&gt;
[[User:Thisnukes4u|Thisnukes4u]] 19:39, 1 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Problems with R51 and Intel Graphics ==&lt;br /&gt;
&lt;br /&gt;
The problems described on the page occur intermittently&lt;br /&gt;
with an Intel Graphics card on an R51. Here is what happens:&lt;br /&gt;
&lt;br /&gt;
1. One some occassions everything seems to work fine.&lt;br /&gt;
&lt;br /&gt;
2. On other occassions the screen looks OK but the some plane seems to have vanished. New text on the screen overwrites instead of replaces prior text. The &amp;quot;standard&amp;quot; pattern disappears from the X background.&lt;br /&gt;
&lt;br /&gt;
3. On yet other occassions the X server dies and comes out &amp;quot;blank&amp;quot; in the mode (2) above.&lt;br /&gt;
&lt;br /&gt;
4. The above problems appear only with the &amp;quot;i810&amp;quot; driver. The &amp;quot;vesa&amp;quot; driver works fine. Moreover, if the machine is &amp;quot;suspend-to-disk&amp;quot;ed then the problem disappears on resumption once the X server is killed and re-started.&lt;br /&gt;
&lt;br /&gt;
But for 1 and 4 above I would have given up and either avoided suspend to ram altogether or used vesa mode---as it stands the problem is tantalising.&lt;br /&gt;
&lt;br /&gt;
Kapil kapil at imsc dot res dot in&lt;br /&gt;
&lt;br /&gt;
== X30 ==&lt;br /&gt;
&lt;br /&gt;
The {{bootparm|acpi_sleep|s3_bios}} boot parameter did the trick, no additional scripts required (Ubuntu feisty).&lt;br /&gt;
&lt;br /&gt;
== X31 ==&lt;br /&gt;
&lt;br /&gt;
In addition to the s3_bios trick, i needed to uninstall the uswsusp and hibernate packages. I've put all the details in the [[Category_talk:X31|X31 talk page]]. [[User:TheAnarcat|TheAnarcat]] 18:50, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== X40 with an Intel 855GM Integrated Graphics Device ==&lt;br /&gt;
&lt;br /&gt;
I used the {{bootparm|acpi_sleep|s3_bios}} boot parameter and the following ACPI script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 set -e&lt;br /&gt;
 &lt;br /&gt;
 vt=`fgconsole`&lt;br /&gt;
 chvt 12&lt;br /&gt;
 echo mem &amp;gt;/sys/power/state&lt;br /&gt;
 vbetool post&lt;br /&gt;
 chvt $vt&lt;br /&gt;
&lt;br /&gt;
The {{bootparm|acpi_sleep|s3_bios}} boot parameter alone did not fix things, and neither did saving and restoring the information from {{path|/proc/bus/pci/00/02.0}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is confirmed to work on my Thinkpad X40, running Arch Linux, kernel 2.6.24-rc2-git2, and ratpoison.  This is also works even if framebuffer is enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get suspend working on a Thinkpad X40, running Ubuntu 7.10, kernel 2.6.24-rc3, you need to do the following:&lt;br /&gt;
1) add Option &amp;quot;VBERestore&amp;quot; &amp;quot;true&amp;quot; to /etc/X11/xorg.conf&lt;br /&gt;
2) boot with &amp;quot;acpi_sleep=s3_bios&amp;quot;&lt;br /&gt;
3) edit /etc/default/acpi-support and uncomment the line about saving the video state on resume&lt;br /&gt;
&lt;br /&gt;
After this it works from gnome-power-manager&lt;br /&gt;
&lt;br /&gt;
== X41 with an Intel 915GM Integrated Graphics Device ==&lt;br /&gt;
&lt;br /&gt;
It works with the {{bootparm|acpi_sleep|s3_bios,s3_mode}} boot parameter. Resume works great, both on the VESA console and in X.&lt;br /&gt;
&lt;br /&gt;
:Interesting--that didn't work for me.  I needed to do several things to get it to work.  First, I used s3_bios, but not s3_mode.  Secondly, I had to edit resume_video() in /etc/pm/functions-intel to comment out the VBE post and restore.  Those two changes made it functional, but the improper lid state in the HAL daemon caused it to go back to sleep just as soon as it resumed upon the lid opening, so I added a HAL restart to the front end of /etc/acpi/actions/sleep.sh.  This means that I have to restart gnome-power-manager, too.  I haven't yet figured out a way to do that in sleep.sh; currently I do it manually.  I'll post this to the main page soon, unless I hear comments to the contrary. [[User:BrianTung|BrianTung]] 19:52, 30 April 2006 (CEST) (fixed a little)&lt;br /&gt;
&lt;br /&gt;
:(gsaito): I used the {{bootparm|acpi_sleep|s3_bios,s3_mode}} boot parameter and it worked perfectly, entering Suspend to RAM and resuming perfectly. No more blank screens after resuming. No need for any other change as described above, at least in my case. I also have an X41 with Intel 915GM graphics adapter. I use OpenSUSE v.10.0.&lt;br /&gt;
&lt;br /&gt;
I read the edit by Uberpenguin and tried the stated fix.  No go: The next time I pulled out the adapter after a resume--boom, the machine goes straight back to sleep again.  Evidently, the suggested workaround does not work on all machines. [[User:BrianTung|BrianTung]] 19:54, 22 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Yesterday I tried adding 'Option  &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;' to the Driver section in xorg.conf on my X41 and it works great. I used no boot-params or anything else. The distribution is OpenSuSE 10.1. If anyone can acknowledge to my experience, I'd like to add this solution to the articles in this wiki. [[User:Sirmoloch|Sirmoloch]] 11:49, 4 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Z60t with an Intel 915GM Integrated Graphics Device (PCI Express) ==&lt;br /&gt;
&lt;br /&gt;
It works with the {{bootparm|acpi_sleep|s3_bios}} boot parameter.  Here is the script I use (gentoo).  Note: stopping and starting WiFi is not necessary to resume, but it is dead on resume until restarted and the module is reloaded.  This is on a 2.6.15.4 kernel with framebuffer console support.  The blinking led thing is a nice touch I got from the hibernate-scripts package - it blinks the sleep led (moon icon) until the sleep or resume cycle is finished.&lt;br /&gt;
&lt;br /&gt;
The 'vbetool vbemode get/set' commands are for saving and restoring the console text mode - otherwise the screen becomes garbled.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  # blink sleep led (if ibm_acpi is installed)&lt;br /&gt;
  echo 7 blink &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
  &lt;br /&gt;
  # change to console 10 (unused?)&lt;br /&gt;
  FGCONSOLE=`fgconsole`&lt;br /&gt;
  chvt 10&lt;br /&gt;
  &lt;br /&gt;
  # save video state&lt;br /&gt;
  VBEMODE=`vbetool vbemode get`&lt;br /&gt;
  cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state&lt;br /&gt;
  &lt;br /&gt;
  # sync filesystem&lt;br /&gt;
  sync&lt;br /&gt;
  &lt;br /&gt;
  # sync hardware clock with system time&lt;br /&gt;
  hwclock --systohc&lt;br /&gt;
  &lt;br /&gt;
  # stop networking (atheros chipset)&lt;br /&gt;
  /etc/init.d/net.ath0 stop&lt;br /&gt;
  rmmod ath_pci&lt;br /&gt;
  &lt;br /&gt;
  # go to sleep&lt;br /&gt;
  sleep 2 ; echo -n 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
  &lt;br /&gt;
  # blink sleep led&lt;br /&gt;
  echo 7 blink &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
  &lt;br /&gt;
  # restore system clock&lt;br /&gt;
  hwclock --hctosys&lt;br /&gt;
  &lt;br /&gt;
  # restore video state&lt;br /&gt;
  vbetool vbemode set $VBEMODE&lt;br /&gt;
  cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
  &lt;br /&gt;
  # change back to X&lt;br /&gt;
  chvt $FGCONSOLE&lt;br /&gt;
  &lt;br /&gt;
  # restart networking&lt;br /&gt;
  modprobe ath_pci&lt;br /&gt;
  /etc/init.d/net.ath0 start&lt;br /&gt;
  &lt;br /&gt;
  # clean up behind us&lt;br /&gt;
  rm /tmp/video_state&lt;br /&gt;
  echo 7 off &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fedora Core 5 ==&lt;br /&gt;
&lt;br /&gt;
The vbetool on the article page worked great for me, but NetworkManager would not bring the wireless interface back up.  I had to add &amp;quot;ath_pci&amp;quot; to the SUSPEND_MODULES variable in /etc/sysconfig/pm.&lt;br /&gt;
&lt;br /&gt;
== R50e 1834-S3G in Debian Etch ==&lt;br /&gt;
&lt;br /&gt;
I found it necessary to add a {{cmdroot|clear}} to the script before {{cmdroot|chvt}} 'ing back to VT7 after wakeup. If I didn't, I would end up with a 99% black corrupted screen in X. &lt;br /&gt;
[[User:Ris|Ris]] 18:38, 30 October 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Work-arounds for X60s / Intel 950 ==&lt;br /&gt;
&lt;br /&gt;
The page identifies X60s's as having problems with blank display on resume (and I can confirm), but doesn't suggest a work-around.  (Nor are there any obvious fixes for this boxes Intel 950 graphics card.)  Has anyone gotten it working?  [[User:Johnh|Johnh]] 06:47, 16 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
My error, the chip is really an Intel 945, and the suggested work-around of acpi_sleep=s3_bios works great! [[User:Johnh|Johnh]] 05:42, 17 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== T60 with intel video card 945 ==&lt;br /&gt;
&lt;br /&gt;
Linux: Gentoo, kernel 2.6.17&lt;br /&gt;
I have problem with black display after resume with active framebuffer (vesa or vesa-tng).&lt;br /&gt;
I have a lot of garbage after resume with active fb and acpi_sleep=s3_bios,s3_mode parameter.&lt;br /&gt;
And I have normal screen without fb and with acpi_sleep=s3_bios,s3_mode, but  I cant operate with console.&lt;br /&gt;
&lt;br /&gt;
Any ideas?&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=34547</id>
		<title>Talk:Problem with display remaining black after resume</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=34547"/>
		<updated>2007-11-15T01:16:41Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: /* X40 with an Intel 855GM Integrated Graphics Device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== T43 with Intel Graphics Media Accelerator ==&lt;br /&gt;
&lt;br /&gt;
It seems there are several possible solutions for this issue: &lt;br /&gt;
&lt;br /&gt;
I tried 'Option &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;' as hinted in X41 section below, and this worked for me on my T43/915GM.&lt;br /&gt;
&lt;br /&gt;
My T43 (1871-FYG) with Intel 915GM is also affected by the problem and the 'ATI' sollution with&lt;br /&gt;
acpi_sleep=s3_bios works. Please consider updating the page (I don't dare to do it myself).&lt;br /&gt;
&lt;br /&gt;
== From my experience, this does not work with TP R50e. ==&lt;br /&gt;
&lt;br /&gt;
If you want to be able to resume, you need :&lt;br /&gt;
* To start from a VT&lt;br /&gt;
* No option acpi_sleep&lt;br /&gt;
* to save the PCI state like:&lt;br /&gt;
 cat /proc/bus/pci/00/02.0 &amp;gt; /var/cache/video.config&lt;br /&gt;
* Once you get back, restore it:&lt;br /&gt;
 cat /var/cache/video.config &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
&lt;br /&gt;
However, the X screen is not clean after the restore, so this is not very useable...&lt;br /&gt;
&lt;br /&gt;
== The comment on R50e ==&lt;br /&gt;
&lt;br /&gt;
There is a comment at the end of the page on R50e, saying that you should switch to console first, and look at a page to learn how to do this.&lt;br /&gt;
&lt;br /&gt;
However. it seems to me that the given script already does it. Should the comment be removed?&lt;br /&gt;
----&lt;br /&gt;
The scripts are different. However, if you can approve that the solution provided on this page resolves the problem, please remove the footnote.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 14:46, 17 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
On my R50e, the script on this page works fine, while the one linked in the footnote quickly wakes up from sleep.&lt;br /&gt;
&lt;br /&gt;
[[User:Thisnukes4u|Thisnukes4u]] 19:39, 1 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Problems with R51 and Intel Graphics ==&lt;br /&gt;
&lt;br /&gt;
The problems described on the page occur intermittently&lt;br /&gt;
with an Intel Graphics card on an R51. Here is what happens:&lt;br /&gt;
&lt;br /&gt;
1. One some occassions everything seems to work fine.&lt;br /&gt;
&lt;br /&gt;
2. On other occassions the screen looks OK but the some plane seems to have vanished. New text on the screen overwrites instead of replaces prior text. The &amp;quot;standard&amp;quot; pattern disappears from the X background.&lt;br /&gt;
&lt;br /&gt;
3. On yet other occassions the X server dies and comes out &amp;quot;blank&amp;quot; in the mode (2) above.&lt;br /&gt;
&lt;br /&gt;
4. The above problems appear only with the &amp;quot;i810&amp;quot; driver. The &amp;quot;vesa&amp;quot; driver works fine. Moreover, if the machine is &amp;quot;suspend-to-disk&amp;quot;ed then the problem disappears on resumption once the X server is killed and re-started.&lt;br /&gt;
&lt;br /&gt;
But for 1 and 4 above I would have given up and either avoided suspend to ram altogether or used vesa mode---as it stands the problem is tantalising.&lt;br /&gt;
&lt;br /&gt;
Kapil kapil at imsc dot res dot in&lt;br /&gt;
&lt;br /&gt;
== X30 ==&lt;br /&gt;
&lt;br /&gt;
The {{bootparm|acpi_sleep|s3_bios}} boot parameter did the trick, no additional scripts required (Ubuntu feisty).&lt;br /&gt;
&lt;br /&gt;
== X31 ==&lt;br /&gt;
&lt;br /&gt;
In addition to the s3_bios trick, i needed to uninstall the uswsusp and hibernate packages. I've put all the details in the [[Category_talk:X31|X31 talk page]]. [[User:TheAnarcat|TheAnarcat]] 18:50, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
== X40 with an Intel 855GM Integrated Graphics Device ==&lt;br /&gt;
&lt;br /&gt;
I used the {{bootparm|acpi_sleep|s3_bios}} boot parameter and the following ACPI script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 set -e&lt;br /&gt;
 &lt;br /&gt;
 vt=`fgconsole`&lt;br /&gt;
 chvt 12&lt;br /&gt;
 echo mem &amp;gt;/sys/power/state&lt;br /&gt;
 vbetool post&lt;br /&gt;
 chvt $vt&lt;br /&gt;
&lt;br /&gt;
The {{bootparm|acpi_sleep|s3_bios}} boot parameter alone did not fix things, and neither did saving and restoring the information from {{path|/proc/bus/pci/00/02.0}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is confirmed to work on my Thinkpad X40, running Arch Linux, kernel 2.6.24-rc2-git2, and ratpoison.  This is also works even if framebuffer is enabled.&lt;br /&gt;
&lt;br /&gt;
== X41 with an Intel 915GM Integrated Graphics Device ==&lt;br /&gt;
&lt;br /&gt;
It works with the {{bootparm|acpi_sleep|s3_bios,s3_mode}} boot parameter. Resume works great, both on the VESA console and in X.&lt;br /&gt;
&lt;br /&gt;
:Interesting--that didn't work for me.  I needed to do several things to get it to work.  First, I used s3_bios, but not s3_mode.  Secondly, I had to edit resume_video() in /etc/pm/functions-intel to comment out the VBE post and restore.  Those two changes made it functional, but the improper lid state in the HAL daemon caused it to go back to sleep just as soon as it resumed upon the lid opening, so I added a HAL restart to the front end of /etc/acpi/actions/sleep.sh.  This means that I have to restart gnome-power-manager, too.  I haven't yet figured out a way to do that in sleep.sh; currently I do it manually.  I'll post this to the main page soon, unless I hear comments to the contrary. [[User:BrianTung|BrianTung]] 19:52, 30 April 2006 (CEST) (fixed a little)&lt;br /&gt;
&lt;br /&gt;
:(gsaito): I used the {{bootparm|acpi_sleep|s3_bios,s3_mode}} boot parameter and it worked perfectly, entering Suspend to RAM and resuming perfectly. No more blank screens after resuming. No need for any other change as described above, at least in my case. I also have an X41 with Intel 915GM graphics adapter. I use OpenSUSE v.10.0.&lt;br /&gt;
&lt;br /&gt;
I read the edit by Uberpenguin and tried the stated fix.  No go: The next time I pulled out the adapter after a resume--boom, the machine goes straight back to sleep again.  Evidently, the suggested workaround does not work on all machines. [[User:BrianTung|BrianTung]] 19:54, 22 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Yesterday I tried adding 'Option  &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;' to the Driver section in xorg.conf on my X41 and it works great. I used no boot-params or anything else. The distribution is OpenSuSE 10.1. If anyone can acknowledge to my experience, I'd like to add this solution to the articles in this wiki. [[User:Sirmoloch|Sirmoloch]] 11:49, 4 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Z60t with an Intel 915GM Integrated Graphics Device (PCI Express) ==&lt;br /&gt;
&lt;br /&gt;
It works with the {{bootparm|acpi_sleep|s3_bios}} boot parameter.  Here is the script I use (gentoo).  Note: stopping and starting WiFi is not necessary to resume, but it is dead on resume until restarted and the module is reloaded.  This is on a 2.6.15.4 kernel with framebuffer console support.  The blinking led thing is a nice touch I got from the hibernate-scripts package - it blinks the sleep led (moon icon) until the sleep or resume cycle is finished.&lt;br /&gt;
&lt;br /&gt;
The 'vbetool vbemode get/set' commands are for saving and restoring the console text mode - otherwise the screen becomes garbled.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  # blink sleep led (if ibm_acpi is installed)&lt;br /&gt;
  echo 7 blink &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
  &lt;br /&gt;
  # change to console 10 (unused?)&lt;br /&gt;
  FGCONSOLE=`fgconsole`&lt;br /&gt;
  chvt 10&lt;br /&gt;
  &lt;br /&gt;
  # save video state&lt;br /&gt;
  VBEMODE=`vbetool vbemode get`&lt;br /&gt;
  cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state&lt;br /&gt;
  &lt;br /&gt;
  # sync filesystem&lt;br /&gt;
  sync&lt;br /&gt;
  &lt;br /&gt;
  # sync hardware clock with system time&lt;br /&gt;
  hwclock --systohc&lt;br /&gt;
  &lt;br /&gt;
  # stop networking (atheros chipset)&lt;br /&gt;
  /etc/init.d/net.ath0 stop&lt;br /&gt;
  rmmod ath_pci&lt;br /&gt;
  &lt;br /&gt;
  # go to sleep&lt;br /&gt;
  sleep 2 ; echo -n 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
  &lt;br /&gt;
  # blink sleep led&lt;br /&gt;
  echo 7 blink &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
  &lt;br /&gt;
  # restore system clock&lt;br /&gt;
  hwclock --hctosys&lt;br /&gt;
  &lt;br /&gt;
  # restore video state&lt;br /&gt;
  vbetool vbemode set $VBEMODE&lt;br /&gt;
  cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
  &lt;br /&gt;
  # change back to X&lt;br /&gt;
  chvt $FGCONSOLE&lt;br /&gt;
  &lt;br /&gt;
  # restart networking&lt;br /&gt;
  modprobe ath_pci&lt;br /&gt;
  /etc/init.d/net.ath0 start&lt;br /&gt;
  &lt;br /&gt;
  # clean up behind us&lt;br /&gt;
  rm /tmp/video_state&lt;br /&gt;
  echo 7 off &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fedora Core 5 ==&lt;br /&gt;
&lt;br /&gt;
The vbetool on the article page worked great for me, but NetworkManager would not bring the wireless interface back up.  I had to add &amp;quot;ath_pci&amp;quot; to the SUSPEND_MODULES variable in /etc/sysconfig/pm.&lt;br /&gt;
&lt;br /&gt;
== R50e 1834-S3G in Debian Etch ==&lt;br /&gt;
&lt;br /&gt;
I found it necessary to add a {{cmdroot|clear}} to the script before {{cmdroot|chvt}} 'ing back to VT7 after wakeup. If I didn't, I would end up with a 99% black corrupted screen in X. &lt;br /&gt;
[[User:Ris|Ris]] 18:38, 30 October 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Work-arounds for X60s / Intel 950 ==&lt;br /&gt;
&lt;br /&gt;
The page identifies X60s's as having problems with blank display on resume (and I can confirm), but doesn't suggest a work-around.  (Nor are there any obvious fixes for this boxes Intel 950 graphics card.)  Has anyone gotten it working?  [[User:Johnh|Johnh]] 06:47, 16 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
My error, the chip is really an Intel 945, and the suggested work-around of acpi_sleep=s3_bios works great! [[User:Johnh|Johnh]] 05:42, 17 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== T60 with intel video card 945 ==&lt;br /&gt;
&lt;br /&gt;
Linux: Gentoo, kernel 2.6.17&lt;br /&gt;
I have problem with black display after resume with active framebuffer (vesa or vesa-tng).&lt;br /&gt;
I have a lot of garbage after resume with active fb and acpi_sleep=s3_bios,s3_mode parameter.&lt;br /&gt;
And I have normal screen without fb and with acpi_sleep=s3_bios,s3_mode, but  I cant operate with console.&lt;br /&gt;
&lt;br /&gt;
Any ideas?&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=APM_vs._ACPI&amp;diff=34348</id>
		<title>APM vs. ACPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=APM_vs._ACPI&amp;diff=34348"/>
		<updated>2007-11-08T01:15:54Z</updated>

		<summary type="html">&lt;p&gt;Dmoerner: Updated Thinkpad X40 to reflect success with APM.&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 following tables headings shell designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* APM&lt;br /&gt;
** Blank = ability to turn off the LCD while using APM&lt;br /&gt;
** Sleep = ability to do a suspend-to-ram using APM&lt;br /&gt;
** Hibernate = ability to perform a suspend-to-disk via the BIOS&lt;br /&gt;
** Battery = ability to get statistics on remaining battery life from the APM subsystem&lt;br /&gt;
*ACPI&lt;br /&gt;
** Blank = ability to turn off the LCD while using ACPI&lt;br /&gt;
** Sleep = ability to do a suspend-to-ram using ACPI&lt;br /&gt;
** Hibernate = ability to perform a suspend-to-disk using ACPI&lt;br /&gt;
** Battery = ability to get statistics on remaining battery life from the ACPI subsystem&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = working (with or without extra configuration effort)&lt;br /&gt;
* no = not working (because kernel support isn't there yet)&lt;br /&gt;
* part = partially working (unsolvable trouble on resume or something like that)&lt;br /&gt;
* N/A = not supported by the hardware&lt;br /&gt;
* ACPI-Hibernate can additionally have one of these:&lt;br /&gt;
** sus - hibernation works using the old in-kernel (2.6) [[swsusp]]&lt;br /&gt;
** sus2 - hibernation works using [[Software Suspend 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:560 | 560]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50 | R50]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51e | R51e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R60 | R60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | [[#t20_hib|yes]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | [[#t20_hib|yes]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T60 | T60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | random&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y2.6&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | part (SATA)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | part (SATA)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part (SATA)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes (sus)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X60 | X60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus(yes), sus2(?)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X60s | X60s]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:Z60m | Z60m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes (sus)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:Z60t | Z60t]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Others====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ? &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:PC110 | PC110]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;t20_hib&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;T20 Hibernation:&amp;lt;/b&amp;gt;&lt;br /&gt;
* tested with SuSE 9.2&lt;br /&gt;
* APM needs a special file on a windows partition&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;r51e_sleep&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;R51e Sleep:&amp;lt;/b&amp;gt;&lt;br /&gt;
* tested with Kubuntu 6.06&lt;br /&gt;
* R51e needs the BIOS/firmware update from february 2007 to successfully resume.  Resume completely hangs (no screen, no keys) with older software.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dmoerner</name></author>
		
	</entry>
</feed>