<?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=Damajor</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=Damajor"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Damajor"/>
	<updated>2026-05-03T08:50:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel%C2%AE_Turbo_Memory_hard_drive_cache&amp;diff=40080</id>
		<title>Intel® Turbo Memory hard drive cache</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel%C2%AE_Turbo_Memory_hard_drive_cache&amp;diff=40080"/>
		<updated>2008-12-01T23:22:03Z</updated>

		<summary type="html">&lt;p&gt;Damajor: /* Supported Laptops */ Add X61 to the list&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;
Intel Turbo Memory is an add-on memory for read and write caching of the hard-drive. (Previously dubbed as Robson.)&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Non-volatile Flash Memory (512MB, 1GB, 2GB, 4GB NAND-flash)&lt;br /&gt;
* Improve system responsiveness&lt;br /&gt;
* Speed-up boot time&lt;br /&gt;
* Reduce power consumption&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | [[Image:Intel_turbomemory.jpg|Turbo Memory card]]&lt;br /&gt;
&lt;br /&gt;
(picture credits intel)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Support Operating system ==&lt;br /&gt;
* Windows Vista only (via Vista ReadyBoost and Vista ReadyDrive)&lt;br /&gt;
&lt;br /&gt;
== Supported Laptops ==&lt;br /&gt;
{{T61}}, {{T61p}}, {{X61}}, {{X61_Tablet}}, {{X200}} (only Turbo Memory module or WWAN module can exists at the same time)&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.intel.com/design/flash/nand/turbomemory/index.htm Official website]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38965</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38965"/>
		<updated>2008-09-29T22:17:04Z</updated>

		<summary type="html">&lt;p&gt;Damajor: ThinVantage and FN+Space config&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More coming soon...&lt;br /&gt;
&lt;br /&gt;
If this tutorial works for you and your X61, fell free to add the X61 model number below.&lt;br /&gt;
&lt;br /&gt;
* Tested on a X61 7376-CU9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Items that works out of the box: ==&lt;br /&gt;
&lt;br /&gt;
=== fn-keys: ===&lt;br /&gt;
&lt;br /&gt;
* play/pause/stop/next/previous: should work as they are correctly mapped in gnome&lt;br /&gt;
* brightness down (note: send events ibm &amp;amp; video, reduce the brightness by two levels)&lt;br /&gt;
* brightness up (note: send only event video, increase the brightness by one level)&lt;br /&gt;
* lock&lt;br /&gt;
* sleep&lt;br /&gt;
* battery show a popup with current battery info&lt;br /&gt;
* suspend to disk (hibernate): works&lt;br /&gt;
* suspend to ram: works and wakes up as soon the lid is opened&lt;br /&gt;
* bluetooth enable/disable works&lt;br /&gt;
&lt;br /&gt;
=== additional keys: ===&lt;br /&gt;
&lt;br /&gt;
* sound up/down buttons&lt;br /&gt;
* power button: makes popup a menu with many choices (sleep/suspend/restart/logoff/shutdown/...)&lt;br /&gt;
&lt;br /&gt;
=== misc: ===&lt;br /&gt;
&lt;br /&gt;
* dim lcd works (for eg: when idle)&lt;br /&gt;
* bluetooth:&lt;br /&gt;
** pairing works fine&lt;br /&gt;
** obex works fine&lt;br /&gt;
** not much tested other features should work.&lt;br /&gt;
* rf-switch&lt;br /&gt;
&lt;br /&gt;
== Items that requires some light tweaks: ==&lt;br /&gt;
&lt;br /&gt;
* browser keys does not work ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Browser_keys|see below to enable them]] -Easy-)&lt;br /&gt;
* trackpoint middle button act as a simple third button, it cannot be used to scroll (at least without manual config -Easy-) ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Middle_button_wheel_emulation|Easy config of middle button]])&lt;br /&gt;
* fingerprint: [[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Fingerprint|require some config]] -Easy-&lt;br /&gt;
* ThinVantage and FN+Space are not reconized by default. [[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#ThinkVantage_button_and_fn.2Bspace|Config steps]] -Easy-&lt;br /&gt;
&lt;br /&gt;
== Items that will work with a custom kernel upgrade: ==&lt;br /&gt;
&lt;br /&gt;
Do not be affraid I will try to explain most of the needed steps (coming soon). Moreover the new features will be very sweet ;) And you will not loose any features that already works out of the box. Humm, Do I said that? Well at this time the work in progress is about TuxOnIce.&lt;br /&gt;
&lt;br /&gt;
=== Here are the features that works smoothly after that you use your own kernel ===&lt;br /&gt;
&lt;br /&gt;
Note: I use zen-sources kernel.&lt;br /&gt;
&lt;br /&gt;
* all sound keys works as expected (including mute key)&lt;br /&gt;
* brightness works fine (both keys send ibm &amp;amp; video events)&lt;br /&gt;
* rf-switch tested and working&lt;br /&gt;
* sound mute (only mute but does not unmute, have to press sound up or down to get the sound back, fixed using a custom kernel, see below for the full details -Easy-)&lt;br /&gt;
* hdaps with head parking works fine (details below)&lt;br /&gt;
&lt;br /&gt;
== Manual configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Fingerprint ===&lt;br /&gt;
&lt;br /&gt;
==== Install and configuration ====&lt;br /&gt;
&lt;br /&gt;
A very nice and easy howto is located there:&lt;br /&gt;
[[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Hardy]]&lt;br /&gt;
&lt;br /&gt;
==== Fingerprint reader getting hot ====&lt;br /&gt;
&lt;br /&gt;
It is very to fix.&lt;br /&gt;
&lt;br /&gt;
See this article [[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Fix_for_the_fingerprint_reader_getting_too_hot]]&lt;br /&gt;
&lt;br /&gt;
=== TuxOnIce ===&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
=== HDAPS with head parking ===&lt;br /&gt;
&lt;br /&gt;
Does not work with the default Kernel shipped in Ubuntu as it does not include the head parking patch, but you can still do the following steps to configure hdaps and hdapsd, your config will be ready when you will choose to compile a new kernel or when the Ubuntu team will include the patch in their kernel tree.&lt;br /&gt;
&lt;br /&gt;
* add &amp;quot;hdaps&amp;quot; at the end of /etc/modules&lt;br /&gt;
* add in the file /etc/udev/rules.d/50-hdapsd.rules&lt;br /&gt;
 KERNEL==&amp;quot;event[0-9]*&amp;quot;, ATTRS{phys}==&amp;quot;hdaps/input1&amp;quot;, ATTRS{modalias}==&amp;quot;input:b0019v1014p5054e4801-*&amp;quot;,SYMLINK+=&amp;quot;input/hdaps/accelerometer-event&amp;quot;&lt;br /&gt;
* edit /etc/default/hdapsd to fit your needs.&lt;br /&gt;
Disk is &amp;quot;sda&amp;quot; on my X61 (may vary if you use Ultrabase -I do not have this hardware-)&lt;br /&gt;
&lt;br /&gt;
And I use 40 for the sensitivity (you can lower the sensitivity -down to 15 I think- if you are working in a very quiet and stable environement)&lt;br /&gt;
&lt;br /&gt;
=== Browser keys ===&lt;br /&gt;
&lt;br /&gt;
I use Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Put the two following lines in the file ~/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
  keycode 234 = XF86Back&lt;br /&gt;
  keycode 233 = XF86Forward&lt;br /&gt;
&lt;br /&gt;
Restart X and enjoy the keys in Fiferox&lt;br /&gt;
&lt;br /&gt;
=== ThinkVantage button and fn+space ===&lt;br /&gt;
&lt;br /&gt;
Edit the file ''/etc/rc.local'' and add the following lines:&lt;br /&gt;
  setkeycodes e017 148&lt;br /&gt;
  setkeycodes 0082 192&lt;br /&gt;
The first line enable the ThinkVantage button and the second enable the FN+Space shortcut.&lt;br /&gt;
&lt;br /&gt;
Apply the changes (one time only) running:&lt;br /&gt;
  sudo /etc/init.d/rc.local start&lt;br /&gt;
&lt;br /&gt;
Now you can assign any shortcuts to these keys.&lt;br /&gt;
&lt;br /&gt;
These instructions are only a quick rewrite of the following article: [http://www.krizka.net/2008/06/14/the-thinkvantage-button-and-ubuntu-hardy-heron/ The ThinkVantage Button and Ubuntu Hardy Heron].&lt;br /&gt;
&lt;br /&gt;
Thanks to Karol Krizka.&lt;br /&gt;
&lt;br /&gt;
=== Middle button wheel emulation ===&lt;br /&gt;
&lt;br /&gt;
The following config does not only enable the wheel button but it also keeps the cut/paste feature on it.&lt;br /&gt;
&lt;br /&gt;
I used the Device section from the config of my OpenSuSE and all works very fine.&lt;br /&gt;
&lt;br /&gt;
Config to replace:&lt;br /&gt;
&amp;lt;pre&amp;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;
	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;HorizEdgeScroll&amp;quot;       &amp;quot;0&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just comment both of the previous sections and add the following one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
  Driver       &amp;quot;mouse&amp;quot;&lt;br /&gt;
  Identifier   &amp;quot;Mouse[1]&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Buttons&amp;quot; &amp;quot;5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheel&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;InputFashion&amp;quot; &amp;quot;Mouse&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Name&amp;quot; &amp;quot;IBM;TPPS/2 TrackPoint&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Protocol&amp;quot; &amp;quot;explorerps/2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Vendor&amp;quot; &amp;quot;Sysp&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheel&amp;quot;          &amp;quot;on&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
  Option       &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:X61]]&lt;br /&gt;
[[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38847</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38847"/>
		<updated>2008-09-17T22:11:23Z</updated>

		<summary type="html">&lt;p&gt;Damajor: /* misc: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More coming soon...&lt;br /&gt;
&lt;br /&gt;
If this tutorial works for you and your X61, fell free to add the X61 model number below.&lt;br /&gt;
&lt;br /&gt;
* Tested on a X61 7376-CU9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Items that works out of the box: ==&lt;br /&gt;
&lt;br /&gt;
=== fn-keys: ===&lt;br /&gt;
&lt;br /&gt;
* play/pause/stop/next/previous: should work as they are correctly mapped in gnome&lt;br /&gt;
* brightness down (note: send events ibm &amp;amp; video, reduce the brightness by two levels)&lt;br /&gt;
* brightness up (note: send only event video, increase the brightness by one level)&lt;br /&gt;
* lock&lt;br /&gt;
* sleep&lt;br /&gt;
* battery show a popup with current battery info&lt;br /&gt;
* suspend to disk (hibernate): works&lt;br /&gt;
* suspend to ram: works and wakes up as soon the lid is opened&lt;br /&gt;
* bluetooth enable/disable works&lt;br /&gt;
&lt;br /&gt;
=== additional keys: ===&lt;br /&gt;
&lt;br /&gt;
* sound up/down buttons&lt;br /&gt;
* power button: makes popup a menu with many choices (sleep/suspend/restart/logoff/shutdown/...)&lt;br /&gt;
&lt;br /&gt;
=== misc: ===&lt;br /&gt;
&lt;br /&gt;
* dim lcd works (for eg: when idle)&lt;br /&gt;
* bluetooth:&lt;br /&gt;
** pairing works fine&lt;br /&gt;
** obex works fine&lt;br /&gt;
** not much tested other features should work.&lt;br /&gt;
* rf-switch&lt;br /&gt;
&lt;br /&gt;
== Items that requires some light tweaks: ==&lt;br /&gt;
&lt;br /&gt;
* browser keys does not work ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Browser_keys|see below to enable them]] -Easy-)&lt;br /&gt;
* trackpoint middle button act as a simple third button, it cannot be used to scroll (at least without manual config -Easy-) ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Middle_button_wheel_emulation|Easy config of middle button]])&lt;br /&gt;
* fingerprint: [[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Fingerprint|require some config]] -Easy-&lt;br /&gt;
&lt;br /&gt;
== Items that will work with a custom kernel upgrade: ==&lt;br /&gt;
&lt;br /&gt;
Do not be affraid I will try to explain most of the needed steps (coming soon). Moreover the new features will be very sweet ;) And you will not loose any features that already works out of the box. Humm, Do I said that? Well at this time the work in progress is about TuxOnIce.&lt;br /&gt;
&lt;br /&gt;
=== Here are the features that works smoothly after that you use your own kernel ===&lt;br /&gt;
&lt;br /&gt;
Note: I use zen-sources kernel.&lt;br /&gt;
&lt;br /&gt;
* all sound keys works as expected (including mute key)&lt;br /&gt;
* brightness works fine (both keys send ibm &amp;amp; video events)&lt;br /&gt;
* rf-switch tested and working&lt;br /&gt;
* sound mute (only mute but does not unmute, have to press sound up or down to get the sound back, fixed using a custom kernel, see below for the full details -Easy-)&lt;br /&gt;
* hdaps with head parking works fine (details below)&lt;br /&gt;
&lt;br /&gt;
== Manual configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Fingerprint ===&lt;br /&gt;
&lt;br /&gt;
==== Install and configuration ====&lt;br /&gt;
&lt;br /&gt;
A very nice and easy howto is located there:&lt;br /&gt;
[[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Hardy]]&lt;br /&gt;
&lt;br /&gt;
==== Fingerprint reader getting hot ====&lt;br /&gt;
&lt;br /&gt;
It is very to fix.&lt;br /&gt;
&lt;br /&gt;
See this article [[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Fix_for_the_fingerprint_reader_getting_too_hot]]&lt;br /&gt;
&lt;br /&gt;
=== TuxOnIce ===&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
=== HDAPS with head parking ===&lt;br /&gt;
&lt;br /&gt;
Does not work with the default Kernel shipped in Ubuntu as it does not include the head parking patch, but you can still do the following steps to configure hdaps and hdapsd, your config will be ready when you will choose to compile a new kernel or when the Ubuntu team will include the patch in their kernel tree.&lt;br /&gt;
&lt;br /&gt;
* add &amp;quot;hdaps&amp;quot; at the end of /etc/modules&lt;br /&gt;
* add in the file /etc/udev/rules.d/50-hdapsd.rules&lt;br /&gt;
 KERNEL==&amp;quot;event[0-9]*&amp;quot;, ATTRS{phys}==&amp;quot;hdaps/input1&amp;quot;, ATTRS{modalias}==&amp;quot;input:b0019v1014p5054e4801-*&amp;quot;,SYMLINK+=&amp;quot;input/hdaps/accelerometer-event&amp;quot;&lt;br /&gt;
* edit /etc/default/hdapsd to fit your needs.&lt;br /&gt;
Disk is &amp;quot;sda&amp;quot; on my X61 (may vary if you use Ultrabase -I do not have this hardware-)&lt;br /&gt;
&lt;br /&gt;
And I use 40 for the sensitivity (you can lower the sensitivity -down to 15 I think- if you are working in a very quiet and stable environement)&lt;br /&gt;
&lt;br /&gt;
=== Browser keys ===&lt;br /&gt;
&lt;br /&gt;
I use Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Put the two following lines in the file ~/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
  keycode 234 = XF86Back&lt;br /&gt;
  keycode 233 = XF86Forward&lt;br /&gt;
&lt;br /&gt;
Restart X and enjoy the keys in Fiferox&lt;br /&gt;
&lt;br /&gt;
=== Middle button wheel emulation ===&lt;br /&gt;
&lt;br /&gt;
The following config does not only enable the wheel button but it also keeps the cut/paste feature on it.&lt;br /&gt;
&lt;br /&gt;
I used the Device section from the config of my OpenSuSE and all works very fine.&lt;br /&gt;
&lt;br /&gt;
Config to replace:&lt;br /&gt;
&amp;lt;pre&amp;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;
	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;HorizEdgeScroll&amp;quot;       &amp;quot;0&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just comment both of the previous sections and add the following one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
  Driver       &amp;quot;mouse&amp;quot;&lt;br /&gt;
  Identifier   &amp;quot;Mouse[1]&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Buttons&amp;quot; &amp;quot;5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheel&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;InputFashion&amp;quot; &amp;quot;Mouse&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Name&amp;quot; &amp;quot;IBM;TPPS/2 TrackPoint&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Protocol&amp;quot; &amp;quot;explorerps/2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Vendor&amp;quot; &amp;quot;Sysp&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheel&amp;quot;          &amp;quot;on&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
  Option       &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:X61]]&lt;br /&gt;
[[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38846</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38846"/>
		<updated>2008-09-17T22:10:10Z</updated>

		<summary type="html">&lt;p&gt;Damajor: /* fn-keys: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More coming soon...&lt;br /&gt;
&lt;br /&gt;
If this tutorial works for you and your X61, fell free to add the X61 model number below.&lt;br /&gt;
&lt;br /&gt;
* Tested on a X61 7376-CU9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Items that works out of the box: ==&lt;br /&gt;
&lt;br /&gt;
=== fn-keys: ===&lt;br /&gt;
&lt;br /&gt;
* play/pause/stop/next/previous: should work as they are correctly mapped in gnome&lt;br /&gt;
* brightness down (note: send events ibm &amp;amp; video, reduce the brightness by two levels)&lt;br /&gt;
* brightness up (note: send only event video, increase the brightness by one level)&lt;br /&gt;
* lock&lt;br /&gt;
* sleep&lt;br /&gt;
* battery show a popup with current battery info&lt;br /&gt;
* suspend to disk (hibernate): works&lt;br /&gt;
* suspend to ram: works and wakes up as soon the lid is opened&lt;br /&gt;
* bluetooth enable/disable works&lt;br /&gt;
&lt;br /&gt;
=== additional keys: ===&lt;br /&gt;
&lt;br /&gt;
* sound up/down buttons&lt;br /&gt;
* power button: makes popup a menu with many choices (sleep/suspend/restart/logoff/shutdown/...)&lt;br /&gt;
&lt;br /&gt;
=== misc: ===&lt;br /&gt;
&lt;br /&gt;
* dim lcd works (for eg: when idle)&lt;br /&gt;
* bluetooth:&lt;br /&gt;
** pairing works fine&lt;br /&gt;
** obex works fine&lt;br /&gt;
** not much tested other features should work.&lt;br /&gt;
&lt;br /&gt;
== Items that requires some light tweaks: ==&lt;br /&gt;
&lt;br /&gt;
* browser keys does not work ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Browser_keys|see below to enable them]] -Easy-)&lt;br /&gt;
* trackpoint middle button act as a simple third button, it cannot be used to scroll (at least without manual config -Easy-) ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Middle_button_wheel_emulation|Easy config of middle button]])&lt;br /&gt;
* fingerprint: [[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Fingerprint|require some config]] -Easy-&lt;br /&gt;
&lt;br /&gt;
== Items that will work with a custom kernel upgrade: ==&lt;br /&gt;
&lt;br /&gt;
Do not be affraid I will try to explain most of the needed steps (coming soon). Moreover the new features will be very sweet ;) And you will not loose any features that already works out of the box. Humm, Do I said that? Well at this time the work in progress is about TuxOnIce.&lt;br /&gt;
&lt;br /&gt;
=== Here are the features that works smoothly after that you use your own kernel ===&lt;br /&gt;
&lt;br /&gt;
Note: I use zen-sources kernel.&lt;br /&gt;
&lt;br /&gt;
* all sound keys works as expected (including mute key)&lt;br /&gt;
* brightness works fine (both keys send ibm &amp;amp; video events)&lt;br /&gt;
* rf-switch tested and working&lt;br /&gt;
* sound mute (only mute but does not unmute, have to press sound up or down to get the sound back, fixed using a custom kernel, see below for the full details -Easy-)&lt;br /&gt;
* hdaps with head parking works fine (details below)&lt;br /&gt;
&lt;br /&gt;
== Manual configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Fingerprint ===&lt;br /&gt;
&lt;br /&gt;
==== Install and configuration ====&lt;br /&gt;
&lt;br /&gt;
A very nice and easy howto is located there:&lt;br /&gt;
[[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Hardy]]&lt;br /&gt;
&lt;br /&gt;
==== Fingerprint reader getting hot ====&lt;br /&gt;
&lt;br /&gt;
It is very to fix.&lt;br /&gt;
&lt;br /&gt;
See this article [[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Fix_for_the_fingerprint_reader_getting_too_hot]]&lt;br /&gt;
&lt;br /&gt;
=== TuxOnIce ===&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
=== HDAPS with head parking ===&lt;br /&gt;
&lt;br /&gt;
Does not work with the default Kernel shipped in Ubuntu as it does not include the head parking patch, but you can still do the following steps to configure hdaps and hdapsd, your config will be ready when you will choose to compile a new kernel or when the Ubuntu team will include the patch in their kernel tree.&lt;br /&gt;
&lt;br /&gt;
* add &amp;quot;hdaps&amp;quot; at the end of /etc/modules&lt;br /&gt;
* add in the file /etc/udev/rules.d/50-hdapsd.rules&lt;br /&gt;
 KERNEL==&amp;quot;event[0-9]*&amp;quot;, ATTRS{phys}==&amp;quot;hdaps/input1&amp;quot;, ATTRS{modalias}==&amp;quot;input:b0019v1014p5054e4801-*&amp;quot;,SYMLINK+=&amp;quot;input/hdaps/accelerometer-event&amp;quot;&lt;br /&gt;
* edit /etc/default/hdapsd to fit your needs.&lt;br /&gt;
Disk is &amp;quot;sda&amp;quot; on my X61 (may vary if you use Ultrabase -I do not have this hardware-)&lt;br /&gt;
&lt;br /&gt;
And I use 40 for the sensitivity (you can lower the sensitivity -down to 15 I think- if you are working in a very quiet and stable environement)&lt;br /&gt;
&lt;br /&gt;
=== Browser keys ===&lt;br /&gt;
&lt;br /&gt;
I use Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Put the two following lines in the file ~/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
  keycode 234 = XF86Back&lt;br /&gt;
  keycode 233 = XF86Forward&lt;br /&gt;
&lt;br /&gt;
Restart X and enjoy the keys in Fiferox&lt;br /&gt;
&lt;br /&gt;
=== Middle button wheel emulation ===&lt;br /&gt;
&lt;br /&gt;
The following config does not only enable the wheel button but it also keeps the cut/paste feature on it.&lt;br /&gt;
&lt;br /&gt;
I used the Device section from the config of my OpenSuSE and all works very fine.&lt;br /&gt;
&lt;br /&gt;
Config to replace:&lt;br /&gt;
&amp;lt;pre&amp;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;
	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;HorizEdgeScroll&amp;quot;       &amp;quot;0&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just comment both of the previous sections and add the following one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
  Driver       &amp;quot;mouse&amp;quot;&lt;br /&gt;
  Identifier   &amp;quot;Mouse[1]&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Buttons&amp;quot; &amp;quot;5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheel&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;InputFashion&amp;quot; &amp;quot;Mouse&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Name&amp;quot; &amp;quot;IBM;TPPS/2 TrackPoint&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Protocol&amp;quot; &amp;quot;explorerps/2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Vendor&amp;quot; &amp;quot;Sysp&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheel&amp;quot;          &amp;quot;on&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
  Option       &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:X61]]&lt;br /&gt;
[[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=38845</id>
		<title>HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=38845"/>
		<updated>2008-09-17T22:02:47Z</updated>

		<summary type="html">&lt;p&gt;Damajor: /* Other */  New HDAPS smack script.&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;
In more recent versions of the Linux kernel, the hdaps exports event devices with the accelerometer data.  These devices can be used as-is by some programs (e.g. hdapsd), but for most they must be handled by the additional kernel module &amp;lt;code&amp;gt;joydev&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When both modules are loaded, joydev will provide standard joystick device emulation for hdaps (standard hdaps exports just one joystick device.  enhanced hdaps from tp_smapi will export two due to issues still unsolved on joydev, but the second one must not be used as a joystick).&lt;br /&gt;
&lt;br /&gt;
{{WARN|Letting a program bind to these joystick devices can cause surprising results if you are not aware of it. e.g.: mplayer can act quite strangely.  Also, letting a program bind to the second joystick device from enhanced HDAPS is guaranteed to be trouble}}&lt;br /&gt;
&lt;br /&gt;
Udev can be used to create device nodes in /dev for use by user space programs that access the joystick, and to set appropriate permissions.&lt;br /&gt;
&lt;br /&gt;
In order for non-root users to access these device files, their permissions must be tweaked a little through an appropriate udev rule and corresponding &amp;quot;joy&amp;quot; group.&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|addgroup joy}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdroot|adduser &amp;lt;you&amp;gt; joy}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;# echo 'SUBSYSTEM==&amp;quot;input&amp;quot;, KERNEL==&amp;quot;js*&amp;quot;, MODE=&amp;quot;0660&amp;quot;, GROUP=&amp;quot;joy&amp;quot;' &amp;gt;&amp;gt; /etc/udev/hdaps-joy.rules&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{cmdroot|ln -s ../hdaps-joy.rules /etc/udev/rules.d/z60_hdaps-joy.rules}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programs you can use to test and calibrate the device files include &amp;lt;code&amp;gt;jscalibrator&amp;lt;/code&amp;gt; (gui) and &amp;lt;code&amp;gt;jstest&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;jscal&amp;lt;/code&amp;gt; (cli) packaged together (at least in Debian) simply as &amp;quot;joystick&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
====Disk head parking====&lt;br /&gt;
You will need the kernel patch below and the hdapsd 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;
Due to significant changes in the way the libata module which handles disk i/o, applying any of the currently available patches to kernel 2.6.24 will intermittently cause system hangs when the queue is frozen (i.e., the heads are parked). It is recommended either that you stay at kernel [http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.17.tar.bz2 2.6.23] or do without disk protection in 2.6.24 until the kinks have been worked out. There has been significant work on the part of [http://lkml.org/lkml/2008/2/25/478 Elias Oltmanns], author of the more recent patches, to get this worked out and eventually get shock protection built into the mainline kernel.&lt;br /&gt;
&lt;br /&gt;
Below are some links to patches for various Linux kernel versions. As noted above, your mileage may vary with the 2.6.24-rc3 patch as it was after this release candidate that things stopped working nicely. &lt;br /&gt;
{{HINT|To apply a patch, change to the root directory of the kernel tree and run&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;patch -p1 -l &amp;lt; hdaps_xx.patch&amp;lt;/code&amp;gt;}}&lt;br /&gt;
* New interface&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1324/raw disk-protect patch for kernel 2.6.26]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1297/raw disk-protect patch for kernel 2.6.26-rc9]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1245/raw disk-protect patch for kernel 2.6.25-rc9] &amp;amp;mdash; may cause system locks (same as patch for 2.6.24-rc3). Apply [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2008-February/042226.html this fix] before.&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://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2008-February/042226.html 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;
*[http://www.kde-look.org/content/show.php/Applet+HDAPS?content=78387 applet_hdaps] KDE4 Plasmoid display disk protection status&lt;br /&gt;
*[http://awn.planetblur.org/index.php?shard=forum&amp;amp;action=g_reply&amp;amp;ID=1916&amp;amp;page=1&amp;amp;isLive=true ThinkHDAPS] Avant Window Manager applet for disk protection status&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; (warning: [http://en.wikipedia.org/wiki/Tarbomb uncompresses in the current directory]!)&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;
*[[hdaps_ess|Enhanced smack script]] ess.py is based on the smacks scripts listed in this section. It includes stabilization, a lot of tuning options and it handles both axis (at best you should be able to map 8 commands, even if it is possible I was not able to do so). It is not perfect but on my Thinkpad it works better than the other scripts.&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://gentoo.o0o.nu Gentoo sectools overlay with fresh hdaps-related ebuilds and patches&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>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38842</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38842"/>
		<updated>2008-09-17T21:11:35Z</updated>

		<summary type="html">&lt;p&gt;Damajor: /* Middle button wheel emulation */ X and Y axis support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More coming soon...&lt;br /&gt;
&lt;br /&gt;
If this tutorial works for you and your X61, fell free to add the X61 model number below.&lt;br /&gt;
&lt;br /&gt;
* Tested on a X61 7376-CU9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Items that works out of the box: ==&lt;br /&gt;
&lt;br /&gt;
=== fn-keys: ===&lt;br /&gt;
&lt;br /&gt;
* play/pause/stop/next/previous: should work as they are correctly mapped in gnome&lt;br /&gt;
* brightness down (note: send events ibm &amp;amp; video)&lt;br /&gt;
* brightness up (note: send only event video, fixed using a custom kernel)&lt;br /&gt;
* lock&lt;br /&gt;
* sleep&lt;br /&gt;
* battery show a popup with current battery info&lt;br /&gt;
* suspend to disk (hibernate): works&lt;br /&gt;
* suspend to ram: works and wakes up as soon the lid is opened&lt;br /&gt;
* bluetooth enable/disable works&lt;br /&gt;
&lt;br /&gt;
=== additional keys: ===&lt;br /&gt;
&lt;br /&gt;
* sound up/down buttons&lt;br /&gt;
* power button: makes popup a menu with many choices (sleep/suspend/restart/logoff/shutdown/...)&lt;br /&gt;
&lt;br /&gt;
=== misc: ===&lt;br /&gt;
&lt;br /&gt;
* dim lcd works (for eg: when idle)&lt;br /&gt;
* bluetooth:&lt;br /&gt;
** pairing works fine&lt;br /&gt;
** obex works fine&lt;br /&gt;
** not much tested other features should work.&lt;br /&gt;
&lt;br /&gt;
== Items that requires some light tweaks: ==&lt;br /&gt;
&lt;br /&gt;
* browser keys does not work ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Browser_keys|see below to enable them]] -Easy-)&lt;br /&gt;
* trackpoint middle button act as a simple third button, it cannot be used to scroll (at least without manual config -Easy-) ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Middle_button_wheel_emulation|Easy config of middle button]])&lt;br /&gt;
* fingerprint: [[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Fingerprint|require some config]] -Easy-&lt;br /&gt;
&lt;br /&gt;
== Items that will work with a custom kernel upgrade: ==&lt;br /&gt;
&lt;br /&gt;
Do not be affraid I will try to explain most of the needed steps (coming soon). Moreover the new features will be very sweet ;) And you will not loose any features that already works out of the box. Humm, Do I said that? Well at this time the work in progress is about TuxOnIce.&lt;br /&gt;
&lt;br /&gt;
=== Here are the features that works smoothly after that you use your own kernel ===&lt;br /&gt;
&lt;br /&gt;
Note: I use zen-sources kernel.&lt;br /&gt;
&lt;br /&gt;
* all sound keys works as expected (including mute key)&lt;br /&gt;
* brightness works fine (both keys send ibm &amp;amp; video events)&lt;br /&gt;
* rf-switch tested and working&lt;br /&gt;
* sound mute (only mute but does not unmute, have to press sound up or down to get the sound back, fixed using a custom kernel, see below for the full details -Easy-)&lt;br /&gt;
* hdaps with head parking works fine (details below)&lt;br /&gt;
&lt;br /&gt;
== Manual configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Fingerprint ===&lt;br /&gt;
&lt;br /&gt;
==== Install and configuration ====&lt;br /&gt;
&lt;br /&gt;
A very nice and easy howto is located there:&lt;br /&gt;
[[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Hardy]]&lt;br /&gt;
&lt;br /&gt;
==== Fingerprint reader getting hot ====&lt;br /&gt;
&lt;br /&gt;
It is very to fix.&lt;br /&gt;
&lt;br /&gt;
See this article [[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Fix_for_the_fingerprint_reader_getting_too_hot]]&lt;br /&gt;
&lt;br /&gt;
=== TuxOnIce ===&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
=== HDAPS with head parking ===&lt;br /&gt;
&lt;br /&gt;
Does not work with the default Kernel shipped in Ubuntu as it does not include the head parking patch, but you can still do the following steps to configure hdaps and hdapsd, your config will be ready when you will choose to compile a new kernel or when the Ubuntu team will include the patch in their kernel tree.&lt;br /&gt;
&lt;br /&gt;
* add &amp;quot;hdaps&amp;quot; at the end of /etc/modules&lt;br /&gt;
* add in the file /etc/udev/rules.d/50-hdapsd.rules&lt;br /&gt;
 KERNEL==&amp;quot;event[0-9]*&amp;quot;, ATTRS{phys}==&amp;quot;hdaps/input1&amp;quot;, ATTRS{modalias}==&amp;quot;input:b0019v1014p5054e4801-*&amp;quot;,SYMLINK+=&amp;quot;input/hdaps/accelerometer-event&amp;quot;&lt;br /&gt;
* edit /etc/default/hdapsd to fit your needs.&lt;br /&gt;
Disk is &amp;quot;sda&amp;quot; on my X61 (may vary if you use Ultrabase -I do not have this hardware-)&lt;br /&gt;
&lt;br /&gt;
And I use 40 for the sensitivity (you can lower the sensitivity -down to 15 I think- if you are working in a very quiet and stable environement)&lt;br /&gt;
&lt;br /&gt;
=== Browser keys ===&lt;br /&gt;
&lt;br /&gt;
I use Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Put the two following lines in the file ~/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
  keycode 234 = XF86Back&lt;br /&gt;
  keycode 233 = XF86Forward&lt;br /&gt;
&lt;br /&gt;
Restart X and enjoy the keys in Fiferox&lt;br /&gt;
&lt;br /&gt;
=== Middle button wheel emulation ===&lt;br /&gt;
&lt;br /&gt;
The following config does not only enable the wheel button but it also keeps the cut/paste feature on it.&lt;br /&gt;
&lt;br /&gt;
I used the Device section from the config of my OpenSuSE and all works very fine.&lt;br /&gt;
&lt;br /&gt;
Config to replace:&lt;br /&gt;
&amp;lt;pre&amp;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;
	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;HorizEdgeScroll&amp;quot;       &amp;quot;0&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just comment both of the previous sections and add the following one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
  Driver       &amp;quot;mouse&amp;quot;&lt;br /&gt;
  Identifier   &amp;quot;Mouse[1]&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Buttons&amp;quot; &amp;quot;5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheel&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;InputFashion&amp;quot; &amp;quot;Mouse&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Name&amp;quot; &amp;quot;IBM;TPPS/2 TrackPoint&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Protocol&amp;quot; &amp;quot;explorerps/2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;Vendor&amp;quot; &amp;quot;Sysp&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheel&amp;quot;          &amp;quot;on&amp;quot;&lt;br /&gt;
  Option       &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
  Option       &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
  Option       &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
  Option       &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:X61]]&lt;br /&gt;
[[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38840</id>
		<title>Talk:Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38840"/>
		<updated>2008-09-17T21:09:41Z</updated>

		<summary type="html">&lt;p&gt;Damajor: GLXBadDrawable error using intel xorg drivers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anyone got the following message running &amp;quot;wine&amp;quot; or other app:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;err:ole:CoCreateInstance apartment not initialised&lt;br /&gt;
fixme:advapi:SetSecurityInfo stub&lt;br /&gt;
fixme:win:EnumDisplayDevicesW ((null),0,0x33f398,0x00000000), stub!&lt;br /&gt;
fixme:win:EnumDisplayDevicesW ((null),0,0x33f644,0x00000000), stub!&lt;br /&gt;
fixme:win:EnumDisplayDevicesW ((null),0,0x33f674,0x00000000), stub!&lt;br /&gt;
fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 32 to 16&lt;br /&gt;
X Error of failed request:  GLXBadDrawable&lt;br /&gt;
  Major opcode of failed request:  143 (GLX)&lt;br /&gt;
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)&lt;br /&gt;
  Serial number of failed request:  580&lt;br /&gt;
  Current serial number in output stream:  580&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tried many X configurations but I always get this error randomly.&lt;br /&gt;
&lt;br /&gt;
Most of people refers to NVidia drivers when I search for GLXBadDrawable so it seems to be a driver bug.&lt;br /&gt;
&lt;br /&gt;
Any help/hints are welcome.&lt;br /&gt;
&lt;br /&gt;
Thanks.&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38435</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38435"/>
		<updated>2008-08-03T09:43:16Z</updated>

		<summary type="html">&lt;p&gt;Damajor: Add and fix some wiki links and some internal article links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More coming soon...&lt;br /&gt;
&lt;br /&gt;
If this tutorial works for you and your X61, fell free to add the X61 model number below.&lt;br /&gt;
&lt;br /&gt;
* Tested on a X61 7376-CU9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Items that works out of the box: ==&lt;br /&gt;
&lt;br /&gt;
=== fn-keys: ===&lt;br /&gt;
&lt;br /&gt;
* play/pause/stop/next/previous: should work as they are correctly mapped in gnome&lt;br /&gt;
* brightness down (note: send events ibm &amp;amp; video)&lt;br /&gt;
* brightness up (note: send only event video, fixed using a custom kernel)&lt;br /&gt;
* lock&lt;br /&gt;
* sleep&lt;br /&gt;
* battery show a popup with current battery info&lt;br /&gt;
* suspend to disk (hibernate): works&lt;br /&gt;
* suspend to ram: works and wakes up as soon the lid is opened&lt;br /&gt;
* bluetooth enable/disable works&lt;br /&gt;
&lt;br /&gt;
=== additional keys: ===&lt;br /&gt;
&lt;br /&gt;
* sound up/down buttons&lt;br /&gt;
* power button: makes popup a menu with many choices (sleep/suspend/restart/logoff/shutdown/...)&lt;br /&gt;
&lt;br /&gt;
=== misc: ===&lt;br /&gt;
&lt;br /&gt;
* dim lcd works (for eg: when idle)&lt;br /&gt;
* bluetooth:&lt;br /&gt;
** pairing works fine&lt;br /&gt;
** obex works fine&lt;br /&gt;
** not much tested other features should work.&lt;br /&gt;
&lt;br /&gt;
== Items that requires some light tweaks: ==&lt;br /&gt;
&lt;br /&gt;
* browser keys does not work ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Browser_keys|see below to enable them]] -Easy-)&lt;br /&gt;
* trackpoint middle button act as a simple third button, it cannot be used to scroll (at least without manual config -Easy-) ([[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Middle_button_wheel_emulation|Easy config of middle button]])&lt;br /&gt;
* fingerprint: [[Installing_Ubuntu_8.04_%28Hardy_Heron%29_on_a_ThinkPad_X61#Fingerprint|require some config]] -Easy-&lt;br /&gt;
&lt;br /&gt;
== Items that will work with a custom kernel upgrade: ==&lt;br /&gt;
&lt;br /&gt;
Do not be affraid I will try to explain most of the needed steps (coming soon). Moreover the new features will be very sweet ;) And you will not loose any features that already works out of the box. Humm, Do I said that? Well at this time the work in progress is about TuxOnIce.&lt;br /&gt;
&lt;br /&gt;
=== Here are the features that works smoothly after that you use your own kernel ===&lt;br /&gt;
&lt;br /&gt;
Note: I use zen-sources kernel.&lt;br /&gt;
&lt;br /&gt;
* all sound keys works as expected (including mute key)&lt;br /&gt;
* brightness works fine (both keys send ibm &amp;amp; video events)&lt;br /&gt;
* rf-switch tested and working&lt;br /&gt;
* sound mute (only mute but does not unmute, have to press sound up or down to get the sound back, fixed using a custom kernel, see below for the full details -Easy-)&lt;br /&gt;
* hdaps with head parking works fine (details below)&lt;br /&gt;
&lt;br /&gt;
== Manual configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Fingerprint ===&lt;br /&gt;
&lt;br /&gt;
==== Install and configuration ====&lt;br /&gt;
&lt;br /&gt;
A very nice and easy howto is located there:&lt;br /&gt;
[[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Hardy]]&lt;br /&gt;
&lt;br /&gt;
==== Fingerprint reader getting hot ====&lt;br /&gt;
&lt;br /&gt;
It is very to fix.&lt;br /&gt;
&lt;br /&gt;
See this article [[How_to_enable_the_fingerprint_reader_with_ThinkFinger#Fix_for_the_fingerprint_reader_getting_too_hot]]&lt;br /&gt;
&lt;br /&gt;
=== TuxOnIce ===&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
=== HDAPS with head parking ===&lt;br /&gt;
&lt;br /&gt;
Does not work with the default Kernel shipped in Ubuntu as it does not include the head parking patch, but you can still do the following steps to configure hdaps and hdapsd, your config will be ready when you will choose to compile a new kernel or when the Ubuntu team will include the patch in their kernel tree.&lt;br /&gt;
&lt;br /&gt;
* add &amp;quot;hdaps&amp;quot; at the end of /etc/modules&lt;br /&gt;
* add in the file /etc/udev/rules.d/50-hdapsd.rules&lt;br /&gt;
 KERNEL==&amp;quot;event[0-9]*&amp;quot;, ATTRS{phys}==&amp;quot;hdaps/input1&amp;quot;, ATTRS{modalias}==&amp;quot;input:b0019v1014p5054e4801-*&amp;quot;,SYMLINK+=&amp;quot;input/hdaps/accelerometer-event&amp;quot;&lt;br /&gt;
* edit /etc/default/hdapsd to fit your needs.&lt;br /&gt;
Disk is &amp;quot;sda&amp;quot; on my X61 (may vary if you use Ultrabase -I do not have this hardware-)&lt;br /&gt;
&lt;br /&gt;
And I use 40 for the sensitivity (you can lower the sensitivity -down to 15 I think- if you are working in a very quiet and stable environement)&lt;br /&gt;
&lt;br /&gt;
=== Browser keys ===&lt;br /&gt;
&lt;br /&gt;
I use Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Put the two following lines in the file ~/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
  keycode 234 = XF86Back&lt;br /&gt;
  keycode 233 = XF86Forward&lt;br /&gt;
&lt;br /&gt;
Restart X and enjoy the keys in Fiferox&lt;br /&gt;
&lt;br /&gt;
=== Middle button wheel emulation ===&lt;br /&gt;
&lt;br /&gt;
The following config does not only enable the wheel button but it also keeps the cut/paste feature on it.&lt;br /&gt;
&lt;br /&gt;
I used the Device section from the config of my OpenSuSE and all works very fine.&lt;br /&gt;
&lt;br /&gt;
Config to replace:&lt;br /&gt;
&amp;lt;pre&amp;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;
	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;HorizEdgeScroll&amp;quot;       &amp;quot;0&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just comment both of the previous sections and add the following one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
	  Driver       &amp;quot;mouse&amp;quot;&lt;br /&gt;
	  Identifier   &amp;quot;Mouse[1]&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Buttons&amp;quot; &amp;quot;5&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;EmulateWheel&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;InputFashion&amp;quot; &amp;quot;Mouse&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Name&amp;quot; &amp;quot;IBM;TPPS/2 TrackPoint&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Protocol&amp;quot; &amp;quot;explorerps/2&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Vendor&amp;quot; &amp;quot;Sysp&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:X61]]&lt;br /&gt;
[[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38434</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38434"/>
		<updated>2008-08-03T09:10:57Z</updated>

		<summary type="html">&lt;p&gt;Damajor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More coming soon...&lt;br /&gt;
&lt;br /&gt;
If this tutorial works for you and your X61, fell free to add the X61 model number below.&lt;br /&gt;
&lt;br /&gt;
* Tested on a X61 7376-CU9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Items that works out of the box: ==&lt;br /&gt;
&lt;br /&gt;
=== fn-keys: ===&lt;br /&gt;
&lt;br /&gt;
* play/pause/stop/next/previous: should work as they are correctly mapped in gnome&lt;br /&gt;
* brightness down (note: send events ibm &amp;amp; video)&lt;br /&gt;
* brightness up (note: send only event video, fixed using a custom kernel)&lt;br /&gt;
* lock&lt;br /&gt;
* sleep&lt;br /&gt;
* battery show a popup with current battery info&lt;br /&gt;
* suspend to disk (hibernate): works&lt;br /&gt;
* suspend to ram: works and wakes up as soon the lid is opened&lt;br /&gt;
* bluetooth enable/disable works&lt;br /&gt;
&lt;br /&gt;
=== additional keys: ===&lt;br /&gt;
&lt;br /&gt;
* sound up/down buttons&lt;br /&gt;
* power button: makes popup a menu with many choices (sleep/suspend/restart/logoff/shutdown/...)&lt;br /&gt;
&lt;br /&gt;
=== misc: ===&lt;br /&gt;
&lt;br /&gt;
* dim lcd works (for eg: when idle)&lt;br /&gt;
* bluetooth:&lt;br /&gt;
** pairing works fine&lt;br /&gt;
** obex works fine&lt;br /&gt;
** not much tested other features should work.&lt;br /&gt;
&lt;br /&gt;
== Items that requires some light tweaks: ==&lt;br /&gt;
&lt;br /&gt;
* browser keys does not work (see below to enable them -Easy-)&lt;br /&gt;
* trackpoint middle button act as a simple third button, it cannot be used to scroll (at least without manual config -Easy-)&lt;br /&gt;
* fingerprint: require some config -Easy-&lt;br /&gt;
&lt;br /&gt;
== Items that will work with a custom kernel upgrade: ==&lt;br /&gt;
&lt;br /&gt;
Do not be affraid I will try to explain most of the needed steps (coming soon). Moreover the new features will be very sweet ;) And you will not loose any features that already works out of the box. Humm, Do I said that? Well at this time the work in progress is about TuxOnIce.&lt;br /&gt;
&lt;br /&gt;
=== Here are the features that works smoothly after that you use your own kernel ===&lt;br /&gt;
&lt;br /&gt;
Note: I use zen-sources kernel.&lt;br /&gt;
&lt;br /&gt;
* all sound keys works as expected (including mute key)&lt;br /&gt;
* brightness works fine (both keys send ibm &amp;amp; video events)&lt;br /&gt;
* rf-switch tested and working&lt;br /&gt;
* sound mute (only mute but does not unmute, have to press sound up or down to get the sound back, fixed using a custom kernel, see below for the full details -Easy-)&lt;br /&gt;
* hdaps with head parking works fine (details below)&lt;br /&gt;
&lt;br /&gt;
== Manual configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Fingerprint ===&lt;br /&gt;
&lt;br /&gt;
==== Install and configuration ====&lt;br /&gt;
&lt;br /&gt;
A very nice and easy howto is located there:&lt;br /&gt;
http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger#Hardy&lt;br /&gt;
&lt;br /&gt;
==== Fingerprint reader getting hot ====&lt;br /&gt;
&lt;br /&gt;
It is very to fix.&lt;br /&gt;
&lt;br /&gt;
See this article http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger#Fix_for_the_fingerprint_reader_getting_too_hot&lt;br /&gt;
&lt;br /&gt;
=== TuxOnIce ===&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
=== HDAPS with head parking ===&lt;br /&gt;
&lt;br /&gt;
Does not work with the default Kernel shipped in Ubuntu as it does not include the head parking patch, but you can still do the following steps to configure hdaps and hdapsd, your config will be ready when you will choose to compile a new kernel or when the Ubuntu team will include the patch in their kernel tree.&lt;br /&gt;
&lt;br /&gt;
* add &amp;quot;hdaps&amp;quot; at the end of /etc/modules&lt;br /&gt;
* add in the file /etc/udev/rules.d/50-hdapsd.rules&lt;br /&gt;
 KERNEL==&amp;quot;event[0-9]*&amp;quot;, ATTRS{phys}==&amp;quot;hdaps/input1&amp;quot;, ATTRS{modalias}==&amp;quot;input:b0019v1014p5054e4801-*&amp;quot;,SYMLINK+=&amp;quot;input/hdaps/accelerometer-event&amp;quot;&lt;br /&gt;
* edit /etc/default/hdapsd to fit your needs.&lt;br /&gt;
Disk is &amp;quot;sda&amp;quot; on my X61 (may vary if you use Ultrabase -I do not have this hardware-)&lt;br /&gt;
&lt;br /&gt;
And I use 40 for the sensitivity (you can lower the sensitivity -down to 15 I think- if you are working in a very quiet and stable environement)&lt;br /&gt;
&lt;br /&gt;
=== Browser keys ===&lt;br /&gt;
&lt;br /&gt;
I use Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Put the two following lines in the file ~/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
  keycode 234 = XF86Back&lt;br /&gt;
  keycode 233 = XF86Forward&lt;br /&gt;
&lt;br /&gt;
Restart X and enjoy the keys in Fiferox&lt;br /&gt;
&lt;br /&gt;
=== Middle button wheel emulation ===&lt;br /&gt;
&lt;br /&gt;
The following config does not only enable the wheel button but it also keeps the cut/paste feature on it.&lt;br /&gt;
&lt;br /&gt;
I used the Device section from the config of my OpenSuSE and all works very fine.&lt;br /&gt;
&lt;br /&gt;
Config to replace:&lt;br /&gt;
&amp;lt;pre&amp;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;
	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;HorizEdgeScroll&amp;quot;       &amp;quot;0&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just comment both of the previous sections and add the following one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
	  Driver       &amp;quot;mouse&amp;quot;&lt;br /&gt;
	  Identifier   &amp;quot;Mouse[1]&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Buttons&amp;quot; &amp;quot;5&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;EmulateWheel&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;InputFashion&amp;quot; &amp;quot;Mouse&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Name&amp;quot; &amp;quot;IBM;TPPS/2 TrackPoint&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Protocol&amp;quot; &amp;quot;explorerps/2&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Vendor&amp;quot; &amp;quot;Sysp&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:X61]]&lt;br /&gt;
[[Category:Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X61&amp;diff=38432</id>
		<title>Installation instructions for the ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X61&amp;diff=38432"/>
		<updated>2008-08-02T23:45:59Z</updated>

		<summary type="html">&lt;p&gt;Damajor: /* External Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== External Sources ==&lt;br /&gt;
&lt;br /&gt;
There are informative Ubuntu forum threads on [http://ubuntuforums.org/showthread.php?t=503233 Feisty] and [http://ubuntuforums.org/showthread.php?t=523022 Gutsy] for the X61.&lt;br /&gt;
&lt;br /&gt;
A very detailed report on the X61 under Ubuntu Gutsy Gibbon is  [https://wiki.ubuntu.com/LaptopTestingTeam/ThinkpadX61 here].  The report was written describing Tribe 5, the last prerelease, but describes the release version of Gutsy Gibbon equally well.&lt;br /&gt;
&lt;br /&gt;
* [http://slackwiki.org/ThinkPad_X61s Slackware installation instructions]&lt;br /&gt;
* [http://wiki.webvm.net/x61 Debian Lenny installation notes]&lt;br /&gt;
* [http://br1.einfach.org/GentooX61 Installing Gentoo on a Thinkpad X61]&lt;br /&gt;
&lt;br /&gt;
There is also fairly complex [[Installing openSUSE 10.3 on a ThinkPad X61|instalation HOWTO for openSUSE 10.3]] here on ThinkWiki.&lt;br /&gt;
&lt;br /&gt;
[[Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61|Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61]]&lt;br /&gt;
&lt;br /&gt;
== Problems and Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== X61 won't boot from the CD-ROM/DVD drive (Solved) ===&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to enable your [http://en.wikipedia.org/wiki/Optical_drive optical drive]:&lt;br /&gt;
&lt;br /&gt;
# Reboot your X61. Press the ThinkVantage button quickly when you see the ThinkPad screen and then press F1 to enter [http://en.wikipedia.org/wiki/BIOS BIOS].&lt;br /&gt;
# In BIOS, select Configure -&amp;gt; Serial ATA.&lt;br /&gt;
# Now, select Compatibility instead of AHCI.&lt;br /&gt;
# Exit BIOS and start your computer normally.&lt;br /&gt;
&lt;br /&gt;
Do this only when booting does not work. This is not always necessary!&lt;br /&gt;
&lt;br /&gt;
=== Suspend/Resume doesn't work out of the box (Solved) ===&lt;br /&gt;
&lt;br /&gt;
Under GNOME, you may find that Suspend/Resume doesn't work out of the box.  Fn-F4 does suspend and lid open does resume, but the backlight is off after resume.&lt;br /&gt;
&lt;br /&gt;
To fix this, do the following:&lt;br /&gt;
&lt;br /&gt;
# In the file /boot/grub/menu.lst, find the line beginning with &amp;quot;# kopt=&amp;quot;.  This is where grub sets the options for your kernel. Append to this line the following: &amp;quot; acpi_sleep=s3_bios&amp;quot;. (That is, these words should be preceded by a space separating them from the existing options.  Do not remove the initial &amp;quot;#&amp;quot; from the line.)&lt;br /&gt;
&lt;br /&gt;
# Run the command '''update-grub''' as root.&lt;br /&gt;
&lt;br /&gt;
This fix '''is''' needed under Ubuntu 7.04 (Feisty Fawn), but '''is not''' needed under Gutsy Gibbon Tribe 5 or the final release version.  It seems likely the difference is due to the GNOME upgrade.&lt;br /&gt;
&lt;br /&gt;
In general the the backlight problem can be solved by suspending with &lt;br /&gt;
 s2ram -f -a 1&lt;br /&gt;
or using vbetool to restore your video state. for hibernate-scripts put into {{path|/etc/hibernate/ram.conf}}&lt;br /&gt;
&lt;br /&gt;
 TryMethod sysfs-ram.conf&lt;br /&gt;
 EnableVbetool yes&lt;br /&gt;
 VbetoolPost yes&lt;br /&gt;
&lt;br /&gt;
=== Sound doesn't work (Solved) ===&lt;br /&gt;
&lt;br /&gt;
Sound won't work under the stock ALSA 1.0.14 shipped with Ubuntu Feisty Fawn, but will in later versions including the patched 1.0.14 shipped with Ubuntu Gutsy Gibbon.&lt;br /&gt;
&lt;br /&gt;
Your speakers default to being muted.  To fix this, run alsamixer in a terminal window; right-arrow over until the Speaker column is visible, and press the &amp;quot;m&amp;quot; key to toggle it from mute (&amp;quot;MM&amp;quot;) to on (&amp;quot;OO&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
You may have to go to System-&amp;gt;Preferences-&amp;gt;Sound-&amp;gt;Devices and select PCM to enable your Volume button to work.&lt;br /&gt;
&lt;br /&gt;
The mute button always mutes rather than toggling; you have to undo it by hitting the volume-up button.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues under Ubuntu Feisty Fawn 7.04 and Gutsy Gibbon Beta (Tribe 5) ===&lt;br /&gt;
&lt;br /&gt;
# Sound doesn't work under Feisty, but '''does''' under Gutsy Tribe 5 and Gutsy Final.   &lt;br /&gt;
# Wireless doesn't work under Feisty, but '''does''' under Gutsy Tribe 5 and Gutsy Final.&lt;br /&gt;
# 2D graphics works fine, but there is no 3D acceleration yet. (3D acceleration works in Hardy)&lt;br /&gt;
# Fingerprint reader doesn't work yet.&lt;br /&gt;
&lt;br /&gt;
=== Other Notes ===&lt;br /&gt;
&lt;br /&gt;
The stock drive in the X61 of October 2007 appears not to have the [[Problem_with_hard_drive_clicking|click-of-death]] issue noted on some other ThinkPads.  Note, this could potentially change if Lenovo changes drive suppliers.&lt;br /&gt;
&lt;br /&gt;
The X61 is apparently very similar to a T61 internally.  You may be able to find helpful tips in the &lt;br /&gt;
installation instructions  for the [[Installation_instructions_for_the_ThinkPad_T61|Installation instructions for the Thinkpad T61]] for problems that are not solved here.&lt;br /&gt;
&lt;br /&gt;
=== Immediate Resume after Suspend ===&lt;br /&gt;
&lt;br /&gt;
If your X61 starts to resume a few seconds after you suspended it to RAM, then you might need to unload the USB modules uhci_hcd and ehci_hcd before going to sleep.&lt;br /&gt;
&lt;br /&gt;
For hibernate-scripts you can put this in {{path|/etc/hibernate/common.conf}}&lt;br /&gt;
 UnloadModules uhci_hcd ehci_hcd&lt;br /&gt;
&lt;br /&gt;
== USB ports on right side don't work ==&lt;br /&gt;
&lt;br /&gt;
Can be fixed with a firmware update (from Lenovo); or using [[irqfixup]].&lt;br /&gt;
&lt;br /&gt;
See [http://ubuntuforums.org/showthread.php?t=658065 this thread on ubuntuforums].&lt;br /&gt;
&lt;br /&gt;
=== BIOS/Firmware Upgrade Difficult Without Ultrabase ===&lt;br /&gt;
&lt;br /&gt;
BIOS upgrades are available from Lenovo online in the form of a bootable CD image. However, USB CD-ROM drivers are not included on the disk, such that external CD-ROM drives will not work with the BIOS upgrade. Due to the lack of internal CD-ROM drive in the X61 series of laptops, this makes upgrading the BIOS difficult without a 32-bit version of Windows (for which there is an executable BIOS upgrade program).&lt;br /&gt;
&lt;br /&gt;
A CD-ROM drive in a Thinkpad ultrabase will be able to boot Lenovo's unmodified ISO and upgrade the BIOS/firmware. Failing this, it is possible to upgrade the X61 BIOS using a bootable USB stick, as per the instructions detailed [http://ubuntuforums.org/showthread.php?t=817897 here].&lt;br /&gt;
&lt;br /&gt;
== Bluetooth ==&lt;br /&gt;
&lt;br /&gt;
if bluetooth is disabled, just hit fn-f5.&lt;br /&gt;
&lt;br /&gt;
== Multiple monitors ==&lt;br /&gt;
&lt;br /&gt;
To clone the screen, just plug in a second monitor and hit Fn-F7.&lt;br /&gt;
&lt;br /&gt;
See: [[Xorg RandR 1.2]] for more details on setting up two monitors.&lt;br /&gt;
&lt;br /&gt;
To keep compiz effects, the largest Virtual screen size you can have currently is 2024 x 2024 (combined size of both monitors). This is apparently a software limitation, and may be extended in future. See [[Xorg RandR 1.2]] for details.&lt;br /&gt;
&lt;br /&gt;
You can change screen setup settings with these GUI apps:&lt;br /&gt;
* &amp;lt;code&amp;gt;gnome-display-properties&amp;lt;/code&amp;gt; (called &amp;quot;Screen Resolution&amp;quot; in System | Preferences menu)&lt;br /&gt;
* &amp;lt;code&amp;gt;grandr&amp;lt;/code&amp;gt; (not installed by default. try the command line tool &amp;lt;code&amp;gt;xrandr&amp;lt;/code&amp;gt; if grandr doesn't do what you want.)&lt;br /&gt;
* &amp;lt;code&amp;gt;gksu displayconfig-gtk&amp;lt;/code&amp;gt; (Warning: displayconfig-gtk may mess with your xorg.conf in a bad way. Keep a backup and/or avoid this program!)&lt;br /&gt;
&lt;br /&gt;
[[Category:X61]]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38431</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38431"/>
		<updated>2008-08-02T23:41:55Z</updated>

		<summary type="html">&lt;p&gt;Damajor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;More coming soon...&lt;br /&gt;
&lt;br /&gt;
If this tutorial works for you and your X61, fell free to add the X61 model number below.&lt;br /&gt;
&lt;br /&gt;
* Tested on a X61 7376-CU9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Items that works out of the box: ==&lt;br /&gt;
&lt;br /&gt;
=== fn-keys: ===&lt;br /&gt;
&lt;br /&gt;
* play/pause/stop/next/previous: should work as they are correctly mapped in gnome&lt;br /&gt;
* brightness down (note: send events ibm &amp;amp; video)&lt;br /&gt;
* brightness up (note: send only event video, fixed using a custom kernel)&lt;br /&gt;
* lock&lt;br /&gt;
* sleep&lt;br /&gt;
* battery show a popup with current battery info&lt;br /&gt;
* suspend to disk (hibernate): works&lt;br /&gt;
* suspend to ram: works and wakes up as soon the lid is opened&lt;br /&gt;
* bluetooth enable/disable works&lt;br /&gt;
&lt;br /&gt;
=== additional keys: ===&lt;br /&gt;
&lt;br /&gt;
* sound up/down buttons&lt;br /&gt;
* power button: makes popup a menu with many choices (sleep/suspend/restart/logoff/shutdown/...)&lt;br /&gt;
&lt;br /&gt;
=== misc: ===&lt;br /&gt;
&lt;br /&gt;
* dim lcd works (for eg: when idle)&lt;br /&gt;
* bluetooth:&lt;br /&gt;
** pairing works fine&lt;br /&gt;
** obex works fine&lt;br /&gt;
** not much tested other features should work.&lt;br /&gt;
&lt;br /&gt;
== Items that requires some light tweaks: ==&lt;br /&gt;
&lt;br /&gt;
* browser keys does not work (see below to enable them -Easy-)&lt;br /&gt;
* trackpoint middle button act as a simple third button, it cannot be used to scroll (at least without manual config -Easy-)&lt;br /&gt;
* fingerprint: require some config -Easy-&lt;br /&gt;
&lt;br /&gt;
== Items that will work with a custom kernel upgrade: ==&lt;br /&gt;
&lt;br /&gt;
Do not be affraid I will try to explain most of the needed steps (coming soon). Moreover the new features will be very sweet ;) And you will not loose any features that already works out of the box. Humm, Do I said that? Well at this time the work in progress is about TuxOnIce.&lt;br /&gt;
&lt;br /&gt;
=== Here are the features that works smoothly after that you use your own kernel ===&lt;br /&gt;
&lt;br /&gt;
Note: I use zen-sources kernel.&lt;br /&gt;
&lt;br /&gt;
* all sound keys works as expected (including mute key)&lt;br /&gt;
* brightness works fine (both keys send ibm &amp;amp; video events)&lt;br /&gt;
* rf-switch tested and working&lt;br /&gt;
* sound mute (only mute but does not unmute, have to press sound up or down to get the sound back, fixed using a custom kernel, see below for the full details -Easy-)&lt;br /&gt;
* hdaps with head parking works fine (details below)&lt;br /&gt;
&lt;br /&gt;
== Manual configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Fingerprint ===&lt;br /&gt;
&lt;br /&gt;
==== Install and configuration ====&lt;br /&gt;
&lt;br /&gt;
A very nice and easy howto is located there:&lt;br /&gt;
http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger#Hardy&lt;br /&gt;
&lt;br /&gt;
==== Fingerprint reader getting hot ====&lt;br /&gt;
&lt;br /&gt;
It is very to fix.&lt;br /&gt;
&lt;br /&gt;
See this article http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger#Fix_for_the_fingerprint_reader_getting_too_hot&lt;br /&gt;
&lt;br /&gt;
=== TuxOnIce ===&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
=== HDAPS with head parking ===&lt;br /&gt;
&lt;br /&gt;
Does not work with the default Kernel shipped in Ubuntu as it does not include the head parking patch, but you can still do the following steps to configure hdaps and hdapsd, your config will be ready when you will choose to compile a new kernel or when the Ubuntu team will include the patch in their kernel tree.&lt;br /&gt;
&lt;br /&gt;
* add &amp;quot;hdaps&amp;quot; at the end of /etc/modules&lt;br /&gt;
* add in the file /etc/udev/rules.d/50-hdapsd.rules&lt;br /&gt;
 KERNEL==&amp;quot;event[0-9]*&amp;quot;, ATTRS{phys}==&amp;quot;hdaps/input1&amp;quot;, ATTRS{modalias}==&amp;quot;input:b0019v1014p5054e4801-*&amp;quot;,SYMLINK+=&amp;quot;input/hdaps/accelerometer-event&amp;quot;&lt;br /&gt;
* edit /etc/default/hdapsd to fit your needs.&lt;br /&gt;
Disk is &amp;quot;sda&amp;quot; on my X61 (may vary if you use Ultrabase -I do not have this hardware-)&lt;br /&gt;
&lt;br /&gt;
And I use 40 for the sensitivity (you can lower the sensitivity -down to 15 I think- if you are working in a very quiet and stable environement)&lt;br /&gt;
&lt;br /&gt;
=== Browser keys ===&lt;br /&gt;
&lt;br /&gt;
I use Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Put the two following lines in the file ~/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
  keycode 234 = XF86Back&lt;br /&gt;
  keycode 233 = XF86Forward&lt;br /&gt;
&lt;br /&gt;
Restart X and enjoy the keys in Fiferox&lt;br /&gt;
&lt;br /&gt;
=== Middle button wheel emulation ===&lt;br /&gt;
&lt;br /&gt;
The following config does not only enable the wheel button but it also keeps the cut/paste feature on it.&lt;br /&gt;
&lt;br /&gt;
I used the Device section from the config of my OpenSuSE and all works very fine.&lt;br /&gt;
&lt;br /&gt;
Config to replace:&lt;br /&gt;
&amp;lt;pre&amp;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;
	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;HorizEdgeScroll&amp;quot;       &amp;quot;0&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just comment both of the previous sections and add the following one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
	  Driver       &amp;quot;mouse&amp;quot;&lt;br /&gt;
	  Identifier   &amp;quot;Mouse[1]&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Buttons&amp;quot; &amp;quot;5&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;EmulateWheel&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;InputFashion&amp;quot; &amp;quot;Mouse&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Name&amp;quot; &amp;quot;IBM;TPPS/2 TrackPoint&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Protocol&amp;quot; &amp;quot;explorerps/2&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;Vendor&amp;quot; &amp;quot;Sysp&amp;quot;&lt;br /&gt;
	  Option       &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
	EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38334</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_X61&amp;diff=38334"/>
		<updated>2008-07-29T18:50:54Z</updated>

		<summary type="html">&lt;p&gt;Damajor: Coming soon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Coming soon...&lt;br /&gt;
&lt;br /&gt;
At this time many features are working out of the box and some needs very light tweaks.&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_APS_harddisk_parking&amp;diff=38308</id>
		<title>Problem with APS harddisk parking</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_APS_harddisk_parking&amp;diff=38308"/>
		<updated>2008-07-26T13:23:59Z</updated>

		<summary type="html">&lt;p&gt;Damajor: /* Supported/unsupported harddrive firmwares */&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;
When trying to [[How to protect the harddisk through APS|enable APS functionality]] by installing &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;, the following problems might occur.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Problem with unload capabilities check==&lt;br /&gt;
You may get the following kernel message when the disk is protected (e.g., via {{cmdroot|echo 1 &amp;gt; /sys/block/sda/queue/protect}}):&lt;br /&gt;
&lt;br /&gt;
 ata_scsi_issue_protect_fn(): unload support NOT reported..&lt;br /&gt;
 scsi_protect_queue(): head park not requested, used standby!..&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 idedisk_issue_protect_fn(): unload support NOT reported..&lt;br /&gt;
 ide_protect_queue(): head park not requested, used standby!..&lt;br /&gt;
&lt;br /&gt;
{{WARN|Using HDAPS in the above state may cause frequent drive spin downs, thereby wearing out your hard disk.}}&lt;br /&gt;
&lt;br /&gt;
If you see this, and you are sure that your drive actually does support unloading (all original drives sold with HDAPS-equipped ThinkPads do), one of the following solutions might help.&lt;br /&gt;
&lt;br /&gt;
=== Drives which have this problem ===&lt;br /&gt;
* [[Hitachi Travelstar 7K60]] HTS726060M9AT00 on ThinkPad {{T43}}&lt;br /&gt;
* Fujitsu MHT2040AH (846C) on ThinkPad {{T41}} or {{R51}}&lt;br /&gt;
&lt;br /&gt;
=== Solution for kernel 2.6.16 or later ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt; patch for 2.6.16 now accepts the {{bootparm|protect_method|}} module parameter to override the &lt;br /&gt;
parking capability detection, which accepts the following numeric values:&lt;br /&gt;
*&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;: autodetect capability&lt;br /&gt;
*&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;: &amp;quot;unload the head even if the drive doesn't report it has this capability&amp;quot;&lt;br /&gt;
*&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;: &amp;quot;standby even if unload is supported&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Hence, depending on your machine type, and whether the module is built into the kernel or not, you can use one of the following options:&lt;br /&gt;
&lt;br /&gt;
If disk driver is built into kernel, add the following to your kernel boot parameters (e.g. {{path|/boot/grub/menu.lst}}):&lt;br /&gt;
    libata.protect_method=1&lt;br /&gt;
    ide-disk.protect_method=1&lt;br /&gt;
&lt;br /&gt;
If disk driver is built as module, add the following to your modprobe configuration (e.g., {{path|/etc/modprobe.conf}}):&lt;br /&gt;
    options libata protect_method=1&lt;br /&gt;
    options ide-disk protect_method=1&lt;br /&gt;
&lt;br /&gt;
In both cases, if you know whether you use &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt;, you can drop the other line.&lt;br /&gt;
&lt;br /&gt;
=== Solution for kernel 2.6.15 and older ===&lt;br /&gt;
The following patch overrides automatic protect capability detection.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -u linux-2.6.15.hdaps/drivers/ide/ide-disk.c linux-2.6.15.hdaps/drivers/ide/ide-disk.c&lt;br /&gt;
--- linux-2.6.15.hdaps/drivers/ide/ide-disk.c	2006-01-18 07:11:54.000000000 +0000&lt;br /&gt;
+++ linux-2.6.15.hdaps/drivers/ide/ide-disk.c	2006-01-18 07:11:54.000000000 +0000&lt;br /&gt;
@@ -869,7 +869,7 @@&lt;br /&gt;
 	else&lt;br /&gt;
 		printk(KERN_DEBUG &amp;quot;idedisk_issue_protect_fn(): unload support NOT reported..\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
-	return ide_protect_queue(q, (drive-&amp;gt;id-&amp;gt;cfsse &amp;amp; (1 &amp;lt;&amp;lt; 13)) ? 1: 0);&lt;br /&gt;
+	return ide_protect_queue(q, 1);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int idedisk_issue_unprotect_fn(request_queue_t *q)&lt;br /&gt;
diff -u linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c&lt;br /&gt;
--- linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c	2006-01-18 07:15:31.000000000 +0000&lt;br /&gt;
+++ linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c	2006-01-18 07:15:31.000000000 +0000&lt;br /&gt;
@@ -661,7 +661,7 @@&lt;br /&gt;
 		printk(KERN_DEBUG &amp;quot;ata_scsi_issue_protect_fn(): unload support NOT reported..\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 	/* call scsi_protect_queue, requesting either unload or standby */&lt;br /&gt;
-	return scsi_protect_queue(q, ata_id_has_unload(dev-&amp;gt;id) ? 1 : 0);&lt;br /&gt;
+	return scsi_protect_queue(q, 1);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 static int ata_scsi_issue_unprotect_fn(request_queue_t *q)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Problem with hard drive firmware==&lt;br /&gt;
Drivers other than those sold by IBM for APS-equipped ThinkPads may lack the head unload command.&lt;br /&gt;
&lt;br /&gt;
===Detection===&lt;br /&gt;
If you see the following message in {{cmdroot|dmesg}} output after you have started the hdaps daemon, your drive lacks the unload feature (the converse is not true).&lt;br /&gt;
 &lt;br /&gt;
 ide_protect_queue(): head NOT parked!.. &lt;br /&gt;
 ide_unprotect_queue(): No pending I/O, re-enabling power management..&lt;br /&gt;
&lt;br /&gt;
You can also directly test for the head unload function by running the following Perl script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
# Unload disk head on drives that support IDLE IMMEDIATE with the UNLOAD feature.&lt;br /&gt;
$dev=&amp;quot;$ARGV[0]&amp;quot; or die &amp;quot;Specify device as argument.\n&amp;quot;;&lt;br /&gt;
$HDIO_DRIVE_TASK=0x031e;&lt;br /&gt;
$args=pack(&amp;quot;ccccccc&amp;quot;,0xe1,0x44,0,0x4C,0x4E,0x55,0);&lt;br /&gt;
open(DEV,&amp;quot;&amp;lt;&amp;quot;,$dev) or die &amp;quot;open(\&amp;quot;$dev\&amp;quot;): $!\n&amp;quot;;&lt;br /&gt;
ioctl(DEV,$HDIO_DRIVE_TASK,$args) or die &amp;quot;Unload failed: $!\n&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Due to a limitation of the Linux kernel libata system, it is not possible for this program to check if the unload worked. You'll have to listen for the characteristic sound (a faint click and a change in spinning sound) to learn if the unload worked.&lt;br /&gt;
&lt;br /&gt;
===Solutions===&lt;br /&gt;
A firmware upgrade of your harddisk might add the missing function.&lt;br /&gt;
&lt;br /&gt;
Go to the [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-62282 IBM harddrive firmware update utility page] and check if a firmware upgrade is available for your harddisk. IBM/Lenovo provides a bootdisk for easy firmware upgrade (~17MB download). &lt;br /&gt;
&lt;br /&gt;
===Supported/unsupported harddrive firmwares===&lt;br /&gt;
Use {{cmdroot| hdparm -i /dev/hda}} to get your harddisk model name and firmware version (replace &amp;lt;tt&amp;gt;/dev/hda&amp;lt;/tt&amp;gt; with the actual device for your hard drive).&lt;br /&gt;
On newer models, you need {{cmdroot| sdparm -i /dev/sda}} (or {{cmdroot| hdparm -I /dev/sda}} ) because of the SATA controller.&lt;br /&gt;
&lt;br /&gt;
The following line is the important one in the output: &lt;br /&gt;
&lt;br /&gt;
 Model=HTS726060M9AT00, FwRev=MH4O'''A6GA''', SerialNo=MRHXXXXXXXXX&lt;br /&gt;
&lt;br /&gt;
The last four characters of the '''FwRev''' actually marks the firmware version.&lt;br /&gt;
 &lt;br /&gt;
The table lists known working / not working firmware versions with [[HDAPS]] &lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
!Drive!!firmware!!park command output!!Source&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| IC25N040ATCS04-0 || CA40'''A71A''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| IC25N040ATMR04-0 || MO2O'''AD4A''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| IC25N040ATMR04-0 || MO2O'''ADEA''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTC426040G9AT00 || 00P4'''A0B4''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTC426060G9AT00 || 00P3'''A0B4''' || parked (method=1)&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS548040M9AT00 || MG20'''A5BA''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS548040M9AT00 || MG20'''A5HA''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS548080M9AT00 || (TBA) || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS541060G9AT00 || MB3I'''A60A''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS726060M9AT00 || MH4O'''A6GA''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| Fujitsu MHT2040AH || 846C || parked, and specs mention  UNLOAD capability&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| Fujitsu MHT2040AH || 8471 || parked, and specs mention UNLOAD capability&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| Fujitsu MHV2060AH/MHV2100AH/MHV2120AH ||      || specs mention UNLOAD capability&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| Fujitsu MHV2120BH PL || 0084'''002A''' || parked || Lenovo&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| Fujitsu MHY2250BH || 0084'''000D''' || parked (work fine) || Lenovo&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| Seagate ST9160821A (160GB PATA) || 5MAA'''TJHL''' || parked (and reports UNLOAD capability)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Rescue_and_Recovery&amp;diff=38307</id>
		<title>Rescue and Recovery</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Rescue_and_Recovery&amp;diff=38307"/>
		<updated>2008-07-26T13:20:55Z</updated>

		<summary type="html">&lt;p&gt;Damajor: /* Models featuring this technology */&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;&amp;quot; | __NOTOC__&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;
Rescue and Recovery version 3.0 consists of a bootable partition containing various system recovery tools, including full recovery of the preinstalled Windows XP partition. It can be activated by pressing the {{ibmkey|ThinkPad|#494949}}, {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkVantage|#495988}} [[ThinkPad Button|Button]] during system boot. It contains a FAT filesystem (sometimes labeled &amp;quot;IBM_SERVICE&amp;quot;, &amp;quot;SERVICEV001&amp;quot;, etc.), and has partition type 0x12 (&amp;quot;Compaq diagnostics&amp;quot; in &amp;lt;tt&amp;gt;fdisk&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
As opposed to a [[Hidden Protected Area]] Recovery partitions are ordinary partitions, accessible through the partition table. As they are ordinary partitions they are accessible by ordinary partitioning tools. They should be dealt with carefully.&lt;br /&gt;
&lt;br /&gt;
Rescue and Recovery is a Windows-specific feature. If you intend to recover into Windows when you have an issue, it is important to follow the warnings here carefully. If you intend to run another operating system exclusively and never return to Windows, removing this partition is safe. If you remove it, you can still reinstall windows at a later time, provided you have created a Recovery set of discs (1CD + 1DVD or 5CDs required). Booting from the Recovery CD will restore the system to the factory state including the recovery partition.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Proper MBR==&lt;br /&gt;
{{WARN|Only tinker with the MBR and the Rescue and Recovery partition if you know what you're doing. Mistakes can leave the system unbootable and can make it very difficult to retrieve the data on the harddisk.}}&lt;br /&gt;
&lt;br /&gt;
Consideration 6 of the Readme states:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;quot;The Master Boot Record (MBR) must be configured properly for the Rescue and Recovery application to function properly.  When possible, the Rescue and Recovery application attempts to ensure the proper configuration of the MBR.  This can only occur if the Rescue and Recovery application is installed after other applications that requires the MBR.&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Apparently, the MBR is not &amp;quot;configured properly&amp;quot; if LILO or GRUB have written it. The following is the case:&lt;br /&gt;
*The default bootloader seems to ignore the active bit and always boots the first partition instead&lt;br /&gt;
*The default bootloader contains code to catch a press of the appropriate button during bootup and launch the Rescue and Recovery application in that case&lt;br /&gt;
*Before launching the Rescue and Recovery application at system boot, the default bootloader changes the partition type of the Rescue and Recovery partiton to 0x0b, otherwise it changes it to 0x12 (to hide it from Windows)&lt;br /&gt;
*The Rescue and Recovery application assumes that the first partition contains Windows&lt;br /&gt;
*When booting from the Rescue and Recovery partition, it needs to have its type set (either by Thinkvantage or by GRUB) to 0x0b (FAT32) for the default bootloader to launch the Rescue and Recovery application.&lt;br /&gt;
&lt;br /&gt;
Since neither LILO nor GRUB catch the press of the button (an undocumented mechanism anyway) it is not possible to launch the Rescue and Recovery application by pressing the appropriate button during system boot, once LILO or GRUB have altered the MBR for their boot procedure.&lt;br /&gt;
&lt;br /&gt;
IBM provides a program to manage the Rescue and Recovery bootloader. It is located in {{path|C:\Program Files\IBM ThinkVantage\Common\BMGR}} or {{path|C:\Program Files\Common Files\Lenovo\BMGR}}. It can select the partition to boot, and also allows for rewriting the MBR if it was written by another bootloader. More information is needed about this program. Here is an example that restores the IBM MBR. It seems that it only extends the already installed MBR. Therefore you must have a valid Windows MBR installed if you want to boot into Windows. The GRUB MBR doesn't work here.&lt;br /&gt;
&lt;br /&gt;
 cd C:\Program Files\IBM ThinkVantage\Common\BMGR&lt;br /&gt;
 bmgr32 /Fbootmgr.bin /v&lt;br /&gt;
&lt;br /&gt;
Some more information about BMGR here, but it may be slightly out of date:&lt;br /&gt;
http://www.redbooks.ibm.com/abstracts/SG247107.html (lookup BMGR32 in the Index)&lt;br /&gt;
&lt;br /&gt;
Sometimes it is not enough to simply restore the IBM MBR if you want to boot into Windows. The Windows MBR might have been overwritten by another bootloader. In that case you should restore the Windows MBR using a Windows CD. More info can be found on http://www.novell.com/documentation/suse91/suselinux-adminguide/html/ch07s05.html&lt;br /&gt;
&lt;br /&gt;
===MBR written by GRUB===&lt;br /&gt;
The MBR written by GRUB can be used to launch the Rescue and Recovery application. However, if you leave the type of the Rescue and Recovery partition to 0x12 (Compaq diagnostics), trying to boot this partition will result in an error message &amp;quot;c000021a, Fatal System Error&amp;quot;. To avoid that, and to make sure the recovery partition is always of the right type, add a line to change the partition type to 0x0b (FAT32) to the Rescue and Recovery partition's entry in your {{path|/boot/grub/menu.lst}}. Also, as we will be hiding the Rescue and Recovery partition from Windows (see below), we need to &amp;lt;tt&amp;gt;unhide&amp;lt;/tt&amp;gt; the partition here to make sure it will be visible and bootable. So, assuming your Rescue and Recovery partition is the second partition, the GRUB entry would look like this:&lt;br /&gt;
&lt;br /&gt;
  title           IBM Rescue and Recovery&lt;br /&gt;
  root            (hd0,1)&lt;br /&gt;
  '''parttype        (hd0,1) 0x0b'''&lt;br /&gt;
  '''unhide          (hd0,1)'''&lt;br /&gt;
  chainloader     +1&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Some people reported this not working (in particular, on a {{Z61m}} 9450-3HG). Version 4.0 of Rescue and Recovery uses an NTFS partition, so a partition type of 0x07 (HPFS/NTFS) may be needed.&lt;br /&gt;
}}&lt;br /&gt;
{{Todo|verify this note}}&lt;br /&gt;
&lt;br /&gt;
You will find that while the above lets you launch the Rescue and Recovery application, trying to run the Hardware Diagnostics tool will fail, as it needs a &amp;quot;properly configured&amp;quot; (original) MBR. What happens is that to run the hardware diagnostics, the R&amp;amp;R software temporarily changes the &amp;quot;properly configured&amp;quot; MBR to boot a PC-DOCTOR disk image found on the Rescue and Recovery partition, then asks you to reboot. So all we need to do to get the Hardware Diagnostics back is add another entry to {{path|/boot/grub/menu.lst}}, that will load the PC-DOCTOR disk image. The entry is similar to the &amp;lt;tt&amp;gt;IBM Rescue and Recovery&amp;lt;/tt&amp;gt; one above, with a different &amp;lt;tt&amp;gt;chainloader&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
&lt;br /&gt;
  title           Hardware Diagnostics&lt;br /&gt;
  root            (hd0,1)&lt;br /&gt;
  parttype        (hd0,1) 0x0b&lt;br /&gt;
  unhide          (hd0,1)&lt;br /&gt;
  '''chainloader     /bootsect.dos'''&lt;br /&gt;
&lt;br /&gt;
Finally, as mentioned previously, the Rescue and Recovery partition should be hidden from Windows. This is to prevent any modifications being done to it, as they may damage the Rescue and Recovery software. So, assuming that Windows is on the first partition, the Windows GRUB entry would look like this:&lt;br /&gt;
&lt;br /&gt;
  title           Windows&lt;br /&gt;
  root            (hd0,0)&lt;br /&gt;
  '''hide            (hd0,1)'''&lt;br /&gt;
  chainloader     +1&lt;br /&gt;
&lt;br /&gt;
===GRUB in a partition's boot sector===&lt;br /&gt;
A way to have your Access IBM button still functional on bootup, is to create a separate {{path|/boot}} partition, install GRUB to that partition and make it active. This will leave the MBR untouched.&lt;br /&gt;
{{NOTE|If the above finding is true that the MBR ignores the active bit, that partition has to be the first one. In most recent Linux distributions it is not easy to create /boot as first partition and shrink the Windows partition. In that case the Windows bootloader can be used to boot Windows and Linux, also preserving the Rescue and Recovery functionality. See below.}}&lt;br /&gt;
*In the BIOS, set the IBM Predesktop Area to 'Secure'.&lt;br /&gt;
*Boot your Linux distribution's installation CD.&lt;br /&gt;
*Follow the instructions and go through the regular installation process.&lt;br /&gt;
*Create a '''primary partition''' for /boot (the other stuff can go into the extended partitions) and when the time comes to install GRUB, make sure you install it into the boot sector of the boot partition.&lt;br /&gt;
*Set this boot partition as active.&lt;br /&gt;
&lt;br /&gt;
===Using the Windows Bootloader to Boot Linux===&lt;br /&gt;
The NTLDR Windows bootloader can be configured to boot Linux in addition to Windows.  The master boot record (MBR) is unchanged, so the ThinkVantage Rescue and Recovery system boot functionality is preserved.  This clever procedure was [http://gawrysiak.org/corvus/?p=4 originally applied] to Ubuntu Dapper Drake, and is generalized here.&lt;br /&gt;
&lt;br /&gt;
0. Added warning: with this method, you cannot hibernate windows and boot anything else. The windows boot loader jumps on resuming windows before asking anything (and you can already verify this right now, whatever your current configuration is).&lt;br /&gt;
&lt;br /&gt;
1. Boot Windows and make product recovery disks.  You will see this step repeated throught this wiki for good reason.  The recovery disks can refresh your hard disk to its original factory state, getting you out of the trouble you might make in the next step.&lt;br /&gt;
&lt;br /&gt;
2. Shrink the Windows NTFS partition to the size you like.  You will need a bootable CD that is capable of resizing NTFS partitions.  I have done this before with Knoppix, but this time I used Partition Magic (US$70).&lt;br /&gt;
&lt;br /&gt;
Leave the Rescue and Recovery partition (~5GB) at the end of the disk.  Other authors claim that it ''must not'' be moved.  I did move it, and it works fine.  Still, in retrospect I agree that the end of the disk is the best place for your Rescue and Recovery partition.&lt;br /&gt;
&lt;br /&gt;
3. Reboot.  Push the {{ibmkey|ThinkVantage|#495988}} button during system boot, and verify that Rescue and Recovery still runs.  Reboot into Windows to verify that the partition resize was successful.&lt;br /&gt;
&lt;br /&gt;
4. Begin your Linux installation.  Linux will see the Windows NTFS partition as /dev/sda1, and the Rescue and Recovery FAT32 partition as /dev/sda2.  When the Linux installer asks you about GRUB, do not install GRUB in the MBR.  Instead, install GRUB in the /boot partition (most likely /dev/sda3).&lt;br /&gt;
&lt;br /&gt;
5. After the Linux installation is finished, reboot with a bootable Linux live CD.  The &amp;quot;rescue mode&amp;quot; of your Linux installation CD #1 should work fine for this.  Usually you start the rescue mode with the command,&lt;br /&gt;
&lt;br /&gt;
    linux rescue&lt;br /&gt;
&lt;br /&gt;
Start the network if you plan to use FTP in step 7.&lt;br /&gt;
&lt;br /&gt;
6. After you get a shell prompt, become root if necessary, and then write the first sector of the /boot partition (probably /dev/sda3) to a file using the dd command:&lt;br /&gt;
&lt;br /&gt;
     sudo -i                   # If necessary&lt;br /&gt;
     cd /mnt/sysimage/boot     # Or wherever your live CD mounts the /boot partition&lt;br /&gt;
     dd if=/dev/sda3 of=grub.img bs=512 count=1&lt;br /&gt;
&lt;br /&gt;
The resulting grub.img file should be 512 bytes long.&lt;br /&gt;
&lt;br /&gt;
7. Transfer the grub.img file somewhere where you can read it from Windows.  You can use removable media like a USB flash drive, or even FTP.&lt;br /&gt;
&lt;br /&gt;
8. Reboot into Windows. Copy the grub.img file to c:\grub.img.&lt;br /&gt;
&lt;br /&gt;
9. Make a backup copy of the c:\boot.ini NTLDR control file.  c:\boot.ini is read-only and hidden, so you will have to tell Windows to show hidden files, and turn off the read-only property on c:\boot.ini.&lt;br /&gt;
&lt;br /&gt;
10. Edit c:\boot.ini.  Append the line,&lt;br /&gt;
&lt;br /&gt;
    c:\grub.img=&amp;quot;Linux GRUB Bootloader&amp;quot;&lt;br /&gt;
&lt;br /&gt;
So that Linux will boot by default, you may also want to change the default OS to c:\grub.img, and reduce the timeout to 5 seconds or so.  For reference, here is my c:\boot.ini file for Windows XP:&lt;br /&gt;
&lt;br /&gt;
    [boot loader]&lt;br /&gt;
    timeout=5&lt;br /&gt;
    default=c:\grub.img&lt;br /&gt;
    [operating systems]&lt;br /&gt;
    c:\grub.img=&amp;quot;Linux GRUB Bootloader&amp;quot;&lt;br /&gt;
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=&amp;quot;Windows XP Professional&amp;quot; /noexecute=optin /fastdetec&lt;br /&gt;
&lt;br /&gt;
11. Reboot.  Now the Windows boot menu should offer you a choice of &amp;quot;Linux GRUB Bootloader&amp;quot; or Windows XP.  Choose &amp;quot;Linux GRUB Bootloader&amp;quot;, and you will be taken to the GRUB boot menu, where you can select Linux, or even go back to the Windows boot menu.&lt;br /&gt;
&lt;br /&gt;
12. When you need Rescue and Recovery, push the {{ibmkey|ThinkVantage|#495988}} button upon system boot.  Since you have touched neither the MBR nor the Rescue and Recovery partition, Rescue and Recovery will work exactly the same as it did before you installed Linux.&lt;br /&gt;
&lt;br /&gt;
==Newer versions of Rescue and Recovery==&lt;br /&gt;
&lt;br /&gt;
Rescue and Recovery version 4 is installed on T61/R61.&lt;br /&gt;
&lt;br /&gt;
The partition type is 0x27. By factory default, the R&amp;amp;R partition is the first partition on the disk. The filesystem used is NTFS. The preloaded Windows appear as the second partition, with the active bit set.&lt;br /&gt;
&lt;br /&gt;
(_NOT_ on all T61s.  Mine has version 4, but the R&amp;amp;R partition is the 2nd,&lt;br /&gt;
and its ID is 0x12.  More work needed here....)&lt;br /&gt;
&lt;br /&gt;
(The same here on R61 8919-CTO - R&amp;amp;R version 4 was second partition of type FAT32)&lt;br /&gt;
&lt;br /&gt;
R&amp;amp;R version 4 bootloader seems to honor the active bit in the partition table. To install Linux while maintaining the R&amp;amp;R functionality is therefore rather straightforward:&lt;br /&gt;
&lt;br /&gt;
* Shrink the second Windows partition &amp;amp;ndash; or remove it if not needed&lt;br /&gt;
* Add partitions for Linux (or other operating systems), one of them has to be a '''primary partition''' since the R&amp;amp;R bootloader cannot boot from an extended one&lt;br /&gt;
* Install GRUB on the boot sector of the newly added primary partition&lt;br /&gt;
* Remove the active bit from the Windows partition and activate the boot partition with GRUB&lt;br /&gt;
&lt;br /&gt;
==Older versions of Rescue and Recovery==&lt;br /&gt;
Some Thinkpads (e.g., T23 and T30) do not come with a Recovery CD, but also do not support the [[Hidden Protected Area]].  These ThinkPads have an older version of Rescue and Recovery preloaded on the hard disk to implement the factory recovery function.  Most of the comments above also apply to the older versions, with the following differences:&lt;br /&gt;
*The recovery partition type is 0x1c, hidden FAT32, LBA-mapped (or 0xc when unhidden).&lt;br /&gt;
*The boot manager program is in {{path|C:\IBMTOOLS\RECOVERY}} and only runs in a 16-bit DOS environment&lt;br /&gt;
{{Fixme|name of this boot manager needed}}&lt;br /&gt;
*The IBM Predesktop area runs atop of Windows 98 (command-line) instead of WinPE&lt;br /&gt;
&lt;br /&gt;
== Recovery Boot Hangs ==&lt;br /&gt;
On an R61 I recently tried to restore XP via cd/dvd with a new hard drive in the machine which had fedora 9 installed with an encrypted partition. The boot cd/dvd would start booting, flash &amp;quot;inspecting machine configuration&amp;quot; or something similar, then hang on a blank screen. To check if your cd/dvd is actually okay or not, unplug the HD completely, in my case the cd/dvd booted fine after that. To &amp;quot;fix&amp;quot; this issue such that I could actually run restore, I booted fedora 9 from dvd, repartitioned the drive as unencrypted and vfat, after saving the new partition I was able to go back and boot the recovery cd/dvd. I'm not sure if you actually have to do exactly what I did to the drive or not but that's what I did and it worked so maybe some smaller subset would be sufficient.&lt;br /&gt;
&lt;br /&gt;
==External links ==&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4Q2QAK IBM ThinkVantage Rescue and Recovery].&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/thinkvantage_en/tvtrnr3_1027en.txt Rescue and Recovery Readme]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-46088 Accessing the Recovery Partition if Linux has been installed and the F11 button no longer works]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-54483 IBM Rescue and Recovery repair diskette]&lt;br /&gt;
* [http://www.bb242.de/2007/11/22/grub-bootable-auf-usb-stick/ How to reinstall grub from USB, if grub is corrupted after R&amp;amp;R update (German)]&lt;br /&gt;
&lt;br /&gt;
==Models featuring this technology==&lt;br /&gt;
* ThinkPad {{T23}}, {{T30}} (R&amp;amp;R 2.0)&lt;br /&gt;
* ThinkPad {{T42}}&lt;br /&gt;
* ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
* ThinkPad {{T60}}, {{T60p}}&lt;br /&gt;
* ThinkPad {{T61}}, {{T61p}}&lt;br /&gt;
* ThinkPad {{R52}}&lt;br /&gt;
* ThinkPad {{R61}} (R&amp;amp;R version 4)&lt;br /&gt;
* ThinkPad {{Z60m}}&lt;br /&gt;
* Thinkpad {{Z61m}}&lt;br /&gt;
* Thinkpad {{X61}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=38204</id>
		<title>Intel Core 2 Duo (Merom)</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_Core_2_Duo_(Merom)&amp;diff=38204"/>
		<updated>2008-07-14T14:48:16Z</updated>

		<summary type="html">&lt;p&gt;Damajor: /* Standard Voltage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Intel 2 Core is the successor of the [[Intel Core Duo (Yonah)]] processor. Unlike the Yonah, the Merom was designed specifically with mobile applications in mind. The Merom introduced various architectural additions such as EM64T, [[SIMD|SSSE3]] and improved the performance by up to 25 percent. The 667 MHz FSB versions are part of the &amp;quot;Napa&amp;quot; platform, while the 800MHz FSB versions are part of the &amp;quot;Santa Rosa&amp;quot; platform. The chip is also part of the hardware from both the Centrino Duo and Centrino Pro brands.&lt;br /&gt;
&lt;br /&gt;
=Features=&lt;br /&gt;
*Dual Core&lt;br /&gt;
*EM64T&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Vanderpool#Intel_VT_.28IVT.29 Intel Virtualization Technology]&lt;br /&gt;
*XD-Bit&lt;br /&gt;
*[[SIMD|MMX]], [[SIMD|SSE]], [[SIMD|SSE2]], [[SIMD|SSE3]], [[SIMD|SSSE3]] instruction sets&lt;br /&gt;
*667 or 800 MHz FSB&lt;br /&gt;
*65 nm fabrication process&lt;br /&gt;
*4 MB or 2 MB L2-Cache with dynamic cache sizing&lt;br /&gt;
*[[SpeedStep|Enhanced Intel SpeedStep (EIST)]], power states: normal (C0), AutoHALT/MWAIT (C1), Stop Grant (C2), Deep Sleep (C3), [[QuickStart and Deeper Sleep|Deeper Sleep]] (C4)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Available Types and ThinkPads featuring them=&lt;br /&gt;
==Standard Voltage==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || L2 Cache || FSB (MHz)|| VT || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|-&lt;br /&gt;
| T8300 || 2400 || 800 || 3MB || 800 || yes || 1.25 || 1 ? || ? || ? || {{X61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7800 || 2600 || 1000 || 4MB || 800 || yes || 1.30 || 0.85-0.9 || 35 || ? || {{T61p}}&lt;br /&gt;
|-&lt;br /&gt;
| T7700 || 2400 || 1000 || 4MB || 800 || yes || 1.30 || 0.85-0.9 || 35 || ? || {{R61}}, {{T61}}, {{T61p}}&lt;br /&gt;
|-&lt;br /&gt;
| T7600 || 2333 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}}, {{T60p}}&lt;br /&gt;
|-&lt;br /&gt;
| T7500 || 2200 || 1000 || 4MB || 800 || yes || 1.30 || 0.85-0.9 || 35 || ? || {{R61}}, {{T61}}, {{X61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7400 || 2166 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{T60}}, {{T60p}}, {{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7300 || 2000 || 1000 || 4MB || 800 || yes || 1.30 || 0.85-0.9 || 35 || ? || {{R61}}, {{T61}}, {{X61}}&lt;br /&gt;
|-&lt;br /&gt;
| T7200 || 2000 || 1000 || 4MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}}, {{T60}}, {{X60}}, {{Z61m}}, {{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T7100 || 1800 || 1000 || 2MB || 800 || yes || ? || 0.85-0.9 || 35 || ? || {{R61}}, {{T61}}&lt;br /&gt;
|-&lt;br /&gt;
| T5600 || 1833 || 1000 || 2MB || 667 || yes || 1.30 || 0.95 || 34 || 20 || {{R60}}, {{T60}}, {{X60}}, {{Z61t}}&lt;br /&gt;
|-&lt;br /&gt;
| T5500 || 1666 || 1000 || 2MB || 667 || no || 1.30 || 0.95 || 34 || 20 || {{R60}}, {{T60}}, {{X60}}, {{Z61m}}, {{Z61t}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Low Voltage==&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;white-space:nowrap;&amp;quot;&lt;br /&gt;
! Nr. || colspan=2 | Frequency (MHz) || L2 Cache || FSB (MHz)|| VT || colspan=2 | core Voltage (V) || colspan=2 | TDP (W) || ThinkPad Models&lt;br /&gt;
|- style=&amp;quot;background:#ffdead;&amp;quot;&lt;br /&gt;
! !!max. !! min. !! !! !! !! high !! low !! high freq !! low freq !! &lt;br /&gt;
|-&lt;br /&gt;
| L7400 || 1500 || 1000 || 4MB || 667 || yes || 1.2 || 0.85 - 0.9 || 17 || ? || {{X60s}}, {{X60_Tablet}}&lt;br /&gt;
|-&lt;br /&gt;
| L7500 || 1600 || 800 || 4MB || 800 || yes || 1.1 || 0.85 - 0.9 || 17 || ? || {{X61s}}, {{X61_Tablet}}&lt;br /&gt;
|-&lt;br /&gt;
| L7700 || 1800 || 800 || 4MB || 800 || yes || 1.1 || 0.85 - 0.9 || 17 || ? || {{X61s}}, {{X61_Tablet}}&lt;br /&gt;
|-&lt;br /&gt;
| SL7100 || 1200 || 800 || 4MB || 800 || yes || 1.1 || 0.85 - 0.9 || ? || ? || {{X300}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As you can see, the Low-Voltage CPU's work at the same Voltage as the normal CPUs when running in SLFM. With a simple tool (RMClock) you can use those lower voltages at every clock.&lt;br /&gt;
Intel gave other voltage-regions for the CPUs:&lt;br /&gt;
&lt;br /&gt;
''the standard processor that works on a core voltage between 1.075V and 1.175V, the low voltage processors that work between 0.975V and 1.062V and finally the ultra low voltage processors that work between 0.80V and 0.975V.''&lt;br /&gt;
&lt;br /&gt;
Intel doesn't think of the SLFM. With SLFM and a little bit luck, you're T-CPU can be thriftier than a LV-CPU but has more power.&lt;br /&gt;
With RMClock every T-CPU is thriftier than a LV-CPU, because you have the same voltage but a higher max-clock, so the sleep-states can be longer.&lt;br /&gt;
&lt;br /&gt;
=Thermal Specifications=&lt;br /&gt;
The maximum temperature for safe operation is 100°C.&lt;br /&gt;
&lt;br /&gt;
The catastrophic thermal protection temperature is 125°C.&lt;br /&gt;
&lt;br /&gt;
Idle temperature is typically around 30-50°C.&lt;br /&gt;
&lt;br /&gt;
Temperature at full utilisation is around 60-70°C.&lt;br /&gt;
&lt;br /&gt;
These latter two values will of course depend largely on cooling systems and available airflow.&lt;br /&gt;
&lt;br /&gt;
=Compiler optimisation flags=&lt;br /&gt;
==GCC==&lt;br /&gt;
In addition to the architecture independent &amp;lt;code&amp;gt;-O[0123s]&amp;lt;/code&amp;gt; option hierarchy, architecture dependent optimisations are controlled by the &amp;lt;code&amp;gt;-march=&amp;lt;cpu-type&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-mtune=&amp;lt;cpu-type&amp;gt;&amp;lt;/code&amp;gt; options. The &amp;lt;cpu-type&amp;gt; argument (not surprisingly) describes the type of cpu for which to optimise the compiled code. The &amp;lt;code&amp;gt;-mtune&amp;lt;/code&amp;gt; option will generate code that is optimised for the given cpu type which will nevertheless run on cpu types other than the optimisation target. On the other hand, &amp;lt;code&amp;gt;-march&amp;lt;/code&amp;gt; will attempt to optimise more aggressively at the expense of reducing portability to other cpu types. Optimisations implied by &amp;lt;code&amp;gt;-mtune&amp;lt;/code&amp;gt; are a subset of &amp;lt;code&amp;gt;-march&amp;lt;/code&amp;gt; optimisations, and thus it is only necessary to specify &amp;lt;code&amp;gt;-march&amp;lt;/code&amp;gt; if the the maximum level of optimisation is desired.&lt;br /&gt;
&lt;br /&gt;
With version of gcc before 4.3, 32-bit code should be compiled with the &amp;quot;prescott&amp;quot; as the cpu-type argument to &amp;lt;code&amp;gt;-march&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-mtune&amp;lt;/code&amp;gt; whereas 64-bit code should use the &amp;quot;nocona&amp;quot; argument. Gcc 4.3 however introduces &amp;quot;core2&amp;quot; as a valid argument to the &amp;lt;code&amp;gt;-mtune&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-march&amp;lt;/code&amp;gt; options which should be used. Alternatively, as of gcc 4.2, the &amp;quot;native&amp;quot; argument is supported. This will automatically determine the cpu-type on which compilation is taking place and apply optimisations specific to that cpu.&lt;br /&gt;
&lt;br /&gt;
==Intel==&lt;br /&gt;
For the [http://www.spec.org/cpu2006/ SPEC CPU 2006 benchmarks], Intel used the shorthand &amp;lt;code&amp;gt;-fast&amp;lt;/code&amp;gt;, which translates into &amp;lt;code&amp;gt;-O3 -ipo -static -no-prec-div -xP&amp;lt;/code&amp;gt;. However, the compiler also provides the flag &amp;lt;code&amp;gt;-xT&amp;lt;/code&amp;gt;, which activates the optimization for Core 2 Duo and SSSE3 (instead of SSE3 only with &amp;lt;code&amp;gt;-xP&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=Microcode=&lt;br /&gt;
Much like software products, bugs, errata or ways to improve upon operation are often found in CPU's after they have reached the market. In some cases, the necessary changes can be applied by the end user without any change to the underlying hardware in the form of microcode updates downloadable from the manufacturer. Intel offers these microcode updates for download on their [http://downloadcenter.intel.com/Detail_Desc.aspx?ProductID=2676&amp;amp;DwnldID=14303&amp;amp;lang=eng website]. &lt;br /&gt;
&lt;br /&gt;
Provided the availability of the &amp;lt;tt&amp;gt;microcode&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;firmware&amp;lt;/tt&amp;gt; kernel modules (which are enabled in the stock kernels of most distributions) and a suitable user space tool such as [http://urbanmyth.org/microcode/ microcode_ctl], one can install the updated microcode into their processors at runtime. The microcode update is volatile however, meaning that it disappears upon reboot. While this reduces the risk of applying such an update to essentially 0, it does mean that it must be applied on each boot.&lt;br /&gt;
==Debian==&lt;br /&gt;
You can install the microcode.ctl package which will take care of everything (including downloading the microcode itself) for you. Just run&lt;br /&gt;
{{cmdroot|aptitude install microcode.ctl}}. This package includes an init script which will run at boot to load the microcode into the processor. This script also contains a line which will remove the &amp;lt;tt&amp;gt;microcode&amp;lt;/tt&amp;gt; kernel module once the operation is complete and it is no longer needed, however it  is strangely commented out by default. If you want to keep your loaded modules (used memory) to a minimum, you can edit {{path|/etc/init.d/microcode.ctl}} and uncomment the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ -x /sbin/modprobe ] &amp;amp;&amp;amp; /sbin/modprobe -r microcode &amp;gt; /dev/null 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Gentoo==&lt;br /&gt;
The &amp;lt;tt&amp;gt;microcode-ctl&amp;lt;/tt&amp;gt; utility can be installed as follows: {{cmdroot|emerge microcode-ctl}}. This will create an init script &amp;lt;tt&amp;gt;/etc/init.d/microcode_ctl&amp;lt;/tt&amp;gt;, but will not automatically set it to run on startup; to do so, run {{cmdroot|rc-update add microcode_ctl boot}}. Also, this will install an old copy of the microcode to &amp;lt;tt&amp;gt;/etc/microcode.dat&amp;lt;/tt&amp;gt;; to update it, download a new copy from the link above and replace this file.&lt;br /&gt;
&lt;br /&gt;
=Note on Hyper-Threading=&lt;br /&gt;
Note that as opposed to Pentium 4/NetBurst, current Core 2 do not support hyper-threading, and therefore there is usually no option in the BIOS to activate it. Refer to Intel's [http://www.intel.com/products/ht/hyperthreading_more.htm Hyper-Threading Technology] for a list of hyper-threading capable CPU.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
[[Intel_Core_Solo_(Yonah)|Intel Core Solo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
[[Intel Core Duo (Yonah)]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://www.intel.com/products/processor_number/chart/core2duo.htm  Intel - Processor Numbers and Features]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/List_of_Intel_Core_2_microprocessors#Mobile_processors Wikipedia - Intel Core 2 mobile microprocessors]&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Damajor</name></author>
		
	</entry>
</feed>