Moin,
hier ein kurzer Tip, der gerade sehr erfolgreich genutzt wurde um den Inhalt des EEPROMs eines LocalTalk Druckerinterfaces zu retten, welches durch Überspannung zerstört wurde.
Das ganze klappt natürlich nicht bei jedem EEPROM, je nachdem, was genau zerstört wurde, aber der Fall, dass der VCC Pin offen ist, kommt (gerade bei Überspannung und falschem Einsetzen in den Sockel) vor.
Das EEPROM muss dazu relativ neu sein, vermutlich in CMOS-Technik gebaut sein und (das ist der wichtige Teil) interne ESD-Schutzdioden haben.
Wenn man also zwischen GND und D0/Q0 des EEPROMs mit dem Multimeter noch eine Diode messen kann (~0.6ish Volt), lässt sich vielleicht etwas retten.
Eine der Datenleitungen wird hart auf VCC gezogen während das EEPROM im Lesegerät steckt. Dump speichern, andere Datenleitung hart auf VCC ziehen und wieder einen Dump ziehen.
Dann hat man 2 Dumps, jeweils mit einem anderen Bit dauerhaft auf VCC.
Wenn man jetzt mit einem kleinen Skript (z.B. hier PHP) die beiden Dateien wieder zusammenbaut, hat man einen prima EEPROM-Dump:
Oben - Bit 0 dauerhaft auf VCC
Mitte - Bit 7 dauerhaft auf VCC
Unten - Kombiniert, korrekter Dump
Folgendermaßen hab ich die Dumps zusammengebaut:
<?php
$bit1 = file_get_contents("panasonic_b1.bin");
$bit8 = file_get_contents("panasonic_b8.bin");
$output = "";
// go through each byte seperately
for ($i=0; $i < strlen($bit1); $i++)
{
// take all these bits from b1.bin
$mostbits = ord($bit1[$i]) & 0b11111110);
// and only the last from b8.bin
$otherbit = ord($bit8[$i]) & 0b00000001);
// logical-OR those, convert back to a byte and put into the output
$output .= chr($mostbits | $otherbit);
}
file_put_contents("output.bin", $output);
Alles anzeigen
Das wird sicherlich nicht in allen Fällen klappen, häufig geht bei Überspannung und ähnlichem mehr kaputt, aber einen Versuch kann es ja häufig wert sein!
Wenn wir damit nur ein seltenes Gerät mehr retten können, hat sich das Schreiben hier ja schon gelohnt
Viel Erfolg
Tobias