<?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=Lanoxxthshaddow</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=Lanoxxthshaddow"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Lanoxxthshaddow"/>
	<updated>2026-05-09T09:09:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=39134</id>
		<title>How to configure the TrackPoint</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=39134"/>
		<updated>2008-10-19T17:00:03Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: &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; |The [[Patch to enable advanced trackpoint configuration|kernel trackpoint driver]] is controlled by echoing values to special files. Common configuration options are outlined below.&lt;br /&gt;
{{NOTE|&lt;br /&gt;
*With kernels 2.6.19 and above config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.13 (inclusive) to 2.6.19 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio0/serio2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.11 (inclusive) to 2.6.13 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.9 (inclusive) to 2.6.11 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/proc/trackpoint&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*Prior to kernel 2.6.9, configuration was not done through files but through command-line options to the psmouse module.  (Note this means you must compile psmouse as a module!)  See http://stephen.evanchik.com/node/16.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General Configuration==&lt;br /&gt;
The configuration options are reflected by the files you can find in {{path|/sys/devices/platform/i8042/serio0/serio2}}. See the [[Patch to enable advanced trackpoint configuration|TrackPoint driver page]] for a complete list.&lt;br /&gt;
Configuration is done by echoing the appropriate values into these special files.&lt;br /&gt;
&lt;br /&gt;
If you want to set the sysfs parameters at boot, you can use the [http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] and put the preferred value in /etc/sysfs.conf.&lt;br /&gt;
&lt;br /&gt;
==Most common Features==&lt;br /&gt;
The most common settings are '''Press to Select''', '''sensitivity''', '''speed''' and '''scrolling'''.&lt;br /&gt;
&lt;br /&gt;
===Press to Select===&lt;br /&gt;
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
Press to Select should now be enabled. You can disable it in a similar manner:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
You can use this script to automate the operation&lt;br /&gt;
&lt;br /&gt;
        #!/bin/bash&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning on tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning off tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        echo -n &amp;quot;Tap status: &amp;quot;&lt;br /&gt;
        cat /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
===Sensitivity &amp;amp; Speed===&lt;br /&gt;
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/sensitivity}}&lt;br /&gt;
&lt;br /&gt;
Feel free to experiment with your settings until you find a combination that is comfortable.&lt;br /&gt;
&lt;br /&gt;
When you satisfy your setting , add the two lines into /etc/rc.d/rc.local in order to avoid restoring the default setting every time the system reboots.&lt;br /&gt;
&lt;br /&gt;
===Scrolling===&lt;br /&gt;
====Using a kernel prior to 2.6.11====&lt;br /&gt;
The scrolling action is essentially the same as is used in the TrackPoint Windows drivers. To enable this feature, type the following in to a terminal (you may need to be root): &lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /proc/trackpoint/scroll}}&lt;br /&gt;
&lt;br /&gt;
Then press the middle button and push the stick up and down to scroll. Similarly, to disable scrolling:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /proc/trackpoint/scroll}}&lt;br /&gt;
&lt;br /&gt;
====Using the X server (kernel 2.6.11+)====&lt;br /&gt;
The scroll setting has been removed from the trackpoint driver in kernel versions 2.6.11 and above. Scroll emulation should now be handled in the X server.&lt;br /&gt;
&lt;br /&gt;
A nice side effect of that is, that middle button scrolling applies to any mouse and not just the TrackPoint interface, which can be a quite handy feature for desktop computers or people who prefer to use an external mouse, especially when scrolling through long lists or needing to use horizontal scrolling with a mouse which has only a vertical scroll wheel.&lt;br /&gt;
&lt;br /&gt;
The necessary functionality, known  as &amp;quot;EmulateWheelTimeout&amp;quot; allowing to use button 2 for a middle click, wasn't implemented in Xorg prior to 6.9/7.0. However, there was a patch included in most distributions packages of Xorg, which was announced [http://www.mail-archive.com/devel@xfree86.org/msg03333.html here]. You can find an updated version of the package in the experimental branch of {{Debian}} or try to build the mouse driver yourself with the information in the announcement. This has successfully been tried with FC3's 6.8.2 packages.&lt;br /&gt;
&lt;br /&gt;
Once this functionality is in the X.org, add these lines to your TrackPoint configuration section in {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&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;
&lt;br /&gt;
It may also be necessary to add these lines:&lt;br /&gt;
&lt;br /&gt;
        Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
which specify which buttons are mapped to motion in the vertical (Y) and horizontal (X) directions, respectively, in wheel emulation mode (see http://www.xfree86.org/current/mouse.4.html).&lt;br /&gt;
&lt;br /&gt;
{{HINT| Use the program &amp;quot;xev&amp;quot; to see, what mouse button identifiers are sent by your mouse/touchpad/trackpoint.&amp;lt;br /&amp;gt;You might want to try: &amp;quot;xev &amp;amp;#124; grep button&amp;quot;}}&lt;br /&gt;
{{HINT| If it does not work see if evdev is installed and remove it. On gentoo do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
eix xf86-input-evdev&amp;lt;br /&amp;gt;&lt;br /&gt;
emerge -C xf86-input-evdev&amp;lt;br /&amp;gt;&lt;br /&gt;
and then remove the evdev flag in make.conf INPUT_DEVICES}}&lt;br /&gt;
&lt;br /&gt;
So, a complete mouse section, that implements this nicely and works very well on my R51, even with a simultaneously connected USB mouse, looks like that (tried out today, 20th of September, 2006 on Dapper):&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
        Option      &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Device&amp;quot;              &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Protocol&amp;quot;            &amp;quot;ExplorerPS/2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3Buttons&amp;quot;     &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3TimeOut&amp;quot;     &amp;quot;50&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheel&amp;quot;        &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelTimeOut&amp;quot; &amp;quot;200&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelButton&amp;quot;  &amp;quot;2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;YAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option      &amp;quot;XAxisMapping&amp;quot;        &amp;quot;6 7&amp;quot;&lt;br /&gt;
        Option      &amp;quot;ZAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
&lt;br /&gt;
The mappings for Y and Z are the same, since the &amp;quot;Z-Axis&amp;quot; refers to actual hardware scrolling wheels which usually scroll the screen along the Y-Axis. If there is no hardware scrolling wheel present, horizontal and vertical scrolling using the TrackPoint work fine without the Z-Axis line.&lt;br /&gt;
&lt;br /&gt;
Now restart X and hold down button 2 and move the mouse to scroll, or just press and release button 2 for a middle click.&lt;br /&gt;
&lt;br /&gt;
To make this work with the synaptics driver for the touchpad, you can add&lt;br /&gt;
        Option      &amp;quot;GuestMouseOff&amp;quot; &amp;quot;1&amp;quot;&lt;br /&gt;
to the synaptics device section. This will make the synaptics driver ignore the Trackpoint, so it will be handled by the mouse driver. This allowed me to disable the touchpad while making the TrackPoint work like it should.&lt;br /&gt;
&lt;br /&gt;
{{NOTE| With the above mouse section in my xorg.conf all this works like a charm: &lt;br /&gt;
*I can press the wheel on my external USB mouse and move the mouse up and down for scrolling&lt;br /&gt;
*or I can just use the wheel on the external mouse for scrolling&lt;br /&gt;
*or pressing the MMB button of the trackpoint and use the trackpoint for scrolling.&lt;br /&gt;
*Even horizontal scrolling works automagically in Konqueror, for Firefox/Opera see below.&lt;br /&gt;
&lt;br /&gt;
Simultaneously I can use &lt;br /&gt;
*a press on the external mouse's wheel &lt;br /&gt;
*or the MMB of the trackpoint&lt;br /&gt;
&lt;br /&gt;
for pasting the buffer. Lovely! :) }}&lt;br /&gt;
&lt;br /&gt;
{{HINT| If you don't use the middle-mouse-button for pasting and sometimes pasting things by mistake while scrolling (witch is really odd) simply set the &amp;quot;EmulateWheelTimeOut&amp;quot; to &amp;quot;1&amp;quot; as a (bloody) workaround. Middle click will only possible with pressing left and right button simultaneously!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== EmulateWheelTimeout temporarily broken (-&amp;gt; fix for Ubuntu Dapper) ===== &lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was a regression so that EmulateWheelTimeout was broken in X.org 6.9.0, and fixed&lt;br /&gt;
on March 20th, 2006. &lt;br /&gt;
You can see the [https://bugs.freedesktop.org/show_bug.cgi?id=5071 primary bug report] here, and also reports on the [http://qa.mandriva.com/show_bug.cgi?id=21196 Mandriva] and [http://lists.debian.org/debian-x/2006/01/msg00249.html Debian] ([http://bugs.debian.org/346098 #346098], [http://bugs.debian.org/320136 #320136]) packages.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this bug is still present in Ubuntu Dapper Drake's xserver-xorg-input-mouse package (version 1.0.3.1+cvs.20060109-0ubuntu1)!&lt;br /&gt;
&lt;br /&gt;
{{HINT|xserver-xorg-input-mouse (version 1.0.3.1+cvs.20060109-0ubuntu1.1) is in dapper-updates since July 3rd, 2006. You don't need to patch it anymore.}}&lt;br /&gt;
&lt;br /&gt;
Use the following procedure to make it (middle button scrolling &amp;amp; middle button pasting) work:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cd /desired/path &amp;amp;&amp;amp; mkdir tmp &amp;amp;&amp;amp; cd tmp}} (create temporary directory somewhere)&lt;br /&gt;
:{{cmduser|sudo nano /etc/apt/sources.list}} (insert/uncomment the deb-src lines, save and exit)&lt;br /&gt;
:{{cmduser|sudo apt-get update}}&lt;br /&gt;
:{{cmduser|apt-get source xserver-xorg-input-mice}} (in order to get the source code)&lt;br /&gt;
:{{cmduser|sudo aptitude install xserver-xorg-dev}} (this package and the packages it depends on are needed in order to compile the source code, use aptitude for easy removal later on)&lt;br /&gt;
:{{cmduser|cd xserver-xorg-input-mouse-1.0.3.1+cvs.20060109/}}&lt;br /&gt;
:{{cmduser|wget http://librarian.launchpad.net/2639933/xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (downloads the patch that fixes the bug)&lt;br /&gt;
:{{cmduser|patch -p1 &amp;lt; xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (applies the bug fix)&lt;br /&gt;
:{{cmduser|fakeroot dpkg-buildpackage}} (rebuilds the package... watch out for errors and install other missing packages)&lt;br /&gt;
:{{cmduser|sudo dpkg -i ../xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2_i386.deb}} (installs the rebuilt built package)&lt;br /&gt;
:{{cmduser|sudo aptitude remove xserver-xorg-dev}} (removes the packages needed to rebuild the package)&lt;br /&gt;
&lt;br /&gt;
Hope it works for you, it did work for me!&lt;br /&gt;
CrypTom&lt;br /&gt;
&lt;br /&gt;
===== Older versions of X.org =====&lt;br /&gt;
&lt;br /&gt;
For older versions of Xorg or for Xfree86 ({{path|/etc/X11/XF86Config}}) try this:&lt;br /&gt;
&lt;br /&gt;
       Option          &amp;quot;Emulate3Buttons&amp;quot;       &amp;quot;true&amp;quot;&lt;br /&gt;
       Option          &amp;quot;EmulateWheel&amp;quot;          &amp;quot;true&amp;quot;&lt;br /&gt;
       Option          &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now restart X and hold down button two and move the mouse for scrolling. To get a middle click, press buttons 1 and 3 simultaneously.&lt;br /&gt;
&lt;br /&gt;
==Soft Transparent Mode==&lt;br /&gt;
If you wish to connect a special device to the external PS/2 port, you should consider using &amp;quot;Soft Transparent Mode&amp;quot; so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
Disabling soft transparent mode is similar:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
==Modify trackpoint parameter permanently in trackpoint.h==&lt;br /&gt;
If you do not want to run a script to reconfigure the trackpoint&lt;br /&gt;
you can change the default settings in the trackpoint header file that is located in&lt;br /&gt;
 /usr/src/&amp;lt;KERNEL_VERSION&amp;gt;/drivers/input/mouse/trackpoint.h.&lt;br /&gt;
&lt;br /&gt;
First you must convert the values (decimal numbers) you normaly echo to /sys/[...] to hex:&lt;br /&gt;
&lt;br /&gt;
'''echo -e 'obase=16;&amp;lt;DECIMAL_NUMBER&amp;gt;' | bc'''&lt;br /&gt;
&lt;br /&gt;
Then simply replace the default hex values in trackpoint.h, run 'make &amp;amp;&amp;amp; make modules_install' to recompile and install psmouse.ko (should be compiled as module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example patch (speed=100, sensitivity=190, press_to_select=1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 --- trackpoint.h.orig   2006-01-17 16:18:30.000000000 +0100&lt;br /&gt;
+++ trackpoint.h        2006-01-17 16:25:47.000000000 +0100&lt;br /&gt;
@@ -108,9 +108,9 @@&lt;br /&gt;
 /*&lt;br /&gt;
  * Default power on values&lt;br /&gt;
  */&lt;br /&gt;
-#define TP_DEF_SENS            0x80&lt;br /&gt;
+#define TP_DEF_SENS            0xBE&lt;br /&gt;
 #define TP_DEF_INERTIA         0x06&lt;br /&gt;
-#define TP_DEF_SPEED           0x61&lt;br /&gt;
+#define TP_DEF_SPEED           0x64&lt;br /&gt;
 #define TP_DEF_REACH           0x0A&lt;br /&gt;
&lt;br /&gt;
 #define TP_DEF_DRAGHYS         0xFF&lt;br /&gt;
@@ -123,7 +123,7 @@&lt;br /&gt;
&lt;br /&gt;
 /* Toggles */&lt;br /&gt;
 #define TP_DEF_MB              0x00&lt;br /&gt;
-#define TP_DEF_PTSON           0x00&lt;br /&gt;
+#define TP_DEF_PTSON           0x01&lt;br /&gt;
 #define TP_DEF_SKIPBACK                0x00&lt;br /&gt;
 #define TP_DEF_EXT_DEV         0x01&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configure firefox for using trackpoint horizontal scrolling==&lt;br /&gt;
Vertical Scrolling seems to work out of the box in firefox if you followed the steps above.&lt;br /&gt;
Anyway, there is a problem when you don't scroll exactly vertical, because horizontal scrolling turns into&lt;br /&gt;
browser BACK/FORWARD commands. &lt;br /&gt;
You can avoid this by typing about:config + ENTER in the address bar of firefox.&lt;br /&gt;
You have to adjust the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.action = 3;&lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.numlines = 1; &lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.sysnumlines = true;&lt;br /&gt;
&lt;br /&gt;
mousewheel.horizscroll.withnokey.action = 0;&lt;br /&gt;
mousewheel.horizscroll.withnokey.numlines = 1;&lt;br /&gt;
mousewheel.horizscroll.withnokey.sysnumlines = true;&lt;br /&gt;
&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.action = 1;&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.numlines = 1;&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.sysnumlines = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FWIW, you can change only the following value to remove the browser BACK/FORWARD commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mousewheel.horizscroll.withnokey.action = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With that, you can still go BACK/FORWARD by pressing together the shift or the alt key, while with the control key you increase or decrease the font size.&lt;br /&gt;
&lt;br /&gt;
==Configure Opera for using trackpoint horizontal scrolling==&lt;br /&gt;
You'll experience the same annoying problem with the popular browser Opera. To fix this you need to edit the configfile &amp;lt;tt&amp;gt;standard_mouse.ini&amp;lt;/tt&amp;gt; in e.g. /usr/share/opera/ini/ (Debian) or /opt/opera/share/opera/ini/ (Gentoo) and comment out the following lines&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Button6                                                        = Back&lt;br /&gt;
Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
so they look like that&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Button6                                                        = Back&lt;br /&gt;
;Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remember, Button6 and Button7 do not so coincidental correspond with our X configuration we know from above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this change you will be able to scroll vertically and horizontally with your middle button.&lt;br /&gt;
&lt;br /&gt;
==Fixing trackpoint under Ubuntu 7.10 Gutsy Gibbon==&lt;br /&gt;
===Using trackpoint deamon===&lt;br /&gt;
My default Ubuntu Gutsy (running on an X61s) would give the following error messages when running the trackpoint daemon. Running&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     /etc/init.d/trackpoint restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
caused a bunch of error messages, as the wrong device was in&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        /etc/trackpoint/trackpoint.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I fixed this by changing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        echo -n  &amp;gt; /sys/devices/platform/i8042/serio0/serio2/sensitivity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        echo -n  &amp;gt; /sys/devices/platform/i8042/serio1/sensitivity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in /etc/trackpoint/trackpoint.conf.&lt;br /&gt;
&lt;br /&gt;
In addition, Ubuntu ran the appropriate /etc/init.d/trackpoint script on booting, but would give a bunch of errors (which, oddly, I could never find in any of the log files).&lt;br /&gt;
&lt;br /&gt;
It seems that it was running the scripts too early in the boot sequence. The Gutsy package provided&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /etc/rc2.d/S20trackpoint&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so I renamed this to S99trackpoint (and in all the other rc.? directories) and it now works on boot.&lt;br /&gt;
&lt;br /&gt;
===Editing the kernel config files===&lt;br /&gt;
Another way of configuring the trackpoint without using the trackpoint daemon is to edit the values of the trackpoint files which, BTW, are located in&lt;br /&gt;
 /sys/devices/platform/i8042/serio1/serio2.&lt;br /&gt;
&lt;br /&gt;
The script should be executed during boot. This can be done in an init script (e.g. /etc/bootmisc.sh in some distros)&lt;br /&gt;
&lt;br /&gt;
Script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# configuration du trackpoint&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# vitesse&lt;br /&gt;
echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/speed&lt;br /&gt;
&lt;br /&gt;
# sensibilité&lt;br /&gt;
echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/sensitivity &lt;br /&gt;
&lt;br /&gt;
# press to select&lt;br /&gt;
echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===An Ubuntu/Fedora example===&lt;br /&gt;
Another script that I've created seems to work with all versions of Ubuntu/Fedora that I've been able to try (comment out and uncomment the appropriate lines for fedora/ubuntu as necessary)&lt;br /&gt;
Place in /etc/rc.local or equivalent for your distro:&lt;br /&gt;
&lt;br /&gt;
Script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#*************************&lt;br /&gt;
## START TRACKPOINT CONFIG&lt;br /&gt;
#*************************&lt;br /&gt;
&lt;br /&gt;
# For fedora (the slash after &amp;quot;speed&amp;quot; is returned)&lt;br /&gt;
# TRACKPATH=$(find /sys -print0 | grep -FzZ &amp;quot;/serio2/speed&amp;quot; | sed s^speed/^^)&lt;br /&gt;
&lt;br /&gt;
# For ubuntu (the slash after &amp;quot;speed&amp;quot; is not returned)&lt;br /&gt;
TRACKPATH=$(find /sys -print0 | grep -FzZ &amp;quot;/serio2/speed&amp;quot; | sed s/speed//)&lt;br /&gt;
&lt;br /&gt;
## Select &amp;quot;press_to_select&amp;quot; on the trackpoint input device&lt;br /&gt;
## We need to specify the TRACKPATH above because the device under &amp;quot;serio#&amp;quot;&lt;br /&gt;
## changes between system boots. (We first test to see if the file we want&lt;br /&gt;
## to modify exists, if it does, we make the change&lt;br /&gt;
#[ -f $TRACKPATH/press_to_select ] &amp;amp;&amp;amp; echo -n 1 &amp;gt; $TRACKPATH/press_to_select&lt;br /&gt;
&lt;br /&gt;
## Adjust the speed setting of the trackpoint input device&lt;br /&gt;
[ -f $TRACKPATH/speed ] &amp;amp;&amp;amp; echo -n 120 &amp;gt; $TRACKPATH/speed &lt;br /&gt;
## Adjust the sensitivity setting of the trackpoint input device&lt;br /&gt;
[ -f $TRACKPATH/sensitivity ] &amp;amp;&amp;amp; echo -n 200 &amp;gt; $TRACKPATH/sensitivity&lt;br /&gt;
&lt;br /&gt;
#***********************&lt;br /&gt;
## END TRACKPOINT CONFIG&lt;br /&gt;
#***********************&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=39133</id>
		<title>How to configure the TrackPoint</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=39133"/>
		<updated>2008-10-19T16:39:50Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: &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; |The [[Patch to enable advanced trackpoint configuration|kernel trackpoint driver]] is controlled by echoing values to special files. Common configuration options are outlined below.&lt;br /&gt;
{{NOTE|&lt;br /&gt;
*With kernels 2.6.19 and above config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.13 (inclusive) to 2.6.19 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio0/serio2&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.11 (inclusive) to 2.6.13 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/sys/devices/platform/i8042/serio0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*With kernels 2.6.9 (inclusive) to 2.6.11 (exclusive) config files for this driver are located in &amp;lt;tt&amp;gt;/proc/trackpoint&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*Prior to kernel 2.6.9, configuration was not done through files but through command-line options to the psmouse module.  (Note this means you must compile psmouse as a module!)  See http://stephen.evanchik.com/node/16.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General Configuration==&lt;br /&gt;
The configuration options are reflected by the files you can find in {{path|/sys/devices/platform/i8042/serio0/serio2}}. See the [[Patch to enable advanced trackpoint configuration|TrackPoint driver page]] for a complete list.&lt;br /&gt;
Configuration is done by echoing the appropriate values into these special files.&lt;br /&gt;
&lt;br /&gt;
If you want to set the sysfs parameters at boot, you can use the [http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] and put the preferred value in /etc/sysfs.conf.&lt;br /&gt;
&lt;br /&gt;
==Most common Features==&lt;br /&gt;
The most common settings are '''Press to Select''', '''sensitivity''', '''speed''' and '''scrolling'''.&lt;br /&gt;
&lt;br /&gt;
===Press to Select===&lt;br /&gt;
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
Press to Select should now be enabled. You can disable it in a similar manner:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
You can use this script to automate the operation&lt;br /&gt;
&lt;br /&gt;
        #!/bin/bash&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning on tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning off tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        echo -n &amp;quot;Tap status: &amp;quot;&lt;br /&gt;
        cat /sys/devices/platform/i8042/serio0/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
===Sensitivity &amp;amp; Speed===&lt;br /&gt;
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/sensitivity}}&lt;br /&gt;
&lt;br /&gt;
Feel free to experiment with your settings until you find a combination that is comfortable.&lt;br /&gt;
&lt;br /&gt;
When you satisfy your setting , add the two lines into /etc/rc.d/rc.local in order to avoid restoring the default setting every time the system reboots.&lt;br /&gt;
&lt;br /&gt;
===Scrolling===&lt;br /&gt;
====Using a kernel prior to 2.6.11====&lt;br /&gt;
The scrolling action is essentially the same as is used in the TrackPoint Windows drivers. To enable this feature, type the following in to a terminal (you may need to be root): &lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /proc/trackpoint/scroll}}&lt;br /&gt;
&lt;br /&gt;
Then press the middle button and push the stick up and down to scroll. Similarly, to disable scrolling:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /proc/trackpoint/scroll}}&lt;br /&gt;
&lt;br /&gt;
====Using the X server (kernel 2.6.11+)====&lt;br /&gt;
The scroll setting has been removed from the trackpoint driver in kernel versions 2.6.11 and above. Scroll emulation should now be handled in the X server.&lt;br /&gt;
&lt;br /&gt;
A nice side effect of that is, that middle button scrolling applies to any mouse and not just the TrackPoint interface, which can be a quite handy feature for desktop computers or people who prefer to use an external mouse, especially when scrolling through long lists or needing to use horizontal scrolling with a mouse which has only a vertical scroll wheel.&lt;br /&gt;
&lt;br /&gt;
The necessary functionality, known  as &amp;quot;EmulateWheelTimeout&amp;quot; allowing to use button 2 for a middle click, wasn't implemented in Xorg prior to 6.9/7.0. However, there was a patch included in most distributions packages of Xorg, which was announced [http://www.mail-archive.com/devel@xfree86.org/msg03333.html here]. You can find an updated version of the package in the experimental branch of {{Debian}} or try to build the mouse driver yourself with the information in the announcement. This has successfully been tried with FC3's 6.8.2 packages.&lt;br /&gt;
&lt;br /&gt;
Once this functionality is in the X.org, add these lines to your TrackPoint configuration section in {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&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;
&lt;br /&gt;
It may also be necessary to add these lines:&lt;br /&gt;
&lt;br /&gt;
        Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
which specify which buttons are mapped to motion in the vertical (Y) and horizontal (X) directions, respectively, in wheel emulation mode (see http://www.xfree86.org/current/mouse.4.html).&lt;br /&gt;
&lt;br /&gt;
{{HINT| Use the program &amp;quot;xev&amp;quot; to see, what mouse button identifiers are sent by your mouse/touchpad/trackpoint.&amp;lt;br /&amp;gt;You might want to try: &amp;quot;xev |grep button}}&lt;br /&gt;
{{HINT| If it does not work see if evdev is installed and remove it. On gentoo do the following:&lt;br /&gt;
eix xf86-input-evdev&amp;lt;br /&amp;gt;&lt;br /&gt;
emerge -C xf86-input-evdev&lt;br /&gt;
and then remove the evdev flag in make.conf -&amp;gt; INPUT_DEVICES=&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
So, a complete mouse section, that implements this nicely and works very well on my R51, even with a simultaneously connected USB mouse, looks like that (tried out today, 20th of September, 2006 on Dapper):&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
        Option      &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Device&amp;quot;              &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Protocol&amp;quot;            &amp;quot;ExplorerPS/2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3Buttons&amp;quot;     &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3TimeOut&amp;quot;     &amp;quot;50&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheel&amp;quot;        &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelTimeOut&amp;quot; &amp;quot;200&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelButton&amp;quot;  &amp;quot;2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;YAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option      &amp;quot;XAxisMapping&amp;quot;        &amp;quot;6 7&amp;quot;&lt;br /&gt;
        Option      &amp;quot;ZAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
&lt;br /&gt;
The mappings for Y and Z are the same, since the &amp;quot;Z-Axis&amp;quot; refers to actual hardware scrolling wheels which usually scroll the screen along the Y-Axis. If there is no hardware scrolling wheel present, horizontal and vertical scrolling using the TrackPoint work fine without the Z-Axis line.&lt;br /&gt;
&lt;br /&gt;
Now restart X and hold down button 2 and move the mouse to scroll, or just press and release button 2 for a middle click.&lt;br /&gt;
&lt;br /&gt;
To make this work with the synaptics driver for the touchpad, you can add&lt;br /&gt;
        Option      &amp;quot;GuestMouseOff&amp;quot; &amp;quot;1&amp;quot;&lt;br /&gt;
to the synaptics device section. This will make the synaptics driver ignore the Trackpoint, so it will be handled by the mouse driver. This allowed me to disable the touchpad while making the TrackPoint work like it should.&lt;br /&gt;
&lt;br /&gt;
{{NOTE| With the above mouse section in my xorg.conf all this works like a charm: &lt;br /&gt;
*I can press the wheel on my external USB mouse and move the mouse up and down for scrolling&lt;br /&gt;
*or I can just use the wheel on the external mouse for scrolling&lt;br /&gt;
*or pressing the MMB button of the trackpoint and use the trackpoint for scrolling.&lt;br /&gt;
*Even horizontal scrolling works automagically in Konqueror, for Firefox/Opera see below.&lt;br /&gt;
&lt;br /&gt;
Simultaneously I can use &lt;br /&gt;
*a press on the external mouse's wheel &lt;br /&gt;
*or the MMB of the trackpoint&lt;br /&gt;
&lt;br /&gt;
for pasting the buffer. Lovely! :) }}&lt;br /&gt;
&lt;br /&gt;
{{HINT| If you don't use the middle-mouse-button for pasting and sometimes pasting things by mistake while scrolling (witch is really odd) simply set the &amp;quot;EmulateWheelTimeOut&amp;quot; to &amp;quot;1&amp;quot; as a (bloody) workaround. Middle click will only possible with pressing left and right button simultaneously!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== EmulateWheelTimeout temporarily broken (-&amp;gt; fix for Ubuntu Dapper) ===== &lt;br /&gt;
&lt;br /&gt;
Unfortunately, there was a regression so that EmulateWheelTimeout was broken in X.org 6.9.0, and fixed&lt;br /&gt;
on March 20th, 2006. &lt;br /&gt;
You can see the [https://bugs.freedesktop.org/show_bug.cgi?id=5071 primary bug report] here, and also reports on the [http://qa.mandriva.com/show_bug.cgi?id=21196 Mandriva] and [http://lists.debian.org/debian-x/2006/01/msg00249.html Debian] ([http://bugs.debian.org/346098 #346098], [http://bugs.debian.org/320136 #320136]) packages.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this bug is still present in Ubuntu Dapper Drake's xserver-xorg-input-mouse package (version 1.0.3.1+cvs.20060109-0ubuntu1)!&lt;br /&gt;
&lt;br /&gt;
{{HINT|xserver-xorg-input-mouse (version 1.0.3.1+cvs.20060109-0ubuntu1.1) is in dapper-updates since July 3rd, 2006. You don't need to patch it anymore.}}&lt;br /&gt;
&lt;br /&gt;
Use the following procedure to make it (middle button scrolling &amp;amp; middle button pasting) work:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|cd /desired/path &amp;amp;&amp;amp; mkdir tmp &amp;amp;&amp;amp; cd tmp}} (create temporary directory somewhere)&lt;br /&gt;
:{{cmduser|sudo nano /etc/apt/sources.list}} (insert/uncomment the deb-src lines, save and exit)&lt;br /&gt;
:{{cmduser|sudo apt-get update}}&lt;br /&gt;
:{{cmduser|apt-get source xserver-xorg-input-mice}} (in order to get the source code)&lt;br /&gt;
:{{cmduser|sudo aptitude install xserver-xorg-dev}} (this package and the packages it depends on are needed in order to compile the source code, use aptitude for easy removal later on)&lt;br /&gt;
:{{cmduser|cd xserver-xorg-input-mouse-1.0.3.1+cvs.20060109/}}&lt;br /&gt;
:{{cmduser|wget http://librarian.launchpad.net/2639933/xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (downloads the patch that fixes the bug)&lt;br /&gt;
:{{cmduser|patch -p1 &amp;lt; xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (applies the bug fix)&lt;br /&gt;
:{{cmduser|fakeroot dpkg-buildpackage}} (rebuilds the package... watch out for errors and install other missing packages)&lt;br /&gt;
:{{cmduser|sudo dpkg -i ../xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2_i386.deb}} (installs the rebuilt built package)&lt;br /&gt;
:{{cmduser|sudo aptitude remove xserver-xorg-dev}} (removes the packages needed to rebuild the package)&lt;br /&gt;
&lt;br /&gt;
Hope it works for you, it did work for me!&lt;br /&gt;
CrypTom&lt;br /&gt;
&lt;br /&gt;
===== Older versions of X.org =====&lt;br /&gt;
&lt;br /&gt;
For older versions of Xorg or for Xfree86 ({{path|/etc/X11/XF86Config}}) try this:&lt;br /&gt;
&lt;br /&gt;
       Option          &amp;quot;Emulate3Buttons&amp;quot;       &amp;quot;true&amp;quot;&lt;br /&gt;
       Option          &amp;quot;EmulateWheel&amp;quot;          &amp;quot;true&amp;quot;&lt;br /&gt;
       Option          &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now restart X and hold down button two and move the mouse for scrolling. To get a middle click, press buttons 1 and 3 simultaneously.&lt;br /&gt;
&lt;br /&gt;
==Soft Transparent Mode==&lt;br /&gt;
If you wish to connect a special device to the external PS/2 port, you should consider using &amp;quot;Soft Transparent Mode&amp;quot; so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
Disabling soft transparent mode is similar:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio0/serio2/transparent}}&lt;br /&gt;
&lt;br /&gt;
==Modify trackpoint parameter permanently in trackpoint.h==&lt;br /&gt;
If you do not want to run a script to reconfigure the trackpoint&lt;br /&gt;
you can change the default settings in the trackpoint header file that is located in&lt;br /&gt;
 /usr/src/&amp;lt;KERNEL_VERSION&amp;gt;/drivers/input/mouse/trackpoint.h.&lt;br /&gt;
&lt;br /&gt;
First you must convert the values (decimal numbers) you normaly echo to /sys/[...] to hex:&lt;br /&gt;
&lt;br /&gt;
'''echo -e 'obase=16;&amp;lt;DECIMAL_NUMBER&amp;gt;' | bc'''&lt;br /&gt;
&lt;br /&gt;
Then simply replace the default hex values in trackpoint.h, run 'make &amp;amp;&amp;amp; make modules_install' to recompile and install psmouse.ko (should be compiled as module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example patch (speed=100, sensitivity=190, press_to_select=1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 --- trackpoint.h.orig   2006-01-17 16:18:30.000000000 +0100&lt;br /&gt;
+++ trackpoint.h        2006-01-17 16:25:47.000000000 +0100&lt;br /&gt;
@@ -108,9 +108,9 @@&lt;br /&gt;
 /*&lt;br /&gt;
  * Default power on values&lt;br /&gt;
  */&lt;br /&gt;
-#define TP_DEF_SENS            0x80&lt;br /&gt;
+#define TP_DEF_SENS            0xBE&lt;br /&gt;
 #define TP_DEF_INERTIA         0x06&lt;br /&gt;
-#define TP_DEF_SPEED           0x61&lt;br /&gt;
+#define TP_DEF_SPEED           0x64&lt;br /&gt;
 #define TP_DEF_REACH           0x0A&lt;br /&gt;
&lt;br /&gt;
 #define TP_DEF_DRAGHYS         0xFF&lt;br /&gt;
@@ -123,7 +123,7 @@&lt;br /&gt;
&lt;br /&gt;
 /* Toggles */&lt;br /&gt;
 #define TP_DEF_MB              0x00&lt;br /&gt;
-#define TP_DEF_PTSON           0x00&lt;br /&gt;
+#define TP_DEF_PTSON           0x01&lt;br /&gt;
 #define TP_DEF_SKIPBACK                0x00&lt;br /&gt;
 #define TP_DEF_EXT_DEV         0x01&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configure firefox for using trackpoint horizontal scrolling==&lt;br /&gt;
Vertical Scrolling seems to work out of the box in firefox if you followed the steps above.&lt;br /&gt;
Anyway, there is a problem when you don't scroll exactly vertical, because horizontal scrolling turns into&lt;br /&gt;
browser BACK/FORWARD commands. &lt;br /&gt;
You can avoid this by typing about:config + ENTER in the address bar of firefox.&lt;br /&gt;
You have to adjust the following options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.action = 3;&lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.numlines = 1; &lt;br /&gt;
mousewheel.horizscroll.withcontrolkey.sysnumlines = true;&lt;br /&gt;
&lt;br /&gt;
mousewheel.horizscroll.withnokey.action = 0;&lt;br /&gt;
mousewheel.horizscroll.withnokey.numlines = 1;&lt;br /&gt;
mousewheel.horizscroll.withnokey.sysnumlines = true;&lt;br /&gt;
&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.action = 1;&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.numlines = 1;&lt;br /&gt;
mousewheel.horizscroll.withshiftkey.sysnumlines = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FWIW, you can change only the following value to remove the browser BACK/FORWARD commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mousewheel.horizscroll.withnokey.action = 0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With that, you can still go BACK/FORWARD by pressing together the shift or the alt key, while with the control key you increase or decrease the font size.&lt;br /&gt;
&lt;br /&gt;
==Configure Opera for using trackpoint horizontal scrolling==&lt;br /&gt;
You'll experience the same annoying problem with the popular browser Opera. To fix this you need to edit the configfile &amp;lt;tt&amp;gt;standard_mouse.ini&amp;lt;/tt&amp;gt; in e.g. /usr/share/opera/ini/ (Debian) or /opt/opera/share/opera/ini/ (Gentoo) and comment out the following lines&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Button6                                                        = Back&lt;br /&gt;
Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
so they look like that&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Button6                                                        = Back&lt;br /&gt;
;Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remember, Button6 and Button7 do not so coincidental correspond with our X configuration we know from above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this change you will be able to scroll vertically and horizontally with your middle button.&lt;br /&gt;
&lt;br /&gt;
==Fixing trackpoint under Ubuntu 7.10 Gutsy Gibbon==&lt;br /&gt;
===Using trackpoint deamon===&lt;br /&gt;
My default Ubuntu Gutsy (running on an X61s) would give the following error messages when running the trackpoint daemon. Running&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     /etc/init.d/trackpoint restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
caused a bunch of error messages, as the wrong device was in&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        /etc/trackpoint/trackpoint.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I fixed this by changing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        echo -n  &amp;gt; /sys/devices/platform/i8042/serio0/serio2/sensitivity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        echo -n  &amp;gt; /sys/devices/platform/i8042/serio1/sensitivity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
in /etc/trackpoint/trackpoint.conf.&lt;br /&gt;
&lt;br /&gt;
In addition, Ubuntu ran the appropriate /etc/init.d/trackpoint script on booting, but would give a bunch of errors (which, oddly, I could never find in any of the log files).&lt;br /&gt;
&lt;br /&gt;
It seems that it was running the scripts too early in the boot sequence. The Gutsy package provided&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /etc/rc2.d/S20trackpoint&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so I renamed this to S99trackpoint (and in all the other rc.? directories) and it now works on boot.&lt;br /&gt;
&lt;br /&gt;
===Editing the kernel config files===&lt;br /&gt;
Another way of configuring the trackpoint without using the trackpoint daemon is to edit the values of the trackpoint files which, BTW, are located in&lt;br /&gt;
 /sys/devices/platform/i8042/serio1/serio2.&lt;br /&gt;
&lt;br /&gt;
The script should be executed during boot. This can be done in an init script (e.g. /etc/bootmisc.sh in some distros)&lt;br /&gt;
&lt;br /&gt;
Script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# configuration du trackpoint&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# vitesse&lt;br /&gt;
echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/speed&lt;br /&gt;
&lt;br /&gt;
# sensibilité&lt;br /&gt;
echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/sensitivity &lt;br /&gt;
&lt;br /&gt;
# press to select&lt;br /&gt;
echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===An Ubuntu/Fedora example===&lt;br /&gt;
Another script that I've created seems to work with all versions of Ubuntu/Fedora that I've been able to try (comment out and uncomment the appropriate lines for fedora/ubuntu as necessary)&lt;br /&gt;
Place in /etc/rc.local or equivalent for your distro:&lt;br /&gt;
&lt;br /&gt;
Script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#*************************&lt;br /&gt;
## START TRACKPOINT CONFIG&lt;br /&gt;
#*************************&lt;br /&gt;
&lt;br /&gt;
# For fedora (the slash after &amp;quot;speed&amp;quot; is returned)&lt;br /&gt;
# TRACKPATH=$(find /sys -print0 | grep -FzZ &amp;quot;/serio2/speed&amp;quot; | sed s^speed/^^)&lt;br /&gt;
&lt;br /&gt;
# For ubuntu (the slash after &amp;quot;speed&amp;quot; is not returned)&lt;br /&gt;
TRACKPATH=$(find /sys -print0 | grep -FzZ &amp;quot;/serio2/speed&amp;quot; | sed s/speed//)&lt;br /&gt;
&lt;br /&gt;
## Select &amp;quot;press_to_select&amp;quot; on the trackpoint input device&lt;br /&gt;
## We need to specify the TRACKPATH above because the device under &amp;quot;serio#&amp;quot;&lt;br /&gt;
## changes between system boots. (We first test to see if the file we want&lt;br /&gt;
## to modify exists, if it does, we make the change&lt;br /&gt;
#[ -f $TRACKPATH/press_to_select ] &amp;amp;&amp;amp; echo -n 1 &amp;gt; $TRACKPATH/press_to_select&lt;br /&gt;
&lt;br /&gt;
## Adjust the speed setting of the trackpoint input device&lt;br /&gt;
[ -f $TRACKPATH/speed ] &amp;amp;&amp;amp; echo -n 120 &amp;gt; $TRACKPATH/speed &lt;br /&gt;
## Adjust the sensitivity setting of the trackpoint input device&lt;br /&gt;
[ -f $TRACKPATH/sensitivity ] &amp;amp;&amp;amp; echo -n 200 &amp;gt; $TRACKPATH/sensitivity&lt;br /&gt;
&lt;br /&gt;
#***********************&lt;br /&gt;
## END TRACKPOINT CONFIG&lt;br /&gt;
#***********************&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_hard_drive_clicking&amp;diff=38863</id>
		<title>Problem with hard drive clicking</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_hard_drive_clicking&amp;diff=38863"/>
		<updated>2008-09-20T12:55:57Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many users have reported a '''problem with hard drive clicking''', sometimes described as a repeating '''tick tick tick''' type of ticking sound.&lt;br /&gt;
The [[Hitachi Travelstar 5K80]] series which shipped with many T series Thinkpads in particular is reported to suffer from this problem. The clicks occur rapidly, and are quiet but noticeable. While in use in a quiet environment the clicks can be relatively loud and very irritating to some users. The clicks seem to happen when the drive is idle and the power has been on for a significant period of time. The clicking is also reported on other vendor's laptop hard drives too and is therefore almost certainly a hard drive related rather than a laptop chassis related.&lt;br /&gt;
&lt;br /&gt;
The clicking sound appears to only occur when the drive is idle. Forcing the drive to be busy silences the ticking while the drive is busy. Launching programs that access the hard drive such as searching or defragmenting the drive helps for a time.  Cycling the power on the hard drive such as through a full power off reboot of the system stops the ticking for the moment and has been used as a temporary solution.  Also see use of hdparm for another way to reset the drive without a power off reboot.&lt;br /&gt;
&lt;br /&gt;
Others recommend using Hitachi's drive feature tool to increase the acoustic management level, and/or set power management settings.&lt;br /&gt;
&lt;br /&gt;
===Possible Cause and Speculation===&lt;br /&gt;
&lt;br /&gt;
Laptop drives (especially Hitachi [[Hitachi Travelstar 5K80]], [[Hitachi Travelstar 5K100]] and SAMSUNG MP0804H) can unload heads very often, and they can produce a noticeable click when doing that.  Some ThinkPad BIOSes can be very eager to program the HD Advanced Power Management feature (hdparm -B) even when told to always keep the HD in &amp;quot;Maximum Performance mode&amp;quot; and will do so every time AC state changes, and when coming out of suspend (be it S3 or S4).  Unless you reset the HD's APM mode, it will unload its heads eventually thus producing the clicks.&lt;br /&gt;
&lt;br /&gt;
Another proposed possible cause is the drive firmware running a low level surface media check periodically during drive idle time.&lt;br /&gt;
&lt;br /&gt;
It is not known whether the problem is a sign of impending drive failure. The root cause of the problem is not yet known.  It is quite likely to be a normal mode of drive operation. The problem is very prevalent.&lt;br /&gt;
&lt;br /&gt;
Do not confuse this with regular activity. Many daemons poll (config) files every few seconds. Despite files being cached, POSIX-compliant filesystems like ext2 or ext3 must update (=write) the last access time. More details and workaround in [[How to reduce power consumption#Hard_Drives]].&lt;br /&gt;
&lt;br /&gt;
===Tracking down the cause of the clicks===&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot;'''smartctl -A'''&amp;quot;, it is possible to check if any of the drive's attributes related to platter spin-up/down or head unload are increasing when a click is heard.&lt;br /&gt;
That can help pinpointing the cause of the clicks.&lt;br /&gt;
&lt;br /&gt;
A shell script like this may help:&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/bash&lt;br /&gt;
lastval=0&lt;br /&gt;
while :&lt;br /&gt;
do&lt;br /&gt;
        newval=`smartctl -A /dev/sda | awk '$2==&amp;quot;Load_Cycle_Count&amp;quot; {print $10}'`&lt;br /&gt;
        if [[ $newval != $lastval ]]    # i.e. anything has changed (here: load cycle count only)&lt;br /&gt;
        then&lt;br /&gt;
                date&lt;br /&gt;
                echo $newval&lt;br /&gt;
        fi&lt;br /&gt;
        lastval=$newval&lt;br /&gt;
        sleep 30    # or some other interval&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Possible Solution (Windows)===&lt;br /&gt;
&lt;br /&gt;
On X41T, do bios, firmware and IBM updates.&lt;br /&gt;
Then simply disable the ShockProtection of the HardDrive.&lt;br /&gt;
On a native X41T windows installation it solved the problems, you will hear a click every hour.&lt;br /&gt;
Seems that the problem is related to an aggressive setting that will try to park the head often to protect the drive, so the problem is not related with power management settings, perhaps a similar approach works also under linux.&lt;br /&gt;
WBonX (Hitachi drive)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Possible solution (Linux)===&lt;br /&gt;
&lt;br /&gt;
Temporary relief has been seen by using '''hdparm''' to reset the drive.  But note the warning in the hdparm man page indicating that it is a dangerous operation. This is very likely due to the possibility of losing data in the write cache not yet stored to the hard drive.  This would be dependent upon the particular hard drive.  When used in the following to stop the clicking I have not seen any data loss.  YMMV.&lt;br /&gt;
&lt;br /&gt;
 # hdparm /dev/hda&lt;br /&gt;
 # sync&lt;br /&gt;
 # sleep 5&lt;br /&gt;
 # sync&lt;br /&gt;
 # hdparm -w /dev/hda&lt;br /&gt;
&lt;br /&gt;
The clicking noise apparently occurs when the drive is parking its heads (and ramping them off the drive surface in the process) after a timeout after the last disk access. Try turning off power management for the drive; that should stop the drive from parking the heads except when turning off:&lt;br /&gt;
&lt;br /&gt;
 # hdparm -B 255 /dev/hda&lt;br /&gt;
&lt;br /&gt;
You can also try&lt;br /&gt;
&lt;br /&gt;
 # hdparm -B 254 /dev/hda&lt;br /&gt;
&lt;br /&gt;
which doesn't turn power management off, but is the least agressive setting: it will still unload heads, but far less often.  The drives '''are''' prepared to withstand a great number of head unloads (200k unloads are typical, Hitachi drives tolerate about 600k unloads).&lt;br /&gt;
&lt;br /&gt;
These commands have immediate effect, and need to be re-issued at every boot, after resuming from disk or RAM, and after hotswapping.  '''You have to reissue the -B commands every time the ThinkPad BIOS might have tried to override them'''.&lt;br /&gt;
&lt;br /&gt;
===Specific models===&lt;br /&gt;
&lt;br /&gt;
====Hitachi C4K60 (HTC426060G9AT00)====&lt;br /&gt;
&lt;br /&gt;
On a Thinkpad X41 with a has a 60GB Hitachi C4K60 (HTC426060G9AT00) hard-disk that had the clicking problem (even in Windows), the hdparm  solution above did not work.  The problem was indeed caused by the hard-disk unloading the heads when idle, and the Load_Cycle_Count SMART statistic could be seen increasing when the clicks occurred.&lt;br /&gt;
&lt;br /&gt;
hdparm -B settings did not seem to help, and a check of the harddrives specs (available in [http://www.hitachigst.com/tech/techlib.nsf/products/Travelstar_C4K60   hitachigst.com]) verified that setting the APM mode off (hdparm -B 255) would set it actually to the lowest APM mode (the same as hdparm -B 254).  In this drive, even the lowest APM mode unloads the heads very aggressively causing the clicking sounds. Another problem is that the drive is rated only for 600000 unload/load cycles, which means that the drive will break in at most a couple of years. &lt;br /&gt;
&lt;br /&gt;
{{NOTE|This observation is only about the specific model (Hitachi C4K60), and is not true for more recent Hitachi drives, which do disable APM with -B 255.}}&lt;br /&gt;
&lt;br /&gt;
====Samsung MP0804H 80GB====&lt;br /&gt;
&lt;br /&gt;
On this drive, the ''clicking noise'' can be immediately stopped just by enabling ''automatic offline tests'' using&lt;br /&gt;
 # smartctl -o on /dev/hda  &lt;br /&gt;
Even more strange is that SMART wasn't enabled by default, although the drive supports it.&lt;br /&gt;
&lt;br /&gt;
The drive had already performed 15.539 load cycles (out of 600.000) within only one week.&lt;br /&gt;
&lt;br /&gt;
Note that enabling SMART (-s on) without enabling ''offline tests'' -- which is what I did immediately after observing the ''clicks'' -- did not solve the problem, but made it quite clear that the drive was ''badly in need of some care''.&lt;br /&gt;
&lt;br /&gt;
==== Seagate Momentus 7200.1 and 7200.3====&lt;br /&gt;
Reportet in X61t and X61 (I have a ST9320421AS)&lt;br /&gt;
&lt;br /&gt;
On these drives, each click does indeed correspond to an increase in SMART attribute 193, &amp;quot;193 Load_Cycle_Count&amp;quot;, as you can see by doing a &lt;br /&gt;
 # smartctl -A /dev/sda&lt;br /&gt;
&lt;br /&gt;
before and after a click.&lt;br /&gt;
&lt;br /&gt;
It seems like the problem is that the default powersaving mode for the drive is one which causes clicking. In fact, executing &lt;br /&gt;
 # hdparm -B 255 /dev/sda&lt;br /&gt;
(which is supposed to turn off power management) actually leaves power management on, and is equivalent to &lt;br /&gt;
 # hdparm -B 128 /dev/sda&lt;br /&gt;
&lt;br /&gt;
as you can see by comparing the results of&lt;br /&gt;
 # hdparm -B 1 /dev/sda; hdparm -I /dev/sda | grep Advanced&lt;br /&gt;
 # hdparm -B 128 /dev/sda; hdparm -I /dev/sda | grep Advanced&lt;br /&gt;
 # hdparm -B 254 /dev/sda; hdparm -I /dev/sda | grep Advanced&lt;br /&gt;
 # hdparm -B 255 /dev/sda; hdparm -I /dev/sda | grep Advanced&lt;br /&gt;
&lt;br /&gt;
This may or may not be related to something else strange; the drive reports that the Advanced power management level is 0x8000 more than what you set it to, presumably leading hdparm to report that it is always set to &amp;quot;unknown setting&amp;quot; (since the number should be between 1 and 255). FYI the results of the above sequence of commands is:&lt;br /&gt;
&lt;br /&gt;
 # hdparm -B 1 /dev/sda; hdparm -I /dev/sda | grep Advanced&lt;br /&gt;
&lt;br /&gt;
 /dev/sda:&lt;br /&gt;
 setting Advanced Power Management level to 0x01 (1)&lt;br /&gt;
        Advanced power management level: unknown setting (0x8001)&lt;br /&gt;
           *    Advanced Power Management feature set&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # hdparm -B 128 /dev/sda; hdparm -I /dev/sda | grep Advanced&lt;br /&gt;
&lt;br /&gt;
 /dev/sda:&lt;br /&gt;
 setting Advanced Power Management level to 0x80 (128)&lt;br /&gt;
        Advanced power management level: unknown setting (0x8080)&lt;br /&gt;
           *    Advanced Power Management feature set&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # hdparm -B 254 /dev/sda; hdparm -I /dev/sda | grep Advanced&lt;br /&gt;
&lt;br /&gt;
 /dev/sda:&lt;br /&gt;
 setting Advanced Power Management level to 0xfe (254)&lt;br /&gt;
        Advanced power management level: unknown setting (0x80fe)&lt;br /&gt;
           *    Advanced Power Management feature set&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # hdparm -B 255 /dev/sda; hdparm -I /dev/sda | grep Advanced&lt;br /&gt;
&lt;br /&gt;
 /dev/sda:&lt;br /&gt;
 setting Advanced Power Management level to disabled&lt;br /&gt;
        Advanced power management level: unknown setting (0x8080)&lt;br /&gt;
                Advanced Power Management feature set&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The workaround seems to be to execute &lt;br /&gt;
 # hdparm -B 254 /dev/sda&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So it seems like the drive is interpreting &amp;quot;hdparm -B 255 /dev/sda&amp;quot;, which I'm guessing is the default (and which is supposed to be NOT powersaving mode) as a request to go into powersaving mode, which causes it to spin down alot and to and click. And I'm guessing that &amp;quot;hdparm -B 254 /dev/sda&amp;quot; actually takes it out of powersaving mode.&lt;br /&gt;
&lt;br /&gt;
Somewhat annoying because &lt;br /&gt;
 # smartctl -A /dev/sda&lt;br /&gt;
shows that I have already accumulated a Load_Cycle_Count 106680 after owning the laptop for just a few weeks! I'm not sure that I understand this stuff, but if this corresponds to &amp;quot;Load/Unload Cycles&amp;quot; in http://www.seagate.com/docs/pdf/datasheet/disc/ds_momentus7200.pdf, then that's more than 1/6 of the drive's lifetime!&lt;br /&gt;
&lt;br /&gt;
I can confirm that after having my drive for about 5 days now, the 193 cycle count is already at 3000 and its steadily increasing. That is really annoying. Unfortunately changing the powersave mode on my drive (ST9320421AS) only brakes my hibernate capability (the laptop resumes immediately) but it wont stop the clicking, instead it will increase it.&lt;br /&gt;
&lt;br /&gt;
==== [http://sdd.toshiba.com/main.aspx?Path=HardDrivesOpticalDrives/2.5-inchHardDiskDrives/MK2035GSS/MK2035GSSSpecifications Toshiba MK2035GSS] ====&lt;br /&gt;
&lt;br /&gt;
Issue happens with &amp;quot;laptop mode&amp;quot; disabled. BIOS is an &amp;quot;AMIBIOS 8.00.14&amp;quot;, and the chipset is &amp;quot;Mobile Intel GM965 Express&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
I can solve the problem with the hdparm workaround, the lowest value that makes the trick for me is:&lt;br /&gt;
 # sudo hdparm -B 192 /dev/sda&lt;br /&gt;
&lt;br /&gt;
===Firmware upgrades===&lt;br /&gt;
&lt;br /&gt;
There are two HD firmware upgrades on Lenovo's support website. One is specific to X41's, and will upgrade Hitachi's to Release A0L0  (document [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-67238 MIGR-67238], 2007/01/24). The upgrade comes in three forms: diskette, windows executable or ISO CD-ROM image.&lt;br /&gt;
IBM's latest posted firmware, A5DA, does not appear to solve the problem. &lt;br /&gt;
&lt;br /&gt;
A newer upgrade set ([http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-62282 MIGR-62282], 2007/05/02) updates  HD firmwares of several brands, including Hitachi. The patch upgrades firmware for HTC4260xxG9AT00 to  A0L2 (according to program output, from 00P3A0B5 to 00P3A0L2). The upgrade comes in a large  (20 MB) ISO format, or as several diskettes. There is seemingly no windows executable; therefore upgrading a diskless machine can be problematic (it involves making a DOS-based USB bootable drive).&lt;br /&gt;
&lt;br /&gt;
The upgrade caused one X41 Tablet HTC426060G9AT00 drive to stop clicking.&lt;br /&gt;
&lt;br /&gt;
===Another Possible Solution===&lt;br /&gt;
&lt;br /&gt;
IBM, when notified about this occurance, may replace the drive with a Fujitsu 5k 80GB hard drive, as to them the sound is indicative of a potential hard drive failure.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*Ubuntu reported bugs: [https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695 59695] [https://bugs.launchpad.net/ubuntu/+bug/104535 104535]&lt;br /&gt;
*[http://www.hitachigst.com/hdd/support/download.htm Hitachi Global Storage Technologies Downloads] - The drive feature tool may help with this problem.&lt;br /&gt;
*[http://forum.thinkpads.com/viewtopic.php?t=7462 Thread on thinkpads.com]&lt;br /&gt;
*[http://notebookforums.com/showthread.php?t=46058 Thread on notebookforums.com]&lt;br /&gt;
*[http://forums.silentpcreview.com/viewtopic.php?p=143203 Thread on silentpcreview.com]&lt;br /&gt;
*[http://forum.thinkpads.com/viewtopic.php?t=15769 Another Thread on thinkpads.com]&lt;br /&gt;
*[http://www.tabletpcbuzz.com/forum/topic.asp?TOPIC_ID=28538&amp;amp;whichpage=1 Thread on tabletpcbuzz.com]&lt;br /&gt;
*[http://thinkpad-forum.de/forum/viewtopic.php?t=2255 German Thread on thinkpad-forum.de (Containing an interesting remark about a possible problem with the Cache)]&lt;br /&gt;
&lt;br /&gt;
[[Category:T40]] [[Category:T41]] [[Category:T42]] [[Category:T43]] [[Category:X41]] [[Category:G41]]&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ibm-acpi&amp;diff=36815</id>
		<title>Ibm-acpi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ibm-acpi&amp;diff=36815"/>
		<updated>2008-03-04T00:52:41Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: added X61&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;
=== ibm-acpi - IBM ThinkPad ACPI Extras Driver ===&lt;br /&gt;
This is a Linux ACPI driver for the IBM ThinkPad laptops written by Borislav Deianov, and currently maintained by [[User:hmh|Henrique de Moraes Holschuh]].  It aims to support various features of these laptops which are accessible through the ACPI framework but not otherwise supported by the generic Linux ACPI drivers. As a kernel module, ibm-acpi works as a bridge to deliver information about certain hardware events like key presses or control the state of certain hardware features by software.&lt;br /&gt;
{{NOTE|The ibm-acpi driver was renamed to [[thinkpad-acpi]] on Linux kernel 2.6.22}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*triggers ACPI Events for&lt;br /&gt;
** [[How_to_get_special_keys_to_work | Fn key combinations]] ({{key|Fn}}{{key|F1}}, {{key|Fn}}{{key|F2}}, {{key|Fn}}{{key|F3}}, {{key|Fn}}{{key|F4}}, {{key|Fn}}{{key|F5}}, {{key|Fn}}{{key|F6}}, {{key|Fn}}{{key|F7}}, {{key|Fn}}{{key|F8}}, {{key|Fn}}{{key|F9}}, {{key|Fn}}{{key|F10}}, {{key|Fn}}{{key|F11}}, {{key|Fn}}{{key|F12}})&lt;br /&gt;
** [[UltraBay]] device eject (see also [[How to hotswap UltraBay devices]])&lt;br /&gt;
** Display lid, Power button, Undock button&lt;br /&gt;
*enables control via /proc files of&lt;br /&gt;
** Bluetooth&lt;br /&gt;
** Video output switching, video expansion control&lt;br /&gt;
** Docking and undocking (limited)&lt;br /&gt;
** Fan (on most models, only enable/disable; speed control is added by a further [[Patch for controlling fan speed|patch]])&lt;br /&gt;
** Volume&lt;br /&gt;
** [[LCD Brightness]]&lt;br /&gt;
** [[ThinkLight]]&lt;br /&gt;
** [[Table_of_ibm-acpi_LEDs| LEDs]]&lt;br /&gt;
** [[Error Codes and Beep Codes|Beep]] codes&lt;br /&gt;
** Several CMOS states&lt;br /&gt;
* can show values of&lt;br /&gt;
** [[Thermal Sensors|Sixteen temperature sensors]]&lt;br /&gt;
** Embedded Controler registers&lt;br /&gt;
** Fan status and speed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some of these features are available only when the module is loaded with the &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt; option. To enable it, add the following to {{path|/etc/modprobe.conf}} (or your distribution's equivalent):&lt;br /&gt;
 options ibm_acpi experimental=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for kernels 2.6.22 and above fan control is enabled with the following in /etc/modprobe.conf:&lt;br /&gt;
 options thinkpad_acpi fan_control=1&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
* Homepage: http://ibm-acpi.sourceforge.net/&lt;br /&gt;
* Public releases: http://sourceforge.net/project/showfiles.php?group_id=117042&lt;br /&gt;
* ibm-acpi is included with the Linux kernel since 2.6.10.&lt;br /&gt;
* Mailing list: [[Mailinglists#ibm-acpi_Developers_Mailinglist|ibm-acpi-devel]]&lt;br /&gt;
* [[Git]] repository: git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git ([http://repo.or.cz/w/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git browse])&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
In development, usable, actively maintained.  Patches should go to the ibm-acpi-devel [[mailinglists|mailing list]].&lt;br /&gt;
&lt;br /&gt;
Even if you have disabled the BIOS setting for automatically dimming at battery power, after using the brightness switch of ibm-acpi, the auto-dimming behavior is enabled. So, if you need a bright display even on battery power, you should not set any brightness via /proc/acpi/ibm/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Application support===&lt;br /&gt;
* [http://www.gkrellm.net GKrellM] supports fan and thermal information&lt;br /&gt;
* [http://www.joachim-breitner.de/blog/archives/38-Created-gaim-thinklight.html gaim-thinklight] is a gaim plugin which makes the [[ThinkLight]] blink when a message arrives.&lt;br /&gt;
* [http://www.chris-lamb.co.uk/code/gaim-lightthink/ gaim-lightthink] is an alternative to gaim-thinklight.&lt;br /&gt;
* [http://hunz.org/ rocklight] is a xmms visualization plugin that makes the ThinkLight flash to the beat of your music. The package also includes a standalone stroboscope mode program.&lt;br /&gt;
* [http://www.zolnott.de/software/applications/ibm-acpi-applet-for-gnome-210-and-higher.html IBM ACPI applet] is a small gnome panel applet which shows the fan speed and thermal informations&lt;br /&gt;
* [[ACPI fan control script|ACPI fan control scripts]] can be used to control the system fan according to system temperatures (overriding the firmware)&lt;br /&gt;
&lt;br /&gt;
=== Interesting links related to this project ===&lt;br /&gt;
* [http://ibm-acpi.sf.net ibm-acpi Sourceforge project summary]&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel ibm-acpi-devel Mailinglist] [http://gmane.org/info.php?group=gmane.linux.acpi.ibm-acpi.devel (List archive on gmane.org)]&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad Linux-Thinkpad Mailinglist]&lt;br /&gt;
* [http://acpi.sourceforge.net acpi.sourceforge.net]&lt;br /&gt;
* [http://www.kernel.org www.kernel.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;br /&gt;
[[Category:770X]] [[Category:770Z]] [[Category:A20m]] [[Category:A20p]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:TransNote]] &lt;br /&gt;
[[Category:x60s]] [[Category:X61]]&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X61&amp;diff=36814</id>
		<title>Category:X61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X61&amp;diff=36814"/>
		<updated>2008-03-04T00:42:56Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: added brightness info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X61 ===&lt;br /&gt;
This pages gives an overview of all ThinkPad X61 related topics.&lt;br /&gt;
&lt;br /&gt;
==== Standard Features ====&lt;br /&gt;
* One of the following standard voltage processors:&lt;br /&gt;
** [[Intel Core 2 Duo]] CPU T7100 (1.80 GHz)&lt;br /&gt;
** [[Intel Core 2 Duo]] CPU T7300 (2.00 GHz)&lt;br /&gt;
** [[Intel Core 2 Duo]] CPU T7500 (2.20 GHz)&lt;br /&gt;
* [[Intel Graphics Media Accelerator X3100]]&lt;br /&gt;
** 12.1&amp;quot; TFT display with 1024x768 resolution&lt;br /&gt;
* 512MB, 1GB or 2GB memory [[PC2-5300]] memory standard, max 4GB&lt;br /&gt;
* 80GB (5400 RPM), 100GB (7200 RPM), 120GB (5400 RPM) or 160GB (5400 RPM)HDD &lt;br /&gt;
* [[Active Protection System|IBM Active Protection System]]&lt;br /&gt;
* [[AD1984]] HD Audio 1.0 controller&lt;br /&gt;
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]&lt;br /&gt;
* [[MiniPCI Express slot]] 1 with one of the following:&lt;br /&gt;
** None (empty)&lt;br /&gt;
** [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]]&lt;br /&gt;
** [[Intel PRO/Wireless 4965AGN Mini-PCI Express Adapter]]&lt;br /&gt;
** Thinkpad 11a/b/g Mini-PCI Express Adapter&lt;br /&gt;
** Thinkpad 11/a/b/g/n Mini-PCI Express Adapter&lt;br /&gt;
* [[MiniPCI Express slot]] 2 with one of the following:&lt;br /&gt;
** None (empty)&lt;br /&gt;
** [[Verizon 1xEV-DO WWAN]] (It seems to be a Sierra Wireless MC5720 Modem)&lt;br /&gt;
** [[Cingular HSDPA WWAN]] (Sierra Wireless MC8775)&lt;br /&gt;
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth 2.0 EDR]]&lt;br /&gt;
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]&lt;br /&gt;
* [[Integrated Fingerprint Reader]] in some models&lt;br /&gt;
* [[SD Card slot]] with IO support&lt;br /&gt;
* [[CardBus slot]] (Type 2)&lt;br /&gt;
* Firewire (IEEE1394)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Availiablity in Europe ===&lt;br /&gt;
The X61 with normal voltage CPUs are a bit hard to get in central and eastern Europe, most retailers only sell the [[:Category:X61s|X61s]] with low voltage processors. An Lenovo Czech Republic representative, questioned about the X61availiability, replied (translated from czech):&lt;br /&gt;
&lt;br /&gt;
''The X61 models with standard CPUs are also sold in Czechia but you need to face the price will be significatly higher (30% or more) because the specific article has to be imported just for you. The delivery can take up to 7 weeks.''&lt;br /&gt;
&lt;br /&gt;
In Poland there is harder to get X61s (Low Voltage) than regular X61 version. Some retailers also offer this notebook with upgraded memory to 4GB. The system is shipped only with 32-bit vesion of MS Windows Vista Bussiness so it see only 3GB of the memory. But every kernel with 64GB memory option compiled in sees all 4GB with no problem&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-67777 Product overview]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-62866 Hardware maintenance manual]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-67774 Setup guide]&lt;br /&gt;
&lt;br /&gt;
=== Reviews ===&lt;br /&gt;
* [http://www.notebookreview.com/default.asp?newsID=3765 NotebookReview.com], 2007-06-20&lt;br /&gt;
&lt;br /&gt;
=== Setting the brightness ===&lt;br /&gt;
See [[Thinkpad-acpi]] for adjusting the bitmask, after this you can probe the keys with&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|acpi_listen}}&lt;br /&gt;
&lt;br /&gt;
which should produce the following output:&lt;br /&gt;
&lt;br /&gt;
{{key|Fn}}{{key|Home}}        video LCD0 00000086 00000000&lt;br /&gt;
{{key|Fn}}{{key|End}}         video LCD0 00000087 00000000&lt;br /&gt;
&lt;br /&gt;
See [[LCD_Brightness]] for adjusting the brightness with thinkpad_acpi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[Image:ThinkPadX60.jpg|ThinkPad X61]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=LCD_Brightness&amp;diff=36813</id>
		<title>LCD Brightness</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=LCD_Brightness&amp;diff=36813"/>
		<updated>2008-03-04T00:32:57Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: X61 link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
== LCD Brightness ==&lt;br /&gt;
&lt;br /&gt;
This worked for my {{X61}}:&lt;br /&gt;
&lt;br /&gt;
Once your brightness keys work, you can set the brightness by writing to the procfs:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 100 &amp;gt; /proc/acpi/video/VID1/LCD0/brightness}}&lt;br /&gt;
&lt;br /&gt;
using a script and acpid events. However this may lead to a bug (screen flickers) described on the Debian mailing list [[http://www.mail-archive.com/debian-x@lists.debian.org/msg71942.html]]. This bug is related to the X server as it does not occur on the tty1. To fix it change your xrandr backlight control to native:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|$xrandr --output LVDS --set BACKLIGHT_CONTROL native}}&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=LCD_Brightness&amp;diff=36812</id>
		<title>LCD Brightness</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=LCD_Brightness&amp;diff=36812"/>
		<updated>2008-03-04T00:32:14Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: created the brightness page, described bug fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
== LCD Brightness ==&lt;br /&gt;
&lt;br /&gt;
This worked for my [[X61]]:&lt;br /&gt;
&lt;br /&gt;
Once your brightness keys work, you can set the brightness by writing to the procfs:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 100 &amp;gt; /proc/acpi/video/VID1/LCD0/brightness}}&lt;br /&gt;
&lt;br /&gt;
using a script and acpid events. However this may lead to a bug (screen flickers) described on the Debian mailing list [[http://www.mail-archive.com/debian-x@lists.debian.org/msg71942.html]]. This bug is related to the X server as it does not occur on the tty1. To fix it change your xrandr backlight control to native:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|$xrandr --output LVDS --set BACKLIGHT_CONTROL native}}&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ibm-acpi&amp;diff=36809</id>
		<title>Ibm-acpi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ibm-acpi&amp;diff=36809"/>
		<updated>2008-03-04T00:07:55Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: added lcd brightness link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
=== ibm-acpi - IBM ThinkPad ACPI Extras Driver ===&lt;br /&gt;
This is a Linux ACPI driver for the IBM ThinkPad laptops written by Borislav Deianov, and currently maintained by [[User:hmh|Henrique de Moraes Holschuh]].  It aims to support various features of these laptops which are accessible through the ACPI framework but not otherwise supported by the generic Linux ACPI drivers. As a kernel module, ibm-acpi works as a bridge to deliver information about certain hardware events like key presses or control the state of certain hardware features by software.&lt;br /&gt;
{{NOTE|The ibm-acpi driver was renamed to [[thinkpad-acpi]] on Linux kernel 2.6.22}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*triggers ACPI Events for&lt;br /&gt;
** [[How_to_get_special_keys_to_work | Fn key combinations]] ({{key|Fn}}{{key|F1}}, {{key|Fn}}{{key|F2}}, {{key|Fn}}{{key|F3}}, {{key|Fn}}{{key|F4}}, {{key|Fn}}{{key|F5}}, {{key|Fn}}{{key|F6}}, {{key|Fn}}{{key|F7}}, {{key|Fn}}{{key|F8}}, {{key|Fn}}{{key|F9}}, {{key|Fn}}{{key|F10}}, {{key|Fn}}{{key|F11}}, {{key|Fn}}{{key|F12}})&lt;br /&gt;
** [[UltraBay]] device eject (see also [[How to hotswap UltraBay devices]])&lt;br /&gt;
** Display lid, Power button, Undock button&lt;br /&gt;
*enables control via /proc files of&lt;br /&gt;
** Bluetooth&lt;br /&gt;
** Video output switching, video expansion control&lt;br /&gt;
** Docking and undocking (limited)&lt;br /&gt;
** Fan (on most models, only enable/disable; speed control is added by a further [[Patch for controlling fan speed|patch]])&lt;br /&gt;
** Volume&lt;br /&gt;
** [[LCD Brightness]]&lt;br /&gt;
** [[ThinkLight]]&lt;br /&gt;
** [[Table_of_ibm-acpi_LEDs| LEDs]]&lt;br /&gt;
** [[Error Codes and Beep Codes|Beep]] codes&lt;br /&gt;
** Several CMOS states&lt;br /&gt;
* can show values of&lt;br /&gt;
** [[Thermal Sensors|Sixteen temperature sensors]]&lt;br /&gt;
** Embedded Controler registers&lt;br /&gt;
** Fan status and speed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some of these features are available only when the module is loaded with the &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt; option. To enable it, add the following to {{path|/etc/modprobe.conf}} (or your distribution's equivalent):&lt;br /&gt;
 options ibm_acpi experimental=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for kernels 2.6.22 and above fan control is enabled with the following in /etc/modprobe.conf:&lt;br /&gt;
 options thinkpad_acpi fan_control=1&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
* Homepage: http://ibm-acpi.sourceforge.net/&lt;br /&gt;
* Public releases: http://sourceforge.net/project/showfiles.php?group_id=117042&lt;br /&gt;
* ibm-acpi is included with the Linux kernel since 2.6.10.&lt;br /&gt;
* Mailing list: [[Mailinglists#ibm-acpi_Developers_Mailinglist|ibm-acpi-devel]]&lt;br /&gt;
* [[Git]] repository: git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git ([http://repo.or.cz/w/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git browse])&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
In development, usable, actively maintained.  Patches should go to the ibm-acpi-devel [[mailinglists|mailing list]].&lt;br /&gt;
&lt;br /&gt;
Even if you have disabled the BIOS setting for automatically dimming at battery power, after using the brightness switch of ibm-acpi, the auto-dimming behavior is enabled. So, if you need a bright display even on battery power, you should not set any brightness via /proc/acpi/ibm/brightness.&lt;br /&gt;
&lt;br /&gt;
=== Application support===&lt;br /&gt;
* [http://www.gkrellm.net GKrellM] supports fan and thermal information&lt;br /&gt;
* [http://www.joachim-breitner.de/blog/archives/38-Created-gaim-thinklight.html gaim-thinklight] is a gaim plugin which makes the [[ThinkLight]] blink when a message arrives.&lt;br /&gt;
* [http://www.chris-lamb.co.uk/code/gaim-lightthink/ gaim-lightthink] is an alternative to gaim-thinklight.&lt;br /&gt;
* [http://hunz.org/ rocklight] is a xmms visualization plugin that makes the ThinkLight flash to the beat of your music. The package also includes a standalone stroboscope mode program.&lt;br /&gt;
* [http://www.zolnott.de/software/applications/ibm-acpi-applet-for-gnome-210-and-higher.html IBM ACPI applet] is a small gnome panel applet which shows the fan speed and thermal informations&lt;br /&gt;
* [[ACPI fan control script|ACPI fan control scripts]] can be used to control the system fan according to system temperatures (overriding the firmware)&lt;br /&gt;
&lt;br /&gt;
=== Interesting links related to this project ===&lt;br /&gt;
* [http://ibm-acpi.sf.net ibm-acpi Sourceforge project summary]&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel ibm-acpi-devel Mailinglist] [http://gmane.org/info.php?group=gmane.linux.acpi.ibm-acpi.devel (List archive on gmane.org)]&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad Linux-Thinkpad Mailinglist]&lt;br /&gt;
* [http://acpi.sourceforge.net acpi.sourceforge.net]&lt;br /&gt;
* [http://www.kernel.org www.kernel.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;br /&gt;
[[Category:770X]] [[Category:770Z]] [[Category:A20m]] [[Category:A20p]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:TransNote]] &lt;br /&gt;
[[Category:x60s]]&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Thinkpad-acpi&amp;diff=36808</id>
		<title>Thinkpad-acpi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Thinkpad-acpi&amp;diff=36808"/>
		<updated>2008-03-04T00:05:50Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: added X61 category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Thinkpad-specific ACPI driver=&lt;br /&gt;
This is a Linux ACPI driver for the IBM ThinkPad laptops written by Borislav Deianov and Henrique de Moraes Holschuh. The driver replaces [[ibm-acpi]] in Linux mainline as of 2.6.22 (March 2007). To confuse matters further, it appears that there was also an older (now abandoned) driver of the same name written by Erik Rigtorp which never made it into the mainline kernel. The current thinkpad-acpi contains essentially the same functionality as [[ibm-acpi]] with some added features. Among which are registering of acpi events to the &amp;quot;thinkvantage&amp;quot; and volume/mute buttons which could previously only be accessed through the use of the [[tpb]] utility.&lt;br /&gt;
&lt;br /&gt;
=Hotkeys=&lt;br /&gt;
To view which hotkeys are active you can use &amp;quot;acpi_listen&amp;quot;, but that is deprecated.  A better way is to use &amp;quot;lsinput&amp;quot; and &amp;quot;input-events&amp;quot; commands to look at the output of the thinkpad-acpi input device(s).&lt;br /&gt;
&lt;br /&gt;
One important difference from ibm-acpi for those who wish to enable all possible hot keys, is that thinkpad-acpi automatically enables them.  One should not need to do anything to get the best possible thinkpad-acpi configuration for his ThinkPad (as long as he is using the latest thinkpad-acpi).&lt;br /&gt;
&lt;br /&gt;
In particular, old documentation that tells you to &amp;quot;echo enable,0xffffffff &amp;gt;/proc/acpi/ibm/hotkey&amp;quot;, or to give thinkpad-acpi any hotkey= module parameters to enable hot keys by default, is likely incorrect.&lt;br /&gt;
&lt;br /&gt;
The thinkpad-acpi driver has detailed documentation, which is shipped inside the Linux kernel sources, as &amp;quot;Documentation/thinkpad-acpi.txt&amp;quot; or as &amp;quot;Documentation/laptops/thinkpad-acpi.txt&amp;quot;.  If you feel a need to change the hot key mask manually, it is probably best to look at that documentation first to understand the full side effects of any changes.&lt;br /&gt;
&lt;br /&gt;
=Further documentation=&lt;br /&gt;
More comprehensive documentation can be found in the kernel source tree under &amp;lt;tt&amp;gt;Documentation/thinkpad-acpi.txt&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Documentation/laptops/thinkpad-acpi.txt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For now, please refer to the [[ibm-acpi]] page, or ask on the linux-thinkpad mailinglist for any other information on the new thinkpad-acpi driver.&lt;br /&gt;
&lt;br /&gt;
=== External links related to thinkpad-acpi ===&lt;br /&gt;
* [http://ibm-acpi.sf.net ibm-acpi/thinkpad-acpi main page in Sourceforge]&lt;br /&gt;
* [http://acpi.sourceforge.net Linux ACPI main page in Sourceforge], includes DSDT repository&lt;br /&gt;
* [http://www.kernel.org kernel.org main archives]&lt;br /&gt;
* [http://repo.or.cz/w/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git thinkpad-acpi development git tree]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;br /&gt;
[[Category:X61]]&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Thinkpad-acpi&amp;diff=36598</id>
		<title>Thinkpad-acpi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Thinkpad-acpi&amp;diff=36598"/>
		<updated>2008-02-26T16:51:43Z</updated>

		<summary type="html">&lt;p&gt;Lanoxxthshaddow: added acpi_listen info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Thinkpad-specific ACPI driver=&lt;br /&gt;
This is a Linux ACPI driver for the IBM ThinkPad laptops written by Borislav Deianov and Henrique de Moraes Holschuh. The driver replaces [[ibm-acpi]] in Linux mainline as of 2.6.22 (March 2007). To confuse matters further, it appears that there was also an older (now abandoned) driver of the same name written by Erik Rigtorp which never made it into the mainline kernel. The current thinkpad-acpi contains essentially the same functionality as [[ibm-acpi]] with some added features. Among which are registering of acpi events to the &amp;quot;thinkvantage&amp;quot; and volume/mute buttons which could previously only be accessed through the use of the [[tpb]] utility.&lt;br /&gt;
&lt;br /&gt;
=Hotkeys=&lt;br /&gt;
To view which hotkeys are active you can use&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acpi_listen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
One important difference from ibm-acpi for those who wish to enable all possible hotkeys is that there are more possible bits to be set in the mask. Thus, to enable all possible hotkeys, do a &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo enable,0xffffffff &amp;gt;/proc/acpi/ibm/hotkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make this permanent, add the following line to &amp;lt;tt&amp;gt;/etc/modprobe.d/thinkpad_acpi&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options thinkpad_acpi hotkey=enable,0xffffffff experimental=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Further documentation=&lt;br /&gt;
More comprehensive documentation can be found in the kernel source tree (&amp;gt;=2.6.22) under &amp;lt;tt&amp;gt;Documentation/thinkpad_acpi.txt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For now, please refer to the [[ibm-acpi]] page for any other information on the new thinkpad-acpi driver.&lt;br /&gt;
&lt;br /&gt;
There have been no releases of the driver under the thinkpad-acpi name yet.  It is available with the new name in the acpi-test git tree, and ibm-acpi development git tree.&lt;br /&gt;
&lt;br /&gt;
=== External links related to thinkpad-acpi ===&lt;br /&gt;
* [http://ibm-acpi.sf.net ibm-acpi/thinkpad-acpi main page in Sourceforge]&lt;br /&gt;
* [http://acpi.sourceforge.net Linux ACPI main page in Sourceforge], includes DSDT repository&lt;br /&gt;
* [http://www.kernel.org kernel.org main archives]&lt;br /&gt;
* [http://repo.or.cz/w/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git thinkpad-acpi development git tree]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;/div&gt;</summary>
		<author><name>Lanoxxthshaddow</name></author>
		
	</entry>
</feed>