Dateisystembeschädigung auf der SD-Karte

19

Wenn ich den Pi ein wenig benutze, erscheint bald eine Beschädigung des Dateisystems.

Diese Datei wurde beispielsweise in eine andere Datei geändert:

$ ls -alt  /etc/apt/apt.conf.d
total 16
lrwxrwxrwx 1 root root   13 Oct  2 22:18 50raspi -> ../init.d/ntp

Oder /var/lib/dpkg/info/fake-hwclock.listwurde eine Binärdatei, was bedeutet, dass dpkg nicht mehr funktionieren kann:

dpkg: unrecoverable fatal error, aborting:
 files list file for package 'fake-hwclock' is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)

fsckim Dateisystem findet viele Fehler und sendet Dutzende von Dateien an lost+found:

Pass 1D: Reconciling multiply-claimed blocks
(There are 34 inodes containing multiply-claimed blocks.)

File /etc/fake-hwclock.data (inode #26, mod time Thu Aug 16 02:20:47 2012) 
  has 1 multiply-claimed block(s), shared with 1 file(s):
        ... (inode #30, mod time Thu Aug 16 02:20:47 2012)

...

Inode 30 ref count is 1, should be 3.  Fix? yes

dmesg zeigt an, wie E / A-Fehler aussehen:

[   49.082758] mmc0: final write to SD card still running
[   59.088233] mmc0: Timeout waiting for hardware interrupt - cmd12.
[   59.089411] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x900

Ich habe es mit vier verschiedenen SD-Karten versucht, von SanDisk SDHC 16 GB und Duracell SDHC 16 GB. Es scheint also nicht die Karte zu sein.

Ich habe es auch mit Raspbian 2012-08-16-wheezy und ArchLinux 13-06-2012 versucht. Beide haben das gleiche Problem, also nehme ich an, dass es kein Fehler im Betriebssystem ist.

Nach den Ratschlägen von @gnibbler und @Avio habe ich memtester ausgeführt (das im Gegensatz zu memtest86 auf dem PC nach dem Kernel läuft und daher nicht den gesamten Arbeitsspeicher testen kann) und es hat kein Problem gemeldet. "memtester 200 2" -> alles OK

Nach der Diskussion in http://www.raspberrypi.org/phpBB3/viewtopic.php?f=29&t=6201&start=400 habe ich ein neues Image mit einer config.txt ausprobiert, die für ein wenig Untertakten geschrieben wurde:

core_freq 240
arm_freq 650
sdram_freq 350

aber es machte das Problem noch schlimmer (viele Timeouts auf der Karte)

Ich habe nur einen Himbeer-Pi, daher kann ich nicht mit einem anderen nachsehen. Bekanntes Problem? Defekte Hardware?

bortzmeyer
quelle
Messen Sie die Versorgungsspannung - stellen Sie sicher, dass sie wirklich 5 V beträgt und stabil ist. Könnte durch einen fehlerhaften RAM oder etwas verursacht werden. Können Sie memtest darauf ausführen?
John La Rooy
Ich habe im Moment kein Voltmeter (ich bin kein Hardware-Typ). Nach der USB-Tastatur, dem Ladegerät und dem HDMI-Kabel wird dieser kleine und billige Pi ziemlich teuer, wenn ich ein Voltmeter kaufen muss.
Bortzmeyer
Ist die Meldung "Wartezeit auf Hardware-Interrupt" nicht ein klarer Hinweis darauf, dass mit dem SD-Kartenleser etwas nicht stimmt?
Bortzmeyer
Ich finde kein Bild mit memtest. Google mag mich nicht oder ich bin nicht klug genug dafür. Irgendein Zeiger?
Bortzmeyer
Vielen Dank, @ oliver-salzbug, für die Bearbeitungen und sorry für die entstellte Ausgabe, die ich beigefügt habe.
Bortzmeyer

Antworten:

5

Es mag zu früh sein, meine eigene Frage zu beantworten, aber bis jetzt war die erfolgreichste Option:

over_voltage=2

Bis jetzt (es sind nur ein paar Tage) scheint es besser zu sein (noch keine Korruption oder Karten-Timeout).

Ich bin kein Experte für Stromprobleme. Bevor Sie dies auf Ihrem eigenen Pi verwenden, machen Sie bitte einige Nachforschungen.

Bedeutet das, dass mein Pi ein Spannungsproblem hat, wie von @gnibbler vorgeschlagen?

bortzmeyer
quelle
2
Akzeptierte meine eigene Antwort, weil es zu funktionieren scheint und die anderen Vorschläge es nicht taten.
bortzmeyer
1
Ersetzen Sie das Netzteil durch ein gutes, das moderne Mobiltelefone auflädt und echte 1A oder mehr liefert.
22.
2

Es ist sehr wahrscheinlich, dass Sie ein Problem mit dem RAM haben und möglicherweise keine Kernel-Einfrierungen auftreten, da die Raspberry Pi-Architektur in gewissem Maße gegenüber Speicherbeschädigungen tolerant ist .

Das erste, was Sie tun müssen, ist, die Speicheraufteilung zu ändern, um den Videospeicher auf das Minimum zu reduzieren und den verfügbaren RAM ( 240 MB RAM und 16 MB VRAM ) zu maximieren . Ich schlage vor, mit einem neuen raspbian, frisch kopierten zu beginnen SD. Dann können Sie installieren und ausführen memtester.

sudo aptitude install memtester

Hier gibt es ein kleines Tutorial zum Starten memtester, und dies ist die Manpage. Die Kommandozeile sollte ungefähr so ​​aussehen:

sudo memtester 200 2

Wo 200ist die Menge der zu testenden MB und 2die Anzahl der Durchgänge. Denken Sie daran, dass diese Lösung rein in funktioniert userspace, sodass die Menge des freien Speichers geringer ist als die Menge des insgesamt verfügbaren Speichers. Wenn Sie die genaue Anzahl möchten, geben Sie Folgendes ein:

cat /proc/meminfo

Da das Problem jedoch nicht bei Ihren Speicherkarten liegt und der Raspberry Pi ziemlich "monolithisch" ist, besteht die einzige verfügbare Option wahrscheinlich darin, den Pi an Ihren Händler zurückzusenden.

Avio
quelle
Ich hatte immer eine Speichersplit-Einstellung von 240/16 (ich verwende dieses Gerät zur Netzwerküberwachung, nicht für Media Center).
Bortzmeyer
1

Dies ist ein langer Schritt, aber jedes Mal, wenn ich rpi-updatedie Firmware aktualisiere, wird das Dateisystem irgendwie beschädigt, so dass ich mit dd kein Image der SD-Karte mehr erstellen kann (siehe meine Frage ). Ich bemerkte zuerst, als ich versuchte, die Firmware manuell zu aktualisieren, um sie zu installieren, ffmpegund gerade als omxplayer versuchte, die Firmware zu aktualisieren.

puk
quelle