<?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=BrandenRobinson</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=BrandenRobinson"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/BrandenRobinson"/>
	<updated>2026-04-19T23:43:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=TuxOnIce&amp;diff=27269</id>
		<title>TuxOnIce</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=TuxOnIce&amp;diff=27269"/>
		<updated>2006-12-25T18:24:19Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: /* Features */&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;
===Software Suspend 2 - swsusp2===&lt;br /&gt;
Software Suspend 2, sometimes also called &amp;quot;swsusp2&amp;quot; and &amp;quot;suspend2&amp;quot;, is an implementation of suspend-to-disk functionality in the form of a Linux kernel patch and several userspace utilities. It is an alternative to both the BIOS-driven hibernation feature found on most ThinkPad models, and the [[swsusp]] &amp;quot;software suspend&amp;quot; functionality built into recent Linux kernels.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Compared to the alternatives, Software Suspend 2 has some unique [http://suspend2.net/features features]:&lt;br /&gt;
* Saving the memory image into a swap file, a swap partition or a normal file on any filesystem.&lt;br /&gt;
* Cancelling a suspend in progress.&lt;br /&gt;
* Different bugs -- if the alternatives don't work, try this one!&lt;br /&gt;
&lt;br /&gt;
It also have the following advantages over [[swsusp]] (these features are also provided, in principle, by the not-yet-stable [[uswsusp]]):&lt;br /&gt;
* The ability to compress the memory image as it is written to disk, thereby reducing suspend and resume times.	 &lt;br /&gt;
* Control over amount of RAM written to disk -- can (optionally) discard cached disk blocks to reduce suspend and resume times.&lt;br /&gt;
* Textual and graphical UI (optional).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since it is implemented purely in software, Software Suspend 2 is in principle machine-independent and should work on all modern ThinkPad models. However, in some cases problematic drivers need to be unloaded before suspension. This is handled by the &amp;lt;tt&amp;gt;hibernate&amp;lt;/tt&amp;gt; script (see below).&lt;br /&gt;
&lt;br /&gt;
==Availability / Project Homepage==&lt;br /&gt;
* [http://suspend2.net/ Project home page]&lt;br /&gt;
&lt;br /&gt;
==Model-specific Status==&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;border:1px; background:grey;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Thinkpad Model &lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Type &lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Operating System &lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Kernel Version&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Suspend2 Version&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Success&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot;| Note&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| {{T60p}}&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| 2.6.18.1&lt;br /&gt;
| 2.2.9&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| Requires &amp;quot;ProcSetting extra_pages_allowance 7500&amp;quot; in hibernate.conf, SATA mode set to compatibility in BIOS and the DMA fix from [[Problems with SATA and Linux]]&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{T60}}&lt;br /&gt;
| 2007-77G&lt;br /&gt;
|&lt;br /&gt;
| 2.6.17.14&lt;br /&gt;
| 2.2.7.4&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| Requires &amp;quot;ProcSetting extra_pages_allowance 7500&amp;quot; in hibernate.conf&lt;br /&gt;
|- style=&amp;quot;background: white;&amp;quot;&lt;br /&gt;
| {{T42}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{T43}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{T21}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| need to unload the sound module (&amp;lt;tt&amp;gt;snd-cs46xx&amp;lt;/tt&amp;gt;) on suspend. May want to enable UseDummyXServer if running X&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{T21}}&lt;br /&gt;
| 2647-4BG &lt;br /&gt;
| Ubuntu 6.10 Edgy Eft&lt;br /&gt;
| 2.6.17.10&lt;br /&gt;
| 2.2.7.6&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| I used experimental [http://3v1n0.tuxfamily.org/dists/edgy/suspend2/ Trevino's kernel packages]&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot; &lt;br /&gt;
| {{X41T}}&lt;br /&gt;
| &lt;br /&gt;
| Fedore Core 4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| requires SATA resume patch and the SATA drivers compiled as built-in or in initrd (see [[Problems with SATA and Linux]]) and a {{path|hibernate.conf}} fix (see [[Installing Fedora Core 4 on a ThinkPad X41 Tablet]])&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{X22}}&lt;br /&gt;
| &lt;br /&gt;
| Ubuntu Breezy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| see [[Installing Ubuntu (Breezy) on a ThinkPad X22]]&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{G41}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| see [[Installing Debian on a ThinkPad G41]]&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{R51}}&lt;br /&gt;
| 1829&lt;br /&gt;
|&lt;br /&gt;
| 2.6.19.1-suspend2-2.2.9&lt;br /&gt;
|&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{R51e}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 2.6.16-suspend2-r8&lt;br /&gt;
|&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| Requires &amp;quot;ProcSetting extra_pages_allowance 8000&amp;quot; in hibernate.conf&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{R52}}&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 2.6.17.1&lt;br /&gt;
| 2.2.7&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
| FC5 with kernel [http://mhensler.de/swsusp/download_en.php 2.6.17-1.2145_1.rhfc5.cubbi_suspend2]&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
| {{T23}}&lt;br /&gt;
| 2647-9KU &lt;br /&gt;
| Debian Etch&lt;br /&gt;
| 2.6.17.4&lt;br /&gt;
| 2.2.7&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes &lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
|{{X60s}}&lt;br /&gt;
| 1702-55G &lt;br /&gt;
| Arch Linux&lt;br /&gt;
| 2.6.17.13&lt;br /&gt;
| 2.2.8&lt;br /&gt;
! style =&amp;quot;color:green;&amp;quot;| Yes&lt;br /&gt;
|I use the [http://iphitus.loudas.com/beyond.html beyond] patchset&lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background: white; color:black;&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
The [http://suspend2.net/ project home page] has a detailed HOWTO and FAQ. The following are just a few highlights.&lt;br /&gt;
&lt;br /&gt;
===Patching mkinitrd===&lt;br /&gt;
If your systems uses an &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; file (most do), you'll need to patch or replace your &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt;-creation script.&lt;br /&gt;
&lt;br /&gt;
*{{Fedora}} 4: in {{path|/sbin/mkinitrd}}, find this line:&lt;br /&gt;
 echo &amp;quot;echo Mounted /proc filesystem&amp;quot; &amp;gt;&amp;gt; $RCFILE&lt;br /&gt;
and add the following immediately afterwards:&lt;br /&gt;
 echo &amp;quot;echo &amp;gt; /sys/power/suspend2/do_resume&amp;quot; &amp;gt;&amp;gt;$RCFILE&lt;br /&gt;
*{{Fedora}} 5: in {{path|/sbin/mkinitrd}}, find this line:&lt;br /&gt;
 if [ -z &amp;quot;$noresume&amp;quot; -a -n &amp;quot;$swsuspdev&amp;quot; ]; then&lt;br /&gt;
and add the following immediately ''before'' the above:&lt;br /&gt;
 emit &amp;quot;echo 1 &amp;gt; /sys/power/suspend2/do_resume&amp;quot;&lt;br /&gt;
You can also use the [http://atrpms.net/dist/fc5/mkinitrd-suspend2/ mkinitrd-suspend2] package from atrpms.&lt;br /&gt;
*{{Debian}}: copy [http://dagobah.ucc.asn.au/swsusp/2.0.0.102/swsusp-initrd.sh swsusp-initrd.sh] script to your {{path|/etc/mkinitrd/scripts}} directory before creating initrd image.&lt;br /&gt;
&lt;br /&gt;
Make sure you regenerate your &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; file (using &amp;lt;tt&amp;gt;mkinitrd&amp;lt;/tt&amp;gt; or by reinstalling the kernel) after patching &amp;lt;tt&amp;gt;mkinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Hibernate script===&lt;br /&gt;
Software Suspend 2 works best with the &amp;lt;tt&amp;gt;hibernate&amp;lt;/tt&amp;gt; script (available from the project home page), which takes care of auxiliary tasks needed on many systems (e.g., unloading problematic modules and restoring video modes).&lt;br /&gt;
&lt;br /&gt;
====Availability====&lt;br /&gt;
*{{Gentoo}}: emerge hibernate-script&lt;br /&gt;
*{{Fedora}}: kernel and hibernate RPMs are available at http://mhensler.de/swsusp/&lt;br /&gt;
*{{Ubuntu}}: packages for Ubuntu Dapper Drake (kernel, hibernate, suspend2ui-userui): http://dagobah.ucc.asn.au/dapper-kernels/&lt;br /&gt;
*{{Ubuntu}}: experimental packages for Ubuntu Edgy Eft (kernel, hibernate, suspend2ui-userui): http://3v1n0.tuxfamily.org/dists/edgy/suspend2/&lt;br /&gt;
*PLD: poldek -iv hibernate&lt;br /&gt;
*Other: check the home page for packages (deb, i386 rpm, tgz, and source rpm) from http://www.suspend2.net&lt;br /&gt;
&lt;br /&gt;
==Configuration tips==&lt;br /&gt;
===RediSafe-like functionality===&lt;br /&gt;
The hibernate functionality on some ThinkPad BIOSes offers the useful &amp;quot;RediSafe&amp;quot; feature, which suspends to both RAM and disk. This way you get quick resumes (directly from RAM), plus the safey of suspend-to-disk in case the battery runs out.&lt;br /&gt;
&lt;br /&gt;
Software Suspend 2 provides this feature too; simply add the following to {{path|/etc/hibernate/suspend2.conf}}:&lt;br /&gt;
 PowerdownMethod 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Patches]] [[Category:Drivers]]&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=27268</id>
		<title>HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=27268"/>
		<updated>2006-12-25T18:20:41Z</updated>

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

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

		<summary type="html">&lt;p&gt;BrandenRobinson: Use correct redirect syntax.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Category:X60_Tablet]]&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X60t&amp;diff=27258</id>
		<title>Category:X60t</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X60t&amp;diff=27258"/>
		<updated>2006-12-25T14:19:10Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: Replace with redirect to Category:X60_Tablet.  Obviously the product has been both planned and released, since it's shipping.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[#REDIRECT Category:X60_Tablet]&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:X60_Tablet&amp;diff=27257</id>
		<title>Category:X60 Tablet</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:X60_Tablet&amp;diff=27257"/>
		<updated>2006-12-25T14:10:32Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: Add image of X60 Tablet.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad X60 Tablet ===&lt;br /&gt;
This pages gives an overview of all ThinkPad X60 Tablet related topics.&lt;br /&gt;
==== Standard Features ====&lt;br /&gt;
* [[Intel Core Duo (Yonah)]] L2400 LV 1.63 GHz or L2500 LV 1.83GHz CPU&lt;br /&gt;
* [[Intel Graphics Media Accelerator 950]]&lt;br /&gt;
** 12.1&amp;quot; TFT display with 1024x768 resolution&lt;br /&gt;
** 12.1&amp;quot; TFT display with 1024x768 resolution and MultiView/MultiTouch&lt;br /&gt;
** 12.1&amp;quot; TFT display with 1400x1050 resolution&lt;br /&gt;
* 512MB [[PC2-5300]] memory standard&lt;br /&gt;
* 40 Hitachi Travelstar S-ATA HDD&lt;br /&gt;
* [[AD1981HD]] HD Audio 1.0 controller&lt;br /&gt;
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]&lt;br /&gt;
* [[CDC slot]] with one of the following:&lt;br /&gt;
** [[Thinkpad Integrated 56K Modem (MDC-3)]]&lt;br /&gt;
** [[Thinkpad Integrated Bluetooth IV with 56K Modem (BMDC-4)]]&lt;br /&gt;
* [[MiniPCI Express slot]] 1 with one of the following:&lt;br /&gt;
** [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]]&lt;br /&gt;
** [[ThinkPad 11a/b/g/n Wireless Mini-PCI Express Adapter]]&lt;br /&gt;
** [[ThinkPad 11a/b/g II Wireless Mini-PCI Express Adapter]]&lt;br /&gt;
* [[MiniPCI Express slot]] 2 with one of the following:&lt;br /&gt;
** None (empty)&lt;br /&gt;
** [[Verizon 1xEV-DO WWAN]]&lt;br /&gt;
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]&lt;br /&gt;
* [[Active Protection System|IBM Active Protection System]]&lt;br /&gt;
* [[SD Card slot]] with IO support&lt;br /&gt;
* [[CardBus slot]] (Type 2) with Expresscard/34-Adapter&lt;br /&gt;
* 4-pin Firewire([[IEEE1394]])&lt;br /&gt;
* [[Integrated Fingerprint Reader]] on select models&lt;br /&gt;
* [[Wacom Serial Tablet PC Stylus]]&lt;br /&gt;
* [[Tablet Hardware Buttons]]&lt;br /&gt;
* [[Active Rotate]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:X60_Tablet.gif]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:X Series]]&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:X60_Tablet.gif&amp;diff=27256</id>
		<title>File:X60 Tablet.gif</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:X60_Tablet.gif&amp;diff=27256"/>
		<updated>2006-12-25T14:08:02Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: promotional image of ThinkPad X60 Tablet from Lenovo website&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;promotional image of ThinkPad X60 Tablet from Lenovo website&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=27229</id>
		<title>Problem with display remaining black after resume</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=27229"/>
		<updated>2006-12-24T06:28:42Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: Revert vandalism.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There has been a problem encountered where the display stays black on resuming from suspend.&lt;br /&gt;
&lt;br /&gt;
The symptom might have you think first that your system hang up, but you will realize that your ThinkPad works and you can even reset it via {{key|Ctrl}}{{key|Alt}}{{key|Del}}.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
*ThinkPad {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}&lt;br /&gt;
*Thinkpad {{T23}}&lt;br /&gt;
*ThinkPad {{X21}}, {{X30}}, {{X31}}, {{X40}}, {{X41}}&lt;br /&gt;
*ThinkPad {{R31}}, {{R50e}}{{footnote|1}}, {{R50p}}, {{R51}} (with BIOS 1.11), {{R52}}&lt;br /&gt;
*ThinkPad {{A30p}}&lt;br /&gt;
*ThinkPad {{390X}} (doesn't wake up; LCD backlight on, harddrive light remains on)&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}&lt;br /&gt;
*ThinkPad {{X60s}}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux (it's a kernel issue)&lt;br /&gt;
*FreeBSD (6.x at least)&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===Solution for ThinkPads with 1400x1050 internal LCD and Intel 915GM ===&lt;br /&gt;
see [[1400x1050 on Intel 915GM]].&lt;br /&gt;
===Solution for ThinkPads with ATI graphic chips and Intel 915/945GM ===&lt;br /&gt;
&lt;br /&gt;
Affected models include {{X60s}}.&lt;br /&gt;
&lt;br /&gt;
One solution may be to provide the {{bootparm|acpi_sleep|s3_bios}} kernel parameter in your kernel parameter line.&lt;br /&gt;
&lt;br /&gt;
For grub this would look like this:&lt;br /&gt;
&lt;br /&gt;
 title           Linux, kernel 2.6.11-1-686&lt;br /&gt;
 root            (hd0,0)&lt;br /&gt;
 kernel          /boot/vmlinuz-2.6.11-1-686 root=/dev/hda1 ro acpi_sleep=s3_bios&lt;br /&gt;
 initrd          /boot/initrd.img-2.6.11-1-686&lt;br /&gt;
 savedefault&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
For lilo it would look like this:&lt;br /&gt;
&lt;br /&gt;
 image=/boot/vmlinuz&lt;br /&gt;
     append=&amp;quot;acpi_sleep=s3_bios&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The actual process of going to sleep is then managed through a sleep script; as a start, see the {{path|sleep.sh}} script in the Extreme Graphics 2 section below, but note the following comments:&lt;br /&gt;
&lt;br /&gt;
In [[:Category:OpenSUSE|OpenSUSE]] 10.1 (at least on a T43p), it's necessary to override the default options for s2ram if you're using the newer ATI driver.  This can be done putting {{bootparm|SUSPEND2RAM_FORCE|&amp;quot;yes&amp;quot;}} and {{bootparm|SUSPEND2RAM_ACPI_SLEEP|&amp;quot;3&amp;quot;}} in {{path|/etc/powersave/sleep}}.&lt;br /&gt;
&lt;br /&gt;
In {{Ubuntu}} or {{Kubuntu}}, it may be necessary to modify {{path|/etc/default/acpi-support}}.  In that file, make sure that {{path|ACPI_SLEEP}} is uncommented and set to true.  With ATI chips, also make sure that {{path|SAVE_VBE_STATE}} is uncommented and set to true; with Intel chips, on the other hand, ensure that nothing is done with respect to VBE--no reposts, no state saves.&lt;br /&gt;
&lt;br /&gt;
In {{Fedora}}, it may be necessary with the Intel chips to edit the {{path|resume_video()}} function in {{path|/etc/pm/functions-intel}} to comment out the VBE post and restore.  (As of FC6 these seem to be pre-commented out.)  Also, the laptop, after waking up, may go back to sleep immediately or whenever the AC adapter is disconnected.  When this happens, it's caused by a bug in the HAL daemon that incorrectly reports certain ACPI events.  This is a known problem and a simple workaround is described [http://live.gnome.org/GnomePowerManager/Faq#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It is possible this method will not work if the laptop is docked.  It is also possible that the cited workaround for the HAL daemon bug will not work on some machines.  A kludgier workaround in this event is to kill the HAL daemon on suspend.  This necessitates the resuscitation of GPM upon resume.}}&lt;br /&gt;
&lt;br /&gt;
Another solution is to use vbetool. If you are using {{Debian}} with the hibernate package, uncomment &amp;quot;EnableVbetool yes&amp;quot; in {{path|/etc/hibernate/hibernate.conf}} (or {{path|/etc/hibernate/ram.conf}}).&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel Extreme Graphics 2===&lt;br /&gt;
{{NOTE|&lt;br /&gt;
On [[:Category:X40|X40]]s/[[:Category:X41|X41]]s - even with Intel Extreme Graphics - and for [[:Category:R52|R52]]s with Intel Graphics Media Accelerator 900 the [[Problem with display remaining black after resume#Solution for ThinkPads with ATI graphic chips|solution for ATI graphics chips]] above is reported to work. In this case, make sure no changes to VBE are made, especially no state saves and no reposts.}}&lt;br /&gt;
&lt;br /&gt;
The following solution should work on 865G, 865GV, 855GM, 855GME, 852GME chipsets.&lt;br /&gt;
*First of all, '''do not''' use the {{bootparm|acpi_sleep|s3_bios}} kernel parameter.&lt;br /&gt;
*Second, completely remove framebuffer support from your kernel. If it's built as modules, it is important that they do not get loaded at all.&lt;br /&gt;
*Before suspending, change to a console and safe the video state with {{cmdroot|cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state}}.&lt;br /&gt;
*On resume, restore the video state with {{cmdroot|cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0}} and change back to X.&lt;br /&gt;
*For a R50e the only thing needed to make suspend to ram work in Ubuntu 6.06 is adding&lt;br /&gt;
 Option  &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;&lt;br /&gt;
to the &amp;lt;tt&amp;gt;Device&amp;lt;/tt&amp;gt; section in your {{path|/etc/X11/xorg.conf}}, and the example script below.&lt;br /&gt;
&lt;br /&gt;
The following example {{path|/etc/acpi/actions/sleep.sh}} script shows how to integrate the according lines.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # change to console 1&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 &lt;br /&gt;
 # safe video state&lt;br /&gt;
 cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state&lt;br /&gt;
 &lt;br /&gt;
 # sync filesystem&lt;br /&gt;
 sync&lt;br /&gt;
 &lt;br /&gt;
 # sync hardware clock with system time&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 echo -n 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
 &lt;br /&gt;
 # waking up&lt;br /&gt;
 # restore system clock&lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # restore video state&lt;br /&gt;
 cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
 &lt;br /&gt;
 # change back to X&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
 &lt;br /&gt;
 # clean up behind us&lt;br /&gt;
 rm /tmp/video_state&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel I830 Chipset===&lt;br /&gt;
The following solution worked for me on an X30 with I830M chipset with kernel &amp;gt;= 2.6.16.&lt;br /&gt;
*this works with vesafb and also with intelfb frambuffer support.&lt;br /&gt;
The following example {{path|/etc/acpi/actions/sleep.sh}} script shows how to integrate the according lines.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 8&lt;br /&gt;
 sync&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 vbetool post&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$FGCONSOLE&amp;quot; -ge &amp;quot;7&amp;quot; ] ; then&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 else&lt;br /&gt;
   chvt 7&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 fi&lt;br /&gt;
===Solution for ThinkPads with ATI graphic (and possibly other) chips and FreeBSD===&lt;br /&gt;
&lt;br /&gt;
The FreeBSD acpi(4) manpage mentions a tunable parameter, &amp;quot;hw.acpi.reset_video&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video&lt;br /&gt;
             Reset the video adapter from real mode during the resume path.&lt;br /&gt;
             Some systems need this help, others have display problems if it&lt;br /&gt;
             is enabled.  Default is 0 (disabled).&lt;br /&gt;
&lt;br /&gt;
This tunable can be set by adding the following line to your FreeBSD machine's /boot/loader.conf file:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And rebooting your machine.  Hopefully, the next time you resume from a suspend, you'll see your video again.  This solution doesn't appear to be specific to ATI hardware in any way, so I presume it would be helpful for video chipsets other than ATI, as well.&lt;br /&gt;
&lt;br /&gt;
If this entry doesn't help you, you might consider searching in the [http://lists.freebsd.org/pipermail/freebsd-mobile/ FreeBSD-Mobile email-list archive] for more insight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#If you have this problem with R50e and the above solution doesn't work, try switching to console first. An example sleep script can be found [[How to configure acpid|here]].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Graphics_Chips_Power_Management_features&amp;diff=27228</id>
		<title>How to make use of Graphics Chips Power Management features</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Graphics_Chips_Power_Management_features&amp;diff=27228"/>
		<updated>2006-12-24T06:27:23Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: Revert vandalism.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=ATI Radeon Mobility chips=&lt;br /&gt;
&lt;br /&gt;
==Power saving with a framebuffer console==&lt;br /&gt;
In order to use the dynamic GPU clock-scaling similar to what X.org has, you need to use the radeonfb kernel module. You'll need to enable the '''CONFIG_FB_RADEON''' in your kernel configuration. If setup correctly you should see something like the following in your kernel log:&lt;br /&gt;
 radeonfb: Dynamic Clock Power Management enabled&lt;br /&gt;
&lt;br /&gt;
==Using the X.org Radeon driver==&lt;br /&gt;
===Activation===&lt;br /&gt;
The xorg X server has support for a power saving feature from ATI called PowerPlay. Xorg calls this feature DynamicClocks. It can be enabled in the server by adding '''Option  &amp;quot;DynamicClocks&amp;quot; &amp;quot;on&amp;quot;''' in the '''Device''' section in {{path|/etc/X11/xorg.conf}}&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Videocard0&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;radeon&amp;quot;&lt;br /&gt;
        VendorName  &amp;quot;IBM ThinkPad&amp;quot;&lt;br /&gt;
        BoardName   &amp;quot;ATI Radeon Mobility M9&amp;quot;&lt;br /&gt;
        '''Option      &amp;quot;DynamicClocks&amp;quot; &amp;quot;on&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
With this option enabled, the X11 server should print ({{path|/var/log/Xorg.0.log}}):&lt;br /&gt;
&lt;br /&gt;
 (**) RADEON(0): Option &amp;quot;DynamicClocks&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
 (II) RADEON(0): Dynamic Clock Scaling Enabled&lt;br /&gt;
&lt;br /&gt;
You do not need to do anything else, it dynamically manages the power consumption itself.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Enabling DynamicClocks crashes some models. If the CPU is entering one of the lower power states (C3 or lower) during Xorg startup the display may stay black. As a workaround disable DynamicClocks in Xorg and use [[Rovclock]] instead. But it does not scale the clocks to match the workload. Update 5/2/2006: Seems fixed in Xorg6.9}}&lt;br /&gt;
&lt;br /&gt;
===Problem with &amp;lt;tt&amp;gt;vbetool&amp;lt;/tt&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;tt&amp;gt;vbetool&amp;lt;/tt&amp;gt; is used to restore the display state (as done by some suspend/resume scripts), the setting of &amp;lt;tt&amp;gt;DynamicClocks&amp;lt;/tt&amp;gt; is forgotten and the GPU will consume more power until the next X server startup. You can manually enable DynamicTools again by starting a blank second X server (e.g., by running {{cmdroot|X :1}}) and then exiting it via {{key|Ctrl}}{{key|Alt}}{{key|Backspace}}.&lt;br /&gt;
&lt;br /&gt;
===Problem with suspend-to-disk===&lt;br /&gt;
&lt;br /&gt;
Upon resume from suspend-to-disk, the setting of &amp;lt;tt&amp;gt;DynamicClocks&amp;lt;/tt&amp;gt; is forgotten and the GPU will consume more power until the next X server startup. You can manually enable DynamicClocks again by starting a blank second X server (e.g., by running {{cmdroot|X :1}}) and then exiting it via {{key|Ctrl}}{{key|Alt}}{{key|Backspace}}.&lt;br /&gt;
&lt;br /&gt;
If you're using the hibernate script that's part of [[Software Suspend 2]], setting UseDummyXServer to yes in {{path|hibernate.conf}} automatically starts a second X server, hence enabling DynamicClocks again. (Remember to disable UseDummyXServer if you switch to the [[fglrx]] driver, otherwise your computer will hang upon resume.)&lt;br /&gt;
&lt;br /&gt;
Note: When using the [[Synaptics TouchPad driver for X]] with the SHMConfig-Option set to true in {{path|xorg.conf}}, starting a second X server breaks the Shared Memory and the touchpad can't be configured with {{cmd|synclient|}} any longer. Starting the dummy X server with a different xorg.conf file is a solution to this, a patch can be found in the [http://bugzilla.suspend2.net/show_bug.cgi?id=138 suspend2 bugzilla].&lt;br /&gt;
&lt;br /&gt;
===Debian Notes===&lt;br /&gt;
If your {{Debian}} doesn't have Xorg, yet, see [http://incubator.vislab.usyd.edu.au/roller/page/Steve/20040909 Installing a non-intrusive X.org server on Debian].&lt;br /&gt;
&lt;br /&gt;
Sarge backports are available from [http://www.backports.org/ here] or [http://people.debian.org/~nobse/xorg-x11/ here].&lt;br /&gt;
&lt;br /&gt;
You can also add the following line to your repository list:&lt;br /&gt;
 deb http://people.debian.org/~nobse/xorg-x11/ sarge main&lt;br /&gt;
&lt;br /&gt;
==Using the ATI proprietary driver==&lt;br /&gt;
&lt;br /&gt;
Versions 8.19.10 and higher of the ATI [[fglrx]] driver support &amp;quot;PowerPlay&amp;quot;, which &amp;quot;allows for the user to switch between power consumption modes&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
To list available modes do:&lt;br /&gt;
:{{cmdroot|aticonfig  --list-powerstates}}&lt;br /&gt;
:{{cmdresult|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;core/mem&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;[flags]}}&lt;br /&gt;
:{{cmdresult|---------------}}&lt;br /&gt;
:{{cmdresult|1: 105/122 MHz&amp;amp;nbsp;&amp;amp;nbsp;[low voltage]}}&lt;br /&gt;
:{{cmdresult|2: 209/182 MHz&amp;amp;nbsp;&amp;amp;nbsp;[low voltage]}}&lt;br /&gt;
:{{cmdresult|3: 297/230 MHz&amp;amp;nbsp;&amp;amp;nbsp;[default state]}}&lt;br /&gt;
&lt;br /&gt;
(Strangely, the same ThinkPad {{T43}} with [[ATI Mobility Radeon X300]] running [[fglrx]] 8.19.10 sometimes gives other, non-sensical results, perhaps due to interaction with [[rovclock]].)&lt;br /&gt;
&lt;br /&gt;
To changing the power mode on the fly:&lt;br /&gt;
:{{cmdroot|1=aticonfig --set-powerstate=2 --effective=now}}&lt;br /&gt;
&lt;br /&gt;
With newer driver versions (8.26 and later), &amp;lt;tt&amp;gt;atieventsd&amp;lt;/tt&amp;gt; should dynamically change the power state and clock, depending on thermal conditions and AC plug.&lt;br /&gt;
&lt;br /&gt;
Limitations (as of [[fglrx]] 8.19.10):&lt;br /&gt;
* You can't set the power state in {{path|/etc/X11/xorg.conf}} .&lt;br /&gt;
* You can't activate power saving when using dual-head mode (e.g., LCD+CRT).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|[[fglrx]] power saving is not compatible with the [[Rovclock]] utility. Setting power saving mode using both [[fglrx]] and [[Rovclock]] results in an unusably slow desktop.}}&lt;br /&gt;
&lt;br /&gt;
==External sources==&lt;br /&gt;
*[http://www.ati.com/products/pdf/powerplaywp2.pdf Marketing information from ATI]&lt;br /&gt;
&lt;br /&gt;
=Other graphics chips=&lt;br /&gt;
No instructions are presently known for other chips.&lt;br /&gt;
&lt;br /&gt;
But see [[Problem with display remaining black after resume]].&lt;br /&gt;
&lt;br /&gt;
[[Category:G40]] [[Category:G41]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]]&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Power_Management_features&amp;diff=27227</id>
		<title>How to make use of Power Management features</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Power_Management_features&amp;diff=27227"/>
		<updated>2006-12-24T06:26:12Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: Revert vandalism.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General Information about Power Management features==&lt;br /&gt;
This page should give you all the information you need to make use of your ThinkPads [[Power Management]] features under [[:Category:Distributions|Linux]] and hence effectively enhance your battery life.&lt;br /&gt;
&lt;br /&gt;
Note that different distributions and kernels have different results.  ThinkPad-365 and 365X used to perform&lt;br /&gt;
blank, sleep and hibernation well using HW with W95,OS/2,and Linux installed (1998).  Later ThinkPads such as 240X,600E,T20 with recent Debian 2.4 kernels and ACPI=off will sleep, (also MDK-2.6 kernels). &lt;br /&gt;
However, blank and hibernation to disk do not work.  Better results are expected with 2.6.11+.&lt;br /&gt;
&lt;br /&gt;
===APM vs. ACPI===&lt;br /&gt;
All ThinkPads support APM and a lot support ACPI as well, but at different qualities of implementation. Both technologies cannot be used simultaneously. So you'll have to make a choice which would depend very much on the model as well as on the state of ACPI support in the kernel.&lt;br /&gt;
&lt;br /&gt;
On older models you are surely better off with APM, if they feature ACPI at all.&lt;br /&gt;
&lt;br /&gt;
It seems that at least in recent models from the A, G, R, T and X series ACPI generally works fine and is a lot more flexible than APM, but with a lot of them also a [[Problem with high power drain in ACPI sleep]] has been experienced.&lt;br /&gt;
&lt;br /&gt;
Please check our [[APM vs. ACPI | APM vs. ACPI success table]] to find out about APM and ACPI support in specific models.&lt;br /&gt;
&lt;br /&gt;
On the other hand simply switching from APM to ACPI extended my X31 battery runtime from about 3.5h to 4h. This had&lt;br /&gt;
nothing to do with Dynamic Frequency Scaling which was active in both configurations.&lt;br /&gt;
&lt;br /&gt;
{{Todo|more precise and extended info should be provided here}}&lt;br /&gt;
&lt;br /&gt;
==How to enable certain features==&lt;br /&gt;
The following links will take you to separate pages dealing with the various topics.&lt;br /&gt;
*[[How to make APM work]] &amp;lt;tt&amp;gt;(Screen Blanking, Suspend to RAM, Suspend to Disk)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to make ACPI work]] &amp;lt;tt&amp;gt;(Screen Blanking, Suspend to RAM, Suspend to Disk)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to make use of Dynamic Frequency Scaling]] &amp;lt;tt&amp;gt;(Speedstep, Throttling, etc.)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to make use of Harddisk Power Management features]] &amp;lt;tt&amp;gt;(Laptop-mode, Spindown, etc.)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to make use of Graphics Chips Power Management features]] &amp;lt;tt&amp;gt;(save even more battery power)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[How to use UltraBay batteries]] &amp;lt;tt&amp;gt;(advanced control for a secondary battery)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[How to reduce power consumption]]&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Serial_Port&amp;diff=27226</id>
		<title>Serial Port</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Serial_Port&amp;diff=27226"/>
		<updated>2006-12-24T06:24:47Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: Revert vandalism.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
Most older ThinkPads have a Male DB-9 RS232 Serial Port, capable of running up to 115,200bps&lt;br /&gt;
&lt;br /&gt;
Current ThinkPads no longer have a physical serial port, but still have the logic integrated, all that is required is to attach the ThinkPad to a supported Dock or Port Replicator with a serial port.&lt;br /&gt;
&lt;br /&gt;
ThinkPads produced from 1994 onwards have a NS16550A compatible uart.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*[[Wikipedia:Serial port| Wikipedia article on Serial Port]]&lt;br /&gt;
*[[Wikipedia:Universal asynchronous receiver transmitter| Wikipedia article on UART]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Models featuring this Technology==&lt;br /&gt;
'''Legacy UART'''&lt;br /&gt;
*ThinkPad {{220}}&lt;br /&gt;
*ThinkPad {{300}}&lt;br /&gt;
*ThinkPad {{350}}, {{350C}}&lt;br /&gt;
*ThinkPad {{355}}, {{355C}}, {{355Cs}}&lt;br /&gt;
*ThinkPad {{360}}, {{360Cs}}, {{360C}}, {{360P}}, {{360PE}}&lt;br /&gt;
*ThinkPad {{500}} &amp;lt;tt&amp;gt;(via port extension cable)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*ThinkPad {{510Cs}}&lt;br /&gt;
*ThinkPad {{550BJ}}&lt;br /&gt;
*ThinkPad {{700}}, {{700C}}&lt;br /&gt;
*ThinkPad {{710T}}&lt;br /&gt;
*ThinkPad {{720}}, {{720C}}&lt;br /&gt;
*ThinkPad {{750}}, {{750Cs}}, {{750C}}, {{750P}}&lt;br /&gt;
&lt;br /&gt;
'''16550A compatible UART'''&lt;br /&gt;
*ThinkPad {{240}}, {{240X}}&lt;br /&gt;
*ThinkPad {{310}}, {{310D}}, {{310E}}, {{310ED}}&lt;br /&gt;
*ThinkPad {{345C}}, {{345CS}}&lt;br /&gt;
*ThinkPad {{365CS}}, {{365C}}, {{365CSD}}, {{365CD}}, {{365E}}, {{365ED}}, {{365X}}, {{365XD}}&lt;br /&gt;
*ThinkPad {{380}}, {{380D}}, {{380E}}, {{380ED}}, {{380XD}}, {{380Z}}&lt;br /&gt;
*ThinkPad {{385D}}, {{385ED}}, {{385XD}}&lt;br /&gt;
*ThinkPad {{390}}, {{390E}}, {{390X}}&lt;br /&gt;
*ThinkPad {{560}}, {{560E}}, {{560X}}, {{560Z}}&lt;br /&gt;
*ThinkPad {{570}}, {{570E}}&lt;br /&gt;
*ThinkPad {{600}}, {{600E}}, {{600X}}&lt;br /&gt;
*ThinkPad {{701C}}, {{701CS}}&lt;br /&gt;
*ThinkPad {{755C}}, {{755Cs}}, {{755CSE}}, {{755CE}}, {{755CX}}, {{755CV}}, {{755CD}}, {{755CDV}}&lt;br /&gt;
*ThinkPad {{760C}}, {{760CD}}, {{760EL}}, {{760ELD}}, {{760E}}, {{760ED}}, {{760L}}, {{760LD}}, {{760XL}}, {{760XD}}&lt;br /&gt;
*ThinkPad {{765L}}, {{765D}}&lt;br /&gt;
*ThinkPad {{770}}, {{770E}}, {{770ED}}, {{770X}}, {{770Z}}&lt;br /&gt;
*ThinkPad {{820}}, {{850}}, {{860}}&lt;br /&gt;
*ThinkPad {{A Series}}&lt;br /&gt;
*ThinkPad {{I1410}}, {{I1411}}, {{I1412}}, {{I1420}}, {{I1421}}, {{I1422}}, {{I1441}}, {{I1442}}, {{I1450}}, {{I1451}}, {{I1452}}, {{I1460}}, {{I1472}}, {{I1482}}, {{I1483}}, {{I1492}}, {{I1512}}, {{I1552}}, {{I1540}}, {{I1541}}, {{I1542}}, {{I1560}}, {{I1562}}, {{I1592}}, {{I1720}}, {{I1721}}&lt;br /&gt;
*ThinkPad {{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}&lt;br /&gt;
&lt;br /&gt;
'''16550B compatible UART'''&lt;br /&gt;
*ThinkPad {{360CSE}}, {{360CE}}&lt;br /&gt;
*ThinkPad {{370C}}&lt;br /&gt;
==Docks and Port Replicators featuring this Technology==&lt;br /&gt;
{{NOTE|These devices only feature pass-through functionality, the actual Serial port logic needs to reside in the ThinkPad for the port to work}}&lt;br /&gt;
* [[ThinkPad Port Replicator]]&lt;br /&gt;
* [[ThinkPad Port Replicator II]]&lt;br /&gt;
* [[ThinkPad Dock]]&lt;br /&gt;
* [[ThinkPad Dock II]]&lt;br /&gt;
* [[ThinkPad Advanced Dock]]&lt;br /&gt;
* [[ThinkPad Advanced Mini Dock]]&lt;br /&gt;
* [[ThinkPad Mini-Dock]]&lt;br /&gt;
* [[ThinkPad X4 Dock]]&lt;br /&gt;
* [[UltraBase X2]]&lt;br /&gt;
* [[UltraBase X3]]&lt;br /&gt;
* [[UltraBase X4]]&lt;br /&gt;
* [[UltraBase X6]]&lt;br /&gt;
* [[ThinkPad 365 Port Replicator]]&lt;br /&gt;
* [[ThinkPad 365X Port Replicator]]&lt;br /&gt;
* [[ThinkPad 380/385 Port Replicator]]&lt;br /&gt;
* [[ThinkPad 560 Port Replicator]]&lt;br /&gt;
* [[ThinkPad Enhanced Port Replicator]]&lt;br /&gt;
* [[ThinkPad Port Replicator with Advanced EtherJet]]&lt;br /&gt;
* [[SelectaBase Model I]]&lt;br /&gt;
* [[SelectaBase 600]]&lt;br /&gt;
* [[SelectaBase 770]]&lt;br /&gt;
* [[ThinkPad MultiPort]]&lt;br /&gt;
* [[ThinkPad MultiPort II]]&lt;br /&gt;
* [[ThinkPad Dock I (3545)]]&lt;br /&gt;
* [[ThinkPad Dock II (3546)]]&lt;br /&gt;
* [[ThinkPad Port Replicator Model 1]]&lt;br /&gt;
* [[ThinkPad Port Replicator Model 2]]&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=NS_PC97338&amp;diff=27225</id>
		<title>NS PC97338</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=NS_PC97338&amp;diff=27225"/>
		<updated>2006-12-24T06:22:45Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: Revert vandalism.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== NS PC97338 ===&lt;br /&gt;
This is a National Semiconductor SuperIO chip&lt;br /&gt;
&lt;br /&gt;
Note: National Semiconductor sold the SuperIO product line to Winbond Electronics&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Serial (16550A compatible)&lt;br /&gt;
* Parallel (IEEE P1284-A, EPP, ECP, bidirectional)&lt;br /&gt;
* Floppy&lt;br /&gt;
* IrDA 1.1&lt;br /&gt;
* PS/2 keyboard/mouse&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux support ===&lt;br /&gt;
This chipset is supported by recent 2.4 and 2.6 kernels&lt;br /&gt;
&lt;br /&gt;
{{NOTE|IrDA function is not enabled on the X20, X21 or any i Series ThinkPads other than the i1720/1721}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
[http://www.winbond.com.tw/PDF/APCsheet/PC87338_PC97338.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{240}}, {{240X}}&lt;br /&gt;
* {{380XD}}, {{380Z}}&lt;br /&gt;
* {{385XD}}&lt;br /&gt;
* {{390}}, {{390E}}, {{390X}}&lt;br /&gt;
* {{560X}}, {{560Z}}&lt;br /&gt;
* {{570}}, {{570E}}&lt;br /&gt;
* {{600}}, {{600E}}, {{600X}}&lt;br /&gt;
* {{770E}}, {{770ED}}, {{770X}}, {{770Z}}&lt;br /&gt;
* {{i1410}}, {{i1411}}, {{i1412}}, {{i1420}}, {{i1421}}, {{i1422}}, {{i1441}}, {{i1442}}, {{i1450}}, {{i1451}}, {{i1452}}, {{i1460}}, {{i1472}}, {{i1480}}, {{i1482}}, {{i1492}}&lt;br /&gt;
* {{i1512}}, {{i1540}}, {{i1541}}, {{i1542}}, {{i1552}}, {{i1560}}, {{i1562}}, {{i1592}}&lt;br /&gt;
* {{i1720}}, {{i1721}}&lt;br /&gt;
* {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
* {{X20}}, {{X21}}&lt;br /&gt;
* {{TransNote}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=AD1881A&amp;diff=27224</id>
		<title>AD1881A</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=AD1881A&amp;diff=27224"/>
		<updated>2006-12-24T06:21:34Z</updated>

		<summary type="html">&lt;p&gt;BrandenRobinson: Revert vandalism.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== AD1881A ===&lt;br /&gt;
This is a Analog Devices AC'97 Audio controller&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: AD1881A&lt;br /&gt;
* Interface: AC'97&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux OSS driver ===&lt;br /&gt;
This sound chip is supported by the i810_audio kernel module.&lt;br /&gt;
&lt;br /&gt;
=== Linux ALSA driver ===&lt;br /&gt;
This sound chip is supported by the '''snd_intel8x0''' kernel module.&lt;br /&gt;
 &lt;br /&gt;
==== Debian Tip ====&lt;br /&gt;
&lt;br /&gt;
 apt-get install linux-sound-base&lt;br /&gt;
 sudo dpkg-reconfigure linux-sound-base&lt;br /&gt;
&lt;br /&gt;
Choose ALSA&lt;br /&gt;
&lt;br /&gt;
Try play a file like so:&lt;br /&gt;
 ogg123 -d alsa09 01.Somewhere_Only_We_Know.ogg&lt;br /&gt;
&lt;br /&gt;
Hints on modules you need to have loaded:&lt;br /&gt;
&lt;br /&gt;
 frodo$ lsmod | grep intel&lt;br /&gt;
 snd_intel8x0           34016  0&lt;br /&gt;
 snd_ac97_codec         83960  1 snd_intel8x0&lt;br /&gt;
 snd_pcm                93416  2 snd_intel8x0,snd_ac97_codec&lt;br /&gt;
 snd                    56260  4 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer&lt;br /&gt;
 intel_agp              24092  1&lt;br /&gt;
 snd_page_alloc          9860  2 snd_intel8x0,snd_pcm&lt;br /&gt;
 agpgart                35560  2 drm,intel_agp&lt;br /&gt;
 frodo$ uname -a&lt;br /&gt;
 Linux frodo 2.6.12-1-686 #1 Tue Sep 27 12:52:50 JST 2005 i686 GNU/Linux&lt;br /&gt;
&lt;br /&gt;
With ALSA you can play more than one track at once, for mixing or for just playing an MP3 while playing a game.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{A31}}, {{A31p}}&lt;br /&gt;
* {{R31}}, {{R32}}&lt;br /&gt;
* {{T30}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>BrandenRobinson</name></author>
		
	</entry>
</feed>