myavr.CHKRonline.de

Informationen und Projekte Rund um die Mikrocontroller-Programmierung
von myAVR (ATmega8), STM32 (Cortex-M3/4) und Raspberry Pi (ARM11)

Der Autor

Christian KrügerChristian Krüger, ursprünglich aus dem Altenburger Land stammend, wohnt heute in Nürnberg. Nach seinem Studium der Informations­technik an der West­sächsischen Hochschule in Zwickau, ist er heute Software Entwickler für ein­gebettete Systeme. Seine Berufung fand er im Dienst für seine Kollegen als Teamleiter bei ISCUE.

Die größte Leidenschaft Christians ist es, die Schönheit unserer Welt einzufangen und weiter­zuerzählen. Dies gelingt ihm mit Hilfe seiner Kamera. Seine Fotos und Videos sind auf Instagram und seiner Webseite zu betrachten.

Für seine Zukunft freut sich Christian auf erinnerungs­würdige Reisen, begeisterungs­fähige Menschen und viele neue Erfahrungen.

CHKRonline.de

Facebook Profil

Twitter Profil

XING Profil

Hardware Guide

SD-Karte

Um den erstaunlich geringen Preis des Raspberry Pi zu ermöglichen, haben die Entwickler auf den Einsatz eines Flashspeicher-Chips als persistenten Speicher, wie man ihn beispielsweise in Smartphones findet, verzichtet. Stattdessen kommt eine SD-Karte zum Einsatz. Dies bietet eine Reihe von Vorteilen: SD-Karten sind durch den Einsatz in Kameras und anderen Multimediageräten weit verbreitet und extrem billig. Die Technologie ist zudem zuverlässig und die Karten haben eine überschaubare Größe, ohne dabei zu winzig zu sein. Zudem ist die Anbindung an den Broadcom Prozessor ohne Umwege möglich

Auf der SD-Karte des Raspberry Pi werden alle Daten abgelegt, die auch nach einem Abschalten der Spannungsversorgung vorhanden sein sollen. Das ist in erster Linie das Linux Betriebssystem. Bevor ein Raspberry Pi in Betrieb genommen werden kann, muss eine SD-Karte mit einem der verfügbaren Linux-Images befüllt werden und in den SD-Kartenschacht des Raspberry Pi eingelegt werden. Dabei werden verschiedene Partitionen für das eigentliche Image, den Bootloader und Anwenderdaten angelegt. Dieser Artikel soll sich jedoch nicht mit diesem Vorgang beschäftigen, dafür gibt es ausreichend viele Tutorials im Internet.

In diesem Artikel soll es um mögliche Probleme bei dem Einsatz von SD-Karten gehen, die ich im Laufe meiner Arbeiten festgestellt habe. Seitdem ich meinen ersten Raspberry Pi gekauft hatte, kämpfte ich mit Problemen wie zerstörten Dateisystemen und plötzlichen Abstürzen. Ich habe mehrere Monate nach der Ursache für diese Probleme gesucht, bis ich die SD-Karte, genau genommen den SD-Kartenhalter des Raspberry Pi, als Übertäter ausgemacht hatte.

Raspberry Pi SD-Kartenslot

Nach dem Kauf betrieb ich meinen ersten Raspberry Pi zunächst mit einer einfachen Klasse 4 Micro-SD-Karte plus Adapter und einem 5 V 1 A USB-Netzteil. Es kam dabei vor, dass das System nach einem sauberen Herunterfahren mit Dateisystemfehlern nicht mehr booten konnte oder dass es mitten im Betrieb stehen blieb. Das führte dazu, dass ich schnell einen schlechten Eindruck vom Raspberry Pi erhielt, denn als Server war er so nicht sinnvoll einsetzbar. Ich schob das Problem zunächst auf einige Übertaktungsversuche, die ich zu der Zeit mit dem neu hinzugekommenen "Turbo Mode" machte. Das Problem blieb jedoch auch ohne Übertaktung. Nach einigen Recherchen im Internet und unzähligen Neuinstallationen der SD-Karte schien mir das Netzteil die Fehlerquelle eindeutig zu sein. Ich kaufte mir daher ein leistungsfähigeres 2 A Netzteil. Doch auch damit bliebt das Problem bestehen - wenn auch nur sporadisch. Da ich ohnehin eine schnellere SD-Karte einsetzen wollte, tauschte ich auch diese gegen ein Klasse 6 Modell. Der gefühlte Geschwindigkeitsschub durch diese ist in meinen Augen vernachlässigbar und stabiler lief das System auch nicht. Tatsächliche probierte ich dann eine Reihe von SD-Karten ohne Erfolg.

Bei einem Test, bei dem ich meinen Raspberry Pi mit einem Labornetzteil betrieb um das USB-Netzteil als Fehlerquelle komplett auszuschließen, machte ich zudem einen fatalen Fehler. Ich vertausche die Masse des Raspberry Pi mit einem GPIO-Pin und binnen weniger Sekunden verabschiedete sich der Hauptprozessor ins Nirvana. Finanziell ist das kein Beinbruch, aber die Lieferlage des Raspberry Pi war zu dieser Zeit noch angespannt. Nach einigen Wochen hielt ich jedoch meinen zweiten Raspberry Pi in der Hand, nun auch mit 512 MB Arbeitsspeicher. Ich lud meine SD-Karte mit einem neuen Image, richtete das System ein und... es bootete nicht mehr - Dateisystemfehler. Ich war also am Ende meines Lateins. Netzteil: ok, Speicherkarten: ok, Raspberry Pi: ok. Wo war der Fehler?

Einen neuen Ansatz erhielt ich, als ich trotz immer wieder auftretender Fehler den Raspberry produktiv einsetzen wollte. Ich hatte ihn dazu mit einen Gehäuse ausgestatten und auf dem Schreibtisch aufgestellt. So blieb ich zumindest von Abstürzen im laufenden Betrieb verschont. Mir fiel dabei relativ schnell auf, dass der Raspberry Pi immer dann Probleme macht, wenn ich ihn anfasste. Elektrisch konnte dabei kein Problem entstehen, das System war ja in einem Gehäuse. Die SD-Karte ragt jedoch aus diesem Gehäuse heraus und wenn ich daran leicht wackelte, stürzte das System mitunter ab. Ich vermutete daher, dass die SD-Karte keinen festen Kontakt auf die Beinchen des SD-Kartenhalters ausübt und daher ein Wackelkontakt entsteht.

Raspberry Pi SD-Karten Unterbau

Um meine Theorie zu prüfen entschied ich mich die SD-Karte fester in den SD-Kartenhalter zu verankern. Dazu befestigte ich einige schichten Papier unterhalb der SD-Karte im Gehäuse des Raspberry Pi. Ist das Gehäuse zusammengebaut, drücken diese die SD-Karte fester in den Schacht. Das Ergebnis? Mein Raspberry Pi läuft und läuft und läuft. Tatsächlich habe ich seit dieser Änderungen keinen einzigen Absturz mehr verzeichnen müssen. Ich vermute, dass der SD-Kartenschacht des Raspberry Pi die Karte ungenügend fixiert. Je nach Bauform der Karte, können bestimmte Modelle (etwas dickere) daher auch besser funktionieren, als andere (etwas dünnere). Nach meinen Erfahrungen würde ich sogar so weit gehen, dass viele der in den Foren beschriebenen Absturzprobleme nicht auf das oft bemängelte USB-Netzteil zurückzuführen sind, sondern auf den SD-Kartenslot. Dieser machte auch schon durch abgebrochene Arretierungen von sich reden.

Ganz unproblematisch ist meine Lösung des Problems nicht. Der Druck, welcher auf die SD-Karte ausgeübt wird, sorgt mit der Zeit für Schäden. So sind bereits die Trennwände zwischen einzelnen Kontaktpads weggebrochen. Daher sollte mein Vorschlag der Problemlösung vorsichtig eingesetzt werden. Natürlich kann ich keine Garantie auf ein Funktionieren geben.