Fritzbox 7490 - EJTAG funktioniert nicht

SebiXVI

Neuer User
Mitglied seit
24 Apr 2005
Beiträge
48
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich habe hier eine 7490, die offenbar ein defektes NAND Flash hat: sie rebootet zufällig neu, beim Start über den Bootloader gibt es Meldungen über einen defekten Flash-Speicher. Ich wollte daher den NAND tauschen und vorher per JTAG auslesen.

Die 7490 hat zwei identische 2x7-Polige Anschlüsse. Auf der rechten Seite sind fünf GND-Pads, darunter das Key-Pad und ein Vtarg-Pad, die rechte Seite dürfte demnach dem MIPS-EJTAG-Standard entsprechen.

Einer der Ports (der linke - wenn die Pins so, wie oben beschrieben orientiert sind) funktioniert, openocd meldet einen Xilinx-, einen Intel- und einen Atmel-Chip, aber keinen VR9. Den rechten Port kann ich nicht zur Mitarbeit überreden. Die beiden TRST-Pins (also jeweils oben links) habe ich über 100 Ohm auf Vcc gelegt, dennoch erhalte ich keine Ausgabe in openocd.

Hat jemand einen Tip für mich?

Und: muss ich den Flash überhaupt auslesen? Der Bootloader, den ich erreichen kann, liegt offenbar in einem separaten SPI-Flash, demnach könnte ich einfach ein leeres NAND einbauen und dann per FTP das Image aufspielen?

Dennoch wüsste ich natürlich gerne, warum mein JTAG nicht funktioniert. Als Adapter benutze ich übrigens einen USB-Blaster-Clone (Waveshare USB Blaster).

Danke,
Sebi
 
Hat jemand einen Tip für mich?
Ich glaube auf so etwas wie einen "Tipp" bzgl. dem JTAG-Interface bei den SoCs von MaxLinear/Intel (ehm. Lantiq) warten wir schon seit Jahren… Es gibt bis heute offensichtlich keine öffentlich zugängliche Dokumentation dazu.

Der Bootloader, den ich erreichen kann, liegt offenbar in einem separaten SPI-Flash,
Korrekt. Und die beiden TFFS sind ebenfalls im SPI-Flash.

demnach könnte ich einfach ein leeres NAND einbauen und dann per FTP das Image aufspielen?
Per FTP (Bootloader) kann man bei der 7490 kein Image in den NAND schreiben. Man kann darüber lediglich ein Image in den RAM der Box laden, welches dann von dort gestartet wird und sich anschließend selbst in den NAND-Flash (in die entsprechenden Partitionen) schreibt. Aber dazu braucht es eine gültige Partitionierung des NAND.
 
Und einen Bootloader ;)
 
Die Partitionierung ist eigentlich im Bootloader-Code (im Konfigurationsbereich) im SPI-Flash enthalten (bei der 7490 auch wieder ab Offset 0x580) - daraus wird die Bootloader-Sicht auf die MTDs erzeugt und auch der Kernel liest die Partitionierung wohl aus dem Urlader-Environment (in arch/mips/lantiq/common/ifxmips_mtd.c, Funktion mtdnand_setup_parts).

Ich hatte bisher noch keine Veranlassung, eine Box mit komplett leerem NAND-Flash zu starten und kann es daher nicht beschwören ... aber meiner Ansicht nach sollte das Installieren (nach dem Start aus dem RAM) auch dann funktionieren, wenn der NAND-Flash leer ist.

Das Setup für die Partitionen sollte durchlaufen (da wird ja nicht nach einem Dateisystem (oder anderem Inhalt) gesucht) und wenn das klappt und im Anschluß das Skript /wrapper/sbin/flash_update (auch unter diesem Pfad, denn das erfolgt erst nach dem pivot_root auf das SquashFS-Image) aufgerufen wird, dann löscht das ohnehin erst mal die Inhalte der Partitionen für den Kernel und das Dateisystem, bevor dort irgendetwas Neues gespeichert werden soll.

Ich würde mir da zumindest keine Gedanken über die Partitionierung im NAND-Flash machen und das Installieren einfach mal laufen lassen (wenn man denn so weit kommt).

Der Konfigurationsbereich im Urlader hat eine Größe von 1024 Bytes und beginnt mit einem 32-Bit-Integer mit der Versionsnummer (bei der 7490 0x03 -> aber 32-bittig), gefolgt von der Größe des installierten RAM (32-Bit) und einem weiteren 32-Bit-Wert (0x00), dessen Bedeutung ich nicht kenne. Danach folgen bis zu 16 Einträge für die Partitionen (mtd0 bis mtd15 aus Bootloader-Sicht), die jeweils aus einem 32-Bit-Integer für den Offset (innerhalb des jeweiligen Flashs) und einem weiteren 32-Bit-Wert für die Größe der Partition bestehen. Die Daten danach (ab Offset 140 zum Beginn des Konfigurationsbereichs) spielen für das Thema hier keine Rolle mehr.

Den gesamten Bereich kann man sich bei der 7490 auch über den FTP-Server ausgeben lassen - als config oder als CONFIG (es gibt beide Formen bei AVM und ich weiß gerade nicht, welche die 7490 verwendet - das kriegt man aber schnell heraus), wobei der von mir beschriebene Bereich nur die ersten 1024 Bytes dieser Datei sind. Der Rest interessiert hier ebenfalls nicht weiter.
 
  • Like
Reaktionen: NDiIPP und Grisu_
Als Adapter benutze ich übrigens einen USB-Blaster-Clone (Waveshare USB Blaster).
Stellt sich der Adapter automatisch auf die korrekte Betriebsspannung ein oder muß das umgeschaltet werden?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.