<?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=Defiant</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=Defiant"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Defiant"/>
	<updated>2026-04-16T20:23:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Script_for_theft_alarm_using_HDAPS&amp;diff=42910</id>
		<title>Talk:Script for theft alarm using HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Script_for_theft_alarm_using_HDAPS&amp;diff=42910"/>
		<updated>2009-04-24T04:43:27Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* New Sox Version? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wonderful idea! And works perfectly on my T43p, scared the cat away. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:35, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Good, so it's at least a cat deterrant! A friend of mine had a nasty incident involving a laptop and a cat...&lt;br /&gt;
BTW, I'm the author (identifed by IP address again due the usual ThinkWiki autologin flakiness).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:52, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
I had to tweak the line that reads the position file. My position file has - numbers in it for some reason, so: &lt;br /&gt;
m/^\(-(\d+),-(\d+)\)$/ or die &amp;quot;Can't parse $pos_file content\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
After that change it works great. &lt;br /&gt;
It scared the dogs away here. ;) &lt;br /&gt;
--[[User:nirik|nirik]] 21:24, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Fixed. Which ThinkPad model, BTW?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:44, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
Cool. Excellent. ;) &lt;br /&gt;
&lt;br /&gt;
T42p here. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 21:45, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I love it!  Great contributions, Thinker!&lt;br /&gt;
&lt;br /&gt;
Of course, it is more proof-of-concept tough, as a thief can simply hit the &amp;quot;mute&amp;quot; button, or carry an old headphone plug with the actual headphones chopped off and stuff this quickly into the audio out jack.  Don't leave your laptop unattended :) :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Gsmenden|Gsmenden]] 18:06, 28 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks! About muting, I'm not sure the mute button will work (I reset the mixer volumes every second), but the thief can certainly power off, or suspend, or pull out the AC and battery. But my hope is that the casual, uninformed laptop-snatcher will trigger the alarm for at least a few seconds, and if you're just down the hall or there are other people nearby, that's probably enough to save your laptop. Not as good as a real lock+alarm, but better than nothing, and pretty convenient when autoactivated by the screensaver (&amp;lt;tt&amp;gt;$use_kde=1&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 01:40, 29 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
someone asked if it's possible to watch out for gnome-screensaver.&lt;br /&gt;
- it is, using dbus-monitor (like explained on the gnome-screensaver faq page).&lt;br /&gt;
&lt;br /&gt;
the following perl script&lt;br /&gt;
&lt;br /&gt;
 my $cmd = &amp;quot;dbus-monitor --session \&amp;quot;type='signal',interface='org.gnome.ScreenSaver',member='SessionIdleChanged'\&amp;quot;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 open (IN,&amp;quot;-|&amp;quot;, &amp;quot;$cmd&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 while (&amp;lt;IN&amp;gt;) {&lt;br /&gt;
    if (m/^\s+boolean true/) {&lt;br /&gt;
        print &amp;quot;screensaver is now active&amp;quot;;&lt;br /&gt;
    } elsif (m/^\s+boolean false/) {&lt;br /&gt;
        print &amp;quot;screensaver is now inactive&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
will print when gnome-screensaver goes active&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ugly part is &lt;br /&gt;
&lt;br /&gt;
1. You can only find out once gnome-screensaver is going active or inactive, but not if it's active when the scripts is started.&lt;br /&gt;
&lt;br /&gt;
2. I don't really know how to check if there is new output in &amp;lt;IN&amp;gt;, because something like my $cmdline=&amp;lt;IN&amp;gt;; will hang until there is new output (like when the screensaver is going (in)active).&lt;br /&gt;
&lt;br /&gt;
--[[User:Mcgiver|Mcgiver]] 20:35, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Usefulness for head parking==&lt;br /&gt;
Works great. Maybe we can the script for testing the disk park patches by Jon Escombe &amp;lt;lists@dresco.co.uk&amp;gt;&lt;br /&gt;
-- [[User:Ozi23]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You can use it for testing, but note that the specific algorithm used in this script (threshold on standard deviation of samples during last second) is optimized for the theft deterrent situation. It is highly unsuitable for the head parking application, since it reacts too slowly -- by the it will recognize the movement, the disk heads will have already crashed. For head parking you'd need a low-latency algorithm, and preferably an in-kernel implementation to allow frequeny low-overhead polling, reduce latencies, and avoid accidentally spinning the disk ''up'' when loading or swapping in userspace stuff needed to spin the disk ''down''.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:20, 14 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It's even worse that I thought. Check out the [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/aps2mst.pdf IBM white paper] - there's barely enough time to park the head, so in the Windows driver they're using some pretty fancy learning algorithm to deduce when movement deviates from &amp;quot;normal&amp;quot;, to decide when to redefine &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 19:08, 22 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Good news every one ..... &lt;br /&gt;
Just kidding. I've found the hdapsd package which acts as a deamon for the hdaps and uses the kernel patch by Jon Escombe. I havent tested it but some people   &lt;br /&gt;
were able to get the protection system work. It seems to depend on the firmware of the harddrive. Its in early stage so be carefull.&lt;br /&gt;
&lt;br /&gt;
http://lwn.net/Articles/154923/ (kernel patch)&lt;br /&gt;
http://bugs.gentoo.org/show_bug.cgi?id=100167 (hdapsd)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Minor modifications ==&lt;br /&gt;
&lt;br /&gt;
tp-theft.pl v0.33 is working fine here, but I have modified some parts:&lt;br /&gt;
* I made a change for kdesktop_lock since it is located in /usr/kde/&amp;lt;kde-version&amp;gt;/bin/ here (Gentoo-specific)&lt;br /&gt;
* I removed the check wether kdesktop is running. I start tp-theft.pl via inittab which will be up before I have logged in&lt;br /&gt;
&lt;br /&gt;
-- satmd, 2005-12-25&lt;br /&gt;
&lt;br /&gt;
What's Gentoo's way of finding out the KDE path? I suppose&lt;br /&gt;
 my $bin = `which kdesktop_lock`;&lt;br /&gt;
won't work from an initscript because the PATH is not set up yet.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:38, 25 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
With Gentoo&lt;br /&gt;
 /usr/bin/env kde-config --exec-prefix --expandvars&lt;br /&gt;
returns /usr/kde/3.5 . That looks general useable to me.&lt;br /&gt;
I do not use an initscript, but inittab&lt;br /&gt;
... with initscripts one could easily source /etc/profile or something.&lt;br /&gt;
&lt;br /&gt;
-- satmd, 2005-12-25&lt;br /&gt;
&lt;br /&gt;
Will an inittab script find &amp;lt;tt&amp;gt;kde-config&amp;lt;/tt&amp;gt;, which is probably in {{path|/usr/kde/&amp;lt;kde-version&amp;gt;/bin/}} too? And if so, won't &amp;lt;tt&amp;gt;which kdedesktop_lock&amp;lt;/tt&amp;gt; also work?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:56, 26 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
Did not work - both of them. Keeping my hardcoded value.&lt;br /&gt;
-- satmd, 2005-12-26 06:09 CET&lt;br /&gt;
&lt;br /&gt;
== Is there a way do make something like this work on Windows? ==&lt;br /&gt;
&lt;br /&gt;
see topic.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
theoretically speaking yes, since the accelerometer must be readable in windows too.&lt;br /&gt;
&lt;br /&gt;
But I doubt there is an easy way to find out how to read it.&lt;br /&gt;
&lt;br /&gt;
You might want to decompile the ibm hdaps active protection script to find out.&lt;br /&gt;
&lt;br /&gt;
--[[User:Mcgiver|Mcgiver]] 20:35, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Debian/Ubuntu libsox dependencies ==&lt;br /&gt;
&lt;br /&gt;
Just a little Debian/Ubuntu heads-up:&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
''sox soxio: Can't open output file `/dev/dsp': unknown file type `ossdsp'''&lt;br /&gt;
&lt;br /&gt;
...then try installing '''libsox-fmt-oss'''.  This fixed the problem for me, on Debian Etch.  I based this info off of an Ubuntu forum post... different problem, but the same error message:&lt;br /&gt;
http://ubuntuforums.org/showthread.php?t=740612&lt;br /&gt;
&lt;br /&gt;
--[[User:ashank|Andy Shank]] 14:38, 13 Oct 2008 (MST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== New Sox Version? ==&lt;br /&gt;
&lt;br /&gt;
I got this error&lt;br /&gt;
&lt;br /&gt;
''sox formats: no handler for given file type `nul'''&lt;br /&gt;
&lt;br /&gt;
with current sox 14.2.0 in Debian unstable.&lt;br /&gt;
&lt;br /&gt;
Replacing ''-t nul /dev/null'' with ''-t'' fixed it for me.&lt;br /&gt;
I'm not changing the script because I guess the majority is still using older sox.&lt;br /&gt;
&lt;br /&gt;
--[[User:Defiant|Defiant]] 18:25, 23 April 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Script_for_theft_alarm_using_HDAPS&amp;diff=42909</id>
		<title>Talk:Script for theft alarm using HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Script_for_theft_alarm_using_HDAPS&amp;diff=42909"/>
		<updated>2009-04-24T04:42:53Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* New Sox Version? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wonderful idea! And works perfectly on my T43p, scared the cat away. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:35, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Good, so it's at least a cat deterrant! A friend of mine had a nasty incident involving a laptop and a cat...&lt;br /&gt;
BTW, I'm the author (identifed by IP address again due the usual ThinkWiki autologin flakiness).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:52, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
I had to tweak the line that reads the position file. My position file has - numbers in it for some reason, so: &lt;br /&gt;
m/^\(-(\d+),-(\d+)\)$/ or die &amp;quot;Can't parse $pos_file content\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
After that change it works great. &lt;br /&gt;
It scared the dogs away here. ;) &lt;br /&gt;
--[[User:nirik|nirik]] 21:24, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Fixed. Which ThinkPad model, BTW?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:44, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
Cool. Excellent. ;) &lt;br /&gt;
&lt;br /&gt;
T42p here. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 21:45, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I love it!  Great contributions, Thinker!&lt;br /&gt;
&lt;br /&gt;
Of course, it is more proof-of-concept tough, as a thief can simply hit the &amp;quot;mute&amp;quot; button, or carry an old headphone plug with the actual headphones chopped off and stuff this quickly into the audio out jack.  Don't leave your laptop unattended :) :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Gsmenden|Gsmenden]] 18:06, 28 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks! About muting, I'm not sure the mute button will work (I reset the mixer volumes every second), but the thief can certainly power off, or suspend, or pull out the AC and battery. But my hope is that the casual, uninformed laptop-snatcher will trigger the alarm for at least a few seconds, and if you're just down the hall or there are other people nearby, that's probably enough to save your laptop. Not as good as a real lock+alarm, but better than nothing, and pretty convenient when autoactivated by the screensaver (&amp;lt;tt&amp;gt;$use_kde=1&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 01:40, 29 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
someone asked if it's possible to watch out for gnome-screensaver.&lt;br /&gt;
- it is, using dbus-monitor (like explained on the gnome-screensaver faq page).&lt;br /&gt;
&lt;br /&gt;
the following perl script&lt;br /&gt;
&lt;br /&gt;
 my $cmd = &amp;quot;dbus-monitor --session \&amp;quot;type='signal',interface='org.gnome.ScreenSaver',member='SessionIdleChanged'\&amp;quot;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 open (IN,&amp;quot;-|&amp;quot;, &amp;quot;$cmd&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 while (&amp;lt;IN&amp;gt;) {&lt;br /&gt;
    if (m/^\s+boolean true/) {&lt;br /&gt;
        print &amp;quot;screensaver is now active&amp;quot;;&lt;br /&gt;
    } elsif (m/^\s+boolean false/) {&lt;br /&gt;
        print &amp;quot;screensaver is now inactive&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
will print when gnome-screensaver goes active&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ugly part is &lt;br /&gt;
&lt;br /&gt;
1. You can only find out once gnome-screensaver is going active or inactive, but not if it's active when the scripts is started.&lt;br /&gt;
&lt;br /&gt;
2. I don't really know how to check if there is new output in &amp;lt;IN&amp;gt;, because something like my $cmdline=&amp;lt;IN&amp;gt;; will hang until there is new output (like when the screensaver is going (in)active).&lt;br /&gt;
&lt;br /&gt;
--[[User:Mcgiver|Mcgiver]] 20:35, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Usefulness for head parking==&lt;br /&gt;
Works great. Maybe we can the script for testing the disk park patches by Jon Escombe &amp;lt;lists@dresco.co.uk&amp;gt;&lt;br /&gt;
-- [[User:Ozi23]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You can use it for testing, but note that the specific algorithm used in this script (threshold on standard deviation of samples during last second) is optimized for the theft deterrent situation. It is highly unsuitable for the head parking application, since it reacts too slowly -- by the it will recognize the movement, the disk heads will have already crashed. For head parking you'd need a low-latency algorithm, and preferably an in-kernel implementation to allow frequeny low-overhead polling, reduce latencies, and avoid accidentally spinning the disk ''up'' when loading or swapping in userspace stuff needed to spin the disk ''down''.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:20, 14 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It's even worse that I thought. Check out the [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/aps2mst.pdf IBM white paper] - there's barely enough time to park the head, so in the Windows driver they're using some pretty fancy learning algorithm to deduce when movement deviates from &amp;quot;normal&amp;quot;, to decide when to redefine &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 19:08, 22 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Good news every one ..... &lt;br /&gt;
Just kidding. I've found the hdapsd package which acts as a deamon for the hdaps and uses the kernel patch by Jon Escombe. I havent tested it but some people   &lt;br /&gt;
were able to get the protection system work. It seems to depend on the firmware of the harddrive. Its in early stage so be carefull.&lt;br /&gt;
&lt;br /&gt;
http://lwn.net/Articles/154923/ (kernel patch)&lt;br /&gt;
http://bugs.gentoo.org/show_bug.cgi?id=100167 (hdapsd)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Minor modifications ==&lt;br /&gt;
&lt;br /&gt;
tp-theft.pl v0.33 is working fine here, but I have modified some parts:&lt;br /&gt;
* I made a change for kdesktop_lock since it is located in /usr/kde/&amp;lt;kde-version&amp;gt;/bin/ here (Gentoo-specific)&lt;br /&gt;
* I removed the check wether kdesktop is running. I start tp-theft.pl via inittab which will be up before I have logged in&lt;br /&gt;
&lt;br /&gt;
-- satmd, 2005-12-25&lt;br /&gt;
&lt;br /&gt;
What's Gentoo's way of finding out the KDE path? I suppose&lt;br /&gt;
 my $bin = `which kdesktop_lock`;&lt;br /&gt;
won't work from an initscript because the PATH is not set up yet.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:38, 25 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
With Gentoo&lt;br /&gt;
 /usr/bin/env kde-config --exec-prefix --expandvars&lt;br /&gt;
returns /usr/kde/3.5 . That looks general useable to me.&lt;br /&gt;
I do not use an initscript, but inittab&lt;br /&gt;
... with initscripts one could easily source /etc/profile or something.&lt;br /&gt;
&lt;br /&gt;
-- satmd, 2005-12-25&lt;br /&gt;
&lt;br /&gt;
Will an inittab script find &amp;lt;tt&amp;gt;kde-config&amp;lt;/tt&amp;gt;, which is probably in {{path|/usr/kde/&amp;lt;kde-version&amp;gt;/bin/}} too? And if so, won't &amp;lt;tt&amp;gt;which kdedesktop_lock&amp;lt;/tt&amp;gt; also work?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:56, 26 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
Did not work - both of them. Keeping my hardcoded value.&lt;br /&gt;
-- satmd, 2005-12-26 06:09 CET&lt;br /&gt;
&lt;br /&gt;
== Is there a way do make something like this work on Windows? ==&lt;br /&gt;
&lt;br /&gt;
see topic.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
theoretically speaking yes, since the accelerometer must be readable in windows too.&lt;br /&gt;
&lt;br /&gt;
But I doubt there is an easy way to find out how to read it.&lt;br /&gt;
&lt;br /&gt;
You might want to decompile the ibm hdaps active protection script to find out.&lt;br /&gt;
&lt;br /&gt;
--[[User:Mcgiver|Mcgiver]] 20:35, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Debian/Ubuntu libsox dependencies ==&lt;br /&gt;
&lt;br /&gt;
Just a little Debian/Ubuntu heads-up:&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
''sox soxio: Can't open output file `/dev/dsp': unknown file type `ossdsp'''&lt;br /&gt;
&lt;br /&gt;
...then try installing '''libsox-fmt-oss'''.  This fixed the problem for me, on Debian Etch.  I based this info off of an Ubuntu forum post... different problem, but the same error message:&lt;br /&gt;
http://ubuntuforums.org/showthread.php?t=740612&lt;br /&gt;
&lt;br /&gt;
--[[User:ashank|Andy Shank]] 14:38, 13 Oct 2008 (MST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== New Sox Version? ==&lt;br /&gt;
&lt;br /&gt;
I got this error&lt;br /&gt;
&lt;br /&gt;
''sox formats: no handler for given file type `nul'''&lt;br /&gt;
&lt;br /&gt;
with current sox 14.2.0 in Debian unstable.&lt;br /&gt;
&lt;br /&gt;
Replacing ''-t nul /dev/null'' with ''-t'' fixed it for me.&lt;br /&gt;
I'm not changing the script because I think the majority is still using older sox.&lt;br /&gt;
&lt;br /&gt;
--[[User:Defiant|Defiant]] 18:25, 23 April 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Script_for_theft_alarm_using_HDAPS&amp;diff=42905</id>
		<title>Talk:Script for theft alarm using HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Script_for_theft_alarm_using_HDAPS&amp;diff=42905"/>
		<updated>2009-04-23T18:25:40Z</updated>

		<summary type="html">&lt;p&gt;Defiant: sox error: no handler for given file type nul&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wonderful idea! And works perfectly on my T43p, scared the cat away. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:35, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Good, so it's at least a cat deterrant! A friend of mine had a nasty incident involving a laptop and a cat...&lt;br /&gt;
BTW, I'm the author (identifed by IP address again due the usual ThinkWiki autologin flakiness).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:52, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
I had to tweak the line that reads the position file. My position file has - numbers in it for some reason, so: &lt;br /&gt;
m/^\(-(\d+),-(\d+)\)$/ or die &amp;quot;Can't parse $pos_file content\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
After that change it works great. &lt;br /&gt;
It scared the dogs away here. ;) &lt;br /&gt;
--[[User:nirik|nirik]] 21:24, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Fixed. Which ThinkPad model, BTW?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:44, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
Cool. Excellent. ;) &lt;br /&gt;
&lt;br /&gt;
T42p here. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 21:45, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I love it!  Great contributions, Thinker!&lt;br /&gt;
&lt;br /&gt;
Of course, it is more proof-of-concept tough, as a thief can simply hit the &amp;quot;mute&amp;quot; button, or carry an old headphone plug with the actual headphones chopped off and stuff this quickly into the audio out jack.  Don't leave your laptop unattended :) :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Gsmenden|Gsmenden]] 18:06, 28 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks! About muting, I'm not sure the mute button will work (I reset the mixer volumes every second), but the thief can certainly power off, or suspend, or pull out the AC and battery. But my hope is that the casual, uninformed laptop-snatcher will trigger the alarm for at least a few seconds, and if you're just down the hall or there are other people nearby, that's probably enough to save your laptop. Not as good as a real lock+alarm, but better than nothing, and pretty convenient when autoactivated by the screensaver (&amp;lt;tt&amp;gt;$use_kde=1&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 01:40, 29 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
someone asked if it's possible to watch out for gnome-screensaver.&lt;br /&gt;
- it is, using dbus-monitor (like explained on the gnome-screensaver faq page).&lt;br /&gt;
&lt;br /&gt;
the following perl script&lt;br /&gt;
&lt;br /&gt;
 my $cmd = &amp;quot;dbus-monitor --session \&amp;quot;type='signal',interface='org.gnome.ScreenSaver',member='SessionIdleChanged'\&amp;quot;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 open (IN,&amp;quot;-|&amp;quot;, &amp;quot;$cmd&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 while (&amp;lt;IN&amp;gt;) {&lt;br /&gt;
    if (m/^\s+boolean true/) {&lt;br /&gt;
        print &amp;quot;screensaver is now active&amp;quot;;&lt;br /&gt;
    } elsif (m/^\s+boolean false/) {&lt;br /&gt;
        print &amp;quot;screensaver is now inactive&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
will print when gnome-screensaver goes active&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ugly part is &lt;br /&gt;
&lt;br /&gt;
1. You can only find out once gnome-screensaver is going active or inactive, but not if it's active when the scripts is started.&lt;br /&gt;
&lt;br /&gt;
2. I don't really know how to check if there is new output in &amp;lt;IN&amp;gt;, because something like my $cmdline=&amp;lt;IN&amp;gt;; will hang until there is new output (like when the screensaver is going (in)active).&lt;br /&gt;
&lt;br /&gt;
--[[User:Mcgiver|Mcgiver]] 20:35, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Usefulness for head parking==&lt;br /&gt;
Works great. Maybe we can the script for testing the disk park patches by Jon Escombe &amp;lt;lists@dresco.co.uk&amp;gt;&lt;br /&gt;
-- [[User:Ozi23]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You can use it for testing, but note that the specific algorithm used in this script (threshold on standard deviation of samples during last second) is optimized for the theft deterrent situation. It is highly unsuitable for the head parking application, since it reacts too slowly -- by the it will recognize the movement, the disk heads will have already crashed. For head parking you'd need a low-latency algorithm, and preferably an in-kernel implementation to allow frequeny low-overhead polling, reduce latencies, and avoid accidentally spinning the disk ''up'' when loading or swapping in userspace stuff needed to spin the disk ''down''.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:20, 14 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It's even worse that I thought. Check out the [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/aps2mst.pdf IBM white paper] - there's barely enough time to park the head, so in the Windows driver they're using some pretty fancy learning algorithm to deduce when movement deviates from &amp;quot;normal&amp;quot;, to decide when to redefine &amp;quot;normal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 19:08, 22 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Good news every one ..... &lt;br /&gt;
Just kidding. I've found the hdapsd package which acts as a deamon for the hdaps and uses the kernel patch by Jon Escombe. I havent tested it but some people   &lt;br /&gt;
were able to get the protection system work. It seems to depend on the firmware of the harddrive. Its in early stage so be carefull.&lt;br /&gt;
&lt;br /&gt;
http://lwn.net/Articles/154923/ (kernel patch)&lt;br /&gt;
http://bugs.gentoo.org/show_bug.cgi?id=100167 (hdapsd)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Minor modifications ==&lt;br /&gt;
&lt;br /&gt;
tp-theft.pl v0.33 is working fine here, but I have modified some parts:&lt;br /&gt;
* I made a change for kdesktop_lock since it is located in /usr/kde/&amp;lt;kde-version&amp;gt;/bin/ here (Gentoo-specific)&lt;br /&gt;
* I removed the check wether kdesktop is running. I start tp-theft.pl via inittab which will be up before I have logged in&lt;br /&gt;
&lt;br /&gt;
-- satmd, 2005-12-25&lt;br /&gt;
&lt;br /&gt;
What's Gentoo's way of finding out the KDE path? I suppose&lt;br /&gt;
 my $bin = `which kdesktop_lock`;&lt;br /&gt;
won't work from an initscript because the PATH is not set up yet.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:38, 25 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
With Gentoo&lt;br /&gt;
 /usr/bin/env kde-config --exec-prefix --expandvars&lt;br /&gt;
returns /usr/kde/3.5 . That looks general useable to me.&lt;br /&gt;
I do not use an initscript, but inittab&lt;br /&gt;
... with initscripts one could easily source /etc/profile or something.&lt;br /&gt;
&lt;br /&gt;
-- satmd, 2005-12-25&lt;br /&gt;
&lt;br /&gt;
Will an inittab script find &amp;lt;tt&amp;gt;kde-config&amp;lt;/tt&amp;gt;, which is probably in {{path|/usr/kde/&amp;lt;kde-version&amp;gt;/bin/}} too? And if so, won't &amp;lt;tt&amp;gt;which kdedesktop_lock&amp;lt;/tt&amp;gt; also work?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:56, 26 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
Did not work - both of them. Keeping my hardcoded value.&lt;br /&gt;
-- satmd, 2005-12-26 06:09 CET&lt;br /&gt;
&lt;br /&gt;
== Is there a way do make something like this work on Windows? ==&lt;br /&gt;
&lt;br /&gt;
see topic.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
theoretically speaking yes, since the accelerometer must be readable in windows too.&lt;br /&gt;
&lt;br /&gt;
But I doubt there is an easy way to find out how to read it.&lt;br /&gt;
&lt;br /&gt;
You might want to decompile the ibm hdaps active protection script to find out.&lt;br /&gt;
&lt;br /&gt;
--[[User:Mcgiver|Mcgiver]] 20:35, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Debian/Ubuntu libsox dependencies ==&lt;br /&gt;
&lt;br /&gt;
Just a little Debian/Ubuntu heads-up:&lt;br /&gt;
&lt;br /&gt;
If you get this error:&lt;br /&gt;
&lt;br /&gt;
''sox soxio: Can't open output file `/dev/dsp': unknown file type `ossdsp'''&lt;br /&gt;
&lt;br /&gt;
...then try installing '''libsox-fmt-oss'''.  This fixed the problem for me, on Debian Etch.  I based this info off of an Ubuntu forum post... different problem, but the same error message:&lt;br /&gt;
http://ubuntuforums.org/showthread.php?t=740612&lt;br /&gt;
&lt;br /&gt;
--[[User:ashank|Andy Shank]] 14:38, 13 Oct 2008 (MST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== New Sox Version? ==&lt;br /&gt;
&lt;br /&gt;
I got this error&lt;br /&gt;
&lt;br /&gt;
''sox formats: no handler for given file type `nul'''&lt;br /&gt;
&lt;br /&gt;
with current sox 14.2.0 in Debian unstable.&lt;br /&gt;
&lt;br /&gt;
Replacing ''-t nul /dev/null'' with ''-t'' fixed it for me.&lt;br /&gt;
I'm not changing the script because I think the majority is still using older sox.&lt;br /&gt;
&lt;br /&gt;
[[User:Defiant|Defiant]] 18:25, 23 April 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=38090</id>
		<title>How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=38090"/>
		<updated>2008-06-28T11:40:52Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* Details */ added T43&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following discusses hotswap (AKA &amp;quot;hotplug&amp;quot;) of devices in the [[UltraBay]].&lt;br /&gt;
&lt;br /&gt;
==Which driver?==&lt;br /&gt;
Since this may be confusing for SATA thinkpad owners, which are likely all the same for now, you have two busses and drivers: one SATA bus which works with the AHCI driver and one IDE bus for the ultrabay for which you should pick ata_piix (not piix/CONFIG_BLK_DEV_PIIX). See below for hotswapping.&lt;br /&gt;
&lt;br /&gt;
==Choosing the right driver: new style &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; vs old style &amp;lt;tt&amp;gt;piix/ide-disk&amp;lt;/tt&amp;gt;==&lt;br /&gt;
For ICH5,6,7,8, systems, whether you have an older IDE only thinkpad, or a newer thinkpad like the T/Z61p, there is one SATA bus for the system hard drive and an IDE bus for the ultrabay (even if your ultrabay happens to have a SATA drive, as it'll be seen as an IDE device), you'll have two drivers to chose from for your ultrabay: the old IDE/piix+ide-disk driver, and the newer PATA (=IDE) support of the newer ata_piix driver.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;piix+ide-disk&amp;lt;/tt&amp;gt; are part of the old original IDE driver and your ultrabay device will show up as &amp;lt;tt&amp;gt;/dev/hda&amp;lt;/tt&amp;gt;.&amp;lt;BR&amp;gt;&amp;lt;tt&amp;gt;ata-piix&amp;lt;/tt&amp;gt; is the new SATA/PATA (=IDE) driver that will cause your ultrabay Hard Drive to show up as &amp;lt;tt&amp;gt;/dev/sda&amp;lt;/tt&amp;gt; and your CD-Rom as &amp;lt;tt&amp;gt;/dev/sr0&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two things to know are: 1) you want to use ata_piix and 2) if you build piix in (CONFIG_BLK_DEV_PIIX enabled), or load it as a module, it'll take over the IDE bus and prevent ATA_PIIX from seeing your ultrabay. You don't want that.&lt;br /&gt;
&lt;br /&gt;
The longer details are:&amp;lt;BR&amp;gt;&lt;br /&gt;
You don't want the piix+ide-disk combo because even as modules, you will not be able to unload piix to reset the bus if there are issues swapping devices (with ata_piix, even if you forget to unregister a drive before removing it, you can unload the module and reload it to reset the bus after the fact if you have a newer thinkpad with a separate AHCI/SATA bus for the boot drive).&lt;br /&gt;
&lt;br /&gt;
As for hotswap, with piix+ide-disk, you can read the section below, but after more than one day of trying on 2.6.22.15 (as piix+ide-disk was taking over my IDE bus, and stopping me from using ata_piix before I removed it), I was not able to get hotswapping to work with piix+ide-disk (lt_hotswap would not even build on 2.6.22.15).&lt;br /&gt;
&lt;br /&gt;
hotswap just works with ata_pixx on 2.6.22, and reportedly with anything newer than 2.6.18, so you want to get rid of piix+ide-disk.&lt;br /&gt;
There are several ways to do that:&lt;br /&gt;
* if piix is built in your kernel (CONFIG_BLK_DEV_PIIX):&lt;br /&gt;
** rebuild your kernel with CONFIG_BLK_DEV_PIIX turned off.&lt;br /&gt;
** if you don't want to rebuild your kernel, try disabling the IDE bus grabbing by that driver with &amp;lt;tt&amp;gt;ide0=noprobe hda=noprobe hdb=noprobe&amp;lt;/tt&amp;gt; in your grub/lilo config (adjust the drive letters as appropriate, but note that this did not work for me on 2.6.22.15: the drive didn't show up on the piix bus, but it didn't show up on the ata_piix bus either).&lt;br /&gt;
* if piix is built in as a module&lt;br /&gt;
** you can move out the module in {{path|/lib/modules/ver/kernel/drivers/ide/pci/piix.ko}} and reboot.&lt;br /&gt;
** or build a new kernel, again with CONFIG_BLK_DEV_PIIX turned off.&lt;br /&gt;
** or add &amp;lt;tt&amp;gt;options ide_core options=&amp;quot;ide0=noprobe hda=noprobe hdb=noprobe&amp;quot;&amp;lt;/tt&amp;gt; to your modprobe.conf is supposed to work too (but didn't work on 2.6.22.15, see comment above)&lt;br /&gt;
&lt;br /&gt;
Then, continue this document to see how to do hotswap with ata_piix (if you are lucky enough to have a newer SATA thinkpad where the ata_piix driver only runs the ultrabay, and you have a separate bus and ahci driver for your main drive, it is recommended to have ata_piix as a module (&amp;lt;tt&amp;gt;CONFIG_ATA_PIIX=m&amp;lt;/tt&amp;gt;) so that you can unload/reload it if your bus gets in a bad state after a failed hotswap)&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies when using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver, which is necessary for many recent ThinkPad models that use an [[Intel ICH6-M]] controller. See also [[Problems with SATA and Linux]]. &lt;br /&gt;
&lt;br /&gt;
Mainline kernels before 2.6.18 cannot reliably recognize newly (re-)inserted UltraBay drives without a reboot. There are experimental hotplug patches against pre-2.6.18 mainline kernels [http://home-tj.org/wiki/index.php/Libata-tj-stable here].&lt;br /&gt;
&lt;br /&gt;
* Available hotplug patches&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.16.16-20060512.tar.bz2 Patch tarball against 2.6.16.16] ([http://lwn.net/Articles/183407/ Announce])&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.17-20060625-1.tar.bz2 Patch tarball against 2.6.17/2.6.17.1] ([http://article.gmane.org/gmane.linux.ide/11598 Announce])&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.17.4-20060710.tar.bz2 Patch tarball against 2.6.17.4]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.17.14-tj/00-libata-tj-2.6.17.4-20060710.patch Patch against 2.6.17.14]&lt;br /&gt;
&lt;br /&gt;
* Confirmed to work on the following laptops, with bus the following ID &lt;br /&gt;
**ThinkPad {{T30}}&lt;br /&gt;
**ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
**ThinkPad {{R52}}&lt;br /&gt;
**ThinkPad {{T60}} ID=4&lt;br /&gt;
**ThinkPad {{T61}} ID=0&lt;br /&gt;
**ThinkPad {{Z61p}} ID=4 (0-3:ahci, 5-6: ata_piix)&lt;br /&gt;
ID will typically be 1 if you only have an IDE bus (0 is boot drive, 1 is ultrabay), and it'll be 4 if you have a SATA bus your system boots from (ID 0-3) and an IDE bus for your ultrabay (ID 4-5).&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note that even on a given laptop model the ID can vary depending on whether your kernel has drivers that configure your boot drive is using the old style IDE driver (which doesn't add IDs before your ultrabay), or whether your boot drive is using the new style driver (which  adds IDs before your ultrabay)&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hotplug just works with kernels newer than 2.6.18 ( or older kernels that were patched to support &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; hotplug (don't try it otherwise!))&amp;lt;BR&amp;gt;&lt;br /&gt;
First, it is recommended you find the right SCSI ID for your drive to hotswap and unregister it before removing it (this works with all recent mainline kernels):&lt;br /&gt;
 {{cmdroot|echo 1 &amp;gt; /sys/class/scsi_device/$ID:0:0:0/device/delete}} &lt;br /&gt;
 {{cmdroot|echo eject &amp;gt;  /proc/acpi/ibm/bay}}&lt;br /&gt;
The drive can now be ejected (without this, your IDE bus may complain if you just yank a drive, but you can usually recover by unloading/reloading the ata_piix module on a SATA laptop if your main drive is not on the ata_piix bus)&lt;br /&gt;
&lt;br /&gt;
You can then issue the following after inserting an UltraBay drive to rescan the port:&lt;br /&gt;
 {{cmdroot|echo 0 0 0 &amp;gt;  /sys/class/scsi_host/host$ID/scan}}&lt;br /&gt;
The inserted drive should now be recognized by the kernel, and appropriate {{path|/dev/*}} entries created automatically (e.g., by &amp;lt;tt&amp;gt;udev&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Ted T'so has also written this hotswap patch, which may or may not be needed for you, see [http://www.mail-archive.com/linux-acpi@vger.kernel.org/msg04716.html hotswap patch] and report back&lt;br /&gt;
&lt;br /&gt;
===Scripts for hotswapping===&lt;br /&gt;
&lt;br /&gt;
The following scripts and [[acpid]] daemon configuration files do the following:&lt;br /&gt;
* Automatically unmounts the relevant filesystems and power off the UltraBay when the UltraBay eject lever is released. Screams if some filesystem can't be unmounted.&lt;br /&gt;
* Rescans the UltraBay port when then UltraBay eject lever is pushed back in.&lt;br /&gt;
&lt;br /&gt;
They assumes you're using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver with an appropriate kernel (see above).&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_insert}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
sync&lt;br /&gt;
echo 0 0 0 &amp;gt; /sys/class/scsi_host/host1/scan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_eject}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
ULTRABAY_SYSDIR='/sys/class/scsi_device/1:0:0:0/device'&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
	for $major_minor (@ARGV) {&lt;br /&gt;
		$major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
		push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
	}&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
		next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
		next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
		system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
	}&lt;br /&gt;
	exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get the UltraBay's /dev/foo block device node&lt;br /&gt;
ultrabay_dev_node() {&lt;br /&gt;
	UDEV_PATH=&amp;quot;`readlink -e &amp;quot;$ULTRABAY_SYSDIR/block:&amp;quot;*`&amp;quot; || return 1&lt;br /&gt;
	UDEV_NAME=&amp;quot;`udevinfo -q name -p $UDEV_PATH`&amp;quot; || return 1&lt;br /&gt;
	echo /dev/$UDEV_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
	sync&lt;br /&gt;
	# Unmount filesystems backed by this device&lt;br /&gt;
	unmount_rdev `cat $ULTRABAY_SYSDIR/block\:*/dev     \&lt;br /&gt;
	                  $ULTRABAY_SYSDIR/block\:*/*/dev`  \&lt;br /&gt;
	|| {&lt;br /&gt;
		echo 10 &amp;gt; /proc/acpi/ibm/beep;  # error tone&lt;br /&gt;
		exit 1;&lt;br /&gt;
	}&lt;br /&gt;
        sync&lt;br /&gt;
        # Nicely power off the device&lt;br /&gt;
	DEVNODE=`ultrabay_dev_node` &amp;amp;&amp;amp; hdparm -Y $DEVNODE&lt;br /&gt;
        # Let HAL+KDE notice the unmount and let the disk spin down&lt;br /&gt;
	sleep 0.5&lt;br /&gt;
	# Unregister this SCSI device:&lt;br /&gt;
	sync&lt;br /&gt;
	echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
fi&lt;br /&gt;
sync&lt;br /&gt;
# Turn off power to the UltraBay:&lt;br /&gt;
if [ -d /sys/devices/platform/bay.0 ]; then&lt;br /&gt;
	echo 1 &amp;gt; /sys/devices/platform/bay.0/eject&lt;br /&gt;
elif [ -e /proc/acpi/ibm/bay ]; then&lt;br /&gt;
	echo eject &amp;gt; /proc/acpi/ibm/bay&lt;br /&gt;
fi&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/acpi/events/ultrabay-insert}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
event=ibm/bay MSTR 00000001 00000000&lt;br /&gt;
action=/usr/local/sbin/ultrabay_insert&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/acpi/events/ultrabay-eject}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
event=ibm/bay MSTR 00000003 00000000&lt;br /&gt;
action=/usr/local/sbin/ultrabay_eject&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart &amp;lt;tt&amp;gt;acpid&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===using the generic bay driver and udev===&lt;br /&gt;
&lt;br /&gt;
Starting from kernel 2.6.23-rc3, it's possible to use the generic &amp;lt;tt&amp;gt;bay&amp;lt;/tt&amp;gt; driver in combination with udev to hotswap. Please check if CONFIG_ACPI_BAY is enabled (module or built-in) in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/ibm-ultrabay.rules}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
ENV{BAY_EVENT}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_insert&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===using libata-acpi and udev===&lt;br /&gt;
&lt;br /&gt;
Starting from kernel 2.6.26-rc5, it's possible to use &amp;lt;tt&amp;gt;libata-acpi&amp;lt;/tt&amp;gt; in combination with udev to hotswap. Please check if CONFIG_ATA_ACPI is enabled in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
For 2.6.25, you need two patches which can be easily backported ([http://article.gmane.org/gmane.linux.acpi.devel/31159],[http://article.gmane.org/gmane.linux.acpi.devel/31369]).&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/ibm-ultrabay.rules}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;scsi&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Model-specific notes===&lt;br /&gt;
See the table above for a list of ata_piix supported laptops and the bus ID to use.&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
{{NOTE| Starting from HAL 0.5.11, you need to replace &amp;quot;storage.physical_device&amp;quot; with &amp;quot;info.parent&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
Many programs, KDE included, rely on [[HAL]] to get notifications and information about device hotplugging. You need to tell HAL that devices connected the UltraBay port are hotpluggable. To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;scsi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The string &amp;quot;8086_2653&amp;quot; may need to be changed to match your ThinkPad model; see below.&lt;br /&gt;
&lt;br /&gt;
====Details====&lt;br /&gt;
&lt;br /&gt;
By default, HAL doesn't know that UltraBay devices are hotpluggable:&lt;br /&gt;
&lt;br /&gt;
 # PHYSDEV=/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_0_scsi_device_lun0&lt;br /&gt;
 # UDI=`hal-find-by-property --key storage.physical_device --string $PHYSDEV` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key block.device&lt;br /&gt;
 /dev/sdb&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.hotpluggable&lt;br /&gt;
 false&lt;br /&gt;
&lt;br /&gt;
After creating {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as above and re-plugging the device, it will get marked correctly:&lt;br /&gt;
&lt;br /&gt;
 # PHYSDEV=/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_0_scsi_device_lun0&lt;br /&gt;
 # UDI=`hal-find-by-property --key storage.physical_device --string $PHYSDEV` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key block.device&lt;br /&gt;
 /dev/sdb&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.hotpluggable&lt;br /&gt;
 true&lt;br /&gt;
&lt;br /&gt;
The string &amp;quot;8086_2653&amp;quot; gives the PCI ID of the [[Intel 82801FBM]] southbridge. If your model has a different southbridge, or the UltraBay is attached to a different port, then you can find the appropriate &amp;lt;tt&amp;gt;storage.physical_device&amp;lt;/tt&amp;gt; value by finding out the block device of the currently running UltraBay device (&amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt; in the following example) and then running:&lt;br /&gt;
&lt;br /&gt;
 # DEVICE=/dev/sdb&lt;br /&gt;
 # UDI=`hal-find-by-property --key block.device --string $DEVICE` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.physical_device&lt;br /&gt;
 /org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_0_scsi_device_lun0&lt;br /&gt;
&lt;br /&gt;
If you have a different &amp;lt;tt&amp;gt;storage.physical_device&amp;lt;/tt&amp;gt; value, please report your findings.&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|+ Known South Bridge PCI IDs&lt;br /&gt;
! ID !! ThinkPad model !! South Bridge chip&lt;br /&gt;
|-&lt;br /&gt;
| 8086_248a || 2366-83U (T30) || Intel 82801CAM IDE U100 (rev 2)&lt;br /&gt;
|-&lt;br /&gt;
| 8086_2653 || 2525FAG (X41, T43) || Intel 82801FBM (ICH6-M)&lt;br /&gt;
|-&lt;br /&gt;
| 8086_24ca || 237358U (T40), 2373KXU (T42p) || Intel 82801DBM (ICH4-M)&lt;br /&gt;
|-&lt;br /&gt;
| 8086_27c4 || X60           || Intel 82801GBM (ICH7 Family)&lt;br /&gt;
|-&lt;br /&gt;
| 8086_27df || Z61p, T60, T60p || Intel 82801GBM/GHM (ICH7 Family)&lt;br /&gt;
|-&lt;br /&gt;
| 8086_2850 || T61p || Intel 82801H (ICH8 Family)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies if you use the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver for the UltraBay device.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note that essentially, you shouldn't be using this driver, and use ata_piix instead unless you're running an older kernel where ata_piix won't work for you&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hotswapping is supposed to be supported as well, using either hdparm/[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] or [[lt_hotswap]] to (un)register IDE devices. The latter is the recommended method with kernels from 2.6, since it will leave DMA working. However, for recent models (R52, T43, X41, Z60 and later) no method is known to work while maintaining DMA support; see [[Problems with SATA and Linux]].&lt;br /&gt;
&lt;br /&gt;
Only IDE devices (HDD's, optical drives, zip drives) require special treatment - batteries, floppies and other devices can just be pulled from the bay, provided they are not mounted or in use at the time. However, you should still power them down first using the [[ibm-acpi]] eject function.&lt;br /&gt;
&lt;br /&gt;
The [[ibm-acpi]] kernel module has an eject function ({{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}). This only manages the ACPI calls to power down the device and the bay. It does not actually unregister the device from the IDE driver. {{cmdroot|cat /proc/acpi/ibm/bay}} shows &amp;quot;unoccupied&amp;quot; unless an IDE device is present, but the eject function still works and should still be used.&lt;br /&gt;
&lt;br /&gt;
To unregister the device, you can either use the [http://packages.debian.org/unstable/admin/hotswap Debian hotswap] package, or [[lt_hotswap]]. Note that lt_hotswap doesn't seem to even build on recent (at 2.6.22 or newer, although it probably broke before 2.6.22) and on newer kernels, you should not build/load the old IDE PIIX (CONFIG_BLK_DEV_PIIX) and use the natively hotswapping ata_piix (CONFIG_ATA_PIIX) as explained on the top of this page.&lt;br /&gt;
&lt;br /&gt;
[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] also allows the drive to be swapped as a normal user by default, which is useful. You should use &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; to unregister the device and then {{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}. However, if you use this method on a 2.6 kernel, you will lose DMA support for the reinserted drive. This is due to kernel issues. This method was reported to work on a ThinkPad {{T23}} (kernels 2.6.8.1, 2.6.14.2 and 2.6.15-arch) and {{T42}} (kernel 2.6.13), but fails on a ThinkPad {{T43}} (kernel 2.6.14.3).&lt;br /&gt;
&lt;br /&gt;
[[lt_hotswap]] is now the recommended method to un- and reregister the IDE device. It installs as a kernel module and has support for automatically unregistering (if loaded with the auto_eject=1 option) the device when the eject event is generated by [[ibm-acpi]]. It will leave DMA support intact. It has supported to work on a ThinkPad {{T22}} and {{T40}} and should work with many other models (but not recent models which require the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver for disk DMA support). With the [[lt_hotswap]] kernel module loaded, run: {{cmdroot|modprobe -r ide_cd &amp;amp;&amp;amp; modprobe -r cdrom &amp;amp;&amp;amp; echo &amp;quot;MSTR eject&amp;quot; &amp;gt; /proc/acpi/lths}}&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
HAL support also can also be configured To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;ide&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_ide_1_0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more details see HAL section for ata driver.&lt;br /&gt;
&lt;br /&gt;
==Other comments==&lt;br /&gt;
&lt;br /&gt;
If you are hot-swapping a hard disk on a disk tray, make sure the disk does not have a password set, otherwise it will not be recognized on reinsertion.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:HOWTOs]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=36452</id>
		<title>HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=36452"/>
		<updated>2008-02-14T06:56:44Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* Kernel patch */ 2.6.24 fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
=== HDAPS - IBM Active Protection System Linux Driver ===&lt;br /&gt;
This is the Linux driver for monitoring the accelerometer known as [[Active Protection System|IBM Active Protection System]].&lt;br /&gt;
&lt;br /&gt;
The driver only enables reading of the acceleration data. It does '''not''' perform [[#Harddisk Protection|automatic disk head parking]]. But there are already some other useful [[#Applications|applications]] for HDAPS, using the {{path|/sys}} interface it provides.&lt;br /&gt;
&lt;br /&gt;
{{WARN|There are two versions of the hdaps driver, one in the Linux kernel mainline, and another provided by [[tp_smapi]].  '''Use of the tp_smapi version of hdaps is strongly recommended by the current hdaps developers.'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*provides accelerometer values via sysfs&lt;br /&gt;
*provides a joystick type input device&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
*[http://hdaps.sourceforge.net/ Project Homepage]&lt;br /&gt;
*The driver is included in the 2.6-mm series of kernels since August, 26th 2005.&lt;br /&gt;
*The driver is now in the mainline (2.6.14).&lt;br /&gt;
*The [[tp_smapi]] package contains some patches to this driver. These are necessary for some recent models, and recommended for all.&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
A driver is included in recent Linux kernels and is actively maintained, but it is very inferior to the driver in tp_smapi (which provides its own hdaps module).&lt;br /&gt;
&lt;br /&gt;
=== How to install the driver ===&lt;br /&gt;
Recent Linux kernels include the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver. However, the driver in the mainline Linux kernel has two problems with recent models:&lt;br /&gt;
* It doesn't whitelist them (you have to edit hdaps_init() in drivers/hwmon/hdaps.c to include a line like &amp;lt;tt&amp;gt;HDAPS_DMI_MATCH_LENOVO(&amp;quot;ThinkPad T60&amp;quot;)&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* It doesn't work reliably, e.g., it may read out constant values (0,0). See [http://sourceforge.net/mailarchive/message.php?msg_id=15350314 here].&lt;br /&gt;
&lt;br /&gt;
To solve both problems, install the modified hdaps that is bundled with [[tp_smapi]].&lt;br /&gt;
&lt;br /&gt;
=== Harddisk Protection ===&lt;br /&gt;
As mentioned above, the hdaps kernel driver is only responsible for reading the accelerometer data and exporting it through the sysfs interface. In order to use this information to protect the disk, some additional steps are required.&lt;br /&gt;
&lt;br /&gt;
See [[How to protect the harddisk through APS]].&lt;br /&gt;
&lt;br /&gt;
=== Input device support ===&lt;br /&gt;
The hdaps driver in the lastest kernels (2.6.14 and later?) also exports a joystick type input device, which can be used by games.&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
====Disk head parking====&lt;br /&gt;
You will need the kernel patch and userspace daemon. The GUI monitoring is optional.&lt;br /&gt;
&lt;br /&gt;
See [[How to protect the harddisk through APS]] for more information.&lt;br /&gt;
&lt;br /&gt;
===== Kernel patch =====&lt;br /&gt;
Apply these using 'patch -p1 -l &amp;lt; hdaps_xx.patch'.&lt;br /&gt;
* New interface&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1094 disk-protect patch for kernel 2.6.24-rc3] &amp;amp;mdash; may cause system locks (see [http://marc.info/?l=linux-thinkpad&amp;amp;m=120259594519907 here], [http://marc.info/?l=linux-thinkpad&amp;amp;m=120259929023300 here] and try [http://sourceforge.net/mailarchive/attachment.php?list_name=hdaps-devel&amp;amp;message_id=87bq6l2ihm.fsf@denkblock.local&amp;amp;counter=1 this fix])&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1092 disk-protect patch for 2.6.23.8] + [http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1113 error check fix]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1077 disk-protect patch for 2.6.22.9 and 2.6.23-rc9]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/993 disk-protect patch for 2.6.20-rc6]&lt;br /&gt;
* Old interface&lt;br /&gt;
**[http://www.nabble.com/attachment/9047418/0/hdaps_protect-2.6.20.patch.bz2 Latest sata/ide disk protection patch for 2.6.20]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.kernel/470413 Latest sata/ide disk protection patch for 2.6.19-rc6]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect-2.6.18.3-2.patch Latest sata/ide disk protection patch for 2.6.18.3]&lt;br /&gt;
**[http://exitzero.de/t41p-configs/hdaps_protect-2.6.17.1-20060625.patch Untested patch for 2.6.17.1]: see [http://thread.gmane.org/gmane.linux.drivers.hdaps.devel/708/focus=708]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.17.14-tj/03-hdaps_protect-20060430-for-2.6.17-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.17.4 patches] - See [[How_to_hotswap_UltraBay_devices]]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.16-tj/05-hdaps_protect-20060430-for-2.6.16-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.16.16 patches] - See [[How_to_hotswap_UltraBay_devices]]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060430.patch Latest sata/ide disk protection patch for 2.6.16]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060118.patch sata/ide disk protection patch for 2.6.15]&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.15.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.15 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.14.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.14 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://lwn.net/Articles/154923/ disk park patch] &amp;lt;tt&amp;gt;an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Userspace daemon =====&lt;br /&gt;
*[http://www.dresco.co.uk/hdaps/hdapsd-20070524.c Recommended version]&lt;br /&gt;
*[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1045 Reduced power version] - reduces timer interrupts, as measured by [[PowerTOP]]. This leads to lower power consumption on [[tickless kernel|tickless kernels]]. Interrupt reduction requires the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; kernel module from [[tp_smapi]] 0.32 or newer, and a [http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1040 udev rule].&lt;br /&gt;
*[ftp://rohrmoser-engineering.de/pub Modified adaptive algorithm version] - uses a different (and potentially better) algorithm for the adaptive sensivity threshold.&lt;br /&gt;
&lt;br /&gt;
===== GUI monitoring =====&lt;br /&gt;
*[http://roy.marples.name/node/269 khdapmonitor] KDE System Tray Monitor&lt;br /&gt;
*[http://www.dresco.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz gnome-hdaps-applet] visual display of disk protection status in gnome panel&lt;br /&gt;
&lt;br /&gt;
====Security &amp;amp; safety====&lt;br /&gt;
*[[Script for theft alarm using HDAPS]]&lt;br /&gt;
&lt;br /&gt;
====Tilt monitoring====&lt;br /&gt;
*[http://www.mulliner.org/collin/gkibm-acpi.php gkhdaps] &amp;lt;tt&amp;gt;a GKrellM applet displaying tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://rlove.org/log/2005082203.html gnome-tilt] &amp;lt;tt&amp;gt;a gnome applet showing tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Visualisation of ThinkPad orientation====&lt;br /&gt;
*[http://rlove.org/log/2005082401.html hdaps-gl] &amp;lt;tt&amp;gt;a little app animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdapsgl-applet] &amp;lt;tt&amp;gt; a GNOME applet animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 wmadhps] &amp;lt;tt&amp;gt;a WindowMaker DockApp animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.cs.cmu.edu/~ecc/gyro.tar.gz OpenGL gyroscope hack] &amp;lt;tt&amp;gt;keeps your display levelled when tilting the ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Games====&lt;br /&gt;
*[http://icculus.org/neverball/ Neverball] is quite fun with HDAPS. (You'll need to have the HDAPS joystick device)&lt;br /&gt;
*Turn your ThinkPad into a Jedi Weapon (hey, it [http://isnoop.net/blog/2006/05/20/macsaber-turn-your-mac-into-a-jedi-weapon works for Mac laptops])&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
&lt;br /&gt;
*[http://blog.micampe.it/articles/2006/06/04/here-comes-the-smackpad smack.py] - switch workspace by smacking your laptop, inspired by the [http://blog.medallia.com/2006/05/smacbook_pro.html SmackBook] (uses EWMH)&lt;br /&gt;
**an [http://weblogs.mozillazine.org/gerv/archives/2006/09/stablilised_smackpad.html improved version] adds stabilization (by comparing smacks to previous ones, uses EWMH)&lt;br /&gt;
**another [http://pberndt.com/Programme/Linux/pyhdaps/index.html approach] adds stabilization (by requiring a certain type of value deflection, uses xmacroplay)&lt;br /&gt;
**[http://www.gnome.org/~fherrera/gtollina.c GTollina] is another smack program for use with compiz (video [http://www.gnome.org/~fherrera/blog/gtollina.html here]).&lt;br /&gt;
*[http://blog.odonnell.nu/61.html xmms-smack.py] - move through your xmms playlist by smacking, based on the two smack scripts above.&lt;br /&gt;
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw02aKnockBasedCommands KnockBasedCommands] - Execute commands by tapping your laptop.&lt;br /&gt;
*[http://people.ksp.sk/~mic/?menu=32&amp;amp;file=rotate.py rotate.py] - rotate desktop by turning your laptop&lt;br /&gt;
&lt;br /&gt;
=== Interesting links related to this project ===&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/hdaps-devel HDAPS mailinglist and its archive]&lt;br /&gt;
* #hdaps channel on irc.freenode.org&lt;br /&gt;
* [https://sourceforge.net/projects/hdaps/ hdaps projects] overview of userspace programs using hdaps&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM IBM ThinkPads hardware drive firmware site]&lt;br /&gt;
* [http://www.paul.sladen.org/thinkpad-r31/accelerometer.html http://www.paul.sladen.org/thinkpad-r31/accelerometer/]&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps&lt;br /&gt;
* [http://lenovoblogs.com/insidethebox/?p=71 Why the ThinkPad accelerometer is only 2D] - explanation by Lenovo&lt;br /&gt;
&lt;br /&gt;
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Drivers]] [[Category:Z61m]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=31144</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=31144"/>
		<updated>2007-07-11T13:59:28Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* Automated control scripts */ ibm_acpi to thinkpad_acpi rename&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses methods for controlling the system fan.&lt;br /&gt;
&lt;br /&gt;
==For Linux==&lt;br /&gt;
===Using a patched kernel===&lt;br /&gt;
{{WARN|This patch is superceded by the patches in [[ibm-acpi]] [[Git]] repository or [http://ibm-acpi.sourceforge.net ibm-acpi.sf.net] releases}}&lt;br /&gt;
{{NOTE|Advanced fan control through ibm-acpi has been merged in Linux 2.6.20-rc2 mainline, so users of 2.6.20 won't need to patch their kernels to get the '''fan level''' functionality anymore}}&lt;br /&gt;
&lt;br /&gt;
The [[Patch for controlling fan speed]] provides a convenient interface via {{path|/proc/acpi/ibm/fan}}.&lt;br /&gt;
&lt;br /&gt;
Manual speed control can be done through the [[patch for controlling fan speed]]:&lt;br /&gt;
&lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 level:          auto&lt;br /&gt;
 speed:          4219&lt;br /&gt;
 commands:       enable, disable, level &amp;lt;level&amp;gt;&lt;br /&gt;
                 (&amp;lt;level&amp;gt; is 0-7, auto or disengaged)&lt;br /&gt;
 &lt;br /&gt;
 '''#echo level 2 &amp;gt; /proc/acpi/ibm/fan'''&lt;br /&gt;
 &lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 level:          2&lt;br /&gt;
 speed:          3142&lt;br /&gt;
 commands:       enable, disable, level &amp;lt;level&amp;gt;&lt;br /&gt;
                 (&amp;lt;level&amp;gt; is 0-7, auto or disengaged)&lt;br /&gt;
&lt;br /&gt;
===Using a stock kernel===&lt;br /&gt;
&lt;br /&gt;
If you have the [[ibm-acpi]] module loaded with &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt;, you can control the fan without patching the kernel by directly writing to the relevant embedded controller register using {{path|/proc/acpi/ibm/ecdump}}. &lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x00 &amp;gt; /proc/acpi/ibm/ecdump}} (fan off)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x02 &amp;gt; /proc/acpi/ibm/ecdump}} (low speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x04 &amp;gt; /proc/acpi/ibm/ecdump}} (medium speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x07 &amp;gt; /proc/acpi/ibm/ecdump}} (maximum speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x80 &amp;gt; /proc/acpi/ibm/ecdump}} (automatic - default)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x40 &amp;gt; /proc/acpi/ibm/ecdump}} (disengaged)&lt;br /&gt;
&lt;br /&gt;
See the specifications below for the meaning of these modes.&lt;br /&gt;
&lt;br /&gt;
===On/off control using stock kernel===&lt;br /&gt;
&lt;br /&gt;
If you only wish to turn the fan on and off (with automatic control when it's on), you can use the following.&lt;br /&gt;
&lt;br /&gt;
When loading [[ibm-acpi]] v0.11 with experimental switch ({{cmdroot|1=modprobe ibm_acpi experimental=1}}), it is possible to read and write the status of fan:&lt;br /&gt;
&lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 speed:          3580&lt;br /&gt;
 commands:       enable, disable&lt;br /&gt;
 &lt;br /&gt;
 '''#echo disable &amp;gt; /proc/acpi/ibm/fan'''&lt;br /&gt;
 &lt;br /&gt;
 '''cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         disabled&lt;br /&gt;
 speed:          0&lt;br /&gt;
 commands:       enable, disable&lt;br /&gt;
&lt;br /&gt;
When off, the fan will then '''never''' wake up. It is advised to use an automated control script to reduce the chance of hardware damage.&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 the [[ACPI fan control script#Variable speed control scripts|script]] as {{path|tp-fancontrol}} and run; note that this script requires you to modprobe the thinkpad_acpi module as &amp;quot;modprobe thinkpad_acpi fan_control=1&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
{{cmdroot|./tp-fancontrol}}&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 [[ibm-acpi]] [[Git]] version.}}&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;
=== 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;
=== 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}} (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}} (disengaged mode works at ~5100)&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}}&lt;br /&gt;
* ThinkPad {{T22}}&lt;br /&gt;
* ThinkPad {{T23}} (low speed = ~2200, medium and maximum speed = ~4800; disengaged mode works at ~5800)&lt;br /&gt;
* ThinkPad {{T30}}&lt;br /&gt;
* ThinkPad {{T40}} (fan levels RPM: 1-2 = ~2950, 3-5 = ~3600, 6-7 = ~4050)&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 {{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 {{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}}&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;
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 [[ibm-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>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Fan_control_scripts&amp;diff=31143</id>
		<title>Fan control scripts</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Fan_control_scripts&amp;diff=31143"/>
		<updated>2007-07-11T13:58:22Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* Comprehensive &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed */  Linux 2.6.22 needs fan_control=1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page provides several scripts for controlling the ThinkPad's system fan according the its [[thermal sensors]] (overriding the embedded controller), in order to reduce [[problem with fan noise|fan noise]] and decrease [[how to reduce power consumption|power consumption]].&lt;br /&gt;
&lt;br /&gt;
{{WARN|These scripts rely on undocumented hardware features and override nominal hardware behavior. They may thus cause arbitrary damage to your laptop or data. Watch your temperatures!}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Variable speed control scripts==&lt;br /&gt;
The following scripts sets the fan speed according to the system's [[thermal sensors]]. In addition, they include a hack for preventing the annoying fan pulsing that occurs on some systems. Note that the fan levels, thresholds and anti-pulsing hacks are system-specific, so you may need to adjust them.&lt;br /&gt;
&lt;br /&gt;
===Comprehensive &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed===&lt;br /&gt;
This script works with any recent Linux kernel (2.6.14 and higher). It requires the [[ibm-acpi]] module to be loaded with the &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt; module parameter (e.g., {{cmdroot|1=modprobe ibm_acpi experimental=1}}).&lt;br /&gt;
&lt;br /&gt;
In Linux 2.6.22 and higher you need to pass fan_control=1 to the module thinkpad_acpi (e.g., {{cmdroot|1=modprobe thinkpad_acpi fan_control=1}})&lt;br /&gt;
&lt;br /&gt;
The code lets you define a temperature range for each [[thermal sensors|thermal sensor]]. The script computes the fan level needed by each sensor based on the configured range, and then sets the the actual fan level to the slowest that will satisfy all sensors (plus some hysteresis to avoid fluctiations). It also includes a workaround for the [[Problem with fan noise|pulsing noise]] problem. The scipt provides an (optional) daemon mode and logging to syslog. The method of controlling fan speed is documented [[How to control fan speed|here]]. &lt;br /&gt;
&lt;br /&gt;
The system hard disk temperature is monitored as well, using the hard disk's internal sensor. This works only on certain Hitachi disks and requires kernel &amp;gt;= 2.6.19-rc1 or the ide driver, since it uses a [[Thermal Sensors#Hitachi_harddisks_SENSE_CONDITION_temperature_sensor|non-standard method]] for reading the temperature without causing a head unload or spinup.&lt;br /&gt;
&lt;br /&gt;
The code:&lt;br /&gt;
* {{CodeRef|tp-fancontrol}}&lt;br /&gt;
&lt;br /&gt;
Current options:&lt;br /&gt;
&lt;br /&gt;
 Usage: ./tp-fancontrol [OPTION]...&lt;br /&gt;
 &lt;br /&gt;
 Available options:&lt;br /&gt;
   -s N   Shift up the min temperature thresholds by N degrees&lt;br /&gt;
          (positive for quieter, negative for cooler).&lt;br /&gt;
          Max temperature thresholds are not affected.&lt;br /&gt;
   -S N   Shift up the max temperature thresholds by N degrees&lt;br /&gt;
          (positive for quieter, negative for cooler). DANGEROUS.&lt;br /&gt;
   -t     Test mode&lt;br /&gt;
   -q     Quiet mode&lt;br /&gt;
   -d     Daemon mode, go into background (implies -q)&lt;br /&gt;
   -l     Log to syslog&lt;br /&gt;
   -k     Kill already-running daemon&lt;br /&gt;
   -u     Tell already-running daemon that the system is being suspended&lt;br /&gt;
   -p     Pid file location for daemon mode&lt;br /&gt;
{{WARN|The list of temperature ranges used in this script is much more liberal than the rules used by the embedded controller firmware, and is derived mostly from anecdotal evidence, hunches and wishful thinking. It is also model-specific - see [[thermal sensors]].}}&lt;br /&gt;
&lt;br /&gt;
====init script for the comprehensive script====&lt;br /&gt;
&lt;br /&gt;
This is optional. It assumes that the above &amp;lt;tt&amp;gt;tp-fancontrol&amp;lt;/tt&amp;gt; script is saved at {{path|/usr/bin/tp-fancontrol}}.&lt;br /&gt;
* Init script: {{CodeRef|tp-fancontrol.init}} (save as {{path|/etc/init.d/tp-fancontrol}})&lt;br /&gt;
* Init script (Debian): {{CodeRef|tp-fancontrol.init.debian}} (save as {{path|/etc/init.d/tp-fancontrol}})&lt;br /&gt;
* Configuration file for init script: {{CodeRef|tp-fancontrol.conf}} (save as {{path|/etc/tp-fancontrol.conf}})&lt;br /&gt;
&lt;br /&gt;
===Simple &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed (requires kernel patch)===&lt;br /&gt;
The following is a simpler patch (without extra features like daemon mode and logging). It requires the [[patch for controlling fan speed]] or a recent kernel (&amp;gt;=2.6.19).&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-fancontrol-basic}}&lt;br /&gt;
&lt;br /&gt;
==Fan enable/disable scripts==&lt;br /&gt;
The following scripts were written before it was known [[patch for controlling fan speed|how to control the fan speed]], so they only toggle between fan disabled and default (noisy) fan behavior. In some models, they also do not monitor all available [[thermal sensors]].&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;sh&amp;lt;/tt&amp;gt; script example===&lt;br /&gt;
{{CodeRef|fan-enable-basic}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;sh&amp;lt;/tt&amp;gt; script with more features===&lt;br /&gt;
{{CodeRef|fan-enable-extended}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;sh&amp;lt;/tt&amp;gt; script with extra safety functionality===&lt;br /&gt;
ibm_acpi usually works well. But to rely on it completely, this script provides some extra safety functionality:&lt;br /&gt;
# It catches various signals and turns the fan on before it quits.&lt;br /&gt;
# It turns off the fan under very strict conditions, leaving it on when unexpected errors occur.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|fan-enable-safe}}&lt;br /&gt;
&lt;br /&gt;
==Init scripts==&lt;br /&gt;
&lt;br /&gt;
===Init script example===&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|fan-enable.init}}&lt;br /&gt;
&lt;br /&gt;
===Init script example for gentoo===&lt;br /&gt;
Assume one of the above control scripts is {{path|/usr/sbin/ibm-fancontrold}}, for gentoo use the following init script in /etc/init.d/ibm-fancontrol.&lt;br /&gt;
Copy the script to {{path|/etc/init.d/ibm-fancontrol}}, then do &lt;br /&gt;
&lt;br /&gt;
 # rc-update add ibm-fancontrol default&lt;br /&gt;
&lt;br /&gt;
This will add the init script to the default runlevel.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|ibm-fancontrol.init}}&lt;br /&gt;
&lt;br /&gt;
===Init script example for rh/fedora===&lt;br /&gt;
Assume one of the above control scripts is {{path|/sbin/tp-fancontrold}},&lt;br /&gt;
copy the script to {{path|/etc/init.d/tp-fancontrol}}, then do &lt;br /&gt;
&lt;br /&gt;
 # chkconfig --add tp-fancontrol&lt;br /&gt;
&lt;br /&gt;
This will add the init script to the default runlevel.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-fancontrol-fc.init}}&lt;br /&gt;
&lt;br /&gt;
You'd have to install also &amp;quot;kernel-module-ibm-acpi&amp;quot; package.&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
&lt;br /&gt;
===fanctrld===&lt;br /&gt;
[http://log.does-not-exist.org/archives/2005/08/13/2043_t_43_fan_control_daemon.html fanctrld] is a daemon (written in C) that controls the Thinkpad's fan. The basic approach is to monitor both temperature and fan speed. The fan is enabled when a certain temperature is exceeded, and disabled when the BIOS slows down the fan below a certain speed.&lt;br /&gt;
&lt;br /&gt;
==Ideas for improvement==&lt;br /&gt;
* Use the [[HDAPS]] sensor to automatically lower the temperature thresholds when the laptop is moving. Prolonged movement usually happens when the laptop is on the user's lap (see [[Problem with hot surfaces]] for implications), or when in a moving vehicle where fan noise is typically overshadowed by vehicle noise.&lt;br /&gt;
* Use a [http://en.wikipedia.org/wiki/PID_controller PID controller] feedback loop instead of simple thresholds.&lt;br /&gt;
* Monitor the UltraBay disk temperature too.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[How to control fan speed]]&lt;br /&gt;
* Shimodax's ThinkPad fan control tool for a Windows offers functionality similar to these scripts; see the [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com.&lt;br /&gt;
* Yury Polyanskiy has a [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030697.html kernel patch] for automatic fan control in kernelspace (only enable/disable based on maximum temperature).&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Fan_control_scripts&amp;diff=31142</id>
		<title>Fan control scripts</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Fan_control_scripts&amp;diff=31142"/>
		<updated>2007-07-11T13:54:39Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* Simple &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed (requires kernel patch)  no patch needed for recent kernels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page provides several scripts for controlling the ThinkPad's system fan according the its [[thermal sensors]] (overriding the embedded controller), in order to reduce [[problem with fan noise|fan noise]] and decrease [[how to reduce power consumption|power consumption]].&lt;br /&gt;
&lt;br /&gt;
{{WARN|These scripts rely on undocumented hardware features and override nominal hardware behavior. They may thus cause arbitrary damage to your laptop or data. Watch your temperatures!}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Variable speed control scripts==&lt;br /&gt;
The following scripts sets the fan speed according to the system's [[thermal sensors]]. In addition, they include a hack for preventing the annoying fan pulsing that occurs on some systems. Note that the fan levels, thresholds and anti-pulsing hacks are system-specific, so you may need to adjust them.&lt;br /&gt;
&lt;br /&gt;
===Comprehensive &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed===&lt;br /&gt;
This script works with any recent Linux kernel (2.6.14 and higher). It requires the [[ibm-acpi]] module to be loaded with the &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt; module parameter (e.g., {{cmdroot|1=modprobe ibm_acpi experimental=1}}). &lt;br /&gt;
&lt;br /&gt;
The code lets you define a temperature range for each [[thermal sensors|thermal sensor]]. The script computes the fan level needed by each sensor based on the configured range, and then sets the the actual fan level to the slowest that will satisfy all sensors (plus some hysteresis to avoid fluctiations). It also includes a workaround for the [[Problem with fan noise|pulsing noise]] problem. The scipt provides an (optional) daemon mode and logging to syslog. The method of controlling fan speed is documented [[How to control fan speed|here]]. &lt;br /&gt;
&lt;br /&gt;
The system hard disk temperature is monitored as well, using the hard disk's internal sensor. This works only on certain Hitachi disks and requires kernel &amp;gt;= 2.6.19-rc1 or the ide driver, since it uses a [[Thermal Sensors#Hitachi_harddisks_SENSE_CONDITION_temperature_sensor|non-standard method]] for reading the temperature without causing a head unload or spinup.&lt;br /&gt;
&lt;br /&gt;
The code:&lt;br /&gt;
* {{CodeRef|tp-fancontrol}}&lt;br /&gt;
&lt;br /&gt;
Current options:&lt;br /&gt;
&lt;br /&gt;
 Usage: ./tp-fancontrol [OPTION]...&lt;br /&gt;
 &lt;br /&gt;
 Available options:&lt;br /&gt;
   -s N   Shift up the min temperature thresholds by N degrees&lt;br /&gt;
          (positive for quieter, negative for cooler).&lt;br /&gt;
          Max temperature thresholds are not affected.&lt;br /&gt;
   -S N   Shift up the max temperature thresholds by N degrees&lt;br /&gt;
          (positive for quieter, negative for cooler). DANGEROUS.&lt;br /&gt;
   -t     Test mode&lt;br /&gt;
   -q     Quiet mode&lt;br /&gt;
   -d     Daemon mode, go into background (implies -q)&lt;br /&gt;
   -l     Log to syslog&lt;br /&gt;
   -k     Kill already-running daemon&lt;br /&gt;
   -u     Tell already-running daemon that the system is being suspended&lt;br /&gt;
   -p     Pid file location for daemon mode&lt;br /&gt;
{{WARN|The list of temperature ranges used in this script is much more liberal than the rules used by the embedded controller firmware, and is derived mostly from anecdotal evidence, hunches and wishful thinking. It is also model-specific - see [[thermal sensors]].}}&lt;br /&gt;
&lt;br /&gt;
====init script for the comprehensive script====&lt;br /&gt;
&lt;br /&gt;
This is optional. It assumes that the above &amp;lt;tt&amp;gt;tp-fancontrol&amp;lt;/tt&amp;gt; script is saved at {{path|/usr/bin/tp-fancontrol}}.&lt;br /&gt;
* Init script: {{CodeRef|tp-fancontrol.init}} (save as {{path|/etc/init.d/tp-fancontrol}})&lt;br /&gt;
* Init script (Debian): {{CodeRef|tp-fancontrol.init.debian}} (save as {{path|/etc/init.d/tp-fancontrol}})&lt;br /&gt;
* Configuration file for init script: {{CodeRef|tp-fancontrol.conf}} (save as {{path|/etc/tp-fancontrol.conf}})&lt;br /&gt;
&lt;br /&gt;
===Simple &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed (requires kernel patch)===&lt;br /&gt;
The following is a simpler patch (without extra features like daemon mode and logging). It requires the [[patch for controlling fan speed]] or a recent kernel (&amp;gt;=2.6.19).&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-fancontrol-basic}}&lt;br /&gt;
&lt;br /&gt;
==Fan enable/disable scripts==&lt;br /&gt;
The following scripts were written before it was known [[patch for controlling fan speed|how to control the fan speed]], so they only toggle between fan disabled and default (noisy) fan behavior. In some models, they also do not monitor all available [[thermal sensors]].&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;sh&amp;lt;/tt&amp;gt; script example===&lt;br /&gt;
{{CodeRef|fan-enable-basic}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;sh&amp;lt;/tt&amp;gt; script with more features===&lt;br /&gt;
{{CodeRef|fan-enable-extended}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;sh&amp;lt;/tt&amp;gt; script with extra safety functionality===&lt;br /&gt;
ibm_acpi usually works well. But to rely on it completely, this script provides some extra safety functionality:&lt;br /&gt;
# It catches various signals and turns the fan on before it quits.&lt;br /&gt;
# It turns off the fan under very strict conditions, leaving it on when unexpected errors occur.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|fan-enable-safe}}&lt;br /&gt;
&lt;br /&gt;
==Init scripts==&lt;br /&gt;
&lt;br /&gt;
===Init script example===&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|fan-enable.init}}&lt;br /&gt;
&lt;br /&gt;
===Init script example for gentoo===&lt;br /&gt;
Assume one of the above control scripts is {{path|/usr/sbin/ibm-fancontrold}}, for gentoo use the following init script in /etc/init.d/ibm-fancontrol.&lt;br /&gt;
Copy the script to {{path|/etc/init.d/ibm-fancontrol}}, then do &lt;br /&gt;
&lt;br /&gt;
 # rc-update add ibm-fancontrol default&lt;br /&gt;
&lt;br /&gt;
This will add the init script to the default runlevel.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|ibm-fancontrol.init}}&lt;br /&gt;
&lt;br /&gt;
===Init script example for rh/fedora===&lt;br /&gt;
Assume one of the above control scripts is {{path|/sbin/tp-fancontrold}},&lt;br /&gt;
copy the script to {{path|/etc/init.d/tp-fancontrol}}, then do &lt;br /&gt;
&lt;br /&gt;
 # chkconfig --add tp-fancontrol&lt;br /&gt;
&lt;br /&gt;
This will add the init script to the default runlevel.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-fancontrol-fc.init}}&lt;br /&gt;
&lt;br /&gt;
You'd have to install also &amp;quot;kernel-module-ibm-acpi&amp;quot; package.&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
&lt;br /&gt;
===fanctrld===&lt;br /&gt;
[http://log.does-not-exist.org/archives/2005/08/13/2043_t_43_fan_control_daemon.html fanctrld] is a daemon (written in C) that controls the Thinkpad's fan. The basic approach is to monitor both temperature and fan speed. The fan is enabled when a certain temperature is exceeded, and disabled when the BIOS slows down the fan below a certain speed.&lt;br /&gt;
&lt;br /&gt;
==Ideas for improvement==&lt;br /&gt;
* Use the [[HDAPS]] sensor to automatically lower the temperature thresholds when the laptop is moving. Prolonged movement usually happens when the laptop is on the user's lap (see [[Problem with hot surfaces]] for implications), or when in a moving vehicle where fan noise is typically overshadowed by vehicle noise.&lt;br /&gt;
* Use a [http://en.wikipedia.org/wiki/PID_controller PID controller] feedback loop instead of simple thresholds.&lt;br /&gt;
* Monitor the UltraBay disk temperature too.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[How to control fan speed]]&lt;br /&gt;
* Shimodax's ThinkPad fan control tool for a Windows offers functionality similar to these scripts; see the [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com.&lt;br /&gt;
* Yury Polyanskiy has a [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030697.html kernel patch] for automatic fan control in kernelspace (only enable/disable based on maximum temperature).&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Idle_consumptions&amp;diff=29529</id>
		<title>Talk:Idle consumptions</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Idle_consumptions&amp;diff=29529"/>
		<updated>2007-04-28T11:02:33Z</updated>

		<summary type="html">&lt;p&gt;Defiant: How to measure?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How did you measure? - I just checked the value after 2 minutes in idle.&lt;br /&gt;
Any better ideas? Maybe a script with min/avg/max values over a time period?&lt;br /&gt;
&lt;br /&gt;
[[User:Defiant|Defiant]] 13:02, 28 April 2007 (CEST)&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Idle_consumptions&amp;diff=29528</id>
		<title>Idle consumptions</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Idle_consumptions&amp;diff=29528"/>
		<updated>2007-04-28T10:57:18Z</updated>

		<summary type="html">&lt;p&gt;Defiant: T43-1871&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page reports the minimal consumptions of Thinkpads when idle. This means, in principle: minimum brightness, CPU and GPU at lowest speed, no wifi, hard drive spun down, no pcmcia cards inserted (see details of each entry).&lt;br /&gt;
&lt;br /&gt;
This kind of information has several uses: comparing one's consumption with other that of other people's setups, knowing which model to use as a gateway/file server, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Model !! OS !! Remarks !! consumption &lt;br /&gt;
|----&lt;br /&gt;
|{{600E}} PIII/450 || Archlinux 0.8/xfce ||  || 8W&lt;br /&gt;
|----&lt;br /&gt;
|{{T41p}}||Ubuntu 7.04|| Undervolted, fglrx, no dri || 8.3W&lt;br /&gt;
|----&lt;br /&gt;
|{{T43}} (1871)||Debian (Linux 2.6.21, fluxbox)|| DRI, alsa (power_save=1), with usb, no networking || 10.1W (12.0W with HD)&lt;br /&gt;
|----&lt;br /&gt;
|{{T43}} (2669)||Gentoo (2.6.20-gentoo-r5)|| Undervolted, fglrx (powerstate=1), DRI, no alsa, no usb modules, no networking || 12.7W&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=29504</id>
		<title>HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=29504"/>
		<updated>2007-04-26T08:10:18Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* Disk head parking */ 2.6.21&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
=== HDAPS - IBM Active Protection System Linux Driver ===&lt;br /&gt;
This is the Linux driver for monitoring the accelerometer known as [[Active Protection System|IBM Active Protection System]].&lt;br /&gt;
&lt;br /&gt;
The driver only enables reading of the acceleration data. It does '''not''' perform [[#Harddisk Protection|automatic disk head parking]]. But there are already some other useful [[#Applications|applications]] for HDAPS, using the {{path|/sys}} interface it provides.&lt;br /&gt;
&lt;br /&gt;
{{WARN|There are two versions of the hdaps driver, one in the Linux kernel mainline, and another provided by [[tp_smapi]].  '''Use of the tp_smapi version of hdaps is strongly recommended by the current hdaps developers.'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*provides accelerometer values via sysfs&lt;br /&gt;
*provides a joystick type input device&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
*[http://hdaps.sourceforge.net/ Project Homepage]&lt;br /&gt;
*The driver is included in the 2.6-mm series of kernels since August, 26th 2005.&lt;br /&gt;
*The driver is now in the mainline (2.6.14).&lt;br /&gt;
*The [[tp_smapi]] package contains some patches to this driver. These are necessary for some recent models, and recommended for all.&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
A driver is included in recent Linux kernels and is actively maintained, but it is very inferior to the driver in tp_smapi.&lt;br /&gt;
&lt;br /&gt;
=== How to install the driver ===&lt;br /&gt;
If you are using a version of the Linux kernel &amp;lt; 2.6.14, please upgrade. I struggled long and hard to get the driver working with an old version of the kernel, and it was a mess. I gave up, upgraded my kernel, and one recompile later, HDAPS was working. &lt;br /&gt;
&lt;br /&gt;
For 2.6.18 kernel, T60 users have to edit hdaps_init() in drivers/hwmon/hdaps.c to include a HDAPS_DMI_MATCH_LENOVO(&amp;quot;ThinkPad T60&amp;quot;) line.&lt;br /&gt;
&lt;br /&gt;
Install the tp_smapi module if you experience problems with hdaps always reading out constant values of (0,0) [http://sourceforge.net/mailarchive/message.php?msg_id=15350314 refer]&lt;br /&gt;
&lt;br /&gt;
=== Harddisk Protection ===&lt;br /&gt;
As mentioned above, the hdaps kernel driver is only responsible for reading the accelerometer data and exporting it through the sysfs interface. In order to use this information to protect the disk, some additional steps are required.&lt;br /&gt;
&lt;br /&gt;
See [[How to protect the harddisk through APS]].&lt;br /&gt;
&lt;br /&gt;
=== Input device support ===&lt;br /&gt;
The hdaps driver in the lastest kernels (2.6.14 and later?) also exports a joystick type input device, which can be used by games.&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
====Disk head parking====&lt;br /&gt;
You will need the kernel patch and userspace daemon. The GUI monitoring is optional.&lt;br /&gt;
* Kernel patch (apply using 'patch -p1 -l &amp;lt; hdaps_xx.patch')&lt;br /&gt;
**[http://lwn.net/Articles/154923/ disk park patch] &amp;lt;tt&amp;gt;an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.14.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.14 *([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.15.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.15 *([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060118.patch sata/ide disk protection patch for 2.6.15]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060430.patch Latest sata/ide disk protection patch for 2.6.16]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.16-tj/05-hdaps_protect-20060430-for-2.6.16-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.16.16 patches] - See [[How_to_hotswap_UltraBay_devices]]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.17.14-tj/03-hdaps_protect-20060430-for-2.6.17-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.17.4 patches] - See [[How_to_hotswap_UltraBay_devices]]&lt;br /&gt;
**[http://exitzero.de/t41p-configs/hdaps_protect-2.6.17.1-20060625.patch Untested patch for 2.6.17.1]: see [http://thread.gmane.org/gmane.linux.drivers.hdaps.devel/708/focus=708]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect-2.6.18.3-2.patch Latest sata/ide disk protection patch for 2.6.18.3]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.kernel/470413 Latest sata/ide disk protection patch for 2.6.19-rc6]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/993 Latest sata/ide disk protection patch for 2.6.20.x and 2.6.21]&lt;br /&gt;
*Userspace daemon&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdapsd-20060409.c  userspace parking daemon]&lt;br /&gt;
**[ftp://rohrmoser-engineering.de/pub/  hdapsd-&amp;lt;date&amp;gt;.c  is an improved version of the daemon, which computes an adaptive sensivity threshold]&lt;br /&gt;
*GUI monitoring&lt;br /&gt;
**[http://roy.marples.name/node/269 khdapmonitor] KDE System Tray Monitor&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz gnome-hdaps-applet] visual display of disk protection status in gnome panel&lt;br /&gt;
See [[How to protect the harddisk through APS]] for more information.&lt;br /&gt;
&lt;br /&gt;
====Security &amp;amp; safety====&lt;br /&gt;
*[[Script for theft alarm using HDAPS]]&lt;br /&gt;
&lt;br /&gt;
====Tilt monitoring====&lt;br /&gt;
*[http://www.mulliner.org/collin/gkibm-acpi.php gkhdaps] &amp;lt;tt&amp;gt;a GKrellM applet displaying tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://rlove.org/log/2005082203.html gnome-tilt] &amp;lt;tt&amp;gt;a gnome applet showing tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Visualisation (of ThinkPad orientation)====&lt;br /&gt;
*[http://rlove.org/log/2005082401.html hdaps-gl] &amp;lt;tt&amp;gt;a little app animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdapsgl-applet] &amp;lt;tt&amp;gt; a GNOME applet animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 wmadhps] &amp;lt;tt&amp;gt;a WindowMaker DockApp animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.cs.cmu.edu/~ecc/gyro.tar.gz OpenGL gyroscope hack] &amp;lt;tt&amp;gt;keeps your display levelled when tilting the ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Games====&lt;br /&gt;
*[http://icculus.org/neverball/ Neverball] is quite fun with HDAPS. (You'll need to have the HDAPS joystick device)&lt;br /&gt;
*Turn your ThinkPad into a Jedi Weapon (hey, it [http://isnoop.net/blog/2006/05/20/macsaber-turn-your-mac-into-a-jedi-weapon works for Mac laptops])&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
&lt;br /&gt;
*[http://blog.micampe.it/articles/2006/06/04/here-comes-the-smackpad smack.py] - switch workspace by smacking your laptop, inspired by the [http://blog.medallia.com/2006/05/smacbook_pro.html SmackBook] (uses EWMH)&lt;br /&gt;
**an [http://weblogs.mozillazine.org/gerv/archives/2006/09/stablilised_smackpad.html improved version] adds stabilization (by comparing smacks to previous ones, uses EWMH)&lt;br /&gt;
**another [http://pberndt.com/Programme/Linux/pyhdaps/index.html approach] adds stabilization (by requiring a certain type of value deflection, uses xmacroplay)&lt;br /&gt;
**[http://www.gnome.org/~fherrera/gtollina.c GTollina] is another smack program for use with compiz (video [http://www.gnome.org/~fherrera/blog/gtollina.html here]).&lt;br /&gt;
*[http://blog.odonnell.nu/61.html xmms-smack.py] - move through your xmms playlist by smacking, based on the two smack scripts above.&lt;br /&gt;
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw02aKnockBasedCommands KnockBasedCommands] - Execute commands by tapping your laptop.&lt;br /&gt;
&lt;br /&gt;
=== Interesting links related to this project ===&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/hdaps-devel HDAPS mailinglist and its archive]&lt;br /&gt;
* #hdaps channel on irc.freenode.org&lt;br /&gt;
* [https://sourceforge.net/projects/hdaps/ hdaps projects] overview of userspace programs using hdaps&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM IBM ThinkPads hardware drive firmware site]&lt;br /&gt;
* [http://www.paul.sladen.org/thinkpad-r31/accelerometer.html http://www.paul.sladen.org/thinkpad-r31/accelerometer/]&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Drivers]] [[Category:Z61m]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:ThinkWiki_News&amp;diff=29503</id>
		<title>Template:ThinkWiki News</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:ThinkWiki_News&amp;diff=29503"/>
		<updated>2007-04-26T08:09:00Z</updated>

		<summary type="html">&lt;p&gt;Defiant: 2.6.21&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;26.04.2007: Linux 2.6.21 has been released including [http://lwn.net/Articles/223185/ Dynticks and Clockevents]&lt;br /&gt;
&lt;br /&gt;
13.04.2007: New user creation disabled temporarily due to spam bots corrupting pages.&lt;br /&gt;
&lt;br /&gt;
15.03.2007: Please help build the brand new [http://www.vaiowiki.org/ vaiowiki.org]!&lt;br /&gt;
&lt;br /&gt;
21.02.2007: According to an [http://www.michaellarabel.com/index.php?k=blog&amp;amp;i=56 unverified blogpost], a group of people led by Jerome Glisse begun to work on an open-source driver for the R500 series. Those chips are common in newer ThinkPads.&lt;br /&gt;
&lt;br /&gt;
31.12.2006: [[ibm-acpi]] 0.13-20061231 stable release patches for Linux 2.6.18 and 2.6.19 available at the [http://ibm-acpi.sf.net ibm-acpi sourceforge page]&lt;br /&gt;
&lt;br /&gt;
22.12.2006: [[ibm-acpi]] 0.13 merged into Linux 2.6.20-rc2, adding [[How to control fan speed|advanced fan control]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Graphics_Media_Accelerator_900&amp;diff=29395</id>
		<title>Intel Graphics Media Accelerator 900</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Graphics_Media_Accelerator_900&amp;diff=29395"/>
		<updated>2007-04-19T07:42:57Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* SVideo port */  Clone Mode doesn't seem to work with TV&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;
=== Intel Graphics Media Accelerator 900 ===&lt;br /&gt;
This is an Intel video adapter&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Integrated into the following chipsets:&lt;br /&gt;
** [[Intel 910GML]]&lt;br /&gt;
** [[Intel 915GM]]&lt;br /&gt;
* PCI ID: 8086:2592&lt;br /&gt;
* Uses up to 128MB of main memory&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;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the 'i810' driver as part of the X.Org distribution&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For '''DRI-Support''', you may have to install the latest Drivers from [http://dri.freedesktop.org/snapshots/ DRI Snapshot] you need following files:&amp;lt;br&amp;gt;&lt;br /&gt;
''common-&amp;lt;CurrentVersion&amp;gt;-linux.i386.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
i915-&amp;lt;CurrentVersion&amp;gt;-linux.tar.bz2''&amp;lt;br&amp;gt;&lt;br /&gt;
Extract both in the same Directory and run install.sh&amp;lt;br&amp;gt;&lt;br /&gt;
After that restart your X-Server and enjoy OpenGL-Support ;-)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
At least on a T43, you also want to add acpi_sleep=s3_bios to the kernel command line (edit your LILO or GRUB configuration file to do that), in order to make sure that Xorg continues to work after a suspend/resume cycle.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For those who is using Gentoo with xorg-x11-6.8.2 and can't get i810 driver working: you can emerge xorg-x11-6.9.0 (unmask it first) and everything will work out of the box (tested with kernel 2.6.15-gentoo-r1).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''Warning:''' Debian users, do not install the DRI Snapshot, it will overwrite several files in several packages and cause you all manner of grief. (not if you build whole Xorg release, for example 6.9.0 which includes DRI and then install it to '/usr/local' - which is the default location if you install with 'make install') If you're using Stable with xorg from sarge-backports (at backports.org), you can install all the required files from that repository, Etch (Testing/Unstable) users can install from the Testing/Unstable repositories at debian.org&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''Debian success story''':It is wise to choose relatively fresh kernel version (2.6.17.13 works for sure). It will contain driver module '''i915'''. For DRI to work there should be 4 kernel modules: agpgart, intel_agp, drm and i915. There also must be fresh xorg graphic driver (i810). Xorg 6.9.0 is fresh enough (in older version, namely XFree 4.3 everything compiles with no problems, but after starting X enviroment screen gets black although you can hear sounds). While building Xorg don't 'make install', use checkinstall instead: 'checkinstall --showinstall=yes -D &amp;quot;make install&amp;quot;'. Detailed instructions for setting up and troubleshooting DRI can be found at: [http://dri.freedesktop.org/wiki/DriTroubleshooting http://dri.freedesktop.org/wiki/DriTroubleshooting] and [http://dri.sourceforge.net/doc/DRIuserguide.html http://dri.sourceforge.net/doc/DRIuserguide.html]. Remember to set bus mastering. To check whether DRI is running use 'glxinfo'.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux Intel driver ===&lt;br /&gt;
You can find Linux drivers for this card on [http://www.intel.com/support/graphics/linux/index.htm Intel's site]. The site offers much information about how to install this card on many distributions, mainly Red Hat and SuSe.  The &amp;quot;Intel&amp;quot; driver above is just a snapshot of the Xorg/XFree86 driver.&lt;br /&gt;
&lt;br /&gt;
The display now (Fedora Core 5 - xorg-x11-server-Xorg-1.0.1-9.fc5.1.1) works perfectly using X.Org driver. All you need to do is change xorg.conf frequencies in the monitor section like this:&lt;br /&gt;
&lt;br /&gt;
        HorizSync    31.5-90&lt;br /&gt;
        VertRefresh  50-90&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correct.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
Works well in clone mode at least. Dualhead is supported.&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
            Identifier      &amp;quot;Intel Corporation Intel Default Card&amp;quot;&lt;br /&gt;
            Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
            BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
            Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
            Option          &amp;quot;Clone&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
Now you can enable|disable vga out with i810switch crt on|off&lt;br /&gt;
&lt;br /&gt;
Now you can turn on/off the TV-Out by executing the commands&lt;br /&gt;
:{{cmdroot|echo &amp;quot;crt_enable&amp;quot; &amp;gt; /proc/acpi/ibm/video}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|echo &amp;quot;crt_disable&amp;quot; &amp;gt; /proc/acpi/ibm/video}}&lt;br /&gt;
Or toggle between them with&lt;br /&gt;
:{{cmdroot|echo &amp;quot;video_switch&amp;quot; &amp;gt; /proc/acpi/ibm/video}}&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
See above, but use&lt;br /&gt;
        Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;TV&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This will only use the TV. At least on a T43 clone mode doesn't work with TV so you should setup a special Server Layout for TV.&lt;br /&gt;
Switching to PAL mode is [https://bugs.freedesktop.org/show_bug.cgi?id=2782 not yet supported].&lt;br /&gt;
&lt;br /&gt;
Example setup:&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;IGM 900 TVout&amp;quot;&lt;br /&gt;
                Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
                BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
                Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;TV&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
                Identifier   &amp;quot;PAL TV&amp;quot;&lt;br /&gt;
                HorizSync    30-68&lt;br /&gt;
                VertRefresh  50-120&lt;br /&gt;
                Mode &amp;quot;720x576&amp;quot;&lt;br /&gt;
                        DotClock 42.601&lt;br /&gt;
                        HTimings 720 760 832 944&lt;br /&gt;
                        VTimings 576 577 580 602&lt;br /&gt;
                        Flags    &amp;quot;-HSync&amp;quot; &amp;quot;-VSync&amp;quot;&lt;br /&gt;
                EndMode&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
                Identifier  &amp;quot;TV Screen&amp;quot;&lt;br /&gt;
                Device      &amp;quot;IGM 900 TVout&amp;quot;&lt;br /&gt;
                Monitor     &amp;quot;PAL TV&amp;quot;&lt;br /&gt;
                DefaultDepth 24&lt;br /&gt;
                DefaultFbbpp 32&lt;br /&gt;
                Subsection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth   24&lt;br /&gt;
                        FbBpp   32&lt;br /&gt;
                        Modes   &amp;quot;720x576&amp;quot;&lt;br /&gt;
                EndSubsection&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
Put the next Section below all other Layouts, else it will become the default!&lt;br /&gt;
        Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;TV&amp;quot;&lt;br /&gt;
                Screen          &amp;quot;TV Screen&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Generic Keyboard&amp;quot; # edit these lines to your needs&lt;br /&gt;
                InputDevice     &amp;quot;IBM Trackpoint&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Synaptics Touchpad&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
You can now use the TV on tty8 by executing&lt;br /&gt;
:{{cmdroot|startx :1 -- -layout TV}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|If you want to use all 3 Displays together, try &amp;quot;CRT+TV,LFP&amp;quot; as value for MonitorLayout.}}&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Problems with high resolution video playback ====&lt;br /&gt;
If you get this error, because you eg try to play HDTV on 1024x768&lt;br /&gt;
        X11 error: BadAlloc (insufficient resources for operation)&lt;br /&gt;
try the following option:&lt;br /&gt;
        Option          &amp;quot;LinearAlloc&amp;quot; &amp;quot;6144&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Setting up two screens ====&lt;br /&gt;
If you have an external monitor, and you want to use both your internal LCD display and your external monitor, you'll have to make some changes in the default /etc/X11/xorg.conf. With the changes below, your X uses both monitors, and you can move your mouse pointer from one screen to the other, let some of your applications run on one screen, and the other applications run on the other. Unfortunately, you can't move the application from one screen to the other. If someone knows how to achieve that, I would appreciate a posting here.&lt;br /&gt;
&lt;br /&gt;
Step 1: Define two devices.&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Intel Corporation Intel Default Card&amp;quot;&lt;br /&gt;
                Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
                BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
                Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
                Screen          0&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Intel Corporation Intel Default Card External&amp;quot;&lt;br /&gt;
                Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
                BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
                Option          &amp;quot;Display&amp;quot;       &amp;quot;CRT&amp;quot;&lt;br /&gt;
                Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
                Screen          1&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Step 2: Define two monitors. The first one is your external monitor and the second one is your internal LCD. '''You must adapt the values for HorizSync, VertRefresh and the Display Size for your external monitor!''' The examples below work for a Samsung Samtron 94B.&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;External Monitor&amp;quot;&lt;br /&gt;
                HorizSync       30-81&lt;br /&gt;
                VertRefresh     56-75&lt;br /&gt;
                DisplaySize     372 301&lt;br /&gt;
                Option          &amp;quot;DPMS&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
                HorizSync       31.5-90&lt;br /&gt;
                VertRefresh     50-90&lt;br /&gt;
                Option          &amp;quot;DPMS&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Step 3: Define two screens. '''Again, check the values for the second screen, they must fit to your external monitor!'''&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Default Screen&amp;quot;&lt;br /&gt;
                Device          &amp;quot;Intel Corporation Intel Default Card&amp;quot;&lt;br /&gt;
                Monitor         &amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
                DefaultDepth    24&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           1&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           4&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           8&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           15&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           16&lt;br /&gt;
                        Modes           &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           24&lt;br /&gt;
                        Modes           &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;External Screen&amp;quot;&lt;br /&gt;
                Device          &amp;quot;Intel Corporation Intel Default Card External&amp;quot;&lt;br /&gt;
                Monitor         &amp;quot;External Monitor&amp;quot;&lt;br /&gt;
                DefaultDepth    24&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           24&lt;br /&gt;
                        Modes           &amp;quot;1280x1024&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
Step 4: Define the server layout. Define the position of your internal LCD screen (my X41 is LeftOf my external screen)&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Default Layout&amp;quot;&lt;br /&gt;
                Screen          0 &amp;quot;External Screen&amp;quot;&lt;br /&gt;
                Screen          1 &amp;quot;Default Screen&amp;quot; LeftOf &amp;quot;External Screen&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Generic Keyboard&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Generic Mouse&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{HINT|Of course you must have a proper Section &amp;quot;Files&amp;quot;, a Section &amp;quot;Modules&amp;quot;, a Section &amp;quot;InputDevice&amp;quot; with Identifier &amp;quot;Generic Keyboard&amp;quot;, a Section &amp;quot;InputDevice&amp;quot; with Identifier &amp;quot;Configured Mouse&amp;quot;, a Section &amp;quot;InputDevice&amp;quot; with Identifier &amp;quot;Generic Mouse&amp;quot; before you define the  devices, and a Section &amp;quot;DRI&amp;quot; after the ServerLayout definition. }}&lt;br /&gt;
&lt;br /&gt;
==== DVI port ====&lt;br /&gt;
DVI could theoretically be supported if a TMDS transmitter where hooked up to one of the pipes, which is NOT the case on any ThinkPad.&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'intelfb' driver as part of any recent 2.4 or 2.6 kernel.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{R52}}&lt;br /&gt;
* {{T43}}&lt;br /&gt;
* {{X41}}, {{X41T}}&lt;br /&gt;
* {{Z60m}}, {{Z60t}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Graphics_Media_Accelerator_900&amp;diff=29394</id>
		<title>Intel Graphics Media Accelerator 900</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Graphics_Media_Accelerator_900&amp;diff=29394"/>
		<updated>2007-04-19T06:49:50Z</updated>

		<summary type="html">&lt;p&gt;Defiant: clone mode&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;
=== Intel Graphics Media Accelerator 900 ===&lt;br /&gt;
This is an Intel video adapter&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Integrated into the following chipsets:&lt;br /&gt;
** [[Intel 910GML]]&lt;br /&gt;
** [[Intel 915GM]]&lt;br /&gt;
* PCI ID: 8086:2592&lt;br /&gt;
* Uses up to 128MB of main memory&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;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the 'i810' driver as part of the X.Org distribution&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For '''DRI-Support''', you may have to install the latest Drivers from [http://dri.freedesktop.org/snapshots/ DRI Snapshot] you need following files:&amp;lt;br&amp;gt;&lt;br /&gt;
''common-&amp;lt;CurrentVersion&amp;gt;-linux.i386.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
i915-&amp;lt;CurrentVersion&amp;gt;-linux.tar.bz2''&amp;lt;br&amp;gt;&lt;br /&gt;
Extract both in the same Directory and run install.sh&amp;lt;br&amp;gt;&lt;br /&gt;
After that restart your X-Server and enjoy OpenGL-Support ;-)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
At least on a T43, you also want to add acpi_sleep=s3_bios to the kernel command line (edit your LILO or GRUB configuration file to do that), in order to make sure that Xorg continues to work after a suspend/resume cycle.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For those who is using Gentoo with xorg-x11-6.8.2 and can't get i810 driver working: you can emerge xorg-x11-6.9.0 (unmask it first) and everything will work out of the box (tested with kernel 2.6.15-gentoo-r1).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''Warning:''' Debian users, do not install the DRI Snapshot, it will overwrite several files in several packages and cause you all manner of grief. (not if you build whole Xorg release, for example 6.9.0 which includes DRI and then install it to '/usr/local' - which is the default location if you install with 'make install') If you're using Stable with xorg from sarge-backports (at backports.org), you can install all the required files from that repository, Etch (Testing/Unstable) users can install from the Testing/Unstable repositories at debian.org&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''Debian success story''':It is wise to choose relatively fresh kernel version (2.6.17.13 works for sure). It will contain driver module '''i915'''. For DRI to work there should be 4 kernel modules: agpgart, intel_agp, drm and i915. There also must be fresh xorg graphic driver (i810). Xorg 6.9.0 is fresh enough (in older version, namely XFree 4.3 everything compiles with no problems, but after starting X enviroment screen gets black although you can hear sounds). While building Xorg don't 'make install', use checkinstall instead: 'checkinstall --showinstall=yes -D &amp;quot;make install&amp;quot;'. Detailed instructions for setting up and troubleshooting DRI can be found at: [http://dri.freedesktop.org/wiki/DriTroubleshooting http://dri.freedesktop.org/wiki/DriTroubleshooting] and [http://dri.sourceforge.net/doc/DRIuserguide.html http://dri.sourceforge.net/doc/DRIuserguide.html]. Remember to set bus mastering. To check whether DRI is running use 'glxinfo'.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux Intel driver ===&lt;br /&gt;
You can find Linux drivers for this card on [http://www.intel.com/support/graphics/linux/index.htm Intel's site]. The site offers much information about how to install this card on many distributions, mainly Red Hat and SuSe.  The &amp;quot;Intel&amp;quot; driver above is just a snapshot of the Xorg/XFree86 driver.&lt;br /&gt;
&lt;br /&gt;
The display now (Fedora Core 5 - xorg-x11-server-Xorg-1.0.1-9.fc5.1.1) works perfectly using X.Org driver. All you need to do is change xorg.conf frequencies in the monitor section like this:&lt;br /&gt;
&lt;br /&gt;
        HorizSync    31.5-90&lt;br /&gt;
        VertRefresh  50-90&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correct.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
Works well in clone mode at least. Dualhead is supported.&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
            Identifier      &amp;quot;Intel Corporation Intel Default Card&amp;quot;&lt;br /&gt;
            Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
            BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
            Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
            Option          &amp;quot;Clone&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
Now you can enable|disable vga out with i810switch crt on|off&lt;br /&gt;
&lt;br /&gt;
Now you can turn on/off the TV-Out by executing the commands&lt;br /&gt;
:{{cmdroot|echo &amp;quot;crt_enable&amp;quot; &amp;gt; /proc/acpi/ibm/video}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|echo &amp;quot;crt_disable&amp;quot; &amp;gt; /proc/acpi/ibm/video}}&lt;br /&gt;
Or toggle between them with&lt;br /&gt;
:{{cmdroot|echo &amp;quot;video_switch&amp;quot; &amp;gt; /proc/acpi/ibm/video}}&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
See above, but use&lt;br /&gt;
        Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;TV,LFP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This is known to work on a T43.&lt;br /&gt;
{{HINT|Of course you can also use all 3, that makes &amp;quot;CRT+TV,LFP&amp;quot;.}}&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Problems with high resolution video playback ====&lt;br /&gt;
If you get this error, because you eg try to play HDTV on 1024x768&lt;br /&gt;
        X11 error: BadAlloc (insufficient resources for operation)&lt;br /&gt;
try the following option:&lt;br /&gt;
        Option          &amp;quot;LinearAlloc&amp;quot; &amp;quot;6144&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Setting up two screens ====&lt;br /&gt;
If you have an external monitor, and you want to use both your internal LCD display and your external monitor, you'll have to make some changes in the default /etc/X11/xorg.conf. With the changes below, your X uses both monitors, and you can move your mouse pointer from one screen to the other, let some of your applications run on one screen, and the other applications run on the other. Unfortunately, you can't move the application from one screen to the other. If someone knows how to achieve that, I would appreciate a posting here.&lt;br /&gt;
&lt;br /&gt;
Step 1: Define two devices.&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Intel Corporation Intel Default Card&amp;quot;&lt;br /&gt;
                Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
                BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
                Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
                Screen          0&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Intel Corporation Intel Default Card External&amp;quot;&lt;br /&gt;
                Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
                BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
                Option          &amp;quot;Display&amp;quot;       &amp;quot;CRT&amp;quot;&lt;br /&gt;
                Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
                Screen          1&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Step 2: Define two monitors. The first one is your external monitor and the second one is your internal LCD. '''You must adapt the values for HorizSync, VertRefresh and the Display Size for your external monitor!''' The examples below work for a Samsung Samtron 94B.&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;External Monitor&amp;quot;&lt;br /&gt;
                HorizSync       30-81&lt;br /&gt;
                VertRefresh     56-75&lt;br /&gt;
                DisplaySize     372 301&lt;br /&gt;
                Option          &amp;quot;DPMS&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
                HorizSync       31.5-90&lt;br /&gt;
                VertRefresh     50-90&lt;br /&gt;
                Option          &amp;quot;DPMS&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Step 3: Define two screens. '''Again, check the values for the second screen, they must fit to your external monitor!'''&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Default Screen&amp;quot;&lt;br /&gt;
                Device          &amp;quot;Intel Corporation Intel Default Card&amp;quot;&lt;br /&gt;
                Monitor         &amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
                DefaultDepth    24&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           1&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           4&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           8&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           15&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           16&lt;br /&gt;
                        Modes           &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           24&lt;br /&gt;
                        Modes           &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;External Screen&amp;quot;&lt;br /&gt;
                Device          &amp;quot;Intel Corporation Intel Default Card External&amp;quot;&lt;br /&gt;
                Monitor         &amp;quot;External Monitor&amp;quot;&lt;br /&gt;
                DefaultDepth    24&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           24&lt;br /&gt;
                        Modes           &amp;quot;1280x1024&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
Step 4: Define the server layout. Define the position of your internal LCD screen (my X41 is LeftOf my external screen)&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Default Layout&amp;quot;&lt;br /&gt;
                Screen          0 &amp;quot;External Screen&amp;quot;&lt;br /&gt;
                Screen          1 &amp;quot;Default Screen&amp;quot; LeftOf &amp;quot;External Screen&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Generic Keyboard&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Generic Mouse&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{HINT|Of course you must have a proper Section &amp;quot;Files&amp;quot;, a Section &amp;quot;Modules&amp;quot;, a Section &amp;quot;InputDevice&amp;quot; with Identifier &amp;quot;Generic Keyboard&amp;quot;, a Section &amp;quot;InputDevice&amp;quot; with Identifier &amp;quot;Configured Mouse&amp;quot;, a Section &amp;quot;InputDevice&amp;quot; with Identifier &amp;quot;Generic Mouse&amp;quot; before you define the  devices, and a Section &amp;quot;DRI&amp;quot; after the ServerLayout definition. }}&lt;br /&gt;
&lt;br /&gt;
==== DVI port ====&lt;br /&gt;
DVI could theoretically be supported if a TMDS transmitter where hooked up to one of the pipes, which is NOT the case on any ThinkPad.&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'intelfb' driver as part of any recent 2.4 or 2.6 kernel.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{R52}}&lt;br /&gt;
* {{T43}}&lt;br /&gt;
* {{X41}}, {{X41T}}&lt;br /&gt;
* {{Z60m}}, {{Z60t}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:Code&amp;diff=29255</id>
		<title>Category:Code</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:Code&amp;diff=29255"/>
		<updated>2007-04-12T09:30:02Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pieces of textual sourcecode (shell scripts, Perl scripts, C programs, patches etc.) of non-trivial length should be placed in dedicated articles called &amp;lt;tt&amp;gt;Code/''foo''&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The article page (&amp;lt;tt&amp;gt;Code/''foo''&amp;lt;/tt&amp;gt;) itself should contain only the raw source file, '''without any Wiki markup'''.&lt;br /&gt;
&lt;br /&gt;
The article's discussion page (&amp;lt;tt&amp;gt;Talk:Code/''foo''&amp;lt;/tt&amp;gt;) should use the &amp;lt;tt&amp;gt;CodeHeader&amp;lt;/tt&amp;gt; template to provide the file's metadata. Follow this example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #E0E0E0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;CodeHeader|&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;|filename=foo&amp;lt;/tt&amp;gt; &amp;amp;nbsp;(''filename this should be saved as, preferably the same as the &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;Code/foo&amp;lt;/tt&amp;gt;'')&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;|context=&amp;lt;nowiki&amp;gt;[[&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;''primary page were code is introduced''&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;|author=&amp;lt;nowiki&amp;gt;[[&amp;lt;/nowiki&amp;gt;User:&amp;lt;/tt&amp;gt;''Yourself''&amp;lt;tt&amp;gt;|&amp;lt;/tt&amp;gt;''Yourself''&amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;|license=GPL v2 or higher, or GFDL v1.2 or higher &amp;lt;/tt&amp;gt;''&amp;amp;nbsp;(preferably keep both. ThinkWiki default license is GFDL v1.2)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the pages in this categories for examples.&lt;br /&gt;
&lt;br /&gt;
When referencing the code, always use this template: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #E0E0E0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{CodeRef|&amp;lt;/nowiki&amp;gt;''foo''&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=2378-RTU&amp;diff=29254</id>
		<title>2378-RTU</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=2378-RTU&amp;diff=29254"/>
		<updated>2007-04-12T09:29:15Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IBM ThinkPad T42 2378-RTU Specifications =&lt;br /&gt;
&lt;br /&gt;
Official IBM/Lenovo link: http://www-307.ibm.com/pc/support/site.wss/quickPath.do?quickPathEntry=2378rtu&amp;amp;sitestyle=lenovo&lt;br /&gt;
&lt;br /&gt;
== CPU and Memory ==&lt;br /&gt;
{|&lt;br /&gt;
|Processor Manufacturer || Intel&lt;br /&gt;
|-&lt;br /&gt;
|Processor Class || (Pentium M Dothan)&lt;br /&gt;
|-&lt;br /&gt;
|Processor Name || Intel Pentium M 735&lt;br /&gt;
|-&lt;br /&gt;
|Processor Speed || 1.7 GHz&lt;br /&gt;
|-&lt;br /&gt;
|Installed Memory || 256 MB&lt;br /&gt;
|-&lt;br /&gt;
|Maximum Memory || 2 GB&lt;br /&gt;
|- &lt;br /&gt;
|Memory Technology || DDR 333 SDRAM&lt;br /&gt;
|-&lt;br /&gt;
|Cache Size || 2 MB&lt;br /&gt;
|}&lt;br /&gt;
== Storage ==&lt;br /&gt;
{|&lt;br /&gt;
|Hard Drive Model || HTS726060M9AT00&lt;br /&gt;
|-&lt;br /&gt;
|Hard Drive Capacity || 60 GB&lt;br /&gt;
|-&lt;br /&gt;
|Included Drives || CD-RW / DVD Combo Drive&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Display and Graphics ==&lt;br /&gt;
{|&lt;br /&gt;
|Display Size || 15 inch&lt;br /&gt;
|-&lt;br /&gt;
|Display Type || TFT active matrix &lt;br /&gt;
|-&lt;br /&gt;
|Graphics Processor || ATI Radeon MOBILITY 9600&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Memory || 64 MB&lt;br /&gt;
|-&lt;br /&gt;
|Included Video Card || Graphics card - AGP 4x (unsure)&lt;br /&gt;
|-&lt;br /&gt;
|Resolution || 1400 x 1050 pixels&lt;br /&gt;
|-&lt;br /&gt;
|Max. External Resolution || 2048 x 1536 pixels&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
Battery is chosen at order time and not shipped installed. Both 9-cell and 6-cell varieties exist.&lt;br /&gt;
{|&lt;br /&gt;
|Battery Model || 6 cell&lt;br /&gt;
|-&lt;br /&gt;
|Battery Life || 4.5 hour(s)&lt;br /&gt;
|-&lt;br /&gt;
|Battery Type || Lithium ion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Communications and Networking ==&lt;br /&gt;
{|&lt;br /&gt;
|Bluetooth || No&lt;br /&gt;
|-&lt;br /&gt;
|Modem Speed || 56 Kbps&lt;br /&gt;
|-&lt;br /&gt;
|Network LAN || Intel PRO/1000 MT (uses e1000 driver)&lt;br /&gt;
|-&lt;br /&gt;
|Network WLAN || Intel PRO/Wireless 2200BG MiniPCI card (uses [[ipw2200]] driver)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
{|&lt;br /&gt;
|Shipped Operating System || Microsoft Windows XP Professional&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connectors ==&lt;br /&gt;
{|&lt;br /&gt;
|Interface Provided ||Parallel Port, S-Video, VGA, Phone line, Headphone, Ethernet 10Base-T/100Base-TX/1000Base-T&lt;br /&gt;
|-&lt;br /&gt;
|Connectors ||2 x Hi-Speed USB - 4 pin USB Type A, 1 x parallel - IEEE 1284 (EPP/ECP) - 25 pin D-Sub (DB-25), 1 x display / video - VGA - 15 pin HD D-Sub (HD-15), 1 x infrared - IrDA, 1 x modem - phone line - RJ-11, 1 x network - Ethernet 10Base-T/100Base-TX/1000Base-T - RJ-45, 1 x display / video - S-video output - 4 pin mini-DIN, 1 x docking / port replicator, 1 x microphone - input - mini-phone mono 3.5 mm , 1 x audio - line-out/headphones - mini-phone stereo 3.5 mm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Product Info ==&lt;br /&gt;
{|&lt;br /&gt;
|Input Devices || Keyboard, Touchpad, TrackPoint&lt;br /&gt;
|-&lt;br /&gt;
|Included Sound Card || Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)&lt;br /&gt;
|-&lt;br /&gt;
|Weight || around 4 or 5 pounds (not measured yet)&lt;br /&gt;
|-&lt;br /&gt;
|Also known as || ...&lt;br /&gt;
|-&lt;br /&gt;
|Manufacturer Part No. || 2378RTU&lt;br /&gt;
|-&lt;br /&gt;
|Dimension || 1.2 in x 12.2 in x 10.9 in (HxWxD) (approximate; not measured yet)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:T42]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Kubuntu_6.10_on_a_ThinkPad_X60&amp;diff=29245</id>
		<title>Installing Kubuntu 6.10 on a ThinkPad X60</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Kubuntu_6.10_on_a_ThinkPad_X60&amp;diff=29245"/>
		<updated>2007-04-12T04:54:32Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Kubuntu_logo.png||right]]&lt;br /&gt;
[[Image:ThinkPadX60.jpg||right]]&lt;br /&gt;
&lt;br /&gt;
= Installation of Kubuntu 6.10 on a ThinkPad X60s (model 1709-K3U) =&lt;br /&gt;
&lt;br /&gt;
'''Series:''' {{X60}}&lt;br /&gt;
&lt;br /&gt;
'''Model:''' [[1709-K3U]] ([http://www-307.ibm.com/pc/support/site.wss/product.do?template=/product.do?template=%2Fproductpage%2Flandingpages%2FproductPageLandingPage.vm&amp;amp;sitestyle=lenovo&amp;amp;brandind=10&amp;amp;familyind=290550&amp;amp;machineind=295859&amp;amp;modelind=334762&amp;amp;partnumberind=0&amp;amp;subcategoryind=0&amp;amp;doctypeind=8&amp;amp;doccategoryind=0&amp;amp;operatingsystemind=52305&amp;amp;validate=true IBM support page])&lt;br /&gt;
&lt;br /&gt;
'''Operating system:''' [[:Category:Kubuntu|Kubuntu 6.10 Edgy Eft, Desktop Edition]]&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
=== What works after installation ===&lt;br /&gt;
&lt;br /&gt;
* Detection of both CPU cores ([[Intel Core 2 Duo]])&lt;br /&gt;
* [[How to make use of Dynamic Frequency Scaling|CPU frequency scaling]]&lt;br /&gt;
* Graphics detection and acceleration ([[Intel Graphics Media Accelerator 950]])&lt;br /&gt;
** Beryl/AIGLX works after installing with [http://www.biodesign.com.ar/blog/?p=23 this guide].&lt;br /&gt;
* Audio support ([[AD1981HD]])&lt;br /&gt;
* Gigabit ethernet ([[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]])&lt;br /&gt;
* [[SD Card slot|Integrated SD card reader]]&lt;br /&gt;
* IBM ThinkPad ACPI Extras driver ([[ibm-acpi]])&lt;br /&gt;
* [[USB Port|USB 2.0]] ports&lt;br /&gt;
* [[TrackPoint]] detection&lt;br /&gt;
** See [[How to configure the TrackPoint]]&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter|Intel PRO/Wireless 3945ABG]] '''([[#Intel PRO/Wireless 3945ABG|Fixed]])'''&lt;br /&gt;
* Suspend to RAM / Sleep   -&amp;gt; seems to work when putting sata into &amp;quot;compatibility&amp;quot; mode in the bios.&lt;br /&gt;
* Suspend to HDD / Hibernate&lt;br /&gt;
* [[Intel Graphics Media Accelerator 950#External VGA port|External VGA port]] '''([[#External VGA port|Partially fixed]])'''&lt;br /&gt;
* Hard drive protection ([[Active Protection System|IBM Active Protection System]]) '''([[#Hard drive protection|Partially fixed]])'''&lt;br /&gt;
&lt;br /&gt;
=== What has not yet been tested ===&lt;br /&gt;
&lt;br /&gt;
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]&lt;br /&gt;
* [[CardBus slot|CardBus slot (Type 2)]]&lt;br /&gt;
* Firewire (IEEE1394) port&lt;br /&gt;
* Modem&lt;br /&gt;
* [[IrDA|Infrared port]]&lt;br /&gt;
* Special keys&lt;br /&gt;
&lt;br /&gt;
==== Not included with this model ====&lt;br /&gt;
* [[How to setup Bluetooth|Bluetooth]]&lt;br /&gt;
* [[Integrated Fingerprint Reader]]&lt;br /&gt;
&lt;br /&gt;
=== Annoyances ===&lt;br /&gt;
&lt;br /&gt;
* Battery life&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
{{Todo|no cd-rom issue, methods, document my own}}&lt;br /&gt;
&lt;br /&gt;
== Fixes after installation ==&lt;br /&gt;
&lt;br /&gt;
=== Intel PRO/Wireless 3945ABG ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu Guide now covers this issue:&lt;br /&gt;
[http://ubuntuguide.org/wiki/Ubuntu_Edgy#How_to_get_ipw3945_and_wep.2Fwpa_to_work  ''How to get ipw3945 and wep/wpa to work'']&lt;br /&gt;
&lt;br /&gt;
===  External VGA port ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu's auto-configured [http://www.die.net/doc/linux/man/man5/xorg.conf.5.html {{path|xorg.conf}}] doesn't use the X60's external VGA port by default. This means that either another configuration utility must be used, or {{path|xorg.conf}} must be edited by hand. So far I haven't had any luck with Kubuntu's ''System Settings'' utility, so here I'm looking at direct changes to {{path|xorg.conf}}.&lt;br /&gt;
&lt;br /&gt;
==== Auto-configured xorg.conf for reference ====&lt;br /&gt;
&lt;br /&gt;
This only activates the X60's LCD, and does not use the external VGA port.&lt;br /&gt;
&lt;br /&gt;
 # /etc/X11/xorg.conf (xorg X Window System server configuration file)&lt;br /&gt;
 #&lt;br /&gt;
 # This file was generated by dexconf, the Debian X Configuration tool, using&lt;br /&gt;
 # values from the debconf database.&lt;br /&gt;
 #&lt;br /&gt;
 # Edit this file with caution, and see the /etc/X11/xorg.conf manual page.&lt;br /&gt;
 # (Type &amp;quot;man /etc/X11/xorg.conf&amp;quot; at the shell prompt.)&lt;br /&gt;
 #&lt;br /&gt;
 # This file is automatically updated on xserver-xorg package upgrades *only*&lt;br /&gt;
 # if it has not been modified since the last upgrade of the xserver-xorg&lt;br /&gt;
 # package.&lt;br /&gt;
 #&lt;br /&gt;
 # If you have edited this file but would like it to be automatically updated&lt;br /&gt;
 # again, run the following command:&lt;br /&gt;
 #   sudo dpkg-reconfigure -phigh xserver-xorg&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Files&amp;quot;&lt;br /&gt;
 	FontPath	&amp;quot;/usr/share/X11/fonts/misc&amp;quot;&lt;br /&gt;
 	FontPath	&amp;quot;/usr/share/X11/fonts/cyrillic&amp;quot;&lt;br /&gt;
 	FontPath	&amp;quot;/usr/share/X11/fonts/100dpi/:unscaled&amp;quot;&lt;br /&gt;
 	FontPath	&amp;quot;/usr/share/X11/fonts/75dpi/:unscaled&amp;quot;&lt;br /&gt;
 	FontPath	&amp;quot;/usr/share/X11/fonts/Type1&amp;quot;&lt;br /&gt;
 	FontPath	&amp;quot;/usr/share/X11/fonts/100dpi&amp;quot;&lt;br /&gt;
 	FontPath	&amp;quot;/usr/share/X11/fonts/75dpi&amp;quot;&lt;br /&gt;
 	FontPath	&amp;quot;/usr/share/fonts/X11/misc&amp;quot;&lt;br /&gt;
 	# path to defoma fonts&lt;br /&gt;
 	FontPath	&amp;quot;/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;i2c&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;bitmap&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;ddc&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;freetype&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;int10&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;type1&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;vbe&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Generic Keyboard&amp;quot;&lt;br /&gt;
 	Driver		&amp;quot;kbd&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;XkbRules&amp;quot;	&amp;quot;xorg&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;XkbModel&amp;quot;	&amp;quot;pc105&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;XkbLayout&amp;quot;	&amp;quot;us&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;XkbOptions&amp;quot;	&amp;quot;lv3:ralt_switch&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
 	Driver		&amp;quot;mouse&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;CorePointer&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;Device&amp;quot;		&amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;Protocol&amp;quot;		&amp;quot;ExplorerPS/2&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;ZAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;true&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Synaptics Touchpad&amp;quot;&lt;br /&gt;
 	Driver		&amp;quot;synaptics&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;SendCoreEvents&amp;quot;	&amp;quot;true&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;Device&amp;quot;		&amp;quot;/dev/psaux&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;Protocol&amp;quot;		&amp;quot;auto-dev&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;HorizScrollDelta&amp;quot;	&amp;quot;0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
   Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
   Identifier    &amp;quot;stylus&amp;quot;&lt;br /&gt;
   Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/wacom&amp;quot;          # Change to &lt;br /&gt;
                                                       # /dev/input/event&lt;br /&gt;
                                                       # for USB&lt;br /&gt;
   Option        &amp;quot;Type&amp;quot;          &amp;quot;stylus&amp;quot;&lt;br /&gt;
   Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;               # Tablet PC ONLY&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
   Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
   Identifier    &amp;quot;eraser&amp;quot;&lt;br /&gt;
   Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/wacom&amp;quot;          # Change to &lt;br /&gt;
                                                       # /dev/input/event&lt;br /&gt;
                                                       # for USB&lt;br /&gt;
   Option        &amp;quot;Type&amp;quot;          &amp;quot;eraser&amp;quot;&lt;br /&gt;
   Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;               # Tablet PC ONLY&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
   Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
   Identifier    &amp;quot;cursor&amp;quot;&lt;br /&gt;
   Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/wacom&amp;quot;          # Change to &lt;br /&gt;
                                                       # /dev/input/event&lt;br /&gt;
                                                       # for USB&lt;br /&gt;
   Option        &amp;quot;Type&amp;quot;          &amp;quot;cursor&amp;quot;&lt;br /&gt;
   Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;               # Tablet PC ONLY&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Intel Corporation Mobile Integrated Graphics Controller&amp;quot;&lt;br /&gt;
 	Driver		&amp;quot;i810&amp;quot;&lt;br /&gt;
 	BusID		&amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;DPMS&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Default Screen&amp;quot;&lt;br /&gt;
 	Device		&amp;quot;Intel Corporation Mobile Integrated Graphics Controller&amp;quot;&lt;br /&gt;
 	Monitor		&amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
 	DefaultDepth	24&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth		1&lt;br /&gt;
 		Modes		&amp;quot;1024x768&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth		4&lt;br /&gt;
 		Modes		&amp;quot;1024x768&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth		8&lt;br /&gt;
 		Modes		&amp;quot;1024x768&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth		15&lt;br /&gt;
 		Modes		&amp;quot;1024x768&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth		16&lt;br /&gt;
 		Modes		&amp;quot;1024x768&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth		24&lt;br /&gt;
 		Modes		&amp;quot;1024x768&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Default Layout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Default Screen&amp;quot;&lt;br /&gt;
 	InputDevice	&amp;quot;Generic Keyboard&amp;quot;&lt;br /&gt;
 	InputDevice	&amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
 	InputDevice     &amp;quot;stylus&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
 	InputDevice     &amp;quot;cursor&amp;quot; &amp;quot;SendCoreEvents&amp;quot;uses&lt;br /&gt;
 	InputDevice     &amp;quot;eraser&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
 	InputDevice	&amp;quot;Synaptics Touchpad&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;DRI&amp;quot;&lt;br /&gt;
 	Mode	0666&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
==== Cloned display ====&lt;br /&gt;
&lt;br /&gt;
{{Todo|description, xorg.conf example}}&lt;br /&gt;
&lt;br /&gt;
==== Extended workspace ====&lt;br /&gt;
&lt;br /&gt;
{{Todo|description of issue}}&lt;br /&gt;
&lt;br /&gt;
=== Hard drive protection ===&lt;br /&gt;
&lt;br /&gt;
{{Todo|working detection, issue of protection}}&lt;br /&gt;
&lt;br /&gt;
[[Category:X60]]&lt;br /&gt;
[[Category:Kubuntu]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/tp-fancontrol.init&amp;diff=29244</id>
		<title>Code/tp-fancontrol.init</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/tp-fancontrol.init&amp;diff=29244"/>
		<updated>2007-04-12T04:53:44Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#! /bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides:             tp-fancontrol&lt;br /&gt;
# Default-Start:        2 3 4 5&lt;br /&gt;
# Default-Stop:         S 0 1 6&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
# Copyright (c) 2006 Ronald Aigner &amp;lt;ra3@os.inf.tu-dresden.de&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
DAEMON=/usr/bin/tp-fancontrol&lt;br /&gt;
NAME=tp-fancontrol&lt;br /&gt;
DAEMONUSER=root&lt;br /&gt;
PIDDIR=/var/run&lt;br /&gt;
PIDFILE=$PIDDIR/tp-fancontrol.pid&lt;br /&gt;
DESC=&amp;quot;Thinkpad CPU fan control&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test -x $DAEMON || exit 0&lt;br /&gt;
&lt;br /&gt;
# source config file; edit that file to configure this script&lt;br /&gt;
TEMP_SHIFT=0&lt;br /&gt;
LOG_SYSLOG=1&lt;br /&gt;
QUIET=1&lt;br /&gt;
if [ -e /etc/tp-fancontrol.conf ]; then&lt;br /&gt;
  . /etc/tp-fancontrol.conf&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
start_it()&lt;br /&gt;
{&lt;br /&gt;
  PARAMS=-d&lt;br /&gt;
  if [ -e $PIDFILE ]; then&lt;br /&gt;
    echo &amp;quot;$DESC already running. Stop first.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
  fi&lt;br /&gt;
  if [ &amp;quot;$TEMP_SHIFT&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
    PARAMS=$PARAMS&amp;quot; -s $TEMP_SHIFT&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
  if [ &amp;quot;$LOG_SYSLOG&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
    PARAMS=$PARAMS&amp;quot; -l&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    if [ &amp;quot;$QUIET&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
      PARAMS=$PARAMS&amp;quot; -q&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
  PARAMS=$PARAMS&amp;quot; -p $PIDFILE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  echo -n &amp;quot;Starting $DESC: $NAME ... &amp;quot;&lt;br /&gt;
  $DAEMON $PARAMS&lt;br /&gt;
  if [ &amp;quot;$?&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Success.&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    echo &amp;quot;Error while starting: $?&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
stop_it()&lt;br /&gt;
{&lt;br /&gt;
  if [ -e $PIDFILE ]; then&lt;br /&gt;
    echo -n &amp;quot;Stopping $DESC ... &amp;quot;&lt;br /&gt;
    $DAEMON -k&lt;br /&gt;
    if [ &amp;quot;$?&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
      echo &amp;quot;Success.&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
      echo &amp;quot;Error while stopping: $?&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  else&lt;br /&gt;
    echo &amp;quot;$DESC not running.&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
restart_it()&lt;br /&gt;
{&lt;br /&gt;
  if [ -e $PIDFILE ]; then&lt;br /&gt;
    stop_it&lt;br /&gt;
    sleep 2&lt;br /&gt;
  fi&lt;br /&gt;
  start_it&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
    start_it&lt;br /&gt;
  ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    stop_it&lt;br /&gt;
  ;;&lt;br /&gt;
  reload|force-reload|restart)&lt;br /&gt;
    restart_it&lt;br /&gt;
  ;;&lt;br /&gt;
  *)&lt;br /&gt;
    echo &amp;quot;Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
  ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Hitachi_Travelstar_5K100&amp;diff=29243</id>
		<title>Hitachi Travelstar 5K100</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Hitachi_Travelstar_5K100&amp;diff=29243"/>
		<updated>2007-04-12T04:53:39Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
This is a family of 5400RPM 2.5&amp;quot; hard disks manufactured by Hitachi.  They are available in various sizes, and in both PATA (ATA-6) and SATA interfaces.  Only the ATA-6 disks were shipped with ThinkPads though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+PATA (ATA-6) interface models:&lt;br /&gt;
! Model !! Size&lt;br /&gt;
|-&lt;br /&gt;
|HTS541010G9AT00 || 100GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541080G9AT00 || 80GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541060G9AT00 || 60GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541040G9AT00 || 40GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541030G9AT00 || 30GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541020G9AT00 || 20GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+SATA-I interface models:&lt;br /&gt;
! Model !! Size&lt;br /&gt;
|-&lt;br /&gt;
|HTS541010G9SA00 || 100GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541080G9SA00 || 80GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541060G9SA00 || 60GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541040G9SA00 || 40GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541030G9SA00 || 30GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541020G9SA00 || 20GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
* [http://www.hitachigst.com/hdd/support/5k100/5k100_ov.htm Overview]&lt;br /&gt;
* [http://www.hitachigst.com/hdd/support/5k100/5k100.htm General specifications]&lt;br /&gt;
* [http://www.hitachigst.com/tech/techlib.nsf/techdocs/98F75D1B2B25C42F86256EBC0065A2F9/$file/T5K100_sp.pdf Detailed specifications (ATA-6 models)]&lt;br /&gt;
* [http://www.hitachigst.com/tech/techlib.nsf/products/Travelstar_5K100 Technical documents]&lt;br /&gt;
&lt;br /&gt;
==Models shipped with this disk==&lt;br /&gt;
* {{T43}}, {{T43p}}&lt;br /&gt;
* ThinkPad {{R52}}&lt;br /&gt;
* Thinkpad {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
==Firmware==&lt;br /&gt;
&lt;br /&gt;
On some ThinkPad models, you must buy the IBM-branded version of this drive, since the Hitachi-branded version has an incompatible and unupgradable firmware (see [[Problem with non-ThinkPad hard disks]]).&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Harddisk Drives]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Ajbarr&amp;diff=29242</id>
		<title>User:Ajbarr</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Ajbarr&amp;diff=29242"/>
		<updated>2007-04-12T04:53:36Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Who I Am &amp;amp; Why you should care=&lt;br /&gt;
&lt;br /&gt;
My name is Andrew Barr and I maintain the following ThinkPad bits for Debian/Ubuntu:&lt;br /&gt;
&lt;br /&gt;
* [http://www.oakcourt.dyndns.org/projects/khdapsmon khdapsmon] -- KDE system tray applet that I wrote to replicate the basic functionality of the Windows HDAPS monitor.&lt;br /&gt;
&lt;br /&gt;
I can be reached at username andrew.james.barr on Google's Gmail if something is wrong with one of the things listed above.&lt;br /&gt;
&lt;br /&gt;
=Latest News=&lt;br /&gt;
&lt;br /&gt;
===2006.04.16===&lt;br /&gt;
&lt;br /&gt;
Happy Easter! at my ThinkPad Debian repository, there are a few new packages:&lt;br /&gt;
&lt;br /&gt;
* gnome-hdaps-applet -- GNOME equivilant of my khdapsmon.&lt;br /&gt;
* kernel-patch-tpsmapi&lt;br /&gt;
* tpsmapi-utils -- init script for tp_smapi.&lt;br /&gt;
&lt;br /&gt;
Also the hdapsd daemon has a new version.&lt;br /&gt;
&lt;br /&gt;
===2007.01.19===&lt;br /&gt;
&lt;br /&gt;
Please don't use my Debian repo any more. Most of the software there is terribly out of date and now Apache returns '410 Gone' for that URI.&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=2662-MQG&amp;diff=29241</id>
		<title>2662-MQG</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=2662-MQG&amp;diff=29241"/>
		<updated>2007-04-12T04:53:32Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IBM ThinkPad X24 2662-MQG Specifications =&lt;br /&gt;
&lt;br /&gt;
== CPU, Chipset and Memory ==&lt;br /&gt;
{|&lt;br /&gt;
|Processor Manufacturer || Intel&lt;br /&gt;
|-&lt;br /&gt;
|Processor Class || Intel Mobile Pentium III-M&lt;br /&gt;
|-&lt;br /&gt;
|Processor Speed || 1133 MHz&lt;br /&gt;
|-&lt;br /&gt;
|Cache Size || 512 kB&lt;br /&gt;
|-&lt;br /&gt;
|Chipset || Intel 830MP, ICH3-M&lt;br /&gt;
|-&lt;br /&gt;
|Installed Memory || 128 MB (soldered on board)&lt;br /&gt;
|-&lt;br /&gt;
|Maximum Memory || 640 MB (128 M on board, 512 M in the SO-DIMM slot)&lt;br /&gt;
|- &lt;br /&gt;
|Memory Technology || single channel PC133 SDR-SDRAM&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
{|&lt;br /&gt;
|Hard Drive Model || IBM Travelstar 40GN IC25N030ATCS04-0, 4200 rpm 2.5&amp;quot; Ultra-ATA/100&lt;br /&gt;
|-&lt;br /&gt;
|Hard Drive Capacity || 30 GB&lt;br /&gt;
|-&lt;br /&gt;
|Included Drives || optional in UltraBase X2: 3.5&amp;quot; FDD, LG HL-DT-STDVD-ROM GDR8081N DVD-ROM/DVD-RAM reader&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Display and Graphics ==&lt;br /&gt;
{|&lt;br /&gt;
|Display Size || 12.1 inch&lt;br /&gt;
|-&lt;br /&gt;
|Display Type || TFT active matrix&lt;br /&gt;
|-&lt;br /&gt;
|Display Resolution || 1024 x 768 pixels&lt;br /&gt;
|-&lt;br /&gt;
|Max. External Resolution || 2048 x 1536 pixels&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Processor || ATI MOBILITY Radeon M6 (AGP 4x)&lt;br /&gt;
|-&lt;br /&gt;
|Video Memory || 8 MB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
{|&lt;br /&gt;
|Battery Model || 6 cell&lt;br /&gt;
|-&lt;br /&gt;
|Battery Life || 3.0 hour(s)&lt;br /&gt;
|-&lt;br /&gt;
|Battery Type || Lithium ion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Communications and Networking ==&lt;br /&gt;
{|&lt;br /&gt;
|Bluetooth || No&lt;br /&gt;
|-&lt;br /&gt;
|Modem Speed || V.90 LT Winmodem 56k 0449144F&lt;br /&gt;
|-&lt;br /&gt;
|Network LAN || Intel Pro/100 VE (EDC in CDC slot) 10Base-T/100Base-TX Ethernet&lt;br /&gt;
|-&lt;br /&gt;
|Network WLAN || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
{|&lt;br /&gt;
|Shipped Operating System || Microsoft Windows XP Professional&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connectors ==&lt;br /&gt;
{|&lt;br /&gt;
|Audio || 1 x microphone - input - mini-phone mono 3.5 mm , 1 x audio - line-out/headphones - mini-phone stereo 3.5 mm, 1 x audio - line-in - mini-phone stereo 3.5 mm &lt;br /&gt;
|-&lt;br /&gt;
|Modem || 1 x modem - phone line - RJ-11&lt;br /&gt;
|-&lt;br /&gt;
|Network || 1 x network - Ethernet 10Base-T/100Base-TX - RJ-45&lt;br /&gt;
|-&lt;br /&gt;
|PC Card || 1 x CardBus slot Type II&lt;br /&gt;
|-&lt;br /&gt;
|USB || 2 x USB - 4 pin USB Type A&lt;br /&gt;
|-&lt;br /&gt;
|Video || 1 x VGA - 15 pin HD D-Sub (HD-15)&lt;br /&gt;
|-&lt;br /&gt;
|CF-Card || 1 x Compact Flash Card Reader&lt;br /&gt;
|-&lt;br /&gt;
|IR || 1 x infrared - IrDA&lt;br /&gt;
|-&lt;br /&gt;
|UltraPort || 1x IBM UltraPort (integrated proprietary USB 1.1)&lt;br /&gt;
|-&lt;br /&gt;
|via optional UltraBase X2 || Serial Port (DB9-M), Parallel Port (DB25-F), Combined PS/2 Port Mouse + Keyboard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Product Info ==&lt;br /&gt;
{|&lt;br /&gt;
|Input Devices || Keyboard, TrackPoint&lt;br /&gt;
|-&lt;br /&gt;
|Included Sound Card || Intel 82801CAM (ICH3-M) AC'97 Audio Controller&lt;br /&gt;
|-&lt;br /&gt;
|Weight || 3.6 lbs&lt;br /&gt;
|-&lt;br /&gt;
|Also known as || ...&lt;br /&gt;
|-&lt;br /&gt;
|Manufacturer Part No. || &lt;br /&gt;
|-&lt;br /&gt;
|Dimension || 1.2 in x 11.0 in x 8.9 in (HxWxD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:X24]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Automatically_reduce_brightness&amp;diff=29199</id>
		<title>Automatically reduce brightness</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Automatically_reduce_brightness&amp;diff=29199"/>
		<updated>2007-04-11T05:01:03Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The idea ==&lt;br /&gt;
When watching someone working with an iBook I noticed that the brightness automatically faded to the lowest level after a few seconds of inactivity. I think that this is a simple way to save power. I wrote a c-daemon which uses the XScreenSaver extension to check whether the user is active. If he is not, it lowers the brightness to a specific level. When he is active again, the brightness is reset to the previous level.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
A recent kernel with IBM ACPI extensions. (You should have a file called {{path|/proc/acpi/ibm/brightness}})&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Download the [http://pberndt.com/Programme/Linux/brightd/_download/brightd.tar.bz2 brightness control daemon]&lt;br /&gt;
# Unpack it and chdir into the {{path|brightd}} directory&lt;br /&gt;
# Call {{cmduser|make}}&lt;br /&gt;
# Move the {{path|brightd}} executable into a directory like {{path|/usr/local/bin}}&lt;br /&gt;
# Put {{cmduser|brightd -d}} into your {{path|~/.Xsession}} (or another distro-specific startup script)&lt;br /&gt;
# Change the permissions of {{path|/proc/acpi/ibm/brightness}} so that your user can write to that file&lt;br /&gt;
&lt;br /&gt;
See the README for more detailled instructions and command line parameters.&lt;br /&gt;
&lt;br /&gt;
== Example installation for Gentoo linux and XFCE4 ==&lt;br /&gt;
 $ wget -o /dev/null -O brightd.tar.bz2 &amp;quot;http://pberndt.com/Programme/Linux/brightd/_download/brightd.tar.bz2?ct=raw&amp;amp;sub=att&amp;quot;&lt;br /&gt;
 $ tar xjf brightd.tar.bz2&lt;br /&gt;
 $ cd brightd/&lt;br /&gt;
 $ make&lt;br /&gt;
 gcc -lX11 -lXss -o brightd brightd.c&lt;br /&gt;
 $ cp brightd /usr/local/bin/&lt;br /&gt;
 $ cd /etc/xdg/xfce4&lt;br /&gt;
 $ vi xinitrc&lt;br /&gt;
 73Gi&lt;br /&gt;
 /usr/local/bin/brightd -s 5 -w 2 -d&lt;br /&gt;
 &amp;lt;escape&amp;gt;:x &lt;br /&gt;
 $ cd /etc/init.d/&lt;br /&gt;
 $ cat &amp;gt; permissions&lt;br /&gt;
 start() {&lt;br /&gt;
         ebegin &amp;quot;Setting permissions on /proc&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
         chmod g+w /proc/acpi/ibm/brightness&lt;br /&gt;
         chgrp wheel /proc/acpi/ibm/brightness&lt;br /&gt;
 &lt;br /&gt;
         eend $?&lt;br /&gt;
 }&lt;br /&gt;
 $ chmod a+x permissions&lt;br /&gt;
 $ rc-update add permissions boot&lt;br /&gt;
 $ ./permissions start&lt;br /&gt;
&lt;br /&gt;
Done. Restart X to see it working.&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:ThinkPad_series&amp;diff=29198</id>
		<title>Talk:ThinkPad series</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:ThinkPad_series&amp;diff=29198"/>
		<updated>2007-04-11T05:00:35Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is the text of the page as we had it for a long time. I changed it, however, copying information found on [[Wikipedia:ThinkPad]], since this makes more sense to me. The information below was outdated anyway and can easily be found on the Lenovo ThinkPad page.&lt;br /&gt;
&lt;br /&gt;
AKW, i think you introduced this page. If we want to keep the information, we should find a new place for it. as far as I'm concerned, we can just put it to {{path|/dev/null}}. ;-)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 22:10, 23 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
'''Note: The information on this page is provided by [http://www-132.ibm.com/webapp/wcs/stores/servlet/CategoryDisplay?lang=en_US&amp;amp;catalogId=-840&amp;amp;categoryId=2035724&amp;amp;cgmenbr=1&amp;amp;langId=-1&amp;amp;cgrfnbr=2035724&amp;amp;cntrfnbr=1&amp;amp;storeId=1&amp;amp;cntry=840 IBM/Lenovo] for commercial reasons.&lt;br /&gt;
&lt;br /&gt;
== Thinkpad Z Series ==&lt;br /&gt;
Stylish Notebooks for Work and Life&lt;br /&gt;
# IntelÂ® CentrinoTM Mobile Technology for outstanding wireless performance (select models)&lt;br /&gt;
# Choice of 14&amp;quot; (Z60t) or 15.4&amp;quot; (Z60m) widescreen models&lt;br /&gt;
# ATI Discrete Graphics (select models)&lt;br /&gt;
# Titanium Special Edition Cover (select models)&lt;br /&gt;
# MaxBright Screen Display (select models)&lt;br /&gt;
# Travel weight starting at 4.1 lb and less than 1.1&amp;quot; thin&lt;br /&gt;
# Integrated Fingerprint Reader for security made simple (select models)&lt;br /&gt;
# Integrated ThinkPad 11a/b/g Wi-FiÂ® wireless (select models)&lt;br /&gt;
# Airbag-like ThinkVantageTM Active Protection System&lt;br /&gt;
 &lt;br /&gt;
== ThinkPad R Series ==&lt;br /&gt;
Mainstream performance and features&lt;br /&gt;
# IntelÂ® CentrinoTM Mobile Technology for outstanding wireless performance (select models)&lt;br /&gt;
# Travel weight starting at 5.8 lb and less than 1&amp;quot; thin&lt;br /&gt;
# 14.1' and 15' TFT displays available&lt;br /&gt;
# Standard battery life up to 6 hours (select models)&lt;br /&gt;
# Airbag-like Active Protection System to help protect your hard drive (select models)&lt;br /&gt;
# Integrated 11a/b/g Wi-FiÂ® wireless (select models)&lt;br /&gt;
# ThinkPad R50e models with 15' TFT displays available at attractive entry prices&lt;br /&gt;
# Built-in data backup and protection&lt;br /&gt;
&lt;br /&gt;
== ThinkPad T Series ==&lt;br /&gt;
Perfect balance of performance and portability&lt;br /&gt;
# IntelÂ® CentrinoTM Mobile Technology for outstanding wireless performance (select models)&lt;br /&gt;
# 14.1' TFT display models with travel weights starting at 4.5 lb and less than 1&amp;quot; thin&lt;br /&gt;
# 15' TFT display models with travel weights starting at 5.3 lb and less than 1&amp;quot; thin&lt;br /&gt;
# Standard battery life up to 7 hours (select models)&lt;br /&gt;
# Airbag-like Active Protection System to help protect your hard drive&lt;br /&gt;
# Data backup and protection (requires software download on select models)&lt;br /&gt;
# Integrated ThinkPad 11a/b or 11a/b/g Wi-FiÂ® wireless (select models)&lt;br /&gt;
# ISV-certified mobile workstation models available&lt;br /&gt;
&lt;br /&gt;
== ThinkPad X Series Tablet ==&lt;br /&gt;
Ultimate mobility in a tablet ultraportable&lt;br /&gt;
# IntelÂ® CentrinoTM Mobile Technology for outstanding wireless performance (select models)&lt;br /&gt;
# Integrated Fingerprint Reader for security made simple (select models)&lt;br /&gt;
# Tablet Digitizer Pen for on-screen handwriting&lt;br /&gt;
# 180Â° Rotating Screen for improved visibility&lt;br /&gt;
# Starting at 3.5 lb and less than 1.14&amp;quot; thin&lt;br /&gt;
# Long standard battery life up to 6.3 hours (select models)&lt;br /&gt;
# Integrated Intel or ThinkPad 11a/b/g Wi-FiÂ® wireless (select models)&lt;br /&gt;
# Airbag-like Active Protection System&lt;br /&gt;
# Built-in data backup and protection&lt;br /&gt;
# Supports optional ThinkPad X4 Dock for easy expansion&lt;br /&gt;
&lt;br /&gt;
== ThinkPad X Series ==&lt;br /&gt;
Ultimate mobility in a versatile ultraportable&lt;br /&gt;
# IntelÂ® CentrinoTM Mobile Technology for outstanding wireless performance (select models)&lt;br /&gt;
# Starting at 2.7 lb and less than 1&amp;quot; thin&lt;br /&gt;
# Long standard battery life up to 7.5 hours (select models)&lt;br /&gt;
# Integrated Intel or ThinkPad 11a/b/g Wi-FiÂ® wireless (select models)&lt;br /&gt;
# Airbag-like Active Protection System&lt;br /&gt;
# Built-in data backup and protection&lt;br /&gt;
# Supports optional ThinkPad UltraBase for easy expansion&lt;br /&gt;
	&lt;br /&gt;
== ThinkPad G Series ==&lt;br /&gt;
Powerful desktop replacements&lt;br /&gt;
# Select models are available with IntelÂ® PentiumÂ® 4 Processors with Hyperthreading Technology&lt;br /&gt;
# NVIDIA GeForce FX Go5200 graphics (select models)&lt;br /&gt;
# Travel weight starting at 7.7 lb and less than 1&amp;quot; thin&lt;br /&gt;
# Up to 15' SXGA+ TFT display&lt;br /&gt;
# Ergonomic EasyPivot base and ComfortSlant keyboard&lt;br /&gt;
# Built-in data backup and protection&lt;br /&gt;
# Integrated ThinkPad 11a/b or 11a/b/g Wi-FiÂ® wireless (select models)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Ubuntu_5.10_on_a_ThinkPad_R50e&amp;diff=29197</id>
		<title>Talk:Installing Ubuntu 5.10 on a ThinkPad R50e</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Ubuntu_5.10_on_a_ThinkPad_R50e&amp;diff=29197"/>
		<updated>2007-04-11T04:59:47Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Undo corruption&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== dual head with Xinerama on R50e ==&lt;br /&gt;
I managed to have Ubuntu with dual screen &amp;amp; xinerama work properly after a few attempts. However, the solution is not very polished yet and I need to swap my xorg.confs around (with a script) and restart the X server (logout, ctrl-alt-backspace) each time I go from single screen to dual screen or the opposite. Which is why I don't post on the main R50e page.&lt;br /&gt;
&lt;br /&gt;
Here is my dual screen xorg.conf for those interested, used on Dapper 6.06 TLS. I plug the external screen before bootup, this might have an impact on wether it works.&lt;br /&gt;
&lt;br /&gt;
stripped of &amp;quot;Files&amp;quot; and &amp;quot;InputDevice&amp;quot; sections&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;GLcore&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;i2c&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;bitmap&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;ddc&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;freetype&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;int10&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;type1&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;vbe&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;I855 A&amp;quot;&lt;br /&gt;
 	Driver		&amp;quot;i810&amp;quot;&lt;br /&gt;
 	BusID		&amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
 	Option      	&amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;&lt;br /&gt;
 #        Option      	&amp;quot;DevicePresence&amp;quot; &amp;quot;yes&amp;quot;&lt;br /&gt;
 #        Option      	&amp;quot;CheckDevices&amp;quot; &amp;quot;yes&amp;quot;&lt;br /&gt;
         Option      	&amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
         Option          &amp;quot;Clone&amp;quot; &amp;quot;no&amp;quot;&lt;br /&gt;
         Screen          0&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;I855 B&amp;quot;&lt;br /&gt;
 	Driver		&amp;quot;i810&amp;quot;&lt;br /&gt;
 	BusID		&amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
         Option      	&amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
         Option          &amp;quot;Clone&amp;quot; &amp;quot;no&amp;quot;&lt;br /&gt;
 #        Option          &amp;quot;UseSSE&amp;quot; &amp;quot;no&amp;quot;&lt;br /&gt;
 	Screen		1&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Lid monitor&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;DPMS&amp;quot;&lt;br /&gt;
         VertRefresh     56.3-60.0&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;External monitor&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;DPMS&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Default Screen&amp;quot;&lt;br /&gt;
 	Device		&amp;quot;I855 B&amp;quot;&lt;br /&gt;
 	Monitor		&amp;quot;Lid monitor&amp;quot;&lt;br /&gt;
 	DefaultDepth	24&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Viewport	0 0&lt;br /&gt;
 		Depth		24&lt;br /&gt;
 		Modes		&amp;quot;1280x1024&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Secondary Screen&amp;quot;&lt;br /&gt;
 	Device		&amp;quot;I855 A&amp;quot;&lt;br /&gt;
 	Monitor		&amp;quot;External monitor&amp;quot;&lt;br /&gt;
 	DefaultDepth	24&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Viewport	0 0&lt;br /&gt;
 		Depth		24&lt;br /&gt;
 		Modes		&amp;quot;1280x1024&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 #	Option &amp;quot;NoInt10&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Standard&amp;quot;&lt;br /&gt;
         Screen          &amp;quot;Default Screen&amp;quot;&lt;br /&gt;
 	InputDevice	&amp;quot;Generic Keyboard&amp;quot;&lt;br /&gt;
 	InputDevice	&amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
 	InputDevice	&amp;quot;Synaptics Touchpad&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;Multihead&amp;quot;&lt;br /&gt;
         Screen          &amp;quot;Secondary Screen&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Default Screen&amp;quot; Above &amp;quot;Secondary Screen&amp;quot;&lt;br /&gt;
 	InputDevice	&amp;quot;Generic Keyboard&amp;quot;&lt;br /&gt;
 	InputDevice	&amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
 	InputDevice	&amp;quot;Synaptics Touchpad&amp;quot;&lt;br /&gt;
         Option          &amp;quot;Xinerama&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
 	Option		&amp;quot;DefaultServerLayout&amp;quot;	&amp;quot;Multihead&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;DRI&amp;quot;&lt;br /&gt;
 	Mode	0666&lt;br /&gt;
 EndSection&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Graphics_Media_Accelerator_900&amp;diff=29056</id>
		<title>Intel Graphics Media Accelerator 900</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Graphics_Media_Accelerator_900&amp;diff=29056"/>
		<updated>2007-04-05T11:01:07Z</updated>

		<summary type="html">&lt;p&gt;Defiant: &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;
=== Intel Graphics Media Accelerator 900 ===&lt;br /&gt;
This is an Intel video adapter&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Integrated into the following chipsets:&lt;br /&gt;
** [[Intel 910GML]]&lt;br /&gt;
** [[Intel 915GM]]&lt;br /&gt;
* PCI ID: 8086:2592&lt;br /&gt;
* Uses up to 128MB of main memory&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;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the 'i810' driver as part of the X.Org distribution&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For '''DRI-Support''', you may have to install the latest Drivers from [http://dri.freedesktop.org/snapshots/ DRI Snapshot] you need following files:&amp;lt;br&amp;gt;&lt;br /&gt;
''common-&amp;lt;CurrentVersion&amp;gt;-linux.i386.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
i915-&amp;lt;CurrentVersion&amp;gt;-linux.tar.bz2''&amp;lt;br&amp;gt;&lt;br /&gt;
Extract both in the same Directory and run install.sh&amp;lt;br&amp;gt;&lt;br /&gt;
After that restart your X-Server and enjoy OpenGL-Support ;-)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
At least on a T43, you also want to add acpi_sleep=s3_bios to the kernel command line (edit your LILO or GRUB configuration file to do that), in order to make sure that Xorg continues to work after a suspend/resume cycle.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For those who is using Gentoo with xorg-x11-6.8.2 and can't get i810 driver working: you can emerge xorg-x11-6.9.0 (unmask it first) and everything will work out of the box (tested with kernel 2.6.15-gentoo-r1).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''Warning:''' Debian users, do not install the DRI Snapshot, it will overwrite several files in several packages and cause you all manner of grief. (not if you build whole Xorg release, for example 6.9.0 which includes DRI and then install it to '/usr/local' - which is the default location if you install with 'make install') If you're using Stable with xorg from sarge-backports (at backports.org), you can install all the required files from that repository, Etch (Testing/Unstable) users can install from the Testing/Unstable repositories at debian.org&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
'''Debian success story''':It is wise to choose relatively fresh kernel version (2.6.17.13 works for sure). It will contain driver module '''i915'''. For DRI to work there should be 4 kernel modules: agpgart, intel_agp, drm and i915. There also must be fresh xorg graphic driver (i810). Xorg 6.9.0 is fresh enough (in older version, namely XFree 4.3 everything compiles with no problems, but after starting X enviroment screen gets black although you can hear sounds). While building Xorg don't 'make install', use checkinstall instead: 'checkinstall --showinstall=yes -D &amp;quot;make install&amp;quot;'. Detailed instructions for setting up and troubleshooting DRI can be found at: [http://dri.freedesktop.org/wiki/DriTroubleshooting http://dri.freedesktop.org/wiki/DriTroubleshooting] and [http://dri.sourceforge.net/doc/DRIuserguide.html http://dri.sourceforge.net/doc/DRIuserguide.html]. Remember to set bus mastering. To check whether DRI is running use 'glxinfo'.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux Intel driver ===&lt;br /&gt;
You can find Linux drivers for this card on [http://www.intel.com/support/graphics/linux/index.htm Intel's site]. The site offers much information about how to install this card on many distributions, mainly Red Hat and SuSe.  The &amp;quot;Intel&amp;quot; driver above is just a snapshot of the Xorg/XFree86 driver.&lt;br /&gt;
&lt;br /&gt;
The display now (Fedora Core 5 - xorg-x11-server-Xorg-1.0.1-9.fc5.1.1) works perfectly using X.Org driver. All you need to do is change xorg.conf frequencies in the monitor section like this:&lt;br /&gt;
&lt;br /&gt;
        HorizSync    31.5-90&lt;br /&gt;
        VertRefresh  50-90&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correct.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
Works well in clone mode at least. Dualhead is supported.&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
            Identifier      &amp;quot;Intel Corporation Intel Default Card&amp;quot;&lt;br /&gt;
            Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
            BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
            Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP,CRT+LFP&amp;quot;&lt;br /&gt;
            Option          &amp;quot;Clone&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
Now you can enable|disable vga out with i810switch crt on|off&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
See above, but use&lt;br /&gt;
        Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;TV,LFP,TV+LFP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now you can turn on/off the TV-Out by executing the commands&lt;br /&gt;
:{{cmdroot|echo &amp;quot;dvi_enable&amp;quot; &amp;gt; /proc/acpi/ibm/video}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|echo &amp;quot;dvi_disable&amp;quot; &amp;gt; /proc/acpi/ibm/video}}&lt;br /&gt;
Or toggle between them with&lt;br /&gt;
:{{cmdroot|echo &amp;quot;video_switch&amp;quot; &amp;gt; /proc/acpi/ibm/video}}&lt;br /&gt;
&lt;br /&gt;
This is known to work on a T43.&lt;br /&gt;
{{HINT|Of course you can also use all 3, that makes &amp;quot;LFP,LFP+CRT,LFP+TV&amp;quot;.}}&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Problems with high resolution video playback ====&lt;br /&gt;
If you get this error, because you eg try to play HDTV on 1024x768&lt;br /&gt;
        X11 error: BadAlloc (insufficient resources for operation)&lt;br /&gt;
try the following option:&lt;br /&gt;
        Option          &amp;quot;LinearAlloc&amp;quot; &amp;quot;6144&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Setting up two screens ====&lt;br /&gt;
If you have an external monitor, and you want to use both your internal LCD display and your external monitor, you'll have to make some changes in the default /etc/X11/xorg.conf. With the changes below, your X uses both monitors, and you can move your mouse pointer from one screen to the other, let some of your applications run on one screen, and the other applications run on the other. Unfortunately, you can't move the application from one screen to the other. If someone knows how to achieve that, I would appreciate a posting here.&lt;br /&gt;
&lt;br /&gt;
Step 1: Define two devices.&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Intel Corporation Intel Default Card&amp;quot;&lt;br /&gt;
                Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
                BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
                Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
                Screen          0&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Device&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Intel Corporation Intel Default Card External&amp;quot;&lt;br /&gt;
                Driver          &amp;quot;i810&amp;quot;&lt;br /&gt;
                BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
                Option          &amp;quot;Display&amp;quot;       &amp;quot;CRT&amp;quot;&lt;br /&gt;
                Option          &amp;quot;MonitorLayout&amp;quot; &amp;quot;CRT,LFP&amp;quot;&lt;br /&gt;
                Screen          1&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Step 2: Define two monitors. The first one is your external monitor and the second one is your internal LCD. '''You must adapt the values for HorizSync, VertRefresh and the Display Size for your external monitor!''' The examples below work for a Samsung Samtron 94B.&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;External Monitor&amp;quot;&lt;br /&gt;
                HorizSync       30-81&lt;br /&gt;
                VertRefresh     56-75&lt;br /&gt;
                DisplaySize     372 301&lt;br /&gt;
                Option          &amp;quot;DPMS&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
                HorizSync       31.5-90&lt;br /&gt;
                VertRefresh     50-90&lt;br /&gt;
                Option          &amp;quot;DPMS&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Step 3: Define two screens. '''Again, check the values for the second screen, they must fit to your external monitor!'''&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Default Screen&amp;quot;&lt;br /&gt;
                Device          &amp;quot;Intel Corporation Intel Default Card&amp;quot;&lt;br /&gt;
                Monitor         &amp;quot;Generic Monitor&amp;quot;&lt;br /&gt;
                DefaultDepth    24&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           1&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           4&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           8&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           15&lt;br /&gt;
                        Modes           &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           16&lt;br /&gt;
                        Modes           &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           24&lt;br /&gt;
                        Modes           &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;External Screen&amp;quot;&lt;br /&gt;
                Device          &amp;quot;Intel Corporation Intel Default Card External&amp;quot;&lt;br /&gt;
                Monitor         &amp;quot;External Monitor&amp;quot;&lt;br /&gt;
                DefaultDepth    24&lt;br /&gt;
                SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                        Depth           24&lt;br /&gt;
                        Modes           &amp;quot;1280x1024&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot;&lt;br /&gt;
                EndSubSection&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
Step 4: Define the server layout. Define the position of your internal LCD screen (my X41 is LeftOf my external screen)&lt;br /&gt;
&lt;br /&gt;
        Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
                Identifier      &amp;quot;Default Layout&amp;quot;&lt;br /&gt;
                Screen          0 &amp;quot;External Screen&amp;quot;&lt;br /&gt;
                Screen          1 &amp;quot;Default Screen&amp;quot; LeftOf &amp;quot;External Screen&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Generic Keyboard&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
                InputDevice     &amp;quot;Generic Mouse&amp;quot;&lt;br /&gt;
        EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{HINT|Of course you must have a proper Section &amp;quot;Files&amp;quot;, a Section &amp;quot;Modules&amp;quot;, a Section &amp;quot;InputDevice&amp;quot; with Identifier &amp;quot;Generic Keyboard&amp;quot;, a Section &amp;quot;InputDevice&amp;quot; with Identifier &amp;quot;Configured Mouse&amp;quot;, a Section &amp;quot;InputDevice&amp;quot; with Identifier &amp;quot;Generic Mouse&amp;quot; before you define the  devices, and a Section &amp;quot;DRI&amp;quot; after the ServerLayout definition. }}&lt;br /&gt;
&lt;br /&gt;
==== DVI port ====&lt;br /&gt;
DVI could theoretically be supported if a TMDS transmitter where hooked up to one of the pipes, which is NOT the case on any ThinkPad.&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'intelfb' driver as part of any recent 2.4 or 2.6 kernel.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{R52}}&lt;br /&gt;
* {{T43}}&lt;br /&gt;
* {{X41}}, {{X41T}}&lt;br /&gt;
* {{Z60m}}, {{Z60t}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Installation_instructions_for_the_ThinkPad_770E&amp;diff=28421</id>
		<title>Talk:Installation instructions for the ThinkPad 770E</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Installation_instructions_for_the_ThinkPad_770E&amp;diff=28421"/>
		<updated>2007-02-25T09:51:17Z</updated>

		<summary type="html">&lt;p&gt;Defiant: reverted to last spam free version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=2668-C2U&amp;diff=28420</id>
		<title>2668-C2U</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=2668-C2U&amp;diff=28420"/>
		<updated>2007-02-25T09:51:15Z</updated>

		<summary type="html">&lt;p&gt;Defiant: reverted to last spam free version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IBM ThinkPad T43 2668-C2U Specifications =&lt;br /&gt;
&lt;br /&gt;
== CPU and Memory ==&lt;br /&gt;
{|&lt;br /&gt;
|Processor Manufacturer || Intel&lt;br /&gt;
|-&lt;br /&gt;
|Processor Class || (Pentium M Dothan)&lt;br /&gt;
|-&lt;br /&gt;
|Processor Name || Intel Pentium M 760&lt;br /&gt;
|-&lt;br /&gt;
|Processor Speed || 2.0 GHz&lt;br /&gt;
|-&lt;br /&gt;
|Installed Memory || 512 MB&lt;br /&gt;
|-&lt;br /&gt;
|Maximum Memory || 2 GB&lt;br /&gt;
|- &lt;br /&gt;
|Memory Technology || DDR2 SDRAM - 533 MHz&lt;br /&gt;
|-&lt;br /&gt;
|Cache Size || 2 MB&lt;br /&gt;
|}&lt;br /&gt;
== Storage ==&lt;br /&gt;
{|&lt;br /&gt;
|Hard Drive Model || Hitachi HTS541080G9AT00&lt;br /&gt;
|-&lt;br /&gt;
|Hard Drive Capacity || 80 GB  &lt;br /&gt;
|-&lt;br /&gt;
|Included Drives || CD-RW / DVD Combo Drive&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Display and Graphics ==&lt;br /&gt;
{|&lt;br /&gt;
|Display Size || 14.1 inch&lt;br /&gt;
|-&lt;br /&gt;
|Display Type || TFT active matrix&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Processor || ATI MOBILITY RADEON X300&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Memory || 64 MB&lt;br /&gt;
|-&lt;br /&gt;
|Included Video Card || Graphics card - PCI Express x16&lt;br /&gt;
|-&lt;br /&gt;
|Resolution ||1400 x 1050 pixels&lt;br /&gt;
|-&lt;br /&gt;
|Max. External Resolution || 2048 x 1536 pixels&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
{|&lt;br /&gt;
|Battery Model || 6 cell&lt;br /&gt;
|-&lt;br /&gt;
|Battery Life || 4 hour(s)&lt;br /&gt;
|-&lt;br /&gt;
|Battery Type || Lithium ion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Communications and Networking ==&lt;br /&gt;
{|&lt;br /&gt;
|Bluetooth || No&lt;br /&gt;
|-&lt;br /&gt;
|Modem Speed || 56 Kbps&lt;br /&gt;
|-&lt;br /&gt;
|Network LAN || Broadcom BCM5751M Gigabit Ethernet&lt;br /&gt;
|-&lt;br /&gt;
|Network WLAN || Intel PRO/Wireless 2915ABG MiniPCI card&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
{|&lt;br /&gt;
|Shipped Operating System || Microsoft Windows XP Professional&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connectors ==&lt;br /&gt;
{|&lt;br /&gt;
|Interface Provided ||Parallel Port, S-Video, VGA, Phone line, Headphone, Ethernet 10Base-T/100Base-TX/1000Base-T&lt;br /&gt;
|-&lt;br /&gt;
|Connectors ||2 x Hi-Speed USB - 4 pin USB Type A, 1 x parallel - IEEE 1284 (EPP/ECP) - 25 pin D-Sub (DB-25), 1 x display / video - VGA - 15 pin HD D-Sub (HD-15), 1 x infrared - IrDA, 1 x modem - phone line - RJ-11, 1 x network - Ethernet 10Base-T/100Base-TX/1000Base-T - RJ-45, 1 x display / video - S-video output - 4 pin mini-DIN, 1 x docking / port replicator, 1 x microphone - input - mini-phone mono 3.5 mm , 1 x audio - line-out/headphones - mini-phone stereo 3.5 mm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Product Info ==&lt;br /&gt;
{|&lt;br /&gt;
|Input Devices || Keyboard, Touchpad, TrackPoint&lt;br /&gt;
|-&lt;br /&gt;
|Included Sound Card || Intel 82801FB (ICH6) rev. 03&lt;br /&gt;
|-&lt;br /&gt;
|Weight || 5,1 lbs&lt;br /&gt;
|-&lt;br /&gt;
|Also known as || ...&lt;br /&gt;
|-&lt;br /&gt;
|Manufacturer Part No. || 2668C2U&lt;br /&gt;
|-&lt;br /&gt;
|Dimension || 1.2 in x 12.2 in x 10 in (HxWxD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:T43]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:TI_PCI1410&amp;diff=28419</id>
		<title>Talk:TI PCI1410</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:TI_PCI1410&amp;diff=28419"/>
		<updated>2007-02-25T09:51:13Z</updated>

		<summary type="html">&lt;p&gt;Defiant: reverted to last spam free version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Intel_82371EB&amp;diff=28417</id>
		<title>Talk:Intel 82371EB</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Intel_82371EB&amp;diff=28417"/>
		<updated>2007-02-25T09:51:09Z</updated>

		<summary type="html">&lt;p&gt;Defiant: reverted to last spam free version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Intel_440ZXM&amp;diff=28386</id>
		<title>Talk:Intel 440ZXM</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Intel_440ZXM&amp;diff=28386"/>
		<updated>2007-02-23T06:37:47Z</updated>

		<summary type="html">&lt;p&gt;Defiant: reverted to last spam free version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:Suse&amp;diff=28385</id>
		<title>Category:Suse</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:Suse&amp;diff=28385"/>
		<updated>2007-02-23T06:37:43Z</updated>

		<summary type="html">&lt;p&gt;Defiant: reverted to last spam free version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad&amp;diff=28384</id>
		<title>ThinkPad</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad&amp;diff=28384"/>
		<updated>2007-02-23T06:37:39Z</updated>

		<summary type="html">&lt;p&gt;Defiant: reverted to last spam free version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==About the name &amp;quot;ThinkPad&amp;quot;==&lt;br /&gt;
Until 1992 IBM used to refer to their products only by numbers. This was true also for the notebooks manufactured until then and the tradition of those numbers has survived in the form of the type-and-model numbers with which every specific IBM product is still referenced much more precisely than by its common name.&lt;br /&gt;
&lt;br /&gt;
Rumor has it that IBM first intended to give the designation &amp;quot;ThinkPad&amp;quot; to their pen based computer 2521, which became the IBM [[:Category:700T | ThinkPad 700T]]. But then they decided to extend the use of the name to their notebook computers and hence the first ThinkPads hitting the market in 1992 were the [[:Category:300 | ThinkPad 300]], [[:Category:700 | ThinkPad 700]], [[:Category:700C | ThinkPad 700C]] and the mentioned TabletPC [[:Category:700T | ThinkPad 700T]].&lt;br /&gt;
&lt;br /&gt;
The ThinkPad name itself was inspired by leather-bound pocket notepads issued to all IBM employees with the corporate motto 'Think' embossed on the cover. The combination of '''Think''' and Note'''Pad''' lead to the name '''ThinkPad'''. IBM's corporate naming team was initially against using the ThinkPad name since all previous IBM computers were referred to by model numbers rather than names. However, the popularity of the ThinkPad brand with the press convinced IBM to retain the name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Models]] [[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_protect_the_harddisk_through_APS&amp;diff=28077</id>
		<title>How to protect the harddisk through APS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_protect_the_harddisk_through_APS&amp;diff=28077"/>
		<updated>2007-02-03T09:20:25Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* Getting the files */ Defiant hdapsd package in unstable&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page tells you how to make the [[Active Protection System]] work under Linux to protect your harddrive from damage in case of a notebook drop or other kind of impact while it is running.&lt;br /&gt;
&lt;br /&gt;
Specific instructions for {{Fedora}} can be found [[Installing_Fedora_Core_5_on_a_ThinkPad_X41_Tablet#Harddrive_Active_Protection_System_.28HDAPS.29|here]].&lt;br /&gt;
&lt;br /&gt;
== How APS works in Linux ==&lt;br /&gt;
APS in Linux consists of four components on the software side:&lt;br /&gt;
* The [[HDAPS]] driver (included in recent kernels). It exports a sysfs interface providing the acceleration values.&lt;br /&gt;
* The [http://www.dresco.co.uk/hdaps/ &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;] disk protection kernel patch, which exports a sysfs interface that enables an ide or sata disk to be protected by a userspace process.&lt;br /&gt;
* The [http://www.dresco.co.uk/hdaps/ &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;] disk protection userspace daemon. It monitors the acceleration values through the HDAPS interface and automatically initiates disk protection through the hdaps_protect interface - given that the movement exceeds a user specified threshold.&lt;br /&gt;
* Optional: the [http://roy.marples.name/node/269 khdapsmonitor KDE System Tray applet] or [http://www.oakcourt.dyndns.org/projects/khdapsmon/ &amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt; KDE System Tray applet] or the [http://www.dresco.co.uk/hdaps/ &amp;lt;tt&amp;gt;gnome-hdaps-applet&amp;lt;/tt&amp;gt;]. These applets provide a visual indication of the disk protection status and also a graphical interface for adjusting configuration options for &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
As mentioned above, the hdaps kernel driver found in recent kernels is only responsible for reading the accelerometer data and exporting it through the sysfs interface. &lt;br /&gt;
&lt;br /&gt;
In order to use this information to protect the disk, some additional steps are required.&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest hdaps_protect disk protection kernel patches.&lt;br /&gt;
* Enable the drivers in the kernel (requires kernel rebuild).&lt;br /&gt;
* Download, build and configure the hdapsd userspace daemon.&lt;br /&gt;
* Download and build one of the applets to get a real-time representation of the disk protection status.&lt;br /&gt;
&lt;br /&gt;
===Getting the files===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Latest Sources&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; and the &amp;lt;tt&amp;gt;gnome-hdaps-applet&amp;lt;/tt&amp;gt;: http://www.dresco.co.uk/hdaps&lt;br /&gt;
*&amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt;: http://www.oakcourt.dyndns.org/projects/khdapsmon/&lt;br /&gt;
|-&lt;br /&gt;
! {{Debian}}&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; package: http://packages.debian.org/unstable/misc/hdapsd&lt;br /&gt;
|-&lt;br /&gt;
! {{Fedora}}&lt;br /&gt;
| see instructions [[Installing_Fedora_Core_5_on_a_ThinkPad_X41_Tablet#Harddrive_Active_Protection_System_.28HDAPS.29|here]]&lt;br /&gt;
*kernel RPM packages including &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;: http://www.dresco.co.uk/hdaps/ &lt;br /&gt;
*kernel RPM packages including &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt; and [[Software Suspend 2]]: *http://mhensler.de/swsusp/download/yum/development/fc5/ (build 2084_2 and up)&lt;br /&gt;
|-&lt;br /&gt;
! {{Gentoo}}&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; ebuild: http://bugs.gentoo.org/show_bug.cgi?id=119845&lt;br /&gt;
*&amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt; ebuild: http://bugs.gentoo.org/show_bug.cgi?id=124175&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Adding kernel support ===&lt;br /&gt;
A kernel patch is required for disk head parking and queue freezing.&lt;br /&gt;
&lt;br /&gt;
==== Manually patching and compiling a kernel ====&lt;br /&gt;
As root, do:&lt;br /&gt;
:{{cmdroot|cd /usr/src/linux}}&lt;br /&gt;
:{{cmdroot|patch -p1 &amp;lt; ~/hdaps_protect.20060409.patch}}&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
:{{cmdroot|make}}&lt;br /&gt;
:{{cmdroot|make modules_install}}&lt;br /&gt;
&lt;br /&gt;
=== Installing hdapsd ===&lt;br /&gt;
==== Manual compilation from source ====&lt;br /&gt;
* Download the &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; sources (see above)&lt;br /&gt;
* Compile using {{cmdroot|gcc -o hdapsd hdapsd-*.c}}&lt;br /&gt;
* Run {{cmdroot|./hdapsd -d sda -s 12 -a}} (replace &amp;lt;tt&amp;gt;sda&amp;lt;/tt&amp;gt; with your hard disk device; run {{cmdroot|./hdapsd}} without arguments for help)&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
{{Gentoo}} users can try the ebuild attached to [http://bugs.gentoo.org/show_bug.cgi?id=119845 gentoo bug 119845].&lt;br /&gt;
{{NOTE|1=hdapsd was added to the official portage tree on the 26th June 2006.}}&lt;br /&gt;
*Add hdapsd support in your kernel: device drivers -&amp;gt; hardware monitoring -&amp;gt; ... (you need it as a module if you want to use tp_smapi and hdaps, see [[Tp_smapi]])&lt;br /&gt;
*Download the ebuild, use same ebuild date as the kernel-patch.&lt;br /&gt;
*Make known the portage an extern ebuild path and add the following line to {{path|/etc/make.conf}}:&lt;br /&gt;
 PORTDIR_OVERLAY=&amp;quot;/usr/local/portage/&amp;quot; (or any other location)&lt;br /&gt;
*Create directory {{path|/usr/local/portage}} and {{path|/usr/local/portage/app-laptop/}}&lt;br /&gt;
*Copy the downloaded ebuild to {{path|/usr/local/portage/app-laptop}} ({{path|/usr/local/portage/app-laptop/hdapsd}} should now exists)&lt;br /&gt;
*Make portage known the new ebuild and creat digist with:&lt;br /&gt;
:{{cmdroot|ebuild /usr/local/portage/app-laptop/hdapsd/hdapsd-20060326.ebuild digest}}&lt;br /&gt;
*Optional: Copy source file to portage distfiles (if no internet connection is available): &lt;br /&gt;
:{{cmdroot|cp hdapsd-20060326.c /usr/portage/distfiles}}&lt;br /&gt;
*Accept the x86 keyword for this package: {{cmdroot|echo &amp;quot;app-laptop/hdapsd ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords}}&lt;br /&gt;
*Install hdapsd with: {{cmdroot|emerge hdapsd}}.&lt;br /&gt;
*Edit {{path|/etc/conf.d/hdapsd}} (change your harddrive if neccessary: mine is sda, and change the value from 5, 5 is to sensitive, 12 is a good value in my opinion).&lt;br /&gt;
*start deamon with: {{cmdroot|/etc/init.d/hdapsd start}}&lt;br /&gt;
*Optional: add to default runlevel: {{cmdroot|rc-update add hdapsd default, rc-update add hdapsd battery}}&lt;br /&gt;
Write an eMail to abartel[Ã¤d]htwm.de, if you want to get my hdapsd-20060326.ebuild and please upload it.&lt;br /&gt;
&lt;br /&gt;
=== Building an applet ===&lt;br /&gt;
====hdaps-gl====&lt;br /&gt;
*Make sure you have installed hdaps [and loaded] and ?opengl?&lt;br /&gt;
*Download &amp;lt;tt&amp;gt;hdaps-gl-0.0.5&amp;lt;/tt&amp;gt; from the web.&lt;br /&gt;
*Extract files to {{path|/opt/hdaps-gl}}.&lt;br /&gt;
*{{cmdroot|make}}&lt;br /&gt;
*Start the applet: {{cmdroot|./hdaps-gl}}&lt;br /&gt;
&lt;br /&gt;
====khdapsmon====&lt;br /&gt;
This application uses GNU autotools, so building it is the same as any other autotooled program:&lt;br /&gt;
*extract the source somewhere and change to that directory,&lt;br /&gt;
*run {{cmdroot|./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install}}.&lt;br /&gt;
See [[#Getting the files|above]] for Debian packages and a Gentoo ebuild.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
See the [[Problem with APS harddisk parking]] page for troubleshooting APS issues.&lt;br /&gt;
{{NOTE|1=If you use [[tp_smapi]], remember to include the option &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; when [[Tp_smapi#Installation|installing tp_smapi]]. Also, you might need to build the hdaps driver as module.}}&lt;br /&gt;
&lt;br /&gt;
==Further Information==&lt;br /&gt;
*Additonal information and support is available through the [[Mailinglists#HDAPS Developers Mailinglist|hdaps-devel]] mailinglist and its archive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Z61m]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Installation_instructions_for_the_ThinkPad_A21m&amp;diff=27941</id>
		<title>Talk:Installation instructions for the ThinkPad A21m</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Installation_instructions_for_the_ThinkPad_A21m&amp;diff=27941"/>
		<updated>2007-01-27T13:25:45Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_6.06_on_a_ThinkPad_T43&amp;diff=27940</id>
		<title>Installing Ubuntu 6.06 on a ThinkPad T43</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_6.06_on_a_ThinkPad_T43&amp;diff=27940"/>
		<updated>2007-01-27T13:25:40Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installation Log of {{Ubuntu}} 6.06 on a {{T43}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Worked right out of the box&lt;br /&gt;
* 1400*1050 resolution&lt;br /&gt;
* Battery Management&lt;br /&gt;
* Ultra Nav (Trackpoint and synaptic touchpad)&lt;br /&gt;
* WLAN (Atheros,  IBM 11a/b/g Wireless LAN Mini PCI Adapter II)&lt;br /&gt;
* Hibernate and Standby&lt;br /&gt;
* Fn keys (switch between monitors untested)&lt;br /&gt;
* Audio Keys &lt;br /&gt;
* ThinkLight&lt;br /&gt;
&lt;br /&gt;
Was easy or required some work&lt;br /&gt;
* easy ubuntu (includes skype and some codecs) &lt;br /&gt;
* middle key of Ultra Nav (Trackpoint)&lt;br /&gt;
* ATI 3D Acceleration (Mobility Radeon X300)&lt;br /&gt;
* Xgl / Compiz&lt;br /&gt;
&lt;br /&gt;
Still TODO&lt;br /&gt;
* Fingerprint reader&lt;br /&gt;
* Forward/Backward keys, Access IBM Key&lt;br /&gt;
&lt;br /&gt;
Untested&lt;br /&gt;
* Bluetooth (light indicates working)&lt;br /&gt;
* Modem &lt;br /&gt;
* IrDA&lt;br /&gt;
* TV out, VGA out&lt;br /&gt;
&lt;br /&gt;
Failed / still requires work&lt;br /&gt;
* Active Protection System (solved 'out of the box' in edgy)&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Recovery copy of data===&lt;br /&gt;
&lt;br /&gt;
Before installing a new OS you should create a security copy of your old system. As the IBM Rescue and Recovery tool quit with an error message I used the Ubuntu live CD, mounted and cd'ed into my external hard drive and ran the following command:&lt;br /&gt;
&lt;br /&gt;
 $ cmduser|sudo dd if=/dev/sda1 | gzip | dd of=./sda1.img&lt;br /&gt;
&lt;br /&gt;
where /dev/sda1 is the device with my windows partition and sda1.img the gzipped security copy.&lt;br /&gt;
In case of problems one can now restore lost information using&lt;br /&gt;
&lt;br /&gt;
 $ sudo dd if=./sda1.img | gzip -d | dd of=/dev/sda1 &lt;br /&gt;
&lt;br /&gt;
After creating the recovery copy we are ready to resize the existing windows partition. This article assumes you want to keep your IBM Rescue and Recovery Partition, shrink in size, but keep your windows partition and create a new partition for Dapper Drake.&lt;br /&gt;
&lt;br /&gt;
===Resizing Partitions===&lt;br /&gt;
&lt;br /&gt;
Probably the best choice is now to boot from the alternate CD (read [http://gawrysiak.org/corvus/?p=4] to know why) and  use it to resize the existing NTFS partition. Unfortionately in my case it didn't work. So I booted the Live CD, but gparted and parted refused to resize my Windows, too. If the same happens to you, use the example [http://crashrecovery.org/CrashRecoveryKit/iso/2.4.21/HOWTO.ntfs.html here] to know how to resize it &amp;quot;manually&amp;quot; using ntfsresize and fdisk.&lt;br /&gt;
&lt;br /&gt;
After resizing your windows partition you should reboot window to check everything's in order. It probably will run checkdisk and reboot two times - according to experieces you can read in the web, you should better let windows do that.&lt;br /&gt;
&lt;br /&gt;
===Installation of Ubuntu===&lt;br /&gt;
&lt;br /&gt;
Now it's the time to install Ubuntu. I used the alternate CD for that because I chose to install grub into the Linux partition and not into the Master Boot Record ([http://gawrysiak.org/corvus/?p=4 read why]). The graphical LiveCD installer automatically installs grub to the MBR. If you want to use grub in the MBR read [[Rescue and Recovery]]. There is a description of what you have to do in order to still be able to use the IBM R'n'R partition.&lt;br /&gt;
&lt;br /&gt;
* remember that you're installing GRUB to an '''sda''' mount, not an hda mount like the GRUB installer will prompt you for what you should enter after you tell GRUB not to install in the MBR will be something like this:&lt;br /&gt;
&lt;br /&gt;
 /dev/sda3&lt;br /&gt;
&lt;br /&gt;
After the installation is finshed it will reboot your system. Now windows should start. In my case it didn't, but playing around, booting into the R'n'R partition, starting PC Doctor and doing some Diagnostics (no changes) somehow and surprisingly made windows boot again.&lt;br /&gt;
&lt;br /&gt;
To boot you freshly installed Linux you have to reboot the LiveCD one last time. Use&lt;br /&gt;
&lt;br /&gt;
 $ sudo dd if=/dev/sda5 of=ubuntu.img bs=512 count=1&lt;br /&gt;
&lt;br /&gt;
to copy the first block of grub into an image file and use e.g. an usb flash drive to transfer it to your newly booted windows. Copy paste the image to C:\ and add the following line to your C:\boot.ini:&lt;br /&gt;
&lt;br /&gt;
 C:\ubuntu.img=&amp;quot;Ubuntu Dapper Drake&amp;quot;&lt;br /&gt;
&lt;br /&gt;
At the next restart the windows boot manager should now welcome you with the choice to boot windows or ubuntu. Choose ubuntu to (finally ;-) boot your newly installed linux for the first time.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===Easyubuntu===&lt;br /&gt;
&lt;br /&gt;
[http://easyubuntu.freecontrib.org/ Easyubuntu] is a helpful tool to install Skype, codecs, ATi 3D drivers and further things that can make your live easier.&amp;lt;!-- Should this even be here? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Keyboard Layout===&lt;br /&gt;
&lt;br /&gt;
My T43 has a German keyboard layout. Most worked just fine, but some keys (in my case the &amp;quot;at&amp;quot; and the &amp;quot;tilde&amp;quot; among others) just didn't. If the same happens to you, just go to the Gnome System Preferences menu and choose the right layout for your keyboard (probably named after your language and something like eliminate-dead-keys or no-dead-keys)&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration and Xgl/Compiz===&lt;br /&gt;
&lt;br /&gt;
If you have an ATI Radeon X300, use [http://wiki.cchtml.com/index.php/Ubuntu_Dapper_Installation_Guide this explanation] to make your hardware 3d acceleration work.&lt;br /&gt;
&lt;br /&gt;
To test if it works type&lt;br /&gt;
&lt;br /&gt;
 $ glxinfo | grep rendering&lt;br /&gt;
&lt;br /&gt;
The answer should be: &amp;quot;direct rendering: Yes&amp;quot;. If it says &amp;quot;No&amp;quot;, you don't have 3D acceleration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to install Xgl/Compiz like me, [http://www.compiz.net/viewtopic.php?id=389 here] is a great installation help for ATI cards (use way two.) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have another card you might find a good explanation [http://ubuntuforums.org/showthread.php?t=148351 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3D Acceleration using open-source radeon driver and AIGLX/Beryl===&lt;br /&gt;
From my experience it was better to use &amp;quot;radeon&amp;quot; driver, the open source one, on top of &amp;quot;drm&amp;quot; driver, &lt;br /&gt;
also part of the  kernel, instead of fglrx.  I get direct rendering and similar performance---maybe fglrx &lt;br /&gt;
driver gives 50-100 more fps.  The most annoying thing about fglrx driver is that it can cause hard locks &lt;br /&gt;
every now and then and your suspend doesn't work properly...believe me I tried the ones that the Thinkwiki &lt;br /&gt;
says supposed to work. &lt;br /&gt;
&lt;br /&gt;
 $ glxinfo | grep rendering&lt;br /&gt;
 direct rendering: Yes&lt;br /&gt;
 OpenGL renderer string: Mesa DRI R300 20060815 TCL&lt;br /&gt;
&lt;br /&gt;
Use the directions in the previous section to install fglrx driver, library. (I just installed them from shell&lt;br /&gt;
rather than making them into packages, I found the uninstall script in /usr/share/fglrx to work properly).  &lt;br /&gt;
FYI, I used the version 8.26.18-x86.&lt;br /&gt;
&lt;br /&gt;
If you don't get rendering use ''LIBGL_DEBUG=verbose glxinfo'' to diagnose the problem.  The most common problem&lt;br /&gt;
is that xorg looks for DRI library files in ''/usr/X11R6/lib/dri'', which didn't exist for me.  A simple way to &lt;br /&gt;
solve this is creating a symlink to where those files are located (/usr/lib/dri/):&lt;br /&gt;
 $ cd /usr/X11R6/lib/&lt;br /&gt;
 $ ln -s /usr/lib/dri/ .&lt;br /&gt;
&lt;br /&gt;
Open your ''/etc/modules'' file and add these lines and comment 'fglrx' if there is any:&lt;br /&gt;
 intel-agp&lt;br /&gt;
 drm&lt;br /&gt;
 radeon&lt;br /&gt;
&lt;br /&gt;
Also, from my experience, it was better to use '''AIGLX''' than Xgl and '''Beryl''' instead of Compiz&lt;br /&gt;
in terms of performance and integration---things like suspend and hibernate. And you can use nice &lt;br /&gt;
start/shutdown scripts to disable beryl-manager since it can cause hang when you resume from suspension.  &lt;br /&gt;
For more information about suspend/resume scripts, [http://ubuntuforums.org/showthread.php?p=1656484 here].  &lt;br /&gt;
For more information about installing aiglx and beryl, see [http://wiki.beryl-project.org/index.php/Install/Ubuntu/Dapper/AiGLX here]).&lt;br /&gt;
&lt;br /&gt;
ATI X300 is pretty pitiful though...I get around ~570 average FPS when running AIGLX/beryl&lt;br /&gt;
 $ glxgears&lt;br /&gt;
 2850 frames in 5.0 seconds = 569.997 FPS&lt;br /&gt;
 2925 frames in 5.0 seconds = 584.925 FPS&lt;br /&gt;
 2904 frames in 5.0 seconds = 580.741 FPS&lt;br /&gt;
 2923 frames in 5.0 seconds = 584.524 FPS...&lt;br /&gt;
With metacity (default Gnome window manager) I get around slightly over 1000 FPS&lt;br /&gt;
 $ glxgears&lt;br /&gt;
 5073 frames in 5.0 seconds = 1014.423 FPS&lt;br /&gt;
 5073 frames in 5.0 seconds = 1014.531 FPS&lt;br /&gt;
 5252 frames in 5.0 seconds = 1049.326 FPS&lt;br /&gt;
 5803 frames in 5.0 seconds = 1160.502 FPS...&lt;br /&gt;
&lt;br /&gt;
If anyone know how to get rid of the weird warning, I would really appreciate it:&lt;br /&gt;
 libGL warning: 3D driver claims to not support visual 0x4b&lt;br /&gt;
Seems to be a unresolved bug: [https://bugs.freedesktop.org/show_bug.cgi?id=6624 freedesktop]&lt;br /&gt;
&lt;br /&gt;
I added the following options under ati Device section of ''/etc/X11/xorg.conf''&lt;br /&gt;
 Option      &amp;quot;EnablePageFlip&amp;quot; &amp;quot;True&amp;quot;&lt;br /&gt;
 Option      &amp;quot;ColorTiling&amp;quot; &amp;quot;True&amp;quot;&lt;br /&gt;
Then after that the performance boosted by quite a bit:&lt;br /&gt;
 7026 frames in 5.0 seconds = 1405.147 FPS&lt;br /&gt;
 7058 frames in 5.0 seconds = 1411.493 FPS&lt;br /&gt;
 7062 frames in 5.0 seconds = 1412.393 FPS...&lt;br /&gt;
&lt;br /&gt;
===Active Protection System===&lt;br /&gt;
&lt;br /&gt;
See end of this chapter if you have ubuntu edgy eft.&lt;br /&gt;
&lt;br /&gt;
The T43 has a great system to protect your hard disk, the Active Protection System APS. [[How to protect the harddisk through APS]] describes how you can use it.&lt;br /&gt;
&lt;br /&gt;
{{WARN|Only follow these instructions if you know what you are doing!}}&lt;br /&gt;
&lt;br /&gt;
If you didn't until now you will have to install make, libc, gcc, ... Best is you use&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essentials&lt;br /&gt;
&lt;br /&gt;
Determine your kernel version using &lt;br /&gt;
&lt;br /&gt;
 $ uname -a&lt;br /&gt;
&lt;br /&gt;
You should see somthing like&lt;br /&gt;
&lt;br /&gt;
 Linux ibm 2.6.15-26-386 #1 PREEMPT Thu Aug 3 02:52:00 UTC 2006 i686 GNU/Linux&lt;br /&gt;
&lt;br /&gt;
Install the kernel sources &amp;quot;linux-source&amp;quot; e.g. using Synaptic.&lt;br /&gt;
Download the right kernel patch from [[HDAPS#Applications]] according to your kernel version and system (I chose &amp;quot;sata/ide disk protection patch for 2.6.15&amp;quot;)&lt;br /&gt;
adapt following steps to your needs:&lt;br /&gt;
&lt;br /&gt;
 $ cd /usr/src/&lt;br /&gt;
 $ sudo su&lt;br /&gt;
 # bunzip2 linux-source-2.6.15.tar.bz2&lt;br /&gt;
 # tar -xf linux-source-2.6.15.tar&lt;br /&gt;
 # cd linux-source-2.6.15&lt;br /&gt;
 # patch -p1 -l &amp;lt; /home/silvan/hdaps_protect.20060118.patch&lt;br /&gt;
&lt;br /&gt;
You should see several lines with the word &amp;quot;suceeded&amp;quot;. If you see many &amp;quot;failed&amp;quot; instead you probably chose the wrong patch for your kernel. You can use the --dry-run option to try it out first. If you get errors in the following steps you should better stop unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
 # make clean&lt;br /&gt;
 # make oldconfig # use old config, ask for new items, only&lt;br /&gt;
 # make clean&lt;br /&gt;
 # make           # takes quite a long time, several minutes&lt;br /&gt;
 # make modules&lt;br /&gt;
 # make modules_install&lt;br /&gt;
&lt;br /&gt;
Afterwards use the debian sources mentioned in [[How to protect the harddisk through APS]] to install the user space deamon hdapsd and the gnome applet gnome-hdaps-applet, e.g. using Synaptic.&lt;br /&gt;
&lt;br /&gt;
If this worked for you, you can find some nice applications at [[HDAPS#Applications]] which make use of the APS.&lt;br /&gt;
&lt;br /&gt;
{{HELP|For me unfortunately it didn't work as making the patched kernel failed. Please update ths section if you have different experiences and a better, more detailed working explanation.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{NOTE|After I updated to edgy eft hdaps works without further work: edgy comes with hdaps built in. You can check if it is working by installing hdaps-utils&lt;br /&gt;
&lt;br /&gt;
 # sudo apt-get install hdaps-utils&lt;br /&gt;
&lt;br /&gt;
and calling &lt;br /&gt;
&lt;br /&gt;
 # hdaps-gl&lt;br /&gt;
&lt;br /&gt;
for a nice 3D show. If it is not, load the kernel module using &lt;br /&gt;
&lt;br /&gt;
 # sudo modprobe hdaps&lt;br /&gt;
&lt;br /&gt;
and it should work. But if you want to use hdaps for disk protection, you have to recompile your kernel in edgy, too. Follow this post for an howto:&lt;br /&gt;
 &lt;br /&gt;
}}&lt;br /&gt;
[http://ubuntuforums.org/showthread.php?t=122863 Howto for edgy]&lt;br /&gt;
&lt;br /&gt;
===Track Point Middle Key Scrolling===&lt;br /&gt;
&lt;br /&gt;
In my case the track point worked out of the box, but the middle mouse button for scrolling did not. [[How to configure the TrackPoint]] explains how to solve this. The steps you need to follow are in section &amp;quot;Using the X server (kernel 2.6.11+)&amp;quot;.&lt;br /&gt;
However you don't need to follow the steps in &amp;quot;EmulateWheelTimeout temporarily broken (-&amp;gt; fix for Ubuntu Dapper)&amp;quot; as this is fixed already if you have all your packages up-to-date.&lt;br /&gt;
&lt;br /&gt;
Follow the instructions in the sections &amp;quot;Configure firefox for using trackpoint horizontal scrolling&amp;quot; and &amp;quot;Configure Opera for using trackpoint horizontal scrolling&amp;quot; as well, if you are using one of the two browsers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Fingerprint Reader===&lt;br /&gt;
{{Todo|Needs editing}}&lt;br /&gt;
Look at [[How to enable the fingerprint reader]] if you want to use your fingerprint reader.&lt;br /&gt;
&lt;br /&gt;
===Forward / Backward Keys, Access IBM===&lt;br /&gt;
{{Todo|Needs editing}}&lt;br /&gt;
You'll find more here: [[How to get special keys to work]]&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
{{Todo|Needs editing}}&lt;br /&gt;
Find information here: [[How to make use of IrDA]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===VGA out ===&lt;br /&gt;
{{Todo|Needs editing}}&lt;br /&gt;
I didn't try it, but it looks easy: [http://help.nceas.ucsb.edu/index.php/Enable_vga_out_on_ATI_Thinkpads How to enable VGA out]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://gawrysiak.org/corvus/?p=4 Dapper Drake on T42]&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
* This guide is listed at the [http://tuxmobil.org/ibm.html TuxMobil Linux laptop and notebook installation survey (IBM/Lenovo)].&lt;br /&gt;
&lt;br /&gt;
Hope this helped somehow :-)&lt;br /&gt;
tec&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Fedora_Core_6_on_a_ThinkPad_T42&amp;diff=27939</id>
		<title>Talk:Installing Fedora Core 6 on a ThinkPad T42</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Fedora_Core_6_on_a_ThinkPad_T42&amp;diff=27939"/>
		<updated>2007-01-27T13:25:36Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Backing_up_the_preloaded_OS&amp;diff=27938</id>
		<title>Talk:Backing up the preloaded OS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Backing_up_the_preloaded_OS&amp;diff=27938"/>
		<updated>2007-01-27T13:25:32Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=27831</id>
		<title>Maintenance</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=27831"/>
		<updated>2007-01-21T10:29:23Z</updated>

		<summary type="html">&lt;p&gt;Defiant: /* External sources updated ibm link */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Here you can find general hints about keeping your ThinkPad in good shape. Look at your [[:Category:Models|models category page]] for IBMs official maintenance guide for that model.&lt;br /&gt;
|}&lt;br /&gt;
==Battery treatment==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2 style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|+Battery life expanding guide&lt;br /&gt;
|- style=&amp;quot;background:#efefef;white-space:nowrap;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Battery Type !! NiCd !! NiMH !! Lithium ion&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | General&lt;br /&gt;
|&lt;br /&gt;
*always do complete discharge/charge cycles&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|&lt;br /&gt;
*always do complete discharge/charge cycles&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|&lt;br /&gt;
*avoid deep discharges except when resetting fuel gague or reconditioning a battery;  partial dis-/recharges are better for the battery lifetime (note: fuel gauge will slowly get inaccurate over time)&lt;br /&gt;
*remove battery when on AC (due to heat)&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Charging&lt;br /&gt;
|&lt;br /&gt;
*discharge before charging&lt;br /&gt;
|&lt;br /&gt;
*discharge before charging&lt;br /&gt;
|&lt;br /&gt;
*avoid charging if battery is nearly full, unless you will need its full capacity soon; keep it on the 30%-85% charged range&lt;br /&gt;
*keep notebook off while charging due to heat&lt;br /&gt;
*fully discharge, then fully charge battery when needed to recalibrate fuel gauge;  newer battery pack models require this less often, old ones might need it as often as every 30 cycles&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Storage&lt;br /&gt;
| &lt;br /&gt;
*almost discharged&lt;br /&gt;
*cool and dry&lt;br /&gt;
|&lt;br /&gt;
*almost discharged&lt;br /&gt;
*cool and dry&lt;br /&gt;
|&lt;br /&gt;
*never fully charged or discharged, ideally at about 40%&lt;br /&gt;
*cool and dry, but '''do not freeze''' them. 10-15C is recommended&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Battery health===&lt;br /&gt;
Batteries, especially of the modern Li-Ion type, wear out quicker when they hold a large charge or are subject to higher temperatures (see above).&lt;br /&gt;
&lt;br /&gt;
If you use your laptop at a desk, reduce battery wear by maintaining an appropriate charge level.  When  possible, remove Li-ion batteries while operating from AC as the notebook gets hot enough inside for that to damage the battery in the long run, even if charging is stopped.&lt;br /&gt;
&lt;br /&gt;
On recent ThinkPads, charging thresholds can be configured in the bundled software.  Under Linux, this is supported on recent models by the [[tp_smapi]] driver (and even without &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;, if you have a dual-boot setup, you can set the thresholds under Windows and they will be remembered as long as you don't power off your machine with AC disconnected; suspend to RAM is OK). Have a look at [[How to use UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
If you have spare Li-ion battery packs, store them at 40% charge in a cool place (15C being a recommended temperature, do not let the batteries freeze).  If storing inside a refrigerator, beware of humidity, and be careful with cold spots that can easily freeze the battery if anything goes wrong.&lt;br /&gt;
&lt;br /&gt;
===The problem with 600 series batteries===&lt;br /&gt;
ThinkPad 600 power management causes batteries to die before they should. Read more about this on the [[Problem with ThinkPad 600 batteries|associated problem page]].&lt;br /&gt;
&lt;br /&gt;
===Reviving batteries===&lt;br /&gt;
Some people experience sudden drops in their batteries capacity.&lt;br /&gt;
&lt;br /&gt;
A way to get these batteries back to full capacity is to run the &amp;quot;Battery Rundown&amp;quot; function of IBMs &amp;quot;PC Doctor for DOS&amp;quot;.&lt;br /&gt;
The program is downloadable from IBMs support site as three floppy disk images. For those who do not have a floppy, David Smith prepared a [http://www.mypchelp.com/~dsmith/ibmutil/ibm_t22_pcdiag.iso bootable CD image] from the T22 floppy images. For newer ThinkPads there is an official [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-56222 bootable CD image].&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [[Battery safety]]&lt;br /&gt;
&lt;br /&gt;
===External sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=PFAN-3QNQJN IBM Support - Extending battery life]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-51038 IBM Support - Battery troubleshooting]&lt;br /&gt;
* [http://www.pc.ibm.com/ww/thinkpad/batterylife/ IBM Benchmark]&lt;br /&gt;
* [http://batteryuniversity.com Battery University]&lt;br /&gt;
* [http://www.batteryuniversity.com/parttwo-34.htm BatteryUniversitys info about prolonging lithium ion batteries]&lt;br /&gt;
* [http://www.buchmann.ca/Chap10-page6.asp prolonging lithium ion batteries in Buchmanns Battery FAQ]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Display==&lt;br /&gt;
If you discover markings that look like they originate from the TrackPoint or keyboard, or for information on how to avoid these, look at [[Problem with key and trackpoint markings on the display|this page]].&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-4A2P54 Lenovo Support - LCD care and cleaning instructions]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-52190 IBM Support - System cleaning instructions]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Interior==&lt;br /&gt;
{{WARN|The following instructions are not appropriate for all ThinkPad models. Please consult the hardware maintenance guide or on-line disassembly instructions for your model.}}&lt;br /&gt;
Most ThinkPad models (particularly the A-series and the T-series) tend to accumulate a lot of interior dust which they draw from their ventilation fan.  A good dusting every few months is advised. The procedure is as follows.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T4x series===&lt;br /&gt;
See IBM's keyboard removal [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-46515 instructions] and [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-50227 movie].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T6x series===&lt;br /&gt;
See IBM's keyboard removal&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-62800 instructions] and&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-63912 movie].&lt;br /&gt;
&lt;br /&gt;
===Other models (which?)===&lt;br /&gt;
#Unplug the computer.&lt;br /&gt;
#Remove the battery.&lt;br /&gt;
#Turn the ThinkPad over and find two to three screws with upraised double-arrows pointing to them.&lt;br /&gt;
#Unscrew these screws and set them aside.&lt;br /&gt;
#Press the silver area underneath where the battery used to be.  The front of the keyboard will pop up.&lt;br /&gt;
#Turn the ThinkPad right side up and gently remove the keyboard, pulling it toward you.&lt;br /&gt;
#There is one connector between the ThinkPad and the keyboard.  Disconnect it, and set the keyboard aside.&lt;br /&gt;
#If there is a small black plastic separator under the keyboard, remove it and set it aside.&lt;br /&gt;
#The fan should be visible in the upper left.  That entire area will likely be dusty.  With a can of compressed air (and ''only'' with a can of compressed air), dust that area and the surrounding area.&lt;br /&gt;
#Replace the small black plastic separator, then reconnect the keyboard.&lt;br /&gt;
#Slide the keyboard back into place, then press down on the Fn and right-arrow keys until it pops into place.&lt;br /&gt;
#Replace the keyboard screws and battery.&lt;br /&gt;
&lt;br /&gt;
==Dealing with spilling accidents==&lt;br /&gt;
#Don't panic.&lt;br /&gt;
#Don't flip or tilt the computer to prevent the liquid from spreading all over the inside of the case.&lt;br /&gt;
#Shut down the OS and turn off the power:&lt;br /&gt;
##Unplug the computer.&lt;br /&gt;
##Remove the battery.&lt;br /&gt;
#Tilt the computer so that everything that leaked into the case can flow out the same way.&lt;br /&gt;
#Allow the computer to dry before switching it on again.&lt;br /&gt;
#For minor accidents this might already be sufficient. For major flooding you should either bring the computer to a dealer who knows how to open and clean it from inside. Or you can read the Hardware Maintenance Manual, open, clean, and dry the computer yourself. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 Act quickly, carefully if you spill on laptops] on MoneySense.ca (link broken as of 2006-09-18, the article is still available via [http://web.archive.org/web/20050221034011/http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 web.archive.org]).&lt;br /&gt;
&lt;br /&gt;
==Harddisk Backup / Upgrade==&lt;br /&gt;
*[[How to copy a Linux installation]]&lt;br /&gt;
*[[Harddrive Upgrade|How to upgrade your Thinkpad hard drive]]&lt;br /&gt;
*[[How to copy a Windows installation]]&lt;br /&gt;
===External Sources===&lt;br /&gt;
*[http://gamma.nic.fi/~point/win2copy.htm Guide on copying Windows 2000/XP to another partition]&lt;br /&gt;
&lt;br /&gt;
==Recovering BIOS passwords==&lt;br /&gt;
Password recovery procedure for IBM ThinkPads&lt;br /&gt;
using R24RF08 and IBMpass&lt;br /&gt;
&lt;br /&gt;
'''1. Introduction.'''&lt;br /&gt;
&lt;br /&gt;
The IBM ThinkPad uses a small eeprom ([[AT24RF08|ATMEL 24RF08]]) to store different OEM&lt;br /&gt;
issues like serial number, UUID, etc. The supervisor password (SVP) is also stored in this eeprom.&lt;br /&gt;
The 24RF08 is not an ordinary eeprom: it features read protection, which the BIOS uses to lock down&lt;br /&gt;
access to the eeprom contents.  Also, the password is written in a special scan code, which needs to&lt;br /&gt;
be translated to ASCII to be of any use.&lt;br /&gt;
&lt;br /&gt;
To recover the password, one can use two different programs: R24RF08 (eeprom reader) and IBMpass&lt;br /&gt;
(password revealer) available at [http://www.allservice.ro http://www.allservice.ro]. Diagrams are included in the reader kit.&lt;br /&gt;
&lt;br /&gt;
Models for which R24RF08 and IBMpass are enough to recover the password: 240, 240X, 390E, 390X, 570, 570E,&lt;br /&gt;
600e, 600X, 770Z, A20m, A21e, A21m, a22m, A30, A30p, A31, A31p, G40, G41, R30, R31, R32, R40, R50, R51, &lt;br /&gt;
Transnote, T20, T21, T22, T23, T30, T40, T40p, T41, T41p, T42, T42p, X20, X21, X22, X23, X24, X30, X31, X40, X41.&lt;br /&gt;
&lt;br /&gt;
ThinkPads featuring TPCA technology (i.e. a [[Tpm|TPM trusted platform module chip]]), especially T4x, X3x, X4x need the W24RF08 eeprom writer program to complete the password recovery procedure, if the passphrase function is enabled in BIOS setup.&lt;br /&gt;
&lt;br /&gt;
Other models such as the 380XD or 600 use 24C01 or 93C46 eeproms, which can be read without special tools.&lt;br /&gt;
The method is the same like for the models based on 24RF08, only the software to dump the eeprom is different. &lt;br /&gt;
&lt;br /&gt;
Newer T43/T43p, R52, R60, T60/p, X60 and Z60 ThinkPads can be unlocked using PC8394 programming tools that consist in RPC8394 and WPC8394 (reader and writer for TPM chips). The software is available as well on [http://www.allservice.ro http://www.allservice.ro]. IBMpass 2.0 works for any TP model without exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Locating the ATMEL 24RF08 eeprom. Soldering.'''&lt;br /&gt;
&lt;br /&gt;
No need to unsolder the 24RF08 eeprom, just solder 3 wires to SDA, SCL and GND pins of the&lt;br /&gt;
eeprom. There are two eeprom layouts (see interface schematics described bellow), corresponding to 8 pin or 14 pin eeproms. Locate the eeprom first according to your model (E.g. T20-23 and T30 have the eeprom underneath TP, and can be accessed by removing the RAM modules cover, no need to dismantle the laptop.) and solder the wires using a soldering iron with a fine tip. Also, you can use 0.15 -0.20 mm enamel coated wires or similar small diameter insulated wires. These wires will be connected later to the interface.&lt;br /&gt;
Tip: You can use clips to connect the wires or you can solder on the PCB traces leading to the&lt;br /&gt;
eeprom pins. Once again, be careful and double, triple check the soldering if necessary till you are positively sure you have done the right job. In case of applying too much solder, use flux-impregnated copper-braid &amp;quot;desoldering wick&amp;quot; - this works exceptionally well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Choose and build the interface.'''&lt;br /&gt;
&lt;br /&gt;
Since version 2.0, R24RF08 and W24RF08 (eeprom writer) are compatible with a wide range of eeprom programmers. By default, both programs set the COM port signals to use direct logic level to access I2C bus. We provide here 2 schematics that are relevant for direct logic signals and for inverse logic signals (simple-i2cprog.pdf and driven-i2cprog.pdf). Also, depending of the interface you build, you can invert the logics for SDA-In, SDA-Out, and SCL COM port signals by some command line parameters described later in this document.&lt;br /&gt;
a) The file simple-i2cprog.pdf contains the schematic diagram of a simple interface (known as SIPROG)based on 2 zeners and 2 resistors. This is a classic, easy to build circuit and works with soldered or unsoldered eeproms. The purpose of the 2 zeners is to convert RS232 levels (+/- 5V) to TTL levels, needed by the eeprom. It uses direct logic signals to I2C eeprom and is powered by the COM port. However, this interface works with in-system eeproms but is dependant on COM port current and eeprom bus impedance. R24RF08 works natively with this circuit, no need to change the lines signals with command line parameters. This circuit works pretty well with almost all ThinkPads series.&lt;br /&gt;
b) The second interface is described in driven-i2cprog.pdf. The circuit uses MAX 232 as a RS232 to TTL driver and its main purpose is to work with soldered eeproms. The advantage of MAX232 is the TTL outputs that are more reliable and more powerful when work with soldered, in-system eeproms (dependency free from the COM port current). Due of the internal inverters of MAX232 the interface responds to an inverse signal logic level. R24RF08 needs /x, /d, /i switches to be specified in the command line.&lt;br /&gt;
&lt;br /&gt;
What these switches mean:&lt;br /&gt;
/x - invert serial clock, also known as SCL;&lt;br /&gt;
/d - invert serial data output, also known as SDA-Out;&lt;br /&gt;
/i - invert serial data input, also known as SDA-In.&lt;br /&gt;
All those can be used in any combination to meet any interface specification.&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;standard&amp;quot; serial port programmer probably won't work with a USB-Serial adapter, but requires the full nominal voltage of a hardware serial port. [Example: the A22p's serial port works fine here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Dump the EEPROM:'''&lt;br /&gt;
&lt;br /&gt;
Prepare your technician PC by connecting the interface to the COM1 port (donâ€™t connect the wires to eeprom yet). Turn on the ThinkPad and press F1 to enter BIOS Setup. When you are prompted for the password and thereâ€™s no other activity like HDD access or so, connect the wires (GND first!, SDA, SCL) to the corresponding wires from the interface (attached before to COM1) and execute R24RF08:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG interface (as described in 3.a above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;. where filename.ext is the file where eeprom content will be stored.&lt;br /&gt;
Example: r24rf08 mytp.bin&lt;br /&gt;
&lt;br /&gt;
-for MAX232 driven I2C interface (as described in 3.b above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i. where /x /d /i are command line parameters (switches) for this kind of interface.&lt;br /&gt;
Example: r24rf08 mytp2.bin /x /d /i&lt;br /&gt;
&lt;br /&gt;
Use exactly the instructed switches to avoid possible damages to your eeprom data!&lt;br /&gt;
The file should be created in the same folder. Finally, disconnect the wires (GND last!) and turn off the ThinkPad by pressing on/off switch.&lt;br /&gt;
&lt;br /&gt;
Dump the EEPROM data at least twice, and do a bytewise compare with `cmp`. Both files should be identical, and 1024 bytes long. Otherwise, you probably have a serial port problem.&lt;br /&gt;
&lt;br /&gt;
Note: the r24rf08.exe program automatically sets the serial port parameters. It also works fine with Wine under Linux - provided that a symlink (com1) exists in the .wine/dos_devices directory, and points to the /dev/ttySX for the actual serial port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. Reveal the password.'''&lt;br /&gt;
&lt;br /&gt;
Now, you have the .bin file but you need to dump in scan code to retrieve the password. IBMpass 2.0 Lite is a free tool that will do the job. Just open the eeprom dump youâ€™ve created before and search for 0x330, 0x340 lines. The password is located on 0x338 (and 0x340 depending on model) in scan code. For 24C01 eeproms the password is located at 0x38, 0x40. If the password won't work for the very first time then your eeprom may use newer IBM scancodes. In this case switch to alternate scan codes to find it. For those who want quick answers the recommended version is IBMpass 1.1. Usage for IBMpass 1.1 (command line only):&lt;br /&gt;
&lt;br /&gt;
ibmpass mytp.bin â€“ use â€œ/aâ€ switch to see in alternate scan code if needed:&lt;br /&gt;
ibmpass mytp.bin /a&lt;br /&gt;
&lt;br /&gt;
For some old models like 570 or 770Z you need to execute the eeprom patcher first. This will reset the read protection on the password offset. To do that just execute patcher.exe before the reading operation, without rebooting the laptop:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG:&lt;br /&gt;
patcher.exe , then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-for Driven-I2C (Max232) you must insert the switches:&lt;br /&gt;
patcher.exe /x /d /i, then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i&lt;br /&gt;
&lt;br /&gt;
W24RF08, the writer version, has included the complete APP reset operation you donâ€™t need to use patcher.&lt;br /&gt;
&lt;br /&gt;
Moreover, there are a new encrypting algos used with some new security chips (AT97SC3201, AT97SC3203) that are very secured. The password is not in scancode and in some cases not even in the eeprom. To unlock the machine, the dump should suffer some changes and the eeprom must be reprogrammed using W24RF08. This operation works for all IBM TCG/TCPA secured laptops w/o exceptions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember, use 3 wires from the interface and 3 wires from eeprom! Connect them after your&lt;br /&gt;
ThinkPad is powered and disconnect them right after you read the content, before you switch off the laptop.&lt;br /&gt;
&lt;br /&gt;
'''6. Password format'''&lt;br /&gt;
&lt;br /&gt;
The thinkpad power-on/supervisor passwords are a maximum of 7 characters, and are NOT case-sensitive. The allowed characters are restricted to A-Z, 0-9, semicolon, _, - (and perhaps a few others).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
* [http://www.allservice.ro R24RF08/W24RF08, PC8394 programming tools &amp;amp; IBMpass author's webpage.]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-59377 IBM Support - Lost or forgotten password]&lt;br /&gt;
* [http://www.allservice.ro/forum/viewforum.php?f=12 Full Service of all ThinkPad models including free password recovery]&lt;br /&gt;
* [http://sodoityourself.com/hacking-ibm-thinkpad-bios-password/ A tutorial on how to do this]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Pre-Installation_steps&amp;diff=27611</id>
		<title>Pre-Installation steps</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Pre-Installation_steps&amp;diff=27611"/>
		<updated>2007-01-11T07:54:50Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Backup/Rescue CD Set==&lt;br /&gt;
The preinstalled WinXP on most modern Thinkpads comes with a software to create rescue discs. It can be found in the &amp;quot;Access IBM&amp;quot; section of the Windows menu. I recommend to create a set of rescue discs before you repartition the drive. When you create the rescue discs, use a CD-R for the first volume (it's only 280 Megs) and then DVD-R. Otherwise you will end up with seven CD-Rs.&lt;br /&gt;
Alternatively IBM [[Ordering_Recovery_CDs|offers]] shipment of a pack of rescue disks if you call the support hotline. Or try to create the rescue CDs [[Backing_up_the_preloaded_OS|on your own]]. &lt;br /&gt;
&lt;br /&gt;
The copy of Windows that came with your machine cannot be legally transferred to any other machine. Leave the license sticker intact for when the machine is sold, or if you just have to dual boot.&lt;br /&gt;
&lt;br /&gt;
==Resizing your Windows Partition==&lt;br /&gt;
If you want to keep your WinXP partition and you do not want to shell out lots of money for PartitionMagic, you can use [http://mlf.linux.rulez.org/mlf/ezaz/ntfsresize.html ntfsresize]. I recommend booting {{Kanotix}} or {{Knoppix}}, getting it online and using the latest version to be found at the ntfsresize link because the CD linuxes tend to come with slightly out-dated versions. Be sure not to forget to resize your Windows partition (e.g. with cfdisk) AFTER having resized ntfs and TAKE CARE not to make the partition smaller than you made the ntfs. If you like it safe and smooth you can also take a look at the program &amp;quot;qtparted&amp;quot; which reportedly takes care of ntfsresize and partition table changing in one go and allows you to adjust partition sizes in a GUI. But I have not tested this software personally.&lt;br /&gt;
&lt;br /&gt;
'''Please be carefull before taking the following steps. I suggest that you should create rescue and product recovery CDs (6 CDS will be required) before going for the following so that if anything goes wrong you can go back to the factory setting using those CDs.'''&lt;br /&gt;
&lt;br /&gt;
==Moving the Recovery partition using a Linux rescue system==&lt;br /&gt;
On newer models (i.e. the T43) the preinstalled HDD has two partitions; the first one containing the OS and second one having the rescue files used to boot the machine when {{ibmkey|Access IBM|#495988}} button is pressed before Windows XP takes control of the laptop. One can use his Linux distros boot CD (usually the first CD) to boot into rescue mode and shift the rescue partition from the end of the HDD to somewhere in between leaving required space for Windows. This can be done in following steps:&lt;br /&gt;
&lt;br /&gt;
===Creating a temporary rescue partition===&lt;br /&gt;
* Run {{cmdroot|fdisk /dev/sda}}.&lt;br /&gt;
* Delete the 1st partition ({{path|/dev/sda1}}).&lt;br /&gt;
* Create a partion {{path|/dev/sda3}} immediately before the rescue partition ({{path|/dev/sda2}}) with exactly the same number of cylinders as the rescue partition.&lt;br /&gt;
* Save the partition table and quit fdisk. Reboot.&lt;br /&gt;
{{HINT|To be on the safe side, reboot the machine everytime the partition table is modified and saved using fdisk from linux rescue mode.}}&lt;br /&gt;
* rawcopy the contents of {{path|/dev/sda2}} to {{path|/dev/sda3}} with&lt;br /&gt;
:{{cmdroot|1=dd if=/dev/sda2 of=/dev/sda3}}&lt;br /&gt;
&lt;br /&gt;
===Creating the rescue partition in its final position===&lt;br /&gt;
* Run {{cmdroot|fdisk /dev/sda}}.&lt;br /&gt;
* Delete the rescue partiton {{path|/dev/sda2}} (we just backed it up to {{path|/dev/sda3}}).&lt;br /&gt;
* Create a partion {{path|/dev/sda2}} immediately after the space you want to leave for Windows. Note that this new partition again should have exactly the same number of cylinders as the rescue partition (now {{path|/dev/sda3}}).&lt;br /&gt;
* Save the partition table and quit fdisk. Reboot.&lt;br /&gt;
* rawcopy the contents of {{path|/dev/sda3}} to the newly created {{path|/dev/sda2}}:&lt;br /&gt;
:{{cmdroot|1=dd if=/dev/sda3 of=/dev/sda2}}&lt;br /&gt;
* Run {{cmdroot|fdisk /dev/sda}}.&lt;br /&gt;
* Delete the temporary rescue partiton {{path|/dev/sda3}} (we just copied it to {{path|/dev/sda2}})&lt;br /&gt;
* Save the partition table and quit fdisk.&lt;br /&gt;
* Reboot the machine and press {{ibmkey|Access IBM|#495988}} Button to restore the Windows XP from the rescue partition. Windows XP will occupy only the space available before the new rescue partition.&lt;br /&gt;
&lt;br /&gt;
Once Windows XP is recovered follow the standard mechanism for installing Linux in the available free space at the end of the HDD. If you have created Rescue and Product Recovery CDs, then the Rescue Partition also can be deleted at this stage to make more room for your Linux installation.&lt;br /&gt;
&lt;br /&gt;
= Alternative Method: Dual Booting and retaining ThinkVantage Utility =&lt;br /&gt;
&lt;br /&gt;
Note: T60 2913 with 60 GB drive&lt;br /&gt;
&lt;br /&gt;
The key here is to find a bootable CD version of Linux that has the PartEd package on it (preferrably with qtparted also).  I used SystemRescueCd (http://www.sysresccd.org/Main_Page).  I've read people say to defrag Windows, but according to the PartEd website, the PartEd resize command (http://www.gnu.org/software/parted/manual/parted.html#resize) will take care of all that.  Now boot with the SystemRescueCd and when you get the prompt, press F2.  This will list available images.  I used fb1024, because I wanted to use qtparted (graphical, fb1024 is framebuffer at 1024x768 vs fb800 is framebuffer at 800x600, etc), not parted (commandline).  &lt;br /&gt;
&lt;br /&gt;
What I saw was a 3 partition device sda.  Only touch the NTFS partition (sda1 on mine, should be on yours if it is factory settings).  You do not want to move the VFAT at the end of the device nor touch that little section (sda-1) at the beginning.  I resized sda1 (NTFS) down to 20 GB, what you should see is the the New Size + the Free Space After = Old Size of sda1.  Click the commit under the file menu to write the changes.  That's it.  &lt;br /&gt;
&lt;br /&gt;
I then rebooted with Fedora Core 5 disk 1 and used Anaconda and its utilities to partition the free space to be a 20 GB mount point &amp;quot;/&amp;quot;, a 512 MB swap, and a 10 GB vfat, these could have been done using qtparted, or pretty much any distro's install.  The swap and vfat were shown inside a logical partition.  I set up GRUB in the MBR and clicked the GRUB advanced setup checkbox.  This allowed me to add entries, in addition to Linux, for GRUB.  I added the NTFS (Windows) partition and the VFAT (ThinkVantage partition, not the 10 GB I created, cuz that would be silly).&lt;br /&gt;
&lt;br /&gt;
The results are:  on boot, the post screen tells you to press the ThinkVantage button and....it does nothing, but once GRUB starts, press the key GRUB tells you to which shows the boot list, and there you have Linux, Windows, and ThinkVantage.  I tried it and I can boot into all 3.  When you first boot into Windows, you may get a chkdisk (I did), but it should be fine.&lt;br /&gt;
&lt;br /&gt;
A word of warning.  Be careful, I've heard some people say GRUB in the MBR while dual booting WinXP can result in false positives from virus software, but I didn't have that issue.  Also, be very careful about the resize of the NTFS partition with qtparted.  Any change in the placement of the start of the pre-existing partitions, and all bets are off.  I'm just saying this because I don't know what might happen if Windows isn't where it wants to be.  Also I think the placement of the ThinkVantage utility on the disk is very important from my reading.  However, since pressing the ThinkVantage at POST doesn't do anything, I may have screwed that up, but with GRUB pointing at that VFAT, I can still get to the ThinkVantage utilities, so I'm happy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows]]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:2378-R4U&amp;diff=27610</id>
		<title>Talk:2378-R4U</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:2378-R4U&amp;diff=27610"/>
		<updated>2007-01-11T07:54:47Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Ubuntu_6.06_on_a_ThinkPad_T43&amp;diff=27609</id>
		<title>Talk:Installing Ubuntu 6.06 on a ThinkPad T43</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Ubuntu_6.06_on_a_ThinkPad_T43&amp;diff=27609"/>
		<updated>2007-01-11T07:54:44Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Killme&amp;diff=27608</id>
		<title>Talk:Killme</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Killme&amp;diff=27608"/>
		<updated>2007-01-11T07:54:40Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:ES1946&amp;diff=27547</id>
		<title>Talk:ES1946</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:ES1946&amp;diff=27547"/>
		<updated>2007-01-06T12:55:50Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=27546</id>
		<title>Maintenance</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Maintenance&amp;diff=27546"/>
		<updated>2007-01-06T12:55:45Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Here you can find general hints about keeping your ThinkPad in good shape. Look at your [[:Category:Models|models category page]] for IBMs official maintenance guide for that model.&lt;br /&gt;
|}&lt;br /&gt;
==Battery treatment==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2 style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|+Battery life expanding guide&lt;br /&gt;
|- style=&amp;quot;background:#efefef;white-space:nowrap;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Battery Type !! NiCd !! NiMH !! Lithium ion&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | General&lt;br /&gt;
|&lt;br /&gt;
*always do complete discharge/charge cycles&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|&lt;br /&gt;
*always do complete discharge/charge cycles&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|&lt;br /&gt;
*avoid deep discharges except when resetting fuel gague or reconditioning a battery;  partial dis-/recharges are better for the battery lifetime (note: fuel gauge will slowly get inaccurate over time)&lt;br /&gt;
*remove battery when on AC (due to heat)&lt;br /&gt;
*avoid exposing the battery (or notebook) to excessive heat&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Charging&lt;br /&gt;
|&lt;br /&gt;
*discharge before charging&lt;br /&gt;
|&lt;br /&gt;
*discharge before charging&lt;br /&gt;
|&lt;br /&gt;
*avoid charging if battery is nearly full, unless you will need its full capacity soon; keep it on the 30%-85% charged range&lt;br /&gt;
*keep notebook off while charging due to heat&lt;br /&gt;
*fully discharge, then fully charge battery when needed to recalibrate fuel gauge;  newer battery pack models require this less often, old ones might need it as often as every 30 cycles&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ffdead;&amp;quot; | Storage&lt;br /&gt;
| &lt;br /&gt;
*almost discharged&lt;br /&gt;
*cool and dry&lt;br /&gt;
|&lt;br /&gt;
*almost discharged&lt;br /&gt;
*cool and dry&lt;br /&gt;
|&lt;br /&gt;
*never fully charged or discharged, ideally at about 40%&lt;br /&gt;
*cool and dry, but '''do not freeze''' them. 10-15C is recommended&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Battery health===&lt;br /&gt;
Batteries, especially of the modern Li-Ion type, wear out quicker when they hold a large charge or are subject to higher temperatures (see above).&lt;br /&gt;
&lt;br /&gt;
If you use your laptop at a desk, reduce battery wear by maintaining an appropriate charge level.  When  possible, remove Li-ion batteries while operating from AC as the notebook gets hot enough inside for that to damage the battery in the long run, even if charging is stopped.&lt;br /&gt;
&lt;br /&gt;
On recent ThinkPads, charging thresholds can be configured in the bundled software.  Under Linux, this is supported on recent models by the [[tp_smapi]] driver (and even without &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;, if you have a dual-boot setup, you can set the thresholds under Windows and they will be remembered as long as you don't power off your machine with AC disconnected; suspend to RAM is OK). Have a look at [[How to use UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
If you have spare Li-ion battery packs, store them at 40% charge in a cool place (15C being a recommended temperature, do not let the batteries freeze).  If storing inside a refrigerator, beware of humidity, and be careful with cold spots that can easily freeze the battery if anything goes wrong.&lt;br /&gt;
&lt;br /&gt;
===The problem with 600 series batteries===&lt;br /&gt;
ThinkPad 600 power management causes batteries to die before they should. Read more about this on the [[Problem with ThinkPad 600 batteries|associated problem page]].&lt;br /&gt;
&lt;br /&gt;
===Reviving batteries===&lt;br /&gt;
Some people experience sudden drops in their batteries capacity.&lt;br /&gt;
&lt;br /&gt;
A way to get these batteries back to full capacity is to run the &amp;quot;Battery Rundown&amp;quot; function of IBMs &amp;quot;PC Doctor for DOS&amp;quot;.&lt;br /&gt;
The program is downloadable from IBMs support site as three floppy disk images. For those who do not have a floppy, David Smith prepared a [http://www.mypchelp.com/~dsmith/ibmutil/ibm_t22_pcdiag.iso bootable CD image] from the T22 floppy images. For newer ThinkPads there is an official [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-56222 bootable CD image].&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [[Battery safety]]&lt;br /&gt;
&lt;br /&gt;
===External sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-50944 IBM Support - Extending battery life]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-51038 IBM Support - Battery troubleshooting]&lt;br /&gt;
* [http://www.pc.ibm.com/ww/thinkpad/batterylife/ IBM Benchmark]&lt;br /&gt;
* [http://batteryuniversity.com Battery University]&lt;br /&gt;
* [http://www.batteryuniversity.com/parttwo-34.htm BatteryUniversitys info about prolonging lithium ion batteries]&lt;br /&gt;
* [http://www.buchmann.ca/Chap10-page6.asp prolonging lithium ion batteries in Buchmanns Battery FAQ]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Display==&lt;br /&gt;
If you discover markings that look like they originate from the TrackPoint or keyboard, or for information on how to avoid these, look at [[Problem with key and trackpoint markings on the display|this page]].&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-4A2P54 Lenovo Support - LCD care and cleaning instructions]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-52190 IBM Support - System cleaning instructions]&lt;br /&gt;
&lt;br /&gt;
==Cleaning the Interior==&lt;br /&gt;
{{WARN|The following instructions are not appropriate for all ThinkPad models. Please consult the hardware maintenance guide or on-line disassembly instructions for your model.}}&lt;br /&gt;
Most ThinkPad models (particularly the A-series and the T-series) tend to accumulate a lot of interior dust which they draw from their ventilation fan.  A good dusting every few months is advised. The procedure is as follows.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T4x series===&lt;br /&gt;
See IBM's keyboard removal [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-46515 instructions] and [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-50227 movie].&lt;br /&gt;
&lt;br /&gt;
===ThinkPad T6x series===&lt;br /&gt;
See IBM's keyboard removal&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-62800 instructions] and&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-63912 movie].&lt;br /&gt;
&lt;br /&gt;
===Other models (which?)===&lt;br /&gt;
#Unplug the computer.&lt;br /&gt;
#Remove the battery.&lt;br /&gt;
#Turn the ThinkPad over and find two to three screws with upraised double-arrows pointing to them.&lt;br /&gt;
#Unscrew these screws and set them aside.&lt;br /&gt;
#Press the silver area underneath where the battery used to be.  The front of the keyboard will pop up.&lt;br /&gt;
#Turn the ThinkPad right side up and gently remove the keyboard, pulling it toward you.&lt;br /&gt;
#There is one connector between the ThinkPad and the keyboard.  Disconnect it, and set the keyboard aside.&lt;br /&gt;
#If there is a small black plastic separator under the keyboard, remove it and set it aside.&lt;br /&gt;
#The fan should be visible in the upper left.  That entire area will likely be dusty.  With a can of compressed air (and ''only'' with a can of compressed air), dust that area and the surrounding area.&lt;br /&gt;
#Replace the small black plastic separator, then reconnect the keyboard.&lt;br /&gt;
#Slide the keyboard back into place, then press down on the Fn and right-arrow keys until it pops into place.&lt;br /&gt;
#Replace the keyboard screws and battery.&lt;br /&gt;
&lt;br /&gt;
==Dealing with spilling accidents==&lt;br /&gt;
#Don't panic.&lt;br /&gt;
#Don't flip or tilt the computer to prevent the liquid from spreading all over the inside of the case.&lt;br /&gt;
#Shut down the OS and turn off the power:&lt;br /&gt;
##Unplug the computer.&lt;br /&gt;
##Remove the battery.&lt;br /&gt;
#Tilt the computer so that everything that leaked into the case can flow out the same way.&lt;br /&gt;
#Allow the computer to dry before switching it on again.&lt;br /&gt;
#For minor accidents this might already be sufficient. For major flooding you should either bring the computer to a dealer who knows how to open and clean it from inside. Or you can read the Hardware Maintenance Manual, open, clean, and dry the computer yourself. &lt;br /&gt;
&lt;br /&gt;
See also [http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 Act quickly, carefully if you spill on laptops] on MoneySense.ca (link broken as of 2006-09-18, the article is still available via [http://web.archive.org/web/20050221034011/http://www.moneysense.ca/spending/technology/columnist.jsp?content=986628 web.archive.org]).&lt;br /&gt;
&lt;br /&gt;
==Harddisk Backup / Upgrade==&lt;br /&gt;
*[[How to copy a Linux installation]]&lt;br /&gt;
*[[Harddrive Upgrade|How to upgrade your Thinkpad hard drive]]&lt;br /&gt;
*[[How to copy a Windows installation]]&lt;br /&gt;
===External Sources===&lt;br /&gt;
*[http://gamma.nic.fi/~point/win2copy.htm Guide on copying Windows 2000/XP to another partition]&lt;br /&gt;
&lt;br /&gt;
==Recovering BIOS passwords==&lt;br /&gt;
Password recovery procedure for IBM ThinkPads&lt;br /&gt;
using R24RF08 and IBMpass&lt;br /&gt;
&lt;br /&gt;
'''1. Introduction.'''&lt;br /&gt;
&lt;br /&gt;
The IBM ThinkPad uses a small eeprom ([[AT24RF08|ATMEL 24RF08]]) to store different OEM&lt;br /&gt;
issues like serial number, UUID, etc. The supervisor password (SVP) is also stored in this eeprom.&lt;br /&gt;
The 24RF08 is not an ordinary eeprom: it features read protection, which the BIOS uses to lock down&lt;br /&gt;
access to the eeprom contents.  Also, the password is written in a special scan code, which needs to&lt;br /&gt;
be translated to ASCII to be of any use.&lt;br /&gt;
&lt;br /&gt;
To recover the password, one can use two different programs: R24RF08 (eeprom reader) and IBMpass&lt;br /&gt;
(password revealer) available at [http://www.allservice.ro http://www.allservice.ro]. Diagrams are included in the reader kit.&lt;br /&gt;
&lt;br /&gt;
Models for which R24RF08 and IBMpass are enough to recover the password: 240, 240X, 390E, 390X, 570, 570E,&lt;br /&gt;
600e, 600X, 770Z, A20m, A21e, A21m, a22m, A30, A30p, A31, A31p, G40, G41, R30, R31, R32, R40, R50, R51, &lt;br /&gt;
Transnote, T20, T21, T22, T23, T30, T40, T40p, T41, T41p, T42, T42p, X20, X21, X22, X23, X24, X30, X31, X40, X41.&lt;br /&gt;
&lt;br /&gt;
ThinkPads featuring TPCA technology (i.e. a [[Tpm|TPM trusted platform module chip]]), especially T4x, X3x, X4x need the W24RF08 eeprom writer program to complete the password recovery procedure, if the passphrase function is enabled in BIOS setup.&lt;br /&gt;
&lt;br /&gt;
Other models such as the 380XD or 600 use 24C01 or 93C46 eeproms, which can be read without special tools.&lt;br /&gt;
The method is the same like for the models based on 24RF08, only the software to dump the eeprom is different. &lt;br /&gt;
&lt;br /&gt;
Newer T43/T43p, R52, R60, T60/p, X60 and Z60 ThinkPads can be unlocked using PC8394 programming tools that consist in RPC8394 and WPC8394 (reader and writer for TPM chips). The software is available as well on [http://www.allservice.ro http://www.allservice.ro]. IBMpass 2.0 works for any TP model without exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Locating the ATMEL 24RF08 eeprom. Soldering.'''&lt;br /&gt;
&lt;br /&gt;
No need to unsolder the 24RF08 eeprom, just solder 3 wires to SDA, SCL and GND pins of the&lt;br /&gt;
eeprom. There are two eeprom layouts (see interface schematics described bellow), orresponding to 8 pin or 14 pin eeproms. Locate the eeprom first according to your model (E.g. T20-23 and T30 have the eeprom underneath TP, and can be accessed by removing the RAM modules cover, no need to dismantle the laptop.) and solder the wires using a soldering iron with a fine tip. Also, you can use 0.15 -0.20 mm enamel coated wires or similar small diameter insulated wires. These wires will be connected later to the interface.&lt;br /&gt;
Tip: You can use clips to connect the wires or you can solder on the PCB traces leading to the&lt;br /&gt;
eeprom pins. Once again, be careful and double, triple check the soldering if necessary till you are positively sure you have done the right job.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Choose and build the interface.'''&lt;br /&gt;
&lt;br /&gt;
Since version 2.0, R24RF08 and W24RF08(eeprom writer) are compatible with a wide range of eeprom programmers. By default, both programs set the COM port signals to use direct logic level to access I2C bus. We provide here 2 schematics that are relevant for direct logic signals and for inverse logic signals (simple-i2cprog.pdf and driven-i2cprog.pdf). Also, depending of the interface you build, you can invert the logics for SDA-In, SDA-Out, and SCL COM port signals by some command line parameters described later in this document.&lt;br /&gt;
a) The file simple-i2cprog.pdf contains the schematic diagram of a simple interface (known as SIPROG)based on 2 zeners and 2 resistors. This is a classic, easy to build circuit and works with soldered or unsoldered eeproms. The purpose of the 2 zeners is to convert RS232 levels (+/- 5V) to TTL levels, needed by the eeprom. It uses direct logic signals to I2C eeprom and is powered by the COM port. However, this interface works with in-system eeproms but is dependant on COM port current and eeprom bus impedance. R24RF08 works natively with this circuit, no need to change the lines signals with command line parameters. This circuit works pretty well with almost all ThinkPads series.&lt;br /&gt;
b) The second interface is described in driven-i2cprog.pdf. The circuit uses MAX 232 as a RS232 to TTL driver and its main purpose is to work with soldered eeproms. The advantage of MAX232 is the TTL outputs that are more reliable and more powerful when work with soldered, in-system eeproms (dependency free from the COM port current). Due of the internal inverters of MAX232 the interface responds to an inverse signal logic level. R24RF08 needs /x, /d, /i switches to be specified in the command line.&lt;br /&gt;
&lt;br /&gt;
What these switches mean:&lt;br /&gt;
/x - invert serial clock, also known as SCL;&lt;br /&gt;
/d - invert serial data output, also known as SDA-Out;&lt;br /&gt;
/i - invert serial data input, also known as SDA-In.&lt;br /&gt;
All those can be used in any combination to meet any interface specification.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. How is it working:'''&lt;br /&gt;
&lt;br /&gt;
Prepare your technician PC by connecting the interface to the COM1 port (donâ€™t connect the wires to eeprom yet). Turn on the ThinkPad and press F1 to enter BIOS Setup. When you are prompted for the password and thereâ€™s no other activity like HDD access or so, connect the wires (GND first!, SDA, SCL) to the corresponding wires from the interface (attached before to COM1) and execute R24RF08:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG interface (as described in 3.a above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;. where filename.ext is the file where eeprom content will be stored.&lt;br /&gt;
Example: r24rf08 mytp.bin&lt;br /&gt;
&lt;br /&gt;
-for MAX232 driven I2C interface (as described in 3.b above):&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i. where /x /d /i are command line parameters (switches) for this kind of interface.&lt;br /&gt;
Example: r24rf08 mytp2.bin /x /d /i&lt;br /&gt;
&lt;br /&gt;
Use exactly the instructed switches to avoid possible damages to your eeprom data!&lt;br /&gt;
The file should be created in the same folder. Finally, disconnect the wires (GND last!) and turn off the ThinkPad by pressing on/off switch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. Reveal the password.'''&lt;br /&gt;
&lt;br /&gt;
Now, you have the .bin file but you need to dump in scan code to retrieve the password. IBMpass 2.0 Lite is a free tool that will do the job. Just open the eeprom dump youâ€™ve created before and search for 0x330, 0x340 lines. The password is located on 0x338 (and 0x340 depending on model) in scan code. For 24C01 eeproms the password is located at 0x38, 0x40. If the password won't work for the very first time then your eeprom may use newer IBM scancodes. In this case switch to alternate scan codes to find it. For those who want quick answers the recommended version is IBMpass 1.1. Usage for IBMpass 1.1 (command line only):&lt;br /&gt;
&lt;br /&gt;
ibmpass mytp.bin â€“ use â€œ/aâ€ switch to see in alternate scan code if needed:&lt;br /&gt;
ibmpass mytp.bin /a&lt;br /&gt;
&lt;br /&gt;
For some old models like 570 or 770Z you need to execute the eeprom patcher first. This will reset the read protection on the password offset. To do that just execute patcher.exe before the reading operation, without rebooting the laptop:&lt;br /&gt;
&lt;br /&gt;
-for SI-PROG:&lt;br /&gt;
patcher.exe , then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-for Driven-I2C (Max232) you must insert the switches:&lt;br /&gt;
patcher.exe /x /d /i, then immediately&lt;br /&gt;
r24rf08.exe &amp;lt;filename.ext&amp;gt; /x /d /i&lt;br /&gt;
&lt;br /&gt;
W24RF08, the writer version, has included the complete APP reset operation you donâ€™t need to use patcher.&lt;br /&gt;
&lt;br /&gt;
Moreover, there are a new encrypting algos used with some new security chips (AT97SC3201, AT97SC3203) that are very secured. The password is not in scancode and in some cases not even in the eeprom. To unlock the machine, the dump should suffer some changes and the eeprom must be reprogrammed using W24RF08. This operation works for all IBM TCG/TCPA secured laptops w/o exceptions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember, use 3 wires from the interface and 3 wires from eeprom! Connect them after your&lt;br /&gt;
ThinkPad is powered and disconnect them right after you read the content, before you switch off the laptop.&lt;br /&gt;
&lt;br /&gt;
===External Sources===&lt;br /&gt;
* [http://www.allservice.ro R24RF08/W24RF08, PC8394 programming tools &amp;amp; IBMpass author's webpage.]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-59377 IBM Support - Lost or forgotten password]&lt;br /&gt;
* [http://www.allservice.ro/forum/viewforum.php?f=12 Full Service of all ThinkPad models including free password recovery]&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Neomagic_NMA2&amp;diff=27545</id>
		<title>Talk:Neomagic NMA2</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Neomagic_NMA2&amp;diff=27545"/>
		<updated>2007-01-06T12:55:41Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Links&amp;diff=27543</id>
		<title>Talk:Links</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Links&amp;diff=27543"/>
		<updated>2007-01-06T12:55:34Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid&amp;diff=27542</id>
		<title>Talk:Problem with e1000: EEPROM Checksum Is Not Valid</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid&amp;diff=27542"/>
		<updated>2007-01-06T12:55:30Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Tpb&amp;diff=27541</id>
		<title>Talk:Tpb</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Tpb&amp;diff=27541"/>
		<updated>2007-01-06T12:55:26Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:2647-8AG&amp;diff=27540</id>
		<title>Talk:2647-8AG</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:2647-8AG&amp;diff=27540"/>
		<updated>2007-01-06T12:55:22Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_6.10_on_a_ThinkPad_X41_Tablet&amp;diff=27539</id>
		<title>Installing Ubuntu 6.10 on a ThinkPad X41 Tablet</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_6.10_on_a_ThinkPad_X41_Tablet&amp;diff=27539"/>
		<updated>2007-01-06T12:55:19Z</updated>

		<summary type="html">&lt;p&gt;Defiant: Revert vandalism caused by this number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the process of (installing and?) configuring [https://wiki.ubuntu.com/EdgyEft Ubuntu Edgy Eft] (final release expected October 2006) on a Lenovo ThinkPad X41 Tablet. With whatever relevance it may have, the particular model number used in testing was an 1869CSU. Keep in mind that at this document's inception 6.10 is a development version of the Ubuntu Linux OS.&lt;br /&gt;
&lt;br /&gt;
== Success Chart ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2| '''Item''' || '''Working'''&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2|Installation &lt;br /&gt;
| Network Installation ||class=&amp;quot;diff-addedline&amp;quot;| Yes&lt;br /&gt;
|-&lt;br /&gt;
| USB Installation     ||class=&amp;quot;diff-addedline&amp;quot;| Yes (CD)&lt;br /&gt;
|- &lt;br /&gt;
|rowspan=4|Display&lt;br /&gt;
| Laptop Screen  ||class=&amp;quot;diff-addedline&amp;quot;| Yes&lt;br /&gt;
|-&lt;br /&gt;
| CRT / Projector ||class=&amp;quot;diff-context&amp;quot;| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| Screen Rotation ||class=&amp;quot;diff-addedline&amp;quot;| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Stylus ||class=&amp;quot;diff-addedline&amp;quot;| Yes&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2|Power Management&lt;br /&gt;
| Software Suspend (hibernate) ||class=&amp;quot;diff-context&amp;quot;| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| Suspend to Memory (ACPI sleep) ||class=&amp;quot;diff-addedline&amp;quot;| Yes&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2| Audio ||class=&amp;quot;diff-addedline&amp;quot;| Yes&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2| Wireless || 802.11b/g ||class=&amp;quot;diff-addedline&amp;quot;| Yes&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth ||class=&amp;quot;diff-context&amp;quot;| Unknown&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2|Extra Buttons || Keyboard Section ||class=&amp;quot;diff-context&amp;quot;| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| Tablet buttons ||class=&amp;quot;diff-context&amp;quot;| Unknown&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2| Fingerprint Scanner ||class=&amp;quot;diff-context&amp;quot;| Unknown&lt;br /&gt;
|-&lt;br /&gt;
|colspan=2| Harddisk Active Protection ||class=&amp;quot;diff-addedline&amp;quot;| Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Pre-Installation Notes =&lt;br /&gt;
&lt;br /&gt;
== Tablet Screen Rotation (updated i810 drivers) ==&lt;br /&gt;
&lt;br /&gt;
This edition of Ubuntu (Edgy) has XRandR enabled i810 drivers, which allow you to rotate your screen orientation on the fly. The command &amp;lt;tt&amp;gt;xrandr -o [orientation]&amp;lt;/tt&amp;gt; will rotate your screen to your liking. For more information about the &amp;lt;tt&amp;gt;xrandr&amp;lt;/tt&amp;gt; command, refer to the man file (&amp;lt;tt&amp;gt;man xrandr&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Wireless Support ==&lt;br /&gt;
&lt;br /&gt;
Wireless seems to be supported flawlessly in terms of drivers, though I'm not sure how well the built-in Network Manager works. I use the &amp;lt;tt&amp;gt;iwconfig&amp;lt;/tt&amp;gt; command to manage my wireless, as I have a need to create pseudo-&amp;quot;profiles&amp;quot;, and in this document I will describe this alternative process.&lt;br /&gt;
&lt;br /&gt;
== Fingerprint Reader Support ==&lt;br /&gt;
&lt;br /&gt;
Honestly, I care very little about the fingerprint functionality. Its only real use seems to be for gksu-type logins while the tablet is swiveled down, which doesn't occur often in my setup. If someone wants to explore/expound, please do, but I won't include any details about the fingerprint reader in this document.&lt;br /&gt;
&lt;br /&gt;
== Terminology Used ==&lt;br /&gt;
&lt;br /&gt;
For those of you new to Linux, I'll try to detail a few terms I use with little explanation:&lt;br /&gt;
* Xorg configuration -- the display configuration file, residing in &amp;lt;tt&amp;gt;/etc/X11/xorg.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Execute a command -- press Alt-F2, then type &amp;lt;tt&amp;gt;gnome-terminal&amp;lt;/tt&amp;gt; into the prompt and press enter -- this is a terminal into which you input said commands&lt;br /&gt;
&lt;br /&gt;
= Installation Notes =&lt;br /&gt;
&lt;br /&gt;
== Booting With NetBOOT ==&lt;br /&gt;
&lt;br /&gt;
To boot over NetBOOT I fisrt went into the BIOS and change the boot settings so that PXE was first on the list.  Then I set my desktop to be a DHCP server (dhcp3-server) and configured it using this site [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install Ubuntu_PXE_Install] and installed tftpd-hpa&lt;br /&gt;
&lt;br /&gt;
Then I downloaded the [http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/netboot/netboot.tar.gz Dapper netboot archive] (I tried the testing edgy but it would not run on my X41 as of 9/9/06)&lt;br /&gt;
&lt;br /&gt;
Then I assigned my desktop a static IP in the range I set my DHCP server up for and plugged my laptop into it with a cross over cable and rebooted.  &lt;br /&gt;
&lt;br /&gt;
The X41 received an IP and then connected to lftp and the same screen as the Ubuntu netboot CD has came up and I followed the instructions.&lt;br /&gt;
&lt;br /&gt;
Once it was intstalled and up-to-date I ran (leave in all quotes, they are important)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sudo aptitiude update &amp;amp;&amp;amp; sudo aptitude upgrade &lt;br /&gt;
gksudo &amp;quot;update-manager -c -d&amp;quot; &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To upgrade to edgy eft&lt;br /&gt;
&lt;br /&gt;
= Post-Installation Notes =&lt;br /&gt;
&lt;br /&gt;
== Configuring Xorg ==&lt;br /&gt;
&lt;br /&gt;
=== TrackPoint ===&lt;br /&gt;
&lt;br /&gt;
Like in all ThinkPad Xorg configurations, add the following under the &amp;quot;Configured Mouse&amp;quot; device to enable TrackPoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 Option          &amp;quot;EmulateWheel&amp;quot;          &amp;quot;true&amp;quot;&lt;br /&gt;
 Option          &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Wacom Stylus ===&lt;br /&gt;
&lt;br /&gt;
First install the wacom drivers with the following command:&lt;br /&gt;
 sudo apt-get install wacom-kernel-source xserver-xorg-input-wacom wacom-tools&lt;br /&gt;
&lt;br /&gt;
After doing this, I strongly suggest that you reboot your computer; however, if you're one of those people whose uptime is on the order of four years, I'm sure you'll figure out an alternative that I won't be describing here.&lt;br /&gt;
&lt;br /&gt;
Next step is to check to see if &amp;lt;tt&amp;gt;/dev/wacom&amp;lt;/tt&amp;gt; exists. A '&amp;lt;tt&amp;gt;ls -al /dev | grep wacom&amp;lt;/tt&amp;gt;' should do the trick quite nicely. If it &amp;lt;strong&amp;gt;does&amp;lt;/strong&amp;gt; exist, add the following to your Xorg configuration.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
   Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
   Identifier    &amp;quot;stylus&amp;quot;&lt;br /&gt;
   Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/wacom&amp;quot;&lt;br /&gt;
   Option        &amp;quot;Type&amp;quot;          &amp;quot;stylus&amp;quot;&lt;br /&gt;
   Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
   Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
   Identifier    &amp;quot;eraser&amp;quot;&lt;br /&gt;
   Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/wacom&amp;quot;&lt;br /&gt;
   Option        &amp;quot;Type&amp;quot;          &amp;quot;eraser&amp;quot;&lt;br /&gt;
   Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
   Driver        &amp;quot;wacom&amp;quot;&lt;br /&gt;
   Identifier    &amp;quot;cursor&amp;quot;&lt;br /&gt;
   Option        &amp;quot;Device&amp;quot;        &amp;quot;/dev/wacom&amp;quot;&lt;br /&gt;
   Option        &amp;quot;Type&amp;quot;          &amp;quot;cursor&amp;quot;&lt;br /&gt;
   Option        &amp;quot;ForceDevice&amp;quot;   &amp;quot;ISDV4&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
And under the ServerLayout section add:&lt;br /&gt;
&lt;br /&gt;
        InputDevice     &amp;quot;stylus&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
        InputDevice     &amp;quot;cursor&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
        InputDevice     &amp;quot;eraser&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Some people seem to have slightly different configurations (potentially due to model differences). At any rate, if you're looking to find what serial device your stylus is, a simple '&amp;lt;tt&amp;gt;dmesg | grep ttyS&amp;lt;/tt&amp;gt;' should do the trick. Be sure to append to this article if the procedure varies from model to model.&lt;br /&gt;
&lt;br /&gt;
==== Suspend Fix ====&lt;br /&gt;
&lt;br /&gt;
Every suspend/resume cycle drops the wacom, so create the file &amp;lt;tt&amp;gt;/etc/acpi/resume.d/20-setserial.sh&amp;lt;/tt&amp;gt; and add the following (modify settings for your device if necessary):&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  /bin/setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig&lt;br /&gt;
&lt;br /&gt;
Then, go ahead and run a:&lt;br /&gt;
&lt;br /&gt;
 sudo chmod +x /etc/acpi/resume.d/20-setserial.sh&lt;br /&gt;
&lt;br /&gt;
You should be all set to resume with stylus support.&lt;br /&gt;
&lt;br /&gt;
=== ACPI Swivel Events ===&lt;br /&gt;
&lt;br /&gt;
When you swivel your tablet's LCD down or up your computer triggers what's called an ACPI event. This is an event similar to pushing the power or sleep buttons -- it's telling the OS about something that's going on with the hardware.&lt;br /&gt;
&lt;br /&gt;
In Linux, ACPI event handling is bundled into a nice neat little package. First, to make sure you can hear the ACPI event when it happens, run the command '&amp;lt;tt&amp;gt;acpi_listen&amp;lt;/tt&amp;gt;'. The command line will hang there until it picks up on an ACPI event that's occuring, and then it will dump it to the screen. After running acpi_listen, while it's hanging there, swivel your screen down, and then back up. You should get a result similar to this:&lt;br /&gt;
&lt;br /&gt;
 $ acpi_listen&lt;br /&gt;
 ibm/hotkey HKEY 00000080 00005009&lt;br /&gt;
 ibm/hotkey HKEY 00000080 0000500a&lt;br /&gt;
&lt;br /&gt;
The first HKEY entry is your swivel-down-event identifier and the second is your swivel up. If your values differ from those displayed here, be sure to use your values instead.&lt;br /&gt;
&lt;br /&gt;
Next, what we do is create new ACPI handler entries for the specified events, which we operate on in &amp;lt;tt&amp;gt;/etc/acpi/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;/etc/acpi/&amp;lt;/tt&amp;gt; folder generally contains shell files to be executed when events occur. Since there's no shell files to handle swivel events yet, we're gonna go ahead and create some. Yeah, that'd be great.&lt;br /&gt;
&lt;br /&gt;
Use your favorite text editor to modify the following files (the file names are the second line with the # symbol).&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #/etc/acpi/x41tsdown.sh&lt;br /&gt;
 echo 'Rotating screen...'&lt;br /&gt;
 if [ &amp;quot;`/usr/bin/xrandr -o right -v | grep -i 'randr' | wc -l`&amp;quot; -ne &amp;quot;1&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
     echo '!! Something went wrong...'&lt;br /&gt;
     export DISPLAY=&amp;quot;:0.0&amp;quot;&lt;br /&gt;
     export XAUTHORITY=/var/lib/gdm/\:0.Xauth&lt;br /&gt;
     /bin/xset -display $DISPLAY dpms&lt;br /&gt;
     echo 'Trying to rotate again...'&lt;br /&gt;
     /usr/bin/xrandr -o right&lt;br /&gt;
 fi&lt;br /&gt;
 echo 'Rotating stylus...'&lt;br /&gt;
 /usr/bin/xsetwacom set stylus rotate 1&lt;br /&gt;
 echo 'Starting keyboard...'&lt;br /&gt;
 /usr/bin/xvkbd&amp;amp;&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #/etc/acpi/x41tsup.sh&lt;br /&gt;
 echo 'Unrotating screen...'&lt;br /&gt;
 if [ &amp;quot;`/usr/bin/xrandr -o normal -v | grep -i 'randr' | wc -l`&amp;quot; -ne &amp;quot;1&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
     echo '!! Something went wrong...'&lt;br /&gt;
     export DISPLAY=&amp;quot;:0.0&amp;quot;&lt;br /&gt;
     export XAUTHORITY=/var/lib/gdm/\:0.Xauth&lt;br /&gt;
     /bin/xset -display $DISPLAY dpms&lt;br /&gt;
     echo 'Trying to unrotate again...'&lt;br /&gt;
     /usr/bin/xrandr -o normal&lt;br /&gt;
 fi&lt;br /&gt;
 echo 'Rotating stylus...'&lt;br /&gt;
 /usr/bin/xsetwacom set stylus rotate 0&lt;br /&gt;
 echo 'Killing keyboard...'&lt;br /&gt;
 killall xvkbd&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
 sudo chown root.root /etc/acpi/x41tsdown.sh&lt;br /&gt;
 sudo chmod 755 /etc/acpi/x41tsdown.sh&lt;br /&gt;
 sudo chown root.root /etc/acpi/x41tsup.sh&lt;br /&gt;
 sudo chmod 755 /etc/acpi/x41tsup.sh&lt;br /&gt;
&lt;br /&gt;
If you'd like to edit these scripts with your favorite text editor (which, I realize, is most likely [http://www.gnu.org/fun/jokes/ed.msg.html ed]), it's fairly obvious that they're located in &amp;lt;tt&amp;gt;/etc/acpi/&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;x41tsdown.sh&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;x41tsup.sh&amp;lt;/tt&amp;gt;. These commands make the shell scripts that handle the events... once we register the events. Let's do that now.&lt;br /&gt;
&lt;br /&gt;
 sudo cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/x41t-swivel-down&lt;br /&gt;
 # /etc/acpi/events/x41t-swivel-down&lt;br /&gt;
 # called when tablet head swivels down&lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00005009&lt;br /&gt;
 action=/etc/acpi/x41tsdown.sh&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
 sudo cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/acpi/events/x41t-swivel-up&lt;br /&gt;
 # /etc/acpi/events/x41t-swivel-up&lt;br /&gt;
 # called when tablet head swivels up&lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 0000500a&lt;br /&gt;
 action=/etc/acpi/x41tsup.sh&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Now, awaken your inner ACPI daemon with the following commands:&lt;br /&gt;
&lt;br /&gt;
 sudo /etc/init.d/acpid force-reload &lt;br /&gt;
 sudo /etc/init.d/acpid restart&lt;br /&gt;
&lt;br /&gt;
And swivel down your LCD to make sure it works.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;CAUTION&amp;lt;/strong&amp;gt;: Swiveling actions while in one of your tty sessions will kill gdm!!!&lt;br /&gt;
&lt;br /&gt;
To be continued...&lt;br /&gt;
&lt;br /&gt;
=External Sources=&lt;br /&gt;
*This guide is listed at the [http://tuxmobil.org/ibm.html TuxMobil Linux laptop and notebook installation survey (IBM/Lenovo)] and the [http://tuxmobil.org/tablet_unix.html Linux on Tablet PCs and webpads survey].&lt;/div&gt;</summary>
		<author><name>Defiant</name></author>
		
	</entry>
</feed>