Die Festplatte meines 21.5" Mid-2011 iMac EMC2428 hatte leider nur eine Kapazität von 500GB und lief langsam aber sicher voll, musste also getauscht werden. Fröhlich zog ich los, Ersatz zu beschaffen, und habe mich dabei an meinen Lieblingsplatten orientiert: Western Digital Caviar Green. Die Kopfgeräusche mögen zwar nicht die leisesten sein, aber dafür sind sie kühl, stromsparend und haben ein vertretbares Preis-Leistungs-Verhältnis. Also sollte es eine WD30EZRX sein - sprach's, zog los und erwarb sie. Der Einbau war Dank [http://www.ifixit.com/Teardown/iMac+Intel+21.5-Inch+EMC+2428+Teardown/5485/1] ohne besondere Schwierigkeiten bewerkstelligt. Da ich schon beim Aufrüsten war habe ich auch noch zusätzliche 16GB RAM eingebaut (Corsair CMSA16GX3M2A1333C9), wodurch ich mit 20GB Arbeitsspeicher immerhin 4GB mehr habe, als Apple als maximale Möglichkeit angibt. Nett.

Was mir nicht klar war, denn wer rechnet schon mit so etwas, ist, dass die von Apple im EMC2428 und EMC2429 verbauten Festplatten eine spezielle Firmware haben, die über den eigentlich für LED vorgesehenen PIN 11 im Stromanschluss ein proprietäres Temperatursignal ausgibt. Es mag zwar Bandbreite sparen, wenn man nicht ständig die Temperatur über S.M.A.R.T. ausliest, und es ist wahrscheinlich auch in irgendeiner Weise sparsam, wenn man keinen externen Sensor anklebt, doch es steigert die Inkompatibilität. Böse Zungen behaupten, das wäre Absicht, damit bei jedem Defekt des HDDs entweder eine appletypisch überteuerte Reparatur mit Original-Ersatzteilen erfolgt, oder der Apple-Fanatiker aus Kostengründen gleich zu einem neuen Modell greift. Mir persönlich ist das egal, ich finde es einfach nur blöd. Wäre mir beim Kauf des Rechners bewusst gewesen, dass selbst ein Standardteil wie die Festplatte nicht simpel getauscht werden kann, dann hätte ich den Schritt in die Macwelt wahrscheinlich nicht gewagt.

Es gibt zwar einige wenige Benutzer mit besseren Erfahrungen, aber die Geräusche des hochdrehenden Festplattenlüfters waren in meinem wie in vielen anderen Fällen doch recht unangenehm. Mit der ursprünglich verbauten 500GB WD Caviar Blue mit Apple-Firmware waren selten mehr als 1100 oder 1200 UPM zu beobachten, nach dem Tausch mit der 3000GB Caviar Green allerdings fing der ganze Spaß erst bei 1400 Umdrehungen an und schaukelte sich im Laufe einiger Minuten stetig bis über 5000 hoch, immer wieder langsamer werdend, quasi Anlauf holend, um dann wieder ein wenig schneller als zuvor zu drehen. Es ist ganz besonders nervig, wenn die lauten, hohen Drehzahlen nicht konstant anliegen, und man sich so noch nicht einmal daran gewöhnen kann. Also musste Abhilfe geschaffen werden, eine Recherche deckte vier Möglichkeiten auf.

Selbstverständlich wäre aus Applesicht die erste und einzige Lösung, dort eine spezielle iMac-Festplatte zu kaufen und von einem zertifizierten Magier einbauen zu lassen. Für das Geld hätte ich wahrscheinlich einen neuen Rechner kaufen können, also fiel das flach; schon deswegen, weil ich dieses Spielchen aus Prinzip gar nicht mitspielen wollte, aber auch, weil dort gar keine 3TB-Festplatte angeboten wird.

Es stellte sich heraus, dass die Inkompatibilität durch den Kurzschluss der Adern 2 und 7 des 7-poligen Stromanschlusses auf dem Logic Board kaschiert werden könnte, was im Falle einer Nur-SSD-Konfiguration durch das Kabel 922-9877 sogar zwingend erfolgen muss, damit der Lüfter keinen Wutanfall bekommt (kleiner Scherz, im Original "ramp at full speed", Apple Technician Guide). Ich konnte aber nicht herausfinden, ob ich die Festplatte dann zwangsweise auf den SSD-Anschluss hätte umziehen müssen und auch nicht mit Sicherheit, welche Käbelchen am Festplattenende den Pins 2 und 7 entsprächen. Da mir hierbei nicht ganz wohl war habe ich diese zweite Lösungsmöglichkeit erstmal vertagt, außerdem hatte ich keine Lust, das Logic Board auszubauen.

Gravis hat eine offensichtlich ordentliche Lösung namens cBreeze entwickelt, bei der eine kleine Logikeinheit mit Temperatursensor von außen an die Platte angebracht wird und die Lüfter des iMac wie gewohnt arbeiten [http://www.gravis.de/blog/tag/cbreeze/]. Ich schätze, dass diese Einheit direkt an die erwähnten Pins 2 und 7 angeschlossen wird, um dort die vom iMac erwarteten Signale abzuliefern, aber eine Aussage dazu habe ich nicht finden können. Da Gravis diese Lösung nicht zum Selbsteinbau verkauft, und ich außerdem bereits woanders eine Festplatte besorgt hatte, habe ich diesen Ansatz verworfen und den vierten, softwareseitigen, verfolgt.

Die softwarebasierte Lösung sah vielversprechend aus. Zunächst stolperte ich über HDD Fan Control, das die S.M.A.R.T-Werte ausliest und den Lüfter an der internern iMac-Logik vorbei entsprechend steuert. Allerdings ist hier etwas für die Apple-Welt typisches passiert: Der Preis. 25€ sind in meinen Augen für so ein kleines Stück Software übertrieben hoch angesetzt, auch wenn es genau das macht, was mir vorschwebt. Alles bis 10€ hätte ich ohne mit der Wimper zu zucken bezahlt, aber das hat mich in die Arme weiterer Recherchen und einer kostenfreien Lösung getrieben: smcFanControl [http://www.eidac.de/].

smcFanControl ist ein feines Stück freier Software, das unter der GPL 2 steht. Die Applikation selbst kann zwar nur die minimale Drehzahl kontrollieren, aber sie dockt sich oben in der Leiste an und zeigt aktuelle Temperatur und Drehzahl an, womit man im Auge behalten kann, ob die Temperatur noch im ungefährlichen Bereich liegt. Die eigentliche Lösung des Problems versteckt sich in dem Programm smc-command, das in dem Paket von smcFanControl mit drin ist [https://github.com/hholtmann/smcFanControl/tree/master/smc-command]. Mit einem Aufruf kann man verschiedene Werte im SMC (System Management Controller) ändern, so auch die maximale Drehzahl des Festplattenlüfters. Jeder, der mit diesen Werten spielt, muss sich darüber im Klaren sein, dass zu niedrige Werte zu zu hohen Temperaturen und damit zum Hitzetod der Festplatte oder anderer Bauteile führen können. Im Falle meines iMac Mid-2011 in verbindung mit der WD Green bleibt die Temperatur aber selbst unter Last und bei 1300 UPM unter 30°C (erlaubte Betriebstemperatur laut Spezifikation 0-60°C), mit etwas Spielraum für die Sicherheit lautet der Befehl dann "smc -k F1Mx -w 1600".

Schade ist, dass der Wert im SMC nicht dauerhaft eingetragen wird, sondern bei jedem Neustart etc. wieder den Wert des Apple-Standards führt. Ich habe mir also eine kleine command-Datei geschrieben, in der nur eine Zeile steht: "/VerzeichnisPfadInDemDasProgrammZuFindenIst/smcFanControl.app/Contents/Resources/smc -k F1Mx -w 1600". Diese Datei habe ich im Autostart (Systemeinstellungen/Benutzer/Benutzername/Startobjekte/+) eingebunden und auch auf dem Desktop verlinkt. So ist die Regelung nach dem Starten aktiv, und falls der Mac das mal vergessen sollte, dann ist die Einstellung mit einem kleinen Doppelklick wieder da. Und wenn mich das nervt, dann öffne ich halt einen Fork vom smcFanControl und programmiere eine temperaturabhängige Lüftersteuerung in das Überwachungsmodul ein :)