https://www.thinkwiki.org/w/api.php?action=feedcontributions&user=Random+user+too&feedformat=atomThinkWiki - User contributions [en]2024-03-29T15:17:25ZUser contributionsMediaWiki 1.31.12https://www.thinkwiki.org/w/index.php?title=Thinkpad-acpi&diff=28394Thinkpad-acpi2007-02-24T00:41:22Z<p>Random user too: /* Interesting links related to this project */</p>
<hr />
<div>== thinkpad-acpi - IBM ThinkPad ACPI Extras Driver ==<br />
<br />
This is a Linux ACPI driver for the IBM ThinkPad laptops written by Erik Rigtorp. It aims to support various features of these laptops which are accessible through the ACPI framework but not otherwise supported by the generic Linux ACPI drivers. It is in the kernel since 2.6.9.<br />
<br />
=== Features ===<br />
* {{key|Fn}}{{key|F3}}, {{key|Fn}}{{key|F4}}, {{key|Fn}}{{key|F5}}, {{key|Fn}}{{key|F6}}, {{key|Fn}}{{key|F7}}, {{key|Fn}}{{key|F8}}, {{key|Fn}}{{key|F9}}, {{key|Fn}}{{key|F12}} key events<br />
<br />
=== Project Homepage / Availability ===<br />
The driver is included with kernels starting from 2.6.8.<br />
<br />
=== Status ===<br />
under development, usable (?)<br />
<br />
=== Interesting links related to this project ===<br />
* [http://rigtorp.se/thinkpad.html Erik Rigtorps rare comments on this (collector's item!)]<br />
* [http://ibm-acpi.sf.net ibm-acpi Sourceforge project summary]<br />
* [http://acpi.sourceforge.net acpi.sourceforge.net]<br />
* [http://www.kernel.org www.kernel.org]<br />
<br />
[[Category:Drivers]]</div>Random user toohttps://www.thinkwiki.org/w/index.php?title=Thinkpad-acpi&diff=28393Thinkpad-acpi2007-02-24T00:37:07Z<p>Random user too: /* Interesting links related to this project */</p>
<hr />
<div>== thinkpad-acpi - IBM ThinkPad ACPI Extras Driver ==<br />
<br />
This is a Linux ACPI driver for the IBM ThinkPad laptops written by Erik Rigtorp. It aims to support various features of these laptops which are accessible through the ACPI framework but not otherwise supported by the generic Linux ACPI drivers. It is in the kernel since 2.6.9.<br />
<br />
=== Features ===<br />
* {{key|Fn}}{{key|F3}}, {{key|Fn}}{{key|F4}}, {{key|Fn}}{{key|F5}}, {{key|Fn}}{{key|F6}}, {{key|Fn}}{{key|F7}}, {{key|Fn}}{{key|F8}}, {{key|Fn}}{{key|F9}}, {{key|Fn}}{{key|F12}} key events<br />
<br />
=== Project Homepage / Availability ===<br />
The driver is included with kernels starting from 2.6.8.<br />
<br />
=== Status ===<br />
under development, usable (?)<br />
<br />
=== Interesting links related to this project ===<br />
* [http://rigtorp.se/thinkpad.html Erik Rigtorps rare comments on this (even more rare now!)]<br />
* [http://ibm-acpi.sf.net ibm-acpi Sourceforge project summary]<br />
* [http://acpi.sourceforge.net acpi.sourceforge.net]<br />
* [http://www.kernel.org www.kernel.org]<br />
<br />
[[Category:Drivers]]</div>Random user toohttps://www.thinkwiki.org/w/index.php?title=HDAPS&diff=28391HDAPS2007-02-23T19:23:41Z<p>Random user too: /* How to install the driver */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
=== HDAPS - IBM Active Protection System Linux Driver ===<br />
This is the Linux driver for monitoring the accelerometer known as [[Active Protection System|IBM Active Protection System]].<br />
<br />
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.<br />
|}<br />
<br />
=== Features ===<br />
*provides accelerometer values via sysfs<br />
*provides a joystick type input device<br />
<br />
=== Project Homepage / Availability ===<br />
*[http://hdaps.sourceforge.net/ Project Homepage]<br />
*The driver is included in the 2.6-mm series of kernels since August, 26th 2005.<br />
*The driver is now in the mainline (2.6.14).<br />
*The [[tp_smapi]] package contains some patches to this driver. These are necessary for some recent models, and recommended for all.<br />
<br />
=== Status ===<br />
A driver is included in recent Linux kernels and is actively maintained. <br />
<br />
=== How to install the driver ===<br />
If you are using a version of the Linux kernel < 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. <br />
<br />
For 2.6.18 kernel, T60 users have to edit hdaps_init() in drivers/hwmon/hdaps.c to include a HDAPS_DMI_MATCH_LENOVO("ThinkPad T60") line.<br />
<br />
Install the tp_smapi module if you experience problems with hdaps always reading out constant values of (0,0) [http://sourceforge.net/mailarchive/message.php?msg_id=15350314 refer]<br />
<br />
=== Harddisk Protection ===<br />
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.<br />
<br />
See [[How to protect the harddisk through APS]].<br />
<br />
=== Input device support ===<br />
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.<br />
<br />
=== Applications ===<br />
====Disk head parking====<br />
You will need the kernel patch and userspace daemon. The GUI monitoring is optional.<br />
* Kernel patch (apply using 'patch -p1 -l < hdaps_xx.patch')<br />
**[http://lwn.net/Articles/154923/ disk park patch] <tt>an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)</tt><br />
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.14.patch disk park patch adapted for the t41p model] <tt> kernel 2.6.14 *([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)</tt><br />
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.15.patch disk park patch adapted for the t41p model] <tt> kernel 2.6.15 *([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)</tt><br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060118.patch sata/ide disk protection patch for 2.6.15]<br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060430.patch Latest sata/ide disk protection patch for 2.6.16]<br />
**[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]]<br />
**[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]]<br />
**[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]<br />
**[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]<br />
**[http://article.gmane.org/gmane.linux.kernel/470413 Latest sata/ide disk protection patch for 2.6.19-rc6]<br />
*Userspace daemon<br />
**[http://www.dresco.co.uk/hdaps/hdapsd-20060409.c userspace parking daemon]<br />
**[ftp://rohrmoser-engineering.de/pub/ hdapsd-<date>.c is an improved version of the daemon, which computes an adaptive sensivity threshold]<br />
*GUI monitoring<br />
**[http://www.oakcourt.dyndns.org/projects/khdapsmon/ khdapsmon] <tt>KDE System Tray app similar to the Windows one (also at [http://www.kde-apps.org/content/show.php?content=34134 kde-apps.org])</tt><br />
**[http://roy.marples.name/node/269 khdapmonitor] Another userfriendly KDE System Tray Monitor<br />
**[http://www.dresco.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz gnome-hdaps-applet] <tt>visual display of disk protection status in gnome panel</tt><br />
See [[How to protect the harddisk through APS]] for more information.<br />
<br />
====Security & safety====<br />
*[[Script for theft alarm using HDAPS]]<br />
<br />
====Tilt monitoring====<br />
*[http://www.mulliner.org/collin/gkibm-acpi.php gkhdaps] <tt>a GKrellM applet displaying tilt data</tt><br />
*[http://rlove.org/log/2005082203.html gnome-tilt] <tt>a gnome applet showing tilt data</tt><br />
<br />
====Visualisation (of ThinkPad orientation)====<br />
*[http://rlove.org/log/2005082401.html hdaps-gl] <tt>a little app animating a 3D-ThinkPad</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdapsgl-applet] <tt> a GNOME applet animating a 3D-ThinkPad</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 wmadhps] <tt>a WindowMaker DockApp animating a 3D-ThinkPad</tt><br />
*[http://www.cs.cmu.edu/~ecc/gyro.tar.gz OpenGL gyroscope hack] <tt>keeps your display levelled when tilting the ThinkPad</tt><br />
<br />
====Games====<br />
*[http://icculus.org/neverball/ Neverball] is quite fun with HDAPS. (You'll need to have the HDAPS joystick device)<br />
*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])<br />
<br />
====Other====<br />
<br />
*[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)<br />
**an [http://weblogs.mozillazine.org/gerv/archives/2006/09/stablilised_smackpad.html improved version] adds stabilization (by comparing smacks to previous ones, uses EWMH)<br />
**another [http://pberndt.com/Programme/Linux/pyhdaps/index.html approach] adds stabilization (by requiring a certain type of value deflection, uses xmacroplay)<br />
**[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]).<br />
*[http://blog.odonnell.nu/61.html xmms-smack.py] - move through your xmms playlist by smacking, based on the two smack scripts above.<br />
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw02aKnockBasedCommands KnockBasedCommands] - Execute commands by tapping your laptop.<br />
<br />
=== Interesting links related to this project ===<br />
* [https://lists.sourceforge.net/lists/listinfo/hdaps-devel HDAPS mailinglist and its archive]<br />
* #hdaps channel on irc.freenode.org<br />
* [https://sourceforge.net/projects/hdaps/ hdaps projects] overview of userspace programs using hdaps<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM IBM ThinkPads hardware drive firmware site]<br />
* [http://www.paul.sladen.org/thinkpad-r31/accelerometer.html http://www.paul.sladen.org/thinkpad-r31/accelerometer/]<br />
* http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps<br />
<br />
<br />
[[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]]</div>Random user toohttps://www.thinkwiki.org/w/index.php?title=TuxOnIce&diff=28380TuxOnIce2007-02-23T04:31:56Z<p>Random user too: /* Modifying the initrd generation scripts */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
===Software Suspend 2 - swsusp2===<br />
Software Suspend 2, sometimes also called "swsusp2" and "suspend2", 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]] "software suspend" functionality built into recent Linux kernels.<br />
|}<br />
<br />
==Features==<br />
Compared to the alternatives, Software Suspend 2 has some unique [http://suspend2.net/features features]:<br />
* Saving the memory image into a swap file, a swap partition or a normal file on any filesystem.<br />
* Cancelling a suspend in progress.<br />
* Different bugs -- if the alternatives don't work, try this one!<br />
<br />
It also have the following advantages over [[swsusp]] (these features are also provided, in principle, by the not-yet-stable [[uswsusp]]):<br />
* The ability to compress the memory image as it is written to disk, thereby reducing suspend and resume times. <br />
* Control over amount of RAM written to disk -- can (optionally) discard cached disk blocks to reduce suspend and resume times.<br />
* Textual and graphical UI (optional).<br />
<br />
<br />
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 <tt>hibernate</tt> script (see below).<br />
<br />
==Availability / Project Homepage==<br />
* [http://suspend2.net/ Project home page]<br />
<br />
==Model-specific Status==<br />
<br />
{| align="center" cellpadding="2" width="100%" style="border:1px; background:grey;"<br />
! style="background:#efefef;"| Thinkpad Model <br />
! style="background:#efefef;"| Type <br />
! style="background:#efefef;"| Operating System <br />
! style="background:#efefef;"| Kernel Version<br />
! style="background:#efefef;"| Suspend2 Version<br />
! style="background:#efefef;"| Success<br />
! style="background:#efefef;"| Note<br />
|- style="background: white; color:black;"<br />
<br />
| {{240}}<br />
| 2609-21G<br />
| Zenwalk 4.2<br />
| 2.6.18.6<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T60p}}<br />
| <br />
|<br />
| 2.6.18.1<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf, SATA mode set to compatibility in BIOS and the DMA fix from [[Problems with SATA and Linux]]<br />
|- style="background: white; color:black;"<br />
| {{T60}}<br />
| 2007-77G<br />
|<br />
| 2.6.17.14<br />
| 2.2.7.4<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf<br />
|- style="background: white;"<br />
| {{T42}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T43}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| need to unload the sound module (<tt>snd-cs46xx</tt>) on suspend. May want to enable UseDummyXServer if running X<br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| 2647-4BG <br />
| Ubuntu 6.10 Edgy Eft<br />
| 2.6.17.10<br />
| 2.2.7.6<br />
! style ="color:green;"| Yes <br />
| I used experimental [http://3v1n0.tuxfamily.org/dists/edgy/suspend2/ Trevino's kernel packages]<br />
|- style="background: white; color:black;" <br />
| {{X41T}}<br />
| <br />
| Fedore Core 4<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| 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]])<br />
|- style="background: white; color:black;"<br />
| {{X22}}<br />
| <br />
| Ubuntu Breezy<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Ubuntu (Breezy) on a ThinkPad X22]]<br />
|- style="background: white; color:black;"<br />
| {{G41}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Debian on a ThinkPad G41]]<br />
|- style="background: white; color:black;"<br />
| {{R51}}<br />
| 1829<br />
|<br />
| 2.6.19.1-suspend2-2.2.9<br />
|<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
| {{R51e}}<br />
|<br />
|<br />
| 2.6.16-suspend2-r8<br />
|<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 8000" in hibernate.conf<br />
|- style="background: white; color:black;"<br />
| {{R52}}<br />
| <br />
| <br />
| 2.6.17.1<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
| FC5 with kernel [http://mhensler.de/swsusp/download_en.php 2.6.17-1.2145_1.rhfc5.cubbi_suspend2]<br />
|- style="background: white; color:black;"<br />
| {{T23}}<br />
| 2647-9KU <br />
| Debian Etch<br />
| 2.6.17.4<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
|{{X60s}}<br />
| 1702-55G <br />
| Arch Linux<br />
| 2.6.17.13<br />
| 2.2.8<br />
! style ="color:green;"| Yes<br />
|I use the [http://iphitus.loudas.com/beyond.html beyond] patchset<br />
| <br />
|- style="background: white; color:black;"<br />
|{{Z61m}}<br />
| 9452-CTO<br />
| Kubuntu Edgy<br />
| 2.6.17.10-generic <br />
| 2.2.9 from experimental repository from http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
! style ="color:green;"| Yes<br />
| I have blacklisted these modules: tg3, tp_smapi, hdaps, uhci_hcd (fingerprintreader would not go into suspend), sdhci. More options in the hibernate scripts are "IbmAcpi" and "ProcSetting extra_pages_allowance 15000". SATA mode set to compatibility in BIOS<br />
| <br />
|}<br />
<br />
==Installation Instructions==<br />
The [http://suspend2.net/ project home page] has a detailed HOWTO and FAQ. The following are just a few highlights.<br />
<br />
===Modifying the initrd generation scripts, and recreate initrd===<br />
If your systems uses an <tt>initrd</tt> file (most do), you'll need to patch or replace your <tt>initrd</tt>-creation script.<br />
<br />
*{{Fedora}} 4: in {{path|/sbin/mkinitrd}}, find this line:<br />
echo "echo Mounted /proc filesystem" >> $RCFILE<br />
and add the following immediately afterwards:<br />
echo "echo > /sys/power/suspend2/do_resume" >>$RCFILE<br />
*{{Fedora}} 5: in {{path|/sbin/mkinitrd}}, find this line:<br />
if [ -z "$noresume" -a -n "$swsuspdev" ]; then<br />
and add the following immediately ''before'' the above:<br />
emit "echo 1 > /sys/power/suspend2/do_resume"<br />
You can also use the [http://atrpms.net/dist/fc5/mkinitrd-suspend2/ mkinitrd-suspend2] package from atrpms.<br />
*{{Debian}}: If your system uses mkinitrd to create the initrd, 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. If you use initramfs-tools, put a similar script into {{path|/etc/initramfs-tools/scripts/local-top/}} (the manpage of initramfs has templates of example "boot scripts")<br />
<br />
In any case, make sure you regenerate your <tt>initrd</tt> file by reinstalling the kernel package or explicitly with mkinitrd or mkinitramfs commands.<br />
<br />
===Hibernate script===<br />
Software Suspend 2 works best with the <tt>hibernate</tt> 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).<br />
<br />
====Availability====<br />
*{{Gentoo}}: emerge hibernate-script<br />
*{{Fedora}}: kernel and hibernate RPMs are available at http://mhensler.de/swsusp/<br />
*{{Ubuntu}}: packages for Ubuntu Dapper Drake (kernel, hibernate, suspend2ui-userui): http://dagobah.ucc.asn.au/dapper-kernels/<br />
*{{Ubuntu}}: experimental packages for Ubuntu Edgy Eft (kernel, hibernate, suspend2ui-userui): http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
*PLD: poldek -iv hibernate<br />
*Other: check the home page for packages (deb, i386 rpm, tgz, and source rpm) from http://www.suspend2.net<br />
<br />
==Configuration tips==<br />
===RediSafe-like functionality===<br />
The hibernate functionality on some ThinkPad BIOSes offers the useful "RediSafe" 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.<br />
<br />
Software Suspend 2 provides this feature too; simply add the following to {{path|/etc/hibernate/suspend2.conf}}:<br />
PowerdownMethod 3<br />
<br />
===Be aware of possible filesystem corruption scenarios===<br />
Certain usage scenarios can cause filesystem corruption with suspend2. Some details on this are in [http://www.suspend2.net/HOWTO-4.html#ss4 the project's HOWTO]. None of the workaround configurations fix the problem satisfactorily, so be warned. In particular, with an ext3 root filesystem, if you suspend to swap partition, and then use sysrescCD/Knoppix/some other way to mount the root filesystem read-only, you risk data corruption when you try to resume from the suspended image.<br />
<br />
As far as possible, after suspending the system, don't touch the root filesystem unless you are resuming from it :)<br />
[[Category:Patches]] [[Category:Drivers]]</div>Random user toohttps://www.thinkwiki.org/w/index.php?title=TuxOnIce&diff=28379TuxOnIce2007-02-23T04:29:34Z<p>Random user too: /* Patching mkinitrd */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
===Software Suspend 2 - swsusp2===<br />
Software Suspend 2, sometimes also called "swsusp2" and "suspend2", 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]] "software suspend" functionality built into recent Linux kernels.<br />
|}<br />
<br />
==Features==<br />
Compared to the alternatives, Software Suspend 2 has some unique [http://suspend2.net/features features]:<br />
* Saving the memory image into a swap file, a swap partition or a normal file on any filesystem.<br />
* Cancelling a suspend in progress.<br />
* Different bugs -- if the alternatives don't work, try this one!<br />
<br />
It also have the following advantages over [[swsusp]] (these features are also provided, in principle, by the not-yet-stable [[uswsusp]]):<br />
* The ability to compress the memory image as it is written to disk, thereby reducing suspend and resume times. <br />
* Control over amount of RAM written to disk -- can (optionally) discard cached disk blocks to reduce suspend and resume times.<br />
* Textual and graphical UI (optional).<br />
<br />
<br />
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 <tt>hibernate</tt> script (see below).<br />
<br />
==Availability / Project Homepage==<br />
* [http://suspend2.net/ Project home page]<br />
<br />
==Model-specific Status==<br />
<br />
{| align="center" cellpadding="2" width="100%" style="border:1px; background:grey;"<br />
! style="background:#efefef;"| Thinkpad Model <br />
! style="background:#efefef;"| Type <br />
! style="background:#efefef;"| Operating System <br />
! style="background:#efefef;"| Kernel Version<br />
! style="background:#efefef;"| Suspend2 Version<br />
! style="background:#efefef;"| Success<br />
! style="background:#efefef;"| Note<br />
|- style="background: white; color:black;"<br />
<br />
| {{240}}<br />
| 2609-21G<br />
| Zenwalk 4.2<br />
| 2.6.18.6<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T60p}}<br />
| <br />
|<br />
| 2.6.18.1<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf, SATA mode set to compatibility in BIOS and the DMA fix from [[Problems with SATA and Linux]]<br />
|- style="background: white; color:black;"<br />
| {{T60}}<br />
| 2007-77G<br />
|<br />
| 2.6.17.14<br />
| 2.2.7.4<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf<br />
|- style="background: white;"<br />
| {{T42}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T43}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| need to unload the sound module (<tt>snd-cs46xx</tt>) on suspend. May want to enable UseDummyXServer if running X<br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| 2647-4BG <br />
| Ubuntu 6.10 Edgy Eft<br />
| 2.6.17.10<br />
| 2.2.7.6<br />
! style ="color:green;"| Yes <br />
| I used experimental [http://3v1n0.tuxfamily.org/dists/edgy/suspend2/ Trevino's kernel packages]<br />
|- style="background: white; color:black;" <br />
| {{X41T}}<br />
| <br />
| Fedore Core 4<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| 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]])<br />
|- style="background: white; color:black;"<br />
| {{X22}}<br />
| <br />
| Ubuntu Breezy<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Ubuntu (Breezy) on a ThinkPad X22]]<br />
|- style="background: white; color:black;"<br />
| {{G41}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Debian on a ThinkPad G41]]<br />
|- style="background: white; color:black;"<br />
| {{R51}}<br />
| 1829<br />
|<br />
| 2.6.19.1-suspend2-2.2.9<br />
|<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
| {{R51e}}<br />
|<br />
|<br />
| 2.6.16-suspend2-r8<br />
|<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 8000" in hibernate.conf<br />
|- style="background: white; color:black;"<br />
| {{R52}}<br />
| <br />
| <br />
| 2.6.17.1<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
| FC5 with kernel [http://mhensler.de/swsusp/download_en.php 2.6.17-1.2145_1.rhfc5.cubbi_suspend2]<br />
|- style="background: white; color:black;"<br />
| {{T23}}<br />
| 2647-9KU <br />
| Debian Etch<br />
| 2.6.17.4<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
|{{X60s}}<br />
| 1702-55G <br />
| Arch Linux<br />
| 2.6.17.13<br />
| 2.2.8<br />
! style ="color:green;"| Yes<br />
|I use the [http://iphitus.loudas.com/beyond.html beyond] patchset<br />
| <br />
|- style="background: white; color:black;"<br />
|{{Z61m}}<br />
| 9452-CTO<br />
| Kubuntu Edgy<br />
| 2.6.17.10-generic <br />
| 2.2.9 from experimental repository from http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
! style ="color:green;"| Yes<br />
| I have blacklisted these modules: tg3, tp_smapi, hdaps, uhci_hcd (fingerprintreader would not go into suspend), sdhci. More options in the hibernate scripts are "IbmAcpi" and "ProcSetting extra_pages_allowance 15000". SATA mode set to compatibility in BIOS<br />
| <br />
|}<br />
<br />
==Installation Instructions==<br />
The [http://suspend2.net/ project home page] has a detailed HOWTO and FAQ. The following are just a few highlights.<br />
<br />
===Modifying the initrd generation scripts===<br />
If your systems uses an <tt>initrd</tt> file (most do), you'll need to patch or replace your <tt>initrd</tt>-creation script.<br />
<br />
*{{Fedora}} 4: in {{path|/sbin/mkinitrd}}, find this line:<br />
echo "echo Mounted /proc filesystem" >> $RCFILE<br />
and add the following immediately afterwards:<br />
echo "echo > /sys/power/suspend2/do_resume" >>$RCFILE<br />
*{{Fedora}} 5: in {{path|/sbin/mkinitrd}}, find this line:<br />
if [ -z "$noresume" -a -n "$swsuspdev" ]; then<br />
and add the following immediately ''before'' the above:<br />
emit "echo 1 > /sys/power/suspend2/do_resume"<br />
You can also use the [http://atrpms.net/dist/fc5/mkinitrd-suspend2/ mkinitrd-suspend2] package from atrpms.<br />
*{{Debian}}: If your system uses mkinitrd to create the initrd, 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. If you use initramfs-tools, put a similar script into {{path|/etc/initramfs-tools/scripts/local-top/}} (the manpage of initramfs has templates of example "boot scripts")<br />
In any case, make sure you regenerate your <tt>initrd</tt> file by reinstalling the kernel .deb or explicitly with mkinitrd or mkinitramfs.<br />
<br />
===Hibernate script===<br />
Software Suspend 2 works best with the <tt>hibernate</tt> 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).<br />
<br />
====Availability====<br />
*{{Gentoo}}: emerge hibernate-script<br />
*{{Fedora}}: kernel and hibernate RPMs are available at http://mhensler.de/swsusp/<br />
*{{Ubuntu}}: packages for Ubuntu Dapper Drake (kernel, hibernate, suspend2ui-userui): http://dagobah.ucc.asn.au/dapper-kernels/<br />
*{{Ubuntu}}: experimental packages for Ubuntu Edgy Eft (kernel, hibernate, suspend2ui-userui): http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
*PLD: poldek -iv hibernate<br />
*Other: check the home page for packages (deb, i386 rpm, tgz, and source rpm) from http://www.suspend2.net<br />
<br />
==Configuration tips==<br />
===RediSafe-like functionality===<br />
The hibernate functionality on some ThinkPad BIOSes offers the useful "RediSafe" 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.<br />
<br />
Software Suspend 2 provides this feature too; simply add the following to {{path|/etc/hibernate/suspend2.conf}}:<br />
PowerdownMethod 3<br />
<br />
===Be aware of possible filesystem corruption scenarios===<br />
Certain usage scenarios can cause filesystem corruption with suspend2. Some details on this are in [http://www.suspend2.net/HOWTO-4.html#ss4 the project's HOWTO]. None of the workaround configurations fix the problem satisfactorily, so be warned. In particular, with an ext3 root filesystem, if you suspend to swap partition, and then use sysrescCD/Knoppix/some other way to mount the root filesystem read-only, you risk data corruption when you try to resume from the suspended image.<br />
<br />
As far as possible, after suspending the system, don't touch the root filesystem unless you are resuming from it :)<br />
[[Category:Patches]] [[Category:Drivers]]</div>Random user toohttps://www.thinkwiki.org/w/index.php?title=TuxOnIce&diff=28378TuxOnIce2007-02-23T04:28:21Z<p>Random user too: /* Be aware of possible filesystem corruption scenarios */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
===Software Suspend 2 - swsusp2===<br />
Software Suspend 2, sometimes also called "swsusp2" and "suspend2", 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]] "software suspend" functionality built into recent Linux kernels.<br />
|}<br />
<br />
==Features==<br />
Compared to the alternatives, Software Suspend 2 has some unique [http://suspend2.net/features features]:<br />
* Saving the memory image into a swap file, a swap partition or a normal file on any filesystem.<br />
* Cancelling a suspend in progress.<br />
* Different bugs -- if the alternatives don't work, try this one!<br />
<br />
It also have the following advantages over [[swsusp]] (these features are also provided, in principle, by the not-yet-stable [[uswsusp]]):<br />
* The ability to compress the memory image as it is written to disk, thereby reducing suspend and resume times. <br />
* Control over amount of RAM written to disk -- can (optionally) discard cached disk blocks to reduce suspend and resume times.<br />
* Textual and graphical UI (optional).<br />
<br />
<br />
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 <tt>hibernate</tt> script (see below).<br />
<br />
==Availability / Project Homepage==<br />
* [http://suspend2.net/ Project home page]<br />
<br />
==Model-specific Status==<br />
<br />
{| align="center" cellpadding="2" width="100%" style="border:1px; background:grey;"<br />
! style="background:#efefef;"| Thinkpad Model <br />
! style="background:#efefef;"| Type <br />
! style="background:#efefef;"| Operating System <br />
! style="background:#efefef;"| Kernel Version<br />
! style="background:#efefef;"| Suspend2 Version<br />
! style="background:#efefef;"| Success<br />
! style="background:#efefef;"| Note<br />
|- style="background: white; color:black;"<br />
<br />
| {{240}}<br />
| 2609-21G<br />
| Zenwalk 4.2<br />
| 2.6.18.6<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T60p}}<br />
| <br />
|<br />
| 2.6.18.1<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf, SATA mode set to compatibility in BIOS and the DMA fix from [[Problems with SATA and Linux]]<br />
|- style="background: white; color:black;"<br />
| {{T60}}<br />
| 2007-77G<br />
|<br />
| 2.6.17.14<br />
| 2.2.7.4<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf<br />
|- style="background: white;"<br />
| {{T42}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T43}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| need to unload the sound module (<tt>snd-cs46xx</tt>) on suspend. May want to enable UseDummyXServer if running X<br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| 2647-4BG <br />
| Ubuntu 6.10 Edgy Eft<br />
| 2.6.17.10<br />
| 2.2.7.6<br />
! style ="color:green;"| Yes <br />
| I used experimental [http://3v1n0.tuxfamily.org/dists/edgy/suspend2/ Trevino's kernel packages]<br />
|- style="background: white; color:black;" <br />
| {{X41T}}<br />
| <br />
| Fedore Core 4<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| 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]])<br />
|- style="background: white; color:black;"<br />
| {{X22}}<br />
| <br />
| Ubuntu Breezy<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Ubuntu (Breezy) on a ThinkPad X22]]<br />
|- style="background: white; color:black;"<br />
| {{G41}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Debian on a ThinkPad G41]]<br />
|- style="background: white; color:black;"<br />
| {{R51}}<br />
| 1829<br />
|<br />
| 2.6.19.1-suspend2-2.2.9<br />
|<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
| {{R51e}}<br />
|<br />
|<br />
| 2.6.16-suspend2-r8<br />
|<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 8000" in hibernate.conf<br />
|- style="background: white; color:black;"<br />
| {{R52}}<br />
| <br />
| <br />
| 2.6.17.1<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
| FC5 with kernel [http://mhensler.de/swsusp/download_en.php 2.6.17-1.2145_1.rhfc5.cubbi_suspend2]<br />
|- style="background: white; color:black;"<br />
| {{T23}}<br />
| 2647-9KU <br />
| Debian Etch<br />
| 2.6.17.4<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
|{{X60s}}<br />
| 1702-55G <br />
| Arch Linux<br />
| 2.6.17.13<br />
| 2.2.8<br />
! style ="color:green;"| Yes<br />
|I use the [http://iphitus.loudas.com/beyond.html beyond] patchset<br />
| <br />
|- style="background: white; color:black;"<br />
|{{Z61m}}<br />
| 9452-CTO<br />
| Kubuntu Edgy<br />
| 2.6.17.10-generic <br />
| 2.2.9 from experimental repository from http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
! style ="color:green;"| Yes<br />
| I have blacklisted these modules: tg3, tp_smapi, hdaps, uhci_hcd (fingerprintreader would not go into suspend), sdhci. More options in the hibernate scripts are "IbmAcpi" and "ProcSetting extra_pages_allowance 15000". SATA mode set to compatibility in BIOS<br />
| <br />
|}<br />
<br />
==Installation Instructions==<br />
The [http://suspend2.net/ project home page] has a detailed HOWTO and FAQ. The following are just a few highlights.<br />
<br />
===Patching mkinitrd===<br />
If your systems uses an <tt>initrd</tt> file (most do), you'll need to patch or replace your <tt>initrd</tt>-creation script.<br />
<br />
*{{Fedora}} 4: in {{path|/sbin/mkinitrd}}, find this line:<br />
echo "echo Mounted /proc filesystem" >> $RCFILE<br />
and add the following immediately afterwards:<br />
echo "echo > /sys/power/suspend2/do_resume" >>$RCFILE<br />
*{{Fedora}} 5: in {{path|/sbin/mkinitrd}}, find this line:<br />
if [ -z "$noresume" -a -n "$swsuspdev" ]; then<br />
and add the following immediately ''before'' the above:<br />
emit "echo 1 > /sys/power/suspend2/do_resume"<br />
You can also use the [http://atrpms.net/dist/fc5/mkinitrd-suspend2/ mkinitrd-suspend2] package from atrpms.<br />
*{{Debian}}: If your system uses mkinitrd to create the initrd, 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. If you use initramfs-tools, put a similar script into {{path|/etc/initramfs-tools/scripts/local-top/}} (the manpage of initramfs has templates of example "boot scripts")<br />
In any case, make sure you regenerate your <tt>initrd</tt> file by reinstalling the kernel .deb or explicitly with mkinitrd or mkinitramfs.<br />
<br />
===Hibernate script===<br />
Software Suspend 2 works best with the <tt>hibernate</tt> 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).<br />
<br />
====Availability====<br />
*{{Gentoo}}: emerge hibernate-script<br />
*{{Fedora}}: kernel and hibernate RPMs are available at http://mhensler.de/swsusp/<br />
*{{Ubuntu}}: packages for Ubuntu Dapper Drake (kernel, hibernate, suspend2ui-userui): http://dagobah.ucc.asn.au/dapper-kernels/<br />
*{{Ubuntu}}: experimental packages for Ubuntu Edgy Eft (kernel, hibernate, suspend2ui-userui): http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
*PLD: poldek -iv hibernate<br />
*Other: check the home page for packages (deb, i386 rpm, tgz, and source rpm) from http://www.suspend2.net<br />
<br />
==Configuration tips==<br />
===RediSafe-like functionality===<br />
The hibernate functionality on some ThinkPad BIOSes offers the useful "RediSafe" 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.<br />
<br />
Software Suspend 2 provides this feature too; simply add the following to {{path|/etc/hibernate/suspend2.conf}}:<br />
PowerdownMethod 3<br />
<br />
===Be aware of possible filesystem corruption scenarios===<br />
Certain usage scenarios can cause filesystem corruption with suspend2. Some details on this are in [http://www.suspend2.net/HOWTO-4.html#ss4 the project's HOWTO]. None of the workaround configurations fix the problem satisfactorily, so be warned. In particular, with an ext3 root filesystem, if you suspend to swap partition, and then use sysrescCD/Knoppix/some other way to mount the root filesystem read-only, you risk data corruption when you try to resume from the suspended image.<br />
<br />
As far as possible, after suspending the system, don't touch the root filesystem unless you are resuming from it :)<br />
[[Category:Patches]] [[Category:Drivers]]</div>Random user toohttps://www.thinkwiki.org/w/index.php?title=TuxOnIce&diff=28377TuxOnIce2007-02-23T04:27:46Z<p>Random user too: /* Configuration tips */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
===Software Suspend 2 - swsusp2===<br />
Software Suspend 2, sometimes also called "swsusp2" and "suspend2", 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]] "software suspend" functionality built into recent Linux kernels.<br />
|}<br />
<br />
==Features==<br />
Compared to the alternatives, Software Suspend 2 has some unique [http://suspend2.net/features features]:<br />
* Saving the memory image into a swap file, a swap partition or a normal file on any filesystem.<br />
* Cancelling a suspend in progress.<br />
* Different bugs -- if the alternatives don't work, try this one!<br />
<br />
It also have the following advantages over [[swsusp]] (these features are also provided, in principle, by the not-yet-stable [[uswsusp]]):<br />
* The ability to compress the memory image as it is written to disk, thereby reducing suspend and resume times. <br />
* Control over amount of RAM written to disk -- can (optionally) discard cached disk blocks to reduce suspend and resume times.<br />
* Textual and graphical UI (optional).<br />
<br />
<br />
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 <tt>hibernate</tt> script (see below).<br />
<br />
==Availability / Project Homepage==<br />
* [http://suspend2.net/ Project home page]<br />
<br />
==Model-specific Status==<br />
<br />
{| align="center" cellpadding="2" width="100%" style="border:1px; background:grey;"<br />
! style="background:#efefef;"| Thinkpad Model <br />
! style="background:#efefef;"| Type <br />
! style="background:#efefef;"| Operating System <br />
! style="background:#efefef;"| Kernel Version<br />
! style="background:#efefef;"| Suspend2 Version<br />
! style="background:#efefef;"| Success<br />
! style="background:#efefef;"| Note<br />
|- style="background: white; color:black;"<br />
<br />
| {{240}}<br />
| 2609-21G<br />
| Zenwalk 4.2<br />
| 2.6.18.6<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T60p}}<br />
| <br />
|<br />
| 2.6.18.1<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf, SATA mode set to compatibility in BIOS and the DMA fix from [[Problems with SATA and Linux]]<br />
|- style="background: white; color:black;"<br />
| {{T60}}<br />
| 2007-77G<br />
|<br />
| 2.6.17.14<br />
| 2.2.7.4<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf<br />
|- style="background: white;"<br />
| {{T42}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T43}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| need to unload the sound module (<tt>snd-cs46xx</tt>) on suspend. May want to enable UseDummyXServer if running X<br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| 2647-4BG <br />
| Ubuntu 6.10 Edgy Eft<br />
| 2.6.17.10<br />
| 2.2.7.6<br />
! style ="color:green;"| Yes <br />
| I used experimental [http://3v1n0.tuxfamily.org/dists/edgy/suspend2/ Trevino's kernel packages]<br />
|- style="background: white; color:black;" <br />
| {{X41T}}<br />
| <br />
| Fedore Core 4<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| 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]])<br />
|- style="background: white; color:black;"<br />
| {{X22}}<br />
| <br />
| Ubuntu Breezy<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Ubuntu (Breezy) on a ThinkPad X22]]<br />
|- style="background: white; color:black;"<br />
| {{G41}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Debian on a ThinkPad G41]]<br />
|- style="background: white; color:black;"<br />
| {{R51}}<br />
| 1829<br />
|<br />
| 2.6.19.1-suspend2-2.2.9<br />
|<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
| {{R51e}}<br />
|<br />
|<br />
| 2.6.16-suspend2-r8<br />
|<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 8000" in hibernate.conf<br />
|- style="background: white; color:black;"<br />
| {{R52}}<br />
| <br />
| <br />
| 2.6.17.1<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
| FC5 with kernel [http://mhensler.de/swsusp/download_en.php 2.6.17-1.2145_1.rhfc5.cubbi_suspend2]<br />
|- style="background: white; color:black;"<br />
| {{T23}}<br />
| 2647-9KU <br />
| Debian Etch<br />
| 2.6.17.4<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
|{{X60s}}<br />
| 1702-55G <br />
| Arch Linux<br />
| 2.6.17.13<br />
| 2.2.8<br />
! style ="color:green;"| Yes<br />
|I use the [http://iphitus.loudas.com/beyond.html beyond] patchset<br />
| <br />
|- style="background: white; color:black;"<br />
|{{Z61m}}<br />
| 9452-CTO<br />
| Kubuntu Edgy<br />
| 2.6.17.10-generic <br />
| 2.2.9 from experimental repository from http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
! style ="color:green;"| Yes<br />
| I have blacklisted these modules: tg3, tp_smapi, hdaps, uhci_hcd (fingerprintreader would not go into suspend), sdhci. More options in the hibernate scripts are "IbmAcpi" and "ProcSetting extra_pages_allowance 15000". SATA mode set to compatibility in BIOS<br />
| <br />
|}<br />
<br />
==Installation Instructions==<br />
The [http://suspend2.net/ project home page] has a detailed HOWTO and FAQ. The following are just a few highlights.<br />
<br />
===Patching mkinitrd===<br />
If your systems uses an <tt>initrd</tt> file (most do), you'll need to patch or replace your <tt>initrd</tt>-creation script.<br />
<br />
*{{Fedora}} 4: in {{path|/sbin/mkinitrd}}, find this line:<br />
echo "echo Mounted /proc filesystem" >> $RCFILE<br />
and add the following immediately afterwards:<br />
echo "echo > /sys/power/suspend2/do_resume" >>$RCFILE<br />
*{{Fedora}} 5: in {{path|/sbin/mkinitrd}}, find this line:<br />
if [ -z "$noresume" -a -n "$swsuspdev" ]; then<br />
and add the following immediately ''before'' the above:<br />
emit "echo 1 > /sys/power/suspend2/do_resume"<br />
You can also use the [http://atrpms.net/dist/fc5/mkinitrd-suspend2/ mkinitrd-suspend2] package from atrpms.<br />
*{{Debian}}: If your system uses mkinitrd to create the initrd, 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. If you use initramfs-tools, put a similar script into {{path|/etc/initramfs-tools/scripts/local-top/}} (the manpage of initramfs has templates of example "boot scripts")<br />
In any case, make sure you regenerate your <tt>initrd</tt> file by reinstalling the kernel .deb or explicitly with mkinitrd or mkinitramfs.<br />
<br />
===Hibernate script===<br />
Software Suspend 2 works best with the <tt>hibernate</tt> 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).<br />
<br />
====Availability====<br />
*{{Gentoo}}: emerge hibernate-script<br />
*{{Fedora}}: kernel and hibernate RPMs are available at http://mhensler.de/swsusp/<br />
*{{Ubuntu}}: packages for Ubuntu Dapper Drake (kernel, hibernate, suspend2ui-userui): http://dagobah.ucc.asn.au/dapper-kernels/<br />
*{{Ubuntu}}: experimental packages for Ubuntu Edgy Eft (kernel, hibernate, suspend2ui-userui): http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
*PLD: poldek -iv hibernate<br />
*Other: check the home page for packages (deb, i386 rpm, tgz, and source rpm) from http://www.suspend2.net<br />
<br />
==Configuration tips==<br />
===RediSafe-like functionality===<br />
The hibernate functionality on some ThinkPad BIOSes offers the useful "RediSafe" 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.<br />
<br />
Software Suspend 2 provides this feature too; simply add the following to {{path|/etc/hibernate/suspend2.conf}}:<br />
PowerdownMethod 3<br />
<br />
===Be aware of possible filesystem corruption scenarios===<br />
Certain usage scenarios can cause filesystem corruption with suspend2. Some details on this are in [http://www.suspend2.net/HOWTO-4.html#ss4 the project's HOWTO]. None of the workarounds fix the problem satisfactorily, so be warned. In particular, with an ext3 root filesystem, if you suspend to swap partition, and then use sysrescCD/Knoppix/some other way to mount the root filesystem read-only, you risk data corruption when you try to resume from the suspended image.<br />
<br />
As far as possible, after suspending the system, don't touch the root filesystem unless you are resuming from it :)<br />
[[Category:Patches]] [[Category:Drivers]]</div>Random user toohttps://www.thinkwiki.org/w/index.php?title=TuxOnIce&diff=28376TuxOnIce2007-02-23T04:17:57Z<p>Random user too: /* Patching mkinitrd */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
===Software Suspend 2 - swsusp2===<br />
Software Suspend 2, sometimes also called "swsusp2" and "suspend2", 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]] "software suspend" functionality built into recent Linux kernels.<br />
|}<br />
<br />
==Features==<br />
Compared to the alternatives, Software Suspend 2 has some unique [http://suspend2.net/features features]:<br />
* Saving the memory image into a swap file, a swap partition or a normal file on any filesystem.<br />
* Cancelling a suspend in progress.<br />
* Different bugs -- if the alternatives don't work, try this one!<br />
<br />
It also have the following advantages over [[swsusp]] (these features are also provided, in principle, by the not-yet-stable [[uswsusp]]):<br />
* The ability to compress the memory image as it is written to disk, thereby reducing suspend and resume times. <br />
* Control over amount of RAM written to disk -- can (optionally) discard cached disk blocks to reduce suspend and resume times.<br />
* Textual and graphical UI (optional).<br />
<br />
<br />
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 <tt>hibernate</tt> script (see below).<br />
<br />
==Availability / Project Homepage==<br />
* [http://suspend2.net/ Project home page]<br />
<br />
==Model-specific Status==<br />
<br />
{| align="center" cellpadding="2" width="100%" style="border:1px; background:grey;"<br />
! style="background:#efefef;"| Thinkpad Model <br />
! style="background:#efefef;"| Type <br />
! style="background:#efefef;"| Operating System <br />
! style="background:#efefef;"| Kernel Version<br />
! style="background:#efefef;"| Suspend2 Version<br />
! style="background:#efefef;"| Success<br />
! style="background:#efefef;"| Note<br />
|- style="background: white; color:black;"<br />
<br />
| {{240}}<br />
| 2609-21G<br />
| Zenwalk 4.2<br />
| 2.6.18.6<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T60p}}<br />
| <br />
|<br />
| 2.6.18.1<br />
| 2.2.9<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf, SATA mode set to compatibility in BIOS and the DMA fix from [[Problems with SATA and Linux]]<br />
|- style="background: white; color:black;"<br />
| {{T60}}<br />
| 2007-77G<br />
|<br />
| 2.6.17.14<br />
| 2.2.7.4<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf<br />
|- style="background: white;"<br />
| {{T42}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T43}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| <br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| need to unload the sound module (<tt>snd-cs46xx</tt>) on suspend. May want to enable UseDummyXServer if running X<br />
|- style="background: white; color:black;"<br />
| {{T21}}<br />
| 2647-4BG <br />
| Ubuntu 6.10 Edgy Eft<br />
| 2.6.17.10<br />
| 2.2.7.6<br />
! style ="color:green;"| Yes <br />
| I used experimental [http://3v1n0.tuxfamily.org/dists/edgy/suspend2/ Trevino's kernel packages]<br />
|- style="background: white; color:black;" <br />
| {{X41T}}<br />
| <br />
| Fedore Core 4<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| 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]])<br />
|- style="background: white; color:black;"<br />
| {{X22}}<br />
| <br />
| Ubuntu Breezy<br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Ubuntu (Breezy) on a ThinkPad X22]]<br />
|- style="background: white; color:black;"<br />
| {{G41}}<br />
| <br />
| <br />
|<br />
|<br />
! style ="color:green;"| Yes <br />
| see [[Installing Debian on a ThinkPad G41]]<br />
|- style="background: white; color:black;"<br />
| {{R51}}<br />
| 1829<br />
|<br />
| 2.6.19.1-suspend2-2.2.9<br />
|<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
| {{R51e}}<br />
|<br />
|<br />
| 2.6.16-suspend2-r8<br />
|<br />
! style ="color:green;"| Yes <br />
| Requires "ProcSetting extra_pages_allowance 8000" in hibernate.conf<br />
|- style="background: white; color:black;"<br />
| {{R52}}<br />
| <br />
| <br />
| 2.6.17.1<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
| FC5 with kernel [http://mhensler.de/swsusp/download_en.php 2.6.17-1.2145_1.rhfc5.cubbi_suspend2]<br />
|- style="background: white; color:black;"<br />
| {{T23}}<br />
| 2647-9KU <br />
| Debian Etch<br />
| 2.6.17.4<br />
| 2.2.7<br />
! style ="color:green;"| Yes <br />
|<br />
|- style="background: white; color:black;"<br />
|{{X60s}}<br />
| 1702-55G <br />
| Arch Linux<br />
| 2.6.17.13<br />
| 2.2.8<br />
! style ="color:green;"| Yes<br />
|I use the [http://iphitus.loudas.com/beyond.html beyond] patchset<br />
| <br />
|- style="background: white; color:black;"<br />
|{{Z61m}}<br />
| 9452-CTO<br />
| Kubuntu Edgy<br />
| 2.6.17.10-generic <br />
| 2.2.9 from experimental repository from http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
! style ="color:green;"| Yes<br />
| I have blacklisted these modules: tg3, tp_smapi, hdaps, uhci_hcd (fingerprintreader would not go into suspend), sdhci. More options in the hibernate scripts are "IbmAcpi" and "ProcSetting extra_pages_allowance 15000". SATA mode set to compatibility in BIOS<br />
| <br />
|}<br />
<br />
==Installation Instructions==<br />
The [http://suspend2.net/ project home page] has a detailed HOWTO and FAQ. The following are just a few highlights.<br />
<br />
===Patching mkinitrd===<br />
If your systems uses an <tt>initrd</tt> file (most do), you'll need to patch or replace your <tt>initrd</tt>-creation script.<br />
<br />
*{{Fedora}} 4: in {{path|/sbin/mkinitrd}}, find this line:<br />
echo "echo Mounted /proc filesystem" >> $RCFILE<br />
and add the following immediately afterwards:<br />
echo "echo > /sys/power/suspend2/do_resume" >>$RCFILE<br />
*{{Fedora}} 5: in {{path|/sbin/mkinitrd}}, find this line:<br />
if [ -z "$noresume" -a -n "$swsuspdev" ]; then<br />
and add the following immediately ''before'' the above:<br />
emit "echo 1 > /sys/power/suspend2/do_resume"<br />
You can also use the [http://atrpms.net/dist/fc5/mkinitrd-suspend2/ mkinitrd-suspend2] package from atrpms.<br />
*{{Debian}}: If your system uses mkinitrd to create the initrd, 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. If you use initramfs-tools, put a similar script into {{path|/etc/initramfs-tools/scripts/local-top/}} (the manpage of initramfs has templates of example "boot scripts")<br />
In any case, make sure you regenerate your <tt>initrd</tt> file by reinstalling the kernel .deb or explicitly with mkinitrd or mkinitramfs.<br />
<br />
===Hibernate script===<br />
Software Suspend 2 works best with the <tt>hibernate</tt> 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).<br />
<br />
====Availability====<br />
*{{Gentoo}}: emerge hibernate-script<br />
*{{Fedora}}: kernel and hibernate RPMs are available at http://mhensler.de/swsusp/<br />
*{{Ubuntu}}: packages for Ubuntu Dapper Drake (kernel, hibernate, suspend2ui-userui): http://dagobah.ucc.asn.au/dapper-kernels/<br />
*{{Ubuntu}}: experimental packages for Ubuntu Edgy Eft (kernel, hibernate, suspend2ui-userui): http://3v1n0.tuxfamily.org/dists/edgy/suspend2/<br />
*PLD: poldek -iv hibernate<br />
*Other: check the home page for packages (deb, i386 rpm, tgz, and source rpm) from http://www.suspend2.net<br />
<br />
==Configuration tips==<br />
===RediSafe-like functionality===<br />
The hibernate functionality on some ThinkPad BIOSes offers the useful "RediSafe" 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.<br />
<br />
Software Suspend 2 provides this feature too; simply add the following to {{path|/etc/hibernate/suspend2.conf}}:<br />
PowerdownMethod 3<br />
<br />
<br />
[[Category:Patches]] [[Category:Drivers]]</div>Random user toohttps://www.thinkwiki.org/w/index.php?title=HDAPS&diff=28343HDAPS2007-02-21T22:09:32Z<p>Random user too: /* How to install the driver */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
=== HDAPS - IBM Active Protection System Linux Driver ===<br />
This is the Linux driver for monitoring the accelerometer known as [[Active Protection System|IBM Active Protection System]].<br />
<br />
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.<br />
|}<br />
<br />
=== Features ===<br />
*provides accelerometer values via sysfs<br />
*provides a joystick type input device<br />
<br />
=== Project Homepage / Availability ===<br />
*[http://hdaps.sourceforge.net/ Project Homepage]<br />
*The driver is included in the 2.6-mm series of kernels since August, 26th 2005.<br />
*The driver is now in the mainline (2.6.14).<br />
*The [[tp_smapi]] package contains some patches to this driver. These are necessary for some recent models, and recommended for all.<br />
<br />
=== Status ===<br />
A driver is included in recent Linux kernels and is actively maintained. <br />
<br />
=== How to install the driver ===<br />
If you are using a version of the Linux kernel < 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. <br />
<br />
For 2.6.18 kernel, T60 users have to edit hdaps_init() in drivers/hwmon/hdaps.c to include a HDAPS_DMI_MATCH_LENOVO("ThinkPad T60") line.<br />
<br />
=== Harddisk Protection ===<br />
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.<br />
<br />
See [[How to protect the harddisk through APS]].<br />
<br />
=== Input device support ===<br />
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.<br />
<br />
=== Applications ===<br />
====Disk head parking====<br />
You will need the kernel patch and userspace daemon. The GUI monitoring is optional.<br />
* Kernel patch (apply using 'patch -p1 -l < hdaps_xx.patch')<br />
**[http://lwn.net/Articles/154923/ disk park patch] <tt>an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)</tt><br />
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.14.patch disk park patch adapted for the t41p model] <tt> kernel 2.6.14 *([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)</tt><br />
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.15.patch disk park patch adapted for the t41p model] <tt> kernel 2.6.15 *([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)</tt><br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060118.patch sata/ide disk protection patch for 2.6.15]<br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060430.patch Latest sata/ide disk protection patch for 2.6.16]<br />
**[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]]<br />
**[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]]<br />
**[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]<br />
**[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]<br />
**[http://article.gmane.org/gmane.linux.kernel/470413 Latest sata/ide disk protection patch for 2.6.19-rc6]<br />
*Userspace daemon<br />
**[http://www.dresco.co.uk/hdaps/hdapsd-20060409.c userspace parking daemon]<br />
**[ftp://rohrmoser-engineering.de/pub/ hdapsd-<date>.c is an improved version of the daemon, which computes an adaptive sensivity threshold]<br />
*GUI monitoring<br />
**[http://www.oakcourt.dyndns.org/projects/khdapsmon/ khdapsmon] <tt>KDE System Tray app similar to the Windows one (also at [http://www.kde-apps.org/content/show.php?content=34134 kde-apps.org])</tt><br />
**[http://roy.marples.name/node/269 khdapmonitor] Another userfriendly KDE System Tray Monitor<br />
**[http://www.dresco.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz gnome-hdaps-applet] <tt>visual display of disk protection status in gnome panel</tt><br />
See [[How to protect the harddisk through APS]] for more information.<br />
<br />
====Security & safety====<br />
*[[Script for theft alarm using HDAPS]]<br />
<br />
====Tilt monitoring====<br />
*[http://www.mulliner.org/collin/gkibm-acpi.php gkhdaps] <tt>a GKrellM applet displaying tilt data</tt><br />
*[http://rlove.org/log/2005082203.html gnome-tilt] <tt>a gnome applet showing tilt data</tt><br />
<br />
====Visualisation (of ThinkPad orientation)====<br />
*[http://rlove.org/log/2005082401.html hdaps-gl] <tt>a little app animating a 3D-ThinkPad</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdapsgl-applet] <tt> a GNOME applet animating a 3D-ThinkPad</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 wmadhps] <tt>a WindowMaker DockApp animating a 3D-ThinkPad</tt><br />
*[http://www.cs.cmu.edu/~ecc/gyro.tar.gz OpenGL gyroscope hack] <tt>keeps your display levelled when tilting the ThinkPad</tt><br />
<br />
====Games====<br />
*[http://icculus.org/neverball/ Neverball] is quite fun with HDAPS. (You'll need to have the HDAPS joystick device)<br />
*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])<br />
<br />
====Other====<br />
<br />
*[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)<br />
**an [http://weblogs.mozillazine.org/gerv/archives/2006/09/stablilised_smackpad.html improved version] adds stabilization (by comparing smacks to previous ones, uses EWMH)<br />
**another [http://pberndt.com/Programme/Linux/pyhdaps/index.html approach] adds stabilization (by requiring a certain type of value deflection, uses xmacroplay)<br />
**[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]).<br />
*[http://blog.odonnell.nu/61.html xmms-smack.py] - move through your xmms playlist by smacking, based on the two smack scripts above.<br />
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw02aKnockBasedCommands KnockBasedCommands] - Execute commands by tapping your laptop.<br />
<br />
=== Interesting links related to this project ===<br />
* [https://lists.sourceforge.net/lists/listinfo/hdaps-devel HDAPS mailinglist and its archive]<br />
* #hdaps channel on irc.freenode.org<br />
* [https://sourceforge.net/projects/hdaps/ hdaps projects] overview of userspace programs using hdaps<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM IBM ThinkPads hardware drive firmware site]<br />
* [http://www.paul.sladen.org/thinkpad-r31/accelerometer.html http://www.paul.sladen.org/thinkpad-r31/accelerometer/]<br />
* http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps<br />
<br />
<br />
[[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]]</div>Random user too