mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PC mag SD-Karte nicht mehr lesen


Autor: Boxi Boxitec (boxi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
nachdem ich ein wenig mit nem ATmega32 auf einer SD-Karte rumgeschrieben 
und -gelesen habe, erkennt mein Notebook die Karte nicht einmal mehr.
Kann mir jemand sagen, was da passiert sein könnte und wie ich den PC 
wieder dazu überreden kann, dass er die Karte wieder "versteht". Wenn 
ich zum Beispiel mit Rechtsklick auf das Kartensymbol im Explorer 
"Formatieren" wähle, sagt er "legen Sie die Karte ein"...
Danke für Eure Hilfe
Gruß
Boxi

Autor: Kojote (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch mal nen anderen Cardreader, oder viellt ne Digicam.
Ich hab daheim zB. ne SD Karte die man manchmal mehrfach einstecken muss 
bis sie richtig erkannt wird bzw. man was lesen kann.

Plan B formatier mal mit nem SDkarten Tool und net mit dem Explorer.

gruß Kojote

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Threadtitel klingt irgendwie lustig....
da drauf würd ich prompt sagen "red ihm gut zu, dann macht er das 
schon..."

Erkennt der AVR denn die Karte noch?
Nicht, dass du sie dir zerschossen hast..

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder mal mit Knoppix booten und schauen, ob das die Karte noch erkennt. 
Unter "Speichermedien" auf dem Desktop in der neusten Version zu finden, 
z.B. als "/media/sda1" oder auch "/dev/sda1"

Autor: BaFH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lad Dir das LowLevel-Format Tool runter
http://hddguru.com/content/en/software/2006.04.12-...
und mach die Karte platt ;-)
Hat bei mir geholfen, hatte ein ähnliches Problem

Autor: Laurentius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

>nachdem ich ein wenig mit nem ATmega32 auf einer SD-Karte rumgeschrieben
>und -gelesen habe, erkennt mein Notebook die Karte nicht einmal mehr.

Ich würde mal fast tippen das du dir mit dem Programm entweder den MBR 
oder Bootblock zerschossen hast.
Das kann z.B passieren, wenn man falsche Variableübergaben im Programm 
hat, und  als zu schreibenden Sektor an die Karte z.B. die Adresse 
0x00000000 übergibt. Dann wird mal eben der MBR überschrieben.

Meine Empfehlung an dich besorg dir WinHex und schau mal nach wie dein 
MBR/Bootblock aussieht.
Ich würde mal tippen wenn du neu formatierst und deine Software nochmal 
laufen lässt hast du wieder das selbe Problem.-> Also der Sache auf den 
Grund gehen.

Gruss Laurentius

Autor: Dominik Riebeling (bluebrother)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte auch schon den Fall dass sich der Cardreader verheddert hat -- 
aus- und wieder einstecken des selbigen hat bei mir meistens geholfen.

Autor: Boxi Boxitec (boxi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

danke erstmal für die vielfältigen Antworten ;)

@Laurentius:
ich habe definitiv auf Adresse 0 rumgeschrieben und mir dabei dies und 
das zerschossen. Was komisch ist, dass der PC (Notebook mit eingebautem 
Cardreader) nichtmal merkt, wenn ich die Karte reinstecke.

@BaFH:
Das LLF-Tool erkennt nur meine Festplatte und CF-Karten. Auch andere SD- 
oder xD-Karten zeigt er nicht an...

wie auch immer. Ich kämpfe weiter...
Werde meine Ergebnisse baldestens posten
Boxi

Autor: Laurentius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Boxi
>ich habe definitiv auf Adresse 0 rumgeschrieben und mir dabei dies und
>das zerschossen. Was komisch ist, dass der PC (Notebook mit eingebautem
>Cardreader) nichtmal merkt, wenn ich die Karte reinstecke.

Das liegt daran das Windows/oder anderes Betriebssystem, nicht erkennt 
das ein korrekt formatierter Datenträger im Laufwerk vorhanden ist. Wenn 
der MBR auf Adresse 0x00000000 oder wahlweise auch der Bootblock ab 
Adresse 0x00000000 überschrieben ist, kann dein Betriebssystem nicht 
mehr auf die Daten der Karte zugreifen. Ein Hexprogramm liesst einfach 
stur alle Daten ein egal was sie bedeuten.

Gruss Laurentius

Autor: Boxi Boxitec (boxi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Laurentius,
also die Karte funktioniert noch, soviel ist jetzt klar. Aus dem VS1001 
kommt  "Back in Black" raus... Ich bin ja soooo glücklich ;)

Aber auch WinHex scheitert an der Karte, selbst mit "physisch" öffnen...

Jetzt kommt ihr ;)

Gruß
Boxi

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann tippe ich mal auf einen CardReader der Probleme macht. Hatte ich 
auch mal bei so einem Billig-Ding...
Allerdings solltest du beachten, dass dein CardReader die Karte wohl im 
SD-Modus anspricht und nicht per SPI wie du es wahrscheinlich mit deinem 
Controller machst. Folglich könnte an der Karte durchaus was defekt 
sein, obwohl sie am Controller noch funktioniert. Ich glaub's allerdings 
auch eher net.

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es eigentlich auch teure Cardreader?

Autor: Boxi Boxitec (boxi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, neuester Stand:

mein Handy konnte noch was mit der Karte "anfangen". Mit dem Handy 
konnte ich die Karte nun auch formatieren. Der PC konnte sie danach aber 
immernoch nicht lesen. Allerdings hat das Handy den Sektor 0 nicht mir 
"neuem Leben" gefüllt. Weiß nicht, ob es das hätte können müssen? 
Jedenfalls konnte man vom Handy Dateien auf die Karte kopieren und auch 
verwenden.

Weiter:
Mit Hilfe des AVRs habe ich den Sektor 0 soweit ich mit den 
FAT-Spezifikationen was anfangen konnte, gefüllt. Das sieht dann so 
ähnlich aus:

uint16_t buff_cursor;

          sd_buffer[0] = 0xEB;
          sd_buffer[1] = 0x00;
          sd_buffer[2] = 0x90;

          for (buff_cursor = 0x03; buff_cursor < 0x0B; buff_cursor++)
          {
            sd_buffer[buff_cursor] = 0x20;
          }

          sd_buffer[0x0B] = 0x00;
          sd_buffer[0x0C] = 0x02;
          sd_buffer[0x0D] = 0x20;
          sd_buffer[0x0E] = 0x01;
          sd_buffer[0x0F] = 0x00;
          sd_buffer[0x10] = 0x02;
          sd_buffer[0x11] = 0x00;
          sd_buffer[0x12] = 0x02;
          sd_buffer[0x13] = 0x00;
          sd_buffer[0x14] = 0x00;
          sd_buffer[0x15] = 0xF8;
          sd_buffer[0x16] = 0x7B;
          sd_buffer[0x17] = 0x00;
          sd_buffer[0x18] = 0x3F;
          sd_buffer[0x19] = 0x00;
          sd_buffer[0x1A] = 0x10;
          sd_buffer[0x1B] = 0x00;
          sd_buffer[0x1C] = 0x00;
          sd_buffer[0x1D] = 0x00;
          sd_buffer[0x1E] = 0x00;
          sd_buffer[0x1F] = 0x00;
          sd_buffer[0x20] = 0x2E;
          sd_buffer[0x21] = 0x86;
          sd_buffer[0x22] = 0x1E;
          sd_buffer[0x23] = 0x00;
          sd_buffer[0x24] = 0x80;
          sd_buffer[0x25] = 0x00;
          sd_buffer[0x26] = 0x00;
          sd_buffer[0x27] = 0x12;
          sd_buffer[0x28] = 0x23;
          sd_buffer[0x29] = 0x34;
          sd_buffer[0x2A] = 0x45;
          sd_buffer[0x2B] = 'B';
          sd_buffer[0x2C] = 'o';
          sd_buffer[0x2D] = 'x';
          sd_buffer[0x2E] = 'i';
          sd_buffer[0x2F] = '-';
          sd_buffer[0x30] = 'D';
          sd_buffer[0x31] = 'r';
          sd_buffer[0x32] = 'i';
          sd_buffer[0x33] = 'v';
          sd_buffer[0x34] = 'e';
          sd_buffer[0x35] = ' ';
          sd_buffer[0x36] = 'F';
          sd_buffer[0x37] = 'A';
          sd_buffer[0x38] = 'T';
          sd_buffer[0x39] = '1';
          sd_buffer[0x3A] = '6';
          sd_buffer[0x3B] = ' ';
          sd_buffer[0x3C] = ' ';
          sd_buffer[0x3D] = ' ';


          for (buff_cursor = 0x3E; buff_cursor < 0x1FE; buff_cursor++)
          {
            sd_buffer[buff_cursor] = 0x00;
          }

          sd_buffer[0x1FE] = 0x55;
          sd_buffer[0x1FF] = 0xAA;

          Write_Block_MMC(0, sd_buffer);

...

und siehe da. Nach dieser "Behandlung" konnte auch der PC wieder mehr 
mit der Karte anfangen. Allerdings standen im Explorer nur kryptische 
Datei- und Verzeichnisnamen...
Formatieren ließ sich die Karte auch nicht. Hat mit einem Fehler 
abgebrochen. Also gehe ich mal von aus, dass meine zusammengefriemelten 
Daten im Bootsektor der Karte nicht in Ordnung sind.

Jetzt die große Frage: Weiß jemand, wie ich die Daten wiederherstellen 
kann?

Gruß
Boxi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.