<?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=Supermihi</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=Supermihi"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Supermihi"/>
	<updated>2026-05-25T14:55:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=23699</id>
		<title>Talk:Problem with unauthorized MiniPCI network card</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=23699"/>
		<updated>2006-07-26T14:57:27Z</updated>

		<summary type="html">&lt;p&gt;Supermihi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Affected Models ==&lt;br /&gt;
I am unsure about which models this applies to.  I have seen reports of this problem affecting a T41p, T43, X40, R31, X31, and T30; but I do not know how far back this problem goes or if there are exceptions.  If anyone has better information, please clarify/specify the &amp;quot;Affected Models&amp;quot; section. --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Solution on T43? ==&lt;br /&gt;
There were several edits to the previous page to the effect that &amp;quot;this didn't work for my T43&amp;quot;.  Although I do not weight this as highly credible (please just ask for help on the ML rather than adding random comments to pages), I did feel that it deserved a mention that the solution may not work on the T43.  If anyone can confirm or deny this statement, please do so (and possibly ask on the ML for solutions if it does not work for you). --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Confirmation - patch not working on T43 ==&lt;br /&gt;
I can confirm, that a &amp;quot;nvram/cmos&amp;quot; patch is not working on my T43, exact type 1871-A62. I tried several cards (some working without patch in another thinkpads (t40, t42, x40), but no success.--[[User:Jap|Jap]] 09:50, 13 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Hotplugging PCI device ==&lt;br /&gt;
I'd like to send out a '''BIG FAT WARNING''' that 'hotplugging' the mini-PCI card can easily lead to frying the system board, mini-PCI bus, or both. Yes, it happened to me... :-( Interrupting the boot process at the lilo boot menu, and then inserting the ipw2915abg card worked as a charm to circumvent the BIOS white list. However, somewhere it must have gone wrong because now the laptop hangs immediately when the IBM/Intel boot logos appear. --[[User:LJSBrokken|LJSBrokken]] 13:01, 20 July 2006 (GMT+1)&lt;br /&gt;
&lt;br /&gt;
== Z60 series ==&lt;br /&gt;
I tried this on a Lenovo Z60t. Bought an Intel Wireless card since the linux drivers for the madwifi are crap. I applied the C-Patch from here. Then after booting with the intel device installed I get some weird broadcom PXE boot messages displayed ontop of the key symbol for startup security. Even if I don't put my finger on the sensor, it continues with GRUB. At this point I can't use the keyboard, the key symbol is still displayed in the upper left corner. After a few secons grub starts with its default entry (Gentoo Linux). It all works, but no Wireless Adapter shows up in lspci.&lt;br /&gt;
&lt;br /&gt;
So, I don't have that 1802 error, but still can't use my wifi card. Any ideas?&lt;/div&gt;</summary>
		<author><name>Supermihi</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_11a/b/g_Wireless_LAN_Mini_Express_Adapter&amp;diff=23174</id>
		<title>ThinkPad 11a/b/g Wireless LAN Mini Express Adapter</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_11a/b/g_Wireless_LAN_Mini_Express_Adapter&amp;diff=23174"/>
		<updated>2006-07-14T21:10:53Z</updated>

		<summary type="html">&lt;p&gt;Supermihi: added a photo of the actual device&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;
=== ThinkPad 11a/b/g Wireless LAN Mini Express Adapter ===&lt;br /&gt;
This is a WiFi Adapter that is installed in a Mini-PCI Express slot&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Atheros AR5006EX&lt;br /&gt;
* Integrated Mac Processor and Radio Chip: Atheros 5424&lt;br /&gt;
* IEEE Standards: 802.11a, 802.11b, 802.11g&lt;br /&gt;
* PCI ID: ??&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:Atheros_mini_express_wifi(thumbnail).jpg|Atheros mini-PCIe WiFi Adapter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
IBM Option PN (US): 40Y7026&lt;br /&gt;
&lt;br /&gt;
=== Linux WiFi driver ===&lt;br /&gt;
Try the [[Madwifi]] driver.&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
get the driver from http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-52527 and use ndiswrapper&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this card may be found in ===&lt;br /&gt;
* {{T60}}, {{T60p}}&lt;br /&gt;
* {{Z60t}}&lt;br /&gt;
&lt;br /&gt;
=== Related Links ===&lt;br /&gt;
* [http://www.madwifi.org MadWifi project page]&lt;br /&gt;
* [http://madwifi.org/ticket/263 MadWifi ticket #263]&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Supermihi</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:Atheros_mini_express_wifi(thumbnail).jpg&amp;diff=23173</id>
		<title>File:Atheros mini express wifi(thumbnail).jpg</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:Atheros_mini_express_wifi(thumbnail).jpg&amp;diff=23173"/>
		<updated>2006-07-14T21:08:09Z</updated>

		<summary type="html">&lt;p&gt;Supermihi: Small version of Image:Atheros_mini_express_wifi.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Small version of [[Image:Atheros_mini_express_wifi.jpg]]&lt;/div&gt;</summary>
		<author><name>Supermihi</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=File:Atheros_mini_express_wifi.jpg&amp;diff=23172</id>
		<title>File:Atheros mini express wifi.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=File:Atheros_mini_express_wifi.jpg&amp;diff=23172"/>
		<updated>2006-07-14T21:04:30Z</updated>

		<summary type="html">&lt;p&gt;Supermihi: This is the Atheros mini pci express wifi adapter that comes with some of the new Thinkpad models (e.g. Z60m/t).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Atheros mini pci express wifi adapter that comes with some of the new Thinkpad models (e.g. Z60m/t).&lt;/div&gt;</summary>
		<author><name>Supermihi</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=23152</id>
		<title>How to make ACPI work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=23152"/>
		<updated>2006-07-13T11:11:06Z</updated>

		<summary type="html">&lt;p&gt;Supermihi: /* ThinkPads on which it is recommended to use ACPI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==general==&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
First of all you'll have to enable ACPI support in your kernel (if your distro doesn't already have an ACPI enabled kernel).&lt;br /&gt;
To do this open your kernel config and enable ACPI Power Management:&lt;br /&gt;
:{{kernelconf|CONFIG_PM|&amp;lt;*&amp;gt;|Power Management support|Power management options|||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_SLEEP|&amp;lt;*&amp;gt;|ACPI|Power management options|||}}&lt;br /&gt;
&lt;br /&gt;
You'd most likely want to enable the following ACPI options:&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_SLEEP|&amp;lt;*&amp;gt;|Sleep States|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_AC|&amp;lt;*&amp;gt;|AC Adapter|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_BATTERY|&amp;lt;*&amp;gt;|Battery|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_FAN|&amp;lt;*&amp;gt;|Fan|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_PROCESSOR|&amp;lt;*&amp;gt;|Processor|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_THERMAL|&amp;lt;*&amp;gt;|Thermal Zone|ACPI|Power management options||}}&lt;br /&gt;
&lt;br /&gt;
If you prefer editing your {{path|.config}} file directly, you should set at least the following variables:&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_ACPI_BOOT=y&lt;br /&gt;
 CONFIG_ACPI_INTERPRETER=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP_PROC_FS=y&lt;br /&gt;
 CONFIG_ACPI_AC=y&lt;br /&gt;
 CONFIG_ACPI_BATTERY=y&lt;br /&gt;
 CONFIG_ACPI_BUTTON=y&lt;br /&gt;
 CONFIG_ACPI_FAN=y&lt;br /&gt;
 CONFIG_ACPI_PROCESSOR=y&lt;br /&gt;
 CONFIG_ACPI_THERMAL=y&lt;br /&gt;
 CONFIG_ACPI_BUS=y&lt;br /&gt;
 CONFIG_ACPI_EC=y&lt;br /&gt;
 CONFIG_ACPI_POWER=y&lt;br /&gt;
 CONFIG_ACPI_PCI=y&lt;br /&gt;
 CONFIG_ACPI_SYSTEM=y&lt;br /&gt;
&lt;br /&gt;
Then recompile your kernel. &lt;br /&gt;
&lt;br /&gt;
{{HINT| ACPI SLEEP States option did only show up for me after patching [[Software Suspend 2]] into the kernel  .}}&lt;br /&gt;
&lt;br /&gt;
===Kernel boot parameters===&lt;br /&gt;
Many ThinkPads have been hit by a recent (kernel 2.6.16) change to ACPI4Linux that changed the default means of accessing the ACPI Embedded Controller as a way to shake out underlying bugs in the EC access code. If your ThinkPad fails to resume properly (a blinking Sleep light on resume that doesn't go away, or a hang when trying to suspend/standby a second time), adding {{bootparm|ec_intr|0}} to your kernel command line may help.&lt;br /&gt;
&lt;br /&gt;
===IBM specific ACPI driver===&lt;br /&gt;
Unfortunately, special drivers for ACPI on ThinkPads were not included with kernels prior 2.6.10. So you'll have to compile one yourself or get it as precompiled module for your kernel.&lt;br /&gt;
&lt;br /&gt;
You have the choice between [[thinkpad-acpi]] and [[ibm-acpi]], with the latter being the recommended one.&lt;br /&gt;
&lt;br /&gt;
If you use a post-2.6.10 kernel and you want to use [[ibm-acpi]], it is recommended to look on its projects page for a possibly newer version.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Generally it is a good idea to read the README included with the driver.}}&lt;br /&gt;
&lt;br /&gt;
===ACPI daemon===&lt;br /&gt;
Also you'll need to install [[acpid]], if it isn't present on your system. [[acpid]] is a daemon that handles the ACPI events generated by the system. Read [[How to configure acpid]].&lt;br /&gt;
&lt;br /&gt;
==Screen blanking (Standby)==&lt;br /&gt;
Make sure you have &lt;br /&gt;
 Option &amp;quot;DPMS&amp;quot;&lt;br /&gt;
in the Monitor section of your {{path|/etc/X11/XF86Config}} or {{path|/etc/X11/xorg.conf}}.&lt;br /&gt;
&lt;br /&gt;
Running {{cmduser|xset +dpms}} and then {{cmduser|xset dpms force off}} will turn off the backlight on a laptop screen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this may not work in combination with {{cmduser|echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state}} because switching to console causes the backlight to come back on before sleeping.&lt;br /&gt;
&lt;br /&gt;
==Suspend to RAM (Sleep)==&lt;br /&gt;
ACPI Sleep/suspend-to-ram with recent 2.6.x kernels usually works fine. Have a look at the [[How to configure acpid|acpid configuration HOWTO]]. It includes a specific example for going to sleep on lid close.&lt;br /&gt;
&lt;br /&gt;
For Troubleshooting, look at the [[Problems with ACPI suspend-to-ram|Problems with ACPI suspend-to-ram page]].&lt;br /&gt;
&lt;br /&gt;
==Suspend to disk (Hibernate)==&lt;br /&gt;
There are two drivers for this available:&lt;br /&gt;
* [[swsusp]], which is in the kernel and&lt;br /&gt;
* [[Software Suspend 2]] which is more feature rich, but not yet in the kernel, so you have to patch it in yourself.&lt;br /&gt;
&lt;br /&gt;
Both are reported to work fine as long as you use open-source graphic drivers. A comparison of the features can be found on [http://softwaresuspend.berlios.de/features.html this page].&lt;br /&gt;
&lt;br /&gt;
Just in case you are in doubt...yes, it is safe in both cases to use the same swap partition as active swap and as suspend partition.&lt;br /&gt;
&lt;br /&gt;
See the according drivers page for instructions.&lt;br /&gt;
&lt;br /&gt;
==ThinkPads on which it is recommended to use ACPI==&lt;br /&gt;
*ThinkPad {{770X}}, {{770Z}}&lt;br /&gt;
*ThinkPad {{A20m}}, {{A20p}}, {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}, {{A30}}, {{A30p}}, {{A31}}, {{A31p}}&lt;br /&gt;
*ThinkPad {{G40}}, {{G41}}&lt;br /&gt;
*ThinkPad {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R52}}&lt;br /&gt;
*ThinkPad {{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}&lt;br /&gt;
*ThinkPad {{TransNote}}&lt;/div&gt;</summary>
		<author><name>Supermihi</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=23151</id>
		<title>How to make ACPI work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=23151"/>
		<updated>2006-07-13T11:10:51Z</updated>

		<summary type="html">&lt;p&gt;Supermihi: /* ThinkPads on which it is recommended to use ACPI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==general==&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
First of all you'll have to enable ACPI support in your kernel (if your distro doesn't already have an ACPI enabled kernel).&lt;br /&gt;
To do this open your kernel config and enable ACPI Power Management:&lt;br /&gt;
:{{kernelconf|CONFIG_PM|&amp;lt;*&amp;gt;|Power Management support|Power management options|||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_SLEEP|&amp;lt;*&amp;gt;|ACPI|Power management options|||}}&lt;br /&gt;
&lt;br /&gt;
You'd most likely want to enable the following ACPI options:&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_SLEEP|&amp;lt;*&amp;gt;|Sleep States|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_AC|&amp;lt;*&amp;gt;|AC Adapter|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_BATTERY|&amp;lt;*&amp;gt;|Battery|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_FAN|&amp;lt;*&amp;gt;|Fan|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_PROCESSOR|&amp;lt;*&amp;gt;|Processor|ACPI|Power management options||}}&lt;br /&gt;
:{{kernelconf|CONFIG_ACPI_THERMAL|&amp;lt;*&amp;gt;|Thermal Zone|ACPI|Power management options||}}&lt;br /&gt;
&lt;br /&gt;
If you prefer editing your {{path|.config}} file directly, you should set at least the following variables:&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_ACPI_BOOT=y&lt;br /&gt;
 CONFIG_ACPI_INTERPRETER=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP_PROC_FS=y&lt;br /&gt;
 CONFIG_ACPI_AC=y&lt;br /&gt;
 CONFIG_ACPI_BATTERY=y&lt;br /&gt;
 CONFIG_ACPI_BUTTON=y&lt;br /&gt;
 CONFIG_ACPI_FAN=y&lt;br /&gt;
 CONFIG_ACPI_PROCESSOR=y&lt;br /&gt;
 CONFIG_ACPI_THERMAL=y&lt;br /&gt;
 CONFIG_ACPI_BUS=y&lt;br /&gt;
 CONFIG_ACPI_EC=y&lt;br /&gt;
 CONFIG_ACPI_POWER=y&lt;br /&gt;
 CONFIG_ACPI_PCI=y&lt;br /&gt;
 CONFIG_ACPI_SYSTEM=y&lt;br /&gt;
&lt;br /&gt;
Then recompile your kernel. &lt;br /&gt;
&lt;br /&gt;
{{HINT| ACPI SLEEP States option did only show up for me after patching [[Software Suspend 2]] into the kernel  .}}&lt;br /&gt;
&lt;br /&gt;
===Kernel boot parameters===&lt;br /&gt;
Many ThinkPads have been hit by a recent (kernel 2.6.16) change to ACPI4Linux that changed the default means of accessing the ACPI Embedded Controller as a way to shake out underlying bugs in the EC access code. If your ThinkPad fails to resume properly (a blinking Sleep light on resume that doesn't go away, or a hang when trying to suspend/standby a second time), adding {{bootparm|ec_intr|0}} to your kernel command line may help.&lt;br /&gt;
&lt;br /&gt;
===IBM specific ACPI driver===&lt;br /&gt;
Unfortunately, special drivers for ACPI on ThinkPads were not included with kernels prior 2.6.10. So you'll have to compile one yourself or get it as precompiled module for your kernel.&lt;br /&gt;
&lt;br /&gt;
You have the choice between [[thinkpad-acpi]] and [[ibm-acpi]], with the latter being the recommended one.&lt;br /&gt;
&lt;br /&gt;
If you use a post-2.6.10 kernel and you want to use [[ibm-acpi]], it is recommended to look on its projects page for a possibly newer version.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Generally it is a good idea to read the README included with the driver.}}&lt;br /&gt;
&lt;br /&gt;
===ACPI daemon===&lt;br /&gt;
Also you'll need to install [[acpid]], if it isn't present on your system. [[acpid]] is a daemon that handles the ACPI events generated by the system. Read [[How to configure acpid]].&lt;br /&gt;
&lt;br /&gt;
==Screen blanking (Standby)==&lt;br /&gt;
Make sure you have &lt;br /&gt;
 Option &amp;quot;DPMS&amp;quot;&lt;br /&gt;
in the Monitor section of your {{path|/etc/X11/XF86Config}} or {{path|/etc/X11/xorg.conf}}.&lt;br /&gt;
&lt;br /&gt;
Running {{cmduser|xset +dpms}} and then {{cmduser|xset dpms force off}} will turn off the backlight on a laptop screen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this may not work in combination with {{cmduser|echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state}} because switching to console causes the backlight to come back on before sleeping.&lt;br /&gt;
&lt;br /&gt;
==Suspend to RAM (Sleep)==&lt;br /&gt;
ACPI Sleep/suspend-to-ram with recent 2.6.x kernels usually works fine. Have a look at the [[How to configure acpid|acpid configuration HOWTO]]. It includes a specific example for going to sleep on lid close.&lt;br /&gt;
&lt;br /&gt;
For Troubleshooting, look at the [[Problems with ACPI suspend-to-ram|Problems with ACPI suspend-to-ram page]].&lt;br /&gt;
&lt;br /&gt;
==Suspend to disk (Hibernate)==&lt;br /&gt;
There are two drivers for this available:&lt;br /&gt;
* [[swsusp]], which is in the kernel and&lt;br /&gt;
* [[Software Suspend 2]] which is more feature rich, but not yet in the kernel, so you have to patch it in yourself.&lt;br /&gt;
&lt;br /&gt;
Both are reported to work fine as long as you use open-source graphic drivers. A comparison of the features can be found on [http://softwaresuspend.berlios.de/features.html this page].&lt;br /&gt;
&lt;br /&gt;
Just in case you are in doubt...yes, it is safe in both cases to use the same swap partition as active swap and as suspend partition.&lt;br /&gt;
&lt;br /&gt;
See the according drivers page for instructions.&lt;br /&gt;
&lt;br /&gt;
==ThinkPads on which it is recommended to use ACPI==&lt;br /&gt;
*ThinkPad {{770X}}, {{770Z}}&lt;br /&gt;
*ThinkPad {{A20m}}, {{A20p}}, {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}, {{A30}}, {{A30p}}, {{A31}}, {{A31p}}&lt;br /&gt;
*ThinkPad {{G40}}, {{G41}}&lt;br /&gt;
*ThinkPad {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R52}}&lt;br /&gt;
*ThinkPad {{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
*ThinkPsf {{Z60t}}, {{Z60m}}&lt;br /&gt;
*ThinkPad {{TransNote}}&lt;/div&gt;</summary>
		<author><name>Supermihi</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_protect_the_harddisk_through_APS&amp;diff=23146</id>
		<title>How to protect the harddisk through APS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_protect_the_harddisk_through_APS&amp;diff=23146"/>
		<updated>2006-07-12T19:00:08Z</updated>

		<summary type="html">&lt;p&gt;Supermihi: /* Gentoo */&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;
This page tells you how to make the [[Active Protection System]] work under Linux to protect your harddrive from damage in case of a notebook drop or other kind of impact while it is running.&lt;br /&gt;
&lt;br /&gt;
Specific instructions for {{Fedora}} can be found [[Installing_Fedora_Core_5_on_a_ThinkPad_X41_Tablet#Harddrive_Active_Protection_System_.28HDAPS.29|here]].&lt;br /&gt;
&lt;br /&gt;
== How APS works in Linux ==&lt;br /&gt;
APS in Linux consists of four components on the software side:&lt;br /&gt;
* The [[HDAPS]] driver (included in recent kernels). It exports a sysfs interface providing the acceleration values.&lt;br /&gt;
* The [http://www.dresco.co.uk/hdaps/ &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;] disk protection kernel patch, which exports a sysfs interface that enables an ide or sata disk to be protected by a userspace process.&lt;br /&gt;
* The [http://www.dresco.co.uk/hdaps/ &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;] disk protection userspace daemon. It monitors the acceleration values through the HDAPS interface and automatically initiates disk protection through the hdaps_protect interface - given that the movement exceeds a user specified threshold.&lt;br /&gt;
* Optional: the [http://www.oakcourt.dyndns.org/projects/khdapsmon/ &amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt; KDE System Tray applet] or the [http://www.dresco.co.uk/hdaps/ &amp;lt;tt&amp;gt;gnome-hdaps-applet&amp;lt;/tt&amp;gt;]. These applets provide a visual indication of the disk protection status and also a graphical interface for adjusting configuration options for &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
As mentioned above, the hdaps kernel driver found in recent kernels is only responsible for reading the accelerometer data and exporting it through the sysfs interface. &lt;br /&gt;
&lt;br /&gt;
In order to use this information to protect the disk, some additional steps are required.&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest hdaps_protect disk protection kernel patches.&lt;br /&gt;
* Enable the drivers in the kernel (requires kernel rebuild).&lt;br /&gt;
* Download, build and configure the hdapsd userspace daemon.&lt;br /&gt;
* Download and build one of the applets to get a real-time representation of the disk protection status.&lt;br /&gt;
&lt;br /&gt;
===Getting the files===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Latest Sources&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; and the &amp;lt;tt&amp;gt;gnome-hdaps-applet&amp;lt;/tt&amp;gt;: http://www.dresco.co.uk/hdaps&lt;br /&gt;
*&amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt;: http://www.oakcourt.dyndns.org/projects/khdapsmon/&lt;br /&gt;
|-&lt;br /&gt;
! {{Debian}}&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gnome-hdaps-applet&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:{{cmdroot|deb http://www.oakcourt.dyndns.org/debian/ ./}}&lt;br /&gt;
:{{cmdroot|deb-src http://www.oakcourt.dyndns.org/debian/ ./}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Fedora}}&lt;br /&gt;
| see instructions [[Installing_Fedora_Core_5_on_a_ThinkPad_X41_Tablet#Harddrive_Active_Protection_System_.28HDAPS.29|here]]&lt;br /&gt;
*kernel RPM packages including &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;: http://www.dresco.co.uk/hdaps/ &lt;br /&gt;
*kernel RPM packages including &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt; and [[Software Suspend 2]]: http://mhensler.de/swsusp/download/yum/development/fc5/ (build 2084_2 and up)&lt;br /&gt;
|-&lt;br /&gt;
! {{Gentoo}}&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; ebuild: http://bugs.gentoo.org/show_bug.cgi?id=119845&lt;br /&gt;
*&amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt; ebuild: http://bugs.gentoo.org/show_bug.cgi?id=124175&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Adding kernel support ===&lt;br /&gt;
A kernel patch is required for disk head parking and queue freezing.&lt;br /&gt;
&lt;br /&gt;
==== Manually patching and compiling a kernel ====&lt;br /&gt;
As root, do:&lt;br /&gt;
:{{cmdroot|cd /usr/src/linux}}&lt;br /&gt;
:{{cmdroot|patch -p1 &amp;lt; ~/hdaps_protect.20060409.patch}}&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
:{{cmdroot|make}}&lt;br /&gt;
:{{cmdroot|make modules_install}}&lt;br /&gt;
&lt;br /&gt;
=== Installing hdapsd ===&lt;br /&gt;
==== Manual compilation from source ====&lt;br /&gt;
* Download the &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; sources (see above)&lt;br /&gt;
* Compile using {{cmdroot|gcc -o hdapsd hdapsd-*.c}}&lt;br /&gt;
* Run {{cmdroot|./hdapsd -d sda -s 12 -a}} (replace &amp;lt;tt&amp;gt;sda&amp;lt;/tt&amp;gt; with your hard disk device; run {{cmdroot|./hdapsd}} without arguments for help)&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
{{Gentoo}} users can try the ebuild attached to [http://bugs.gentoo.org/show_bug.cgi?id=119845 gentoo bug 119845].&lt;br /&gt;
{{NOTE|1=hdapsd was added to the official portage tree on the 26th June 2006.}}&lt;br /&gt;
*Add hdapsd support in your kernel: device drivers -&amp;gt; hardware monitoring -&amp;gt; ... (you need it as a module if you want to use tp_smapi and hdaps, see [[Tp_smapi]])&lt;br /&gt;
*Download the ebuild, use same ebuild date as the kernel-patch.&lt;br /&gt;
*Make known the portage an extern ebuild path and add the following line to {{path|/etc/make.conf}}:&lt;br /&gt;
 PORTDIR_OVERLAY=&amp;quot;/usr/local/portage/&amp;quot; (or any other location)&lt;br /&gt;
*Create directory {{path|/usr/local/portage}} and {{path|/usr/local/portage/app-laptop/}}&lt;br /&gt;
*Copy the downloaded ebuild to {{path|/usr/local/portage/app-laptop}} ({{path|/usr/local/portage/app-laptop/hdapsd}} should now exists)&lt;br /&gt;
*Make portage known the new ebuild and creat digist with:&lt;br /&gt;
:{{cmdroot|ebuild /usr/local/portage/app-laptop/hdapsd/hdapsd-20060326.ebuild digest}}&lt;br /&gt;
*Optional: Copy source file to portage distfiles (if no internet connection is available): &lt;br /&gt;
:{{cmdroot|cp hdapsd-20060326.c /usr/portage/distfiles}}&lt;br /&gt;
*Accept the x86 keyword for this package: {{cmdroot|echo &amp;quot;app-laptop/hdapsd ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords}}&lt;br /&gt;
*Install hdapsd with: {{cmdroot|emerge hdapsd}}.&lt;br /&gt;
*Edit {{path|/etc/conf.d/hdapsd}} (change your harddrive if neccessary: mine is sda, and change the value from 5, 5 is to sensitive, 12 is a good value in my opinion).&lt;br /&gt;
*start deamon with: {{cmdroot|/etc/init.d/hdapsd start}}&lt;br /&gt;
*Optional: add to default runlevel: {{cmdroot|rc-update add hdapsd default, rc-update add hdapsd battery}}&lt;br /&gt;
Write an eMail to abartel[Ã¤d]htwm.de, if you want to get my hdapsd-20060326.ebuild and please upload it.&lt;br /&gt;
&lt;br /&gt;
=== Building an applet ===&lt;br /&gt;
====hdaps-gl====&lt;br /&gt;
*Make sure you have installed hdaps [and loaded] and ?opengl?&lt;br /&gt;
*Download &amp;lt;tt&amp;gt;hdaps-gl-0.0.5&amp;lt;/tt&amp;gt; from the web.&lt;br /&gt;
*Extract files to {{path|/opt/hdaps-gl}}.&lt;br /&gt;
*{{cmdroot|make}}&lt;br /&gt;
*Start the applet: {{cmdroot|./hdaps-gl}}&lt;br /&gt;
&lt;br /&gt;
====khdapsmon====&lt;br /&gt;
This application uses GNU autotools, so building it is the same as any other autotooled program:&lt;br /&gt;
*extract the source somewhere and change to that directory,&lt;br /&gt;
*run {{cmdroot|./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install}}.&lt;br /&gt;
See [[#Getting the files|above]] for Debian packages and a Gentoo ebuild.&lt;br /&gt;
&lt;br /&gt;
====gnome-hdaps-applet====&lt;br /&gt;
=====Debian/Ubuntu=====&lt;br /&gt;
Packages available at site listed above (with source packages that can do the building for you)&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
See the [[Problem with APS harddisk parking]] page for troubleshooting APS issues.&lt;br /&gt;
{{NOTE|1=If you use [[tp_smapi]], remember to include the option &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; when [[Tp_smapi#Installation|installing tp_smapi]]. Also, you might need to build the hdaps driver as module.}}&lt;br /&gt;
&lt;br /&gt;
==Further Information==&lt;br /&gt;
*Additonal information and support is available through the [[Mailinglists#HDAPS Developers Mailinglist|hdaps-devel]] mailinglist and its archive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]]&lt;/div&gt;</summary>
		<author><name>Supermihi</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_acpid&amp;diff=23145</id>
		<title>How to configure acpid</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_acpid&amp;diff=23145"/>
		<updated>2006-07-12T16:43:09Z</updated>

		<summary type="html">&lt;p&gt;Supermihi: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Introduction==&lt;br /&gt;
Basically, [[acpid]] just executes scripts residing in {{path|/etc/acpi/actions}}. Which script to launch at which event is configured in several files in {{path|/etc/acpi/events}}. All actions are documented in {{path|/var/log/acpid}}.&lt;br /&gt;
&lt;br /&gt;
==Sources of Information==&lt;br /&gt;
*{{cmduser|man acpid}} holds detailed information on how to configure acpid.&lt;br /&gt;
*The [[ibm-acpi]] package includes example scripts in the {{path|config}} folder inside the tarball. They are a good starting point to adjust them to your needs.&lt;br /&gt;
*You also might want to have a look at the [[Configs#ACPI | ACPI section of the Configs page]] or the [[:Category:Scripts|Scripts]] repository.&lt;br /&gt;
*And you can find information about the event strings [[ibm-acpi]] generates for certain keys at the [[How to get special keys to work#ibm-acpi_events | Special Keys HOWTO]].&lt;br /&gt;
&lt;br /&gt;
==Example: go to sleep on lid close==&lt;br /&gt;
To make the ThinkPad go to sleep when you close the lid, you need to add&lt;br /&gt;
an event handler for the lid event and an action script that takes care&lt;br /&gt;
of going to sleep and resuming.&lt;br /&gt;
&lt;br /&gt;
===Event Script===&lt;br /&gt;
The event script needs to be created within {{path|/etc/acpi/events}} and can have any name you like.&lt;br /&gt;
In this case we call it lid because it will trigger the lid event. Do {{cmdroot|vi /etc/acpi/events/lid}} and make it look like this:&lt;br /&gt;
 event=button/lid&lt;br /&gt;
 action=/etc/acpi/actions/sleep.sh %e&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;event&amp;quot; line is a regular expression specifying the events we're&lt;br /&gt;
interested in. You can determine what the event strings are from looking at&lt;br /&gt;
{{path|/var/log/acpid}} after trying to suspend, close the lid, etc. .&lt;br /&gt;
You can find information about the event strings [[ibm-acpi]] generates for certain keys at the [[How to get special keys to work#ibm-acpi_events | Special Keys HOWTO]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;action&amp;quot; line is the command to be executed when these events are&lt;br /&gt;
dispatched. In this example we call the {{path|sleep.sh}} script residing in {{path|/etc/acpi/actions}} and pass the event description text using the %e placeholder.&lt;br /&gt;
&lt;br /&gt;
For the script you can use the &amp;lt;tt&amp;gt;hibernate&amp;lt;/tt&amp;gt; script of [http://www.suspend2.net/ Software Suspend 2] (it is independent of the [[Software Suspend 2|suspend-to-disk]] functionality), or any of many examples available on the web, such as the one below.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|To make your changes take effect after adding or modifying the events files you must do a &amp;lt;tt&amp;gt;kill -SIGHUP `pidof acpid`&amp;lt;/tt&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
===Action Script===&lt;br /&gt;
Our example {{path|/etc/acpi/actions/sleep.sh}} script looks as follows:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # if launched through a lid event and lid is open, do nothing&lt;br /&gt;
 echo &amp;quot;$1&amp;quot; | grep &amp;quot;button/lid&amp;quot; &amp;amp;&amp;amp; grep -q open /proc/acpi/button/lid/LID/state &amp;amp;&amp;amp; exit 0&lt;br /&gt;
 &lt;br /&gt;
 # remove USB 1.1 driver&lt;br /&gt;
 rmmod uhci_hcd&lt;br /&gt;
  &lt;br /&gt;
 # sync filesystem and clock&lt;br /&gt;
 sync&lt;br /&gt;
 /sbin/hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # switch to console&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 /usr/sbin/radeontool light off&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 sleep 5 &amp;amp;&amp;amp; echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 # readjust the clock (it might be off a bit after suspend)&lt;br /&gt;
 /sbin/hwclock --adjust&lt;br /&gt;
 /sbin/hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # reload USB 1.1 driver&lt;br /&gt;
 modprobe uhci_hcd&lt;br /&gt;
 &lt;br /&gt;
 # turn on the backlight and switch back to X&lt;br /&gt;
 radeontool light on&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
&lt;br /&gt;
====Explanations====&lt;br /&gt;
*The lid generates an event for both opening and closing thus requiring that we check its state and only act if it's closed.&lt;br /&gt;
*There have been problems encountered with the USB devices not working properly after a resume from suspend. To circumvent those we remove the USB driver prior to suspend and reload it afterwards.&lt;br /&gt;
*Note that the {{cmdroot|echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state}} line does not return until we are revived. So there is only one event generated and there is no need to check the state of anything.&lt;br /&gt;
*The console switching code in this script is a special solution for [[Problem with LCD backlight remaining on during ACPI sleep|a problem where the backlight doesn't switch off]] on the {{T30}} and some other models. Before going to sleep, these models switch to console mode which causes the backlight to come back on. So we preemptively switch to console mode and turn off the backlight using [[radeontool]] before going to sleep.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
*If something doesn't work, your first action should be a {{cmdroot|tail /var/log/acpid}}. It will tell you a lot about what is going on. If it has &amp;quot;Permission denied&amp;quot; errors, check the permissions of your {{path|/etc/acpi/actions}} scripts (especially make sure that the executable bit is set). Also check the permissions for other involved files like i.e. device nodes.&lt;br /&gt;
*For further problems look at the [[Problems with ACPI suspend-to-ram|Problems with ACPI suspend-to-ram page]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:770X]] [[Category:770Z]] [[Category:A20m]] [[Category:A20p]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]]  [[Category:Z60t]] [[Category:Z60m]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>Supermihi</name></author>
		
	</entry>
</feed>