HDAPS - IBM Active Protection System Linux Driver
This is the Linux driver for monitoring the acceleratometer known as IBM Active Protection System.
The driver only enables reading of the acceleration data. It does not perform automatic disk head parking. But there are already some other useful applications for HDAPS, using the /sys interface it provides.
- provides accelerometer values via sysfs
- provides a joystick type input device
Project Homepage / Availability
- Project Homepage
- The driver is included in the 2.6-mm series of kernels since August, 26th 2005.
- The driver is now in the mainline (2.6.14).
- The tp_smapi package contains some patches to this driver. These are necessary for some recent models, and recommended for all.
A driver is included in recent Linux kernels and is actively maintained.
How to install the driver
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.
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.
Input device support
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.
Disk head parking
- Kernel patch (apply using 'patch -p1 -l < hdaps_xx.patch')
- disk park patch an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)
- disk park patch adapted for the t41p model kernel 2.6.14 *(capability detection disabled, no libata support)
- disk park patch adapted for the t41p model kernel 2.6.15 *(capability detection disabled, no libata support)
- sata/ide disk protection patch for 2.6.15
- Latest sata/ide disk protection patch for 2.6.16
- Latest sata/ide disk protection patch for use with the libata hotplug 184.108.40.206 patches - See How_to_hotswap_UltraBay_devices
- Latest sata/ide disk protection patch for use with the libata hotplug 220.127.116.11 patches - See How_to_hotswap_UltraBay_devices
- Untested patch for 18.104.22.168: see 
- Userspace daemon
- GUI monitoring
See How to protect the harddisk through APS for more information.
Security & safety
Visualisation (of ThinkPad orientation)
- hdaps-gl a little app animating a 3D-ThinkPad
- hdapsgl-applet a GNOME applet animating a 3D-ThinkPad
- wmadhps a WindowMaker DockApp animating a 3D-ThinkPad
- OpenGL gyroscope hack keeps your display levelled when tilting the ThinkPad
- Robert Love mentions a Neverball patch on his blog to keep the display aligned. However, the link there seems broken.
- Turn your ThinkPad into a Jedi Weapon (hey, it works for Mac laptops)
- smack.py - switch workspace by smacking your laptop, inspired by the SmackBook
- GTollina - another smack program for use with compiz (video here).
- xmms-smack.py - move through your xmms playlist by smacking, based on the two smack scripts above.
- KnockBasedCommands - Execute commands by tapping your laptop.
- HDAPS mailinglist and its archive
- #hdaps channel on irc.freenode.org
- hdaps projects overview of userspace programs using hdaps
- IBM ThinkPads hardware drive firmware site
- http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*
- http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin
- http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application
- http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet
- http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application
- http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps