SD Karten Crash

Begonnen von RalphGrad, 13 Februar 2015, 11:37:53

Vorheriges Thema - Nächstes Thema

RalphGrad

Hallo,

ich betreibe Fhem mit einem COC von Busware auf einem Pi B.
Vor vier Tagen ist die SD Karte irgendwie defekt gegangen. Der Pi startet nicht mehr.

Leider ist das Backup auch noch auf der SD drauf.(Ich Depp).
Hab jetzt auf einer zweiten SD Karte wieder Fhem (Nutze das Image von Busware) installiert, kann aber meine HM Thermostat nicht pairen.
Wenn ich ein Update in fhem machen möchte kommt immer "Unknown command UNDEFINED, try help."
im Event Monitor funken auch die Thermostat schön rein, aber paieren wollen die nicht.

z.B.
2015-02-13 11:35:52 CUL COC UNKNOWNCODE A0FBA86102E84BB0000000A88C18F0000::-78:COC
2015-02-13 11:36:03 CUL COC UNKNOWNCODE A0FFC86102E9F200000000AC0F9905A40::-21.5:COC


Gibt es eine Möglichkeit irgendwie an das Backup zu kommen? Oder was muß ich machen das ich wieder richtig paieren kann?

Anbei noch das list von COC:

CMDS       mCFiAZOGMKRTVWXefltux
   COC_MSGCNT 36
   COC_TIME   Initialized
   Clients    :CUL_HM:HMS:CUL_IR:STACKABLE_CC:
   DEF        /dev/ttyAMA0@38400 1234
   DeviceName /dev/ttyAMA0@38400
   FD         11
   FHTID      1234
   NAME       COC
   NR         30
   PARTIAL
   RAWMSG     A0FE286102E6E910000000A88D01000000C
   RSSI       -68
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.61 CSM868
   initString X21
Ar
   Matchlist:
     1:CUL_HM   ^A....................
     8:HMS      ^810e04....(1|5|9).a001
     D:CUL_IR   ^I............
     H:STACKABLE_CC ^\*
   Readings:
     2015-02-13 11:20:08   cmds             m C F i A Z O G M K R T V W X e f l t u x
     2015-02-13 11:35:15   state           Initialized
Attributes:
   rfmode     HomeMatic

Fhem Version:
Release  : 5.6
  OS       : linux
  Arch     : arm-linux-gnueabihf-thread-multi-64int
  Perl     : v5.14.2


Es ist nicht all zu schlimm wenn ich das Backup nicht mehr bekomme, dann lerne ich wenigsten was.
Nur das ich nicht pairen kann???

Viele Grüße

Ralph

gero

Hast du schon versucht die defekte SD-Karte unter Linux zu mounten? Was sagt dmesg?
Bisher habe ich alle SD-Karten mit fsck wieder zum Laufen gebracht.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

RalphGrad

Wie kann ich die SD Karte mounten?

Ich hab für die SD Karten einen SD UBS Stecker. Wie mountet man den? Kann ich das auch auf einen Raspberry machen?

Viele Grüße

Ralph

gero

Natürlich kannst du das auch auf dem Raspberry machen.
- Kontrollier mir cat /proc/partitions, welche Partitionen du ohne die über USB verbundene SD Karte hast. (Diese Partitionen solltest du im Folgenden nicht  verwenden)
- Steck die SD Karte mit dem USB Adapter einfach mal in den Raspberry.
- Sieh dir den output von dmesg an (Evtl. sind dort schon Fehlermeldungen zu erkennen)
- Mit cat /proc/partitions siehst du die Partitionen der SD-Karte
- Mit mount kontrollierst du, ob die SD-Karte nicht automatisch gemounted ist.
- Mit mount /dev/sdXX /mnt kannst du die SD-Karte mounten.
- Falls bis dahin alles geklappt hat, kommst du an deine Daten.
- Ansonsten kannst du mit fsck /dev/sdXX die Karte überprüfen. (Die Karte darf nicht gemounted sein!)
- Je nach Fehlerbild gibt es dann den ein oder anderen Weg das Problem zu beheben.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

AxelSchweiss

kleiner Tip:

beim mounten : mount -o ro /dev/ ....    verwenden.
Dann wird das Filesystem nur ReadOnly gemountet und du riskierst nicht das ev. durch den Filesystemtreiber
etwas beim umount zurückgeschrieben wird und dir noch mehr kaputt macht.

gero

Sobald du wieder ein lauffähiges System hast, kontrollier doch bitte, ob du in der Datei /etc/default/rcS
FSCKFIX=yes
stehen hast. Falls nicht, ergänze es. Das löst die meisten Probleme mit der SD-Karte  (z.B. durch Power Cut) beim raspberry automatisch.
In den aktuellen raspberry Distributionen sollte dieser Parameter allerdings als Default schon gesetzt sein.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

RalphGrad

dmesg schreibt was von I/O Error und Buffer I/O error ?

fsck war erfolgt los, braucht Fehler bei Super Block.

Ich denke ich werde alles nochmals neu installaieren müssen.
Was muß ich beim COC richtig einstellen damit ich wieder paieren kann?

Viele Grüße und danke für die Hilfe

Ralph

AxelSchweiss

Wenn der Superblock futsch ist kannst du einfach einen anderen nehmen ... es gibt mehrere davon ... sicherheitshalber
Weis jetzt nicht genau das Komando ... schau mal unter "man e2fs" oder "man e2fs.fsck" ... sollte da zu finden sein.

RalphGrad

Hallo,

SD richtig kaputt, wir nirgends erkannt.
Hab System neu installiert, und Update gemacht.

Hab jetzt einen Sack voll Fehler. In der 99_myUtils.pm werden die Befehle nicht erkannt.
Style Vorschläge fehlt die hälfe und bei vielen Befehlen komme Unknown Command.

Ich logfile hab ich folgendes Gefunden:

2015.02.15 11:47:17 0: Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 37.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 38.
Global symbol "$DISTRIB_BRANCH" requires explicit package name at ./FHEM/99_update.pm line 64.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 83.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 138.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 149.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 150.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 151.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 152.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 158.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 190.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 220.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 449.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 580.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 587.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 588.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 589.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 598.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 646.
Global symbol "$DISTRIB_RELEASE" requires explicit package name at ./FHEM/99_update.pm line 678.
Global symbol "$DISTRIB_RELEASE" requires explicit package name at ./FHEM/99_update.pm line 679.
Global symbol "$DISTRIB_BRANCH" requires explicit package name at ./FHEM/99_update.pm line 680.
Global symbol "$DISTRIB_DESCRIPTION" requires explicit package name at ./FHEM/99_update.pm line 681.
Global symbol "$DISTRIB_DESCRIPTION" requires explicit package name at ./FHEM/99_update.pm line 689.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 700.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 700.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 701.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 720.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 725.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 729.
Global symbol "%UPDATE" requires explicit package name at ./FHEM/99_update.pm line 734.

Was muß ich machen? Bin doch noch Anfänger.

Viele Grüße

Ralph

PichlAlex

Hi!

Ich war vor einem Jahr mit der selben Situation konfrontiert -RPi ist irgendwann mal nimma gelaufen und danach war die SD Karte hin. Backup vorhanden, aber auf der SD Karte.

Ich konnte damals nur wieder bei Null anfangen und hab ein Wochenende mit der Neuinstallation verbracht.

Wenn dieSD Karte keine Partitionen mehr preisgibt und/oder im DMESG nur noch timeouts kommen bleibt dir nur noch eins: daraus lernen und ganz neu anfangen (und einen täglichen Backupjob einplanen)

Grüße
Alex

RalphGrad

Hallo Alex,

ja da hast Du Recht. Bin immer noch beim wieder einrichten.

Viele Grüße

Ralph

blu

Hallo zusammen,

bei meinem Raspi B+ hat die SD-Karte leider auch eine Macke (habe den mistigen Auslösemechanismus beim Staubsaugen aktiviert :(). Gut: ich konnte sie mounten und mit dd if=/dev/sdc of=~/raspy_2015-02-18.img kopieren und die wesentlichen Konfig-Dateien separat sichern. Nun wollte ich das Filesystem checken und stoße auf folgende Probleme und ich weiß nicht genau welches dafür verantwortlich ist, dass mein Raspy nicht mehr bootet :(

1) Es ist ein dirty-bit gesetzt, das ich nicht entfernt bekomme:
root@OEM:~# fsck /dev/sdc1
fsck from util-linux 2.20.1
fsck.fat 3.0.26 (2014-03-07)
0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
Leaving filesystem unchanged.
/dev/sdc1: 36 files, 1842/7161 clusters

Wähle ich nun 1) so wird das drity-bit leider nicht entfernt, es taucht beim nächsten Check wieder auf. Probiert habe ich auch:
sudo umount /boot
sudo git clone http://daniel-baumann.ch/git/software/dosfstools.git
sudo cd dosfstools
sudo make
sudo ./fsck.fat -V /dev/sdc1

root@OEM:~/dosfstools# ./fsck.fat -V /dev/sdc1
fsck.fat 3.0.26 (2014-03-07)
0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
Starting check/repair pass.
Starting verification pass.
Leaving filesystem unchanged.


2) /dev/sdc1 hat ein Superblock-Problem, das ich nicht lösen konnte (/dev/sdc2 ist ok)
root@OEM:~# e2fsck /dev/sdc1
e2fsck 1.42.9 (4-Feb-2014)
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/sdc1

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
or
    e2fsck -b 32768 <device>
Jetzt noch die Ausgabe von fdisk (nat. wenn die Platte gemountet ist):
Disk /dev/sdc: 15.9 GB, 15931539456 bytes
64 heads, 32 sectors/track, 15193 cylinders, total 31116288 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00090806

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/sdc2          122880    31116287    15496704   83  Linux
Hier vermute ich, dass e2fsck gar nicht genutzt werden sollte, da sdc1 FAT32-formatiert ist.

Wie bekomme ich denn nun die SD-Karte so gerichtet, dass der Raspy wieder booten kann?!
Danke für Tipps!

lg blu

RasPi2, FHEM 5.6, HM-LAN-CFG
HM-CC-RT-DN, HM-LC-SW1-FM, HM-LC-SW1-PL2, HM-LC-Sw1PBU-FM, HM-Sen-MDIR-O,  HM-SEC-SCo, HM-PB-2-WM55-2, HM-PB-6-WM55, HM-ES-TX-WM (+ Ferraris)

gero

Lies mal dir man page zu fsck.vat

Note: If -a and -r are absent, the filesystem is only checked, but not repaired.

Meiner Meinung nach sollte ein
fsck -a /dev/sdc1
oder
fsck -r /dev/sdc1
funktionieren. Evtl. kannst du noch die Option -w dranhängen.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

blu

Hi gero,

vielen Dank für die schnelle Antwort. Die Option -a hat geholfen.
Leider steckt das Problem wohl woanders: ich habe mal eine Tastatur und einen Monitor an den Raspy gehängt (vorher nur via ssh probiert) und siehe da: das Ding bootet, aber meldet beim ping-Versuch "Network ist unreachable".
Das Netzwerkkabel ist nat. verbunden, habe auch das vom PC daneben probiert. Dann habe ich ein sudo /etc/init.d/networking restart probiert und bekomme die Fehlermeldung restart is deprecated because it may not re-enable some interfaces. Ein ifconfig liefert mir für eth0 auch keine IP-Adresse :(. Auf der Fritzbox ist eingestellt, dass der Raspy aufgrund seiner MACAdresse immer die gleiche logische Adresse bekommen soll.
lg blu
RasPi2, FHEM 5.6, HM-LAN-CFG
HM-CC-RT-DN, HM-LC-SW1-FM, HM-LC-SW1-PL2, HM-LC-Sw1PBU-FM, HM-Sen-MDIR-O,  HM-SEC-SCo, HM-PB-2-WM55-2, HM-PB-6-WM55, HM-ES-TX-WM (+ Ferraris)

gero

Eine Ferndiagnose ist immer schwierig, da ich dein System und deine Konfiguration nicht kenne.

- Hast du auch /dev/sdc2 auf Fehler überprüft?
- Leuchten die LEDs am Netzwerkanschluß?
- Siehst du irgendwelche auffälligen Meldungen in der Ausgabe von dmesg oder in /var/log/messages?
- Wie sieht deine /etc/network/interfaces aus?
- Wie sieht die Ausgabe von ifconfig genau aus?
- Ich nehme an das System war vor dem Crash lauffähig und du hast nichts geändert, oder?

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor