<?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=Mahto</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=Mahto"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Mahto"/>
	<updated>2026-05-01T05:42:04Z</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=54518</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=54518"/>
		<updated>2013-04-12T02:59:31Z</updated>

		<summary type="html">&lt;p&gt;Mahto: &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; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
On a '''Modern''' distribution (like Fedora, Ubuntu or OpenSUSE) you will want to use xinput or one of the graphical front ends. For distributions that are lagging a bit (e.g. Debian Lenny and PCLOS '09) you may still want to use the old xorg config method.&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted. However, you can add the lines e.g. in your  {{cmd|.xsessionrc|}} (depends on your distribution) so they are executed every time X starts.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 2&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 50&lt;br /&gt;
&lt;br /&gt;
== old method using xinput set-int-prop ==&lt;br /&gt;
&lt;br /&gt;
Note: xinput set-int-prop is deprecated according to the xinput manpage.&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 8 50&lt;br /&gt;
&lt;br /&gt;
==Example: openSUSE 11.2 and ThinkPad USB Keyboard with TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
 xinput list&lt;br /&gt;
will show two &amp;quot;Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint.&amp;quot; with two different ids. Use the id with Axis 0 and Axis 1 items.&lt;br /&gt;
&lt;br /&gt;
Suppose the id was 12. The following will enable the trackpoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
The following will enable the horizontal scrolling&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To disable middle button click paste functionality, remap the middle button to something else:&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To do these automatically without worrying about id number, generate a bash script file:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id&lt;br /&gt;
 do&lt;br /&gt;
         case `xinput list-props $id` in&lt;br /&gt;
         *&amp;quot;Middle Button Emulation&amp;quot;*)&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 0&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 # disable middle button&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and save it with any name such as trackPointScrolling.sh, and make it executable:&lt;br /&gt;
 chmod +x trackPointScrolling.sh&lt;br /&gt;
&lt;br /&gt;
Next time you run it with $ ./trackPointScrolling.sh, it will enable the trackpoint scrolling and disable middle button paste.&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Graphical Frontends =&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] or [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontends.&lt;br /&gt;
=== GPointing Device Settings ===&lt;br /&gt;
It is available for Fedora 12, Ubuntu 9.10 and Debian Squeeze in the standard package repositories&lt;br /&gt;
{{NOTE|Unfortunately it seems no longer maintained, and does not work properly with GNOME3 [[https://bugzilla.redhat.com/show_bug.cgi?id=710053 bug]]}}&lt;br /&gt;
&lt;br /&gt;
[[image:Screenshot-GPointing Device Settings-TrackPoint.png]]&lt;br /&gt;
&lt;br /&gt;
=== configure-trackpoint ===&lt;br /&gt;
To install it in Ubuntu run ...&lt;br /&gt;
 sudo apt-get install sysfsutils&lt;br /&gt;
...and then download and install the deb [http://sourceforge.net/projects/tpctl/ here]. Note that saved settings are not restored after reboot in Lucid Lynx. See methods below to make settings permanent.&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work.&lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
&lt;br /&gt;
By default the middle mouse button is just that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
You may configure it to act in the same way as in Windows, such that you can use it for vertical scrolling: keep the button pressed and move the TrackPoint up and down to scroll. (In GPointing Device Settings, this is known as &amp;quot;Use wheel emulation&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This setting is not compatible with using Alt + Middle Mouse Button to resize windows. If you want to resize windows with the trackpad, disable wheel emulation. On Ubuntu 11.10, this setting resides in &amp;lt;tt&amp;gt;/usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf&amp;lt;/tt&amp;gt; (see below), although some touchpads use &amp;lt;tt&amp;gt;/usr/share/X11/xorg.conf.d/50-synaptics.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== xorg.conf.d ====&lt;br /&gt;
&lt;br /&gt;
Some distributions now support the new Xorg hotplug configuration method via xorg.conf.d directories (in Ubuntu 10.04 Lucid Lynx) instead of hal. In contrast to the udev method below, it should be around for some time, so it might be the best way to “statically” configure scrolling.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/usr/lib/X11/xorg.conf.d/20-thinkpad.conf}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&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;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|For Ubuntu 10.10 Maverick Meerkat, the correct path is {{path|/usr/share/X11/xorg.conf.d}}}}&lt;br /&gt;
{{NOTE|For Arch Linux or Fedora or PCLinuxOS, the correct path is {{path|/etc/X11/xorg.conf.d}}}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above does not work for you, you may need to add a different MatchProduct string.  Use &amp;lt;pre&amp;gt;find /dev/input/event* -exec udevadm info --attribute-walk --name={} \; | grep -e product -e name | sort -u&amp;lt;/pre&amp;gt; to get a list of possibilities.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above directory doesn't exist by default in your distribution, it probably doesn't support this method. In this case, please refer to the udev or xinput method below.}}&lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/etc/hal/fdi/policy/mouse-wheel.fdi}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;match key=&amp;quot;info.product&amp;quot; string=&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelButton&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;2&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.YAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;4 5&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.Emulate3Buttons&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelTimeout&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;200&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.XAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;6 7&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Alternatively it is also possible to use the &amp;quot;old&amp;quot; Xorg configuration by adding the following lines to the {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
	Option 	&amp;quot;AutoAddDevices&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using this entry HAL will not be used for the input devices.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend.&lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTRS{press_to_select}=&amp;quot;1&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
The customized values should be loaded automatically when booting. However, due to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549379  kernel bug] (affecting Lucid Lynx), the attributes may not yet exist when the udev rule fires. As a work around, add a WAIT_FOR condition on the attribute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTRS{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On my system (Lucid Lynx), the above line did not work. I changed it to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;255&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and tested with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
To avoid the wait you can also listen for the Trackpoint input device to appear and then run a script to set the parameters&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;input&amp;quot;, ATTR{name}==&amp;quot;*TrackPoint*&amp;quot;, RUN+=&amp;quot;/etc/conf.d/trackpoint&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example {{path|/etc/conf.d/trackpoint}} would be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#! /bin/bash&lt;br /&gt;
&lt;br /&gt;
## Trackpoint settings&lt;br /&gt;
&lt;br /&gt;
# When run from a udev rule, DEVPATH should be set&lt;br /&gt;
if [ ! -z $DEVPATH ] ; then&lt;br /&gt;
    TPDEV=/sys/$( echo &amp;quot;$DEVPATH&amp;quot; | sed 's/\/input\/input[0-9]*//' )&lt;br /&gt;
else&lt;br /&gt;
# Otherwise just look in /sys/&lt;br /&gt;
    TPDEV=$(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//')&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint&lt;br /&gt;
# http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf&lt;br /&gt;
#------------------------------------------------------------&lt;br /&gt;
if [ -d &amp;quot;$TPDEV&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Configuring Trackpoint&amp;quot;&lt;br /&gt;
    echo -n 255     &amp;gt; $TPDEV/sensitivity     # Integer  128   Sensitivity&lt;br /&gt;
    echo -n 110     &amp;gt; $TPDEV/speed           # Integer  97   Cursor speed&lt;br /&gt;
    echo -n 4       &amp;gt; $TPDEV/inertia         # Integer  6   Negative intertia&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Couldn't find trackpoint device $TPDEV&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&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;
===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/serio1/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/serio1/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/serio1/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/serio1/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/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&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/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/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.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&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;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, 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/ui/ (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;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release&lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=48839</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=48839"/>
		<updated>2010-06-22T01:27:45Z</updated>

		<summary type="html">&lt;p&gt;Mahto: &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; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
While there seem to be many options to get Trackpoint scrolling to work editing xorg.conf is still the easiest and works fine for Debian Lenny and PCLOS '09.&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted. However, you can add the lines e.g. in your  {{cmd|.xsessionrc|}} (depends on your distribution) so they are executed every time X starts.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 8 50&lt;br /&gt;
&lt;br /&gt;
==Example: openSUSE 11.2 and ThinkPad USB Keyboard with TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
 xinput list &lt;br /&gt;
will show two &amp;quot;Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint.&amp;quot; with two different ids. Use the id with Axis 0 and Axis 1 items.&lt;br /&gt;
&lt;br /&gt;
Suppose the id was 12. The following will enable the trackpoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
The following will enable the horizontal scrolling&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To disable middle button click paste functionality, remap the middle button to something else:&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To do these automatically without worrying about id number, generate a bash script file:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id&lt;br /&gt;
 do&lt;br /&gt;
         case `xinput list-props $id` in&lt;br /&gt;
         *&amp;quot;Middle Button Emulation&amp;quot;*)&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 0&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # disable middle button &lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and save it with any name such as trackPointScrolling.sh, and make it executable:&lt;br /&gt;
 chmod +x trackPointScrolling.sh&lt;br /&gt;
&lt;br /&gt;
Next time you run it with $ ./trackPointScrolling.sh, it will enable the trackpoint scrolling and disable middle button paste.&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Graphical Frontends =&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] or [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontends.&lt;br /&gt;
=== GPointing Device Settings ===&lt;br /&gt;
It is available for Fedora 12, Ubuntu 9.10 and Debian Squeeze in the standard package repositories&lt;br /&gt;
&lt;br /&gt;
[[image:Screenshot-GPointing Device Settings-TrackPoint.png]]&lt;br /&gt;
&lt;br /&gt;
=== configure-trackpoint ===&lt;br /&gt;
To install it in Ubuntu run ...&lt;br /&gt;
 sudo apt-get install sysfsutils&lt;br /&gt;
...and then download and install the deb [http://sourceforge.net/projects/tpctl/ here]. Note that saved settings are not restored after reboot in Lucid Lynx. See methods below to make settings permanent.&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work. &lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
By default the middle mouse button is that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
But you can configure it to act in the same way as in Windows, such that you can use it for vertical scrolling (keep the button pressed and move the TrackPoint up and down to scroll). &lt;br /&gt;
&lt;br /&gt;
==== xorg.conf.d ====&lt;br /&gt;
&lt;br /&gt;
Some distributions now support the new Xorg hotplug configuration method via xorg.conf.d directories (in Ubuntu 10.04 Lucid Lynx) instead of hal. In contrast to the udev method below, it should be around for some time, so it might be the best way to “statically” configure scrolling.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/usr/lib/X11/xorg.conf.d/20-thinkpad.conf}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&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;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above does not work for you, you may need to add a different MatchProduct string.  Use &amp;lt;pre&amp;gt;find /dev/input/event* -exec udevadm info --attribute-walk --name={} \; | grep product | sort -u&amp;lt;/pre&amp;gt; to get a list of possibilities.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above directory doesn't exist by default in your distribution, it probably doesn't support this method. In this case, please refer to the udev or xinput method below.}}&lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/etc/hal/fdi/policy/mouse-wheel.fdi}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;match key=&amp;quot;info.product&amp;quot; string=&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelButton&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;2&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.YAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;4 5&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.Emulate3Buttons&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelTimeout&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;200&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.XAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;6 7&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Alternatively it is also possible to use the &amp;quot;old&amp;quot; Xorg configuration by adding the following lines to the {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
	Option 	&amp;quot;AutoAddDevices&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using this entry HAL will not be used for the input devices.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend. &lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTR{press_to_select}=&amp;quot;1&amp;quot;, ATTR{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
The customized values should be loaded automatically when booting. However, due to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549379  kernel bug] (affecting Lucid Lynx), the attributes may not yet exist when the udev rule fires. As a work around, add a WAIT_FOR condition on the attribute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&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;
===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/serio1/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/serio1/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/serio1/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/serio1/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/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&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/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/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.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&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;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, 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/ui/ (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;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release &lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=48838</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=48838"/>
		<updated>2010-06-22T01:24:11Z</updated>

		<summary type="html">&lt;p&gt;Mahto: &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; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=While there seem to be many options to get Trackpoint scrolling to work editing xorg.conf is still the easiest and works fine for Debian Lenny and PCLOS '09.&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted. However, you can add the lines e.g. in your  {{cmd|.xsessionrc|}} (depends on your distribution) so they are executed every time X starts.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 8 50&lt;br /&gt;
&lt;br /&gt;
==Example: openSUSE 11.2 and ThinkPad USB Keyboard with TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
 xinput list &lt;br /&gt;
will show two &amp;quot;Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint.&amp;quot; with two different ids. Use the id with Axis 0 and Axis 1 items.&lt;br /&gt;
&lt;br /&gt;
Suppose the id was 12. The following will enable the trackpoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
The following will enable the horizontal scrolling&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To disable middle button click paste functionality, remap the middle button to something else:&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To do these automatically without worrying about id number, generate a bash script file:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id&lt;br /&gt;
 do&lt;br /&gt;
         case `xinput list-props $id` in&lt;br /&gt;
         *&amp;quot;Middle Button Emulation&amp;quot;*)&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 0&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # disable middle button &lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and save it with any name such as trackPointScrolling.sh, and make it executable:&lt;br /&gt;
 chmod +x trackPointScrolling.sh&lt;br /&gt;
&lt;br /&gt;
Next time you run it with $ ./trackPointScrolling.sh, it will enable the trackpoint scrolling and disable middle button paste.&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Graphical Frontends =&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] or [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontends.&lt;br /&gt;
=== GPointing Device Settings ===&lt;br /&gt;
It is available for Fedora 12, Ubuntu 9.10 and Debian Squeeze in the standard package repositories&lt;br /&gt;
&lt;br /&gt;
[[image:Screenshot-GPointing Device Settings-TrackPoint.png]]&lt;br /&gt;
&lt;br /&gt;
=== configure-trackpoint ===&lt;br /&gt;
To install it in Ubuntu run ...&lt;br /&gt;
 sudo apt-get install sysfsutils&lt;br /&gt;
...and then download and install the deb [http://sourceforge.net/projects/tpctl/ here]. Note that saved settings are not restored after reboot in Lucid Lynx. See methods below to make settings permanent.&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work. &lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
By default the middle mouse button is that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
But you can configure it to act in the same way as in Windows, such that you can use it for vertical scrolling (keep the button pressed and move the TrackPoint up and down to scroll). &lt;br /&gt;
&lt;br /&gt;
==== xorg.conf.d ====&lt;br /&gt;
&lt;br /&gt;
Some distributions now support the new Xorg hotplug configuration method via xorg.conf.d directories (in Ubuntu 10.04 Lucid Lynx) instead of hal. In contrast to the udev method below, it should be around for some time, so it might be the best way to “statically” configure scrolling.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/usr/lib/X11/xorg.conf.d/20-thinkpad.conf}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&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;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above does not work for you, you may need to add a different MatchProduct string.  Use &amp;lt;pre&amp;gt;find /dev/input/event* -exec udevadm info --attribute-walk --name={} \; | grep product | sort -u&amp;lt;/pre&amp;gt; to get a list of possibilities.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above directory doesn't exist by default in your distribution, it probably doesn't support this method. In this case, please refer to the udev or xinput method below.}}&lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/etc/hal/fdi/policy/mouse-wheel.fdi}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;match key=&amp;quot;info.product&amp;quot; string=&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelButton&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;2&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.YAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;4 5&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.Emulate3Buttons&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelTimeout&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;200&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.XAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;6 7&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Alternatively it is also possible to use the &amp;quot;old&amp;quot; Xorg configuration by adding the following lines to the {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
	Option 	&amp;quot;AutoAddDevices&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using this entry HAL will not be used for the input devices.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend. &lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTR{press_to_select}=&amp;quot;1&amp;quot;, ATTR{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
The customized values should be loaded automatically when booting. However, due to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549379  kernel bug] (affecting Lucid Lynx), the attributes may not yet exist when the udev rule fires. As a work around, add a WAIT_FOR condition on the attribute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&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;
===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/serio1/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/serio1/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/serio1/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/serio1/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/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&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/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/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.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&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;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, 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/ui/ (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;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release &lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=48837</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=48837"/>
		<updated>2010-06-22T01:22:09Z</updated>

		<summary type="html">&lt;p&gt;Mahto: &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; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
While there seem to be many options to get Trackpoint scrolling to work editing xorg.conf is still the easiest and works fine for Debian stable and PCLOS.&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted. However, you can add the lines e.g. in your  {{cmd|.xsessionrc|}} (depends on your distribution) so they are executed every time X starts.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop &amp;quot;TPPS/2 IBM TrackPoint&amp;quot; &amp;quot;Evdev Middle Button Timeout&amp;quot; 8 50&lt;br /&gt;
&lt;br /&gt;
==Example: openSUSE 11.2 and ThinkPad USB Keyboard with TrackPoint ==&lt;br /&gt;
&lt;br /&gt;
 xinput list &lt;br /&gt;
will show two &amp;quot;Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint.&amp;quot; with two different ids. Use the id with Axis 0 and Axis 1 items.&lt;br /&gt;
&lt;br /&gt;
Suppose the id was 12. The following will enable the trackpoint scrolling:&lt;br /&gt;
&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
&lt;br /&gt;
The following will enable the horizontal scrolling&lt;br /&gt;
 xinput set-int-prop 12 &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To disable middle button click paste functionality, remap the middle button to something else:&lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To do these automatically without worrying about id number, generate a bash script file:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 xinput list | sed -ne 's/^[^ ][^V].*id=\([0-9]*\).*/\1/p' | while read id&lt;br /&gt;
 do&lt;br /&gt;
         case `xinput list-props $id` in&lt;br /&gt;
         *&amp;quot;Middle Button Emulation&amp;quot;*)&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation&amp;quot; 8 1&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Button&amp;quot; 8 2&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 8 200&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 8 6 7 4 5&lt;br /&gt;
                 xinput set-int-prop $id &amp;quot;Evdev Middle Button Emulation&amp;quot; 8 0&lt;br /&gt;
                 ;;&lt;br /&gt;
         esac&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # disable middle button &lt;br /&gt;
 xmodmap -e &amp;quot;pointer = 1 9 3 4 5 6 7 8 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and save it with any name such as trackPointScrolling.sh, and make it executable:&lt;br /&gt;
 chmod +x trackPointScrolling.sh&lt;br /&gt;
&lt;br /&gt;
Next time you run it with $ ./trackPointScrolling.sh, it will enable the trackpoint scrolling and disable middle button paste.&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Graphical Frontends =&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] or [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontends.&lt;br /&gt;
=== GPointing Device Settings ===&lt;br /&gt;
It is available for Fedora 12, Ubuntu 9.10 and Debian Squeeze in the standard package repositories&lt;br /&gt;
&lt;br /&gt;
[[image:Screenshot-GPointing Device Settings-TrackPoint.png]]&lt;br /&gt;
&lt;br /&gt;
=== configure-trackpoint ===&lt;br /&gt;
To install it in Ubuntu run ...&lt;br /&gt;
 sudo apt-get install sysfsutils&lt;br /&gt;
...and then download and install the deb [http://sourceforge.net/projects/tpctl/ here]. Note that saved settings are not restored after reboot in Lucid Lynx. See methods below to make settings permanent.&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work. &lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
By default the middle mouse button is that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
But you can configure it to act in the same way as in Windows, such that you can use it for vertical scrolling (keep the button pressed and move the TrackPoint up and down to scroll). &lt;br /&gt;
&lt;br /&gt;
==== xorg.conf.d ====&lt;br /&gt;
&lt;br /&gt;
Some distributions now support the new Xorg hotplug configuration method via xorg.conf.d directories (in Ubuntu 10.04 Lucid Lynx) instead of hal. In contrast to the udev method below, it should be around for some time, so it might be the best way to “statically” configure scrolling.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/usr/lib/X11/xorg.conf.d/20-thinkpad.conf}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
	Identifier	&amp;quot;Trackpoint Wheel Emulation&amp;quot;&lt;br /&gt;
	MatchProduct	&amp;quot;TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device&amp;quot;&lt;br /&gt;
	MatchDevicePath	&amp;quot;/dev/input/event*&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;
	Option		&amp;quot;Emulate3Buttons&amp;quot;	&amp;quot;false&amp;quot;&lt;br /&gt;
	Option		&amp;quot;XAxisMapping&amp;quot;		&amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option		&amp;quot;YAxisMapping&amp;quot;		&amp;quot;4 5&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above does not work for you, you may need to add a different MatchProduct string.  Use &amp;lt;pre&amp;gt;find /dev/input/event* -exec udevadm info --attribute-walk --name={} \; | grep product | sort -u&amp;lt;/pre&amp;gt; to get a list of possibilities.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If the above directory doesn't exist by default in your distribution, it probably doesn't support this method. In this case, please refer to the udev or xinput method below.}}&lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/etc/hal/fdi/policy/mouse-wheel.fdi}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;match key=&amp;quot;info.product&amp;quot; string=&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelButton&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;2&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.YAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;4 5&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.Emulate3Buttons&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelTimeout&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;200&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.XAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;6 7&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Alternatively it is also possible to use the &amp;quot;old&amp;quot; Xorg configuration by adding the following lines to the {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
	Option 	&amp;quot;AutoAddDevices&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using this entry HAL will not be used for the input devices.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend. &lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTR{press_to_select}=&amp;quot;1&amp;quot;, ATTR{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
The customized values should be loaded automatically when booting. However, due to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549379  kernel bug] (affecting Lucid Lynx), the attributes may not yet exist when the udev rule fires. As a work around, add a WAIT_FOR condition on the attribute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, WAIT_FOR=&amp;quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&amp;quot;, ATTR{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&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;
===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/serio1/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/serio1/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/serio1/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/serio1/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/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&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/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/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.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&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;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, 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/ui/ (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;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release &lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=33642</id>
		<title>Installation notes ca.2007</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=33642"/>
		<updated>2007-10-03T04:18:05Z</updated>

		<summary type="html">&lt;p&gt;Mahto: minor edits and HW config&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;notes:&lt;br /&gt;
&lt;br /&gt;
6/07 I'm upgrading from {{A31p}} to {{T42p}} and am going to document Linux installs. I previously had an {{A30}} which was very nix friendly, but the A31p was another story altogether. I also have an {{X22}} with {{Fedora}}6 and a {{T23}} with PCLinuxOS 93a.&lt;br /&gt;
&lt;br /&gt;
When I purchased the A31 over 2 years ago getting a fully functional Thinkpad using an ATI vid card in Linux was over my head. Not that I've become an expert by any means, but I feel confident I can get the T42P working for personal and work use. &lt;br /&gt;
When I assumed the position...hehe...I have at work 1 1/2 years ago I chose to provide my own PC rather than use what was offered (D*ll! pos!) So the A31 migrated from personal desktop replacement (DTR) to my work DTR. Since then that's where it's been, not mobile and running a custom WinXP.&lt;br /&gt;
Now after settling into the job (Net Admin f/ISP) and deciding to stay for a while, I find I need Internet and network access from 3 different locations as well as to have a light, small, long-lived PC for field work. I used to use the T23 for field work, but it's no lightweight. Now I'm using the X22 and am very, very happy with it. I plan to upgrade it next to an {{X31}} or {{X40}}. For the 3 different locations (Office, Apt, Home) I had 3 different PCs and OSs! Now I'm planning to carry the T42p, it being w/o battery almost 3 lbs lighter than the A31p, between Homes and Office and the X22 will remain in my field pack for onsite work.&lt;br /&gt;
&lt;br /&gt;
Circumstances, I sold the A31 and haven't received the T42 yet, cause me to use the T23 temporarily as my desktop. Also, when I get the T42 I'll have to slam XP onto it and get back to work, because the T23 can't handle some of the app's I use. Also I still need to figure out Kivio and Google Earth Pro in Linux to replace Visio and TopoUSA in Winderz. Until I do that and migrate all of my proprietary files, I can't go Linux at work.&lt;br /&gt;
&lt;br /&gt;
Since I'll be using the T42 for personal as well as work use, I'll be dual-booting by day 2. My current favorite personal desktop distro is PCLinuxOS 93a and I'll be trying that first to see how it likes the T42.&lt;br /&gt;
&lt;br /&gt;
I'll be back @ 7/07 to submit the initial installation notes.&lt;br /&gt;
&lt;br /&gt;
06-24-2007 - Installed PCLinuxOS 2007 after using the LiveCD for an evening. The install has a few quirks that need attention for full laptop functionality.&lt;br /&gt;
&lt;br /&gt;
First thing is to get cpufreq working, because mine was running full-speed all the time. Temps were @ 60c until I added an Antec cooling pad, which reduced temps to @ 52c. After config of cpufreq, about 15 min ago, my cpu temp is @ 48c. Hopefully a good cleaning and some Artic Silver will drop the temps some more.&lt;br /&gt;
&lt;br /&gt;
10-02-1007 edit:&lt;br /&gt;
The cpufreq info below needs an edit, because I disabled the script and have gotten better functionality with KCC and the Laptop module config. After trying a number of different BIOS, ACPI, Power/Battery settings I managed a fully functional ACPI with Suspend to RAM and CPU Throttling working very well&lt;br /&gt;
&lt;br /&gt;
The cpufreq script is located at /etc/sysconfig/cpufreq on my machine.&lt;br /&gt;
I added the min_freq and max_freq values, the rest are default entries.&lt;br /&gt;
&lt;br /&gt;
 #uncomment to set cpufreq governor after module load&lt;br /&gt;
 #possible choices are ondemand powersave userspace performance&lt;br /&gt;
 GOVERNOR=ondemand&lt;br /&gt;
 #minimum frequency&lt;br /&gt;
 MIN_FREQ=600&lt;br /&gt;
 #maximum frequency&lt;br /&gt;
 MAX_FREQ=1600&lt;br /&gt;
 #Uncomment to use acpi-cpufrq as fallback&lt;br /&gt;
 #USE_ACPI_CPUFREQ=yes&lt;br /&gt;
&lt;br /&gt;
I found quite a bit of discussion regarding cpufreq previously and will have to search for it again. I may edit the above accordingly. &lt;br /&gt;
And, I'll edit this whole mess and make it a standard wiki page when I get back from vacation.&lt;br /&gt;
&lt;br /&gt;
9/11/07 - A tardy update...like with the T23 and PCLinuxOS 93, I stumbled on a working config after initially having serious problems with the install. And unfortunately like the T23 install, I didn't keep track of what worked and what didn't. In both cases I thought I would have to re-install and possibly even with another Linux distro. And in both cases I ended up with a very functional, albeit relatively slow, virtually bug-free and enjoyable OS.&lt;br /&gt;
&lt;br /&gt;
Of the numerous Linux distros I've used over the last few years PCLinuOS continues to surprise and satisfy me. I'm actually using it full-time for work and personal use, have a mash up of our DB and Google Earth working and only boot Winderz to edit existing network diagrams with Visio and run a couple of  other proprietary apps.&lt;br /&gt;
&lt;br /&gt;
For now I'll list my current HW config and summarize the OS config...next....&lt;br /&gt;
&lt;br /&gt;
Hardware:&lt;br /&gt;
&lt;br /&gt;
T42P 2379-DYU&lt;br /&gt;
1.8GHz Centrino&lt;br /&gt;
Fire-GL 128MB, etc.&lt;br /&gt;
Seagate 80GB, 7200RPM&lt;br /&gt;
2x1GB Samsung PC2700 RAM&lt;br /&gt;
and 2xPort Replicator II&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=33065</id>
		<title>Installation notes ca.2007</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=33065"/>
		<updated>2007-09-12T04:15:06Z</updated>

		<summary type="html">&lt;p&gt;Mahto: update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;notes:&lt;br /&gt;
&lt;br /&gt;
6/07 I'm upgrading from {{A31p}} to {{T42p}} and am going to document Linux installs. I previously had an {{A30}} which was very nix friendly, but the A31p was another story altogether. I also have an {{X22}} with {{Fedora}}6 and a {{T23}} with PCLinuxOS 93a.&lt;br /&gt;
&lt;br /&gt;
When I purchased the A31 over 2 years ago getting a fully functional Thinkpad using an ATI vid card in Linux was over my head. Not that I've become an expert by any means, but I feel confident I can get the T42P working for personal and work use. &lt;br /&gt;
When I assumed the position...hehe...I have at work 1 1/2 years ago I chose to provide my own PC rather than use what was offered (D*ll! pos!) So the A31 migrated from personal desktop replacement (DTR) to my work DTR. Since then that's where it's been, not mobile and running a custom WinXP.&lt;br /&gt;
Now after settling into the job (Net Admin f/ISP) and deciding to stay for a while, I find I need Internet and network access from 3 different locations as well as to have a light, small, long-lived PC for field work. I used to use the T23 for field work, but it's no lightweight. Now I'm using the X22 and am very, very happy with it. I plan to upgrade it next to an {{X31}} or {{X40}}. For the 3 different locations (Office, Apt, Home) I had 3 different PCs and OSs! Now I'm planning to carry the T42p, it being w/o battery almost 3 lbs lighter than the A31p, between Homes and Office and the X22 will remain in my field pack for onsite work.&lt;br /&gt;
&lt;br /&gt;
Circumstances, I sold the A31 and haven't received the T42 yet, cause me to use the T23 temporarily as my desktop. Also, when I get the T42 I'll have to slam XP onto it and get back to work, because the T23 can't handle some of the app's I use. Also I still need to figure out Kisio and Google Earth Pro in Linux to replace Visio and TopoUSA in Winderz. Until I do that and migrate all of my proprietary files, I can't go Linux at work.&lt;br /&gt;
&lt;br /&gt;
Since I'll be using the T42 for personal as well as work use, I'll be dual-booting by day 2. My current favorite personal desktop distro is PCLinuxOS 93a and I'll be trying that first to see how it likes the T42.&lt;br /&gt;
&lt;br /&gt;
I'll be back @ 7/07 to submit the initial installation notes.&lt;br /&gt;
&lt;br /&gt;
06-24-2007 - Installed PCLinuxOS 2007 after using the LiveCD for an evening. The install has a few quirks that need attention for full laptop functionality.&lt;br /&gt;
&lt;br /&gt;
First thing is to get cpufreq working, because mine was running full-speed all the time. Temps were @ 60c until I added an Antec cooling pad, which reduced temps to @ 52c. After config of cpufreq, about 15 min ago, my cpu temp is @ 48c. Hopefully a good cleaning and some Artic Silver will drop the temps some more.&lt;br /&gt;
&lt;br /&gt;
The cpufreq script is located at /etc/sysconfig/cpufreq on my machine.&lt;br /&gt;
I added the min_freq and max_freq values, the rest are default entries.&lt;br /&gt;
&lt;br /&gt;
 #uncomment to set cpufreq governor after module load&lt;br /&gt;
 #possible choices are ondemand powersave userspace performance&lt;br /&gt;
 GOVERNOR=ondemand&lt;br /&gt;
 #minimum frequency&lt;br /&gt;
 MIN_FREQ=600&lt;br /&gt;
 #maximum frequency&lt;br /&gt;
 MAX_FREQ=1600&lt;br /&gt;
 #Uncomment to use acpi-cpufrq as fallback&lt;br /&gt;
 #USE_ACPI_CPUFREQ=yes&lt;br /&gt;
&lt;br /&gt;
I found quite a bit of discussion regarding cpufreq previously and will have to search for it again. I may edit the above accordingly. &lt;br /&gt;
And, I'll edit this whole mess and make it a standard wiki page when I get back from vacation.&lt;br /&gt;
&lt;br /&gt;
9/11/07 - A tardy update...like with the T23 and PCLinuxOS 93, I stumbled on a working config after initially having serious problems with the install. And unfortunately like the T23 install, I didn't keep track of what worked and what didn't. In both cases I thought I would have to re-install and possibly even with another Linux distro. And in both cases I ended up with a very functional, albeit relatively slow, virtually bug-free and enjoyable OS.&lt;br /&gt;
&lt;br /&gt;
Of the numerous Linux distros I've used over the last few years PCLinuOS continues to surprise and satisfy me. I'm actually using it full-time for work and personal use, have a mash up of our DB and Google Earth working and only boot Winderz to edit existing network diagrams with Visio and run a couple of  other proprietary apps.&lt;br /&gt;
&lt;br /&gt;
For now I'll list my current HW config and summarize the OS config...next....&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=33064</id>
		<title>Installation notes ca.2007</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=33064"/>
		<updated>2007-09-12T04:13:06Z</updated>

		<summary type="html">&lt;p&gt;Mahto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;notes:&lt;br /&gt;
&lt;br /&gt;
6/07 I'm upgrading from {{A31p}} to {{T42p}} and am going to document Linux installs. I previously had an {{A30}} which was very nix friendly, but the A31p was another story altogether. I also have an {{X22}} with {{Fedora}}6 and a {{T23}} with PCLinuxOS 93a.&lt;br /&gt;
&lt;br /&gt;
When I purchased the A31 over 2 years ago getting a fully functional Thinkpad using an ATI vid card in Linux was over my head. Not that I've become an expert by any means, but I feel confident I can get the T42P working for personal and work use. &lt;br /&gt;
When I assumed the position...hehe...I have at work 1 1/2 years ago I chose to provide my own PC rather than use what was offered (D*ll! pos!) So the A31 migrated from personal desktop replacement (DTR) to my work DTR. Since then that's where it's been, not mobile and running a custom WinXP.&lt;br /&gt;
Now after settling into the job (Net Admin f/ISP) and deciding to stay for a while, I find I need Internet and network access from 3 different locations as well as to have a light, small, long-lived PC for field work. I used to use the T23 for field work, but it's no lightweight. Now I'm using the X22 and am very, very happy with it. I plan to upgrade it next to an {{X31}} or {{X40}}. For the 3 different locations (Office, Apt, Home) I had 3 different PCs and OSs! Now I'm planning to carry the T42p, it being w/o battery almost 3 lbs lighter than the A31p, between Homes and Office and the X22 will remain in my field pack for onsite work.&lt;br /&gt;
&lt;br /&gt;
Circumstances, I sold the A31 and haven't received the T42 yet, cause me to use the T23 temporarily as my desktop. Also, when I get the T42 I'll have to slam XP onto it and get back to work, because the T23 can't handle some of the app's I use. Also I still need to figure out Kisio and Google Earth Pro in Linux to replace Visio and TopoUSA in Winderz. Until I do that and migrate all of my proprietary files, I can't go Linux at work.&lt;br /&gt;
&lt;br /&gt;
Since I'll be using the T42 for personal as well as work use, I'll be dual-booting by day 2. My current favorite personal desktop distro is PCLinuxOS 93a and I'll be trying that first to see how it likes the T42.&lt;br /&gt;
&lt;br /&gt;
I'll be back @ 7/07 to submit the initial installation notes.&lt;br /&gt;
&lt;br /&gt;
06-24-2007 - Installed PCLinuxOS 2007 after using the LiveCD for an evening. The install has a few quirks that need attention for full laptop functionality.&lt;br /&gt;
&lt;br /&gt;
First thing is to get cpufreq working, because mine was running full-speed all the time. Temps were @ 60c until I added an Antec cooling pad, which reduced temps to @ 52c. After config of cpufreq, about 15 min ago, my cpu temp is @ 48c. Hopefully a good cleaning and some Artic Silver will drop the temps some more.&lt;br /&gt;
&lt;br /&gt;
The cpufreq script is located at /etc/sysconfig/cpufreq on my machine.&lt;br /&gt;
I added the min_freq and max_freq values, the rest are default entries.&lt;br /&gt;
&lt;br /&gt;
 #uncomment to set cpufreq governor after module load&lt;br /&gt;
 #possible choices are ondemand powersave userspace performance&lt;br /&gt;
 GOVERNOR=ondemand&lt;br /&gt;
 #minimum frequency&lt;br /&gt;
 MIN_FREQ=600&lt;br /&gt;
 #maximum frequency&lt;br /&gt;
 MAX_FREQ=1600&lt;br /&gt;
 #Uncomment to use acpi-cpufrq as fallback&lt;br /&gt;
 #USE_ACPI_CPUFREQ=yes&lt;br /&gt;
&lt;br /&gt;
I found quite a bit of discussion regarding cpufreq previously and will have to search for it again. I may edit the above accordingly. &lt;br /&gt;
And, I'll edit this whole mess and make it a standard wiki page when I get back from vacation.&lt;br /&gt;
&lt;br /&gt;
9/11/07 - A tardy update...like with the T23 and PCLinuxOS 93, I stumbled on a working config after initially having serious problems with the install. And unfortunately like the T23 install, I didn't keep track of what worked and what didn't. In both cases I thought I would have to re-install and possibly even with another Linux distro. And in both cases I ended up with a very functional, albeit relatively slow, virtually bug-free and enjoyable OS.&lt;br /&gt;
&lt;br /&gt;
Of the numerous Linux distros I've used oner the last few years PCLinuOS continues to surprise and satisfy me. I'm actually using it full-time for work and personal use, have a mash up of our DB and Google Earth working and only boot Winderz to edit existing network diagrams with Visio and run a couple of  other proprietary apps.&lt;br /&gt;
&lt;br /&gt;
For now I'll list my current HW config and summarize the OS config...next....&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:T42p&amp;diff=32576</id>
		<title>Category:T42p</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:T42p&amp;diff=32576"/>
		<updated>2007-08-27T11:41:25Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* ThinkPad T42p */&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;
[[image:ThinkPadT40.jpg|ThinkPad T42p]]&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 T42p ===&lt;br /&gt;
This pages gives an overview of all ThinkPad T42p related topics.&lt;br /&gt;
&lt;br /&gt;
Machine Type: 2373, 2374, 2378. 2379&lt;br /&gt;
==== Standard Features ====&lt;br /&gt;
* [[Intel Pentium M (Dothan)]] 1.7, 1.8, 2.0 or 2.1GHz CPU&lt;br /&gt;
* [[ATI Mobility FireGL T2]] with 128MB or&lt;br /&gt;
* [[ATI Mobility Radeon 9600]] with 64MB&lt;br /&gt;
** 14.1&amp;quot; TFT display with 1400x1050 resolution&lt;br /&gt;
** 15.0&amp;quot; TFT display with 1600x1200 resolution&lt;br /&gt;
* 512MB or 1GB [[PC2700]] memory standard&lt;br /&gt;
* 60 or 80GB HDD&lt;br /&gt;
* [[AD1981B]] AC'97 Audio controller&lt;br /&gt;
* Intel 10/100/1000 Ethernet&lt;br /&gt;
* [[UltraBay|UltraBay Slim]] with one of the following:&lt;br /&gt;
** DVD-ROM/CD-RW Combo&lt;br /&gt;
** DVD-RW&lt;br /&gt;
* [[CDC slot]] with one of the following:&lt;br /&gt;
** [[IBM Integrated 56K Modem (MDC-2)]]&lt;br /&gt;
** [[IBM Integrated Bluetooth III with 56K Modem (BMDC-2)]]&lt;br /&gt;
* [[MiniPCI slot]] with one of the following:&lt;br /&gt;
** [[IBM 11a/b/g Wireless LAN Mini PCI Adapter]]&lt;br /&gt;
** [[IBM 11a/b/g Wireless LAN Mini PCI Adapter II]]&lt;br /&gt;
** [[Intel PRO/Wireless LAN 2100 3B Mini PCI Adapter]]&lt;br /&gt;
** [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]]&lt;br /&gt;
** [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]]&lt;br /&gt;
* (2) Type II [[CardBus slot|CardBus slots]] or (1) type III&lt;br /&gt;
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]&lt;br /&gt;
* [[Active Protection System|IBM Active Protection System]]&lt;br /&gt;
* [[Integrated Fingerprint Reader]] on select systems&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/13n6243.pdf ThinkPad T40/p, T41/p, T42, T42p - Hardware Maintenance Manual (April 2004)] (5,391,719 Bytes)&lt;br /&gt;
&lt;br /&gt;
[[Category:T Series]]&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=30672</id>
		<title>Installation notes ca.2007</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=30672"/>
		<updated>2007-06-25T04:58:37Z</updated>

		<summary type="html">&lt;p&gt;Mahto: 1st edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;notes:&lt;br /&gt;
&lt;br /&gt;
6/07 I'm upgrading from {{A31p}} to {{T42p}} and am going to document Linux installs. I previously had an {{A30}} which was very nix friendly, but the A31p was another story altogether. I also have an {{X22}} with {{Fedora}}6 and a {{T23}} with PCLinuxOS 93a.&lt;br /&gt;
&lt;br /&gt;
When I purchased the A31 over 2 years ago getting a fully functional Thinkpad using an ATI vid card in Linux was over my head. Not that I've become an expert by any means, but I feel confident I can get the T42P working for personal and work use. &lt;br /&gt;
When I assumed the position...hehe...I have at work 1 1/2 years ago I chose to provide my own PC rather than use what was offered (D*ll! pos!) So the A31 migrated from personal desktop replacement (DTR) to my work DTR. Since then that's where it's been, not mobile and running a custom WinXP.&lt;br /&gt;
Now after settling into the job (Net Admin f/ISP) and deciding to stay for a while, I find I need Internet and network access from 3 different locations as well as to have a light, small, long-lived PC for field work. I used to use the T23 for field work, but it's no lightweight. Now I'm using the X22 and am very, very happy with it. I plan to upgrade it next to an {{X31}} or {{X40}}. For the 3 different locations (Office, Apt, Home) I had 3 different PCs and OSs! Now I'm planning to carry the T42p, it being w/o battery almost 3 lbs lighter than the A31p, between Homes and Office and the X22 will remain in my field pack for onsite work.&lt;br /&gt;
&lt;br /&gt;
Circumstances, I sold the A31 and haven't received the T42 yet, cause me to use the T23 temporarily as my desktop. Also, when I get the T42 I'll have to slam XP onto it and get back to work, because the T23 can't handle some of the app's I use. Also I still need to figure out Kisio and Google Earth Pro in Linux to replace Visio and TopoUSA in Winderz. Until I do that and migrate all of my proprietary files, I can't go Linux at work.&lt;br /&gt;
&lt;br /&gt;
Since I'll be using the T42 for personal as well as work use, I'll be dual-booting by day 2. My current favorite personal desktop distro is PCLinuxOS 93a and I'll be trying that first to see how it likes the T42.&lt;br /&gt;
&lt;br /&gt;
I'll be back @ 7/07 to submit the initial installation notes.&lt;br /&gt;
&lt;br /&gt;
06-24-2007 - Installed PCLinuxOS 2007 after using the LiveCD for an evening. The install has a few quirks that need attention for full laptop functionality.&lt;br /&gt;
&lt;br /&gt;
First thing is to get cpufreq working, because mine was running full-speed all the time. Temps were @ 60c until I added an Antec cooling pad, which reduced temps to @ 52c. After config of cpufreq, about 15 min ago, my cpu temp is @ 48c. Hopefully a good cleaning and some Artic Silver will drop the temps some more.&lt;br /&gt;
&lt;br /&gt;
The cpufreq script is located at /etc/sysconfig/cpufreq on my machine.&lt;br /&gt;
I added the min_freq and max_freq values, the rest are default entries.&lt;br /&gt;
&lt;br /&gt;
#uncomment to set cpufreq governor after module load&lt;br /&gt;
#possible choices are ondemand powersave userspace performance&lt;br /&gt;
GOVERNOR=ondemand&lt;br /&gt;
#minimum frequency&lt;br /&gt;
MIN_FREQ=600&lt;br /&gt;
#maximum frequency&lt;br /&gt;
MAX_FREQ=1600&lt;br /&gt;
#Uncomment to use acpi-cpufrq as fallback&lt;br /&gt;
#USE_ACPI_CPUFREQ=yes&lt;br /&gt;
&lt;br /&gt;
I found quite a bit of discussion regarding cpufreq previously and will have to search for it again. I may edit the above accordingly. &lt;br /&gt;
And, I'll edit this whole mess and make it a standard wiki page when I get back from vacation.&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=30529</id>
		<title>Installation notes ca.2007</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=30529"/>
		<updated>2007-06-17T19:20:31Z</updated>

		<summary type="html">&lt;p&gt;Mahto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;notes:&lt;br /&gt;
&lt;br /&gt;
6/07 I'm upgrading from {{A31p}} to {{T42p}} and am going to document Linux installs. I previously had an {{A30}} which was very nix friendly, but the A31p was another story altogether. I also have an {{X22}} with {{Fedora}}6 and a {{T23}} with PCLinuxOS 93a.&lt;br /&gt;
&lt;br /&gt;
When I purchased the A31 over 2 years ago getting a fully functional Thinkpad using an ATI vid card in Linux was over my head. Not that I've become an expert by any means, but I feel confident I can get the T42P working for personal and work use. &lt;br /&gt;
When I assumed the position...hehe...I have at work 1 1/2 years ago I chose to provide my own PC rather than use what was offered (D*ll! pos!) So the A31 migrated from personal desktop replacement (DTR) to my work DTR. Since then that's where it's been, not mobile and running a custom WinXP.&lt;br /&gt;
Now after settling into the job (Net Admin f/ISP) and deciding to stay for a while, I find I need Internet and network access from 3 different locations as well as to have a light, small, long-lived PC for field work. I used to use the T23 for field work, but it's no lightweight. Now I'm using the X22 and am very, very happy with it. I plan to upgrade it next to an {{X31}} or {{X40}}. For the 3 different locations (Office, Apt, Home) I had 3 different PCs and OSs! Now I'm planning to carry the T42p, it being w/o battery almost 3 lbs lighter than the A31p, between Homes and Office and the X22 will remain in my field pack for onsite work.&lt;br /&gt;
&lt;br /&gt;
Circumstances, I sold the A31 and haven't received the T42 yet, cause me to use the T23 temporarily as my desktop. Also, when I get the T42 I'll have to slam XP onto it and get back to work, because the T23 can't handle some of the app's I use. Also I still need to figure out Kisio and Google Earth Pro in Linux to replace Visio and TopoUSA in Winderz. Until I do that and migrate all of my proprietary files, I can't go Linux at work.&lt;br /&gt;
&lt;br /&gt;
Since I'll be using the T42 for personal as well as work use, I'll be dual-booting by day 2. My current favorite personal desktop distro is PCLinuxOS 93a and I'll be trying that first to see how it likes the T42.&lt;br /&gt;
&lt;br /&gt;
I'll be back @ 7/07 to submit the initial installation notes.&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=30528</id>
		<title>Installation notes ca.2007</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_notes_ca.2007&amp;diff=30528"/>
		<updated>2007-06-17T19:19:46Z</updated>

		<summary type="html">&lt;p&gt;Mahto: â†Created page with 'notes:  6/07 I'm upgrading from {{A31p}} to {{T42p}} and am going to document Linux installs. I previously had an {{A30}} which was very nix friendly, but the A31p was ano...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;notes:&lt;br /&gt;
&lt;br /&gt;
6/07 I'm upgrading from {{A31p}} to {{T42p}} and am going to document Linux installs. I previously had an {{A30}} which was very nix friendly, but the A31p was another story altogether. I also have an {{X22}} with {{Fedora Core}}6 and a {{T23}} with PCLinuxOS 93a.&lt;br /&gt;
&lt;br /&gt;
When I purchased the A31 over 2 years ago getting a fully functional Thinkpad using an ATI vid card in Linux was over my head. Not that I've become an expert by any means, but I feel confident I can get the T42P working for personal and work use. &lt;br /&gt;
When I assumed the position...hehe...I have at work 1 1/2 years ago I chose to provide my own PC rather than use what was offered (D*ll! pos!) So the A31 migrated from personal desktop replacement (DTR) to my work DTR. Since then that's where it's been, not mobile and running a custom WinXP.&lt;br /&gt;
Now after settling into the job (Net Admin f/ISP) and deciding to stay for a while, I find I need Internet and network access from 3 different locations as well as to have a light, small, long-lived PC for field work. I used to use the T23 for field work, but it's no lightweight. Now I'm using the X22 and am very, very happy with it. I plan to upgrade it next to an {{X31}} or {{X40}}. For the 3 different locations (Office, Apt, Home) I had 3 different PCs and OSs! Now I'm planning to carry the T42p, it being w/o battery almost 3 lbs lighter than the A31p, between Homes and Office and the X22 will remain in my field pack for onsite work.&lt;br /&gt;
&lt;br /&gt;
Circumstances, I sold the A31 and haven't received the T42 yet, cause me to use the T23 temporarily as my desktop. Also, when I get the T42 I'll have to slam XP onto it and get back to work, because the T23 can't handle some of the app's I use. Also I still need to figure out Kisio and Google Earth Pro in Linux to replace Visio and TopoUSA in Winderz. Until I do that and migrate all of my proprietary files, I can't go Linux at work.&lt;br /&gt;
&lt;br /&gt;
Since I'll be using the T42 for personal as well as work use, I'll be dual-booting by day 2. My current favorite personal desktop distro is PCLinuxOS 93a and I'll be trying that first to see how it likes the T42.&lt;br /&gt;
&lt;br /&gt;
I'll be back @ 7/07 to submit the initial installation notes.&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30527</id>
		<title>Installation instructions for the ThinkPad T42p</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30527"/>
		<updated>2007-06-17T18:16:08Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* General Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
[[Installation notes ca.2007]]&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
*{{Install|Debian|/Sid|T42p}}&lt;br /&gt;
*{{Install|Fedora| Core 4|T42p (2373-HBU)}}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30525</id>
		<title>Installation instructions for the ThinkPad T42p</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30525"/>
		<updated>2007-06-17T17:51:42Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* General Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
*{{Install|Debian|/Sid|T42p}}&lt;br /&gt;
*{{Install|Fedora| Core 4|T42p (2373-HBU)}}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:Linux_on_T42P&amp;diff=30524</id>
		<title>Template:Linux on T42P</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:Linux_on_T42P&amp;diff=30524"/>
		<updated>2007-06-17T17:49:55Z</updated>

		<summary type="html">&lt;p&gt;Mahto: editing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;notes:&lt;br /&gt;
&lt;br /&gt;
6/07 I'm upgrading from A31p to T42p and going to document Linux installs. I previously had an A30 which was very nix friendly, but the A31P was another story altogether. I also have an X22 with Fedora Core6 and a T23 with PCLinuxOS 93a.&lt;br /&gt;
&lt;br /&gt;
When I purchased the A31P over 2 years ago getting a fully functional Thinkpad using an ATI vid card in Linux was over my head. Not that I've become an expert by any means, but I feel confident I can get the T42P working for personal and work use.&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30523</id>
		<title>Installation instructions for the ThinkPad T42p</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30523"/>
		<updated>2007-06-17T17:49:27Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* General Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
{{Linux on T42P}}&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
*{{Install|Debian|/Sid|T42p}}&lt;br /&gt;
*{{Install|Fedora| Core 4|T42p (2373-HBU)}}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30521</id>
		<title>Installation instructions for the ThinkPad T42p</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30521"/>
		<updated>2007-06-17T17:30:04Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* General Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
{{Installation Linux on T42P}}&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
*{{Install|Debian|/Sid|T42p}}&lt;br /&gt;
*{{Install|Fedora| Core 4|T42p (2373-HBU)}}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30520</id>
		<title>Installation instructions for the ThinkPad T42p</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30520"/>
		<updated>2007-06-17T17:28:45Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* General Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
{{Install|Linux on T42P}}&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
*{{Install|Debian|/Sid|T42p}}&lt;br /&gt;
*{{Install|Fedora| Core 4|T42p (2373-HBU)}}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30519</id>
		<title>Installation instructions for the ThinkPad T42p</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30519"/>
		<updated>2007-06-17T17:27:46Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* General Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
{{Install | Linux on T42P}}&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
*{{Install|Debian|/Sid|T42p}}&lt;br /&gt;
*{{Install|Fedora| Core 4|T42p (2373-HBU)}}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:PCLOS&amp;diff=30517</id>
		<title>Template:PCLOS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:PCLOS&amp;diff=30517"/>
		<updated>2007-06-17T14:21:26Z</updated>

		<summary type="html">&lt;p&gt;Mahto: created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As of this writing, [http://www.pclinuxos.com PCLinuxOS] is the one of the most popular Linux distro at [http://www.distrowatch.com Distrowatch] and is way ahead of Ubuntu for the last 30 days. The current release is 2007, but the release that helped popularize the distro was 93a.&lt;br /&gt;
Release 93a was offered as 3 different versions: the standard live CD; a mini ISO of @200MB; and &amp;quot;Big Daddy&amp;quot;. All versions are Live CDs which can be easily installed and produce a working KDE desktop. PCLOS is considered to be very user friendly and is very well suited to personal desktop use.&lt;br /&gt;
&lt;br /&gt;
...more later&lt;br /&gt;
&lt;br /&gt;
[http://www.example.com link title]&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30512</id>
		<title>Installation instructions for the ThinkPad T42p</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T42p&amp;diff=30512"/>
		<updated>2007-06-17T05:23:58Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* General Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the ThinkPad {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
{{Installation Linux on T42P}}&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
*{{Install|Debian|/Sid|T42p}}&lt;br /&gt;
*{{Install|Fedora| Core 4|T42p (2373-HBU)}}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Madwifi&amp;diff=26595</id>
		<title>Madwifi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Madwifi&amp;diff=26595"/>
		<updated>2006-11-27T01:24:13Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* Problems with system-config-network and Fedora Core 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Multiband Atheros Driver for WiFi ==&lt;br /&gt;
Linux driver for 802.11a/b/g universal NIC cards - Cardbus, PCI, or miniPCI - using Atheros chip sets.&lt;br /&gt;
&lt;br /&gt;
The following adapters sold by IBM use the Atheros chips:&lt;br /&gt;
* [[IBM Dual-Band 11a/b Wi-Fi Wireless Mini PCI Adapter]]&lt;br /&gt;
* [[IBM 11b/g Wireless LAN Mini PCI Adapter]]&lt;br /&gt;
* [[IBM 11a/b/g Wireless LAN Mini PCI Adapter]]&lt;br /&gt;
* [[IBM 11a/b/g Wireless LAN Mini PCI Adapter II]]&lt;br /&gt;
* [[ThinkPad 11a/b/g Wireless LAN Mini Express Adapter]]&lt;br /&gt;
* IBM 802.11a Wireless LAN Cardbus Adapter&lt;br /&gt;
* IBM 11 a/b/g Wireless Cardbus Adapter&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage ===&lt;br /&gt;
http://www.madwifi.org (old page: http://sourceforge.net/projects/madwifi)&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
*Official {{Debian}} packages in the [http://packages.debian.org/src:madwifi non-free section]. See also the [http://alioth.debian.org/projects/pkg-madwifi/ Alioth project page] and the [http://madwifi.org/wiki/UserDocs/Distro/Debian Madwifi wiki].&lt;br /&gt;
*{{Debian}} Packages: http://www.marlow.dk/site.php/tech/madwifi&lt;br /&gt;
*{{Debian}} Packages: http://www.users.tpg.com.au/sigm/misc/madwiki.txt&lt;br /&gt;
*{{Fedora}} Packages(1): http://rpm.livna.org&lt;br /&gt;
*{{Fedora}} Packages(2): http://www.atrpms.net/name/madwifi/&lt;br /&gt;
*{{Gentoo}} ebuild: {{cmduser|emerge net-wireless/madwifi-driver net-wireless/madwifi-tools}}&lt;br /&gt;
*{{SUSE}} Packages http://www.madwifi.org/suse/&lt;br /&gt;
*{{Ubuntu}} Package: {{cmduser|sudo apt-get install linux-restricted-modules-`uname -r`}}&lt;br /&gt;
*[http://madwifi.org/wiki/UserDocs/GettingMadwifi MadWifi packages and source] for these and other distributions&lt;br /&gt;
&lt;br /&gt;
=== Source ===&lt;br /&gt;
&lt;br /&gt;
Detailed instructions can be found [http://madwifi.org/wiki/UserDocs/GettingMadwifi on the MadWiFi Wiki].&lt;br /&gt;
&lt;br /&gt;
* Daily snapshots: http://snapshots.madwifi.org/&lt;br /&gt;
* madwifi-ng:&lt;br /&gt;
:{{cmduser|svn checkout http://svn.madwifi.org/trunk madwifi-ng}}&lt;br /&gt;
* madwifi-old:&lt;br /&gt;
:{{cmduser|svn checkout http://svn.madwifi.org/branches/madwifi-old madwifi-old}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
*Make sure that you've got sysctl support and the net/radio enabled (wireless extensions) in your kernel. Install the driver with make &amp;amp; make install&lt;br /&gt;
* further more you like to install the wireless tools from [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html wireless  tools]. Make sure the versions fit together by&lt;br /&gt;
:{{cmduser|iwconfig --version}}&lt;br /&gt;
&lt;br /&gt;
Setting up [[wpa_supplicant]] with wpa-psk.&lt;br /&gt;
&lt;br /&gt;
You can enable the wireless LAN status LED on your Thinkpad by following [http://madwifi.org/wiki/UserDocs/EnableLEDs these instructions] (tested on Thinkpad x60s).&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
in development, usable&lt;br /&gt;
&lt;br /&gt;
=== OpenSource HAL ===&lt;br /&gt;
The &amp;quot;official&amp;quot; driver consists of an opensource wrapper with binary HAL (Hardware Abstraction Layer). This HAL is not a binary firmware like with the Intel Wireless chips, but a piece of code that needs to runs in the Linux kernel.&lt;br /&gt;
The vendors reasoning behind this is, that since the Atheros chip could be tuned to any frequency, and hence interfere with systems operating in those frequencies, that we simply need to accept this binary module.&amp;lt;br&amp;gt;&lt;br /&gt;
Obviously this binary HAL is unacceptable to the Linux kernel developers, and the Atheros driver in this state will never become part of the official kernel.&amp;lt;br&amp;gt;&lt;br /&gt;
Some OpenBSD developers facing the same issue, reverse engineered the binary HAL and have produced an OpenSource version. Hopefully a driver based on this might be included with the Linux kernel at some point in time, and picked up by the mainstream distributions.&lt;br /&gt;
&lt;br /&gt;
=== Problems with system-config-network and Fedora Core 5 ===&lt;br /&gt;
If you use the livna repository to install madwifi for Fedora Core 5, it doesn't correctly update the modprobe configuration files.  A [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=187640 bug] has been filed.  The quick fix is to move the lines that were in&lt;br /&gt;
/etc/modprobe.d/madwifi into /etc/modprobe.conf and system-config-network now can configure the card.&lt;br /&gt;
&lt;br /&gt;
=== Much easier on Fedora Core 6 ===&lt;br /&gt;
&lt;br /&gt;
I'm using FC6 w/KDE on an X22 and wireless was very easy using madwifi from Livna and a Linksys WPC55AG PC card.&lt;br /&gt;
I had already installed knetworkmanager, klaptop and configured working radeonfb and &lt;br /&gt;
working S3 suspend.&lt;br /&gt;
I then simply used yum to install madwifi, including a kernel upgrade, enabled the knetworkmanager services and rebooted.&lt;br /&gt;
After restarting, knetworkmanager found the Atheros card and my AP. I just had to choose the connection and was online in seconds.&lt;br /&gt;
&lt;br /&gt;
===Using Madwifi with SUSE Linux 10.1===&lt;br /&gt;
As of [[Category:SUSE SUSE Linux]] 10.1, the Madwifi packages are no longer included in the SUSE distribution because of the presence of closed source code. However, I was able to download, install, and configure Madwifi for my [[:Category:T40|IBM T40]] with the &lt;br /&gt;
[[IBM 11a/b/g Wireless LAN Mini PCI Adapter|IBM 11a/b/g Wireless Adapter (Atheros AR5212 802.11abg)]] as follows:&lt;br /&gt;
* Start yast2 and select Software--Installation Source. Add http://madwifi.org/suse/ as a source&lt;br /&gt;
* Install packages &amp;lt;tt&amp;gt;madwifi&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;madwifi-kmp-default&amp;lt;/tt&amp;gt; (the latter has the kernel module, replace &amp;lt;tt&amp;gt;default&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;smp&amp;lt;/tt&amp;gt; or other non-default kernel package if you're not running the default Suse kernel package as determined by &amp;lt;tt&amp;gt;uname -r&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* Reboot so the kernel modules can be loaded.&lt;br /&gt;
* Load the kernel modules by hand and see if the kernel recognizes your hardware:&lt;br /&gt;
&amp;lt;tt&amp;gt;modprobe aes; modprobe wlan_ccmp; modprobe ath_pci; lsmod |egrep 'Module|aes|wlan|ath'&amp;lt;/tt&amp;gt;&lt;br /&gt;
* If recognized, put the modprobe lines above in your &amp;lt;tt&amp;gt;/etc/init.d/boot.local&amp;lt;/tt&amp;gt; file.  Otherwise, check for Linux kernel/Madwifi incompatibilities and hardware issues.&lt;br /&gt;
* Start yast2 and go to Network Devices--&amp;gt;Network Card and add and configure your wireless card.  I recommmend checking the &amp;quot;Network Manager&amp;quot; box, as that allows dynamic GUI control over the wireless and Ethernet NICs.&lt;br /&gt;
* I have WPA-PSK enabled, so here's the fields I filled out: &amp;quot;User Controlled&amp;quot; device activation, DHCP Automatic Address Setup, &amp;quot;Managed&amp;quot; operating mode, &amp;quot;any&amp;quot; ESSID, &amp;quot;WPA-PSK&amp;quot; auth mode, key input type &amp;quot;passphrase&amp;quot; and I typed in my passphrase.  I left expert settings alone.&lt;br /&gt;
&lt;br /&gt;
=== Related links === &lt;br /&gt;
* [http://www.madwifi.org/wiki MadWiFi Wiki]&lt;br /&gt;
* [http://team.vantronix.net/ar5k/ OpenSource Atheros HAL]&lt;br /&gt;
* [http://www.ath-driver.org/ OpenSource Atheros driver for Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=IRQ_Interrupts&amp;diff=26467</id>
		<title>IRQ Interrupts</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=IRQ_Interrupts&amp;diff=26467"/>
		<updated>2006-11-18T04:37:26Z</updated>

		<summary type="html">&lt;p&gt;Mahto: IRQ moved to IRQ Interrupts: accuracy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On my T42p, the BIOS settings for IRQs were factory set to 11.  Changing those settings from 11 to 'auto' fixed some lockup issues I was having with the wireless interface after a resume from suspend-to-ram.&lt;br /&gt;
&lt;br /&gt;
This is true and still accurate with FC 6, at least on my {{X22}}.&lt;br /&gt;
By changing the BIOS settings for PCI IRQs from &amp;quot;11&amp;quot; to &amp;quot;Auto&amp;quot; I solved random lockups. &lt;br /&gt;
*View /proc/interrupts for conflicts on IRQ 11.&lt;br /&gt;
*Reboot to BIOS-Config-PCI and change all to &amp;quot;Auto.&lt;br /&gt;
*Save and Reboot.&lt;br /&gt;
&lt;br /&gt;
S3 Suspend was already working for me.&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=IRQ&amp;diff=26468</id>
		<title>IRQ</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=IRQ&amp;diff=26468"/>
		<updated>2006-11-18T04:37:26Z</updated>

		<summary type="html">&lt;p&gt;Mahto: IRQ moved to IRQ Interrupts: accuracy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[IRQ Interrupts]]&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=IRQ_Interrupts&amp;diff=26466</id>
		<title>IRQ Interrupts</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=IRQ_Interrupts&amp;diff=26466"/>
		<updated>2006-11-18T04:35:40Z</updated>

		<summary type="html">&lt;p&gt;Mahto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On my T42p, the BIOS settings for IRQs were factory set to 11.  Changing those settings from 11 to 'auto' fixed some lockup issues I was having with the wireless interface after a resume from suspend-to-ram.&lt;br /&gt;
&lt;br /&gt;
This is true and still accurate with FC 6, at least on my {{X22}}.&lt;br /&gt;
By changing the BIOS settings for PCI IRQs from &amp;quot;11&amp;quot; to &amp;quot;Auto&amp;quot; I solved random lockups. &lt;br /&gt;
*View /proc/interrupts for conflicts on IRQ 11.&lt;br /&gt;
*Reboot to BIOS-Config-PCI and change all to &amp;quot;Auto.&lt;br /&gt;
*Save and Reboot.&lt;br /&gt;
&lt;br /&gt;
S3 Suspend was already working for me.&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=IRQ_Interrupts&amp;diff=26465</id>
		<title>IRQ Interrupts</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=IRQ_Interrupts&amp;diff=26465"/>
		<updated>2006-11-18T04:27:42Z</updated>

		<summary type="html">&lt;p&gt;Mahto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On my T42p, the BIOS settings for IRQs were factory set to 11.  Changing those settings from 11 to 'auto' fixed some lockup issues I was having with the wireless interface after a resume from suspend-to-ram.&lt;br /&gt;
&lt;br /&gt;
This is true and still accurate with FC6, at least on my X22.&lt;br /&gt;
By changing the BIOS settings for PCI IRQs from &amp;quot;11&amp;quot; to &amp;quot;Auto&amp;quot; I solved random lockups. &lt;br /&gt;
*View /proc/interrupts for conflicts on IRQ 11.&lt;br /&gt;
*Reboot to BIOS-Config-PCI and change all to &amp;quot;Auto.&lt;br /&gt;
*Save and Reboot.&lt;br /&gt;
&lt;br /&gt;
S3 Suspend was already working for me.&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_high_power_drain_in_ACPI_sleep&amp;diff=26386</id>
		<title>Problem with high power drain in ACPI sleep</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_high_power_drain_in_ACPI_sleep&amp;diff=26386"/>
		<updated>2006-11-13T05:14:16Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* including radeonfb into your initrd */&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;
==Problem description==&lt;br /&gt;
Several people realized that their ThinkPads eat up too much power while suspended to ram via ACPI. Compared to APM suspend to ram the power drain is experienced to be about 10 times as high, 2-5 Watts. This empties the battery within one or two days.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;float:right;margin-left:20px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#ffcfbc;&amp;quot; | affected models&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | unaffected models &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#fff0e0;&amp;quot; |&lt;br /&gt;
* {{R32}}&lt;br /&gt;
** 2658-BQG&lt;br /&gt;
* {{R40}}&lt;br /&gt;
** 2722-3GG&lt;br /&gt;
** 2722-5MG&lt;br /&gt;
** 2722-B3G&lt;br /&gt;
** 2722-CDG&lt;br /&gt;
** 2897-GWU&lt;br /&gt;
** 2722-6YU&lt;br /&gt;
** 2722-CDG&lt;br /&gt;
* {{R50}}&lt;br /&gt;
** 1829-7RG&lt;br /&gt;
** 1829-6DM&lt;br /&gt;
** 1836-3SU&lt;br /&gt;
* {{R51}}&lt;br /&gt;
** 1829-9MG&lt;br /&gt;
** 1829-EHG&lt;br /&gt;
** 1829-R6G&lt;br /&gt;
** 1830-DG4&lt;br /&gt;
** 1836-Q6U&lt;br /&gt;
* {{T23}}&lt;br /&gt;
**2647-???&lt;br /&gt;
* {{T30}}&lt;br /&gt;
** 2366-81A&lt;br /&gt;
** 2366-97U&lt;br /&gt;
** 2366-FBU&lt;br /&gt;
** 2366-96G&lt;br /&gt;
*{{T40}}&lt;br /&gt;
**2373-19G&lt;br /&gt;
**2373-22G&lt;br /&gt;
**2373-42G&lt;br /&gt;
**2373-75G &lt;br /&gt;
**2373-82U&lt;br /&gt;
**2373-92U&lt;br /&gt;
**2373-A1U&lt;br /&gt;
**2373-MU3&lt;br /&gt;
*{{T40p}}&lt;br /&gt;
**2373-G1U &lt;br /&gt;
**2373-G3U&lt;br /&gt;
**2373-G3G&lt;br /&gt;
**2373-G1G&lt;br /&gt;
**2373-G5G&lt;br /&gt;
* {{T41}}&lt;br /&gt;
**2379-DJU&lt;br /&gt;
**2373-3KG&lt;br /&gt;
**2373-9HU&lt;br /&gt;
**2373-4FG&lt;br /&gt;
**2373-4PG&lt;br /&gt;
**2373-1FG&lt;br /&gt;
**2373-2FG&lt;br /&gt;
**2373-2GG&lt;br /&gt;
**2373-6U4&lt;br /&gt;
**2373-7JU&lt;br /&gt;
**2373-CY0&lt;br /&gt;
**2373-TG5&lt;br /&gt;
**2373-3HM&lt;br /&gt;
**2373-4GU&lt;br /&gt;
* {{T41p}}&lt;br /&gt;
**2373-9FU&lt;br /&gt;
* {{T42}}&lt;br /&gt;
**2373-C19&lt;br /&gt;
**2373-CTO&lt;br /&gt;
**2378-DTU&lt;br /&gt;
**2378-DUU&lt;br /&gt;
**2378-XXE&lt;br /&gt;
**2378-R4U&lt;br /&gt;
**2373-FWG&lt;br /&gt;
**2374-ZEP&lt;br /&gt;
**2373-F2G&lt;br /&gt;
**2373-JTU&lt;br /&gt;
**2373-VUW&lt;br /&gt;
**[[2373-6ZG]]&lt;br /&gt;
* {{X21}}&lt;br /&gt;
**2662-BSG&lt;br /&gt;
* {{X32}}&lt;br /&gt;
**2884-A3U&lt;br /&gt;
*{{X41T}}&lt;br /&gt;
** 1869-5CU&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
**2628&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
**2652-D5G&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
**1858-6MM&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
**2373-GEU&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
**2373-GKG&lt;br /&gt;
**2373-GGG&lt;br /&gt;
**[[2373-GHG]]&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
**[[2373-M1G]]&lt;br /&gt;
**[[2373-WBZ]]&lt;br /&gt;
**[[2373-F7G]]&lt;br /&gt;
**[[2378-DXU]]&lt;br /&gt;
**[[2378-FVU]]&lt;br /&gt;
**[[2378-RTU]]&lt;br /&gt;
**[[2378-RRU]]&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
**[[2373-HTG]]&lt;br /&gt;
**[[2373-W6M]]&lt;br /&gt;
**[[2373-GTG]]&lt;br /&gt;
**[[2373-GXG]]&lt;br /&gt;
**2373-KXM&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
**[[2668-W12]]&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
**[[2668-G2G]]&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
**2371&lt;br /&gt;
|}&lt;br /&gt;
*Different symptoms have been reported for different models. In some models the origin of the power drain is obvious ([[Problem with LCD backlight remaining on during ACPI sleep|backlight on during suspend]]), in other models there is no obvious reason.&lt;br /&gt;
&lt;br /&gt;
*On some models/configurations the higher power drain couldn't even be realized or was at least significantly lower.&lt;br /&gt;
&lt;br /&gt;
*The T4x ThinkPad series and other Radeon based models suspend to ram just fine, and there are no components that are obviously left powered up. The [[UltraBay]] and network light is on, but that is the same under windows (but under APM sleep to RAM those lights are OFF). For these models the higher power drain is caused by a driver problem and can be fixed in software. Starting with linux 2.6.18 this fix is in the official kernel.&lt;br /&gt;
&lt;br /&gt;
The table on the right gives an overview of the models suffering from the mysterious power drain. To find out about your model, you may use the following [[ACPI sleep power drain test script | script]]. It creates a file {{path|/var/log/battery.log}} which will tell you if you are affected or not.&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux, all flavours.&lt;br /&gt;
*Windows, for some models as well (only when using non-IBM drivers).&lt;br /&gt;
*FreeBSD (on the A22M)&lt;br /&gt;
&lt;br /&gt;
==Radeon GPU not powered off==&lt;br /&gt;
A frequent cause of the mysterious power drain is the Radeon GPU, which requires extra steps to suspend properly. We identified affected thinkpads, and [[radeonfb]] activates the workaround on those models automatically (starting with linux kernel 2.6.18).&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
*The official bugzilla entry for the radeon suspend issue is in the [http://bugme.osdl.org/show_bug.cgi?id=3022 OSDL Bugzilla]. There you can find the above-mentioned patch for older kernel versions. The patch removes the CONFIG_PPC_PMAC condition for enabling D2 sleep in {{path|drivers/video/aty/radeon_pm.c}}. If you suspect that this patch makes things worse, you can disable it by the kernel parameter {{bootparm|video|radeonfb:ignore_devlist|1}}. Similarly, if the patch is not automatically activated on your notebook you can force it by {{bootparm|video|radeonfb:force_sleep|1}}. In case that improves your sleep, please leave a note in the bugzilla including the output of {{cmdroot|lspci -d &amp;quot;1002:*&amp;quot; -vn}}. See also [http://thread.gmane.org/gmane.linux.hardware.thinkpad/25355 the linux-thinkpad ML post requesting this information] for more information. &lt;br /&gt;
&lt;br /&gt;
*Most certainly, the DSDT is not at fault. (Interesting to note: The DSDT from BIOS 3.13 (Nov 04) for the T42p compiles without bugs.)&lt;br /&gt;
&lt;br /&gt;
===Solutions===&lt;br /&gt;
You must use a recent (or patched) version of the [[radeonfb]] driver, even if you are only interested in using the X window system. The radeon frame buffer suspends the radeon chip correctly during ACPI sleep. Starting with linux 2.6.18, this patch is in the official (kernel.org) kernels.&lt;br /&gt;
&lt;br /&gt;
If the patch is known to work on your notebook, it is automatically enabled. If you think that your computer would profit from the patch as well, you can force it by including the module parameter {{bootparm|video|radeonfb:force_sleep|1}}. If it does not work this can result in system hangs.&lt;br /&gt;
&lt;br /&gt;
Alas, in many cases [[radeonfb]] cannot coexist with the [[radeon]] X.org driver (causing corrupted rendering and hangs). Using the &amp;lt;tt&amp;gt;Option &amp;quot;UseFBDev&amp;quot; &amp;quot;True&amp;quot;&amp;lt;/tt&amp;gt; of [[radeon]] may help, but this is incompatible with [[radeon]]'s mergedfb mode. A &amp;quot;GPU device layer&amp;quot; architecture which may, one day, resolve this was proposed by Dave Airlie [http://airlied.livejournal.com/#item30632 here] and [http://lkml.org/lkml/2006/7/22/45 here].&lt;br /&gt;
{{HELP|Is there ''any'' fully working solution?}}&lt;br /&gt;
&lt;br /&gt;
====Fedora Core====&lt;br /&gt;
* Fedora Core 6: Ships with kernel &amp;gt;= 2.6.18, only needs initrd (see below).&lt;br /&gt;
* Fedora Core 5: The latest kernel from updates (2.6.18-1.2200.fc5) seems to actually fix this issue, you only have to make custom initrd because the default one does not contain radeonfb.&lt;br /&gt;
* Fedora Core 4: Fedora ships a patched radeon frame buffer (radeonfb.ko), but you must enable it yourself. {{Fedora}} compiles it as a module rather than including it in the kernel, therefore you cannot activate it at boot time without a custom initrd. You must arrange for the module to be loaded before X starts (for example, using an init script).&lt;br /&gt;
* Fedora Core 3: this is also true for updated kernels (at least for kernel-2.6.12-1.1376_FC3) but '''not''' for the initially shipped version.&lt;br /&gt;
&lt;br /&gt;
====testing radeonfb without changing initrd====&lt;br /&gt;
If you want to try the radeon frame buffer, you can enable it as follows:&lt;br /&gt;
*First, switch to a console ({{key|Ctrl}}{{key|Alt}}{{key|F1}}) and log in as root.&lt;br /&gt;
*Stop X: {{cmdroot|init 3}}&lt;br /&gt;
*Now you can load the module: {{cmdroot|1=modprobe radeonfb force_sleep=1}}&lt;br /&gt;
*Finally, resume X: {{cmdroot|init 5}}&lt;br /&gt;
&lt;br /&gt;
====Gentoo====&lt;br /&gt;
After installing the patch on {{Gentoo}} (it works fine with gentoo-sources: {{cmdroot|cd /usr/src/linux/drivers/video/aty}}, and execute {{cmdroot|patch -p4 &amp;lt; &amp;lt;patchname&amp;gt;}}, then recompile the kernel), one needs to add {{bootparm|video|radeonfb:force_sleep}} to the kernel parameters.&lt;br /&gt;
&lt;br /&gt;
====including radeonfb into your initrd====&lt;br /&gt;
As an alternative you can build your customized initrd. This is as simple as running&lt;br /&gt;
:{{cmdroot|1=mkinitrd --with=radeonfb /boot/&amp;lt;name-of-your-new-initrd&amp;gt; `uname -r`}}&lt;br /&gt;
and replacing the initrd in {{path|/boot/grub/grub.conf}} with your new one. You also need to add the kernel command line argument {{bootparm|video|2=radeonfb:force_sleep}}.&lt;br /&gt;
&lt;br /&gt;
With FC6 and KDE I had to:&lt;br /&gt;
*Login as root&lt;br /&gt;
*Enter the command as {{cmdroot|1=mkinitrd --with=radeonfb /boot/&amp;lt;name-of-your-new-initrd&amp;gt; &amp;lt;kernel version&amp;gt;}}&lt;br /&gt;
:e.g. {{cmdroot|1=mkinitrd --with=radeonfb /boot/initrd-2.6.18-1.2798.fc6-my.img 2.6.18-1.2798.fc6}}&lt;br /&gt;
:And the kernel command line argument was added to /etc/sysconfig/grub.&lt;br /&gt;
&lt;br /&gt;
==Backlight staying on==&lt;br /&gt;
It is possible that [[radeontool]] will help some people if the backlight stays on.&lt;br /&gt;
(simply run &amp;quot;radeontool light off&amp;quot; before suspend and &amp;quot;radeontool light on&amp;quot; after resume).&lt;br /&gt;
A radeontool patch for freebsd is here: http://www.init-main.com/radeontool.patch (by Takanori Watanabe).&lt;br /&gt;
&lt;br /&gt;
===Notes for gnome-power-manager===&lt;br /&gt;
If you suspend from Gnome and need to run radeontool to turn the backlight off you need to find the suspend script for HAL. In Ubuntu, the scripts are located in /usr/share/hal/scripts/. Add the following the script &amp;quot;hal-system-power-suspend&amp;quot;:&lt;br /&gt;
 chvt 1&lt;br /&gt;
 radeontool light off&lt;br /&gt;
And in the resume script (&amp;quot;restore-after-standby&amp;quot;):&lt;br /&gt;
 radeontool light on&lt;br /&gt;
 chvt 7&lt;br /&gt;
&lt;br /&gt;
This worked for me. YMMV. [[User:Etnoy|Etnoy]] 16:27, 9 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
===For models without Radeon graphics===&lt;br /&gt;
The Problem seems to be solved when you use the [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] to turn the LCD off before suspending ...&lt;br /&gt;
:{{cmdroot|vbetool dpms off}}&lt;br /&gt;
and turning it on afterwards again...&lt;br /&gt;
:{{cmdroot|vbetool dpms on}}&lt;br /&gt;
You have to change to a normal console before turning the LCD off.&lt;br /&gt;
Additionally you have to deactivate the Wake-On-Lan feature like mentioned above ...&lt;br /&gt;
:{{cmdroot|ethtool -s eth0 wol d}}&lt;br /&gt;
With these commands used together the &amp;quot;testing script&amp;quot; reports no high power drain while suspending.&lt;br /&gt;
&lt;br /&gt;
==Other problems causing the power drain==&lt;br /&gt;
On my [[R51]] using Gentoo Linux, the high power drain was not caused by the graphics adaptor but by several components not powered down properly before putting the Thinkpad into S3.&lt;br /&gt;
&lt;br /&gt;
If the above did not help you, this might do:&lt;br /&gt;
&lt;br /&gt;
Walk through&lt;br /&gt;
 /sys/devices/*/*/power/state&lt;br /&gt;
and try to disable each of it, every time checking the power drain. (See linux/Documentation/power/devices.txt for values to write into the state-files. 3 should be the value you want to try)&lt;br /&gt;
Do the same for other components (Like the Ultrabay, etc.). Please add your experiences here.&lt;br /&gt;
&lt;br /&gt;
===R51: Ultrabay and networking===&lt;br /&gt;
On my system, ultrabay and networking light were still on while in S3. So were the devices theirselves.&lt;br /&gt;
 echo -n eject &amp;gt; /proc/acpi/ibm/bay     # Disable ultrabay&lt;br /&gt;
 ethtool -s eth0 wol d                  # Disable Wake-On-Lan (And so the eth-adaptor)&lt;br /&gt;
 echo mem &amp;gt; /sys/power/state            # Sleep&lt;br /&gt;
&lt;br /&gt;
For me, this lowered the power drain from &amp;gt;700mW to 338 mW.&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
My initial testing of a [[T43]] (2669-model) revealed no power drain issues. However, after several rounds of BIOS and kernel upgrades I have discovered that the power drain has risen to &amp;gt;700mWh. Having tested things a bit, I have discoved that removing ehci_hcd module solved the high power drain. This is a [[T43]] laptop, with kernel 2.6.17-r5 and BIOS 1.28/EC 1.06. For me, issuing {{cmdroot|modprobe -r ehci_hcd}} before going to sleep and reloading the module ({{cmdroot|modprobe ehci_hcd}}) after waking up dropped the power drain down to 277mWh in suspend2ram, which seems fair. The unloading/reloading can be put into the suitable ACPI script called to suspend the laptop.&lt;br /&gt;
&lt;br /&gt;
===Wake-on-LAN===&lt;br /&gt;
Some additional power savings can be achieved by turning off the wake-on-lan ({{cmdroot|ethtool -s eth0 wol d}}). The power drain of the wol feature is far smaller than the radeon bug, but can be noticeable.&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_high_power_drain_in_ACPI_sleep&amp;diff=26385</id>
		<title>Problem with high power drain in ACPI sleep</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_high_power_drain_in_ACPI_sleep&amp;diff=26385"/>
		<updated>2006-11-13T05:07:34Z</updated>

		<summary type="html">&lt;p&gt;Mahto: /* including radeonfb into your initrd */&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;
==Problem description==&lt;br /&gt;
Several people realized that their ThinkPads eat up too much power while suspended to ram via ACPI. Compared to APM suspend to ram the power drain is experienced to be about 10 times as high, 2-5 Watts. This empties the battery within one or two days.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;float:right;margin-left:20px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#ffcfbc;&amp;quot; | affected models&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | unaffected models &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#fff0e0;&amp;quot; |&lt;br /&gt;
* {{R32}}&lt;br /&gt;
** 2658-BQG&lt;br /&gt;
* {{R40}}&lt;br /&gt;
** 2722-3GG&lt;br /&gt;
** 2722-5MG&lt;br /&gt;
** 2722-B3G&lt;br /&gt;
** 2722-CDG&lt;br /&gt;
** 2897-GWU&lt;br /&gt;
** 2722-6YU&lt;br /&gt;
** 2722-CDG&lt;br /&gt;
* {{R50}}&lt;br /&gt;
** 1829-7RG&lt;br /&gt;
** 1829-6DM&lt;br /&gt;
** 1836-3SU&lt;br /&gt;
* {{R51}}&lt;br /&gt;
** 1829-9MG&lt;br /&gt;
** 1829-EHG&lt;br /&gt;
** 1829-R6G&lt;br /&gt;
** 1830-DG4&lt;br /&gt;
** 1836-Q6U&lt;br /&gt;
* {{T23}}&lt;br /&gt;
**2647-???&lt;br /&gt;
* {{T30}}&lt;br /&gt;
** 2366-81A&lt;br /&gt;
** 2366-97U&lt;br /&gt;
** 2366-FBU&lt;br /&gt;
** 2366-96G&lt;br /&gt;
*{{T40}}&lt;br /&gt;
**2373-19G&lt;br /&gt;
**2373-22G&lt;br /&gt;
**2373-42G&lt;br /&gt;
**2373-75G &lt;br /&gt;
**2373-82U&lt;br /&gt;
**2373-92U&lt;br /&gt;
**2373-A1U&lt;br /&gt;
**2373-MU3&lt;br /&gt;
*{{T40p}}&lt;br /&gt;
**2373-G1U &lt;br /&gt;
**2373-G3U&lt;br /&gt;
**2373-G3G&lt;br /&gt;
**2373-G1G&lt;br /&gt;
**2373-G5G&lt;br /&gt;
* {{T41}}&lt;br /&gt;
**2379-DJU&lt;br /&gt;
**2373-3KG&lt;br /&gt;
**2373-9HU&lt;br /&gt;
**2373-4FG&lt;br /&gt;
**2373-4PG&lt;br /&gt;
**2373-1FG&lt;br /&gt;
**2373-2FG&lt;br /&gt;
**2373-2GG&lt;br /&gt;
**2373-6U4&lt;br /&gt;
**2373-7JU&lt;br /&gt;
**2373-CY0&lt;br /&gt;
**2373-TG5&lt;br /&gt;
**2373-3HM&lt;br /&gt;
**2373-4GU&lt;br /&gt;
* {{T41p}}&lt;br /&gt;
**2373-9FU&lt;br /&gt;
* {{T42}}&lt;br /&gt;
**2373-C19&lt;br /&gt;
**2373-CTO&lt;br /&gt;
**2378-DTU&lt;br /&gt;
**2378-DUU&lt;br /&gt;
**2378-XXE&lt;br /&gt;
**2378-R4U&lt;br /&gt;
**2373-FWG&lt;br /&gt;
**2374-ZEP&lt;br /&gt;
**2373-F2G&lt;br /&gt;
**2373-JTU&lt;br /&gt;
**2373-VUW&lt;br /&gt;
**[[2373-6ZG]]&lt;br /&gt;
* {{X21}}&lt;br /&gt;
**2662-BSG&lt;br /&gt;
* {{X32}}&lt;br /&gt;
**2884-A3U&lt;br /&gt;
*{{X41T}}&lt;br /&gt;
** 1869-5CU&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
**2628&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
**2652-D5G&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
**1858-6MM&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
**2373-GEU&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
**2373-GKG&lt;br /&gt;
**2373-GGG&lt;br /&gt;
**[[2373-GHG]]&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
**[[2373-M1G]]&lt;br /&gt;
**[[2373-WBZ]]&lt;br /&gt;
**[[2373-F7G]]&lt;br /&gt;
**[[2378-DXU]]&lt;br /&gt;
**[[2378-FVU]]&lt;br /&gt;
**[[2378-RTU]]&lt;br /&gt;
**[[2378-RRU]]&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
**[[2373-HTG]]&lt;br /&gt;
**[[2373-W6M]]&lt;br /&gt;
**[[2373-GTG]]&lt;br /&gt;
**[[2373-GXG]]&lt;br /&gt;
**2373-KXM&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
**[[2668-W12]]&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
**[[2668-G2G]]&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
**2371&lt;br /&gt;
|}&lt;br /&gt;
*Different symptoms have been reported for different models. In some models the origin of the power drain is obvious ([[Problem with LCD backlight remaining on during ACPI sleep|backlight on during suspend]]), in other models there is no obvious reason.&lt;br /&gt;
&lt;br /&gt;
*On some models/configurations the higher power drain couldn't even be realized or was at least significantly lower.&lt;br /&gt;
&lt;br /&gt;
*The T4x ThinkPad series and other Radeon based models suspend to ram just fine, and there are no components that are obviously left powered up. The [[UltraBay]] and network light is on, but that is the same under windows (but under APM sleep to RAM those lights are OFF). For these models the higher power drain is caused by a driver problem and can be fixed in software. Starting with linux 2.6.18 this fix is in the official kernel.&lt;br /&gt;
&lt;br /&gt;
The table on the right gives an overview of the models suffering from the mysterious power drain. To find out about your model, you may use the following [[ACPI sleep power drain test script | script]]. It creates a file {{path|/var/log/battery.log}} which will tell you if you are affected or not.&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux, all flavours.&lt;br /&gt;
*Windows, for some models as well (only when using non-IBM drivers).&lt;br /&gt;
*FreeBSD (on the A22M)&lt;br /&gt;
&lt;br /&gt;
==Radeon GPU not powered off==&lt;br /&gt;
A frequent cause of the mysterious power drain is the Radeon GPU, which requires extra steps to suspend properly. We identified affected thinkpads, and [[radeonfb]] activates the workaround on those models automatically (starting with linux kernel 2.6.18).&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
*The official bugzilla entry for the radeon suspend issue is in the [http://bugme.osdl.org/show_bug.cgi?id=3022 OSDL Bugzilla]. There you can find the above-mentioned patch for older kernel versions. The patch removes the CONFIG_PPC_PMAC condition for enabling D2 sleep in {{path|drivers/video/aty/radeon_pm.c}}. If you suspect that this patch makes things worse, you can disable it by the kernel parameter {{bootparm|video|radeonfb:ignore_devlist|1}}. Similarly, if the patch is not automatically activated on your notebook you can force it by {{bootparm|video|radeonfb:force_sleep|1}}. In case that improves your sleep, please leave a note in the bugzilla including the output of {{cmdroot|lspci -d &amp;quot;1002:*&amp;quot; -vn}}. See also [http://thread.gmane.org/gmane.linux.hardware.thinkpad/25355 the linux-thinkpad ML post requesting this information] for more information. &lt;br /&gt;
&lt;br /&gt;
*Most certainly, the DSDT is not at fault. (Interesting to note: The DSDT from BIOS 3.13 (Nov 04) for the T42p compiles without bugs.)&lt;br /&gt;
&lt;br /&gt;
===Solutions===&lt;br /&gt;
You must use a recent (or patched) version of the [[radeonfb]] driver, even if you are only interested in using the X window system. The radeon frame buffer suspends the radeon chip correctly during ACPI sleep. Starting with linux 2.6.18, this patch is in the official (kernel.org) kernels.&lt;br /&gt;
&lt;br /&gt;
If the patch is known to work on your notebook, it is automatically enabled. If you think that your computer would profit from the patch as well, you can force it by including the module parameter {{bootparm|video|radeonfb:force_sleep|1}}. If it does not work this can result in system hangs.&lt;br /&gt;
&lt;br /&gt;
Alas, in many cases [[radeonfb]] cannot coexist with the [[radeon]] X.org driver (causing corrupted rendering and hangs). Using the &amp;lt;tt&amp;gt;Option &amp;quot;UseFBDev&amp;quot; &amp;quot;True&amp;quot;&amp;lt;/tt&amp;gt; of [[radeon]] may help, but this is incompatible with [[radeon]]'s mergedfb mode. A &amp;quot;GPU device layer&amp;quot; architecture which may, one day, resolve this was proposed by Dave Airlie [http://airlied.livejournal.com/#item30632 here] and [http://lkml.org/lkml/2006/7/22/45 here].&lt;br /&gt;
{{HELP|Is there ''any'' fully working solution?}}&lt;br /&gt;
&lt;br /&gt;
====Fedora Core====&lt;br /&gt;
* Fedora Core 6: Ships with kernel &amp;gt;= 2.6.18, only needs initrd (see below).&lt;br /&gt;
* Fedora Core 5: The latest kernel from updates (2.6.18-1.2200.fc5) seems to actually fix this issue, you only have to make custom initrd because the default one does not contain radeonfb.&lt;br /&gt;
* Fedora Core 4: Fedora ships a patched radeon frame buffer (radeonfb.ko), but you must enable it yourself. {{Fedora}} compiles it as a module rather than including it in the kernel, therefore you cannot activate it at boot time without a custom initrd. You must arrange for the module to be loaded before X starts (for example, using an init script).&lt;br /&gt;
* Fedora Core 3: this is also true for updated kernels (at least for kernel-2.6.12-1.1376_FC3) but '''not''' for the initially shipped version.&lt;br /&gt;
&lt;br /&gt;
====testing radeonfb without changing initrd====&lt;br /&gt;
If you want to try the radeon frame buffer, you can enable it as follows:&lt;br /&gt;
*First, switch to a console ({{key|Ctrl}}{{key|Alt}}{{key|F1}}) and log in as root.&lt;br /&gt;
*Stop X: {{cmdroot|init 3}}&lt;br /&gt;
*Now you can load the module: {{cmdroot|1=modprobe radeonfb force_sleep=1}}&lt;br /&gt;
*Finally, resume X: {{cmdroot|init 5}}&lt;br /&gt;
&lt;br /&gt;
====Gentoo====&lt;br /&gt;
After installing the patch on {{Gentoo}} (it works fine with gentoo-sources: {{cmdroot|cd /usr/src/linux/drivers/video/aty}}, and execute {{cmdroot|patch -p4 &amp;lt; &amp;lt;patchname&amp;gt;}}, then recompile the kernel), one needs to add {{bootparm|video|radeonfb:force_sleep}} to the kernel parameters.&lt;br /&gt;
&lt;br /&gt;
====including radeonfb into your initrd====&lt;br /&gt;
As an alternative you can build your customized initrd. This is as simple as running&lt;br /&gt;
:{{cmdroot|1=mkinitrd --with=radeonfb /boot/&amp;lt;name-of-your-new-initrd&amp;gt; `uname -r`}}&lt;br /&gt;
and replacing the initrd in {{path|/boot/grub/grub.conf}} with your new one. You also need to add the kernel command line argument {{bootparm|video|2=radeonfb:force_sleep}}.&lt;br /&gt;
&lt;br /&gt;
With FC6 and KDE I had to:&lt;br /&gt;
*Login as root&lt;br /&gt;
*Enter the command as {{cmdroot|1=mkinitrd --with=radeonfb /boot/&amp;lt;name-of-your-new-initrd&amp;gt; &amp;lt;kernel version&amp;gt;}}&lt;br /&gt;
:e.g. {{cmdroot|1=mkinitrd --with=radeonfb /boot/initrd-2.6.18-1.2798.fc6-my.img 2.6.18-1.2798.fc6}}&lt;br /&gt;
&lt;br /&gt;
==Backlight staying on==&lt;br /&gt;
It is possible that [[radeontool]] will help some people if the backlight stays on.&lt;br /&gt;
(simply run &amp;quot;radeontool light off&amp;quot; before suspend and &amp;quot;radeontool light on&amp;quot; after resume).&lt;br /&gt;
A radeontool patch for freebsd is here: http://www.init-main.com/radeontool.patch (by Takanori Watanabe).&lt;br /&gt;
&lt;br /&gt;
===Notes for gnome-power-manager===&lt;br /&gt;
If you suspend from Gnome and need to run radeontool to turn the backlight off you need to find the suspend script for HAL. In Ubuntu, the scripts are located in /usr/share/hal/scripts/. Add the following the script &amp;quot;hal-system-power-suspend&amp;quot;:&lt;br /&gt;
 chvt 1&lt;br /&gt;
 radeontool light off&lt;br /&gt;
And in the resume script (&amp;quot;restore-after-standby&amp;quot;):&lt;br /&gt;
 radeontool light on&lt;br /&gt;
 chvt 7&lt;br /&gt;
&lt;br /&gt;
This worked for me. YMMV. [[User:Etnoy|Etnoy]] 16:27, 9 November 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
===For models without Radeon graphics===&lt;br /&gt;
The Problem seems to be solved when you use the [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] to turn the LCD off before suspending ...&lt;br /&gt;
:{{cmdroot|vbetool dpms off}}&lt;br /&gt;
and turning it on afterwards again...&lt;br /&gt;
:{{cmdroot|vbetool dpms on}}&lt;br /&gt;
You have to change to a normal console before turning the LCD off.&lt;br /&gt;
Additionally you have to deactivate the Wake-On-Lan feature like mentioned above ...&lt;br /&gt;
:{{cmdroot|ethtool -s eth0 wol d}}&lt;br /&gt;
With these commands used together the &amp;quot;testing script&amp;quot; reports no high power drain while suspending.&lt;br /&gt;
&lt;br /&gt;
==Other problems causing the power drain==&lt;br /&gt;
On my [[R51]] using Gentoo Linux, the high power drain was not caused by the graphics adaptor but by several components not powered down properly before putting the Thinkpad into S3.&lt;br /&gt;
&lt;br /&gt;
If the above did not help you, this might do:&lt;br /&gt;
&lt;br /&gt;
Walk through&lt;br /&gt;
 /sys/devices/*/*/power/state&lt;br /&gt;
and try to disable each of it, every time checking the power drain. (See linux/Documentation/power/devices.txt for values to write into the state-files. 3 should be the value you want to try)&lt;br /&gt;
Do the same for other components (Like the Ultrabay, etc.). Please add your experiences here.&lt;br /&gt;
&lt;br /&gt;
===R51: Ultrabay and networking===&lt;br /&gt;
On my system, ultrabay and networking light were still on while in S3. So were the devices theirselves.&lt;br /&gt;
 echo -n eject &amp;gt; /proc/acpi/ibm/bay     # Disable ultrabay&lt;br /&gt;
 ethtool -s eth0 wol d                  # Disable Wake-On-Lan (And so the eth-adaptor)&lt;br /&gt;
 echo mem &amp;gt; /sys/power/state            # Sleep&lt;br /&gt;
&lt;br /&gt;
For me, this lowered the power drain from &amp;gt;700mW to 338 mW.&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
My initial testing of a [[T43]] (2669-model) revealed no power drain issues. However, after several rounds of BIOS and kernel upgrades I have discovered that the power drain has risen to &amp;gt;700mWh. Having tested things a bit, I have discoved that removing ehci_hcd module solved the high power drain. This is a [[T43]] laptop, with kernel 2.6.17-r5 and BIOS 1.28/EC 1.06. For me, issuing {{cmdroot|modprobe -r ehci_hcd}} before going to sleep and reloading the module ({{cmdroot|modprobe ehci_hcd}}) after waking up dropped the power drain down to 277mWh in suspend2ram, which seems fair. The unloading/reloading can be put into the suitable ACPI script called to suspend the laptop.&lt;br /&gt;
&lt;br /&gt;
===Wake-on-LAN===&lt;br /&gt;
Some additional power savings can be achieved by turning off the wake-on-lan ({{cmdroot|ethtool -s eth0 wol d}}). The power drain of the wol feature is far smaller than the radeon bug, but can be noticeable.&lt;/div&gt;</summary>
		<author><name>Mahto</name></author>
		
	</entry>
</feed>