<?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=TheAnarcat</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=TheAnarcat"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/TheAnarcat"/>
	<updated>2026-04-29T11:26:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=52968</id>
		<title>How to control fan speed</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=52968"/>
		<updated>2011-10-07T15:45:56Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: add x120e&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses methods for controlling the system fan.&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; columns=&amp;quot;2&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{{WARN|When designing fan-control applets, never ignore a valid thermal sensor.&lt;br /&gt;
&lt;br /&gt;
Even if it seems to be stuck at a certain temperature, you must take that sensor into account.  While it will probably make the fan spin faster than if the sensor was ignored, that's exactly what would happen when the fan is under EC control, and could very well be the reason for the &amp;quot;stuck&amp;quot; value in the first place.&lt;br /&gt;
&lt;br /&gt;
Always play it safe.  If a battery pack seems to want the fan to always run faster, the only safe thing to do is to make it run faster.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==For Linux==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Fan control operations are disabled by default for safety reasons.}}&lt;br /&gt;
&lt;br /&gt;
To enable fan control, the module parameter &amp;lt;tt&amp;gt;fan_control=1&amp;lt;/tt&amp;gt; must be given to thinkpad-acpi.&lt;br /&gt;
&lt;br /&gt;
For example, in Ubuntu 8.04 (Hardy Heron), add the following to {{path|/etc/modprobe.d/options}}: &amp;lt;tt&amp;gt;options thinkpad_acpi fan_control=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Debian Squeeze (testing) create {{path|/etc/modprobe.d/thinkpad_acpi.conf}} with: &amp;lt;tt&amp;gt;options thinkpad_acpi fan_control=1&amp;lt;/tt&amp;gt; and install the package &amp;lt;tt&amp;gt;thinkfan&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Having done so, reboot and you can use the following commands to control fan speed:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 0 &amp;gt; /proc/acpi/ibm/fan}} (fan off)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 2 &amp;gt; /proc/acpi/ibm/fan}} (low speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 4 &amp;gt; /proc/acpi/ibm/fan}} (medium speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level 7 &amp;gt; /proc/acpi/ibm/fan}} (maximum speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level auto &amp;gt; /proc/acpi/ibm/fan}} (automatic - default)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo level disengaged &amp;gt; /proc/acpi/ibm/fan}} (disengaged)&lt;br /&gt;
&lt;br /&gt;
If you receive a PERMISSION DENIED error you can use the following command syntax instead as a work-around:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 0 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (fan off)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 2 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (low speed)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 4 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (medium speed)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level 7 | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (maximum speed)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level auto | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (automatic - default)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; echo level disengaged | sudo tee /proc/acpi/ibm/fan&amp;lt;/code&amp;gt; (disengaged)&lt;br /&gt;
&lt;br /&gt;
===Automated control scripts===&lt;br /&gt;
&lt;br /&gt;
An [[ACPI fan control script#Variable speed control scripts|ACPI fan control script]] can be used to override the firmware's fan algorithm with gentler, quieter version. It monitors the laptop's [[thermal sensors]] and sets the fan speed accordingly, according to customizable thresholds. For the default behavior, simply save {{CodeRef|tp-fancontrol}} as {{path|tp-fancontrol}}, make sure you've loaded [[thinkpad-acpi]] with the &amp;quot;fan_control=1&amp;quot; parameter, and run:&amp;lt;br /&amp;gt;&lt;br /&gt;
{{cmdroot|./tp-fancontrol}}&lt;br /&gt;
&lt;br /&gt;
There is an distro independent daemon (http://launchpad.net/tp-fan/tpfand/0.94/+download/tpfand-0.94.tar.gz), written in python. Packages are available for debian based linux systems.&lt;br /&gt;
&lt;br /&gt;
[http://www.gambitchess.org/moin.py/ThinkPad_Fan_Control A GTK GUI program (packaged for Ubuntu 7.10 and 8.04)] may also help.&lt;br /&gt;
&lt;br /&gt;
===Automated program - Simple ThinkPad Fan Control===&lt;br /&gt;
Written by Stanko, stanko [at] mfhinc [dot] net&lt;br /&gt;
&lt;br /&gt;
This is program for controlling fans speed on IBM/Lenovo ThinkPads. It is written&lt;br /&gt;
for Linux only. This program is written in C, using GTK GUI.&lt;br /&gt;
 &lt;br /&gt;
You are required to have the Linux kernel with 'thinkpad-acpi' patch.&lt;br /&gt;
You must also enable manual control for your fans. For Linux 2.6.22 and above,&lt;br /&gt;
you must add 'fan_control=1' as a module parameter to 'thinkpad-acpi'.&lt;br /&gt;
For example, in Debian Lenny (and Ubuntu 8.04), you must add the following&lt;br /&gt;
to &amp;quot;/etc/modprobe.d/options&amp;quot;:&lt;br /&gt;
        options thinkpad_acpi fan_control=1&lt;br /&gt;
 &lt;br /&gt;
Having done so, reboot. Now you'll be able to use this program easily.&lt;br /&gt;
 &lt;br /&gt;
Here is screenshot:&lt;br /&gt;
[[Image:Tpfc.png|none]]&lt;br /&gt;
&lt;br /&gt;
and direct download (src + i386 32bit binary). Please read README.txt file&lt;br /&gt;
included in package. &lt;br /&gt;
&lt;br /&gt;
'''Download links'''&lt;br /&gt;
&lt;br /&gt;
[[http://www.box.net/shared/phz3foll8oe0501k8s1j tpfc0.5.tar.gz]]&lt;br /&gt;
&lt;br /&gt;
[[http://stanko.mfhinc.net/projects/tpfc/tpfc0.5.tar.gz mirror 1]]&lt;br /&gt;
&lt;br /&gt;
[[http://sale.mfhinc.net/wp-content/uploads/2010/04/tpfc0.5.tar.gz mirror 2]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I wrote this for my own personal use, and thought that it would be a good idea&lt;br /&gt;
to release it to the world, and hope that it will be useful to someone!&lt;br /&gt;
Feel free to send comments, bug reports or a thanks to the e-mail above. Although I don't use ThinkPad anymore (so I can't test the program), I still try to respond to all emails I get.&lt;br /&gt;
&lt;br /&gt;
==For Windows==&lt;br /&gt;
&lt;br /&gt;
Shimodax's ThinkPad fan control tool offers similar functionality (see [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com).  Source and binaries are available through the [http://sourceforge.net/projects/tp4xfancontrol &amp;quot;Tp4xFanControl&amp;quot;] project on SourceForge.&lt;br /&gt;
&lt;br /&gt;
==Hardware specs==&lt;br /&gt;
&lt;br /&gt;
The following hardware behavior was discovered experimentally by [[User:Thinker|Thinker]] and neither provided by nor confirmed by IBM/Lenovo. The following description may be inaccurate and may vary by model (see list of models above). The terminology probably does not match the one used by IBM/Lenovo engineers.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Information on other models is included in the [[thinkpad-acpi]] [[Git]] version.}}&lt;br /&gt;
{{NOTE|1=The ThinkPad {{X61s}} and {{X61}} with WWAN have a [http://forum.notebookreview.com/showthread.php?t=141931 second system fan].  It shares the same control register as the main fan (cannot be controlled separately), and exposes a second tachometer.}}&lt;br /&gt;
&lt;br /&gt;
ACPI DSDT register HFSP (8 bits, offset 0x2F in the &amp;lt;tt&amp;gt;EmbeddedController&amp;lt;/tt&amp;gt; address space, accessed through the standard EC interface at IO ports 0x62 and 0x66) is read/writable and has the following meaning:&lt;br /&gt;
 &lt;br /&gt;
 Bits   7 6 5 4 3 2 1 0&lt;br /&gt;
        ---------------&lt;br /&gt;
 Value  1 0 * * * * * *  - automatic&lt;br /&gt;
        * 1 * * * * * *  - disengaged&lt;br /&gt;
        0 0 N N N N N N  - manual (0..63; 0=disable fan, 1=min, ..., 7=max)&lt;br /&gt;
&lt;br /&gt;
Changing modes may not be immediate on all ThinkPads.  Later ThinkPad models seem to take at least 5s to start responding to a fan mode change, for example.&lt;br /&gt;
&lt;br /&gt;
After boot, the HFSP register may not reflect the true state of the EC (on some models it reads 0x07 even though the EC is actually in automatic mode).&lt;br /&gt;
&lt;br /&gt;
The HFSP register controls both fans at the same time in the X61/X61s.&lt;br /&gt;
&lt;br /&gt;
=== Fan Tachometer ===&lt;br /&gt;
&lt;br /&gt;
The embedded controller registers 0x84 (LSB), 0x85 (MSB) are the main fan tachometer, and report fan speed in RPM in everything since the {{A31}} and maybe a little earlier.  Not much is know about the tachometer in earlier models, or even whether they had one or not.&lt;br /&gt;
&lt;br /&gt;
On the X61/X61s, one must select through EC register 0x31 bit 0 which fan the tachometer registers will expose (Firmware 7M).  Beware: this is the same register used for brightness control in other models.&lt;br /&gt;
&lt;br /&gt;
=== Automatic mode ===&lt;br /&gt;
In ''automatic'' mode, the embedded controller sets the fan speed automatically according to system temperatures and some unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
Note that the ACPI DSDT may supplement this in some models.  The {{X40}}, for example, changes the profile of speeds the automatic mode should use depending on battery status.&lt;br /&gt;
&lt;br /&gt;
=== Manual mode ===&lt;br /&gt;
&lt;br /&gt;
In ''manual'' mode, the fan level is forced to the given value and the EC will auto-regulate the fan to maintain at a (roughly) constant RPM, which is model-dependent. Manual speed levels 8-63 yield the same behavior as level 7, and the the ACPI DSDT uses level 7 for the emergency mode it enters upon critical CPU/GPU temperature, so apparently 7 is the real maximum level.&lt;br /&gt;
&lt;br /&gt;
=== Disengaged (full-speed) mode ===&lt;br /&gt;
&lt;br /&gt;
In ''disengaged'' mode, the embedded controller does not monitor the fan speed.  It &amp;quot;disengages&amp;quot; the closed-loop control function that keeps track of fan speed, and uses an open-loop control function that ramps up the fan to its maximum speed (100% duty-cycle).  The end speed is not stable, but it is often much faster than the maximum speed manual and automatic modes would set the fan to.&lt;br /&gt;
&lt;br /&gt;
Most newer ThinkPads take quite a while (in excess of one minute) to fully enter disengaged mode.  Exiting it is much faster.  The {{A31}} acts differently, and switches to disengaged mode as fast as it switches to other modes.&lt;br /&gt;
&lt;br /&gt;
For some reason, the embedded controller may stop updating the tachometer registers while entering or exiting disengaged mode in some ThinkPad firmware versions (hence the EC tachometer registers will not be updated on these models while entering/exiting disengaged mode).  Once it arrives at maximum speed, or once it gets back at closed-loop cruise speed, the embedded controller starts updating the tachometer registers again.   Later T models such as the {{T43}} have this problem, while the {{A31}} does not.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Apparently the [[Problem with fan noise|pulsing fan noise]] experienced by some users can be cured by repeatedly running 2-4 seconds of manual control followed by 0.5-1 seconds of disengaged mode. The pulse occurs when the the embedded controller computes the fan speed and adjusts the fan voltage adaptively every few seconds (~4.8sec for the ThinkPad T43); the aforementioned mode switching doesn't give it a chance to do so. One of the [[ACPI fan control script#Variable speed control scripts|ACPI fan control scripts]] implements this solution.}}&lt;br /&gt;
&lt;br /&gt;
==Supported models==&lt;br /&gt;
&lt;br /&gt;
The above was successfully tested on the following models:&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{A31}}, {{A31p}} (fan levels RPM: 0 = off, 1-2 = ~3280-3380 (!), 3-5 = ~3200, 6-7 = ~3380, &amp;quot;disengaged&amp;quot; = ~4000 (see NOTE above))&lt;br /&gt;
* ThinkPad {{R50}} (highest manual level is 3; disengage mode works and reaches much higher RPM)&lt;br /&gt;
* ThinkPad {{R50p}} (fan levels RPM: 0 = off, 1-2 = ~3200, 3-5 = ~3500-3600, 6-7 = ~3700-3800, disengaged = ~5300)&lt;br /&gt;
* ThinkPad {{R51}} (fan levels RPM: 0 = off, 1-2 = ~3150, 3-5 = ~3350, 6 = ~3750, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R51e}} (fan levels RPM: 0 = off, 1-2 = ~3300, 3-5 = ~3800, 6 = ~4150, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R52}} (fan levels RPM: 0 = off, 1-2 = ~3350, 3-5 = ~3650, 6 = ~4250, disengaged = ~5245)&lt;br /&gt;
* ThinkPad {{R60}} (fan levels RPM: 0 = off, 1-1 = ~2650, 3-5 = ~3300, 6-7 = ~3950, disengaged = ~4800)&lt;br /&gt;
* ThinkPad {{R60e}}&lt;br /&gt;
* ThinkPad {{R61i}} (fan levels RPM: 0 = off, 1 = 2689, 2 = 2729, 3 = 3059, 4 = 3047, 5 = 3051, 6 = 3515, 7 = 3468, full-speed/disengaged = 4119~4200)mod.#7650-D7G@+/-2yr.used&lt;br /&gt;
* ThinkPad {{T22}}&lt;br /&gt;
* ThinkPad {{T23}} &lt;br /&gt;
** (low speed = '''~2200''', medium and maximum speed = '''~4800'''; disengaged mode works at '''~5800''')&lt;br /&gt;
** (fan levels = ~RPM: 0 = '''0'''; 1,2 = '''~2200'''; 3,4,5,6,7 = '''~4900''';  disengaged,full-speed = '''~6331''')&lt;br /&gt;
* ThinkPad {{T30}}&lt;br /&gt;
* ThinkPad {{T40}} (fan levels RPM: 1-2 = ~2950, 3-5 = ~3600, 6-7 = ~4050; disengaged = ~5400)&lt;br /&gt;
* ThinkPad {{T41}}, {{T41p}} (fan levels RPM: 1-2 = ~2980, 3-5 = ~3500, 6-7 = ~4050; disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{T410i}} (fan levels RPM: 0 = off, 1 = ~1950, 2 = ~3575, 3-4 = ~3700, 5-6 = ~3825, 7 = ~4525; full-speed/disengaged = ~5450; only Linux-tested with tpfc0.5)&lt;br /&gt;
* ThinkPad {{T42}}, {{T42p}} (fan levels RPM: 1-2 = ~2900, 3-5 = ~3700, 6-7 = ~4700; disengaged mode works at ~5200)&lt;br /&gt;
* ThinkPad {{T43}}, {{T43p}} (fan levels RPM: 1-2 = ~3300, 3-5 = ~4100, 6-7 = ~4700; disengaged mode works at ~6450)&lt;br /&gt;
* ThinkPad {{T60}} (fan levels RPM: 1-2 = 3000-3100, 3-5 = ~3600, 6-7 = ~4500; disengaged mode works at ~5500)&lt;br /&gt;
* ThinkPad {{T61}} (fan levels RPM: 0 = off, 1-2 = ~2980, 3-5 = ~3330, 6-7 = ~3760; disengaged mode works at ~4500)&lt;br /&gt;
* ThinkPad {{W500}} (fan levels RPM: 0=off, 1-2 = 1900, 3-5 = ~3000, 6-7 = ~3500; disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{W510}} (fan levels RPM: 0=off, 1 = ~2750, 2 = ~3100, 3-5 = ~3500, 6-7 = ~4000; disengaged mode works at ~4585)&lt;br /&gt;
* ThinkPad {{X30}} (level 0 = off, low = ~3900, medium = ~4200, maximum = ~4650, disengaged = ~5900)&lt;br /&gt;
* ThinkPad {{X31}} (fan levels RPM: 0 = off, 1-2 = ~2850, 3-5 = ~3450, 6 = ~4050, 7 = ~4150; disengaged mode works at ~4975)&lt;br /&gt;
* ThinkPad {{X40}}&lt;br /&gt;
* ThinkPad {{X41}}&lt;br /&gt;
* ThinkPad {{X41T}}&lt;br /&gt;
* ThinkPad {{X60}} (fan levels RPM: 7 = ~3700, disengaged ~4700)&lt;br /&gt;
* ThinkPad {{X61}} (fan levels RPM: 1-2 = ~3400, 3-5 = ~3800, 6-7 = ~4500, disengaged = ~6700)&lt;br /&gt;
* ThinkPad {{X61s}} (fan levels RPM: 0 = off, 1-2 = ~3800, 3-5 = ~4500, 6-7 = ~4800, disengaged = ~4800) (though fancontrol can keep it at 2500rpm...)&lt;br /&gt;
* ThinkPad {{X120e}}&lt;br /&gt;
* ThinkPad {{Z60t}}, {{Z60m}} (fan levels RPM: 1-2 = ~1700, 3-5 = ~2800, 6-7 = ~3500)&lt;br /&gt;
* ThinkPad {{Z61m}}&lt;br /&gt;
* Thinkpad {{Z61p}} (fan levels 0-7, auto, disengaged; enable, disable; watchdog (untested))&lt;br /&gt;
* Thinkpad {{Edge11}} (fan levels: 0 = off, 1, 2, 3, 7 = full; RPM shown value is around 492 - 503, but should be 1000 - 3000)  &lt;br /&gt;
Probably other models are supported too (please update this page if you confirm this; maintain some ordering too).&lt;br /&gt;
&lt;br /&gt;
==Models using a different interface==&lt;br /&gt;
&lt;br /&gt;
The following models also work, use a different access method which supported (only) via the {{path|/proc/acpi/ibm/fan}} of [[thinkpad-acpi]]. No need for patching.&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{600E}}, {{600X}}, {{770E}}, {{770X}} (these use a different fan control interface)&lt;br /&gt;
&lt;br /&gt;
==Unsupported models==&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{560}} (these models don't have a fan)&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X120e&amp;diff=52955</id>
		<title>Category:X120e</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X120e&amp;diff=52955"/>
		<updated>2011-09-30T01:03:05Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: link to the debian install instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X120e ===&lt;br /&gt;
This page gives an overview of all ThinkPad X120e related topics.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The [http://shop.lenovo.com/us/products/new-products?ipromoID=sociallogo1001&amp;amp;#x120e X120e] was [http://news.lenovo.com/article_display.cfm?article_id=1398 announced] on January 3, 2011 at CES 2011, with availability beginning in February, 2011.&lt;br /&gt;
&lt;br /&gt;
==== Machine Type ====&lt;br /&gt;
* 0596&lt;br /&gt;
* 0611&lt;br /&gt;
* 0613&lt;br /&gt;
* 0622&lt;br /&gt;
* 0627&lt;br /&gt;
&lt;br /&gt;
==== Details ====&lt;br /&gt;
* CPU&lt;br /&gt;
** AMD Fusion E-240 (1.5Ghz, 512KB L2, 1.0GHz FSB) 2.3GT/s single-core Accelerated Processing Unit (APU) &lt;br /&gt;
** AMD Fusion E-350 (1.6Ghz, 1MB L2, 1.0GHz FSB) 2.0GT/s dual-core Accelerated Processing Unit (APU) &lt;br /&gt;
* Graphics&lt;br /&gt;
** AMD Radeon HD 6310 &lt;br /&gt;
** 11.6&amp;quot; TFT anti-glare display with 1366×768 (HD) resolution with LED backlight &lt;br /&gt;
** VGA and HDMI port(s)&lt;br /&gt;
* Memory&lt;br /&gt;
** two DDR3 SO-DIMM slots (1333MHz modules will run at 1066MHz, according to Data Sheet)&lt;br /&gt;
** 2 GB PC3-10600 DDR3 SDRAM 1333MHz SODIMM Memory (1 DIMM) at 1066MHz&lt;br /&gt;
** 3 GB PC3-10600 DDR3 SDRAM 1333MHz SODIMM Memory (2 DIMM) at 1066MHz&lt;br /&gt;
** 4 GB PC3-10600 DDR3 SDRAM 1333MHz SODIMM Memory (2 DIMM) at 1066MHz (official limit is 4GB; service manual indicates 4GB DIMMs are supported for total of 8GB)&lt;br /&gt;
* Storage&lt;br /&gt;
** 250GB/320GB Hard Disk Drive (5400RPM)&lt;br /&gt;
** 160GB/320GB Hard Disk Drive (7200RPM)&lt;br /&gt;
** 128GB Solid State Drive (SSD)&lt;br /&gt;
* Networking&lt;br /&gt;
** Realtek RTL8111DL GbE PCIe&lt;br /&gt;
* Bluetooth on select models&lt;br /&gt;
** Bluetooth daughter card (BDC-2.1)&lt;br /&gt;
* Wireless&lt;br /&gt;
** [[MiniPCI Express slot]] 1 with one of the following:&lt;br /&gt;
*** Broadcom Mini PCIe 802.11 a/b/g/n WLAN adapter (FRU 60Y3251)&lt;br /&gt;
*** ThinkPad 1x1 b/g/n Wireless LAN Mini-PCI Express Adapter II (FRU 60Y3247 or 60Y3249)&lt;br /&gt;
** [[MiniPCI Express slot]] 2 with one of the following:&lt;br /&gt;
*** Integrated Mobile Broadband (Gobi 2000 3G with GPS)&lt;br /&gt;
*** Integrated China Telecom Mobile Broadband (Huawei EM660)&lt;br /&gt;
* three USB ports (one powered)&lt;br /&gt;
* 4-in-1 multicard reader&lt;br /&gt;
* [[UltraNav]] (TrackPoint / Touchpad combo)&lt;br /&gt;
* Audio &lt;br /&gt;
** HD audio codec (Conexant CX20582)&lt;br /&gt;
** two 1-Watt stereo speakers&lt;br /&gt;
** combo headphone/mic jack&lt;br /&gt;
* low-light webcam (0.3MP, FPS unknown)&lt;br /&gt;
* 3-cell or 6-cell battery&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX100e.jpg|thumb|ThinkPad X100e]]&lt;br /&gt;
|}&lt;br /&gt;
* [http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/63y0640_02.pdf Hardware Maintenance Manual Thinkpad X100e/X120e] (9,436,398 bytes)&lt;br /&gt;
&lt;br /&gt;
==== Reviews ====&lt;br /&gt;
* [http://www.engadget.com/2011/01/03/lenovo-thinkpad-x120e-snatches-up-amds-zacate-aims-to-right-al Lenovo ThinkPad X120e snatches up AMD's Zacate, aims to right all of the X100e's wrongs] Engadget.com, 2011-01-03&lt;br /&gt;
* [http://www.pcworld.com/article/221084/lenovo_thinkpad_x120e_a_superfast_business_netbook.html Lenovo Thinkpad x120e: A Super-fast Business Netbook] PCWorld.com 2011-1-03&lt;br /&gt;
* [http://www.crn.com/news/client-devices/228901645/lenovo-showcases-thinkpad-x120e-notebook-with-amd-fusion-chips.htm;jsessionid=bcyvlMqXRbFPgBuS1bVPIA**.ecappj01 Lenovo Showcases ThinkPad x120e Notebook With AMD Fusion Chips] CRN 2011-01-03&lt;br /&gt;
* [http://blog.laptopmag.com/lenovo-unveils-thinkpad-x120e-11-inch-notebook-with-amd-fusion Lenovo Unveils ThinkPad X120e, 11-inch Notebook With AMD Fusion] LAPTOP Magazine Blog 2011-01-03&lt;br /&gt;
* [http://nexus404.com/Blog/2011/01/03/ces-2011-lenovo-thinkpad-x120e-ultraportable-notebook-announced-lenovo-thinkpad-x120e-notebook-to-feature-amd-fusion-11-6-display-sub-400-price-point/ CES 2011: Lenovo ThinkPad X120e Ultraportable Notebook Announced [Lenovo ThinkPad X120e Notebook To Feature AMD Fusion, 11.6&amp;quot; Display &amp;amp; Sub $400 Price Point] TFTS 2011-01-03&lt;br /&gt;
* [http://www.thinkpadtoday.com/thinkpad-x120-review-superb-lenovo-gets-it-right-on-target-2.htm ThinkPad X120 Review, Superb! – Lenovo gets it right on target] ThinkPadToday 2011-01-03&lt;br /&gt;
&lt;br /&gt;
==== Other resources ====&lt;br /&gt;
&lt;br /&gt;
* [https://www.dei.unipd.it/~pettarin/debian-wheezy-x120e.html Installing Debian Wheezy on Lenovo ThinkPad X120e]&lt;br /&gt;
&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=39138</id>
		<title>Problems with ACPI suspend-to-ram</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=39138"/>
		<updated>2008-10-20T00:07:25Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following glitches may or may not occur in relation to suspending to RAM:&lt;br /&gt;
&lt;br /&gt;
==Troubles on suspend==&lt;br /&gt;
;Permissions:If your suspend is failing, and a {{cmdroot|tail /var/log/acpid}} shows &amp;quot;Permission denied&amp;quot; errors, be sure that your new ACPI event and action scripts have the appropriate permissions.&lt;br /&gt;
&lt;br /&gt;
;Write error:If {{cmdroot|echo mem &amp;gt; /sys/power/state}} shows &amp;quot;write error: Operation not permitted&amp;quot;, verify that CONFIG_HOTPLUG_CPU option is enabled in the kernel. [[Software_Suspend_2|Suspend2]] automatically selects this option. &lt;br /&gt;
&lt;br /&gt;
;Broken sysfs interface:You may experience problems when using {{cmdroot|echo standby &amp;gt; /sys/power/state}} or {{cmdroot|echo mem &amp;gt; /sys/power/state}} (machine goes to sleep and wakes up immediately). This can be avoided by using {{cmdroot|echo -n 3 &amp;gt;/proc/acpi/sleep}} to get it to sleep. This can be also happen if hotplug daemon is still running or if the usb hcd modules are still loaded.&lt;br /&gt;
&lt;br /&gt;
;Immediate Resume after Suspend:If a resume starts a few seconds after suspend a reason might be the USB modules. Unload the modules uhci_hcd and ehci_hcd before you suspend. Users of hibernate-scripts add &amp;quot;UnloadModules uhci_hcd ehci_hcd&amp;quot; to {{path|/etc/hibernate/common.conf}}.&lt;br /&gt;
&lt;br /&gt;
;Hangs on &amp;quot;switching to UP code&amp;quot;:You may be using a [[How to make use of Dynamic Frequency Scaling|frequency scaling governor]] such as &amp;quot;conservative&amp;quot; or &amp;quot;ondemand&amp;quot;, which sometimes have problems with suspending. Switching to a governor such as &amp;quot;powersave&amp;quot; or &amp;quot;performance&amp;quot; before suspending may solve this problem.&lt;br /&gt;
&lt;br /&gt;
;MySQL daemon running:If you're running MySQL, sleep may also not work, so stop MySQL first, then sleep. Remember to restart MySQL when you wakeup.&lt;br /&gt;
&lt;br /&gt;
;LCD backlight remains on during sleep:When your system is equiped with a Radeon Mobility graphic controller your [[Problem with LCD backlight remaining on during ACPI sleep|LCD backlight may not turn off automatically]]. Use [[radeontool]] to switch off your backlight prior suspend in your sleep action script.&lt;br /&gt;
&lt;br /&gt;
;High power drain during sleep:Also, you might want to take note of the [[Problem with high power drain in ACPI sleep]].&lt;br /&gt;
&lt;br /&gt;
;Built-in MMC reader:If you have an MMC reader, and the computer hangs when attempting suspend then remove sdhci, mmc_block, and mmc_core modules before suspending.&lt;br /&gt;
&lt;br /&gt;
;Could not power down device &amp;lt;NULL&amp;gt;: error -22:If you have the acpi_cpufreq kernel module loaded, this prevents suspension.&lt;br /&gt;
&lt;br /&gt;
;Immediate Resume, but Suspend &amp;quot;moon&amp;quot; light continues to flash:???&lt;br /&gt;
&lt;br /&gt;
;Hard system lock up:If you are using savagefb, make sure to [[Problem_with_unusable_console|disable the &amp;quot;Console Acceleration&amp;quot; option]] (CONFIG_FB_SAVAGE_ACCEL) in the kernel config.  Otherwise, susped-to-RAM may lock up your system such that you must remove the AC adapter and battery to get it to boot again.&lt;br /&gt;
&lt;br /&gt;
;Hard system lock up 2:  If you are using a Thinkpad G40 and Ubuntu (this problem experienced on 8.04), you may experience problems with ACPI when opening your laptop lid that freezes the system.  You can disable ACPI in your kernel parameters, or modify {{path|/etc/acpi/lid.sh}} to switch to a plain text console on close and back to Gnome/KDE on open (use {{path|/usr/bin/chvt 1}} and {{path|/usr/bin/chvt 7}}, respectively)&lt;br /&gt;
&lt;br /&gt;
;Solid 'moon' but fans still spinning: On a T61p with an nvidia quadro 570M, you might experience a near-complete suspend, with the backlight turned off, unresponsive usb, and a solid 'moon' lit, however system fans are still going. The proprietary nvidia module is to blame. On gentoo, appending &amp;quot;NVreg_Mobile=3&amp;quot; to the 'option' line in /etc/modules.d/nvidia fixed the issue for me. On other distros, look in your module autoloading conf file&lt;br /&gt;
&lt;br /&gt;
==Troubles on resume==&lt;br /&gt;
;Blank display on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram the display might remain black (on {{X60}}) or might only show the pre-suspend output (the system is still rebootable via {{key|ctrl}}{{key|alt}}{{key|del}}). See [[Problem with display remaining black after resume]] for solutions. See also '''System hang on resume''' on this page - which may be potentially mismatched with this one.&lt;br /&gt;
&lt;br /&gt;
;No mouse cursor on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram your X cursor might be invisible(on {{X40}}) when using {{path|/sys/power/state}} directly to suspend, they way to fix this is to rerun the post bios code after returning for suspending.&lt;br /&gt;
:{{cmdroot|FGCONSOLE&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;`fgconsole\`}}&lt;br /&gt;
:{{cmdroot|chvt 1 &amp;amp;&amp;amp; echo -n mem &amp;gt;/sys/power/state}}&lt;br /&gt;
:{{cmdroot|vbetool post &amp;amp;&amp;amp; chvt 7 &amp;amp;&amp;amp; chvt $FGCONSOLE}}&lt;br /&gt;
&lt;br /&gt;
;Garbage on text consoles on resume:When resuming from suspend-to-ram the text console displays may show garbage instead of actual text. The machine is otherwise still responsive and X displays fine. If all of this is true, then adding the kernel option {{bootparm|acpi_sleep|s3_bios,s3_mode}} in your menu.lst or lilo.conf may solve the problem.&lt;br /&gt;
&lt;br /&gt;
;Broken hardware support after resume:&lt;br /&gt;
:*The '''serial port''' of the port replicator might not work after resume.&lt;br /&gt;
:*The '''parallel port''' might not work after resume. A possible fix is to unload and reload the parallel port drivers: {{cmdroot|rmmod lp parport_pc parport; modprobe lp}}.&lt;br /&gt;
:*Problems with the '''CD-RW/DVD drive''' after wake up from ram have been experienced.&lt;br /&gt;
:*There is a known Problem regarding '''battery info''' after suspend to RAM. A [http://www.ussg.iu.edu/hypermail/linux/kernel/0511.0/2429.html small patch] exists for kernels 2.6.14/2.6.15.&lt;br /&gt;
:*On {{X20}} and {{X21}} (and possibly other) models, the '''sleep LED''' is not reset properly on resume and will keep blinking. If you have the [[ibm-acpi]] kernel module loaded with the {{bootparm|ibm-acpi.experimental|1}} option, you can switch it off on resume by appending the following line to your suspend script: {{cmdroot|echo 7 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
;Crash on resume:&lt;br /&gt;
:*When using '''older ATI proprietary drivers''' a crash on resume can be solved by using [http://freshmeat.net/projects/vbetool/ vbetool]. See the example suspend script [[Problem with display remaining black after resume#Solution for ThinkPads with Intel I830 Chipset]]. This is no longer necessary with recent revisions of the ATI proprietary driver.&lt;br /&gt;
:*A crash could also be caused by having '''apic support''' enabled in the kernel config. Try disabling it (in the &amp;quot;Processor type and features&amp;quot; section).&lt;br /&gt;
:*On machines with Savage chipsets, the '''savagefb framebuffer driver''' might crash the machine on resume. Make sure it is disabled in your kernel config and use the standard vesafb driver instead.&lt;br /&gt;
:*SATA-based laptops utilize the '''libata layer for disk access''' which does not have fully-working power-management support before Linux kernel 2.6.16 (ata_piix) and 2.6.19 (ahci).  Suspend to RAM crashes these machines on resume.  See the [[Problems with SATA and Linux#Hang on resume from suspend to RAM|relevant section]] on the [[Problems with SATA and Linux]] page.&lt;br /&gt;
:*Using [[HDAPS]] as a module causes a crash on resume with the Linux kernel 2.6.19 (possibly even earlier versions). This was observed on a {{X41}}. Try unloading the module before suspending.&lt;br /&gt;
:*Gnome-power-manager might be using the wrong backend. If you are able to suspend from the commandline with a certain method, make sure the others are not available so that g-p-m doesn't choose the wrong one. For example, if you suspend with {{cmdroot|echo mem &amp;gt; /sys/power/state}}, make sure '''uswsusp''' and '''hibernate''' are uninstalled.&lt;br /&gt;
&lt;br /&gt;
;System hang on resume:&lt;br /&gt;
:System hangs immediately upon attempted resume if suspended with USB devices attached to dock.  Try using the laptop's own USB ports instead.  That fixed the problem for me.  Details: https://bugs.launchpad.net/ubuntu/+bug/218760 --[[User:Dave abrahams|Dave abrahams]] 17:45, 28 April 2008 (CEST)&lt;br /&gt;
:When system resumes it hangs right after restarting tasks. Strange thing is, that you may be even able to restart your ThinkPad using {{key|ctrl}}{{key|alt}}{{key|del}}, but if you try to blindly exec a command, it will not work, (eg. touch FILE) so it's not only the problem of videocard. This may be fixed by passing {{bootparm|ec_intr|0}} on kernel cmdline. Affected models: {{T20}}, {{T21}} (at least [[2648-46U]] (T20),[[2647-8AG]] (T21)).&lt;br /&gt;
:'''Note:''' ''this is resolved in kernel 2.6.20, there is no need to pass the {{bootparm|ec_intr|0}} bootparam anymore (moreover, you are discouraged to use it) See [http://bugzilla.kernel.org/show_bug.cgi?id=6749 revelant kernel bug report]''&lt;br /&gt;
:See also [https://bugs.launchpad.net/ubuntu/+source/acpi/+bug/73546 this bug report], I can confirm some strange problems on resume with Bluetooth enabled - my T61 may freeze in a couple of minutes after resuming. This problem is gone as soon as I disable Bluetooth (stop all bluetooth related services and `echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth`).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Shutdown on resume:&lt;br /&gt;
:If your system immediately begins to shut down right after resume, make sure you don't have acpid running with the power button tied to shutdown. The system is simply sensing the power button event and shutting down.  This issue has been reported as a bug against the kernel ACPI subsystem, refer to [http://bugzilla.kernel.org/show_bug.cgi?id=6612 kernel.org bugzilla bug #6612].&lt;br /&gt;
&lt;br /&gt;
;Immediate suspend on resume:&lt;br /&gt;
:When running GNOME, sometimes gnome-power-manager will put the system back into suspend immediately after resuming.  This is caused by a known bug in HAL that causes some ACPI events to be reported incorrectly after a suspend-to-ram.  A simple workaround can be found [http://live.gnome.org/GnomePowerManager/Faq?action=recall&amp;amp;rev=28#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
:Note that suspend being triggered by unrelated ACPI events such as disconnecting the AC adapter may also be fixed by the above method.&lt;br /&gt;
&lt;br /&gt;
;Power Off when suspended laptop is docked&lt;br /&gt;
:When T60p is suspended, docking laptop into Advanced Dock immediately turns off laptop and crescent moon sleep indicator LED. Pressing power button initiates cold boot. Also reported by multiple people on thinkpads.com.&lt;br /&gt;
&lt;br /&gt;
;SectorIdNotFound disk errors when laptop is resumed&lt;br /&gt;
:The errors look like this:&lt;br /&gt;
 Oct 14 17:35:02 cacharro kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }&lt;br /&gt;
 Oct 14 17:35:02 cacharro kernel: hda: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=115896900, sector=115896900&lt;br /&gt;
 Oct 14 17:35:02 cacharro kernel: ide: failed opcode was: unknown&lt;br /&gt;
&lt;br /&gt;
:This happens when you have [[Hidden Protected Area]] (HPA) enabled on the hard drive.  There is a [http://bugzilla.kernel.org/show_bug.cgi?id=6840 kernel bug report with an unfinished patch] to fix this.  This is not fixed as of kernel 2.16.18. Adding {{bootparm|libata.ignore_hpa|1}} to the kernel command line might help.&lt;br /&gt;
&lt;br /&gt;
:Update: This is still occuring here on 2.6.26-1-686 on Debian, even though the bug has been marked as fixed in 2.6.22. I will try disabling the HPA to see if the problem is related... [[User:TheAnarcat|TheAnarcat]] 01:51, 20 October 2008 (CEST)&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=39137</id>
		<title>Problems with ACPI suspend-to-ram</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=39137"/>
		<updated>2008-10-19T23:51:27Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: /* Troubles on resume */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following glitches may or may not occur in relation to suspending to RAM:&lt;br /&gt;
&lt;br /&gt;
==Troubles on suspend==&lt;br /&gt;
;Permissions:If your suspend is failing, and a {{cmdroot|tail /var/log/acpid}} shows &amp;quot;Permission denied&amp;quot; errors, be sure that your new ACPI event and action scripts have the appropriate permissions.&lt;br /&gt;
&lt;br /&gt;
;Write error:If {{cmdroot|echo mem &amp;gt; /sys/power/state}} shows &amp;quot;write error: Operation not permitted&amp;quot;, verify that CONFIG_HOTPLUG_CPU option is enabled in the kernel. [[Software_Suspend_2|Suspend2]] automatically selects this option. &lt;br /&gt;
&lt;br /&gt;
;Broken sysfs interface:You may experience problems when using {{cmdroot|echo standby &amp;gt; /sys/power/state}} or {{cmdroot|echo mem &amp;gt; /sys/power/state}} (machine goes to sleep and wakes up immediately). This can be avoided by using {{cmdroot|echo -n 3 &amp;gt;/proc/acpi/sleep}} to get it to sleep. This can be also happen if hotplug daemon is still running or if the usb hcd modules are still loaded.&lt;br /&gt;
&lt;br /&gt;
;Immediate Resume after Suspend:If a resume starts a few seconds after suspend a reason might be the USB modules. Unload the modules uhci_hcd and ehci_hcd before you suspend. Users of hibernate-scripts add &amp;quot;UnloadModules uhci_hcd ehci_hcd&amp;quot; to {{path|/etc/hibernate/common.conf}}.&lt;br /&gt;
&lt;br /&gt;
;Hangs on &amp;quot;switching to UP code&amp;quot;:You may be using a [[How to make use of Dynamic Frequency Scaling|frequency scaling governor]] such as &amp;quot;conservative&amp;quot; or &amp;quot;ondemand&amp;quot;, which sometimes have problems with suspending. Switching to a governor such as &amp;quot;powersave&amp;quot; or &amp;quot;performance&amp;quot; before suspending may solve this problem.&lt;br /&gt;
&lt;br /&gt;
;MySQL daemon running:If you're running MySQL, sleep may also not work, so stop MySQL first, then sleep. Remember to restart MySQL when you wakeup.&lt;br /&gt;
&lt;br /&gt;
;LCD backlight remains on during sleep:When your system is equiped with a Radeon Mobility graphic controller your [[Problem with LCD backlight remaining on during ACPI sleep|LCD backlight may not turn off automatically]]. Use [[radeontool]] to switch off your backlight prior suspend in your sleep action script.&lt;br /&gt;
&lt;br /&gt;
;High power drain during sleep:Also, you might want to take note of the [[Problem with high power drain in ACPI sleep]].&lt;br /&gt;
&lt;br /&gt;
;Built-in MMC reader:If you have an MMC reader, and the computer hangs when attempting suspend then remove sdhci, mmc_block, and mmc_core modules before suspending.&lt;br /&gt;
&lt;br /&gt;
;Could not power down device &amp;lt;NULL&amp;gt;: error -22:If you have the acpi_cpufreq kernel module loaded, this prevents suspension.&lt;br /&gt;
&lt;br /&gt;
;Immediate Resume, but Suspend &amp;quot;moon&amp;quot; light continues to flash:???&lt;br /&gt;
&lt;br /&gt;
;Hard system lock up:If you are using savagefb, make sure to [[Problem_with_unusable_console|disable the &amp;quot;Console Acceleration&amp;quot; option]] (CONFIG_FB_SAVAGE_ACCEL) in the kernel config.  Otherwise, susped-to-RAM may lock up your system such that you must remove the AC adapter and battery to get it to boot again.&lt;br /&gt;
&lt;br /&gt;
;Hard system lock up 2:  If you are using a Thinkpad G40 and Ubuntu (this problem experienced on 8.04), you may experience problems with ACPI when opening your laptop lid that freezes the system.  You can disable ACPI in your kernel parameters, or modify {{path|/etc/acpi/lid.sh}} to switch to a plain text console on close and back to Gnome/KDE on open (use {{path|/usr/bin/chvt 1}} and {{path|/usr/bin/chvt 7}}, respectively)&lt;br /&gt;
&lt;br /&gt;
;Solid 'moon' but fans still spinning: On a T61p with an nvidia quadro 570M, you might experience a near-complete suspend, with the backlight turned off, unresponsive usb, and a solid 'moon' lit, however system fans are still going. The proprietary nvidia module is to blame. On gentoo, appending &amp;quot;NVreg_Mobile=3&amp;quot; to the 'option' line in /etc/modules.d/nvidia fixed the issue for me. On other distros, look in your module autoloading conf file&lt;br /&gt;
&lt;br /&gt;
==Troubles on resume==&lt;br /&gt;
;Blank display on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram the display might remain black (on {{X60}}) or might only show the pre-suspend output (the system is still rebootable via {{key|ctrl}}{{key|alt}}{{key|del}}). See [[Problem with display remaining black after resume]] for solutions. See also '''System hang on resume''' on this page - which may be potentially mismatched with this one.&lt;br /&gt;
&lt;br /&gt;
;No mouse cursor on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram your X cursor might be invisible(on {{X40}}) when using {{path|/sys/power/state}} directly to suspend, they way to fix this is to rerun the post bios code after returning for suspending.&lt;br /&gt;
:{{cmdroot|FGCONSOLE&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;`fgconsole\`}}&lt;br /&gt;
:{{cmdroot|chvt 1 &amp;amp;&amp;amp; echo -n mem &amp;gt;/sys/power/state}}&lt;br /&gt;
:{{cmdroot|vbetool post &amp;amp;&amp;amp; chvt 7 &amp;amp;&amp;amp; chvt $FGCONSOLE}}&lt;br /&gt;
&lt;br /&gt;
;Garbage on text consoles on resume:When resuming from suspend-to-ram the text console displays may show garbage instead of actual text. The machine is otherwise still responsive and X displays fine. If all of this is true, then adding the kernel option {{bootparm|acpi_sleep|s3_bios,s3_mode}} in your menu.lst or lilo.conf may solve the problem.&lt;br /&gt;
&lt;br /&gt;
;Broken hardware support after resume:&lt;br /&gt;
:*The '''serial port''' of the port replicator might not work after resume.&lt;br /&gt;
:*The '''parallel port''' might not work after resume. A possible fix is to unload and reload the parallel port drivers: {{cmdroot|rmmod lp parport_pc parport; modprobe lp}}.&lt;br /&gt;
:*Problems with the '''CD-RW/DVD drive''' after wake up from ram have been experienced.&lt;br /&gt;
:*There is a known Problem regarding '''battery info''' after suspend to RAM. A [http://www.ussg.iu.edu/hypermail/linux/kernel/0511.0/2429.html small patch] exists for kernels 2.6.14/2.6.15.&lt;br /&gt;
:*On {{X20}} and {{X21}} (and possibly other) models, the '''sleep LED''' is not reset properly on resume and will keep blinking. If you have the [[ibm-acpi]] kernel module loaded with the {{bootparm|ibm-acpi.experimental|1}} option, you can switch it off on resume by appending the following line to your suspend script: {{cmdroot|echo 7 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
;Crash on resume:&lt;br /&gt;
:*When using '''older ATI proprietary drivers''' a crash on resume can be solved by using [http://freshmeat.net/projects/vbetool/ vbetool]. See the example suspend script [[Problem with display remaining black after resume#Solution for ThinkPads with Intel I830 Chipset]]. This is no longer necessary with recent revisions of the ATI proprietary driver.&lt;br /&gt;
:*A crash could also be caused by having '''apic support''' enabled in the kernel config. Try disabling it (in the &amp;quot;Processor type and features&amp;quot; section).&lt;br /&gt;
:*On machines with Savage chipsets, the '''savagefb framebuffer driver''' might crash the machine on resume. Make sure it is disabled in your kernel config and use the standard vesafb driver instead.&lt;br /&gt;
:*SATA-based laptops utilize the '''libata layer for disk access''' which does not have fully-working power-management support before Linux kernel 2.6.16 (ata_piix) and 2.6.19 (ahci).  Suspend to RAM crashes these machines on resume.  See the [[Problems with SATA and Linux#Hang on resume from suspend to RAM|relevant section]] on the [[Problems with SATA and Linux]] page.&lt;br /&gt;
:*Using [[HDAPS]] as a module causes a crash on resume with the Linux kernel 2.6.19 (possibly even earlier versions). This was observed on a {{X41}}. Try unloading the module before suspending.&lt;br /&gt;
:*Gnome-power-manager might be using the wrong backend. If you are able to suspend from the commandline with a certain method, make sure the others are not available so that g-p-m doesn't choose the wrong one. For example, if you suspend with {{cmdroot|echo mem &amp;gt; /sys/power/state}}, make sure '''uswsusp''' and '''hibernate''' are uninstalled.&lt;br /&gt;
&lt;br /&gt;
;System hang on resume:&lt;br /&gt;
:System hangs immediately upon attempted resume if suspended with USB devices attached to dock.  Try using the laptop's own USB ports instead.  That fixed the problem for me.  Details: https://bugs.launchpad.net/ubuntu/+bug/218760 --[[User:Dave abrahams|Dave abrahams]] 17:45, 28 April 2008 (CEST)&lt;br /&gt;
:When system resumes it hangs right after restarting tasks. Strange thing is, that you may be even able to restart your ThinkPad using {{key|ctrl}}{{key|alt}}{{key|del}}, but if you try to blindly exec a command, it will not work, (eg. touch FILE) so it's not only the problem of videocard. This may be fixed by passing {{bootparm|ec_intr|0}} on kernel cmdline. Affected models: {{T20}}, {{T21}} (at least [[2648-46U]] (T20),[[2647-8AG]] (T21)).&lt;br /&gt;
:'''Note:''' ''this is resolved in kernel 2.6.20, there is no need to pass the {{bootparm|ec_intr|0}} bootparam anymore (moreover, you are discouraged to use it) See [http://bugzilla.kernel.org/show_bug.cgi?id=6749 revelant kernel bug report]''&lt;br /&gt;
:See also [https://bugs.launchpad.net/ubuntu/+source/acpi/+bug/73546 this bug report], I can confirm some strange problems on resume with Bluetooth enabled - my T61 may freeze in a couple of minutes after resuming. This problem is gone as soon as I disable Bluetooth (stop all bluetooth related services and `echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth`).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Shutdown on resume:&lt;br /&gt;
:If your system immediately begins to shut down right after resume, make sure you don't have acpid running with the power button tied to shutdown. The system is simply sensing the power button event and shutting down.  This issue has been reported as a bug against the kernel ACPI subsystem, refer to [http://bugzilla.kernel.org/show_bug.cgi?id=6612 kernel.org bugzilla bug #6612].&lt;br /&gt;
&lt;br /&gt;
;Immediate suspend on resume:&lt;br /&gt;
:When running GNOME, sometimes gnome-power-manager will put the system back into suspend immediately after resuming.  This is caused by a known bug in HAL that causes some ACPI events to be reported incorrectly after a suspend-to-ram.  A simple workaround can be found [http://live.gnome.org/GnomePowerManager/Faq?action=recall&amp;amp;rev=28#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
:Note that suspend being triggered by unrelated ACPI events such as disconnecting the AC adapter may also be fixed by the above method.&lt;br /&gt;
&lt;br /&gt;
;Power Off when suspended laptop is docked&lt;br /&gt;
:When T60p is suspended, docking laptop into Advanced Dock immediately turns off laptop and crescent moon sleep indicator LED. Pressing power button initiates cold boot. Also reported by multiple people on thinkpads.com.&lt;br /&gt;
&lt;br /&gt;
;SectorIdNotFound disk errors when laptop is resumed&lt;br /&gt;
:The errors look like this:&lt;br /&gt;
 Oct 14 17:35:02 cacharro kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }&lt;br /&gt;
 Oct 14 17:35:02 cacharro kernel: hda: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=115896900, sector=115896900&lt;br /&gt;
 Oct 14 17:35:02 cacharro kernel: ide: failed opcode was: unknown&lt;br /&gt;
&lt;br /&gt;
:This happens when you have [[Hidden Protected Area]] (HPA) enabled on the hard drive.  There is a [http://bugzilla.kernel.org/show_bug.cgi?id=6840 kernel bug report with an unfinished patch] to fix this.  This is not fixed as of kernel 2.16.18. Adding {{bootparm|libata.ignore_hpa|1}} to the kernel command line might help.&lt;br /&gt;
&lt;br /&gt;
:Update: This is still occuring here on 2.6.26-1-686 on Debian, even though the bug has been marked as fixed in 2.6.22. I will try using the libata.ignore_hpa trick. [[User:TheAnarcat|TheAnarcat]] 01:51, 20 October 2008 (CEST)&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=31333</id>
		<title>How to get special keys to work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=31333"/>
		<updated>2007-07-16T16:08:21Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: /* Window Managers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
The following table gives an overview over the special keys found on ThinkPads and what is needed to make them work.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
! key !! standard function{{footnote|1}} !! tools supporting key{{footnote|2}} !! configurability{{footnote|3}} !! remarks&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || - || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || on release without completed key combination&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || lock screen || [[#ibm-acpi events|ibm-acpi]] || full || in models from T/X/Z 60 onwards&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || blank screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || suspend to ram || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the ibm-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || switch bluetooth || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || in models starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F6}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || switch display || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions || &lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || toggle display expansion || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F9}} || eject from dock || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || hibernate || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the ibm-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || brightness up || [[#ibm-acpi events|ibm-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || brightness down || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || toggle thinklight || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || toggle zoom || [[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|NumLock}} || - || [[#xmodmap configuration|xmodmap]] || make working ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Windows}} || - || [[#xmodmap configuration|xmodmap]] || remapping ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || help application || [[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || open web browser || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || open search application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || open mail application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || open favorites || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || reload web page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || abort loading page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || previous page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full ||  ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || next page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || volume up || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || volume down || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || mute volume || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Play/Pause|#494949}} || start/pause playback  || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Down)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Stop|#494949}} || stop playback || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Up)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Next|#494949}} || play next || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Right)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Previous|#494949}} || play previous || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Left)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || blank screen || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay lid || announce ultrabay change || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || eject from dock || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || rotates screen || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet shortcut|#494949}} || shortcut menu || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || esc key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || enter key || [[#mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || up key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Triggering key events==&lt;br /&gt;
===ibm-acpi events===&lt;br /&gt;
Some of the following events require a {{cmdroot|echo enable,0xffff &amp;gt;/proc/acpi/ibm/hotkey}} in order to make acpi able to get information on them. These events can be used to [[How to configure acpid|configure acpid]].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by [[ibm-acpi]] for {{path|/etc/acpi/events}} files. &lt;br /&gt;
! key !! event&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || ibm/hotkey HKEY 00000080 00001001&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || ibm/hotkey HKEY 00000080 00001002&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || ibm/hotkey HKEY 00000080 00001003&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || ibm/hotkey HKEY 00000080 00001004&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || ibm/hotkey HKEY 00000080 00001005&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F6}} || ibm/hotkey HKEY 00000080 00001006&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || ibm/hotkey HKEY 00000080 00001007&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || ibm/hotkey HKEY 00000080 00001008&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F9}} || ibm/hotkey HKEY 00000080 00001009&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || ibm/hotkey HKEY 00000080 0000100a&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || ibm/hotkey HKEY 00000080 0000100b&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || ibm/hotkey HKEY 00000080 0000100d&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || ibm/hotkey HKEY 00000080 0000100e&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || ibm/hotkey HKEY 00000080 0000100f&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}}/{{key|Fn}}{{key|Pos1}} || ibm/hotkey HKEY 00000080 00001010&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || button/power PWRF 00000080 xxxxxxxx&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || button/lid LID 00000080 xxxxxxxx&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay eject || ibm/bay MSTR 00000003 00000000&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay inserted || ibm/bay MSTR 00000001 00000000&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || ibm/dock GDCK 00000003 00000001&lt;br /&gt;
|-&lt;br /&gt;
| Wireless switch || ibm/hotkey HKEY 00000080 00007000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By disassembling and editing the DSDT, more events can be added.  HKEY events are triggered by calls to the MKHQ function, e.g. &amp;lt;tt&amp;gt;\_SB.PCI0.LPC.EC.HKEY.MHKQ(0Ã—1007)&amp;lt;/tt&amp;gt; will trigger &amp;quot;ibm/hotkey HKEY 00000080 00001007&amp;quot;.  Most of these can be found in &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; methods within the DSDT, which are executed on embedded controller events, e.g. _Q10 is triggered by pressing Fn-F7.  You can add a call to MKHQ into an existing &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; method to get it recognized by ibm-acpi as well as creating new &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; methods, which if you're lucky will correspond to an EC event that IBM never used (e.g. A 770 will send Fn-Home/End/PgUp/PgDn to ibm-acpi if hacked in this fashion). For example, [http://www.wormnet.eu/ibm-g40/morebuttons.dsl this is a modified block of DSDT for a G40].&lt;br /&gt;
&lt;br /&gt;
=== Pure ACPI events ===&lt;br /&gt;
&lt;br /&gt;
A few keys can generate ACPI events of their own on certain ThinkPads, as long as they are masked off in the ibm-acpi hotkey's mask (or the hotkey feature is disabled in ibm-acpi).&lt;br /&gt;
&lt;br /&gt;
If you want the ThinkPad's BIOS and ACPI methods to know about these keys being pressed, you probably want to leave them masked out from ibm-acpi, and use their non-HKEY events listed below, instead.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by ACPI when hotkey is masked out or disabled. &lt;br /&gt;
! key !! event&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || button/sleep SLPB 00000080 00000001&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===tpb configuration===&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ configuration keywords for [[tpb]] (to put in {{path|/etc/tpbrc}})&lt;br /&gt;
! key !! config keyword&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || THINKPAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || HOME&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || SEARCH&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || MAIL&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || FAVORITES&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || RELOAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || ABORT&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || BACKWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || FORWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || FN&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || CALLBACK (zoom on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || CALLBACK (thinklight on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || CALLBACK (display lcd/crt/both)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || CALLBACK (expand on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || CALLBACK (mute on/off)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To all parameter keywords should be assigned the full path to the executables supposed to be started on key press.&lt;br /&gt;
The exectable provided for the CALLBACK keyword should take the parameters given in parentheses and act according to them.&lt;br /&gt;
If you want to use xmodmap for the HOME, SEARCH, MAIL, FAVORITES, RELOAD, ABORT, BACKWARD, FORWARD and FN keys you should&lt;br /&gt;
provide a &amp;lt;tt&amp;gt;XEVENTS OFF&amp;lt;/tt&amp;gt; in your {{path|/etc/tpbrc}}. &lt;br /&gt;
You can use an appropriate executable to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
For Debian users, tpb is started from {{path|/etc/X11/Xsession.d/90tpb}}.&lt;br /&gt;
&lt;br /&gt;
'''Sound Button configuration'''&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on T60p with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
Most Thinkpads have a hardware sound mixer, thus the volumes buttons should work without configuration. However, this change is not reflected in the software mixer. tpb has a switch to enable software mixer support via OSS. The manual recommends this only for devices without a hardware mixer, but it also works for other hadware mixer enabled devices, even with the ALSA system. Just put MIXER ON in your {{path|/etc/tpbrc}} file and you can see the effect immediately in any ALSA mixer (e.g. kmix). For this to work you need write permissions to {{path|/dev/nvram}}.&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on X21 with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
On the ThinkPad X21 (and maybe some other older models) ACPI causes problems with tpb.  On an X21 using acpi the volume buttons would work occasionally, and the OSD for tpb functions would rarely work.  If a volume buttons was pressed too often, sometimes the computer would enter a low power (unplugged state) and would require a reboot.  The solution is to use APM instead of ACPI.  Instructions can be found in [[How_to_make_APM_work]].&lt;br /&gt;
&lt;br /&gt;
===KMilo configuration===&lt;br /&gt;
The programs to be executed by [[KMilo]] are configured via the KDE Control Center (&amp;lt;tt&amp;gt;kcontrol&amp;lt;/tt&amp;gt;), under &amp;lt;tt&amp;gt;System Administration --&amp;gt; IBM Thinkpad Laptop&amp;lt;/tt&amp;gt;. Note that you can use appropriate commands to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
===xmodmap configuration===&lt;br /&gt;
xmodmap enables you to edit the modifier map and keymap tables that are used to translate keycodes into keysyms.&lt;br /&gt;
Understood? Well, basically it allows you to give the X server a dictionary for the translation of keycodes like &amp;quot;97&amp;quot; into more human readable synonyms like &amp;quot;Home&amp;quot;. This way xmodmap allows you to make the special keys of your keyboard known to X applications.&lt;br /&gt;
&lt;br /&gt;
To discover the keycode that a certain keypress produces, use the tool {{cmduser|xev}} &lt;br /&gt;
&lt;br /&gt;
Usually you should write your keycode-keysym associations into the file {{path|~/.Xmodmap}}. This file is usually read by the X session startup scripts of your system, so that the mappings automatically get included everytime you run the X server.&lt;br /&gt;
&lt;br /&gt;
The {{path|~/.Xmodmap}} lines for our purpose are in the form of&lt;br /&gt;
 keycode &amp;lt;keycode&amp;gt; = &amp;lt;keysym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load the assocation using the command&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xmodmap ~/.Xmodmap}} &lt;br /&gt;
&lt;br /&gt;
(some configurations do this automatically upon X startup). &lt;br /&gt;
&lt;br /&gt;
The following table shows the keycodes generated by the ThinkPad special keys and sensible keysyms to assign them to.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ keycodes and recommended keysyms&lt;br /&gt;
! key !! keycode !! keysym&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || 159 || XF86LaunchA&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || 234 || XF86Back or F19&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || 233 || XF86Forward or F20&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Play/Pause|#494949}} || 162 || XF86AudioPlay&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Stop|#494949}} || 164 || XF86AudioStop&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Next|#494949}} || 153 || XF86AudioNext&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Previous|#494949}} || 144 || XF86AudioPrev&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| {{ibmkey|Home|#494949}} || 178 || XF86HomePage&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || 229 || XF86Search&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || 236 || XF86Mail&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || 230 || XF86AddFavorite or XF86Favorites&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || 231 || XF86Reload&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || 232 || XF86Stop&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || 227 || F35&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: You can also using xkeycaps(a tool graphically display and edit the X keyboard mapping) to generate proper .Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Note: if you are running [[tpb]] you might need to add the line &amp;lt;tt&amp;gt;XEVENTS=off&amp;lt;/tt&amp;gt; into your tpbrc to stop it from grabbing the key events and allow them to get through to X instead. See [[http://www.thinkwiki.org/wiki/Tpb]] for more detailed instruction on how to use tpb and xmodmap.&lt;br /&gt;
&lt;br /&gt;
Note: XF86Forward and XF86Back do not work correctly in Firefox. You may want to map them to F19 and F20 instead if you use Firefox.&lt;br /&gt;
&lt;br /&gt;
=====Enabling the Windows and Menu Keys=====&lt;br /&gt;
On some systems the Windows and Menu keys may not be recognized.  You can enable then by&lt;br /&gt;
making the following changes:&lt;br /&gt;
&lt;br /&gt;
        keycode 115 = F13&lt;br /&gt;
        keycode 227 = F35&lt;br /&gt;
&lt;br /&gt;
F13 and F35 are used for the Windows and and Menu keys respectively.  Labelling keycpode 227 as &amp;quot;Menu&amp;quot; may conflict with the right-mouse-click event.&lt;br /&gt;
&lt;br /&gt;
=====Using Caps Lock as Super L (Windows key)=====&lt;br /&gt;
You can easily use Caps Lock as Win key by adding the following in your ~/.Xmodmap:&lt;br /&gt;
        ! No Caps Lock&lt;br /&gt;
        clear lock&lt;br /&gt;
        ! Caps Lock as Win key&lt;br /&gt;
        add mod4 = Caps_Lock&lt;br /&gt;
=====NumLock=====&lt;br /&gt;
On the ThinkPad {{600}}, {{T20}}, {{T21}}, {{T22}}, {{T30}}, {{X20}}, {{X21}},  {{X31}}, {{T43}}, {{R51}}, {{R52}} and possibly other models, X does not recognize the keycode for {{key|NumLk}} = {{key|Shift}}+{{key|ScrLk}}. To fix this, add the following to {{path|~/.Xmodmap}} in your home directory or {{path|/etc/X11/Xmodmap}} and run &amp;lt;tt&amp;gt;xmodmap&amp;lt;/tt&amp;gt;, ex: &amp;lt;tt&amp;gt;xmodmap ~/.Xmodmap&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 keycode 77 = Num_Lock&lt;br /&gt;
&lt;br /&gt;
===Mapping keys with setkeycodes===&lt;br /&gt;
You can use the setkeycodes command to remap certain keys. I.e. you can use {{cmdroot|setkeycodes 6e 109 6d 104 69 28 6b 1}} to map the Tablets Up and Down keys to the standard PageUp and PageDown keys and Tablet Escape and Enter to their respective keys.&lt;br /&gt;
&lt;br /&gt;
The following table shows the keycodes generated by the ThinkPad keys.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ keycodes&lt;br /&gt;
! key !! keycode&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || 0x6d&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Shortcut|#494949}} || 0x6e&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || 0x6b&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || 0x69&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || 0x68&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || 0x6c&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || 0x67&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Example Applications==&lt;br /&gt;
===Web Browsers===&lt;br /&gt;
====Firefox====&lt;br /&gt;
&lt;br /&gt;
There are various ways to assign actions to the browser keys. The easiest way is to install [http://mozilla.dorando.at/keyconfig.xpi keyconfig.xpi] from http://mozilla.dorando.at, which adds a menu entry Tools-&amp;gt;Keyconfig. Then you can assign any action you want to the F19/F20 keys (you still need to create {{path|~/.Xmodmap}} as explained above).&lt;br /&gt;
&lt;br /&gt;
The remaining discussion gives you various more complicated ways to achieve the same thing. &lt;br /&gt;
To have firefox make use of the browser keys you need to modify one of its files{{footnote|4}}.&lt;br /&gt;
To do this you will first need to extract it from the {{path|browser.jar}} archive. Do...&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cd &amp;lt;firefox-directory&amp;gt;/chrome}}&amp;lt;br /&amp;gt;&lt;br /&gt;
:{{cmdroot|unzip browser.jar}}&lt;br /&gt;
&lt;br /&gt;
The file of interest is {{path|content/browser/browser.xul}}. Edit it {and don't forget to make a backup copy first}...&lt;br /&gt;
:{{cmdroot|vi content/browser/browser.xul}}&lt;br /&gt;
&lt;br /&gt;
Look for the '''&amp;lt;keyset id=&amp;quot;mainKeyset&amp;quot;&amp;gt;''' section and add the following lines within...&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; command=&amp;quot;Browser:Back&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; command=&amp;quot;Browser:Forward&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Command you need for Next Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackTabKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(-1)&amp;quot; /&amp;gt;&lt;br /&gt;
For the Previous Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardTabKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(1)&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now save the file and repackage the {{path|browser.jar}} archive...&lt;br /&gt;
:{{cmdroot|zip -rD0 browser.jar content/browser/}}&lt;br /&gt;
&lt;br /&gt;
That's it.&lt;br /&gt;
&lt;br /&gt;
{{HINT|For Firefox 2.0, just edit &amp;lt;firefox-directory&amp;gt;/chrome/browser/content/browser/browser.xul}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Outdated: Another interesting Page on Firefox is http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ It uses different key mappings (F19 resp. F20) but a ready [http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/dqdnavkeys-1.2.xpi .xpi] is provided which is pretty comfortable. However, this xpi file does not install on Firefox 1.5. or later.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Outdated: You can also use the [http://extensionroom.mozdev.org/more-info/keyconfig keyconfig] extension to configure custom keys.  This extension works with Firefox 1.5 but not with Firefox 2.0. The Command you need for Next Tab is gBrowser.mTabContainer.advanceSelectedTab(1,true); For Previous Tab its gBrowser.mTabContainer.advanceSelectedTab(-1,true); }}.&lt;br /&gt;
&lt;br /&gt;
====Konqueror====&lt;br /&gt;
KDE allows you set key mappings for KDE applications (Go to KMenu &amp;gt; System &amp;gt; Control Center &amp;gt; Regional &amp;amp; Accessibility &amp;gt; Keyboard Shortcuts). By default (at least in KDE 3.5), XF86Back and XF86Forward are set as alternatives to Alt-Left and Alt-Right, and are mapped to KDE Back and Forward navigation actions.  &lt;br /&gt;
&lt;br /&gt;
If you use Konqueror as your only browser, you only need to set up {{path|~/.Xmodmap}} as described [[#xmodmap configuration|above]] to assign ThinkPad back/forward keys to the symbols XF86Back/XF86Forward. This also make these keys work for other KDE applications such as Quanta Plus, KPackage and so on (not all KDE applications honor this setting, e.g. KDE help system doesn't).&lt;br /&gt;
&lt;br /&gt;
If you want to use Firefox, however, the above settings do not work. You will have to map ThinkPad back/forward keys to F19/F20 as described [[#Firefox|above]], and change KDE navigation key settings to use F19/F20 instead of the default.&lt;br /&gt;
&lt;br /&gt;
====Opera====&lt;br /&gt;
However this isn't a simple configration file, you can set your browser manually.&amp;lt;br /&amp;gt;&lt;br /&gt;
Go to &amp;lt;i&amp;gt;Tool &amp;gt; Settings &amp;gt; Mouse and keyboard &amp;gt; Keyboard settings &amp;gt; Edit &amp;gt; Browser Window&amp;lt;/i&amp;gt;. There add F19 - Back and F20 - Forward. Now you can surf using your TP keys ;-)&lt;br /&gt;
&lt;br /&gt;
===Window Managers===&lt;br /&gt;
====fvwm====&lt;br /&gt;
To get the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fvwmrc}}:&lt;br /&gt;
 Key    XF86Back     A      A   Scroll     -100000   0&lt;br /&gt;
 Key    XF86Forward  A      A   Scroll     +100000   0&lt;br /&gt;
If you use multiple virtual desktops, you could instead use the keys to flip between them by using GotoDesk.&lt;br /&gt;
&lt;br /&gt;
====fluxbox====&lt;br /&gt;
To get the keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fluxbox/keys}}:&lt;br /&gt;
 None F19 :PrevWorkspace&lt;br /&gt;
 None F20 :NextWorkspace&lt;br /&gt;
&lt;br /&gt;
====pekwm configuration====&lt;br /&gt;
You can make the two browser keys switch workspaces in pekwm, by adding the following two lines to the {{path|~/.pekwm/keys}} file:&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Back&amp;quot; { Actions = &amp;quot;GoToWorkspace prev&amp;quot; }&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Forward&amp;quot; { Actions = &amp;quot;GoToWorkspace next&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
====pwm====&lt;br /&gt;
Another example how to use these two keys to switch between pwm tabs. These two lines should be added to {{path|~/.pwm/keys-default.conf}} or {{path|/etc/pwm/keys-default.conf}}:&lt;br /&gt;
 kbind &amp;quot;Back&amp;quot;, &amp;quot;switch_rot&amp;quot;, -1&lt;br /&gt;
 kbind &amp;quot;Forward&amp;quot;, &amp;quot;switch_rot&amp;quot;, 1&lt;br /&gt;
&lt;br /&gt;
====IceWM====&lt;br /&gt;
To make IceWM cycle workspaces using the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys, change these two options in {{path|~/.icewm/preferences}} (Provided you assigned keysyms F19 and F20 with xmodmap):&lt;br /&gt;
 # &amp;quot;Previous workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspacePrev=&amp;quot;F19&amp;quot;&lt;br /&gt;
 # &amp;quot;Next workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspaceNext=&amp;quot;F20&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Gnome/metacity ====&lt;br /&gt;
&lt;br /&gt;
Follow the [https://wiki.ubuntu.com/Keybindings Ubuntu guide].&lt;br /&gt;
&lt;br /&gt;
===Other Uses===&lt;br /&gt;
====Console tools configuraton====&lt;br /&gt;
To make the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys useful in console, add this to your keymap ({{path|/etc/console/boottime.kmap.gz}} in {{Debian}}):&lt;br /&gt;
 keycode 158 = Decr_Console&lt;br /&gt;
 keycode 159 = Incr_Console&lt;br /&gt;
&lt;br /&gt;
Alternatively you can load this script (perhaps on system startup) to enable Backward/Forward button console (VT) switch:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 echo keycode 158 = Decr_Console | loadkeys&lt;br /&gt;
 echo keycode 159 = Incr_Console | loadkeys&lt;br /&gt;
&lt;br /&gt;
It should work with any distro.&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51537 IBMs page on configuring the ThinkPad buttons (ThinkPad, Access IBM, Mail, Search, and Home buttons) under Linux]&lt;br /&gt;
*[http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ Rob Mayoffs page on using IBM Keyboard Navigation Keys in Linux Mozilla and Firefox]&lt;br /&gt;
*[http://snarfed.org/space/thinkpad+keys+in+firefox Ryan Barretts blog article about using the browser keys in Firefox]&lt;br /&gt;
*[http://chaotika.org/~bluesceada/?page=soft&amp;amp;sub=thinkpad#acpibutn DennisG's help to get the ibm-acpi buttons do useful things] on a {{Z61e}} and possibly {{Z61m}}, {{Z61t}} and {{Z61p}}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#Note that the associated functionality for Fn-F* key combinations is not consistent amongst all ThinkPads. We are maintaining [[Default meanings of special keys|a table of associated meanings]].&lt;br /&gt;
#if there are more than one tool listed, one is sufficient&lt;br /&gt;
#'full' means you can completely reassign any action to be triggered by the key, 'additional actions' means you can trigger actions in addition to the standard function of the key, which can not be changed.&lt;br /&gt;
#Thanks go to Ryan Barrett for writing the [http://snarfed.org/space/thinkpad+keys+in+firefox little howto] on [http://snarfed.org/space/start his blog].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X3_UltraBase&amp;diff=31332</id>
		<title>ThinkPad X3 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X3_UltraBase&amp;diff=31332"/>
		<updated>2007-07-16T15:38:20Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
[[image:UltraBaseX3.gif|UltraBase X3]]&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== IBM UltraBase X3 ==&lt;br /&gt;
The IBM UltraBase X3 is a portable dock for the X30, X31 and X32 ThinkPads providing extra ports as well as a bay for an optical drive and a set of stereo speakers. Containing a full featured [[UltraBay|UltraBay Plus]] slot, it provides flexibility in drive choice as well as the option of a secondary battery for extended working time on the road. The Ultrabase X3 also features a battery slot on the underside that accepts the same battery as your X30 Series ThinkPad. The UltraBase X3 doesn't provide a second docking port as the original [[UltraBase]] did, hence you can't dock the UltraBase to any of the other docking solutions.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Ethernet (RJ45)&lt;br /&gt;
** Modem (RJ11)&lt;br /&gt;
** USB&lt;br /&gt;
** [[VGA Port|VGA]]&lt;br /&gt;
** [[Serial Port|Serial (DB9-M)]]&lt;br /&gt;
** [[Parallel Port|Parallel (DB25-F)]]&lt;br /&gt;
** [[PS/2 Port|Combined PS/2 Mouse + Keyboard]]&lt;br /&gt;
* [[UltraBay|Ultrabay Plus]]&lt;br /&gt;
* Stereo speakers&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* Battery Slot (For Second X30 Series Battery)&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: Expansion capability, portable&lt;br /&gt;
* Negatives: makes the ThinkPad quite thick, no extra docking port&lt;br /&gt;
* Compatibility: {{X30}}, {{X31}}, {{X32}}&lt;br /&gt;
* Warranty: Three Years&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==UltraBay Plus==&lt;br /&gt;
The [[UltraBay|UltraBay Plus]] slot in this dock is a full featured one and supports hot swapping with all UltraBay Plus and UltraBay 2000 drives. You can also feed it with the UltraBay Plus battery pack to extend the overall battery life time.&lt;br /&gt;
&lt;br /&gt;
== Kernel support ==&lt;br /&gt;
&lt;br /&gt;
In general, see [[How_to_hotswap_the_UltraBase]] and [[How_to_hotswap_UltraBay_devices]].&lt;br /&gt;
&lt;br /&gt;
This can be problematic under Debian, as the default kernel (2.6.18) do not support the IBM docks by default, as the IBM_DOCK and DOCK methods are not compatible. This is not a problem with 2.6.22 for some reason. Under 2.6.18, you need to recompile the Linux kernel with CONFIG_ACPI_IBM_DOCK enabled, and CONFIG_ACPI_DOCK disabled. You also need to hook a few scripts into the acpi events system.&lt;br /&gt;
&lt;br /&gt;
ibm-dock.sh:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # acknowledge docking with the dockstation&lt;br /&gt;
 echo dock &amp;gt; /proc/acpi/ibm/dock&lt;br /&gt;
&lt;br /&gt;
ibm-undock.sh:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # prepare the laptop for undocking with the dockstation&lt;br /&gt;
 &lt;br /&gt;
 echo undock &amp;gt; /proc/acpi/ibm/dock&lt;br /&gt;
&lt;br /&gt;
events/ibm-dock:&lt;br /&gt;
&lt;br /&gt;
 event=ibm/dock GDCK 00000000 00000003&lt;br /&gt;
 action=/etc/acpi/ibm-dock.sh&lt;br /&gt;
&lt;br /&gt;
events/ibm-undock:&lt;br /&gt;
&lt;br /&gt;
 event=ibm/dock GDCK 00000003 00000001&lt;br /&gt;
 action=/etc/acpi/ibm-undock.sh&lt;br /&gt;
&lt;br /&gt;
2.6.22-rc2 actually works without a flaw, without the above modifications, provided that the &amp;quot;bay&amp;quot; and &amp;quot;dock&amp;quot; modules are loaded at boot time.&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=31317</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=31317"/>
		<updated>2007-07-16T03:22:07Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: /* X31 */&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;
== 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>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31316</id>
		<title>Category talk:X31</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31316"/>
		<updated>2007-07-16T03:20:47Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: /* sleeping the airo card */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Bluetooth Antenna?=&lt;br /&gt;
&lt;br /&gt;
Any idea how the Bluetooth BMDC antenna looks like, how large it is, or if it is posible to install it into an X31 without Bluetooth card or Logo on the panel?  [[User:Epic|Epic]]&lt;br /&gt;
&lt;br /&gt;
= ACPI and CF Cards =&lt;br /&gt;
&lt;br /&gt;
If you have a CF Card (mounted or unmounted) in the CF slot, it might happen, that ACPI Suspend/Hibernate modes don't work. This happened to me with an old 4 MB CF-Card, I'll try with something more recent sometime. Couldn't find anything useful about that in syslog.&lt;br /&gt;
&lt;br /&gt;
= Installation Report =&lt;br /&gt;
Today, I installed a GNU/Linux Debian system on my X31 - without any external USB devices. This is what I did instead:&lt;br /&gt;
&lt;br /&gt;
* Boot up my regular PC with Knoppix 3.8 (including Knoppix Terminal Server)&lt;br /&gt;
* Start terminal server. In settings, uncheck &amp;quot;security&amp;quot; to enable root access on clients!&lt;br /&gt;
* Link X31 to PC's network interface (either directly using a crossed cable or with normal patch cables using a switch).&lt;br /&gt;
* Boot up X31 (the odd boot device name stands for ethernet).&lt;br /&gt;
* Start knx2hd (Knoppix Menu) and install to your liking.&lt;br /&gt;
&lt;br /&gt;
Note: With qtparted you even can shrink existing NTFS partitions if you dare (no guarantees), be aware that this may take some 20 minutes.&lt;br /&gt;
&lt;br /&gt;
All hardware was correctly detected (sound, cisco wlan, energy savings), just hibernation lacks the suspend2 patch in kernel. Suspend to RAM works, however.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
great, thanks for the info. It would be nice if you could turn this into an Installation page with the title &amp;quot;Installing Knoppix on a ThinkPad X31&amp;quot;. [[User:Wyrfel|Wyrfel]] 20:34, 28 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Sound problems=&lt;br /&gt;
&lt;br /&gt;
I am unable to get sound to work on my X31.. The modules are loaded, alsamixer is set max and i unmuted all channels (tried with both headphones on and off). Any help would be greatly appreciated.. -- [[User:RichiH|RichiH]] 01:57, 8 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
= make all sleep modes work =&lt;br /&gt;
&lt;br /&gt;
I was able to have all sleep modes (hibernate and sleep) work properly on my X31 by doing the following:&lt;br /&gt;
&lt;br /&gt;
* acpi_sleep=s3_bios,s3_mode passed to the kernel&lt;br /&gt;
* no uswsusp or hibernate package installed&lt;br /&gt;
* the following in /etc/default/acpi-support:&lt;br /&gt;
&lt;br /&gt;
 anarcat@mumia:~$ grep '^\w' /etc/default/acpi-support&lt;br /&gt;
 ACPI_SLEEP=true&lt;br /&gt;
 ACPI_HIBERNATE=true&lt;br /&gt;
 ACPI_SLEEP_MODE=mem&lt;br /&gt;
 MODULES=&amp;quot;snd_intel8x0 snd_intel8x0m snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd snd_page_alloc&amp;quot;&lt;br /&gt;
 MODULES_WHITELIST=&amp;quot;&amp;quot;&lt;br /&gt;
 SAVE_VBE_STATE=true&lt;br /&gt;
 VBESTATE=/var/lib/acpi-support/vbestate&lt;br /&gt;
 POST_VIDEO=true&lt;br /&gt;
 USE_DPMS=true&lt;br /&gt;
 RADEON_LIGHT=true&lt;br /&gt;
 HIBERNATE_MODE=platform&lt;br /&gt;
 LOCK_SCREEN=true&lt;br /&gt;
 STOP_SERVICES=&amp;quot;mysql &amp;quot;&lt;br /&gt;
 RESTART_IRDA=false&lt;br /&gt;
 ENABLE_LAPTOP_MODE=false&lt;br /&gt;
&lt;br /&gt;
I also hacked around the scripts in /etc/acpi, although I think it is not really necessary... The only files I modified are:&lt;br /&gt;
&lt;br /&gt;
 anarcat@mumia:/etc/acpi$ hg status&lt;br /&gt;
 M events/ibm-hibernatebtn&lt;br /&gt;
 M events/ibm-sleepbtn&lt;br /&gt;
 M events/sleepbtn&lt;br /&gt;
&lt;br /&gt;
and those are not called by the gnome or default ACPI scripts.&lt;br /&gt;
&lt;br /&gt;
[[User:TheAnarcat|TheAnarcat]] 18:49, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
= sleeping the airo card =&lt;br /&gt;
&lt;br /&gt;
This is what I use to power off my airo card, as the default debian scripts do not work since there's no proper hooks in the driver (i think) to power it off. Sorry for the quick brain dump...&lt;br /&gt;
&lt;br /&gt;
First you need to change the action that gets called when the wifi button is hit:&lt;br /&gt;
&lt;br /&gt;
 --- a/events/ibm-wireless       Wed Jul 04 15:27:47 2007 -0400&lt;br /&gt;
 +++ b/events/ibm-wireless       Wed May 23 02:46:02 2007 -0400&lt;br /&gt;
 @@ -3,5 +3,5 @@&lt;br /&gt;
  # /etc/acpi/wireless.sh for further processing.&lt;br /&gt;
 &lt;br /&gt;
  event=ibm/hotkey HKEY 00000080 00001005&lt;br /&gt;
 -action=/etc/acpi/ibm-wireless.sh&lt;br /&gt;
 +action=/etc/acpi/airo-wireless.sh&lt;br /&gt;
 &lt;br /&gt;
The airo-wireless.sh script reads like this:&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # Find and enable/disable wireless devices&lt;br /&gt;
 &lt;br /&gt;
 cd /sys/class/net/&lt;br /&gt;
 for DEVICE in *; do&lt;br /&gt;
     if [ -d $DEVICE/wireless ]; then&lt;br /&gt;
 # $DEVICE is a wireless device. Check if it's powered on:&lt;br /&gt;
         if ifconfig -s | grep -q $DEVICE; then&lt;br /&gt;
 # It's powered on. Switch it off.&lt;br /&gt;
             ifconfig $DEVICE down&lt;br /&gt;
             echo 0&lt;br /&gt;
         else&lt;br /&gt;
 # It's powered off. Switch it on.&lt;br /&gt;
             ifconfig $DEVICE up&lt;br /&gt;
             echo 1&lt;br /&gt;
         fi&lt;br /&gt;
     fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
[[User:TheAnarcat|TheAnarcat]] 18:49, 14 July 2007 (UTC)&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31315</id>
		<title>Category talk:X31</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31315"/>
		<updated>2007-07-16T03:18:17Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: /* make all sleep modes work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Bluetooth Antenna?=&lt;br /&gt;
&lt;br /&gt;
Any idea how the Bluetooth BMDC antenna looks like, how large it is, or if it is posible to install it into an X31 without Bluetooth card or Logo on the panel?  [[User:Epic|Epic]]&lt;br /&gt;
&lt;br /&gt;
= ACPI and CF Cards =&lt;br /&gt;
&lt;br /&gt;
If you have a CF Card (mounted or unmounted) in the CF slot, it might happen, that ACPI Suspend/Hibernate modes don't work. This happened to me with an old 4 MB CF-Card, I'll try with something more recent sometime. Couldn't find anything useful about that in syslog.&lt;br /&gt;
&lt;br /&gt;
= Installation Report =&lt;br /&gt;
Today, I installed a GNU/Linux Debian system on my X31 - without any external USB devices. This is what I did instead:&lt;br /&gt;
&lt;br /&gt;
* Boot up my regular PC with Knoppix 3.8 (including Knoppix Terminal Server)&lt;br /&gt;
* Start terminal server. In settings, uncheck &amp;quot;security&amp;quot; to enable root access on clients!&lt;br /&gt;
* Link X31 to PC's network interface (either directly using a crossed cable or with normal patch cables using a switch).&lt;br /&gt;
* Boot up X31 (the odd boot device name stands for ethernet).&lt;br /&gt;
* Start knx2hd (Knoppix Menu) and install to your liking.&lt;br /&gt;
&lt;br /&gt;
Note: With qtparted you even can shrink existing NTFS partitions if you dare (no guarantees), be aware that this may take some 20 minutes.&lt;br /&gt;
&lt;br /&gt;
All hardware was correctly detected (sound, cisco wlan, energy savings), just hibernation lacks the suspend2 patch in kernel. Suspend to RAM works, however.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
great, thanks for the info. It would be nice if you could turn this into an Installation page with the title &amp;quot;Installing Knoppix on a ThinkPad X31&amp;quot;. [[User:Wyrfel|Wyrfel]] 20:34, 28 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Sound problems=&lt;br /&gt;
&lt;br /&gt;
I am unable to get sound to work on my X31.. The modules are loaded, alsamixer is set max and i unmuted all channels (tried with both headphones on and off). Any help would be greatly appreciated.. -- [[User:RichiH|RichiH]] 01:57, 8 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
= make all sleep modes work =&lt;br /&gt;
&lt;br /&gt;
I was able to have all sleep modes (hibernate and sleep) work properly on my X31 by doing the following:&lt;br /&gt;
&lt;br /&gt;
* acpi_sleep=s3_bios,s3_mode passed to the kernel&lt;br /&gt;
* no uswsusp or hibernate package installed&lt;br /&gt;
* the following in /etc/default/acpi-support:&lt;br /&gt;
&lt;br /&gt;
 anarcat@mumia:~$ grep '^\w' /etc/default/acpi-support&lt;br /&gt;
 ACPI_SLEEP=true&lt;br /&gt;
 ACPI_HIBERNATE=true&lt;br /&gt;
 ACPI_SLEEP_MODE=mem&lt;br /&gt;
 MODULES=&amp;quot;snd_intel8x0 snd_intel8x0m snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd snd_page_alloc&amp;quot;&lt;br /&gt;
 MODULES_WHITELIST=&amp;quot;&amp;quot;&lt;br /&gt;
 SAVE_VBE_STATE=true&lt;br /&gt;
 VBESTATE=/var/lib/acpi-support/vbestate&lt;br /&gt;
 POST_VIDEO=true&lt;br /&gt;
 USE_DPMS=true&lt;br /&gt;
 RADEON_LIGHT=true&lt;br /&gt;
 HIBERNATE_MODE=platform&lt;br /&gt;
 LOCK_SCREEN=true&lt;br /&gt;
 STOP_SERVICES=&amp;quot;mysql &amp;quot;&lt;br /&gt;
 RESTART_IRDA=false&lt;br /&gt;
 ENABLE_LAPTOP_MODE=false&lt;br /&gt;
&lt;br /&gt;
I also hacked around the scripts in /etc/acpi, although I think it is not really necessary... The only files I modified are:&lt;br /&gt;
&lt;br /&gt;
 anarcat@mumia:/etc/acpi$ hg status&lt;br /&gt;
 M events/ibm-hibernatebtn&lt;br /&gt;
 M events/ibm-sleepbtn&lt;br /&gt;
 M events/sleepbtn&lt;br /&gt;
&lt;br /&gt;
and those are not called by the gnome or default ACPI scripts.&lt;br /&gt;
&lt;br /&gt;
[[User:TheAnarcat|TheAnarcat]] 18:49, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
= sleeping the airo card =&lt;br /&gt;
&lt;br /&gt;
Sorry for the quick brain dump...&lt;br /&gt;
&lt;br /&gt;
--- a/events/ibm-wireless       Wed Jul 04 15:27:47 2007 -0400&lt;br /&gt;
+++ b/events/ibm-wireless       Wed May 23 02:46:02 2007 -0400&lt;br /&gt;
@@ -3,5 +3,5 @@&lt;br /&gt;
 # /etc/acpi/wireless.sh for further processing.&lt;br /&gt;
&lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00001005&lt;br /&gt;
-action=/etc/acpi/ibm-wireless.sh&lt;br /&gt;
+action=/etc/acpi/airo-wireless.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Find and enable/disable wireless devices&lt;br /&gt;
&lt;br /&gt;
cd /sys/class/net/&lt;br /&gt;
for DEVICE in *; do&lt;br /&gt;
    if [ -d $DEVICE/wireless ]; then&lt;br /&gt;
# $DEVICE is a wireless device. Check if it's powered on:&lt;br /&gt;
        if ifconfig -s | grep -q $DEVICE; then&lt;br /&gt;
# It's powered on. Switch it off.&lt;br /&gt;
            ifconfig $DEVICE down&lt;br /&gt;
            echo 0&lt;br /&gt;
        else&lt;br /&gt;
# It's powered off. Switch it on.&lt;br /&gt;
            ifconfig $DEVICE up&lt;br /&gt;
            echo 1&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
[[User:TheAnarcat|TheAnarcat]] 18:49, 14 July 2007 (UTC)&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=31255</id>
		<title>Problems with ACPI suspend-to-ram</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=31255"/>
		<updated>2007-07-14T18:54:20Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: /* Troubles on resume */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following glitches may or may not occur in relation to suspending to RAM:&lt;br /&gt;
&lt;br /&gt;
==Troubles on suspend==&lt;br /&gt;
;Permissions:If your suspend is failing, and a {{cmdroot|tail /var/log/acpid}} shows &amp;quot;Permission denied&amp;quot; errors, be sure that your new ACPI event and action scripts have the appropriate permissions.&lt;br /&gt;
&lt;br /&gt;
;Write error:If {{cmdroot|echo mem &amp;gt; /sys/power/state}} shows &amp;quot;write error: Operation not permitted&amp;quot;, verify that CONFIG_HOTPLUG_CPU option is enabled in the kernel. [[Software_Suspend_2|Suspend2]] automatically selects this option. &lt;br /&gt;
&lt;br /&gt;
;Broken sysfs interface:You may experience problems when using {{cmdroot|echo standby &amp;gt; /sys/power/state}} or {{cmdroot|echo mem &amp;gt; /sys/power/state}} (machine goes to sleep and wakes up immediately). This can be avoided by using {{cmdroot|echo -n 3 &amp;gt;/proc/acpi/sleep}} to get it to sleep. This can be also happen if hotplug daemon is still running.&lt;br /&gt;
&lt;br /&gt;
;Hangs on &amp;quot;switching to UP code&amp;quot;:You may be using a [[How to make use of Dynamic Frequency Scaling|frequency scaling governor]] such as &amp;quot;conservative&amp;quot; or &amp;quot;ondemand&amp;quot;, which sometimes have problems with suspending. Switching to a governor such as &amp;quot;powersave&amp;quot; or &amp;quot;performance&amp;quot; before suspending may solve this problem.&lt;br /&gt;
&lt;br /&gt;
;MySQL daemon running:If you're running MySQL, sleep may also not work, so stop MySQL first, then sleep. Remember to restart MySQL when you wakeup.&lt;br /&gt;
&lt;br /&gt;
;LCD backlight remains on during sleep:When your system is equiped with a Radeon Mobility graphic controller your [[Problem with LCD backlight remaining on during ACPI sleep|LCD backlight may not turn off automatically]]. Use [[radeontool]] to switch off your backlight prior suspend in your sleep action script.&lt;br /&gt;
&lt;br /&gt;
;High power drain during sleep:Also, you might want to take note of the [[Problem with high power drain in ACPI sleep]].&lt;br /&gt;
&lt;br /&gt;
;Built-in MMC reader:If you have an MMC reader, and the computer hangs when attempting suspend then remove sdhci, mmc_block, and mmc_core modules before suspending.&lt;br /&gt;
&lt;br /&gt;
;Could not power down device &amp;lt;NULL&amp;gt;: error -22:If you have the acpi_cpufreq kernel module loaded, this prevents suspension.&lt;br /&gt;
&lt;br /&gt;
==Troubles on resume==&lt;br /&gt;
;Blank display on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram the display might remain black (on {{X60}}) or might only show the pre-suspend output (the system is still rebootable via {{key|ctrl}}{{key|alt}}{{key|del}}). See [[Problem with display remaining black after resume]] for solutions. See also '''System hang on resume''' on this page - which may be potentially mismatched with this one.&lt;br /&gt;
&lt;br /&gt;
;No mouse cursor on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram your X cursor might be invisible(on {{X40}}) when using {{path|/sys/power/state}} directly to suspend, they way to fix this is to rerun the post bios code after returning for suspending.&lt;br /&gt;
:{{cmdroot|FGCONSOLE&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;`fgconsole\`}}&lt;br /&gt;
:{{cmdroot|chvt 1 &amp;amp;&amp;amp; echo -n mem &amp;gt;/sys/power/state}}&lt;br /&gt;
:{{cmdroot|vbetool post &amp;amp;&amp;amp; chvt 7 &amp;amp;&amp;amp; chvt $FGCONSOLE}}&lt;br /&gt;
&lt;br /&gt;
;Garbage on text consoles on resume:When resuming from suspend-to-ram the text console displays may show garbage instead of actual text. The machine is otherwise still responsive and X displays fine. If all of this is true, then adding the kernel option {{bootparm|acpi_sleep|s3_bios,s3_mode}} in your menu.lst or lilo.conf may solve the problem.&lt;br /&gt;
&lt;br /&gt;
;Broken hardware support after resume:&lt;br /&gt;
:*The '''serial port''' of the port replicator might not work after resume.&lt;br /&gt;
:*The '''parallel port''' might not work after resume. A possible fix is to unload and reload the parallel port drivers: {{cmdroot|rmmod lp parport_pc parport; modprobe lp}}.&lt;br /&gt;
:*Problems with the '''CD-RW/DVD drive''' after wake up from ram have been experienced.&lt;br /&gt;
:*There is a known Problem regarding '''battery info''' after suspend to RAM. A [http://www.ussg.iu.edu/hypermail/linux/kernel/0511.0/2429.html small patch] exists for kernels 2.6.14/2.6.15.&lt;br /&gt;
:*On {{X20}} and {{X21}} (and possibly other) models, the '''sleep LED''' is not reset properly on resume and will keep blinking. If you have the [[ibm-acpi]] kernel module loaded with the {{bootparm|ibm-acpi.experimental|1}} option, you can switch it off on resume by appending the following line to your suspend script: {{cmdroot|echo 7 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
;Crash on resume:&lt;br /&gt;
:*When using '''older ATI proprietary drivers''' a crash on resume can be solved by using [http://freshmeat.net/projects/vbetool/ vbetool]. See the example suspend script [[Problem with display remaining black after resume#Solution for ThinkPads with Intel I830 Chipset]]. This is no longer necessary with recent revisions of the ATI proprietary driver.&lt;br /&gt;
:*A crash could also be caused by having '''apic support''' enabled in the kernel config. Try disabling it (in the &amp;quot;Processor type and features&amp;quot; section).&lt;br /&gt;
:*On machines with Savage chipsets, the '''savagefb framebuffer driver''' might crash the machine on resume. Make sure it is disabled in your kernel config and use the standard vesafb driver instead.&lt;br /&gt;
:*SATA-based laptops utilize the '''libata layer for disk access''' which does not have fully-working power-management support before Linux kernel 2.6.16 (ata_piix) and 2.6.19 (ahci).  Suspend to RAM crashes these machines on resume.  See the [[Problems with SATA and Linux#Hang on resume from suspend to RAM|relevant section]] on the [[Problems with SATA and Linux]] page.&lt;br /&gt;
:*Using [[HDAPS]] as a module causes a crash on resume with the Linux kernel 2.6.19 (possibly even earlier versions). This was observed on a {{X41}}. Try unloading the module before suspending.&lt;br /&gt;
:*Gnome-power-manager might be using the wrong backend. If you are able to suspend from the commandline with a certain method, make sure the others are not available so that g-p-m doesn't choose the wrong one. For example, if you suspend with {{cmdroot|echo mem &amp;gt; /sys/power/state}}, make sur '''uswsusp''' and '''hibernate''' are uninstalled.&lt;br /&gt;
&lt;br /&gt;
;System hang on resume:&lt;br /&gt;
:When system resumes it hangs right after restarting tasks. Strange thing is, that you may be even able to restart your ThinkPad using {{key|ctrl}}{{key|alt}}{{key|del}}, but if you try to blindly exec a command, it will not work, (eg. touch FILE) so it's not only the problem of videocard. This may be fixed by passing {{bootparm|ec_intr|0}} on kernel cmdline. Affected models: {{T20,T21}} (at least [[2648-46U]] (T20),[[2647-8AG]] (T21)).&lt;br /&gt;
:'''Note:''' ''this is resolved in kernel 2.6.20, there is no need to pass the {{bootparm|ec_intr|0}} bootparam anymore (moreover, you are discouraged to use it) See [http://bugzilla.kernel.org/show_bug.cgi?id=6749 revelant kernel bug report]''&lt;br /&gt;
&lt;br /&gt;
;Shutdown on resume:&lt;br /&gt;
:If your system immediately begins to shut down right after resume, make sure you don't have acpid running with the power button tied to shutdown. The system is simply sensing the power button event and shutting down.  This issue has been reported as a bug against the kernel ACPI subsystem, refer to [http://bugzilla.kernel.org/show_bug.cgi?id=6612 kernel.org bugzilla bug #6612].&lt;br /&gt;
&lt;br /&gt;
;Immediate suspend on resume:&lt;br /&gt;
:When running GNOME, sometimes gnome-power-manager will put the system back into suspend immediately after resuming.  This is caused by a known bug in HAL that causes some ACPI events to be reported incorrectly after a suspend-to-ram.  A simple workaround can be found [http://live.gnome.org/GnomePowerManager/Faq?action=recall&amp;amp;rev=28#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
:Note that suspend being triggered by unrelated ACPI events such as disconnecting the AC adapter may also be fixed by the above method.&lt;br /&gt;
&lt;br /&gt;
;Power Off when suspended laptop is docked&lt;br /&gt;
:When T60p is suspended, docking laptop into Advanced Dock immediately turns off laptop and crescent moon sleep indicator LED. Pressing power button initiates cold boot. Also reported by multiple people on thinkpads.com.&lt;br /&gt;
&lt;br /&gt;
;SectorIdNotFound disk errors when laptop is resumed&lt;br /&gt;
:The errors look like this:&lt;br /&gt;
: Oct 14 17:35:02 cacharro kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }&lt;br /&gt;
: Oct 14 17:35:02 cacharro kernel: hda: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=115896900, sector=115896900&lt;br /&gt;
: Oct 14 17:35:02 cacharro kernel: ide: failed opcode was: unknown&lt;br /&gt;
&lt;br /&gt;
:This happens when you have [[Hidden Protected Area]] (HPA) enabled on the hard drive.  There is a [http://bugzilla.kernel.org/show_bug.cgi?id=6840 kernel bug report with an unfinished patch] to fix this.  This is not fixed as of kernel 2.16.18.&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=31254</id>
		<title>Problems with ACPI suspend-to-ram</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=31254"/>
		<updated>2007-07-14T18:52:48Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: add trick about installing just what's needed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following glitches may or may not occur in relation to suspending to RAM:&lt;br /&gt;
&lt;br /&gt;
==Troubles on suspend==&lt;br /&gt;
;Permissions:If your suspend is failing, and a {{cmdroot|tail /var/log/acpid}} shows &amp;quot;Permission denied&amp;quot; errors, be sure that your new ACPI event and action scripts have the appropriate permissions.&lt;br /&gt;
&lt;br /&gt;
;Write error:If {{cmdroot|echo mem &amp;gt; /sys/power/state}} shows &amp;quot;write error: Operation not permitted&amp;quot;, verify that CONFIG_HOTPLUG_CPU option is enabled in the kernel. [[Software_Suspend_2|Suspend2]] automatically selects this option. &lt;br /&gt;
&lt;br /&gt;
;Broken sysfs interface:You may experience problems when using {{cmdroot|echo standby &amp;gt; /sys/power/state}} or {{cmdroot|echo mem &amp;gt; /sys/power/state}} (machine goes to sleep and wakes up immediately). This can be avoided by using {{cmdroot|echo -n 3 &amp;gt;/proc/acpi/sleep}} to get it to sleep. This can be also happen if hotplug daemon is still running.&lt;br /&gt;
&lt;br /&gt;
;Hangs on &amp;quot;switching to UP code&amp;quot;:You may be using a [[How to make use of Dynamic Frequency Scaling|frequency scaling governor]] such as &amp;quot;conservative&amp;quot; or &amp;quot;ondemand&amp;quot;, which sometimes have problems with suspending. Switching to a governor such as &amp;quot;powersave&amp;quot; or &amp;quot;performance&amp;quot; before suspending may solve this problem.&lt;br /&gt;
&lt;br /&gt;
;MySQL daemon running:If you're running MySQL, sleep may also not work, so stop MySQL first, then sleep. Remember to restart MySQL when you wakeup.&lt;br /&gt;
&lt;br /&gt;
;LCD backlight remains on during sleep:When your system is equiped with a Radeon Mobility graphic controller your [[Problem with LCD backlight remaining on during ACPI sleep|LCD backlight may not turn off automatically]]. Use [[radeontool]] to switch off your backlight prior suspend in your sleep action script.&lt;br /&gt;
&lt;br /&gt;
;High power drain during sleep:Also, you might want to take note of the [[Problem with high power drain in ACPI sleep]].&lt;br /&gt;
&lt;br /&gt;
;Built-in MMC reader:If you have an MMC reader, and the computer hangs when attempting suspend then remove sdhci, mmc_block, and mmc_core modules before suspending.&lt;br /&gt;
&lt;br /&gt;
;Could not power down device &amp;lt;NULL&amp;gt;: error -22:If you have the acpi_cpufreq kernel module loaded, this prevents suspension.&lt;br /&gt;
&lt;br /&gt;
==Troubles on resume==&lt;br /&gt;
;Blank display on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram the display might remain black (on {{X60}}) or might only show the pre-suspend output (the system is still rebootable via {{key|ctrl}}{{key|alt}}{{key|del}}). See [[Problem with display remaining black after resume]] for solutions. See also '''System hang on resume''' on this page - which may be potentially mismatched with this one.&lt;br /&gt;
&lt;br /&gt;
;No mouse cursor on resume:&lt;br /&gt;
:When resuming from a suspend-to-ram your X cursor might be invisible(on {{X40}}) when using {{path|/sys/power/state}} directly to suspend, they way to fix this is to rerun the post bios code after returning for suspending.&lt;br /&gt;
:{{cmdroot|FGCONSOLE&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;`fgconsole\`}}&lt;br /&gt;
:{{cmdroot|chvt 1 &amp;amp;&amp;amp; echo -n mem &amp;gt;/sys/power/state}}&lt;br /&gt;
:{{cmdroot|vbetool post &amp;amp;&amp;amp; chvt 7 &amp;amp;&amp;amp; chvt $FGCONSOLE}}&lt;br /&gt;
&lt;br /&gt;
;Garbage on text consoles on resume:When resuming from suspend-to-ram the text console displays may show garbage instead of actual text. The machine is otherwise still responsive and X displays fine. If all of this is true, then adding the kernel option {{bootparm|acpi_sleep|s3_bios,s3_mode}} in your menu.lst or lilo.conf may solve the problem.&lt;br /&gt;
&lt;br /&gt;
;Broken hardware support after resume:&lt;br /&gt;
:*The '''serial port''' of the port replicator might not work after resume.&lt;br /&gt;
:*The '''parallel port''' might not work after resume. A possible fix is to unload and reload the parallel port drivers: {{cmdroot|rmmod lp parport_pc parport; modprobe lp}}.&lt;br /&gt;
:*Problems with the '''CD-RW/DVD drive''' after wake up from ram have been experienced.&lt;br /&gt;
:*There is a known Problem regarding '''battery info''' after suspend to RAM. A [http://www.ussg.iu.edu/hypermail/linux/kernel/0511.0/2429.html small patch] exists for kernels 2.6.14/2.6.15.&lt;br /&gt;
:*On {{X20}} and {{X21}} (and possibly other) models, the '''sleep LED''' is not reset properly on resume and will keep blinking. If you have the [[ibm-acpi]] kernel module loaded with the {{bootparm|ibm-acpi.experimental|1}} option, you can switch it off on resume by appending the following line to your suspend script: {{cmdroot|echo 7 off &amp;gt; /proc/acpi/ibm/led}}&lt;br /&gt;
&lt;br /&gt;
;Crash on resume:&lt;br /&gt;
:*When using '''older ATI proprietary drivers''' a crash on resume can be solved by using [http://freshmeat.net/projects/vbetool/ vbetool]. See the example suspend script [[Problem with display remaining black after resume#Solution for ThinkPads with Intel I830 Chipset]]. This is no longer necessary with recent revisions of the ATI proprietary driver.&lt;br /&gt;
:*A crash could also be caused by having '''apic support''' enabled in the kernel config. Try disabling it (in the &amp;quot;Processor type and features&amp;quot; section).&lt;br /&gt;
:*On machines with Savage chipsets, the '''savagefb framebuffer driver''' might crash the machine on resume. Make sure it is disabled in your kernel config and use the standard vesafb driver instead.&lt;br /&gt;
:*SATA-based laptops utilize the '''libata layer for disk access''' which does not have fully-working power-management support before Linux kernel 2.6.16 (ata_piix) and 2.6.19 (ahci).  Suspend to RAM crashes these machines on resume.  See the [[Problems with SATA and Linux#Hang on resume from suspend to RAM|relevant section]] on the [[Problems with SATA and Linux]] page.&lt;br /&gt;
:*Using [[HDAPS]] as a module causes a crash on resume with the Linux kernel 2.6.19 (possibly even earlier versions). This was observed on a {{X41}}. Try unloading the module before suspending.&lt;br /&gt;
:*Gnome-power-manager might be using the wrong backend. If you are able to suspend from the commandline with a certain method, make sure the others are not available so that g-p-m doesn't choose the wrong one. For example, if you suspend with echo mem &amp;gt; /sys/power/state, make sur uswsusp and hibernate or uninstalled.&lt;br /&gt;
&lt;br /&gt;
;System hang on resume:&lt;br /&gt;
:When system resumes it hangs right after restarting tasks. Strange thing is, that you may be even able to restart your ThinkPad using {{key|ctrl}}{{key|alt}}{{key|del}}, but if you try to blindly exec a command, it will not work, (eg. touch FILE) so it's not only the problem of videocard. This may be fixed by passing {{bootparm|ec_intr|0}} on kernel cmdline. Affected models: {{T20,T21}} (at least [[2648-46U]] (T20),[[2647-8AG]] (T21)).&lt;br /&gt;
:'''Note:''' ''this is resolved in kernel 2.6.20, there is no need to pass the {{bootparm|ec_intr|0}} bootparam anymore (moreover, you are discouraged to use it) See [http://bugzilla.kernel.org/show_bug.cgi?id=6749 revelant kernel bug report]''&lt;br /&gt;
&lt;br /&gt;
;Shutdown on resume:&lt;br /&gt;
:If your system immediately begins to shut down right after resume, make sure you don't have acpid running with the power button tied to shutdown. The system is simply sensing the power button event and shutting down.  This issue has been reported as a bug against the kernel ACPI subsystem, refer to [http://bugzilla.kernel.org/show_bug.cgi?id=6612 kernel.org bugzilla bug #6612].&lt;br /&gt;
&lt;br /&gt;
;Immediate suspend on resume:&lt;br /&gt;
:When running GNOME, sometimes gnome-power-manager will put the system back into suspend immediately after resuming.  This is caused by a known bug in HAL that causes some ACPI events to be reported incorrectly after a suspend-to-ram.  A simple workaround can be found [http://live.gnome.org/GnomePowerManager/Faq?action=recall&amp;amp;rev=28#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
:Note that suspend being triggered by unrelated ACPI events such as disconnecting the AC adapter may also be fixed by the above method.&lt;br /&gt;
&lt;br /&gt;
;Power Off when suspended laptop is docked&lt;br /&gt;
:When T60p is suspended, docking laptop into Advanced Dock immediately turns off laptop and crescent moon sleep indicator LED. Pressing power button initiates cold boot. Also reported by multiple people on thinkpads.com.&lt;br /&gt;
&lt;br /&gt;
;SectorIdNotFound disk errors when laptop is resumed&lt;br /&gt;
:The errors look like this:&lt;br /&gt;
: Oct 14 17:35:02 cacharro kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }&lt;br /&gt;
: Oct 14 17:35:02 cacharro kernel: hda: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=115896900, sector=115896900&lt;br /&gt;
: Oct 14 17:35:02 cacharro kernel: ide: failed opcode was: unknown&lt;br /&gt;
&lt;br /&gt;
:This happens when you have [[Hidden Protected Area]] (HPA) enabled on the hard drive.  There is a [http://bugzilla.kernel.org/show_bug.cgi?id=6840 kernel bug report with an unfinished patch] to fix this.  This is not fixed as of kernel 2.16.18.&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_display_remaining_black_after_resume&amp;diff=31253</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=31253"/>
		<updated>2007-07-14T18:50:46Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: point to the X31 talk page&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 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;
== 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>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31252</id>
		<title>Category talk:X31</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31252"/>
		<updated>2007-07-14T18:49:15Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: add my sigs, fix headings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Bluetooth Antenna?=&lt;br /&gt;
&lt;br /&gt;
Any idea how the Bluetooth BMDC antenna looks like, how large it is, or if it is posible to install it into an X31 without Bluetooth card or Logo on the panel?  [[User:Epic|Epic]]&lt;br /&gt;
&lt;br /&gt;
= ACPI and CF Cards =&lt;br /&gt;
&lt;br /&gt;
If you have a CF Card (mounted or unmounted) in the CF slot, it might happen, that ACPI Suspend/Hibernate modes don't work. This happened to me with an old 4 MB CF-Card, I'll try with something more recent sometime. Couldn't find anything useful about that in syslog.&lt;br /&gt;
&lt;br /&gt;
= Installation Report =&lt;br /&gt;
Today, I installed a GNU/Linux Debian system on my X31 - without any external USB devices. This is what I did instead:&lt;br /&gt;
&lt;br /&gt;
* Boot up my regular PC with Knoppix 3.8 (including Knoppix Terminal Server)&lt;br /&gt;
* Start terminal server. In settings, uncheck &amp;quot;security&amp;quot; to enable root access on clients!&lt;br /&gt;
* Link X31 to PC's network interface (either directly using a crossed cable or with normal patch cables using a switch).&lt;br /&gt;
* Boot up X31 (the odd boot device name stands for ethernet).&lt;br /&gt;
* Start knx2hd (Knoppix Menu) and install to your liking.&lt;br /&gt;
&lt;br /&gt;
Note: With qtparted you even can shrink existing NTFS partitions if you dare (no guarantees), be aware that this may take some 20 minutes.&lt;br /&gt;
&lt;br /&gt;
All hardware was correctly detected (sound, cisco wlan, energy savings), just hibernation lacks the suspend2 patch in kernel. Suspend to RAM works, however.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
great, thanks for the info. It would be nice if you could turn this into an Installation page with the title &amp;quot;Installing Knoppix on a ThinkPad X31&amp;quot;. [[User:Wyrfel|Wyrfel]] 20:34, 28 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Sound problems=&lt;br /&gt;
&lt;br /&gt;
I am unable to get sound to work on my X31.. The modules are loaded, alsamixer is set max and i unmuted all channels (tried with both headphones on and off). Any help would be greatly appreciated.. -- [[User:RichiH|RichiH]] 01:57, 8 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
= make all sleep modes work =&lt;br /&gt;
&lt;br /&gt;
I was able to have all sleep modes (hibernate and sleep) work properly on my X31 by doing the following:&lt;br /&gt;
&lt;br /&gt;
 * acpi_sleep=s3_bios,s3_mode passed to the kernel&lt;br /&gt;
 * no uswsusp or hibernate package installed&lt;br /&gt;
 * the following in /etc/default/acpi-support:&lt;br /&gt;
&lt;br /&gt;
anarcat@mumia:~$ grep '^\w' /etc/default/acpi-support&lt;br /&gt;
ACPI_SLEEP=true&lt;br /&gt;
ACPI_HIBERNATE=true&lt;br /&gt;
ACPI_SLEEP_MODE=mem&lt;br /&gt;
MODULES=&amp;quot;snd_intel8x0 snd_intel8x0m snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd snd_page_alloc&amp;quot;&lt;br /&gt;
MODULES_WHITELIST=&amp;quot;&amp;quot;&lt;br /&gt;
SAVE_VBE_STATE=true&lt;br /&gt;
VBESTATE=/var/lib/acpi-support/vbestate&lt;br /&gt;
POST_VIDEO=true&lt;br /&gt;
USE_DPMS=true&lt;br /&gt;
RADEON_LIGHT=true&lt;br /&gt;
HIBERNATE_MODE=platform&lt;br /&gt;
LOCK_SCREEN=true&lt;br /&gt;
STOP_SERVICES=&amp;quot;mysql &amp;quot;&lt;br /&gt;
RESTART_IRDA=false&lt;br /&gt;
ENABLE_LAPTOP_MODE=false&lt;br /&gt;
&lt;br /&gt;
I also hacked around the scripts in /etc/acpi, although I think it is not really necessary... The only files I modified are:&lt;br /&gt;
&lt;br /&gt;
anarcat@mumia:/etc/acpi$ hg status&lt;br /&gt;
M events/ibm-hibernatebtn&lt;br /&gt;
M events/ibm-sleepbtn&lt;br /&gt;
M events/sleepbtn&lt;br /&gt;
&lt;br /&gt;
and those are not called by the gnome or default ACPI scripts.&lt;br /&gt;
&lt;br /&gt;
[[User:TheAnarcat|TheAnarcat]] 18:49, 14 July 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
= sleeping the airo card =&lt;br /&gt;
&lt;br /&gt;
Sorry for the quick brain dump...&lt;br /&gt;
&lt;br /&gt;
--- a/events/ibm-wireless       Wed Jul 04 15:27:47 2007 -0400&lt;br /&gt;
+++ b/events/ibm-wireless       Wed May 23 02:46:02 2007 -0400&lt;br /&gt;
@@ -3,5 +3,5 @@&lt;br /&gt;
 # /etc/acpi/wireless.sh for further processing.&lt;br /&gt;
&lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00001005&lt;br /&gt;
-action=/etc/acpi/ibm-wireless.sh&lt;br /&gt;
+action=/etc/acpi/airo-wireless.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Find and enable/disable wireless devices&lt;br /&gt;
&lt;br /&gt;
cd /sys/class/net/&lt;br /&gt;
for DEVICE in *; do&lt;br /&gt;
    if [ -d $DEVICE/wireless ]; then&lt;br /&gt;
# $DEVICE is a wireless device. Check if it's powered on:&lt;br /&gt;
        if ifconfig -s | grep -q $DEVICE; then&lt;br /&gt;
# It's powered on. Switch it off.&lt;br /&gt;
            ifconfig $DEVICE down&lt;br /&gt;
            echo 0&lt;br /&gt;
        else&lt;br /&gt;
# It's powered off. Switch it on.&lt;br /&gt;
            ifconfig $DEVICE up&lt;br /&gt;
            echo 1&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
[[User:TheAnarcat|TheAnarcat]] 18:49, 14 July 2007 (UTC)&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31251</id>
		<title>Category talk:X31</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31251"/>
		<updated>2007-07-14T18:48:38Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: sleeping the airo card&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Bluetooth Antenna?=&lt;br /&gt;
&lt;br /&gt;
Any idea how the Bluetooth BMDC antenna looks like, how large it is, or if it is posible to install it into an X31 without Bluetooth card or Logo on the panel?  [[User:Epic|Epic]]&lt;br /&gt;
&lt;br /&gt;
= ACPI and CF Cards =&lt;br /&gt;
&lt;br /&gt;
If you have a CF Card (mounted or unmounted) in the CF slot, it might happen, that ACPI Suspend/Hibernate modes don't work. This happened to me with an old 4 MB CF-Card, I'll try with something more recent sometime. Couldn't find anything useful about that in syslog.&lt;br /&gt;
&lt;br /&gt;
= Installation Report =&lt;br /&gt;
Today, I installed a GNU/Linux Debian system on my X31 - without any external USB devices. This is what I did instead:&lt;br /&gt;
&lt;br /&gt;
* Boot up my regular PC with Knoppix 3.8 (including Knoppix Terminal Server)&lt;br /&gt;
* Start terminal server. In settings, uncheck &amp;quot;security&amp;quot; to enable root access on clients!&lt;br /&gt;
* Link X31 to PC's network interface (either directly using a crossed cable or with normal patch cables using a switch).&lt;br /&gt;
* Boot up X31 (the odd boot device name stands for ethernet).&lt;br /&gt;
* Start knx2hd (Knoppix Menu) and install to your liking.&lt;br /&gt;
&lt;br /&gt;
Note: With qtparted you even can shrink existing NTFS partitions if you dare (no guarantees), be aware that this may take some 20 minutes.&lt;br /&gt;
&lt;br /&gt;
All hardware was correctly detected (sound, cisco wlan, energy savings), just hibernation lacks the suspend2 patch in kernel. Suspend to RAM works, however.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
great, thanks for the info. It would be nice if you could turn this into an Installation page with the title &amp;quot;Installing Knoppix on a ThinkPad X31&amp;quot;. [[User:Wyrfel|Wyrfel]] 20:34, 28 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Sound problems=&lt;br /&gt;
&lt;br /&gt;
I am unable to get sound to work on my X31.. The modules are loaded, alsamixer is set max and i unmuted all channels (tried with both headphones on and off). Any help would be greatly appreciated.. -- [[User:RichiH|RichiH]] 01:57, 8 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== make all sleep modes work ==&lt;br /&gt;
&lt;br /&gt;
I was able to have all sleep modes (hibernate and sleep) work properly on my X31 by doing the following:&lt;br /&gt;
&lt;br /&gt;
 * acpi_sleep=s3_bios,s3_mode passed to the kernel&lt;br /&gt;
 * no uswsusp or hibernate package installed&lt;br /&gt;
 * the following in /etc/default/acpi-support:&lt;br /&gt;
&lt;br /&gt;
anarcat@mumia:~$ grep '^\w' /etc/default/acpi-support&lt;br /&gt;
ACPI_SLEEP=true&lt;br /&gt;
ACPI_HIBERNATE=true&lt;br /&gt;
ACPI_SLEEP_MODE=mem&lt;br /&gt;
MODULES=&amp;quot;snd_intel8x0 snd_intel8x0m snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd snd_page_alloc&amp;quot;&lt;br /&gt;
MODULES_WHITELIST=&amp;quot;&amp;quot;&lt;br /&gt;
SAVE_VBE_STATE=true&lt;br /&gt;
VBESTATE=/var/lib/acpi-support/vbestate&lt;br /&gt;
POST_VIDEO=true&lt;br /&gt;
USE_DPMS=true&lt;br /&gt;
RADEON_LIGHT=true&lt;br /&gt;
HIBERNATE_MODE=platform&lt;br /&gt;
LOCK_SCREEN=true&lt;br /&gt;
STOP_SERVICES=&amp;quot;mysql &amp;quot;&lt;br /&gt;
RESTART_IRDA=false&lt;br /&gt;
ENABLE_LAPTOP_MODE=false&lt;br /&gt;
&lt;br /&gt;
I also hacked around the scripts in /etc/acpi, although I think it is not really necessary... The only files I modified are:&lt;br /&gt;
&lt;br /&gt;
anarcat@mumia:/etc/acpi$ hg status&lt;br /&gt;
M events/ibm-hibernatebtn&lt;br /&gt;
M events/ibm-sleepbtn&lt;br /&gt;
M events/sleepbtn&lt;br /&gt;
&lt;br /&gt;
and those are not called by the gnome or default ACPI scripts.&lt;br /&gt;
&lt;br /&gt;
== sleeping the airo card ==&lt;br /&gt;
&lt;br /&gt;
Sorry for the quick brain dump...&lt;br /&gt;
&lt;br /&gt;
--- a/events/ibm-wireless       Wed Jul 04 15:27:47 2007 -0400&lt;br /&gt;
+++ b/events/ibm-wireless       Wed May 23 02:46:02 2007 -0400&lt;br /&gt;
@@ -3,5 +3,5 @@&lt;br /&gt;
 # /etc/acpi/wireless.sh for further processing.&lt;br /&gt;
&lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00001005&lt;br /&gt;
-action=/etc/acpi/ibm-wireless.sh&lt;br /&gt;
+action=/etc/acpi/airo-wireless.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Find and enable/disable wireless devices&lt;br /&gt;
&lt;br /&gt;
cd /sys/class/net/&lt;br /&gt;
for DEVICE in *; do&lt;br /&gt;
    if [ -d $DEVICE/wireless ]; then&lt;br /&gt;
# $DEVICE is a wireless device. Check if it's powered on:&lt;br /&gt;
        if ifconfig -s | grep -q $DEVICE; then&lt;br /&gt;
# It's powered on. Switch it off.&lt;br /&gt;
            ifconfig $DEVICE down&lt;br /&gt;
            echo 0&lt;br /&gt;
        else&lt;br /&gt;
# It's powered off. Switch it on.&lt;br /&gt;
            ifconfig $DEVICE up&lt;br /&gt;
            echo 1&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31250</id>
		<title>Category talk:X31</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category_talk:X31&amp;diff=31250"/>
		<updated>2007-07-14T18:48:03Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: make all sleep modes work&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Bluetooth Antenna?=&lt;br /&gt;
&lt;br /&gt;
Any idea how the Bluetooth BMDC antenna looks like, how large it is, or if it is posible to install it into an X31 without Bluetooth card or Logo on the panel?  [[User:Epic|Epic]]&lt;br /&gt;
&lt;br /&gt;
= ACPI and CF Cards =&lt;br /&gt;
&lt;br /&gt;
If you have a CF Card (mounted or unmounted) in the CF slot, it might happen, that ACPI Suspend/Hibernate modes don't work. This happened to me with an old 4 MB CF-Card, I'll try with something more recent sometime. Couldn't find anything useful about that in syslog.&lt;br /&gt;
&lt;br /&gt;
= Installation Report =&lt;br /&gt;
Today, I installed a GNU/Linux Debian system on my X31 - without any external USB devices. This is what I did instead:&lt;br /&gt;
&lt;br /&gt;
* Boot up my regular PC with Knoppix 3.8 (including Knoppix Terminal Server)&lt;br /&gt;
* Start terminal server. In settings, uncheck &amp;quot;security&amp;quot; to enable root access on clients!&lt;br /&gt;
* Link X31 to PC's network interface (either directly using a crossed cable or with normal patch cables using a switch).&lt;br /&gt;
* Boot up X31 (the odd boot device name stands for ethernet).&lt;br /&gt;
* Start knx2hd (Knoppix Menu) and install to your liking.&lt;br /&gt;
&lt;br /&gt;
Note: With qtparted you even can shrink existing NTFS partitions if you dare (no guarantees), be aware that this may take some 20 minutes.&lt;br /&gt;
&lt;br /&gt;
All hardware was correctly detected (sound, cisco wlan, energy savings), just hibernation lacks the suspend2 patch in kernel. Suspend to RAM works, however.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
great, thanks for the info. It would be nice if you could turn this into an Installation page with the title &amp;quot;Installing Knoppix on a ThinkPad X31&amp;quot;. [[User:Wyrfel|Wyrfel]] 20:34, 28 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Sound problems=&lt;br /&gt;
&lt;br /&gt;
I am unable to get sound to work on my X31.. The modules are loaded, alsamixer is set max and i unmuted all channels (tried with both headphones on and off). Any help would be greatly appreciated.. -- [[User:RichiH|RichiH]] 01:57, 8 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== make all sleep modes work ==&lt;br /&gt;
&lt;br /&gt;
I was able to have all sleep modes (hibernate and sleep) work properly on my X31 by doing the following:&lt;br /&gt;
&lt;br /&gt;
 * acpi_sleep=s3_bios,s3_mode passed to the kernel&lt;br /&gt;
 * no uswsusp or hibernate package installed&lt;br /&gt;
 * the following in /etc/default/acpi-support:&lt;br /&gt;
&lt;br /&gt;
anarcat@mumia:~$ grep '^\w' /etc/default/acpi-support&lt;br /&gt;
ACPI_SLEEP=true&lt;br /&gt;
ACPI_HIBERNATE=true&lt;br /&gt;
ACPI_SLEEP_MODE=mem&lt;br /&gt;
MODULES=&amp;quot;snd_intel8x0 snd_intel8x0m snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd snd_page_alloc&amp;quot;&lt;br /&gt;
MODULES_WHITELIST=&amp;quot;&amp;quot;&lt;br /&gt;
SAVE_VBE_STATE=true&lt;br /&gt;
VBESTATE=/var/lib/acpi-support/vbestate&lt;br /&gt;
POST_VIDEO=true&lt;br /&gt;
USE_DPMS=true&lt;br /&gt;
RADEON_LIGHT=true&lt;br /&gt;
HIBERNATE_MODE=platform&lt;br /&gt;
LOCK_SCREEN=true&lt;br /&gt;
STOP_SERVICES=&amp;quot;mysql &amp;quot;&lt;br /&gt;
RESTART_IRDA=false&lt;br /&gt;
ENABLE_LAPTOP_MODE=false&lt;br /&gt;
&lt;br /&gt;
I also hacked around the scripts in /etc/acpi, although I think it is not really necessary... The only files I modified are:&lt;br /&gt;
&lt;br /&gt;
anarcat@mumia:/etc/acpi$ hg status&lt;br /&gt;
M events/ibm-hibernatebtn&lt;br /&gt;
M events/ibm-sleepbtn&lt;br /&gt;
M events/sleepbtn&lt;br /&gt;
&lt;br /&gt;
and those are not called by the gnome or default ACPI scripts.&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:TheAnarcat&amp;diff=29977</id>
		<title>User:TheAnarcat</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:TheAnarcat&amp;diff=29977"/>
		<updated>2007-05-23T06:32:56Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: simple homepage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Free software enthousiast, see http://wiki.koumbit.net/TheAnarcat for my WikiHome.&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X3_UltraBase&amp;diff=29976</id>
		<title>ThinkPad X3 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X3_UltraBase&amp;diff=29976"/>
		<updated>2007-05-23T06:14:32Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: 2.6.22-rc2 better supported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
[[image:UltraBaseX3.gif|UltraBase X3]]&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== IBM UltraBase X3 ==&lt;br /&gt;
The IBM UltraBase X3 is a portable dock for the X30, X31 and X32 ThinkPads providing extra ports as well as a bay for an optical drive and a set of stereo speakers. Containing a full featured [[UltraBay|UltraBay Plus]] slot, it provides flexibility in drive choice as well as the option of a secondary battery for extended working time on the road. The Ultrabase X3 also features a battery slot on the underside that accepts the same battery as your X30 Series ThinkPad. The UltraBase X3 doesn't provide a second docking port as the original [[UltraBase]] did, hence you can't dock the UltraBase to any of the other docking solutions.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Ethernet (RJ45)&lt;br /&gt;
** Modem (RJ11)&lt;br /&gt;
** USB&lt;br /&gt;
** [[VGA Port|VGA]]&lt;br /&gt;
** [[Serial Port|Serial (DB9-M)]]&lt;br /&gt;
** [[Parallel Port|Parallel (DB25-F)]]&lt;br /&gt;
** [[PS/2 Port|Combined PS/2 Mouse + Keyboard]]&lt;br /&gt;
* [[UltraBay|Ultrabay Plus]]&lt;br /&gt;
* Stereo speakers&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* Battery Slot (For Second X30 Series Battery)&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: Expansion capability, portable&lt;br /&gt;
* Negatives: makes the ThinkPad quite thick, no extra docking port&lt;br /&gt;
* Compatibility: {{X30}}, {{X31}}, {{X32}}&lt;br /&gt;
* Warranty: Three Years&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==UltraBay Plus==&lt;br /&gt;
The [[UltraBay|UltraBay Plus]] slot in this dock is a full featured one and supports hot swapping with all UltraBay Plus and UltraBay 2000 drives. You can also feed it with the UltraBay Plus battery pack to extend the overall battery life time.&lt;br /&gt;
&lt;br /&gt;
== Linux support ==&lt;br /&gt;
&lt;br /&gt;
This can be problematic under Debian, as the default kernel (2.6.18) do not support the IBM docks. I had to recompile it to enable CONFIG_ACPI_IBM_DOCK, and disable CONFIG_ACPI_DOCK. I also needed to hook a few scripts into the acpi events system.&lt;br /&gt;
&lt;br /&gt;
ibm-dock.sh:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # acknowledge docking with the dockstation&lt;br /&gt;
 echo dock &amp;gt; /proc/acpi/ibm/dock&lt;br /&gt;
&lt;br /&gt;
ibm-undock.sh:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # prepare the laptop for undocking with the dockstation&lt;br /&gt;
 &lt;br /&gt;
 echo undock &amp;gt; /proc/acpi/ibm/dock&lt;br /&gt;
&lt;br /&gt;
events/ibm-dock:&lt;br /&gt;
&lt;br /&gt;
 event=ibm/dock GDCK 00000000 00000003&lt;br /&gt;
 action=/etc/acpi/ibm-dock.sh&lt;br /&gt;
&lt;br /&gt;
events/ibm-undock:&lt;br /&gt;
&lt;br /&gt;
 event=ibm/dock GDCK 00000003 00000001&lt;br /&gt;
 action=/etc/acpi/ibm-undock.sh&lt;br /&gt;
&lt;br /&gt;
''Update'': 2.6.22-rc2 actually works without a flaw, without the above modifications, provided that the &amp;quot;bay&amp;quot; and &amp;quot;dock&amp;quot; modules are loaded at boot time.&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_X3_UltraBase&amp;diff=29960</id>
		<title>ThinkPad X3 UltraBase</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_X3_UltraBase&amp;diff=29960"/>
		<updated>2007-05-22T20:08:25Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: document how to dock/undock properly under debian&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
[[image:UltraBaseX3.gif|UltraBase X3]]&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== IBM UltraBase X3 ==&lt;br /&gt;
The IBM UltraBase X3 is a portable dock for the X30, X31 and X32 ThinkPads providing extra ports as well as a bay for an optical drive and a set of stereo speakers. Containing a full featured [[UltraBay|UltraBay Plus]] slot, it provides flexibility in drive choice as well as the option of a secondary battery for extended working time on the road. The Ultrabase X3 also features a battery slot on the underside that accepts the same battery as your X30 Series ThinkPad. The UltraBase X3 doesn't provide a second docking port as the original [[UltraBase]] did, hence you can't dock the UltraBase to any of the other docking solutions.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Passthrough ports:&lt;br /&gt;
** Ethernet (RJ45)&lt;br /&gt;
** Modem (RJ11)&lt;br /&gt;
** USB&lt;br /&gt;
** [[VGA Port|VGA]]&lt;br /&gt;
** [[Serial Port|Serial (DB9-M)]]&lt;br /&gt;
** [[Parallel Port|Parallel (DB25-F)]]&lt;br /&gt;
** [[PS/2 Port|Combined PS/2 Mouse + Keyboard]]&lt;br /&gt;
* [[UltraBay|Ultrabay Plus]]&lt;br /&gt;
* Stereo speakers&lt;br /&gt;
* Kensington security hole&lt;br /&gt;
* Battery Slot (For Second X30 Series Battery)&lt;br /&gt;
&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: Expansion capability, portable&lt;br /&gt;
* Negatives: makes the ThinkPad quite thick, no extra docking port&lt;br /&gt;
* Compatibility: {{X30}}, {{X31}}, {{X32}}&lt;br /&gt;
* Warranty: Three Years&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==UltraBay Plus==&lt;br /&gt;
The [[UltraBay|UltraBay Plus]] slot in this dock is a full featured one and supports hot swapping with all UltraBay Plus and UltraBay 2000 drives. You can also feed it with the UltraBay Plus battery pack to extend the overall battery life time.&lt;br /&gt;
&lt;br /&gt;
== Linux support ==&lt;br /&gt;
&lt;br /&gt;
This can be problematic under Debian, as the default kernels do not support the IBM docks. I had to recompile it to enable CONFIG_ACPI_IBM_DOCK, and disable CONFIG_ACPI_DOCK. I also needed to hook a few scripts into the acpi events system.&lt;br /&gt;
&lt;br /&gt;
ibm-dock.sh:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # acknowledge docking with the dockstation&lt;br /&gt;
 echo dock &amp;gt; /proc/acpi/ibm/dock&lt;br /&gt;
&lt;br /&gt;
ibm-undock.sh:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # prepare the laptop for undocking with the dockstation&lt;br /&gt;
 &lt;br /&gt;
 echo undock &amp;gt; /proc/acpi/ibm/dock&lt;br /&gt;
&lt;br /&gt;
events/ibm-dock:&lt;br /&gt;
&lt;br /&gt;
 event=ibm/dock GDCK 00000000 00000003&lt;br /&gt;
 action=/etc/acpi/ibm-dock.sh&lt;br /&gt;
&lt;br /&gt;
events/ibm-undock:&lt;br /&gt;
&lt;br /&gt;
 event=ibm/dock GDCK 00000003 00000001&lt;br /&gt;
 action=/etc/acpi/ibm-undock.sh&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=28607</id>
		<title>BIOS Upgrade</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=BIOS_Upgrade&amp;diff=28607"/>
		<updated>2007-03-07T15:21:00Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: -- me too&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
This page is meant to describe ways to update the BIOS on a ThinkPad that only runs Linux for users that don't have ready access to Windows. If you have Windows on your ThinkPad you can just boot into it and follow instructions on the IBM website.&lt;br /&gt;
&lt;br /&gt;
{{NOTE| In one case ([[APM setup on a type 2379 ThinkPad T40]]) it was not possible to upgrade the BIOS from Windows XP; a downgrade to Windows 98 was required to successfully run the BIOS upgrade app. The symptoms in this case were that, once the files had been extracted to the hard disk, and the machine was to reboot into the upgrade app, it would beep and hang just before reboot, requiring a power cycle. Once the power was cycled, it would simply reboot back into XP without performing any BIOS upgrade actions. So even if you have Windows, you may still need to use the info on this page.}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==Before You Begin==&lt;br /&gt;
Updating the BIOS in Linux (with few exceptions) '''is not officially supported''' by IBM.  However there are work arounds.&lt;br /&gt;
&lt;br /&gt;
{{WARN|By following any of the instructions here you are accepting the '''very real risk''' of turning your thinkpad into a big expensive paper weight, as a firmware update gone wrong can create unfixable problems.&lt;br /&gt;
&lt;br /&gt;
'''Proceed at your own risk!'''&lt;br /&gt;
&lt;br /&gt;
It is also '''important''' to understand that all newer thinkpads have 2 seperate firmwares, the BIOS and the Control Program. A specific version of the Control Program will only work with specific versions of the BIOS.  The IBM documentation is sometimes confusing about the order of update.  Updating the Control Program first, then the BIOS seems to be the correct order.  Make sure to do the updates immediately following each other, otherwise you risk turning your thinkpad into a very nice paper weight.}}&lt;br /&gt;
&lt;br /&gt;
==BIOS Upgrade Paths==&lt;br /&gt;
&lt;br /&gt;
For every firmware (either BIOS or Control Program) update on the IBM site there are two different firmware update programs provided.  A list of links to firmware downloads can be found at [[BIOS Upgrade Downloads]] for nearly all Thinkpad Models.&lt;br /&gt;
&lt;br /&gt;
===The Diskette Updater===&lt;br /&gt;
&lt;br /&gt;
This installer appears to be a 16bit dos program which asks you to accept a license agreement.  It will run in Windows, DOS, OS/2, or [http://dosemu.sf.net Dosemu] perfectly, but requires a real floppy disk attached via a real floppy control.  The USB Floppy Drive to the new Thinkpads doesn't count.&lt;br /&gt;
&lt;br /&gt;
===The Non Diskette Updater===&lt;br /&gt;
{{WARN|Though this process was successfully tested on one version of .exe files found on IBMs website this doesn't mean it will work for all of them.  Use at your own risk.}}&lt;br /&gt;
&lt;br /&gt;
This installer appears to be a 32bit windows exe which is designed for updating the BIOS directly from a running Windows OS.  It turns out that the .exe is really a wrapper license program arround windows .cab files (this information is in [[How_to_change_the_BIOS_bootsplash_screen|BIOS-Bootsplash]]).  If you install the Linux program [http://freshmeat.net/projects/cabextract/ '''cabextract'''] you can expand these files directly.  Run the following:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cabextract FILENAME.exe}}&lt;br /&gt;
&lt;br /&gt;
You will get 8 files in the current directory.  One of them will be FILENAME.img.  You can test that this is really a floppy image by running:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkdir mntfloppy}}&lt;br /&gt;
:{{cmdroot|mount -o loop FILENAME.img mntfloppy}}&lt;br /&gt;
:{{cmdroot|ls -la mntfloppy}}&lt;br /&gt;
&lt;br /&gt;
If the results of {{cmdroot|ls -la mntfloppy}} look like a dos floppy, and no read errors were displayed, you have a pretty good chance that the floppy image is usable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you were able to create the boot floppy per the Diskette update method, and you have a Floppy with your Thinkpad, the update should be simple.&lt;br /&gt;
&lt;br /&gt;
==Updating an X60==&lt;br /&gt;
If there is no floppy, and no windows, but an external USB CD, then there is hope.&lt;br /&gt;
&lt;br /&gt;
===Build a bootable CD with USB support===&lt;br /&gt;
Get the ISO Image style BIOS upgrade, and the freedos floppy (http://www.ankreuzen.de/freedos/files/fd9sr1/fdos1440.zip)&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|su # get root}}&lt;br /&gt;
:{{cmdroot|mkdir /tmp/iso}}&lt;br /&gt;
:{{cmdroot|mkdir /tmp/cdimage}}&lt;br /&gt;
:{{cmdroot|mount -o loop &amp;lt;iso-bios-file&amp;gt; /tmp/iso}}&lt;br /&gt;
:{{cmdroot|cp /tmp/iso/* /tmp/cdimage}}&lt;br /&gt;
:{{cmdroot|cp &amp;lt;freedos-disk-image&amp;gt; /tmp/cdimage/floppy.img}}&lt;br /&gt;
:{{cmdroot|mkisofs -b floppy.img -o bootcd.iso /tmp/cdimage}}&lt;br /&gt;
&lt;br /&gt;
finished.. now boot from cd and flash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Updating via CD/DVD Drive==&lt;br /&gt;
&lt;br /&gt;
The whole thing gets more complicated if you neither have Windows nor a floppy drive installed. This is what this page is intended to describe.&lt;br /&gt;
&lt;br /&gt;
Another possibility which works even without a CD-drive or network is to boot the disk image via the grub initrd mechanism.&lt;br /&gt;
&lt;br /&gt;
Be aware that IBM officially does '''not''' support this! The official statement to my support request was:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
I'm afraid we only support the options listed on our web page and no you&lt;br /&gt;
can't burn a CD/DVD, however you can try to use an external USB FDD&lt;br /&gt;
(floppy) drive. The experts recommend a IBM USB FDD, however they have also&lt;br /&gt;
tested it with a Sony USB FDD drive.&lt;br /&gt;
&lt;br /&gt;
In order to make sure the drive is recognised you can boot up the FDD with&lt;br /&gt;
a bootable dos diskette for w98&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But it seems to be possible as Mathias Dalheimer describes this [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html here].&lt;br /&gt;
&lt;br /&gt;
Another indication that it should work is that IBM uses PHLASH16.EXE (at least on T4x/p systems) to flash the BIOS into the chip. The same tool is used by [http://www.samsungpc.com/gb/support/p35/bios/bios-instructions.html other vendors] to flash the BIOS from bootable CD-ROMs.&lt;br /&gt;
{{WARN|Do '''not''' use the [http://syslinux.zytor.com/ SYSLINUX] image-loader [http://syslinux.zytor.com/memdisk.php MEMDISK] to boot the images! Some flash tools crash in that situation!}}&lt;br /&gt;
&lt;br /&gt;
Some interesting but very technical information about the used flash tool can be found [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html here].&lt;br /&gt;
&lt;br /&gt;
===Creating a Floppy Image===&lt;br /&gt;
If you have created a boot floppy on another machine, you need to create an image file of that floppy. This can be easily done in linux by running a command line:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=dd bs=2x80x18b if=/dev/fd0 of=/tmp/floppy.img}}&lt;br /&gt;
&lt;br /&gt;
You can also create a floppy image by using Ken Kato's [http://chitchat.at.infoseek.co.jp/vmware/vfd.html VMware's back]. It is a free Windoze tool that creates a virtual floppy drive and allows you to produce an image file ready to be ISO'ed. Note: you might have to 'manually' (through application's interface) assign the virtual drive a volume letter in order to be seen by IBM's application (as, by default, it seems not to do it).&lt;br /&gt;
&lt;br /&gt;
You should verify this {{path|floppy.img}} as explained above.&lt;br /&gt;
&lt;br /&gt;
===Creating a Bootable CD from a Floppy Image===&lt;br /&gt;
Once you have your floppy image, either from imaging a real floppy, or from extracting them via the cabextract method above, you need to make a boot CD out of it.&lt;br /&gt;
&lt;br /&gt;
The eltorito bootable CD standard is a wonderful thing.  What this means is that a bootable CD can be made with a bootable floppy in such as way that the CD believes that it is a 2.88 MB floppy drive.  This allows you to replace a boot floppy by a boot CD in nearly all situations.&lt;br /&gt;
&lt;br /&gt;
It is very easy to create such a bootable CD ISO image in Linux using the mkisofs tool.  To do this run a command as follows:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkisofs -b bootfloppy.img -o bootcd.iso bootfloppy.img}}&lt;br /&gt;
&lt;br /&gt;
Note: You don't strictly need the last {{path|bootfloppy.img}}, however some versions of mkisofs get confused about why you would want to create an iso with no contents, and thus won't let you.  You don't actually care about the contents of the CD, you only care that the &amp;lt;tt&amp;gt;-b &amp;lt;boot image&amp;gt;&amp;lt;/tt&amp;gt; is applied to the CD.  For more info on this read {{cmduser|man mkisofs}}.&lt;br /&gt;
&lt;br /&gt;
You can now burn the {{path|bootcd.iso}} in your favorite CD burning program.&lt;br /&gt;
&lt;br /&gt;
To get an overview which models have been tested with this version, here is a list:&lt;br /&gt;
&lt;br /&gt;
===Does work:===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| '''Model''' || '''Tested by'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{600X}} (2645) ||&lt;br /&gt;
*Jonathan Byrne &amp;lt;jonathan@RemoveThisToMailMe.yamame.org&amp;gt;. BIOS 1.11 from spsuit55.exe worked perfectly using cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{A20p}} (2629-6VU) ||&lt;br /&gt;
*Chris Pickett http://www.sable.mcgill.ca/~cpicke/. BIOS 1.11 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{A21e}} (2628-JXU) ||&lt;br /&gt;
*Amit Gurdasani &amp;lt;gurdasani at yahoo dot com&amp;gt;. BIOS 1.13 flashed fine with cabextract/CD method. Alarmingly, after the BIOS update, the laptop beeped but did not shut down as was indicated onscreen -- that was frozen on the &amp;quot;do not shut down the laptop&amp;quot; screen. On power down and up again, the BIOS setup showed the newer BIOS image running, and Linux booted up fine. Linux ACPI didn't complain about the BIOS being too old either.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{A31p}} (2653) ||&lt;br /&gt;
*Matthias Meinke largeeddy@gmx.at, BIOS 1.09 1NET15WW flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{A31}} (2652) ||&lt;br /&gt;
*[[User:Wnoise|Aaron Denney]], BIOS 1.13 flashed fine with cabextract/CD method.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{R31}} ||&lt;br /&gt;
*[http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/1998-January/009743.html Mathias Dalheimer]&lt;br /&gt;
*Sebastian Sauer (with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R40}} ||&lt;br /&gt;
*Matthew Lambie, http://lambie.org&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R50}} (1836-3SU) ||&lt;br /&gt;
*jlbartos &amp;lt;jlbartos at hotmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R51}} (1829) ||&lt;br /&gt;
*Robert Uhl &amp;lt;rob dot uhl at gmx dot de&amp;gt;, Jellby &amp;lt;jellby at yahoo dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R51}} (1830-RM7) ||&lt;br /&gt;
*Will Parker &amp;lt;stardotstar at sourcepoint dot com dot au&amp;gt; successfully flashed 3.20 using existing 3.04 ECP and retained custom boot splash.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R51}} (2887) ||&lt;br /&gt;
*Ingo van Lil &amp;lt;inguin at gmx dot de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{R52}} (1858) ||&lt;br /&gt;
*Stuart McCord &amp;lt;stuart dot mccord at gmail dot com&amp;gt;  flashed both BIOS and ECP using cabextract, BIOS flashed first as on IBM website&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T20}} ||&lt;br /&gt;
*Franz Hassels &amp;lt;fhassel at suse dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T22}} ||&lt;br /&gt;
*Daniel Maier &amp;lt;nusse teamidiot de&amp;gt;&lt;br /&gt;
*Mathias Behrle (with cabextract/CD method, Version 1.07 =&amp;gt; 1.12) --[[User:Mathiasb|Mathiasb]] 11:58, 14 December 2006 (CET)&lt;br /&gt;
*Bob Skaroff (cabextract/CD), 1.06 =&amp;gt; 1.12&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T23}} ||&lt;br /&gt;
*Bart Snapp &amp;lt;snapp at uiuc dot edu&amp;gt; Note: I followed IBM's instructions to flash the BIOS *first* and the Embedded Controller *second*.&lt;br /&gt;
*Moy Easwaran: BIOS 1.18 / EC 1.06a via cabextract and CD-boot.  The BIOS-update exe generated errors in Windows 2000.&lt;br /&gt;
*Joe Renes: BIOS 1.18 / EC 1.06a on 2006-03-20 via cabextract and CD-boot. Piece of cake.&lt;br /&gt;
*Raphael Errani: BIOS 1.20 / EC 1.06a on 2006-11-06 via cabextract and CD-boot (using mkisofs). Worked without errors. 1st Bios, 2nd EC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T30}} ||&lt;br /&gt;
*Martin GÃ¼hring &amp;lt;guehring at gmail.com&amp;gt; BIOS 2.10 via cabextract the Non-Diskette BIOS -&amp;gt; mkisofs '''in the directory the exe was extracted''' to generate the iso -&amp;gt; burn the iso -&amp;gt; boot the CD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{T40}} ||&lt;br /&gt;
*Sean Dague, http://dague.net&lt;br /&gt;
*Justin Mason, http://jmason.org&lt;br /&gt;
*Ivanhoe (Bios 3.19)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T40p}} ||&lt;br /&gt;
*Lukas KrÃ¤henbÃ¼hl, ismo at pop dot agri dot ch&lt;br /&gt;
*Thomas Achtemichuk, tom at tomchuk dot com. BIOS 3.15 flashed fine with cabextract/CD method&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | {{T41}} ||&lt;br /&gt;
*Lev Givon (Bios 3.15 / EC 3.04) &amp;lt;lev at columbia dot edu&amp;gt;&lt;br /&gt;
*Ernesto HernÃ¡ndez-Novich (Bios 3.19 / CP 3.04) &amp;lt; emhn at usb dot ve &amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T41p}} ||&lt;br /&gt;
*Nils Newman, work great. (Version: Bios 3.14 / Embedded Controller 3.04)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T42}} ||&lt;br /&gt;
*Dan (BIOS 3.20 / EC 3.04, cabextract/CD method) &amp;lt;tronic171 at evilphb.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T42p}} ||&lt;br /&gt;
*Robert Schiele &amp;lt;rschiele@uni-mannheim.de&amp;gt;, Joern Heissler &amp;lt;joern@heissler.de&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{T43}}  ||&lt;br /&gt;
*Conrad Rentsch &amp;lt;Conrad dot Rentsch at t-online dot de&amp;gt; (Version: Bios 1.29 / Embedded Controller 1.06)&lt;br /&gt;
*Tom Heady &amp;lt;tom-thinkwiki.org@punch.net&amp;gt;&lt;br /&gt;
*Florian Boucault &amp;lt;florian at boucault dot ath dot cx&amp;gt; (Model : 1871-W34 &amp;amp; Version: Bios 1.23 / Embedded Controller 1.03)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X20}}  ||&lt;br /&gt;
*Neil Caunt &amp;lt;retardis at gmail dot com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X21}}  ||&lt;br /&gt;
*Patrick Leickner &amp;lt;ranma at web dot de&amp;gt;, (BIOS 2.21-&amp;gt;2.25 / EC 1.31-&amp;gt;1.36) via non-disk/cabextract/mkisofs/cdrecord&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X22}}  ||&lt;br /&gt;
*David Emery &amp;lt;dave at skiddlydee dot com&amp;gt;,  (EC 1.30, BIOS 1.32 using non-disk/cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X23}}  ||&lt;br /&gt;
*Nils Faerber &amp;lt;nils dot faerber at kernelconcepts dot de&amp;gt; (Embedded Controller 1.30, BIOS 1.32 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X30}}  ||&lt;br /&gt;
*Hella Breitkopf, [http://www.unixwitch.de/ www]  (Embedded Controller 1.04, BIOS 1.07 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X31}}  ||&lt;br /&gt;
*Grzegorz KuÅ›nierz &amp;lt;koniu at sheket dot org&amp;gt;  (Embedded Controller 1.08, BIOS 3.01 with cabextract/CD method)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{X40}}  ||&lt;br /&gt;
*Robbie Stone &amp;lt;robbie@serendipity.cx&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |  {{Z60m}}  ||&lt;br /&gt;
*[[User:Morle|Morle]] 13:09, 20 May 2006 (CEST),  (Embedded Controller 1.14 with cabextract/CD method)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Does not work:===&lt;br /&gt;
{|&lt;br /&gt;
| '''Model''' || '''Tested by'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Please note that testing this is '''at your own risk'''!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Updating via Grub and a Floppy Image==&lt;br /&gt;
&lt;br /&gt;
{{WARN|Many have warned '''not''' to use the [http://syslinux.zytor.com/ SYSLINUX] image-loader [http://syslinux.zytor.com/memdisk.php MEMDISK] to boot the images! Some flash tools may crash in that situation!  Proceed at your own risk!}}&lt;br /&gt;
&lt;br /&gt;
Floppy images may be booted from Grub via a utility called [http://syslinux.zytor.com/memdisk.php MEMDISK], which may be compiled from the [http://www.kernel.org/pub/linux/utils/boot/syslinux/ '''SYSLINUX source'''].  Copy the compiled memdisk image and the floppy image to your boot directory and configure grub as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
title     Bios Flash&lt;br /&gt;
kernel    /boot/memdisk&lt;br /&gt;
initrd    /boot/FILENAME.img&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, proceed at your own risk.  This was tested on an R51 type 2888.&lt;br /&gt;
&lt;br /&gt;
This also worked for me on a T41p type 2373. -- [[User:MrStaticVoid|James Lee]] 20:55, 8 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
And it worked for me on a X31 type 2673-CBU. -- [[User:JanTopinski|Jan Topinski]], 18 September 2006 &lt;br /&gt;
&lt;br /&gt;
And it worked for me too on a X31 type 2672-CXU, very useful. -- [[User:TheAnarcat|TheAnarcat]] 16:21, 7 March 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
And it worked for me on two X40 type 2371 -- [[User:Antialize|Jakob Truelsen]], 19 Jan 2007 -- BIOS: 2.07 1uuj21us.exe -- ECP: 1.62 1uhj10us.exe&lt;br /&gt;
&lt;br /&gt;
Not working for me on T43 type 2668-F7G -- [[User:Maus3273|Maus3273]] 20:48, 30 January 2007 (CET) -- BIOS: 1.29 1YUJ18US.IMG -- I got into the bios program, but the machine never restarts after initiating the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Updating with Network Boot Image==&lt;br /&gt;
&lt;br /&gt;
BIOS, Embedded Controller (EC), CD/DVD and Harddisk firmware disks can be booted&lt;br /&gt;
over the network with [http://syslinux.zytor.com/pxe.php PXELINUX] as part of the [http://syslinux.zytor.com/ SYSLINUX] package.&lt;br /&gt;
&lt;br /&gt;
This requires that you have a DHCP and tftp server configured and setup properly on&lt;br /&gt;
your network, and is probably not for the faint of heart.&lt;br /&gt;
&lt;br /&gt;
Make sure the firmware bootdisk is in linux 'dd' format, as the self-extracting .exe disks&lt;br /&gt;
from the IBM website cannot be booted directly as such.&lt;br /&gt;
&lt;br /&gt;
This worked on the {{R31}}, {{X22}}, {{T21}}, {{T30}} and {{T41p}} with various firmware updates.&lt;br /&gt;
&lt;br /&gt;
==Updating via &amp;quot;IBM Predesktop area&amp;quot;, suitable for model X (not have CDROM and floppy)==&lt;br /&gt;
It's so difficult to update BIOS and ECP without cdrom, floppy disk.&lt;br /&gt;
Don't know the reason why I couldn't update BIOS and ECP(1QHJ08US and 1QUJ19US) for my IBM Thinkpad X31.Hmm, may be cause of the dividing partition on my hard disk, that is: 	&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Primary: ext3, ext3, ntfs&lt;br /&gt;
Extended: Ntsf, fat32&lt;br /&gt;
Bootloader: GRUB&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No problem, you can use this way to do it:&lt;br /&gt;
* First, config in BIOS&lt;br /&gt;
In Security part:&lt;br /&gt;
# Remove all password of Subpervisor and Power on password&lt;br /&gt;
# Set Access IBM Predesktop Area to Normal&lt;br /&gt;
# Choose Enable &amp;quot;Flash BIOS updating by End User&amp;quot; in BIOS update Option.&lt;br /&gt;
&lt;br /&gt;
In Config part:&lt;br /&gt;
# Choose Enable for Network flash over Lan&lt;br /&gt;
&lt;br /&gt;
* Second, download the newest version of BIOS update and ECP update &lt;br /&gt;
Running: The program extract all files to the folder. There is a .img file (1QUJ19US.IMG, 1QUJ08US.IMG) in each folder.&lt;br /&gt;
Copy the imformation content in that img file and paste it to one FAT partition(using winimage or TotalCmd to extract) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
as seen All files in 1QUJ19US.IMG is extracted to D:\BIOS&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
695,764  $018E000.FL1&lt;br /&gt;
163      0691.HSH&lt;br /&gt;
2,049    0691.PAT&lt;br /&gt;
163      0694.HSH&lt;br /&gt;
2,049    0694.PAT&lt;br /&gt;
163      0695.HSH&lt;br /&gt;
2,049    0695.PAT&lt;br /&gt;
2,049    06D0.PAT&lt;br /&gt;
163      06D1.HSH&lt;br /&gt;
2,049    06D1.PAT&lt;br /&gt;
163      06D2.HSH&lt;br /&gt;
2,049    06D2.PAT&lt;br /&gt;
163      06D6.HSH&lt;br /&gt;
2,049    06D6.PAT&lt;br /&gt;
2,049    06D8.PAT&lt;br /&gt;
697      CHKBMP.EXE&lt;br /&gt;
8,128    COMMAND.COM&lt;br /&gt;
26       CONFIG.SYS&lt;br /&gt;
24,860   FLASH2.EXE&lt;br /&gt;
26       LCREFLSH.BAT&lt;br /&gt;
170      LOGO.BAT&lt;br /&gt;
330      LOGO.SCR&lt;br /&gt;
111,925  PHLASH16.EXE&lt;br /&gt;
91,648   PREPARE.EXE&lt;br /&gt;
45       PROD.DAT&lt;br /&gt;
22,252   QKFLASH.EXE&lt;br /&gt;
9,923    README.TXT&lt;br /&gt;
4,260    TPCHKS.EXE&lt;br /&gt;
39,666   UPDTFLSH.EXE&lt;br /&gt;
6,958    UPDTMN.EXE&lt;br /&gt;
12,501   USERINT.EXE&lt;br /&gt;
15,254   UTILINFO.EXE&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And all files in 1QUJ08US.IMG are: D:\ECP&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
315,404 $018E000.FL2&lt;br /&gt;
8,000   COMMAND.COM&lt;br /&gt;
36      CONFIG.SYS&lt;br /&gt;
16,910  ECFLASH2.EXE&lt;br /&gt;
45      PROD.DAT&lt;br /&gt;
17,812  QKFLASH.EXE&lt;br /&gt;
990     README.TXT&lt;br /&gt;
4,260   TPCHKS.EXE&lt;br /&gt;
89,738  UPDTEC.EXE&lt;br /&gt;
31,134  UPDTFLSH.EXE&lt;br /&gt;
12,501  USERINT.EXE&lt;br /&gt;
15,226  UTILINFO.EXE&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Okie, now plug AC Adapter, charge full battery to your laptop and continue third step:&lt;br /&gt;
&lt;br /&gt;
** '''Flash BIOS first,'''&lt;br /&gt;
1. Power On, press blue button on keyboard: '''Access IBM'''&lt;br /&gt;
&lt;br /&gt;
2. On &amp;quot;Utilities&amp;quot;, double click &amp;quot; Diagnostic disk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. Your laptop will start PC-DOS, wait when this message appear:&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Please insert the first floppy diskette and&lt;br /&gt;
Press any key to continue&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Press Ctrl + Break, you will see :&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Terminate batch job (Y/N) ?&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Okie, press Y, you will get DOS prompt like D:\&lt;br /&gt;
{{NOTE|D:\ is my RAMDISK, C:\ is my disk format as FAT.!}}&lt;br /&gt;
&lt;br /&gt;
6. Enter to c:\BIOS&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
c:&lt;br /&gt;
cd c:\BIOS&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Run FLASH2.EXE /u $018E000.FL1&lt;br /&gt;
&lt;br /&gt;
8. Wait flash progress compelete and reboot.&lt;br /&gt;
** '''Flash ECP'''&lt;br /&gt;
Follow above instruction from step 1 to 5&lt;br /&gt;
&lt;br /&gt;
6. Enter to c:\ECP&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
c:&lt;br /&gt;
cd c:\ECP&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. run UPDTFLSH.EXE $018E000.FL2&lt;br /&gt;
&lt;br /&gt;
8. Follow UPDTFLSH's instructions&lt;br /&gt;
&lt;br /&gt;
9. Wait flash complete and auto turn off computer.&lt;br /&gt;
&lt;br /&gt;
I done it on my IBM Thinkpad X31.&lt;br /&gt;
&lt;br /&gt;
Enjoy,&lt;br /&gt;
&lt;br /&gt;
Tested by nm.&lt;br /&gt;
&lt;br /&gt;
==Check List==&lt;br /&gt;
&lt;br /&gt;
The following is important to remember:&lt;br /&gt;
# You must update '''both''' the Control Program and the BIOS at the same time if your current Control Program is not compatible with the new BIOS (see below)&lt;br /&gt;
# You must find versions of the Control Program and BIOS that are compatible.  Not all of them are, so follow the readmes on the IBM website carefully to determine which are.&lt;br /&gt;
# You must update the Control Program '''before''' you update the BIOS&lt;br /&gt;
&lt;br /&gt;
When the Control Program '''and''' the BIOS need updating, have both update disks or CDs ready. Update the Control Program first and the system should switch itself off when finished. Insert the BIOS update disk and proceed to update the BIOS. When it's all finished, enter setup, reset the settings to their defaults and reboot. Enter setup again and tweak the settings as necessary.&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_acpid&amp;diff=28104</id>
		<title>How to configure acpid</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_acpid&amp;diff=28104"/>
		<updated>2007-02-04T17:00:51Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: tell people the script might already be enabled&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Introduction==&lt;br /&gt;
Basically, [[acpid]] just executes scripts residing in {{path|/etc/acpi/actions}}. Which script to launch at which event is configured in several files in {{path|/etc/acpi/events}}. All actions are documented in {{path|/var/log/acpid}}.&lt;br /&gt;
&lt;br /&gt;
==Sources of Information==&lt;br /&gt;
*{{cmduser|man acpid}} holds detailed information on how to configure acpid.&lt;br /&gt;
*The [[ibm-acpi]] package includes example scripts in the {{path|config}} folder inside the tarball. They are a good starting point to adjust them to your needs.&lt;br /&gt;
*You also might want to have a look at the [[Configs#ACPI | ACPI section of the Configs page]] or the [[:Category:Scripts|Scripts]] repository.&lt;br /&gt;
*And you can find information about the event strings [[ibm-acpi]] generates for certain keys at the [[How to get special keys to work#ibm-acpi_events | Special Keys HOWTO]].&lt;br /&gt;
&lt;br /&gt;
==Example: go to sleep on lid close==&lt;br /&gt;
To make the ThinkPad go to sleep when you close the lid, you need to add&lt;br /&gt;
an event handler for the lid event and an action script that takes care&lt;br /&gt;
of going to sleep and resuming.&lt;br /&gt;
&lt;br /&gt;
===Event Script===&lt;br /&gt;
The event script needs to be created within {{path|/etc/acpi/events}} and can have any name you like.&lt;br /&gt;
In this case we call it lid because it will trigger the lid event. Do {{cmdroot|vi /etc/acpi/events/lid}} and make it look like this:&lt;br /&gt;
 event=button/lid&lt;br /&gt;
 action=/etc/acpi/actions/sleep.sh %e&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;event&amp;quot; line is a regular expression specifying the events we're&lt;br /&gt;
interested in. You can determine what the event strings are from looking at&lt;br /&gt;
{{path|/var/log/acpid}} after trying to suspend, close the lid, etc. .&lt;br /&gt;
You can find information about the event strings [[ibm-acpi]] generates for certain keys at the [[How to get special keys to work#ibm-acpi_events | Special Keys HOWTO]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;action&amp;quot; line is the command to be executed when these events are&lt;br /&gt;
dispatched. In this example we call the {{path|sleep.sh}} script residing in {{path|/etc/acpi/actions}} and pass the event description text using the %e placeholder.&lt;br /&gt;
&lt;br /&gt;
For the script you can use the &amp;lt;tt&amp;gt;hibernate&amp;lt;/tt&amp;gt; script of [http://www.suspend2.net/ Software Suspend 2] (it is independent of the [[Software Suspend 2|suspend-to-disk]] functionality), or any of many examples available on the web, such as the one below.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|To make your changes take effect after adding or modifying the events files you must do a &amp;lt;tt&amp;gt;kill -SIGHUP `pidof acpid`&amp;lt;/tt&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
===Action Script===&lt;br /&gt;
Our example {{path|/etc/acpi/actions/sleep.sh}} script looks as follows:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # if launched through a lid event and lid is open, do nothing&lt;br /&gt;
 echo &amp;quot;$1&amp;quot; | grep &amp;quot;button/lid&amp;quot; &amp;amp;&amp;amp; grep -q open /proc/acpi/button/lid/LID/state &amp;amp;&amp;amp; exit 0&lt;br /&gt;
 &lt;br /&gt;
 # remove USB 1.1 driver&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
  &lt;br /&gt;
 # sync filesystem and clock&lt;br /&gt;
 sync&lt;br /&gt;
 /sbin/hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # switch to console&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 /usr/sbin/radeontool light off&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 sleep 5 &amp;amp;&amp;amp; echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 # readjust the clock (it might be off a bit after suspend)&lt;br /&gt;
 /sbin/hwclock --adjust&lt;br /&gt;
 /sbin/hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # reload USB 1.1 driver&lt;br /&gt;
 modprobe uhci_hcd&lt;br /&gt;
 &lt;br /&gt;
 # turn on the backlight and switch back to X&lt;br /&gt;
 radeontool light on&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This parts of this script are now part of some distributions, like Debian Etch and you probably don't need to add this script. Look into /etc/acpi/lid.sh, for example.}}&lt;br /&gt;
&lt;br /&gt;
====Explanations====&lt;br /&gt;
*The lid generates an event for both opening and closing thus requiring that we check its state and only act if it's closed.&lt;br /&gt;
*There have been problems encountered with the USB devices not working properly after a resume from suspend. To circumvent those we remove the USB driver prior to suspend and reload it afterwards.&lt;br /&gt;
*Note that the {{cmdroot|echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state}} line does not return until we are revived. So there is only one event generated and there is no need to check the state of anything.&lt;br /&gt;
*The console switching code in this script is a special solution for [[Problem with LCD backlight remaining on during ACPI sleep|a problem where the backlight doesn't switch off]] on the {{T30}} and some other models. Before going to sleep, these models switch to console mode which causes the backlight to come back on. So we preemptively switch to console mode and turn off the backlight using [[radeontool]] before going to sleep.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
*If something doesn't work, your first action should be a {{cmdroot|tail /var/log/acpid}}. It will tell you a lot about what is going on. If it has &amp;quot;Permission denied&amp;quot; errors, check the permissions of your {{path|/etc/acpi/actions}} scripts (especially make sure that the executable bit is set). Also check the permissions for other involved files like i.e. device nodes.&lt;br /&gt;
*For further problems look at the [[Problems with ACPI suspend-to-ram|Problems with ACPI suspend-to-ram page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:770X]] [[Category:770Z]] [[Category:A20m]] [[Category:A20p]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]]  [[Category:Z60t]] [[Category:Z60m]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=28103</id>
		<title>Table of thinkpad-acpi LEDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Table_of_thinkpad-acpi_LEDs&amp;diff=28103"/>
		<updated>2007-02-04T16:53:12Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: confirm a few leds&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This table contains informations about which LED number is used for which LED in the [[ibm-acpi]] driver.&lt;br /&gt;
&lt;br /&gt;
To test please do the following and add the blinking LED to the table. The moon symbol is the standby led.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;0 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;1 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;2 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;3 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;4 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;5 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;6 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;7 blink&amp;quot; &amp;gt; /proc/acpi/ibm/led&lt;br /&gt;
echo &amp;quot;on&amp;quot; &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:A Series|A Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A31}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabay left || Ultrabay right || not found || Standby || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:G Series|G Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:R Series|R Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:R31|R31]]&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} || 2883-ELU&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60e}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:T Series|T Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}} || {{Battery(green)}}  || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}}  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || nothing  || Ultrabay || nothing || nothing || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2647-4MG&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  ||  {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}}  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2373-2gg&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}}  &lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}} &lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}} || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}}  &lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Stanby || {{ThinkLight(white)}} || 2373-C96&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}}, {{T43p}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} || 2007-49G&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:X Series|X Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X21}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || Ultrabase Battery || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(white)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}}  || {{Battery(green)}}  || Ultrabase  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{Cunk}} ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! [[:Category:Z Series|Z Series]]&lt;br /&gt;
! LED #0&lt;br /&gt;
! LED #1&lt;br /&gt;
! LED #2&lt;br /&gt;
! LED #3&lt;br /&gt;
! LED #4&lt;br /&gt;
! LED #5&lt;br /&gt;
! LED #6&lt;br /&gt;
! LED #7&lt;br /&gt;
! ThinkLight&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{PowerLED}}  || {{Battery(amber)}}  || {{Battery(green)}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{PowerLED}} || {{Battery(amber)}} || {{Battery(green)}} || {{Cunk}} || Ultrabay || {{Cunk}} || {{Cunk}} || Standby || {{ThinkLight(amber)}} ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Mini-PCI_Modem_card&amp;diff=21771</id>
		<title>Mini-PCI Modem card</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Mini-PCI_Modem_card&amp;diff=21771"/>
		<updated>2006-04-19T17:46:37Z</updated>

		<summary type="html">&lt;p&gt;TheAnarcat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== Mini-PCI Modem card ===&lt;br /&gt;
This is a [[MiniPCI slot|Mini-PCI]] [[Modem Devices|Modem Adapter]] that is installed in a Mini-PCI slot.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Ambit (formerly Lucent Microelectronics) [[Wikipedia:Softmodem|Softmodem]]&lt;br /&gt;
* PCI ID: 11c1:0449&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
IBM FRU PN: 08K3251, 08K3252, 08K3338, 08K3383, 08K3429, 08K4852, 08K4853, 08K4855, 91P7659&amp;lt;br&amp;gt;&lt;br /&gt;
IBM FRU PN (390X): 10L1296&amp;lt;br&amp;gt;&lt;br /&gt;
IBM FRU PN (570/E): 08K3412&lt;br /&gt;
&lt;br /&gt;
=== Also known (in IBM literature) as.... ===&lt;br /&gt;
* Mini PCI modem card (Ambit)&lt;br /&gt;
* Mini PCI modem card (IBM CR)&lt;br /&gt;
* Mini PCI modem card (M2) (IBM)&lt;br /&gt;
* modem card Ambit&lt;br /&gt;
* Mini PCI modem&lt;br /&gt;
&lt;br /&gt;
=== Linux driver ===&lt;br /&gt;
The Linux driver from [http://www.smlink.com/ SmartLink] may work.&amp;lt;br&amp;gt;&lt;br /&gt;
Latest version of this driver is 2.9.10 and supports both the 2.4 and 2.6 kernels.&lt;br /&gt;
&lt;br /&gt;
Otherwise try using the slightly dated [http://www.heby.de/ltmodem/ ltmodem driver for Linux].&amp;lt;br&amp;gt;&lt;br /&gt;
The latest version of this driver is 8.31a and supports the 2.4 kernels.&lt;br /&gt;
alk@tut.by has prepared a version of the driver for 2.6 kernels.&lt;br /&gt;
&lt;br /&gt;
Lastly, IBM supplies an outdated version (5.95) of the ltmodem driver, with only kernel 2.2 support [http://www-3.ibm.com/pc/support/site.wss/MIGR-4VFTT3.html here].&lt;br /&gt;
&lt;br /&gt;
The Fax is supported by hylafax only, as mgetty-fax requires a class 2 modem, which this one isn't.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this card may be found in ===&lt;br /&gt;
* {{390E}}, {{390X}}, {{570}}, {{570E}}, {{600X}}&lt;br /&gt;
* {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}, {{T23}}&lt;br /&gt;
* {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}&lt;br /&gt;
* {{TransNote}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>TheAnarcat</name></author>
		
	</entry>
</feed>