Ist es nicht unsicher, wenn ein Laptop in den Ruhezustand wechselt, während eine SD-Karte eingelegt ist?

3

Ich habe jahrelang miterlebt, wie mein Dell-Laptop im Ruhezustand einfriert, während eine SD-Karte in den Steckplatz eingelegt und aktiviert wird. Ich habe natürlich einige Zeit gebraucht, um das herauszufinden, aber ich kann den Vorfall jetzt mit 100% iger Genauigkeit reproduzieren: Jedes Mal, wenn mein Laptop aus dem Ruhezustand zurückkehrt - während ich den Energie-Manager so programmiert habe, dass die verbleibende Zeit 8% überschreitet -, während ich dort bin Ist eine SD-Karte eingelegt und eingelegt, friert sie ein (blockiert), und ich kann sie nur schwer ausschalten ... wobei ich natürlich jedes Mal mehr als ein paar Knabbereien von meiner SD-Karte verliere. Ich kann auf einmal bis zu Hunderte von Megabyte verlieren.

Kürzlich versorgte ich einen Computer mit einer 12-V-Batterie. Irgendwann habe ich gesehen, wie es komplett eingefroren war, während es von meinem USB-Stick lief, den ich als Boot-Gerät eingerichtet hatte [um Linux Mint auszuführen]. Ich bemerkte später, dass der Computer eingefroren war, weil ich vergessen hatte, das Ladegerät anzuschließen, und die Batteriespannung auf etwa 11,5 Volt abgenommen hatte. Ich habe auch festgestellt, dass die USB-Schlüsselpartition, mit der ich den Computer gestartet habe, vollständig beschädigt und dabei nicht wiederherstellbar war.

Hinzu kommt, dass ich auch oft gelesen habe, dass Raspberry Pi- Benutzer (wie ich) eine Beschädigung der SD-Karte gemeldet haben und letztere auf (geringe) Stromverbrauchsprobleme zurückzuführen sind . Diese Erklärung kam zu mir, als ich (auch) bemerkte, dass die nutzbare Größe meiner Raspberry Pi SD-Karte aus unbekannten Gründen erheblich abnahm, bevor ich das las.

Fazit

Kurz gesagt wurde mir auf die harte Tour beigebracht, welche tödlichen Folgen es hat, mit Blitzgeräten auf Dämpfen zu laufen, während sie verwendet werden.


Ich vermute nur, dass es sich um ein elektrisches Problem handelt, also bitte ich im Grunde um Bestätigung. Ich habe in der Vergangenheit ein paar Probleme mit SD-Kartentreibern erlebt, die (zumindest) Linux unter einer Vielzahl von Fehlern litten, einschließlich Systemabstürzen, insbesondere, als diese Treiber noch jung waren, dh nicht mehr so ​​ausgereift wie heute. Mit der Zeit habe ich mich gefragt, ob mein Laptop (unter den oben genannten Bedingungen) einfrieren könnte, weil die Hardware reagiert, wenn der Akku etwas "schwach" wird.

Meine Frage ist : Ergibt meine Analyse einen Sinn oder ist es wirklich etwas anderes, wie ein schlechtes Energieverwaltungsdesign auf bestimmten Laptops, was auch immer?

Wenn es richtig ist, sollte es dann nicht für Laptop-Benutzer empfohlen werden, das Netz anzuschließen, wenn eine SD-Karte verwendet wird? (Unabhängig davon ist es immer am besten, so viel wie möglich am Stromnetz zu laufen .)


Hinweis: Ich stelle die Frage hier, weil ich vermute, dass das, was ich für einen Fehler im Linux-SD-Kartentreiber gehalten habe, tatsächlich ein Elektronikproblem ist.

Gemeinschaft
quelle
@tcrosley Ich bin eher anderer Meinung, da erst bestätigt werden muss, dass die in der Frage genannten Probleme für die Elektronikhardware irrelevant sind. Aus diesem Grund habe ich hier um Fachwissen gebeten.
Superuser-Site kann dabei besser helfen als hier IMO. Sie haben bereits viele Fragen zu Problemen mit der SD-Karte - suchen Sie einfach dort nach "SD-Karte".
Tcrosley
Nun, ich fand aber nichts für meinen Geschmack relevant genug. Aber vielleicht bin ich zu wählerisch, keine Ahnung.
Der Raspi ist untypisch zerbrechlich und für diese Probleme berüchtigt. Ich vermute, es kommt von der Verwendung einer SD-Karte als Root und der seltsamen Natur des Raspi-Boot-Prozesses.
Geselle Geek
Verwendet der SD-Kartenleser Ihres Dell eine MMC-Schnittstelle (dh / dev / mmcblk <x>) oder stellt er eine Verbindung über die Festplattenschnittstelle (/ dev / sd <x>) her?
Sägemehl

Antworten:

1

Achtung: kein Linux Experte hier .

Die Beschädigung der Karte kann darauf zurückzuführen sein, dass der Ruhezustand die Karte nicht ordnungsgemäß trennt oder nicht genug wartet, bis die Karte einen Schreibzyklus mit möglicherweise noch im PC-Cache befindlichen Daten abgeschlossen hat. Hardwareschäden an Flash-Speicherkarten sind weitaus häufiger, wenn während Schreibvorgängen etwas Schlimmes (z. B. Stromausfall) auftritt.

Was das Einfrieren des PCs angeht, habe ich den Verdacht, dass einige Betriebssystemkomponenten Probleme haben. Wahrscheinlich sind einige Treiber nicht robust genug, um Hardwarefehler während des Ruhezustands zu beheben. Wenn eine nicht wesentliche Hardwarekomponente (wie der SD-Kartenleser) ausfällt, sollte das Betriebssystem nicht einfach einfrieren oder in die Luft jagen (das ist eine der Aufgaben eines Betriebssystems). Zugegebenermaßen ist der Ruhezustand kein alltägliches Szenario. Wer auch immer den Treiber geschrieben hat, hat beim Herunterfahren (dem häufigsten "speziellen" Szenario) außergewöhnliche Ereignisse behandelt, den Ruhezustand jedoch vergessen oder vernachlässigt.

PS: Ich habe auch viele Windows- PCs beim Aufwecken aus dem Ruhezustand oder während des Ruhezustands eingefroren gesehen, so dass ich die Funktion normalerweise auf meinen Windows-Computern standardmäßig deaktiviere (Standby funktioniert im Gegenteil die meiste Zeit unglaublich gut). . Ich vermute, dass Interaktionen mit der Hardware im Ruhezustand für die PC-Industrie kein großes Problem darstellen.

Lorenzo Donati
quelle
Nun, ich teile auch Ihre Benutzererfahrung mit Standby (Sleep, unter Linux). Hatte noch nie Probleme mit dem Schlaf, aber ich denke, es ist normal, da die Hardware immer noch eingeschaltet ist, nicht mit Hibernate.
@Nasha in der Realität ist es nicht so einfach: Selbst im Standby-Modus wird die meiste Hardware ausgeschaltet oder in einen Energiesparmodus versetzt. Zum Beispiel ist die WiFi-Sendestufe höchstwahrscheinlich komplett abgeschaltet, da sie sonst im Standby-Modus den Akku eines Laptops zum Teufel heraussaugt. Technisch gesehen ist der Umgang mit dem Winterschlaf meiner Meinung nach von Natur aus nicht schwieriger. Ich vermute, es ist eine vernachlässigte Funktion, nur weil Benutzer es nicht zu oft verwenden.
Lorenzo Donati
Ich verstehe das. Das heißt, ich könnte in diesem Fall einfach kein Glück mehr haben, oder?
Zum Einfrieren würde ich das Problem den Entwicklern Ihrer Linux-Distribution melden und ihnen alle Details mitteilen. Vielleicht hast du Glück und sie beheben das Problem. Linux-Entwickler sind in der Regel anfälliger für solche Probleme als große Unternehmen wie MS oder Apple.
Lorenzo Donati
Die Berichterstellung ist auch nicht so einfach, wie ich glaube, die Antwort zu kennen: Tritt das Problem bei einem neueren Kernel auf? Meins ist das, das mit Linux Mint 16 geliefert wird, das ich nicht aktualisieren kann, außer alles neu zu installieren. Und wenn ich ein Upgrade durchführen möchte, aktualisiere ich nur auf eine fortlaufende Version, was sich auch auf die Pakete auswirkt, die ich verwenden kann. Bedeutet: Es wird eine Menge Zeit dauern, bis ich klar bin.
0

Welches Dateisystem verwenden Sie auf der SD-Karte? Ich nehme an, dass es fat32 oder ähnlich ist. Ich denke, das Problem ist, dass einige verzögerte Transaktionen darauf warten, von der SD-Karte selbst ausgeführt zu werden, und für das Betriebssystem transparent sind. (Es wird gemeldet, als würde es von der SD-Karte an das Betriebssystem gesendet.) Diese Transaktion wird durch einen ausreichend langsamen Stromausfall verrückt. (Ich meine, dass das Herunterfahren nicht unbedingt schnell sein muss, was dazu führt, dass der definierte Status überschritten wird. Dies ist wahrscheinlich auf die Anforderung des Ruhezustands zurückzuführen, da die Hardwareverzögerung jedoch für das Dateisystem transparent ist, wird dies nicht der Fall sein Ich schätze, wenn Sie ext4 oder btrfs mit eingeschalteter Barriereoption verwenden (dies ist standardmäßig bereits der Fall), besteht die Möglichkeit, dass es wartet, bis ein sicherer Zustand erreicht wird.

Ist es möglich, die Kernelnachrichten dieses Ereignisses wiederherzustellen?


Ich habe versucht, das Problem mit einem Dell Studio 14-Laptop, Archlinux (3.18 Vanilla Kernel), der auf einer USB-Flashdisk läuft, zu reproduzieren. Außerdem habe ich eine 2-GB-Ext2-Partition einer SD-Karte eingehängt. Angehalten, um mit "systemctl suspend" zu rammen. Erfolgreich aufgewacht.

Das Suspendieren ist kein einfacher Vorgang, bei dem der Kernel lediglich angewiesen wird, das Suspendieren auszuführen. Dies ist nur das Letzte, was das Suspendierungsskript tun muss. Der Vorbereitungsprozess kann bei verschiedenen angehaltenen Skripten unterschiedlich sein. Für weitere Informationen: https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate


quelle
Die SD-Karten, die ich meistens verwende, wurden mit ext2 oder ext3 formatiert, einige mit FAT, die ich nur gelegentlich verwende. Und leider gab es keine Möglichkeit, die Kernelprotokolle nach dem Einfrieren wiederherzustellen.
@nasha, lies den neuen Teil.