<?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=Tony2001</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=Tony2001"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Tony2001"/>
	<updated>2026-04-05T16:16:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Intel_WiMAX/WiFi_Link_5150/5350&amp;diff=43851</id>
		<title>Intel WiMAX/WiFi Link 5150/5350</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Intel_WiMAX/WiFi_Link_5150/5350&amp;diff=43851"/>
		<updated>2009-08-10T12:06:32Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: â†Created page with '= Models = Models: {{T500}}  = Identification =  &amp;lt;pre&amp;gt; # lspci | grep Netw 00:19.0 Ethernet controller: Intel Corporation 82567LF Gigabit Network Connection (rev 03) 03:00...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Models =&lt;br /&gt;
Models: {{T500}}&lt;br /&gt;
&lt;br /&gt;
= Identification =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# lspci | grep Netw&lt;br /&gt;
00:19.0 Ethernet controller: Intel Corporation 82567LF Gigabit Network Connection (rev 03)&lt;br /&gt;
03:00.0 Network controller: Intel Corporation Device 423d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''423d''' seems to be a cryptic alias for Intel WiMAX/WiFi Link 5150 controller.&lt;br /&gt;
&lt;br /&gt;
= Support =&lt;br /&gt;
&lt;br /&gt;
Support for Intel WiMAX/WiFi Link 5150/5350 WiFi/WiMAX was added to the kernel since version '''2.6.27''', driver '''iwlagn''' is used for that.&lt;br /&gt;
&lt;br /&gt;
= Firmware =&lt;br /&gt;
&lt;br /&gt;
In order to get it working you need to download proprietary firmware (freely distributed, though) from Intel's site: http://www.intellinuxwireless.org/?n=downloads , look for '''5150 Images'''.&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading unpack the archive and copy the .ucode file into /lib/firmware dir.&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=35225</id>
		<title>How to control fan speed</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=35225"/>
		<updated>2007-12-18T10:53:58Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* Using a patched kernel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses methods for controlling the system fan.&lt;br /&gt;
&lt;br /&gt;
==For Linux==&lt;br /&gt;
===Using a patched kernel===&lt;br /&gt;
{{NOTE|The ibm-acpi driver is part of the Linux kernel 2.6.10 and later (option CONFIG_ACPI_IBM), so patching is not needed anymore.}}&lt;br /&gt;
{{WARN|This patch is superceded by the patches in [[ibm-acpi]] [[Git]] repository or [http://ibm-acpi.sourceforge.net ibm-acpi.sf.net] releases}}&lt;br /&gt;
{{NOTE|Advanced fan control through ibm-acpi has been merged in Linux 2.6.20-rc2 mainline, so users of 2.6.20 won't need to patch their kernels to get the '''fan level''' functionality anymore}}&lt;br /&gt;
&lt;br /&gt;
The [[Patch for controlling fan speed]] provides a convenient interface via {{path|/proc/acpi/ibm/fan}}.&lt;br /&gt;
&lt;br /&gt;
Manual speed control can be done through the [[patch for controlling fan speed]]:&lt;br /&gt;
&lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 level:          auto&lt;br /&gt;
 speed:          4219&lt;br /&gt;
 commands:       enable, disable, level &amp;lt;level&amp;gt;&lt;br /&gt;
                 (&amp;lt;level&amp;gt; is 0-7, auto or disengaged)&lt;br /&gt;
 &lt;br /&gt;
 '''#echo level 2 &amp;gt; /proc/acpi/ibm/fan'''&lt;br /&gt;
 &lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 level:          2&lt;br /&gt;
 speed:          3142&lt;br /&gt;
 commands:       enable, disable, level &amp;lt;level&amp;gt;&lt;br /&gt;
                 (&amp;lt;level&amp;gt; is 0-7, auto or disengaged)&lt;br /&gt;
&lt;br /&gt;
===Using a stock kernel===&lt;br /&gt;
&lt;br /&gt;
If you have the [[ibm-acpi]] module loaded with &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt;, you can control the fan without patching the kernel by directly writing to the relevant embedded controller register using {{path|/proc/acpi/ibm/ecdump}}. &lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x00 &amp;gt; /proc/acpi/ibm/ecdump}} (fan off)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x02 &amp;gt; /proc/acpi/ibm/ecdump}} (low speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x04 &amp;gt; /proc/acpi/ibm/ecdump}} (medium speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x07 &amp;gt; /proc/acpi/ibm/ecdump}} (maximum speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x80 &amp;gt; /proc/acpi/ibm/ecdump}} (automatic - default)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x40 &amp;gt; /proc/acpi/ibm/ecdump}} (disengaged)&lt;br /&gt;
&lt;br /&gt;
See the specifications below for the meaning of these modes.&lt;br /&gt;
&lt;br /&gt;
===On/off control using stock kernel===&lt;br /&gt;
&lt;br /&gt;
If you only wish to turn the fan on and off (with automatic control when it's on), you can use the following.&lt;br /&gt;
&lt;br /&gt;
When loading [[ibm-acpi]] v0.11 with experimental switch ({{cmdroot|1=modprobe ibm_acpi experimental=1}}), it is possible to read and write the status of fan:&lt;br /&gt;
&lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 speed:          3580&lt;br /&gt;
 commands:       enable, disable&lt;br /&gt;
 &lt;br /&gt;
 '''#echo disable &amp;gt; /proc/acpi/ibm/fan'''&lt;br /&gt;
 &lt;br /&gt;
 '''cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         disabled&lt;br /&gt;
 speed:          0&lt;br /&gt;
 commands:       enable, disable&lt;br /&gt;
&lt;br /&gt;
When off, the fan will then '''never''' wake up. It is advised to use an automated control script to reduce the chance of hardware damage.&lt;br /&gt;
&lt;br /&gt;
===Automated control scripts===&lt;br /&gt;
&lt;br /&gt;
An [[ACPI fan control script#Variable speed control scripts|ACPI fan control script]] can be used to override the firmware's fan algorithm with gentler, quieter version. It monitors the laptop's [[thermal sensors]] and sets the fan speed accordingly, according to customizable thresholds. For the default behavior, simply save {{CodeRef|tp-fancontrol}} as {{path|tp-fancontrol}}, make sure you've loaded [[thinkpad-acpi]] with the &amp;quot;fan_control=1&amp;quot; parameter, and run:&amp;lt;br /&amp;gt;&lt;br /&gt;
{{cmdroot|./tp-fancontrol}}&lt;br /&gt;
&lt;br /&gt;
There is an distro independent daemon (http://projekte.f4.fhtw-berlin.de/trac/s0332819-linuxtools/wiki/), written in python. Packages are available for debian based linux systems.&lt;br /&gt;
&lt;br /&gt;
==For Windows==&lt;br /&gt;
&lt;br /&gt;
Shimodax's ThinkPad fan control tool offers similar functionality (see [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com).  Source and binaries are available through the [http://sourceforge.net/projects/tp4xfancontrol &amp;quot;Tp4xFanControl&amp;quot;] project on SourceForge.&lt;br /&gt;
&lt;br /&gt;
==Hardware specs==&lt;br /&gt;
&lt;br /&gt;
The following hardware behavior was discovered experimentally by [[User:Thinker|Thinker]] and neither provided by nor confirmed by IBM/Lenovo. The following description may be inaccurate and may vary by model (see list of models above). The terminology probably does not match the one used by IBM/Lenovo engineers.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Information on other models is included in the [[ibm-acpi]] [[Git]] version.}}&lt;br /&gt;
&lt;br /&gt;
ACPI DSDT register HFSP (8 bits, offset 0x2F in the &amp;lt;tt&amp;gt;EmbeddedController&amp;lt;/tt&amp;gt; address space, accessed through the standard EC interface at IO ports 0x62 and 0x66) is read/writable and has the following meaning:&lt;br /&gt;
 &lt;br /&gt;
 Bits   7 6 5 4 3 2 1 0&lt;br /&gt;
        ---------------&lt;br /&gt;
 Value  1 0 * * * * * *  - automatic&lt;br /&gt;
        * 1 * * * * * *  - disengaged&lt;br /&gt;
        0 0 N N N N N N  - manual (0..63; 0=disable fan, 1=min, ..., 7=max)&lt;br /&gt;
&lt;br /&gt;
Changing modes may not be immediate on all ThinkPads.  Later ThinkPad models seem to take at least 5s to start responding to a fan mode change, for example.&lt;br /&gt;
&lt;br /&gt;
After boot, the HFSP register may not reflect the true state of the EC (on some models it reads 0x07 even though the EC is actually in automatic mode).&lt;br /&gt;
&lt;br /&gt;
=== Fan Tachometer ===&lt;br /&gt;
&lt;br /&gt;
The embedded controller registers 0x84 (LSB), 0x85 (MSB) are the main fan tachometer, and report fan speed in RPM in everything since the {{A31}} and maybe a little earlier.  Not much is know about the tachometer in earlier models, or even whether they had one or not.&lt;br /&gt;
&lt;br /&gt;
=== Automatic mode ===&lt;br /&gt;
In ''automatic'' mode, the embedded controller sets the fan speed automatically according to system temperatures and some unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
Note that the ACPI DSDT may supplement this in some models.  The {{X40}}, for example, changes the profile of speeds the automatic mode should use depending on battery status.&lt;br /&gt;
&lt;br /&gt;
=== Manual mode ===&lt;br /&gt;
&lt;br /&gt;
In ''manual'' mode, the fan level is forced to the given value and the EC will auto-regulate the fan to maintain at a (roughly) constant RPM, which is model-dependent. Manual speed levels 8-63 yield the same behavior as level 7, and the the ACPI DSDT uses level 7 for the emergency mode it enters upon critical CPU/GPU temperature, so apparently 7 is the real maximum level.&lt;br /&gt;
&lt;br /&gt;
=== Disengaged (full-speed) mode ===&lt;br /&gt;
&lt;br /&gt;
In ''disengaged'' mode, the embedded controller does not monitor the fan speed.  It &amp;quot;disengages&amp;quot; the closed-loop control function that keeps track of fan speed, and uses an open-loop control function that ramps up the fan to its maximum speed (100% duty-cycle).  The end speed is not stable, but it is often much faster than the maximum speed manual and automatic modes would set the fan to.&lt;br /&gt;
&lt;br /&gt;
Most newer ThinkPads take quite a while (in excess of one minute) to fully enter disengaged mode.  Exiting it is much faster.  The {{A31}} acts differently, and switches to disengaged mode as fast as it switches to other modes.&lt;br /&gt;
&lt;br /&gt;
For some reason, the embedded controller may stop updating the tachometer registers while entering or exiting disengaged mode in some ThinkPad firmware versions (hence the EC tachometer registers will not be updated on these models while entering/exiting disengaged mode).  Once it arrives at maximum speed, or once it gets back at closed-loop cruise speed, the embedded controller starts updating the tachometer registers again.   Later T models such as the {{T43}} have this problem, while the {{A31}} does not.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Apparently the [[Problem with fan noise|pulsing fan noise]] experienced by some users can be cured by repeatedly running 2-4 seconds of manual control followed by 0.5-1 seconds of disengaged mode. The pulse occurs when the the embedded controller computes the fan speed and adjusts the fan voltage adaptively every few seconds (~4.8sec for the ThinkPad T43); the aforementioned mode switching doesn't give it a chance to do so. One of the [[ACPI fan control script#Variable speed control scripts|ACPI fan control scripts]] implements this solution.}}&lt;br /&gt;
&lt;br /&gt;
==Supported models==&lt;br /&gt;
&lt;br /&gt;
The above was successfully tested on the following models:&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{A31}} (fan levels RPM: 0 = off, 1-2 = ~3280-3380 (!), 3-5 = ~3200, 6-7 = ~3380, &amp;quot;disengaged&amp;quot; = ~4000 (see NOTE above))&lt;br /&gt;
* ThinkPad {{R50}} (highest manual level is 3; disengage mode works and reaches much higher RPM)&lt;br /&gt;
* ThinkPad {{R50p}} (fan levels RPM: 0 = off, 1-2 = ~3200, 3-5 = ~3500-3600, 6-7 = ~3700-3800, disengaged = ~5300)&lt;br /&gt;
* ThinkPad {{R51}} (fan levels RPM: 0 = off, 1-2 = ~3150, 3-5 = ~3350, 6 = ~3750, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R51e}} (fan levels RPM: 0 = off, 1-2 = ~3300, 3-5 = ~3800, 6 = ~4150, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{R52}} (fan levels RPM: 0 = off, 1-2 = ~3350, 3-5 = ~3650, 6 = ~4250, disengaged = ~5245)&lt;br /&gt;
* ThinkPad {{R60}} (fan levels RPM: 0 = off, 1-1 = ~2650, 3-5 = ~3300, 6-7 = ~3950, disengaged = ~4800)&lt;br /&gt;
* ThinkPad {{R60e}}&lt;br /&gt;
* ThinkPad {{T22}}&lt;br /&gt;
* ThinkPad {{T23}} (low speed = ~2200, medium and maximum speed = ~4800; disengaged mode works at ~5800)&lt;br /&gt;
* ThinkPad {{T30}}&lt;br /&gt;
* ThinkPad {{T40}} (fan levels RPM: 1-2 = ~2950, 3-5 = ~3600, 6-7 = ~4050)&lt;br /&gt;
* ThinkPad {{T41}}, {{T41p}} (fan levels RPM: 1-2 = ~2980, 3-5 = ~3500, 6-7 = ~4050; disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{T42}}, {{T42p}} (fan levels RPM: 1-2 = ~2900, 3-5 = ~3700, 6-7 = ~4700; disengaged mode works at ~5200)&lt;br /&gt;
* ThinkPad {{T43}}, {{T43p}} (fan levels RPM: 1-2 = ~3300, 3-5 = ~4100, 6-7 = ~4700; disengaged mode works at ~6450)&lt;br /&gt;
* ThinkPad {{T60}} (fan levels RPM: 1-2 = 3000-3100, 3-5 = ~3600, 6-7 = ~4500; disengaged mode works at ~5500)&lt;br /&gt;
* ThinkPad {{X30}} (level 0 = off, low = ~3900, medium = ~4200, maximum = ~4650, disengaged = ~5900)&lt;br /&gt;
* ThinkPad {{X31}} (fan levels RPM: 0 = off, 1-2 = ~2850, 3-5 = ~3450, 6 = ~4050, 7 = ~4150; disengaged mode works at ~4975)&lt;br /&gt;
* ThinkPad {{X40}}&lt;br /&gt;
* ThinkPad {{X41}}&lt;br /&gt;
* ThinkPad {{X41T}}&lt;br /&gt;
* ThinkPad {{X60}}&lt;br /&gt;
* ThinkPad {{X61s}}&lt;br /&gt;
* ThinkPad {{Z60t}}, {{Z60m}} (fan levels RPM: 1-2 = ~1700, 3-5 = ~2800, 6-7 = ~3500)&lt;br /&gt;
* ThinkPad {{Z61m}}&lt;br /&gt;
* Thinkpad {{Z61p}} (fan levels 0-7, auto, disengaged; enable, disable; watchdog (untested))&lt;br /&gt;
Probably other models are supported too (please update this page if you confirm this; maintain some ordering too).&lt;br /&gt;
&lt;br /&gt;
==Models using a different interface==&lt;br /&gt;
&lt;br /&gt;
The following models also work, use a different access method which supported (only) via the {{path|/proc/acpi/ibm/fan}} of [[ibm-acpi]]. No need for patching.&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{600E}}, {{600X}}, {{770E}}, {{770X}} (these use a different fan control interface)&lt;br /&gt;
&lt;br /&gt;
==Unsupported models==&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{560}} (these models don't have a fan)&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=34733</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=34733"/>
		<updated>2007-11-20T08:38:41Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Video''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
All these steps are not required if you have T61 with Intel graphics card (as I do), in this case everything works just fine out of the box.&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
My T61 comes with &amp;quot;Intel Corporation PRO/Wireless 3945ABG&amp;quot; wifi controller, which worked out of the box without installing any additional drivers (yeah, I did not forgot to insteall iwlwifi and iwl3945 packages during the installation).&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Don't forget to raise volume levels in alsamixer, they are muted by default!&lt;br /&gt;
Everything else is works as expected (mute button mutes, volume up button raises volume and volume down vice versa).&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
No idea about NVidia (I intentionally decided to buy a machine without it, since I'm tired of bugs in their binary-only drivers), but kpowersave is able to change the brightness here. You can do the same using /proc/acpi/ibm/brightness (see `cat /proc/acpi/ibm/brightness`).&lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Bluetooth freezes my machine after waking up from suspend-to-ram (making it almost impossible to debug).&lt;br /&gt;
I don't use any bluetooth devices, so I have just disabled it by `echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth`.&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Yes, it works fine in console, though neither kdm, nor gdm support it, which makes this thing pretty much useless.&lt;br /&gt;
The only advantage is that you don't need to type root password when doing 'su -'.&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;br /&gt;
&lt;br /&gt;
Also working here with the S2RAM_OPTS set properly as above.&lt;br /&gt;
&lt;br /&gt;
== '''Multimedia''' ==&lt;br /&gt;
&lt;br /&gt;
codecs are available here : http://opensuse-community.org/Multimedia#openSUSE_10.3&lt;br /&gt;
&lt;br /&gt;
== '''ThinkVantage''' ==&lt;br /&gt;
&lt;br /&gt;
In order to boot with ThinkVantage, opensuse boot loader should be installed on /.&lt;br /&gt;
The root partition must be a primary partition and must be active.&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=KThinkBat&amp;diff=34407</id>
		<title>KThinkBat</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=KThinkBat&amp;diff=34407"/>
		<updated>2007-11-11T12:48:34Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* openSuSE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
&lt;br /&gt;
[http://lepetitfou.dyndns.org/KThinkBat KThinkBat] is a laptop battery monitor for the KDE-Kicker. It is inspired by the Windows Application &amp;quot;Battery Maximizer&amp;quot; which is included with ThinkPads. &lt;br /&gt;
&lt;br /&gt;
It can use the SMAPI BIOS (through the [[tp_smapi]] driver) or [[How to make ACPI work|ACPI]] to collect the data. It shows you the current power consumption of the laptop and brings support for a second battery. It is fully customizable including sizes, color, fonts and battery number&lt;br /&gt;
&lt;br /&gt;
Homepage: http://lepetitfou.dyndns.org/KThinkBat&lt;br /&gt;
&lt;br /&gt;
Author: [http://lepetitfou.dyndns.org Tobias Roeser]&lt;br /&gt;
&lt;br /&gt;
Latest Version (2007-07-29): 0.2.8&lt;br /&gt;
&lt;br /&gt;
==Screenshot==&lt;br /&gt;
&lt;br /&gt;
[[Image:KThinkBat.png]]&lt;br /&gt;
&lt;br /&gt;
Offline Mode: you see how much charge is left and the current discharging rate.&lt;br /&gt;
&lt;br /&gt;
[[Image:KThinkBat_dual.png]]&lt;br /&gt;
&lt;br /&gt;
Online Mode: you see how much charge is left and the current charging rate. This screenshot is taken with the disabled &amp;quot;summarize batteries&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
KThinkBat uses the autotools. For a standard installation use &lt;br /&gt;
&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su -c 'make install'&lt;br /&gt;
&lt;br /&gt;
Alternatively, to minimize filesystem clutter you can install KThinkBat into {{path|/opt/kthinkbat}} and add just a few symlinks under {{path|/usr}}:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /opt/kthinkbat&lt;br /&gt;
 ./configure --prefix=/opt/kthinkbat&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd /usr/lib/kde3&lt;br /&gt;
 ln -vfs ../../../opt/kthinkbat/lib/* ./&lt;br /&gt;
 cd /usr/share/apps/kicker/applets&lt;br /&gt;
 ln -vfs ../../../../../opt/kthinkbat/share/apps/kicker/applets/kthinkbat.desktop ./&lt;br /&gt;
&lt;br /&gt;
(The above paths are for {{Fedora}} 4 and 5, and may need to be adjusted for other distributions.)&lt;br /&gt;
&lt;br /&gt;
If you already have the applet running, run {{cmduser|killall kicker; kicker}} to restart it.&lt;br /&gt;
&lt;br /&gt;
==Gentoo==&lt;br /&gt;
You can use the ebuild from this [https://lepetitfou.dyndns.org/svn/gentoo/lefous_portage_overlay/ portage overlay], category/package: [https://lepetitfou.dyndns.org/svn/gentoo/lefous_portage_overlay/app-laptop app-laptop]/[https://lepetitfou.dyndns.org/svn/gentoo/lefous_portage_overlay/app-laptop/kthinkbat kthinkbat].&lt;br /&gt;
&lt;br /&gt;
==openSuSE==&lt;br /&gt;
&lt;br /&gt;
KThinkBat is included into the community builds (see KDE/Community/openSUSE_Factory, [[ftp://ftp5.gwdg.de/%2fpub/linux/suse/opensuse/repositories/KDE%3A/Community/openSUSE_Factory/x86_64/ here]] for example), though the version is quite outdated atm - 0.2.2.&lt;br /&gt;
You can find newer versions on [http://linux01.gwdg.de/~pbleser/index.php Guru's RPM Site], see [http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=System/kthinkbat/ RPMs for KThinkBat] compiled for all SuSE versions back to 9.3.&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cp69.de/ unstable main non-free contrib&lt;br /&gt;
 deb-src http://debian.cp69.de/ unstable main non-free contrib&lt;br /&gt;
      &lt;br /&gt;
 deb http://debian.cp69.de/ testing main non-free contrib&lt;br /&gt;
 deb-src http://debian.cp69.de/ testing main non-free contrib&lt;br /&gt;
&lt;br /&gt;
To get the repository key, do a:&lt;br /&gt;
&lt;br /&gt;
 wget http://debian.cp69.de/repo.asc -O - | sudo apt-key add - &lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
* [http://lepetitfou.dyndns.org/KThinkBat#Download Download from the KThinkBat Site]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[How to use UltraBay batteries]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]] [[Category:Gentoo]]&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33732</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33732"/>
		<updated>2007-10-08T14:33:13Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Display''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
All these steps are not required if you have T61 with Intel graphics card (as I do), in this case everything works just fine out of the box.&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
My T61 comes with &amp;quot;Intel Corporation PRO/Wireless 3945ABG&amp;quot; wifi controller, which worked out of the box without installing any additional drivers (yeah, I did not forgot to insteall iwlwifi and iwl3945 packages during the installation).&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Don't forget to raise volume levels in alsamixer, they are muted by default!&lt;br /&gt;
Everything else is works as expected (mute button mutes, volume up button raises volume and volume down vice versa).&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
No idea about NVidia (I intentionally decided to buy a machine without it, since I'm tired of bugs in their binary-only drivers), but kpowersave is able to change the brightness here. You can do the same using /proc/acpi/ibm/brightness (see `cat /proc/acpi/ibm/brightness`).&lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Bluetooth freezes my machine after waking up from suspend-to-ram (making it almost impossible to debug).&lt;br /&gt;
I don't use any bluetooth devices, so I have just disabled it by `echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth`.&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Yes, it works fine in console, though neither kdm, nor gdm support it, which makes this thing pretty much useless.&lt;br /&gt;
The only advantage is that you don't need to type root password when doing 'su -'.&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33729</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33729"/>
		<updated>2007-10-08T14:31:00Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Sound''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
All these steps are not required if you have T61 with Intel graphics card (as I do), in this case everything works just fine out of the box.&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
My T61 comes with &amp;quot;Intel Corporation PRO/Wireless 3945ABG&amp;quot; wifi controller, which worked out of the box without installing any additional drivers (yeah, I did not forgot to insteall iwlwifi and iwl3945 packages during the installation).&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Don't forget to raise volume levels in alsamixer, they are muted by default!&lt;br /&gt;
Everything else is works as expected (mute button mutes, volume up button raises volume and volume down vice versa).&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure. &lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Bluetooth freezes my machine after waking up from suspend-to-ram (making it almost impossible to debug).&lt;br /&gt;
I don't use any bluetooth devices, so I have just disabled it by `echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth`.&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Yes, it works fine in console, though neither kdm, nor gdm support it, which makes this thing pretty much useless.&lt;br /&gt;
The only advantage is that you don't need to type root password when doing 'su -'.&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33726</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33726"/>
		<updated>2007-10-08T14:28:51Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Wireless''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
All these steps are not required if you have T61 with Intel graphics card (as I do), in this case everything works just fine out of the box.&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
My T61 comes with &amp;quot;Intel Corporation PRO/Wireless 3945ABG&amp;quot; wifi controller, which worked out of the box without installing any additional drivers (yeah, I did not forgot to insteall iwlwifi and iwl3945 packages during the installation).&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure. &lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Bluetooth freezes my machine after waking up from suspend-to-ram (making it almost impossible to debug).&lt;br /&gt;
I don't use any bluetooth devices, so I have just disabled it by `echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth`.&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Yes, it works fine in console, though neither kdm, nor gdm support it, which makes this thing pretty much useless.&lt;br /&gt;
The only advantage is that you don't need to type root password when doing 'su -'.&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33725</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33725"/>
		<updated>2007-10-08T14:26:40Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Video''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
All these steps are not required if you have T61 with Intel graphics card (as I do), in this case everything works just fine out of the box.&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure. &lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Bluetooth freezes my machine after waking up from suspend-to-ram (making it almost impossible to debug).&lt;br /&gt;
I don't use any bluetooth devices, so I have just disabled it by `echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth`.&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Yes, it works fine in console, though neither kdm, nor gdm support it, which makes this thing pretty much useless.&lt;br /&gt;
The only advantage is that you don't need to type root password when doing 'su -'.&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33724</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33724"/>
		<updated>2007-10-08T14:25:36Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Bluetooth''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure. &lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Bluetooth freezes my machine after waking up from suspend-to-ram (making it almost impossible to debug).&lt;br /&gt;
I don't use any bluetooth devices, so I have just disabled it by `echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth`.&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Yes, it works fine in console, though neither kdm, nor gdm support it, which makes this thing pretty much useless.&lt;br /&gt;
The only advantage is that you don't need to type root password when doing 'su -'.&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33723</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33723"/>
		<updated>2007-10-08T14:24:02Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Suspend and Suspend to Disk''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure. &lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Yes, it works fine in console, though neither kdm, nor gdm support it, which makes this thing pretty much useless.&lt;br /&gt;
The only advantage is that you don't need to type root password when doing 'su -'.&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33722</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33722"/>
		<updated>2007-10-08T14:23:51Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Think finger''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure. &lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Yes, it works fine in console, though neither kdm, nor gdm support it, which makes this thing pretty much useless.&lt;br /&gt;
The only advantage is that you don't need to type root password when doing 'su -'.&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33721</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33721"/>
		<updated>2007-10-08T14:22:11Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Suspend and Suspend to Disk''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure. &lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33720</id>
		<title>Installing openSUSE 10.3 GM on a ThinkPad T61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_openSUSE_10.3_GM_on_a_ThinkPad_T61&amp;diff=33720"/>
		<updated>2007-10-08T14:21:26Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: /* '''Suspend and Suspend to Disk''' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are my specs on my thinkpad t61&lt;br /&gt;
&lt;br /&gt;
2.0GHz 4meg cache core 2 duo&lt;br /&gt;
&lt;br /&gt;
2 gigs of ram&lt;br /&gt;
&lt;br /&gt;
nvidia nv140 128 megs of ram&lt;br /&gt;
&lt;br /&gt;
14.1 inch 1440x900 display&lt;br /&gt;
&lt;br /&gt;
atheros a/b/g wireless card&lt;br /&gt;
&lt;br /&gt;
Think finger&lt;br /&gt;
&lt;br /&gt;
100 GB 7200 RPM hard drive&lt;br /&gt;
&lt;br /&gt;
There are other configurations out there, so hopefully people with the different parts can do their part and chip with how they got their to work.&lt;br /&gt;
&lt;br /&gt;
== '''Video''' ==&lt;br /&gt;
Thinkpads have an option for either an nv140 or an Intel card.  I only have the nvidia option, so someone else can add the Intel card.&lt;br /&gt;
&lt;br /&gt;
'''Nvidia'''&lt;br /&gt;
There are multiple ways to do it, but I am going to do the old fashioned way from nvidia, while it may be a little harder, you can do it with any driver.&lt;br /&gt;
&lt;br /&gt;
1. Download the linux x86_64 driver from http://www.nvidia.com, note where you download it to.  Also ensure that you installed &amp;quot;Linux kernel development&amp;quot; under yast, software.&lt;br /&gt;
&lt;br /&gt;
2. once done, open a terminal console with a &amp;quot;ctrl- alt - f2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. login as root&lt;br /&gt;
&lt;br /&gt;
4. execute the command ''init 3''&lt;br /&gt;
&lt;br /&gt;
5. After it is done (a few seconds later), hit enter once&lt;br /&gt;
&lt;br /&gt;
6. cd to where you downloaded the file (by default /home/$USERNAME/Desktop where $USERNAME is the user WHO DOWNLOADED THE FILE)&lt;br /&gt;
&lt;br /&gt;
7. execute''sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run''&lt;br /&gt;
&lt;br /&gt;
8. Answer a bunch of questions, at the end answer yes to setting up you xorg.conf file.&lt;br /&gt;
&lt;br /&gt;
9. Run a ''init 6'' to reboot&lt;br /&gt;
&lt;br /&gt;
== '''Wireless''' ==&lt;br /&gt;
&lt;br /&gt;
To my knowledge this laptop comes with an option for 3 different wireless network cards.  Here are my instructions for the atheros, I am hoping someone else can write the instructions for everything else.&lt;br /&gt;
&lt;br /&gt;
'''Atheros:'''&lt;br /&gt;
1.Go to madwifi's home page (using the wired Ethernet will work, or you can use another machine) http://madwifi.org/.  From this website you can download the driver.&lt;br /&gt;
&lt;br /&gt;
2. Open up the command line (konsole) and &amp;quot;Untar&amp;quot; the file with a ''tar xvf madwifi-0.9.3.2.tar.gz''&lt;br /&gt;
&lt;br /&gt;
3. Switch to the root user with ''su'' then change into the directory with a ''cd madwifi-0.9.3.2''&lt;br /&gt;
&lt;br /&gt;
4. compile the driver and load the module (it is really easy, I promise) with a ''make ; make install; modprobe ath_pci''.  You should get a bunch of jibberish on your screen and a few minutes later it will be done.&lt;br /&gt;
&lt;br /&gt;
4. Open up yast by hitting &amp;quot;alt-f2&amp;quot; and typing in &amp;quot;yast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Go to network devices -&amp;gt; Network card -&amp;gt; add&lt;br /&gt;
&lt;br /&gt;
6. Select the device type to wireless&lt;br /&gt;
&lt;br /&gt;
7. add to the module name ath_pci and hit next.&lt;br /&gt;
&lt;br /&gt;
8. configure it for your network&lt;br /&gt;
&lt;br /&gt;
9. Once you reboot you should be good to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Sound''' ==&lt;br /&gt;
&lt;br /&gt;
Sound works out of the box, it is just set up a little funky.  In KDE if you go to the speaker icon and click on it, then go to &amp;quot;mixer&amp;quot; to get to the settings.  Here you will raise the volume on &amp;quot;PCM&amp;quot;.  Then go to the tab &amp;quot;switches&amp;quot; and ensure that speaker is turned on.  Once you are done right click on the speaker icon again and go to &amp;quot;select master control&amp;quot;.  Select &amp;quot;PCM&amp;quot; and hit ok.  Your buttons will now to raise and lower the volume.  Mute does nothing though.&lt;br /&gt;
&lt;br /&gt;
== '''Display''' ==&lt;br /&gt;
&lt;br /&gt;
1440x900 working great.  Selected 16:10 aspect ratio when installing and then the resolution and it is working fine.&lt;br /&gt;
The brightness adjuster doesn't work in X.org.  You need to switch to a console (ctrl - alt - f2) to lower the brightness, then switch back (ctrl - alt - f7).  Hopefully someone gets this working!  I am pretty sure it is an issue with the nvidia driver, but I can't be for sure. &lt;br /&gt;
&lt;br /&gt;
== '''Bluetooth''' ==&lt;br /&gt;
&lt;br /&gt;
Works like a champ, I set up a wireless mouse with it using KDE, no problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Think finger''' ==&lt;br /&gt;
&lt;br /&gt;
Coolest feature of this laptop, of course we need to get it working.&lt;br /&gt;
&lt;br /&gt;
1. Go to yast (alt-f2 and type in yast) then &amp;quot;hardware&amp;quot; -&amp;gt; &amp;quot;Fingerprint Reader&amp;quot;.  Just simply enable it and then hit finish.  Yast will install a few packages and you are ready to set it up.&lt;br /&gt;
&lt;br /&gt;
2. From the console execute ''tf-tool --add-user $USERNAME'' where username is your username.&lt;br /&gt;
&lt;br /&gt;
3. Swipe your finger successfully three times and you are done, to login type in your username and then swipe your finger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Suspend and Suspend to Disk''' ==&lt;br /&gt;
&lt;br /&gt;
Not working so well, hit suspend and it does nothing.  Suspend to disk works, and then won't successfully wake up.&lt;br /&gt;
&lt;br /&gt;
***&lt;br /&gt;
Works like a charm here, both to ram and to disk.&lt;br /&gt;
Checkout kpowersave settings and make sure you have this line: S2RAM_OPTS=&amp;quot;-f -a3&amp;quot; in /etc/pm/config.d/defaults (-f is needed because T61 is quite new and not yet listed in s2ram database).&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=32957</id>
		<title>Problems with ACPI suspend-to-ram</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_ACPI_suspend-to-ram&amp;diff=32957"/>
		<updated>2007-09-06T20:28:13Z</updated>

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

		<summary type="html">&lt;p&gt;Tony2001: /* tp_smapi inhbit_charge_minutes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==tp_smapi inhbit_charge_minutes==&lt;br /&gt;
Regarding your edit to [[tp_smapi]]: how does inhbit_charge_minutes fail, and what's does ''dmesg'' say when you write to that attribute?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:05, 28 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
It does not fail, but it doesn't take any effect.&lt;br /&gt;
dmesg says that inhabit_charge_minutes has been set, but the battery's state is still &amp;quot;idle&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes&lt;br /&gt;
# dmesg&lt;br /&gt;
...&lt;br /&gt;
smapi smapi: set_inhibit_charge_minutes: set to 1 for bat=0&lt;br /&gt;
&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state&lt;br /&gt;
idle&lt;br /&gt;
&lt;br /&gt;
--[[User:tony2001|tony2001]]&lt;br /&gt;
&lt;br /&gt;
That's the expected behavior. To test, write 3 to inhibit_charge_minutes when the battery is charging. It should stop charging for 3 minutes, and then resume charging.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:45, 29 August 2007 (UTC)&lt;br /&gt;
&lt;br /&gt;
Oh. Ok, then I guess everything works fine.&lt;br /&gt;
&lt;br /&gt;
--[[User:tony2001|tony2001]]&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User_talk:Thinker&amp;diff=32718</id>
		<title>User talk:Thinker</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User_talk:Thinker&amp;diff=32718"/>
		<updated>2007-08-29T10:14:08Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, &lt;br /&gt;
&lt;br /&gt;
regarding those issues with R&amp;amp;R from grub: two things seem quite crucial to me after a bit of experimenting: one must not touch the mbr and one must not touch the partition type for that recovery partition (T43). As long as these two are observed, the rest seems to be fine. I am using this in my grub.conf:&lt;br /&gt;
&lt;br /&gt;
title=IBM rescue and recover&lt;br /&gt;
rootnoverify (hd0,1)&lt;br /&gt;
chainloader +1&lt;br /&gt;
&lt;br /&gt;
Partition type is 0x12 (compaq diagnostics in fdisk) and the MBR is T43's &amp;quot;factory&amp;quot; one.&lt;br /&gt;
&lt;br /&gt;
[[User:Igor|Igor]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I had to put GRUB in the MBR, since the default MBR would always boot into the Windows partition, even if I put GRUB in a primary partition and marked (only) that partition bootable.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 01:10, 25 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Okey, here is what I did. I hosed the MBR during my bizarre experiments, but IBM has been kind enough to release a floppy fixer for that (somewhere else on the wiki). In no particular order:&lt;br /&gt;
&lt;br /&gt;
* Restore the original MBR&lt;br /&gt;
* Install grub into the boot partition (sda3). Not the drive (sda), but the boot partition (sda3).&lt;br /&gt;
* Mark sda3 as bootable. This must be the ONLY bootable partition.&lt;br /&gt;
* Make sure that the partition types are correct: NTFS for WinXP (sda1), 0x12 for R&amp;amp;R (sda2), 0x83 for /boot&lt;br /&gt;
* Conjure a suitable grub.conf. Mine is:&lt;br /&gt;
&lt;br /&gt;
  title=Gentoo Linux 2.6.15-r1 (gentoo-sources) + (ibm-acpi)&lt;br /&gt;
  root (hd0,2)&lt;br /&gt;
  kernel /vmlinuz-2.6.15-gentoo-r1 acpi_sleep=s3_bios pci=noacpi libata.atapi_enabled=1&lt;br /&gt;
&lt;br /&gt;
  title=Windows XP&lt;br /&gt;
  rootnoverify (hd0,0)&lt;br /&gt;
  chainloader +1&lt;br /&gt;
&lt;br /&gt;
That's it folks :)&lt;br /&gt;
--[[User:Igor|Igor]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Another thing to try for restauring the MBR is to restore the laptop to the factory state. If other OSes are *NOT* on the first primary partition, a little fiddling with the partition layout in fdisk should restore the partition picture before the restore (factory state restore will restore windows, but it will not touch any partitions except for the first one).&lt;br /&gt;
&lt;br /&gt;
--[[User:Igor|Igor]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks, but I did exactly that, and it never booted into GRUB. No idea why; I triple-checked the bootable partition flags, but the factory MBR just didn't seem to care about them. Eventually I just gave up on R&amp;amp;R and relaimed its 4GB of diskspace (of course, I have backup discs). Is there something particularly exciting that R&amp;amp;R can and IBM's PC Doctor bootable CD can't do?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 09:47, 25 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Not that I know of. The only useful scenario is a diagnostic by PC doctor, without any rescue CDs around. BIOS POST -&amp;gt; R&amp;amp;R -&amp;gt; reboot -&amp;gt; Diagnostic. It is just that it is supposed to work. Strange that it did not boot into GRUB.&lt;br /&gt;
&lt;br /&gt;
--[[User:Igor|Igor]]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Regarding your edit to tp_smapi: how does inhbit_charge_minutes fail, and what's does dmesg say when you write to that attribute?&lt;br /&gt;
&lt;br /&gt;
It does not fail, but it doesn't take any effect.&lt;br /&gt;
dmesg says that inhabit_charge_minutes has been set, but the battery's state is still &amp;quot;idle&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes&lt;br /&gt;
# dmesg&lt;br /&gt;
...&lt;br /&gt;
smapi smapi: set_inhibit_charge_minutes: set to 1 for bat=0&lt;br /&gt;
&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state&lt;br /&gt;
idle&lt;br /&gt;
&lt;br /&gt;
--[[User:tony2001|tony2001]]&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_enable_the_integrated_fingerprint_reader_with_ThinkFinger&amp;diff=32661</id>
		<title>How to enable the integrated fingerprint reader with ThinkFinger</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_enable_the_integrated_fingerprint_reader_with_ThinkFinger&amp;diff=32661"/>
		<updated>2007-08-28T20:20:00Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[How to enable the fingerprint reader]] has a good explanation for using the fingerprint reader with the closed-source binary driver. But there is also an opensource project called [http://thinkfinger.sourceforge.net ThinkFinger] which does the same, but open.&lt;br /&gt;
&lt;br /&gt;
== Installing from source ==&lt;br /&gt;
Speaking for Debian, there are no packages of ThinkFinger in the repositories yet (cf. [http://bugs.debian.org/409563 bug #409563]), so I describe the installation from source. If you are using Gentoo, you can just emerge sys-auth/thinkfinger.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|packages for Debian (testing) are available here: [http://www.rubixlinux.org/debian/thinkfinger/]}}&lt;br /&gt;
{{NOTE|packages for Fedora Core 6 are available in &amp;quot;extras&amp;quot; repository (#yum install thinkfinger)}}&lt;br /&gt;
{{NOTE|openSUSE 10.2 includes the package &amp;quot;libthinkfinger&amp;quot; (version 0.1-7) - you will find newer packages here: [http://beta1.suse.com/private/thoenig/10.2/thinkfinger/]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Download thinkfinger-0.3.tar.gz from the [http://thinkfinger.sourceforge.net/ homepage] and unpack it somewhere, make sure you have the gcc compiler, libtool, pkgconfig, libusb-dev and libpam0g-dev installed, then:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|cd thinkfinger-0.3}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;$&amp;lt;/nowiki&amp;gt; ./configure --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cmduser|make}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|/lib/security is the dir, where pam assumes its modules on Debian and openSUSE, it may vary for your distro!}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|for openSUSE use this configure-command:}}&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;$&amp;lt;/nowiki&amp;gt; ./configure --prefix=/usr --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything went ok assert that you find pam_thinkfinger.so in /lib/security typing:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|ls /lib/security}}&lt;br /&gt;
&lt;br /&gt;
== Testing the driver ==&lt;br /&gt;
Now the driver is installed and should be working. You can try it (as root) with&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|tf-tool --acquire}}&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|tf-tool --verify}}&lt;br /&gt;
&lt;br /&gt;
This will ask you to swipe your finger three times, save the fingerprint to /tmp/test.bir and then verify your fingerprint with the bir-file.&lt;br /&gt;
&lt;br /&gt;
== Configuring PAM to use ThinkFinger ==&lt;br /&gt;
Now you can configure pam to use ThinkFinger:&lt;br /&gt;
&lt;br /&gt;
Open /etc/pam.d/common-auth:&lt;br /&gt;
{{NOTE|In FC6 this file is &amp;quot;/etc/pam.d/system-auth&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|nano -w /etc/pam.d/common-auth}}&lt;br /&gt;
&lt;br /&gt;
Add this line before any pam_unix or pam_unix2 directives:&lt;br /&gt;
 auth     sufficient     pam_thinkfinger.so&lt;br /&gt;
&lt;br /&gt;
If your PAM uses the pam_unix and not the pam_unix2 module, you need to pass a specific argument in&lt;br /&gt;
the /etc/pam.d/common-auth directive to make it consider the password entered at the pam_thinkfinger prompt.&lt;br /&gt;
 auth     required     pam_unix.so try_first_pass&lt;br /&gt;
&lt;br /&gt;
For instance my /etc/pam.d/common-auth looks like this:&lt;br /&gt;
 auth    sufficient      pam_thinkfinger.so&lt;br /&gt;
 auth    required        pam_unix.so nullok_secure try_first_pass&lt;br /&gt;
&lt;br /&gt;
On openSUSE 10.2 it looks like this now:&lt;br /&gt;
 auth    required        pam_env.so&lt;br /&gt;
 auth    sufficient      pam_thinkfinger.so&lt;br /&gt;
 auth    required        pam_unix2.so&lt;br /&gt;
&lt;br /&gt;
Now we are ready to add users to thinkfinger. As make install did not create /etc/pam_thinkfinger, we need to create it now:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkdir /etc/pam_thinkfinger}}&lt;br /&gt;
&lt;br /&gt;
And now we can add a fingerprint for a user with:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|tf-tool --add-user $USERNAME}}&lt;br /&gt;
&lt;br /&gt;
Now the user should be able to login with his finger, instead of the password.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|You should see the &amp;quot;Password or swipe finger:&amp;quot; prompt when trying to sudo or su. If you don't, you probably do not have the &amp;quot;User level driver support&amp;quot; compiled into your kernel or the &amp;quot;uinput&amp;quot; module loaded!}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If you would like to use thinkfinger for su, you have to enroll fingerprint for root user! (tf-tool --add-user root)}}&lt;br /&gt;
{{NOTE|gksu/gksudo seems to break. However, it just stays invisible. When starting a su privileged application such as synaptics you will not get prompted for the password. Nevertheless you can swipe your finger and it should authenticate you. Starting synaptics twice makes gksudo visible.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Using gksu/gksudo in ubuntu Feist Fawn (7.04) with thinkfinger enabled, crashed gksu/gksudo everytime I tried to authenticate.&lt;br /&gt;
Changing the string &amp;quot;Password or swipe finger:&amp;quot; to a plain &amp;quot;Password:&amp;quot; (like sudo normally would do) in the file pam/pam_thinkfinger.c of the thinkfinger source directory, fixed this behavior ( I'm using thinkfinger 0.3 ). Of course in the Console you will then only see a &amp;quot;Password:&amp;quot; instead of &amp;quot;Password or swipe finger:&amp;quot; but this is still more usefull than having gksu/gksudo crashing everytime :).}}&lt;br /&gt;
&lt;br /&gt;
Integration in KDE and kdm seems not to be easily possible now. There is a filed bug at kde.org where you can vote for this: [https://bugs.kde.org/show_bug.cgi?id=116682].&lt;br /&gt;
&lt;br /&gt;
Moreover, kdm in openSUSE 10.3 crashes for me when pam_thinkfinger enabled.&lt;br /&gt;
I was able to &amp;quot;workaround&amp;quot; this by downgrading thinkfinger to 0.22 instead of 0.3 (the latest at the moment).&lt;br /&gt;
So atm kdm does not crash anymore, but pam_thinkfinger is only used in shell.&lt;br /&gt;
&lt;br /&gt;
This Howto was copied from [[Installing Ubuntu 6.06 on a ThinkPad T43#Fingerprint_Reader]] and then slightly modified by me.&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_enable_the_integrated_fingerprint_reader_with_ThinkFinger&amp;diff=32660</id>
		<title>How to enable the integrated fingerprint reader with ThinkFinger</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_enable_the_integrated_fingerprint_reader_with_ThinkFinger&amp;diff=32660"/>
		<updated>2007-08-28T20:17:54Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[How to enable the fingerprint reader]] has a good explanation for using the fingerprint reader with the closed-source binary driver. But there is also an opensource project called [http://thinkfinger.sourceforge.net ThinkFinger] which does the same, but open.&lt;br /&gt;
&lt;br /&gt;
== Installing from source ==&lt;br /&gt;
Speaking for Debian, there are no packages of ThinkFinger in the repositories yet (cf. [http://bugs.debian.org/409563 bug #409563]), so I describe the installation from source. If you are using Gentoo, you can just emerge sys-auth/thinkfinger.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|packages for Debian (testing) are available here: [http://www.rubixlinux.org/debian/thinkfinger/]}}&lt;br /&gt;
{{NOTE|packages for Fedora Core 6 are available in &amp;quot;extras&amp;quot; repository (#yum install thinkfinger)}}&lt;br /&gt;
{{NOTE|openSUSE 10.2 includes the package &amp;quot;libthinkfinger&amp;quot; (version 0.1-7) - you will find newer packages here: [http://beta1.suse.com/private/thoenig/10.2/thinkfinger/]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Download thinkfinger-0.3.tar.gz from the [http://thinkfinger.sourceforge.net/ homepage] and unpack it somewhere, make sure you have the gcc compiler, libtool, pkgconfig, libusb-dev and libpam0g-dev installed, then:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|cd thinkfinger-0.3}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;$&amp;lt;/nowiki&amp;gt; ./configure --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{cmduser|make}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|/lib/security is the dir, where pam assumes its modules on Debian and openSUSE, it may vary for your distro!}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|for openSUSE use this configure-command:}}&lt;br /&gt;
&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;$&amp;lt;/nowiki&amp;gt; ./configure --prefix=/usr --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything went ok assert that you find pam_thinkfinger.so in /lib/security typing:&lt;br /&gt;
&lt;br /&gt;
{{cmduser|ls /lib/security}}&lt;br /&gt;
&lt;br /&gt;
== Testing the driver ==&lt;br /&gt;
Now the driver is installed and should be working. You can try it (as root) with&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|tf-tool --acquire}}&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|tf-tool --verify}}&lt;br /&gt;
&lt;br /&gt;
This will ask you to swipe your finger three times, save the fingerprint to /tmp/test.bir and then verify your fingerprint with the bir-file.&lt;br /&gt;
&lt;br /&gt;
== Configuring PAM to use ThinkFinger ==&lt;br /&gt;
Now you can configure pam to use ThinkFinger:&lt;br /&gt;
&lt;br /&gt;
Open /etc/pam.d/common-auth:&lt;br /&gt;
{{NOTE|In FC6 this file is &amp;quot;/etc/pam.d/system-auth&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|nano -w /etc/pam.d/common-auth}}&lt;br /&gt;
&lt;br /&gt;
Add this line before any pam_unix or pam_unix2 directives:&lt;br /&gt;
 auth     sufficient     pam_thinkfinger.so&lt;br /&gt;
&lt;br /&gt;
If your PAM uses the pam_unix and not the pam_unix2 module, you need to pass a specific argument in&lt;br /&gt;
the /etc/pam.d/common-auth directive to make it consider the password entered at the pam_thinkfinger prompt.&lt;br /&gt;
 auth     required     pam_unix.so try_first_pass&lt;br /&gt;
&lt;br /&gt;
For instance my /etc/pam.d/common-auth looks like this:&lt;br /&gt;
 auth    sufficient      pam_thinkfinger.so&lt;br /&gt;
 auth    required        pam_unix.so nullok_secure try_first_pass&lt;br /&gt;
&lt;br /&gt;
On openSUSE 10.2 it looks like this now:&lt;br /&gt;
 auth    required        pam_env.so&lt;br /&gt;
 auth    sufficient      pam_thinkfinger.so&lt;br /&gt;
 auth    required        pam_unix2.so&lt;br /&gt;
&lt;br /&gt;
Now we are ready to add users to thinkfinger. As make install did not create /etc/pam_thinkfinger, we need to create it now:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|mkdir /etc/pam_thinkfinger}}&lt;br /&gt;
&lt;br /&gt;
And now we can add a fingerprint for a user with:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|tf-tool --add-user $USERNAME}}&lt;br /&gt;
&lt;br /&gt;
Now the user should be able to login with his finger, instead of the password.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|You should see the &amp;quot;Password or swipe finger:&amp;quot; prompt when trying to sudo or su. If you don't, you probably do not have the &amp;quot;User level driver support&amp;quot; compiled into your kernel or the &amp;quot;uinput&amp;quot; module loaded!}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If you would like to use thinkfinger for su, you have to enroll fingerprint for root user! (tf-tool --add-user root)}}&lt;br /&gt;
{{NOTE|gksu/gksudo seems to break. However, it just stays invisible. When starting a su privileged application such as synaptics you will not get prompted for the password. Nevertheless you can swipe your finger and it should authenticate you. Starting synaptics twice makes gksudo visible.}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Using gksu/gksudo in ubuntu Feist Fawn (7.04) with thinkfinger enabled, crashed gksu/gksudo everytime I tried to authenticate.&lt;br /&gt;
Changing the string &amp;quot;Password or swipe finger:&amp;quot; to a plain &amp;quot;Password:&amp;quot; (like sudo normally would do) in the file pam/pam_thinkfinger.c of the thinkfinger source directory, fixed this behavior ( I'm using thinkfinger 0.3 ). Of course in the Console you will then only see a &amp;quot;Password:&amp;quot; instead of &amp;quot;Password or swipe finger:&amp;quot; but this is still more usefull than having gksu/gksudo crashing everytime :).}}&lt;br /&gt;
&lt;br /&gt;
Integration in KDE and kdm seems not to be easily possible now. There is a filed bug at kde.org where you can vote for this: [https://bugs.kde.org/show_bug.cgi?id=116682].&lt;br /&gt;
Moreover, kdm in openSUSE 10.3 crashes for me when pam_thinkfinger enabled.&lt;br /&gt;
I was able to &amp;quot;workaround&amp;quot; this downgrading thinkfinger to 0.22 instead of 0.3 (the latest at the moment).&lt;br /&gt;
So atm it works in shell, but kdm does not crash anymore.&lt;br /&gt;
&lt;br /&gt;
This Howto was copied from [[Installing Ubuntu 6.06 on a ThinkPad T43#Fingerprint_Reader]] and then slightly modified by me.&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=32659</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=32659"/>
		<updated>2007-08-28T20:13:37Z</updated>

		<summary type="html">&lt;p&gt;Tony2001: &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;
The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module exposes some features of the ThinkPad hardware/firmware via a &amp;lt;tt&amp;gt;sysfs&amp;lt;/tt&amp;gt; interface. Currently, the main implemented functionality is control of battery charging and extended battery status. The underlying hardware interfaces are [[SMAPI support for Linux|SMAPI]] and direct access to the embedded controller.&lt;br /&gt;
&lt;br /&gt;
For older ThinkPad models, see also [[tpctl]].&lt;br /&gt;
&lt;br /&gt;
{{WARN|This driver uses undocumented features and direct hardware access. It thus cannot be guaranteed to work and could conceivably damage your computer (though so far no incidents have been reported).}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Battery charge/discharge control&lt;br /&gt;
*Battery status information&lt;br /&gt;
&lt;br /&gt;
===Project Homepage / Availability===&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* You need to [http://sourceforge.net/project/showfiles.php?group_id=1212&amp;amp;package_id=171579 download] only the &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Installation from source====&lt;br /&gt;
You will need the kernel headers and makefiles corresponding to your current kernel version. On {{Fedora}}, this means {{cmdroot|yum install kernel-devel-$(uname -r)}} .&lt;br /&gt;
&lt;br /&gt;
For testing, you can simply compile and load the driver within the current&lt;br /&gt;
working directory:&lt;br /&gt;
:{{cmdroot|tar xzvf tp_smapi-0.32.tgz}}&lt;br /&gt;
:{{cmdroot|cd tp_smapi-0.32}}&lt;br /&gt;
:{{cmdroot|make load}}&lt;br /&gt;
&lt;br /&gt;
To compile and install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, add &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; to also patch the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; for compatibility with &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (this requires a kernel source tree matching the current kernel):&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
or, to compile and install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To prepare a stand-alone patch against the current kernel tree (including&lt;br /&gt;
a patch against &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; and new &amp;lt;tt&amp;gt;Kconfig&amp;lt;/tt&amp;gt; entries):&lt;br /&gt;
:{{cmdroot|make patch}}&lt;br /&gt;
&lt;br /&gt;
To delete all autogenerated files:&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
&lt;br /&gt;
The original kernel tree is never modified by any these commands. &lt;br /&gt;
The {{path|/lib/modules}} directory is modified only by {{cmdroot|make install}}.&lt;br /&gt;
&lt;br /&gt;
====Installation in Gentoo====&lt;br /&gt;
The {{Gentoo}} portage system carries a [http://packages.gentoo.org/packages/?category=app-laptop;name=tp_smapi tp_smapi package], which follows the latest version pretty closely. On a Gentoo system, you can install and load as follows.&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, do this first:&lt;br /&gt;
&lt;br /&gt;
* Configure &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; as module in your kernel&lt;br /&gt;
* Add the &amp;lt;tt&amp;gt;HDAPS&amp;lt;/tt&amp;gt; use flag in {{path|/etc/make.conf}}&lt;br /&gt;
* {{cmdroot|rmmod hdaps}}&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
* {{cmdroot|emerge tp_smapi}} (or install tp_smapi with hdaps support manually, as above)&lt;br /&gt;
* {{cmdroot|echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
* {{cmdroot|echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
&lt;br /&gt;
Then reboot, or run:&lt;br /&gt;
* {{cmdroot|modprobe tp_smapi}}&lt;br /&gt;
* {{cmdroot|modprobe hdaps}}&lt;br /&gt;
&lt;br /&gt;
====Installation on Ubuntu/Debian====&lt;br /&gt;
&lt;br /&gt;
Installation on Ubuntu or Debian is quite easy, but there are a few things to look after:&lt;br /&gt;
&lt;br /&gt;
To get your system ready for compiling code, install the build-essentials (as root, of course, as all of the following comands; Ubuntu users have to prepend 'sudo' to every line and enter their own password when prompted):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install build-essentials&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi to work, obtain the latest source as mentioned above and unpack it. If you want to use HDAPS, you need to install the kernel source matching te kernel you are running. To do so, issue this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;uname -r&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give you the version of your current kernel. As Ubuntu adds '-generic' to the kernel-version, the following command works for Debian users only:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ubuntu users use the kernel-version they got by the command before, e.g. 'linux-source-2.6.20'&lt;br /&gt;
&lt;br /&gt;
Now change to the tp_smapi dir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd tp_smapi-X.YY&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (X.YY being the version-number of [[tp_smapi]])&lt;br /&gt;
and make and install tp_smapi as instructed above.&lt;br /&gt;
&lt;br /&gt;
If you get an error that the kernel version isn't matching, please check that there is a symlink from the modules dir to the kernel source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ls -l /lib/modules/2.6.20-6-generic&lt;br /&gt;
lrwxrwxrwx  1 root root     28 2007-02-02 08:39 source -&amp;gt; /usr/src/linux-source-2.6.20&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create the link if the line above is not existent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ln -s /usr/src/linux-source-2.6.20 /lib/modules/2.6.20-6-generic/source&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the following will build and install the correct modules to their locations:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;make install HDAPS=1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make sure your system loads the modules at boot time, do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and update your initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi running now, just load the modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;modprobe -a tp_smapi hdaps&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This description was tested on Kubuntu 'Feisty Fawn' and should work on all Debian-based distros with minor tweaks.&lt;br /&gt;
&lt;br /&gt;
===Battery charge control features===&lt;br /&gt;
To set the thresholds for starting and stopping battery charging (in percent of current full charge capacity):&lt;br /&gt;
:{{cmdroot|echo 40 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh}}&lt;br /&gt;
:{{cmdroot|echo 70 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/*_charge_thresh}}&lt;br /&gt;
{{HINT|Battery charging thresholds can be used to keep Li-Ion ad Li-Polymer batteries partially charged, in order to [[Maintenance#Battery_treatment|increase their lifetime]].}}&lt;br /&gt;
To unconditionally inhibit charging for 17 minutes:&lt;br /&gt;
:{{cmdroot|echo 17 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
{{HINT|Charge inhibiting can be used to reduce the power draw of the laptop, in order to use an under-spec power supply that can't handle the combined power draw of running and charging. It can also be used to control which battery is charged when [[How to use UltraBay batteries|using an Ultrabay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel charge inhibiting:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
&lt;br /&gt;
To force battery discharging even if connected to AC, use one of these:&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
{{HINT|This can be used to choose which battery is discharged when [[How to use UltraBay batteries|using an UltraBay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel forced discharge:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
&lt;br /&gt;
===Battery status features===&lt;br /&gt;
To view extended battery status such as charging state, voltage, current, capacity, cycle count and model information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/installed&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/cycle_count&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_percent&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacturer&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/model&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/barcoding&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/chemistry&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/serial&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacture_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/first_use_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius&lt;br /&gt;
# cat /sys/devices/platform/smapi/ac_connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The raw status data is also available, including some fields not listed above (in case you can figure them out):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/dump}}&lt;br /&gt;
&lt;br /&gt;
In all of the above, replace &amp;lt;tt&amp;gt;BAT0&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; to address the 2nd battery.&lt;br /&gt;
&lt;br /&gt;
Note that the battery status readout conflicts with the stock [[HDAPS|hdaps]] driver, so if you use &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; you will need to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; using {{cmdroot|1=make load HDAPS=1}} (see [[#Bundled hdaps driver|Bundled hdaps driver]] below).&lt;br /&gt;
&lt;br /&gt;
On [[ACPI]]-enabled systems, most of above information is also available through the files under {{path|/proc/acpi/battery}}. However, the ACPI interface does not include the instantaneous power and cycle count readouts, and does not work well when [[How to use UltraBay batteries|hotswapping UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
===Other features===&lt;br /&gt;
&lt;br /&gt;
There is also [[sysfs]] attribute for making direct SMAPI requests to the SM BIOS firmware. Don't touch it unless you really know what you're doing. Example:&lt;br /&gt;
 # echo '211a 100 0 0 &amp;gt; /sys/devices/platform/smapi/smapi_request; cat /sys/devices/platform/smapi/smapi_request&lt;br /&gt;
 211a 34b b2 0 0 0 'OK'&lt;br /&gt;
The 4b&amp;quot; in the 2nd value, converted to decimal is 75: the current charge stop threshold.&lt;br /&gt;
&lt;br /&gt;
===Bundled &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver===&lt;br /&gt;
&lt;br /&gt;
The tp_smapi package includes a modified version of the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; Linux kernel driver used by the [[HDAPS]] system. To use &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; concurrently, you '''must''' use the modified version.&lt;br /&gt;
&lt;br /&gt;
To build the modified version, simply append the &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; parameter to the &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; command (see [[#Installation|Installation]] above):&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
If you don't do that, you will not be able to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (and its support module &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;) when &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; is loaded, and vice versa. You can use &amp;lt;tt&amp;gt;rmmod&amp;lt;/tt&amp;gt; to switch between these modules.&lt;br /&gt;
&lt;br /&gt;
Note that some of the battery status is also visible through ACPI ({{path|/proc/acpi/battery/*}}), independently of &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; has several changes:&lt;br /&gt;
* The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver in mainline kernels conflicts with the extended battery status (they use the same IO ports). The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; coordinates this access through the bundled &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; driver.&lt;br /&gt;
* The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver fixes reliability and improves support for recent ThinkPad models (*60 and newer), since unlike the mainline driver, it correctly follows the Embedded Controller communication protocol.&lt;br /&gt;
* Several other improvements, such as the ability to control the polling rate.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
&lt;br /&gt;
If you get &amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt; when trying to load the module on a supported model listed below, you should [[BIOS_Upgrade|upgrade your BIOS]]. Some early BIOS (like 1.x on the X31) don't handle the embedded controller.&lt;br /&gt;
&lt;br /&gt;
===Model-specific status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; feature support matrix&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | &lt;br /&gt;
=====A series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}} 2629-USG&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====G series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====R series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  || No SMAPI BIOS&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-JAG&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 18*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} X'=X, Y'=Y || 0.32 || 3.22 || Machine types 1829, 1830, 1831 and 1836&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 28*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      || 1.29 || Machine types 2883, 2887, 2888, 2889, 2894 and 2495&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} X'=X, Y'=Y || 0.32 || 1.29 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====T series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}} 2373-AM9&lt;br /&gt;
| {{Cno}} || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} X'=-X, Y'=-Y || 0.32 || 3.20 || EC v3.04&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KXU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} X'=-X, Y'=-Y || 0.32 || 3.21 || Stop charge threshold works in Windows. dmesg output:&lt;br /&gt;
smapi smapi: smapi_request: SMAPI error: Function is not supported by SMAPI BIOS (func=211a)&lt;br /&gt;
smapi smapi: __get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KUU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}} 2686&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} X'=X, Y'=Y || 0.32 || 1.27 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} X'=Y, Y'=-X || 0.32 ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60p}} 8743-CTO&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} X'=-X, Y'=-Y || 0.32 ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cno}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || 0.32 ||  || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====X series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}} 2662-31G&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} X'=X, Y'=-Y || 0.32 || 2.08 || EC v1.62&lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cno|text=}} X'=X, Y'=-Y || 0.32 ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      || 2.07 || EC v1.10, 2.6.20 issue (see discussion)&lt;br /&gt;
|-&lt;br /&gt;
! {{X61s}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cno|text=}} X'=X, Y'=-Y || 0.32 ||  || [http://www.slackwiki.org/ThinkPad_X61s ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{X60T}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} ||      ||  || [http://luke.no-ip.org/x60tablet/ ref] [http://rad.bioinfo.ulaval.ca/hardware/x60tablet ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{X61T}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}}X'=-Y, Y'=X || 0.32  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====Z series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} X'=X, Y'=Y || 0.32 ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || [https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/45014 ref]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SMAPI capabilities may depend on the BIOS version as well, so upgrading to the latest version of the BIOS might provide more SMAPI functions (especially true for long-lived BIOS with lots of releases, like the TP-1R).&lt;br /&gt;
&lt;br /&gt;
Please update the above and report your experience on the [[Talk:tp_smapi|discussion]] page. If the module loads but gives a &amp;quot;&amp;lt;tt&amp;gt;not supported&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;not implementeded&amp;lt;/tt&amp;gt;&amp;quot; error when you try to use some specific file in {{path|/sys/devices/platform/smapi/}}, please report the &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output and whether the corresponding functionality is available under Windows - maybe your ThinkPad just can't do that. &lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to add your laptop to the [[list of DMI IDs]].&lt;br /&gt;
&lt;br /&gt;
=====HDAPS axis orientation=====&lt;br /&gt;
HDAPS axis orientation notation: X,Y are the hardware readouts, X',Y' are horizontal and vertical. You can use [[HDAPS#Visualisation_of_ThinkPad_orientation|hdaps visualisation]] to check for correctness.&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]] [[Category:Patches]]&lt;br /&gt;
&lt;br /&gt;
===Tools using this driver===&lt;br /&gt;
&lt;br /&gt;
The driver's interface can be accessed directly through the files under {{path|/sys/devices/platform/smapi}}, or via the following tools:&lt;br /&gt;
* [[KThinkBat]] - display battery status on the KDE &amp;lt;tt&amp;gt;kicker&amp;lt;/tt&amp;gt; panel.&lt;br /&gt;
* [[gkrellm-ThinkBat]] - battery status plugin for Gkrellm2&lt;br /&gt;
* {{CodeRef|thinkpad-smapi.sh}} - script to display various SMAPI information using tp_smapi module.&lt;/div&gt;</summary>
		<author><name>Tony2001</name></author>
		
	</entry>
</feed>