Parken der Festplattenköpfe komplett deaktivieren

el-sahef

Active member
Themenstarter
Registriert
4 Aug. 2008
Beiträge
1.670
[gelöst] Parken der Festplattenköpfe komplett deaktivieren

Hallo,

gibt es eine Möglichkeit, das Parken der Köpfe bei einer Festplatte (oder für alle gleichzeitig, spielt keine Rolle) unter Linux komplett zu unterbinden und zwar auch bei vorhandenem APS (geht um ein T42p)? Habe schon den Standby-Timer für die Platte deaktiviert, aber das war es nicht, die Platte parkt immer noch. Es handelt sich um eine Samsung-Platte.

mfg el-sahef
 
Zuletzt bearbeitet:
Hi,

HDAPS parkt auf jeden Fall die Köpfe sobald es auslöst. Ist vielleicht die Empfindlichkeit zu hoch eingestellt? Zur Eingrenzung wirst Du nicht umhin kommen HDAPS vorübergehend abzustellen.

Bei den meisten Platten hängt die Parkneigung vom APM-Level ab. Was hast Du eingestellt? Schon 254 oder 255 probiert?

ps. einen globalen Parkverbotsschalter gibt es nicht, wäre ja auch zu einfach ...
 
Zuletzt bearbeitet:
Habe es mit 0, 254 und mit 255 probiert, auch was mit 12x, das sollten ja dann auch schon einige Minuten sein, hat trotzdem direkt wieder nach ein paar Sekunden geparkt.

Das HDAPS-Modul wurde standardmäßig garnicht geladen, das habe ich dann manuell in /etc/boot.local eingefügt, weil ich gedacht habe, evtl. hängt es damit zusammen, dass das HDAPS-Modul nicht geladen wird. Es wurde dadurch aber weder schlimmer noch besser, das Ding parkt nach wie vor ständig, auch wenns ohne jegliche Erschütterung auf dem Tisch steht.

Boote ich Windows 7, wird die Platte überhaupt nicht geparkt, außer ich schüttel das Gerät, um einen Parkvorgang durch das HDAPS auszulösen (was auch klappt). Deaktiviere ich unter Windows das HDAPS, wird ebenfalls nicht geparkt. Deshalb denke ich, dass es eine Möglichkeit geben muss, dass Parkverhalten der Festplatte zu beeinflussen, denn sonst würde sie unter Windows ja ebenfalls ständig parken.

Das mit dem Parkverbotsschalter wäre genau das gewesen, was ich gebraucht hätte ;) . Weitere Ideen?
 
Das Kernelmodul hdaps allein macht erst mal nichts, der Dämon hdapsd parkt die Platte. Wie ist der konfiguriert, d.h. was steht in /etc/default/hdapsd?

ps. tp-smapi ist installiert?
ps2. von welcher Distri reden wir hier?
 
tp-smapi ist installiert?
Jetzt schon. Aber wofür braucht man das? Denn der HDAPS-Treiber ist ja schon vorher im kernel gewesen. Der hdaps-Dämon war auch nicht drauf, habe ich aber nun ebenfalls installiert.

Distribution ist Suse 11.4. Ein config-File für den Dämon existiert nicht, scheint aber auch nicht nötig zu sein, denn wenn ich den Dämon manuell starte:

linux-t42p:/ # hdapsd
Mon Apr 25 02:09:44 2011: Starting hdapsd
Mon Apr 25 02:09:44 2011: WARNING: You did not supply any devices to protect, trying autodetection.
Mon Apr 25 02:09:44 2011: Adding autodetected device: sda
Mon Apr 25 02:09:44 2011: Selected interface: HDAPS
Mon Apr 25 02:09:44 2011: Selected HDAPS input device: /dev/input/event9
Mon Apr 25 02:09:49 2011: parking
Mon Apr 25 02:09:50 2011: un-parking
Mon Apr 25 02:09:59 2011: parking
Mon Apr 25 02:10:00 2011: un-parking
Mon Apr 25 02:10:06 2011: parking
Mon Apr 25 02:10:07 2011: un-parking
Mon Apr 25 02:10:17 2011: parking
Mon Apr 25 02:10:18 2011: un-parking
Mon Apr 25 02:10:25 2011: parking
Mon Apr 25 02:10:26 2011: un-parking
Mon Apr 25 02:10:32 2011: parking
Mon Apr 25 02:10:34 2011: un-parking
Mon Apr 25 02:10:35 2011: parking
Mon Apr 25 02:10:36 2011: un-parking
Mon Apr 25 02:10:40 2011: parking
Mon Apr 25 02:10:41 2011: un-parking
Mon Apr 25 02:10:48 2011: parking
Mon Apr 25 02:10:49 2011: un-parking
Mon Apr 25 02:10:58 2011: parking
Mon Apr 25 02:10:59 2011: un-parking

Alles von mir durch rumschieben ausgelöste Parkvorgänge. Leider parkt das Teil auch weiterhin bei vollkommener Untätigkeit und wenn kein Stoß detektiert wird, auch wenn der Dämon läuft :( .

Edit: manchmal bekomme ich:

Mon Apr 25 02:35:31 2011: parking
Mon Apr 25 02:35:32 2011: Error! Not parked when we thought we were... (paged out and timer expired?)
Mon Apr 25 02:35:32 2011: un-parking

Unter Windows hört man das Klacken auch direkt beim Auslösen, aber beim hdapsd hört man nichts, wenn der Dämon behauptet, er würde parken. Das würde auch die Fehlermeldung erklären: Die Platte parkt, wenn sie es für richtig hält (denn das Klacken ist ja schon hörbar, nur halt nicht genau zu den Zeitpunkten, wo der dämon angeblich auslöst, sondern zu irgendwelchen und das auch nach wie vor ständig) und wenn der hdapsd meint, er hätte geparkt, kommt die Medlung, die Platte sei nicht geparkt. Daraus schließe ich, dass die Platte vom Dämon anscheinend garnicht wirklich geparkt wird.
 
Zuletzt bearbeitet:
Hat Du mal Richtung hdparm und load cycle count weitergegraben ?
 
Hiho,

ich würde mal alles abschalten, was die Festplatte automatisch parken will bzw. die APM-Settings beeinflusst, wie hdapsd und laptop-mode-tools.
Dann die Festplatte "voll aufdrehen":
hdparm -B 254 -S 253 -M 254

Ansonsten geben manche Festplattenhersteller Tools heraus, mit denen man bestimmte Einstellungen der Platte verändern kann. Würde ich auch mal nach schauen.

Grüße,
mikar
 
Jetzt schon. Aber wofür braucht man das? Denn der HDAPS-Treiber ist ja schon vorher im kernel gewesen. Der hdaps-Dämon war auch nicht drauf, habe ich aber nun ebenfalls installiert.

Distribution ist Suse 11.4. Ein config-File für den Dämon existiert nicht, scheint aber auch nicht nötig zu sein,
Der hdaps-Treiber aus dem Standardkernel ist für den Festplattenschutz nicht geeignet, dafür braucht man die Version aus tp-smapi.

Am Anfang von /etc/init.d/hdapsd ist eine Variable HDAPS_ARGS="-b -a -d sda", dort kann man Parameter (s. man hdapsd bzw. Konfiguration) eintragen.

Mon Apr 25 02:35:31 2011: parking
Mon Apr 25 02:35:32 2011: Error! Not parked when we thought we were... (paged out and timer expired?)
Mon Apr 25 02:35:32 2011: un-parking
Das kann passieren wenn der Dämon zweimal läuft, z.B. einmal durch das Init-Skript und einmal von Hand -> Problembehebung

... wenn der hdapsd meint, er hätte geparkt, kommt die Medlung, die Platte sei nicht geparkt. Daraus schließe ich, dass die Platte vom Dämon anscheinend garnicht wirklich geparkt wird.
OK, da ursprünglich kein Festplattenschutz drauf war, können wir das als Ursache ausschließen und uns das Problem für später aufheben.

Ich schlage vor Du legst hdapsd erstmal nachhaltig still und beendest laufende Instanzen:
Code:
chkconfig hdapsd off
/etc/init.d/hdapsd stop
killall hdapsd
Dann solltest Du dir deine APM-Einstellungen anschauen. Die Frage ist: wie stellst Du APM ein und hast Du überprüft ob die Werte wirklich ziehen?

Eine unbehandelte OpenSUSE-Installation (wie mein Testsystem) stellt nämlich gar nichts ein und liefert mit
Code:
hdparm -I /dev/sda | grep "Advanced power management level"
den Wert Advanced power management level: 128

 
hey!

wie hast du den standby timer denn aktiviert? ich habs mit hdparm gemacht und das funktioniert auch sehr schoen:

hdparm -S stellt die Zeit fuers Spindown ein (bei mir 242)
wie oft das schon passiert ist, kannst du mit smartctl -a /dev/sdX | grep Spin_Up_Time nachsehen.

gruss,
 
Zuletzt bearbeitet:
Das kann passieren wenn der Dämon zweimal läuft, z.B. einmal durch das Init-Skript und einmal von Hand -> Problembehebung
Das mit den mehreren Instanzen hatte ich schon überprüft, daran lag es nicht.

Die Frage ist: wie stellst Du APM ein und hast Du überprüft ob die Werte wirklich ziehen?
Ich habe das in der /etc/boot.local eingetragen:
Code:
hdparm -B 255 -S 0 /dev/sda
echo profile > /sys/class/drm/card0/device/power_method
echo auto > /sys/class/drm/card0/device/power_profile
Beim Booten kommt auch die entsprechende Meldung, dass er das tatsächlich macht.

hdparm -I /dev/sda lieferte dann nach dem Boot:

Code:
Standby timer values: spec'd by Standard, no device specific minimum
Advanced power management level: disabled
Recommended acoustic management value: 254, current value: 254
Jetzt habe ich aber einfach trotzdem mal hdparm -B 254 -S 253 -M 254 /dev/sda eingegeben und es hat funktioniert, die Platte parkt nicht mehr!

Ich habe dann auch durch Probieren rausgefunden, dass es an dem Wert für -B gelegen hat. 255 liefert zwar "off" aber die Köpfe parken trotzdem. Bei 254 passiert garnichts. Bei 1 schaltet die Platte nach ein paar Sekunden komplett ab. Ich hatte voher immer nur mit dem Wert für S rumgespielt, weil ich bei B eigentlich dachte "off" ist ja ziemlich eindeutig ;) .

Also habe ich das nun auch direkt in der /etc/boot.local eingetragen. Vielen Dank für eure Hilfe :thumbsup: ! Endlich kein permanentes nerviges *Klick Klack* mehr.

Dann hatte ich noch das Problem, dass die Werte nach dem Aufwachen aus dem Standby nicht behalten wurden. Dazu musste ich noch ein Skript in /etc/pm/sleep.d erstellen (ich habe es 98-hddparam genannt, aber da sonst nur eine Beispieldatei drin ist, müsste das egal sein, die Zahl am Anfang legt ja lediglich die Reihenfolge fest, in der die Skripte ausgeführt werden).
Code:
#!/bin/bash

. $PM_UTILS_LIBDIR/functions

case "$1" in
     hibernate|suspend)
            hdparm -B 254 -S 253 -M 254 /dev/sda
        ;;
    thaw|resume)
            hdparm -B 254 -S 253 -M 254 /dev/sda
        ;;
    *)
        ;;
esac

exit 0
Das erste bei hibernate|suspend) braucht man wohl nicht wirklich, aber es schadet ja auch nicht; wer weiß, wozu es gut ist.

Als wäre das noch nicht genug, funktioniert jetzt mit -B 254 auch der hdapsd auf einmal einwandfrei. Keine Fehler mehr von wegen Platte nicht geparkt, wenn sie hätte geparkt sein sollen und die Platte parkt und entparkt die Köpfe bei Erschütterung einwandfei; hört sich jetzt genauso an wie wenn ich das unter Windows getestet habe.

Edit:
Falls die Pakete jemand sucht:
tp-smapi gibt es unter http://download.opensuse.org/repositories/openSUSE:/11.4:/Contrib/standard/
und hdapsd habe ich von http://download.opensuse.org/repositories/home:/dosi/openSUSE_11.4/
 
Zuletzt bearbeitet:
Interessant. Die "Besonderheit" bei APM=255 werde ich mal in die TLP-Doku aufnehmen...
 
  • ok1.de
  • IT Refresh - IT Teile & mehr
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben