Festplatte mit 'I/O error' beim Mounten

  • Thread Starter Thread Starter
  • #21
@kpj: Oh, das ist eine 2,5"-Platte ohne externe Stromversorgung?

Tatsaechlich hat meine Platte eine eigene Stromversorgung, es ist eine 8TB HDD von Seagate. Scheinbar hat der RPi trotzdem solche Probleme.
Ich habe mal nachgemessen, wie viel Ampere der eigentlich so verbraucht. Idling waren es ~0.43A und waehrend des Mountens ~0.61A.


konnte ich recht schnell feststellen, dass der USB-Adapter bzw. das USB-Gehäuse das Problem darstellte.

Von der Festplatte, oder von dem RPi selber?


Mein Tipp bei Power-Problemen mit dem Raspi (hat in den meisten Fällen bei mir geholfen):
Einen fetten Elko (10 000µF z.B.) an Pin 4 und 6, also zwischen 5V und GND zu hängen.
[..]
Sobald der Raspi fest installiert wird, lasse ich USB aussen vor, und bepowere das Ding direkt über den GPIO, da die Schwachstelle in aller Regel der Micro-USB Anschluss ist

Mit Elko meinst du "Elektrolytkondensator"?
Sorry, bin nicht so sehr mit der Elektroniksprache vertraut :D

Ich frage mich ja trotzdem, wieso mein RPi ein Problem hat, da meine Festplatte ja eine eigene Poweranbindung hat.


Schließ die Festplatte an einen anderen Linux Rechner an zum vergleich. Ich tippe hier auch auf zu wenig Power vom Netzteil.

Jap, habe das gemacht und keine Probleme gehabt. Nach Wechsel des RPi-Netzteils geht es dort bisher auch gut.
 
Mit Elko meinst du "Elektrolytkondensator"?
Genau so einen meinte ich.

Ich frage mich ja trotzdem, wieso mein RPi ein Problem hat, da meine Festplatte ja eine eigene Poweranbindung hat.
Das ist eine sehr gute Frage, die man ohne die Hardware in den Händen zu halten nur schwer zu beantworten sein wird.

Du kannst bei Deinem Raspi auch mal fröhlich "vcgencmd get_throttled" ausführen. Dann siehst Du ob es seit dem letzten Reboot irgendwelche Probleme gab, die zum Throttling führten.
Das sollte dann, wenn Alles gut ist, "throttled=0x80000" zurück geben.

Bekommst Du sowas raus, siehts schlecher aus:
throttled=0x50005
0x50005 -> 0101 0000 0000 0000 0101

Also bit 0, 2, 16 und 18 sind gesetzt



Bit Meaning
0 Under-voltage detected
1 Arm frequency capped
2 Currently throttled
3 Soft temperature limit active
16 Under-voltage has occurred
17 Arm frequency capped has occurred
18 Throttling has occurred
19 Soft temperature limit has occurred

Also haben wir:
Aktuell: Under-voltage detected , Currently throttled,
Seit dem reboot: Under-voltage has occurred, Throttling has occurred
 
Mein Tipp bei Power-Problemen mit dem Raspi (hat in den meisten Fällen bei mir geholfen):
Einen fetten Elko (10 000µF z.B.) an Pin 4 und 6, also zwischen 5V und GND zu hängen.
Da würde ich aber etwas zusätzliche Isolierung anbringen, mit dem Kurzschlussstrom kann man vermutlich Punktschweißen ;)
 
  • Thread Starter Thread Starter
  • #24
Oh cool, danke fuer den Tipp!

Ich habe das ganze Mal ausprobiert, und folgendes Ergebnis bekommen:

RPi die letzte Woche entspannt (ohne HD) laufen gelassen: throttled=0xf0000
  • Under-voltage has occurred
  • Arm frequency capped has occurred
  • Throttling has occurred
  • Soft temperature limit has occurred

Dann einmal frischer Reboot: throttled=0xd0000
  • Under-voltage has occurred
  • Throttling has occurred
  • Soft temperature limit has occurred

Dann HD angeschlossen und etwas IO: throttled=0xd0005
  • Under-voltage detected
  • Currently throttled
  • Under-voltage has occurred
  • Throttling has occurred
  • Soft temperature limit has occurred

Das hoert sich erstmal so an, als wuerde viel schiefgehen, oder?


PS: Die Erklaerungen habe ich mir so berechnet: [src=python]import sys


def main(value):
info = {
0: 'Under-voltage detected',
1: 'Arm frequency capped',
2: 'Currently throttled',
3: 'Soft temperature limit active',
16: 'Under-voltage has occurred',
17: 'Arm frequency capped has occurred',
18: 'Throttling has occurred',
19: 'Soft temperature limit has occurred'
}

num = int(value, 16)
idx_list = [i
for i, bit in enumerate(f'{num:b}'[::-1])
if bit == '1']

print('\n'.join([info for i in idx_list]))


if __name__ == '__main__':
main(sys.argv[1])[/src]
 
Zuletzt bearbeitet:
Also gehen wir die Probleme doch mal gemeinsam an:

Undervoltage:
Scheint bei Deinem Aufbau wohl ein echtes Problem zu sein.
Da im Standardbetrieb das Throttling ja wieder aufgehoben wird, bist Du da borderline.

Hauptursache ist eine grottige Verbindung und/oder ein schlechtes Netzteil.
Die originalen verwenden recht dicke Käbelchen, da kommt das nicht so schnell zum Tragen
Wenn Du die Möglichkeit hast, hau den Micro-USB-Stecker ab und verbinde die Käbelchen direkt mit Pin 2 + 6 (ich löte die gerne an die Unterseite, so dass die Pins noch benutzbar sind).
Zuzüglich nen Elektrolytkondensator (ab 1000µF aufwärts) zwischen Pin 2 + 6 um Bedarfsspitzen abzufangen.

Temperatur:
Wie kühlst Du Deinen Raspi.
Meinen Octoprint (und gleichzeitig CUPS-Server) hab ich mit einen Noctua NF-A6x25 5V PWM Lüfter versehen (Vorteil der Noctua 5V PWMs: Du kannst den direkt ohne zusätzliche Schalten anhängen).
Ein kleines Python-Skript ( ) regelt über PWM die Drehzahl.
Der bläst auf 2 kleine Kühlkörper.

Mach doch einfach mal einen kleinen Stresstest:
In einer Shellsession
[src=bash]
sha1sum /dev/zero | sha1sum /dev/zero | sha1sum /dev/zero | sha1sum /dev/zero
[/src]
laufen lassen, in einer zweiten
[src=bash]watch -n 2 vcgencmd measure_temp[/src]

Und schau mal was die Temperatur macht.
 
  • Thread Starter Thread Starter
  • #26
Wenn Du die Möglichkeit hast, hau den Micro-USB-Stecker ab und verbinde die Käbelchen direkt mit Pin 2 + 6 (ich löte die gerne an die Unterseite, so dass die Pins noch benutzbar sind).
Zuzüglich nen Elektrolytkondensator (ab 1000µF aufwärts) zwischen Pin 2 + 6 um Bedarfsspitzen abzufangen.
Da ich weder Loetkolben noch irgendwelches anderes Elektrowerkzeug besitze (Asche auf mein Haupt!), wuerde ich am Liebsten von solchen Dingen absehen. Sollte es nicht theoretisch ausreichen ein neues ("besseres") Netzteil zu kaufen?


Wie kühlst Du Deinen Raspi.
Ehem, gar nicht :eek:


Mach doch einfach mal einen kleinen Stresstest:
In einer Shellsession
[src=bash]
sha1sum /dev/zero | sha1sum /dev/zero | sha1sum /dev/zero | sha1sum /dev/zero
[/src]
laufen lassen, in einer zweiten
[src=bash]watch -n 2 vcgencmd measure_temp[/src]

Und schau mal was die Temperatur macht.
Am Anfang war die Temperatur bei ca. 55 Grad, und nach ein paar Minuten Stresstest ging sie hoch auf ~72 Grad.
Ich muss zugeben, dass ich keine Ahnung habe was eine gute Betriebstemperatur fuer einen RPi waere. Wenn man mal online rumschaut ( , ), dann kriegt man eine Reichweite an Temperaturen vorgesagt...

Tatsaechlich verfolge ich den Temperaturverlauf meines RPis schon seit laengerem (mit munin), und habe daher mal folgenden Plot (gemessen durch 'vcgencmd measure_temp') fuer ca. den letzten Tag:
rpi_temperature.png
Ganz rechts kann man sehen, wie die Temperatur aufgrund des Stresstests nach oben schiesst.
 
Ein besseres Netzteil ist sicher keine schlechte Idee.
Würde dann allerdings zu einem "Original" greifen. Die haben deutlich stärkere Leitungen als normale USB Kabel und liefern in der Regel knapp über 5.1V.

Sobald der Raspi über die 60°C geht (kann man auch über /boot/config auf 70 "tweaken") fängt der an die Bremse reinzuhauen und um 200MHz zu runterzudrosseln.

Je nach dem was Du mit ihm noch alles vor hast, reicht schon ein billiges (gibt es ab 2 Euro) 3-er Set mit Kühlkörper zum Aufkleben (einer davon ist nur ein Kupferblech und eher nutzlos).
Aktive Kühler (KK & Lüfter) bekommst Du ab rund 8 Euro. Aber da hab ich bisher durchgehend (3 von 3) nicht zufriedenstellende Ergebnisse erhalten. 25mm Lüfter können einen echt hässlichen Lärm machen.
Und die laufen da immer Vollgas.
Waren durch die Reihe durch weder Wohn-, geschweige denn Schlafzimmertauglich.
Auf Letzterem werkelt nun ein Noctua NF-A4x20 PWM auf dem Raspberry mit OSMC. Dank PWM Steuerung praktisch unhörbar (FanConttrol.py Target-Temp: 45, Max-Temp 55.)
 
  • Thread Starter Thread Starter
  • #28
Klasse, vielen Dank fuer die vielen Tipps!

Ich werde mich dann mal nach einem guten Netzteil und wahrscheinlich etwas passiver Kuehlung umsehen, und schauen wie sich RPi + Festplatte damit verhalten.
 
Zurück
Oben