<?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=Wolffromro</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=Wolffromro"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Wolffromro"/>
	<updated>2026-05-05T10:40:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_APS_harddisk_parking&amp;diff=24511</id>
		<title>Problem with APS harddisk parking</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_APS_harddisk_parking&amp;diff=24511"/>
		<updated>2006-09-06T20:03:30Z</updated>

		<summary type="html">&lt;p&gt;Wolffromro: /* supported/unsupported harddrive firmwares */&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;
When trying to [[How to protect the harddisk through APS|enable APS functionality]] by installing &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;, the following problems might occur.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Problem with unload capabilities check==&lt;br /&gt;
You may get the following kernel message when the disk is protected (e.g., via {{cmdroot|echo 1 &amp;gt; /sys/block/sda/queue/protect}}):&lt;br /&gt;
&lt;br /&gt;
 ata_scsi_issue_protect_fn(): unload support NOT reported..&lt;br /&gt;
 scsi_protect_queue(): head park not requested, used standby!..&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 idedisk_issue_protect_fn(): unload support NOT reported..&lt;br /&gt;
 ide_protect_queue(): head park not requested, used standby!..&lt;br /&gt;
&lt;br /&gt;
{{WARN|Using HDAPS in the above state may cause frequent drive spin downs, thereby wearing out your hard disk.}}&lt;br /&gt;
&lt;br /&gt;
If you see this, and you are sure that your drive actually does support unloading (all original drives sold with HDAPS-equipped ThinkPads do), one of the following solutions might help.&lt;br /&gt;
&lt;br /&gt;
=== Drives which have this problem ===&lt;br /&gt;
* Hitachi HTS726060M9AT00 (7K60) on ThinkPad {{T43}}&lt;br /&gt;
* Fujitsu MHT2040AH (846C) on ThinkPad {{T41}} or {{R51}}&lt;br /&gt;
&lt;br /&gt;
=== Solution for kernel 2.6.16 or later ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt; patch for 2.6.16 now accepts the {{bootparm|protect_method|}} module parameter to override the &lt;br /&gt;
parking capability detection, which accepts the following numeric values:&lt;br /&gt;
*&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;: autodetect capability&lt;br /&gt;
*&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;: &amp;quot;unload the head even if the drive doesn't report it has this capability&amp;quot;&lt;br /&gt;
*&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;: &amp;quot;standby even if unload is supported&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Hence, depending on your machine type, and whether the module is built into the kernel or not, you can use one of the following options:&lt;br /&gt;
&lt;br /&gt;
If disk driver is built into kernel, add the following to your kernel boot parameters (e.g. {{path|/boot/grub/menu.lst}}):&lt;br /&gt;
    libata.protect_method=1&lt;br /&gt;
    ide-disk.protect_method=1&lt;br /&gt;
&lt;br /&gt;
If disk driver is built as module, add the following to your modprobe configuration (e.g., {{path|/etc/modprobe.conf}}):&lt;br /&gt;
    options libata protect_method=1&lt;br /&gt;
    options ide-disk protect_method=1&lt;br /&gt;
&lt;br /&gt;
In both cases, if you know whether you use &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt;, you can drop the other line.&lt;br /&gt;
&lt;br /&gt;
=== Solution for kernel 2.6.15 and older ===&lt;br /&gt;
The following patch overrides automatic protect capability detection.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -u linux-2.6.15.hdaps/drivers/ide/ide-disk.c linux-2.6.15.hdaps/drivers/ide/ide-disk.c&lt;br /&gt;
--- linux-2.6.15.hdaps/drivers/ide/ide-disk.c	2006-01-18 07:11:54.000000000 +0000&lt;br /&gt;
+++ linux-2.6.15.hdaps/drivers/ide/ide-disk.c	2006-01-18 07:11:54.000000000 +0000&lt;br /&gt;
@@ -869,7 +869,7 @@&lt;br /&gt;
 	else&lt;br /&gt;
 		printk(KERN_DEBUG &amp;quot;idedisk_issue_protect_fn(): unload support NOT reported..\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
-	return ide_protect_queue(q, (drive-&amp;gt;id-&amp;gt;cfsse &amp;amp; (1 &amp;lt;&amp;lt; 13)) ? 1: 0);&lt;br /&gt;
+	return ide_protect_queue(q, 1);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int idedisk_issue_unprotect_fn(request_queue_t *q)&lt;br /&gt;
diff -u linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c&lt;br /&gt;
--- linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c	2006-01-18 07:15:31.000000000 +0000&lt;br /&gt;
+++ linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c	2006-01-18 07:15:31.000000000 +0000&lt;br /&gt;
@@ -661,7 +661,7 @@&lt;br /&gt;
 		printk(KERN_DEBUG &amp;quot;ata_scsi_issue_protect_fn(): unload support NOT reported..\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 	/* call scsi_protect_queue, requesting either unload or standby */&lt;br /&gt;
-	return scsi_protect_queue(q, ata_id_has_unload(dev-&amp;gt;id) ? 1 : 0);&lt;br /&gt;
+	return scsi_protect_queue(q, 1);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 static int ata_scsi_issue_unprotect_fn(request_queue_t *q)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Problem with Hard Drive Firmware==&lt;br /&gt;
In case you see a message like below in {{cmdroot|dmesg}} output after you have started the hdaps daemon, &lt;br /&gt;
a firmware upgrade of your harddisk might solve your problem.&lt;br /&gt;
 &lt;br /&gt;
 ide_protect_queue(): head NOT parked!.. &lt;br /&gt;
 ide_unprotect_queue(): No pending I/O, re-enabling power management..&lt;br /&gt;
&lt;br /&gt;
Go to the [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-62282 IBM harddrive firmware update utility page] and check if a firmware upgrade is available for your harddisk. IBM/Lenovo provides a bootdisk for easy firmware upgrade (~17MB download). &lt;br /&gt;
&lt;br /&gt;
===supported/unsupported harddrive firmwares===&lt;br /&gt;
Use {{cmdroot| hdparm -i /dev/hda}} to get your harddisk model name and firmware version (replace &amp;lt;tt&amp;gt;/dev/hda&amp;lt;/tt&amp;gt; with the actual device for your hard drive).&lt;br /&gt;
On newer models, you need {{cmdroot| sdparm -i /dev/sda}} because of the SATA controller.&lt;br /&gt;
&lt;br /&gt;
The following line is the important one in the output: &lt;br /&gt;
&lt;br /&gt;
 Model=HTS726060M9AT00, FwRev=MH4O'''A6GA''', SerialNo=MRHXXXXXXXXX&lt;br /&gt;
&lt;br /&gt;
The last four characters of the '''FwRev''' actually marks the firmware version.&lt;br /&gt;
 &lt;br /&gt;
The table lists known working / not working firmware versions with [[HDAPS]] &lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
!Drive!!firmware!!park command output&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| IC25N040ATCS04-0 || CA40'''A71A''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| IC25N040ATMR04-0 || MO2O'''AD4A''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| IC25N040ATMR04-0 || MO2O'''ADEA''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTC426040G9AT00 || 00P4'''A0B4''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS548040M9AT00 || MG20'''A5BA''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS548040M9AT00 || MG20'''A5HA''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS548080M9AT00 || (TBA) || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS541060G9AT00 || MB3I'''A60A''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS726060M9AT00 || MH4O'''A6GA''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| Fujitsu MHT2040AH || 846C || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| Fujitsu MHT2040AH || 8471 || parked&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Wolffromro</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_APS_harddisk_parking&amp;diff=24510</id>
		<title>Problem with APS harddisk parking</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_APS_harddisk_parking&amp;diff=24510"/>
		<updated>2006-09-06T19:59:20Z</updated>

		<summary type="html">&lt;p&gt;Wolffromro: /* Drives which have this problem */&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;
When trying to [[How to protect the harddisk through APS|enable APS functionality]] by installing &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;, the following problems might occur.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Problem with unload capabilities check==&lt;br /&gt;
You may get the following kernel message when the disk is protected (e.g., via {{cmdroot|echo 1 &amp;gt; /sys/block/sda/queue/protect}}):&lt;br /&gt;
&lt;br /&gt;
 ata_scsi_issue_protect_fn(): unload support NOT reported..&lt;br /&gt;
 scsi_protect_queue(): head park not requested, used standby!..&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 idedisk_issue_protect_fn(): unload support NOT reported..&lt;br /&gt;
 ide_protect_queue(): head park not requested, used standby!..&lt;br /&gt;
&lt;br /&gt;
{{WARN|Using HDAPS in the above state may cause frequent drive spin downs, thereby wearing out your hard disk.}}&lt;br /&gt;
&lt;br /&gt;
If you see this, and you are sure that your drive actually does support unloading (all original drives sold with HDAPS-equipped ThinkPads do), one of the following solutions might help.&lt;br /&gt;
&lt;br /&gt;
=== Drives which have this problem ===&lt;br /&gt;
* Hitachi HTS726060M9AT00 (7K60) on ThinkPad {{T43}}&lt;br /&gt;
* Fujitsu MHT2040AH (846C) on ThinkPad {{T41}} or {{R51}}&lt;br /&gt;
&lt;br /&gt;
=== Solution for kernel 2.6.16 or later ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt; patch for 2.6.16 now accepts the {{bootparm|protect_method|}} module parameter to override the &lt;br /&gt;
parking capability detection, which accepts the following numeric values:&lt;br /&gt;
*&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;: autodetect capability&lt;br /&gt;
*&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;: &amp;quot;unload the head even if the drive doesn't report it has this capability&amp;quot;&lt;br /&gt;
*&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;: &amp;quot;standby even if unload is supported&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Hence, depending on your machine type, and whether the module is built into the kernel or not, you can use one of the following options:&lt;br /&gt;
&lt;br /&gt;
If disk driver is built into kernel, add the following to your kernel boot parameters (e.g. {{path|/boot/grub/menu.lst}}):&lt;br /&gt;
    libata.protect_method=1&lt;br /&gt;
    ide-disk.protect_method=1&lt;br /&gt;
&lt;br /&gt;
If disk driver is built as module, add the following to your modprobe configuration (e.g., {{path|/etc/modprobe.conf}}):&lt;br /&gt;
    options libata protect_method=1&lt;br /&gt;
    options ide-disk protect_method=1&lt;br /&gt;
&lt;br /&gt;
In both cases, if you know whether you use &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt;, you can drop the other line.&lt;br /&gt;
&lt;br /&gt;
=== Solution for kernel 2.6.15 and older ===&lt;br /&gt;
The following patch overrides automatic protect capability detection.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -u linux-2.6.15.hdaps/drivers/ide/ide-disk.c linux-2.6.15.hdaps/drivers/ide/ide-disk.c&lt;br /&gt;
--- linux-2.6.15.hdaps/drivers/ide/ide-disk.c	2006-01-18 07:11:54.000000000 +0000&lt;br /&gt;
+++ linux-2.6.15.hdaps/drivers/ide/ide-disk.c	2006-01-18 07:11:54.000000000 +0000&lt;br /&gt;
@@ -869,7 +869,7 @@&lt;br /&gt;
 	else&lt;br /&gt;
 		printk(KERN_DEBUG &amp;quot;idedisk_issue_protect_fn(): unload support NOT reported..\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
-	return ide_protect_queue(q, (drive-&amp;gt;id-&amp;gt;cfsse &amp;amp; (1 &amp;lt;&amp;lt; 13)) ? 1: 0);&lt;br /&gt;
+	return ide_protect_queue(q, 1);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int idedisk_issue_unprotect_fn(request_queue_t *q)&lt;br /&gt;
diff -u linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c&lt;br /&gt;
--- linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c	2006-01-18 07:15:31.000000000 +0000&lt;br /&gt;
+++ linux-2.6.15.hdaps/drivers/scsi/libata-scsi.c	2006-01-18 07:15:31.000000000 +0000&lt;br /&gt;
@@ -661,7 +661,7 @@&lt;br /&gt;
 		printk(KERN_DEBUG &amp;quot;ata_scsi_issue_protect_fn(): unload support NOT reported..\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 	/* call scsi_protect_queue, requesting either unload or standby */&lt;br /&gt;
-	return scsi_protect_queue(q, ata_id_has_unload(dev-&amp;gt;id) ? 1 : 0);&lt;br /&gt;
+	return scsi_protect_queue(q, 1);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 static int ata_scsi_issue_unprotect_fn(request_queue_t *q)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Problem with Hard Drive Firmware==&lt;br /&gt;
In case you see a message like below in {{cmdroot|dmesg}} output after you have started the hdaps daemon, &lt;br /&gt;
a firmware upgrade of your harddisk might solve your problem.&lt;br /&gt;
 &lt;br /&gt;
 ide_protect_queue(): head NOT parked!.. &lt;br /&gt;
 ide_unprotect_queue(): No pending I/O, re-enabling power management..&lt;br /&gt;
&lt;br /&gt;
Go to the [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-62282 IBM harddrive firmware update utility page] and check if a firmware upgrade is available for your harddisk. IBM/Lenovo provides a bootdisk for easy firmware upgrade (~17MB download). &lt;br /&gt;
&lt;br /&gt;
===supported/unsupported harddrive firmwares===&lt;br /&gt;
Use {{cmdroot| hdparm -i /dev/hda}} to get your harddisk model name and firmware version (replace &amp;lt;tt&amp;gt;/dev/hda&amp;lt;/tt&amp;gt; with the actual device for your hard drive).&lt;br /&gt;
On newer models, you need {{cmdroot| sdparm -i /dev/sda}} because of the SATA controller.&lt;br /&gt;
&lt;br /&gt;
The following line is the important one in the output: &lt;br /&gt;
&lt;br /&gt;
 Model=HTS726060M9AT00, FwRev=MH4O'''A6GA''', SerialNo=MRHXXXXXXXXX&lt;br /&gt;
&lt;br /&gt;
The last four characters of the '''FwRev''' actually marks the firmware version.&lt;br /&gt;
 &lt;br /&gt;
The table lists known working / not working firmware versions with [[HDAPS]] &lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
!Drive!!firmware!!park command output&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| IC25N040ATCS04-0 || CA40'''A71A''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| IC25N040ATMR04-0 || MO2O'''AD4A''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| IC25N040ATMR04-0 || MO2O'''ADEA''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTC426040G9AT00 || 00P4'''A0B4''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS548040M9AT00 || MG20'''A5BA''' || not parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS548040M9AT00 || MG20'''A5HA''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS548080M9AT00 || (TBA) || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS541060G9AT00 || MB3I'''A60A''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| HTS726060M9AT00 || MH4O'''A6GA''' || parked&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
| Fujitsu MHT2040AH || 846C || parked&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Wolffromro</name></author>
		
	</entry>
</feed>