Den RX Pin habe ich bisher noch nicht gefunden… Gemäss diverser Links (siehe unten) müsste man mit CTRL+C oder ESC während dem Booten in die Shell kommen… Ev könnte man auch via TFTP die Firmware flashen.
Hab auch diese Box und ein wenig experimentiert.
Nach mir, ist der TX Pin genau gegenüber vom RX, jedoch hat es den Anschein, als ob die TX Funktion Software seitig abgeschaltet wurde.
Vielen Dank für deine (vor) Arbeit.
Wie geht es weiter?
Hast du geplant ein (eigenes, offenes) Linux auf das Nand-Flash zu schreiben oder erhoffst du dir Infos zu offenen Schmittstellen?
Für das eigene Linux würdest du noch die config für den Device Tree benötigen, wenn ich mich nicht irre? (Kann man diese auslesen?)
Edit:
Nach dem ich das PDF von oben “Reverse-Engineering-Flash-Memory” gelesen haben, kann ich mir vorstellen, dass du eventuell nur den RX Pin der UART im Image freischalten und das Image zurück auf den Flash schreiben kannst.
Die gedumpten Daten scheinen etwas beschädigt zu sein, ev. hilft erneutes auslesen?
Bei ca. der Adresse 0x00021900 gibt es ein paar lesbare Sachen: (wenn man die Bytes etwas swappt…)
(~09000 offset zu dem vorhin, ev. die alten Einstellungen, Redundanz vor einem Update, o.Ä)
Zudem weitere gefundene interessante Zeichenfolgen. Bei den geswappten Bytes ein paar Nullen weggelassen, dann mit dem Tool namens “strings” folgende strings gefunden:
InjectDLL
WinCE501SnapShot
AllowSystemAccess
nk.exe
filesys.exe
device.exe
Launch
SYSTEM/BootPhase1
ceddk.dll
Read
Write
Close
IOControl
shimeng.dll
aygshell.dll
ddcore.dll
uspce.dll
Boot
CRC mismatch
efs und bhc sind ev fatfs filesysteme
Dlltcpstk.dll
AllowSystemAccess
FAT Version (6?)
Get
Die gute Nachricht: Ich habe Fehler im Python Script gefunden (musste von python2 auf python3 switchen) und bin gerade dabei diese zu beheben. In Python3 haben sich ein paar Dinge geändert.
Eventuell kann ich noch einen “guten” Dump diese Woche liefern. Brauch aber etwas Zeit um zu testen. Werd mal ein paar Dumps erstellen und die Checksummen vergleichen. Sobald ich was habe, sende ich es dir.
Ich vermute die Leitungslänge kann durch eine reduzierte Lesegeschwindigkeit kompensiert werden.
Ein PCB wäre natürlich schon cool
Vielleicht könnte man die Platine sogar so machen, dass sie irgendwelche Kontaktstellen hat und der Chip dann fast schon “In-Circuit” programmiert werden könnte Wäre aber einiges mehr Aufwand.
Ich habe den NAND wirklich langsam gelesen, hat fast 5 Stunden gedauert mit dem selben “schlechten” Ergebnis.
Hab bereits ein PCB gezeichnet, welches ich nächste Woche zum fertigen geben werde.
Wenn es also Wünsche gibt, einfach melden, noch kann ich es abändern.
Ist sehr einfach, man kann dann aber einen beliebigen Sockel und das FTDI Modul aufstecken. Werde euch ein PCB zusenden, vielleicht habt ihr ja mal vor, ein FTDI Modul und einen Sockel zu kaufen.
Ich dachte das Projekt sei aufgegeben. Ich habe diverse von den Dingern… auch einige mit eingebauten 500GB SATA HD’s.
Hilft euch so ein Teil mit HD vielleicht weiter? Ich bin grad am auseinandernehmen für mein RAID Projekt…