[[Vorlage(Archiviert)]] [[Inhaltsverzeichnis(1)]] Festplatten von [http://www.wdc.com/de/ Western Digital] {de} der Baureihe Caviar-Green können auf Grund von "IntelliPark" eine extrem verkürzte Lebenszeit aufweisen. Western Digital bewirbt IntelliPark als eine "intelligente Laufwerkstechnologie zur Verringerung des Stromverbrauchs". Durch Parken der Leseköpfe auf einer Rampe neben den rotierenden Platten reduziert sich der Luftwiderstand und damit der Energieverbrauch des Laufwerks. Leider werden die Köpfe bereits nach 8 Sekunden Inaktivität eingezogen, was gerade beim Betrieb unter Linux - aber nicht nur dort - schnell zu einer exorbitant hohen Anzahl von Parkvorgängen führt. Im ungünstigsten Fall finden die Parkvorgänge im 30-Sekundentakt des Kernelthreads [http://www.freeweb.hu/linuxkernel2/ch15lev1sec4.html pdflush] {en} statt. Die Zahl dieser sogenannten ''Load Cycles'' ist jedoch begrenzt. WD gibt als Obergrenze 300.000 an, das Laufwerk selbst scheint seinen SMART-Daten zufolge die doppelte Anzahl zugrunde zu legen. In jedem Fall kann man sich leicht ausrechnen, dass das Laufwerk binnen weniger Monate den Grenzwert erreicht haben kann und dann aus Sicherheitsgründen ausgetauscht werden müsste. {{{#!vorlage Warnung Betroffen sind laut Western Digital lediglich die Modelle WD1000FYPS-01ZKB0, WD7500AYPS-01ZKB0 und WD7501AYPS-01ZKB0. Für andere Modelle wird die hier erläuterte Firmwareänderung nicht empfohlen! Das Problem tritt jedoch auch bei einigen wenigen Exemplaren der Scorpio Blue Reihe auf, z.B. WD5000BEVT. Hier darf die Software von Western Digital eingesetzt werden. }}} = Feststellen der Problematik = Ob das eigene Laufwerk betroffen ist, kann man durch Auslesen der SMART-Daten feststellen. Hierzu sei auf den Wiki-Artikel [:Festplattenstatus:] verwiesen. Folgendes Kommando zeigt die Anzahl der bisher aufgelaufenen Load Cycles und Betriebsstunden, wobei ''X'' durch den jeweiligen Laufwerksbuchstaben zu ersetzen ist: {{{#!vorlage Befehl sudo smartctl -A /dev/sdX | egrep "ID|Load|Power" }}} Die Ausgabe würde dann zum Beispiel so aussehen: {{{ ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 558 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 144 192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 26 193 Load_Cycle_Count 0x0032 186 186 000 Old_age Always - 40082 }}} Die hier gezeigten Angaben stammen von einem fast neuen Laufwerk (WD7500AADS), das nach nur 1,5 Monaten gut 40000 Parkvorgänge vollzogen und damit bereits 7% seiner Lebensdauer verbraucht hat. Letzteres sieht man an `VALUE = 186`, der Neuwert ist `200`. = Rettung der Festplatte = == hdparm == Im Artikel [:Archiv/Notebook-Festplatten-Bug:] ist das weitere Vorgehen beschrieben. == idle3-tools == Alternativ zu dem weiter unten beschriebenen offiziellen DOS-Tool von WD gibt es eine inoffizielle Linux Portierung: [http://idle3-tools.sourceforge.net/ idle3-tools] {en}. Das Vorgehen ist analog zu wdidle3 (siehe unten) und kann auf der Projektseite nachgelesen werden. Ab [:Quantal:Ubuntu 12.10] ist das Programm in den offiziellen Paketquellen enthalten: {{{#!vorlage Paketinstallation idle3-tools, universe }}} == wdidle3 == Von WD gibt es ein DOS-Tool, wdidle3 genannt, mit dem man den Idle3 Timer und damit die Länge der tolerierten Inaktivitätsphase einstellen kann. Es kann von der [http://support.wdc.com/product/download.asp?groupid=609&sid=113&lang=de WD-Supportseite] {dl} {de} heruntergeladen werden. {{{#!vorlage Warnung Auch wenn wdidle3 keine Daten auf der Festplatte verändert, sollte man im Besitz eines aktuellen Backups sein! Außerdem sollte man sicherstellen, dass der Computer während der Firmwareaktualisierung nicht ausgeschaltet wird, da dies zu irreparablen Schäden am Laufwerk und komplettem Datenverlust führen kann. }}} wdidle3 ist ein DOS-Programm, zu dessen Ausführung man ein DOS-Bootmedium braucht. Wie man diese Hürde als reiner Linux-Nutzer meistert, ist im Abschnitt [#DOS-Boot-CD DOS-Boot CD] beschrieben. Hat man DOS gebootet, so kann man mittels: {{{#!vorlage Befehl wdidle3 }}} den aktuellen Timerwert auslesen (werksseitige Voreinstellung: 8.0 Sekunden) und diesen mittels {{{#!vorlage Befehl wdidle3 /D }}} ausschalten. Entgegen der Programmbeschreibung wird er jedoch nicht vollkommen ausgeschaltet, sondern auf einen Wert von 62 Minuten eingestellt, was in der Praxis einer Abschaltung gleichkommt. Verwendet man FreeDOS, muss man die Kommandozeilenoptionen quoten, d.h. `wdidle3 "/D"` eingeben, sonst stürzt FreeDOS ab. Sollte man trotz positiver Rückmeldung von wdidle auf diesen Befehl später feststellen, dass weiterhin dauernde Parkvorgänge stattfinden, kann man statt dem genannten noch den Befehl {{{#!vorlage Befehl wdidle3 /S300 }}} probieren, womit der Timer auf 5 Minuten gesetzt wird. == Erfolg überprüfen == Ob die Aktion von Erfolg gekrönt war, lässt sich sehr einfach testen, indem man den Rechner mehrere Stunden unbenutzt und ohne Power-Save-Modus laufen lässt und den Load Cycle Count kontrolliert. Hat er sich nicht erhöht, ist dem Spuk ein Ende gesetzt. = DOS Boot-CD = == Verwendung von FreeDOS == Mittels des freien [wikipedia:FreeDOS: FreeDOS] kann man sich eine passende Boot-CD erstellen. Dafür ausreichend ist die 8 MB große Base-CD [http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdbasecd.iso fdbasecd.iso] {dl}. Man erweitert die CD um '''wdidle3.exe''' (und ggf. andere DOS-Tools, z.B. für ein anstehendes BIOS-Update), erzeugt eine geänderte Boot-CD, bootet von dieser und setzt mittels wdidle3 den Timer. Schritt für Schritt geht man wie folgt vor: * Einbinden des ISO-Abbildes per Loop-Device und Kopieren der CD-Dateien sowie '''wdidle3.exe''' nach '''/tmp''': {{{#!vorlage Befehl sudo mount -o loop /pfad/zu/isoimage/fdbasecd.iso /mnt cd /mnt find -depth -print0 | cpio --null -pd /tmp/fdbase-remastered cd /pfad/zu/wdidle3 cp wdidle3.exe /tmp/fdbase-remastered sudo umount /mnt }}} * Erstellen eines bootfähiges ISO-Abbildes: {{{#!vorlage Befehl cd /tmp/fdbase-remastered sudo genisoimage -R -D -V 'FreeDOS 1.0b' -o /tmp/fdbase-remastered.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . }}} Da die Dateien von der CD read-only kommen, erspart man sich mittels `sudo` Fehlermeldungen aufgrund fehlender Schreibberechtigung. * Brennen des ISO-Abbildes auf CD: {{{#!vorlage Befehl cdrecord -v -driveropts=burnproof /tmp/fdbase-remastered.iso }}} == Ausführung von FreeDOS == Nachdem man von der CD gebootet hat, erscheint ein Auswahlmenü. Man wählt ''"Continue to boot FreeDOS ..."'', anschließend ''"Install to harddisk..."'', wählt ''"Deutsch"'' als Sprache und schließlich ''"Run FreeDOS from CD ROM ..."''. Nun hat man den DOS-Prompt vor sich und kann mit wdidle3 die Festplatte bearbeiten. Sollte man sich nach dem Start von FreeDOS in einem Unterverzeichnis befinden, so muss man zunächst mit dem Befehl {{{#!vorlage Befehl cd .. }}} zum Root-Verzeichnis gehen, in dem die '''wdidle.exe''' liegt, um mit dem Programm zu arbeiten. (Wenn man nicht weiß, in welchem Verzeichnis man sich befindet, kann man `dir` eingeben, um es sich anzeigen zu lassen.) = Links = * [http://www.wdc.com/de/ Webseite von Western Digital] {de} * [http://www.wdc.com/wdproducts/library/SpecSheet/ENG/2879-701229.pdf Spezifikation der Caviar Green Laufwerke] {en} * [http://www.freedos.org/ FreeDOS Homepage] {en}  * [:Archiv/Notebook-Festplatten-Bug:] - Umgang mit einem ähnlichen Park-Problem bei Notebook-Festplatten #tag: Hardware, System