.titleBar { margin-bottom: 5px!important; }

[Problem gelöst, FBF neu geflasht über JTag] FBF7050, adam2 Bootloader deadlock?

Dieses Thema im Forum "FRITZ!Box tot? Recover, Firmware Up-/ Downgrade" wurde erstellt von feadi, 19 Aug. 2006.

  1. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 feadi, 19 Aug. 2006
    Zuletzt bearbeitet: 10 Jan. 2007
    Hallo,

    ich hatte eine funktionierende 7050, bis:
    - umstellung auf annex B
    - update auf 14.04.15
    - umstellung auf annex A
    - dann habe ich "nvi /proc/avalanche/env" ausgeführt (Jetzt weiss auch ich das man sowas nicht machen sollte :()
    - neustart

    In diesem Zustand wollte die Box nicht mehr hochfahren, also habe ich mir die serielle Verbindung aufgebaut. Damit konnte ich sehen das:
    - der Bootloader startet
    - der Linuxkernel gestartet wird
    - die Box plötzlich neu startet
    - danach startet der Bootloader wieder neu, und so weiter....


    Okay dachte ich, und probierte das hier aus: http://www.wehavemorefun.de/fritzbo...ry_Defaults_.C3.BCber_ADAM2_wieder_herstellen
    Es ist alles wie in der Anleitung beschrieben passiert, bis auf eine kleine Sache: bei mir wurde mtd3 UND mtd4 gelöscht.

    Seitdem ist die Situation noch schlimmer geworden: der Bootvorgang bleibt viel früher hängen. Der ewige Neustart bleibt auch aus. Nun kann ich über die serielle Verbindung nurnoch das hier sehen:

    Code:
     ADAM2 Revision TI:0.18.01 AVM: Version:97
     (C) Copyright 1996-2003 Texas Instruments Inc. All Rights Reserved.
     (C) Copyright 2003 Telogy Networks, Inc.
     (C) Copyright 2003-2004 AVM
     change 'mtd0' to 0x900C0000,0x903C0000
     change 'mtd1' to 0x90010000,0x900C0000
     change 'mtd2' to 0x90000000,0x90010000
     change 'mtd3' to 0x903C0000,0x903E0000
     change 'mtd4' to 0x903E0000,0x90400000
    
    So bleibt die Box stehen, ich habe ca. 5 Stunden gewartet, doch es tut sich nichts. An den adam2-Prompt gelange ich auch nicht mehr.

    Ich habe tagelang gegoogelt, konnte jedoch nichts über diesen Zustand erfahren. Ich glaube es handelt sich "nur" um einen Deadlock-Zustand, der Bootloader scheint noch zu funktionieren.

    Jetzt möchte ich die Box wieder zum Booten bewegen, habe aber keine Ahnung mehr was ich noch probieren könnte.

    Bitte helft mir! ;)

    Gruß, Feadi
     
  2. supamicha

    supamicha Mitglied

    Registriert seit:
    3 Dez. 2004
    Beiträge:
    577
    Zustimmungen:
    4
    Punkte für Erfolge:
    18
    #2 supamicha, 19 Aug. 2006
    Zuletzt bearbeitet: 19 Aug. 2006
    wenn du eine serielle konsole dran hast, kannst du den bootloader problemlos inerhalb der ersten 5
    sekunden beim booten mit beliebigen tastendruck anhalten. dein problem ist vermutlich das fehlende
    environment (du hast ja mtd3 und 4 gelöscht). das musst du jetzt von hand über adam2 wieder
    instandsetzen. dann läuft die box wieder.
    Code:
    ADAM2 Revision TI:0.18.01 AVM: Version:97
    (C) Copyright 1996-2003 Texas Instruments Inc. All Rights Reserved.
    (C) Copyright 2003 Telogy Networks, Inc.
    (C) Copyright 2003-2004 AVM
    
    AVM_Ar7 >
    Press any key to abort OS load, or wait 5 seconds for OS to boot...
    
    AVM_Ar7 > help
             Commands               Description
             --------               -----------
             h/help commands supported
              memop Memory Optimization
           setmfreq configures/dumps frequencies
                 dm Dump memory at <address>
             setmac Change memory at <address> <value>
              erase Erase Flash except Adam2 Kernel and Env space
           printenv Displays Env. Variables
             setenv Sets Env. variable <var> with a value <val>
           unsetenv Unsets the Env. variable <var>
             fixenv Defragment for Env. space
                 go Loads the image starting at address <mtd1>
    AVM_Ar7 > printenv
    HWRevision            76
    ProductID             Fritz_Box_FON_2_WLAN
    SerialNumber          0000000000000000
    annex                 B
    autoload              yes
    bootloaderVersion     0.18.01
    bootserport           tty0
    bluetooth             00:04:0E::xx:xx:xx
    cpufrequency          150000000
    firstfreeaddress      0x947310d8
    firmware_version      avm
    firmware_info         14.04.01
    flashsize             0x00400000
    maca                  00:04:0E:xx:xx:xx
    macb                  00:04:0E::xx:xx:xx
    macwlan               00:04:0E::xx:xx:xx
    macdsl                00:04:0E::xx:xx:xx
    memsize               0x02000000
    modetty0              38400,n,8,1,hw
    modetty1              38400,n,8,1,hw
    mtd0                  0x900C0000,0x903C0000
    mtd1                  0x90010000,0x900C0000
    mtd2                  0x90000000,0x90010000
    mtd3                  0x903C0000,0x903E0000
    mtd4                  0x903E0000,0x90400000
    my_ipaddress          192.168.178.2
    prompt                AVM_Ar7
    ptest
    reserved              00:04:0E::xx:xx:xx
    req_fullrate_freq     125000000
    sysfrequency          125000000
    urlader-version       97
    usb_board_mac         00:04:0E::xx:xx:xx
    usb_rndis_mac         00:04:0E::xx:xx:xx
    usb_device_id         0x3D00
    usb_revision_id       0x0200
    usb_device_name       USB DSL Device
    usb_manufacturer_name  AVM
    wlan_key              31313131313131313131313131
    AVM_Ar7 >
    
    micha
     
  3. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Supermicha,

    leider komme ich nichtmehr an den Adam2-Prompt, diese Meldung fehlt auch: "Press any key to abort OS load, or wait 5 seconds for OS to boot..."

    Wie oben schon geschrieben sind das die einzigsten Ausgaben meiner Box:

    Code:
    ADAM2 Revision TI:0.18.01 AVM: Version:97
    (C) Copyright 1996-2003 Texas Instruments Inc. All Rights Reserved.
    (C) Copyright 2003 Telogy Networks, Inc.
    (C) Copyright 2003-2004 AVM
    change 'mtd0' to 0x900C0000,0x903C0000
    change 'mtd1' to 0x90010000,0x900C0000
    change 'mtd2' to 0x90000000,0x90010000
    change 'mtd3' to 0x903C0000,0x903E0000
    change 'mtd4' to 0x903E0000,0x90400000
    
    Danach geht es nichtmehr weiter.

    Gruß, Feadi
     
  4. supamicha

    supamicha Mitglied

    Registriert seit:
    3 Dez. 2004
    Beiträge:
    577
    Zustimmungen:
    4
    Punkte für Erfolge:
    18
    wenn das die einzigen ausgaben auf der seriellen konsole sind hast du wohl einen briefbeschwerer :-(
    ich hab mal was von einen jtag interface auf der rückseite gelesen aber leider auch keine nähere infos
     
  5. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    hier hat jemand exakt das gleiche Problem: http://www.ip-phone-forum.de/showthread.php?t=91786

    Es sieht wirklich so aus, als wäre das eine _SEHR_ gefährliche Methode. :(

    Gibt es jemand der - durch löschen von MTD3 und MTD4 - seine Box NICHT kaputtgemacht hat?

    Gruß, Feadi

    P.S. Wer hat denn bitte einen sooooo hochtechnisierten Briefbeschwerer? ;)
     
  6. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich habs geschafft! :) :) :)

    Ich habe meine FBF7050 über JTag wiederbelebt!

    Juhuuuuuu!

    Feadi
     
  7. Odysseus

    Odysseus Aktives Mitglied

    Registriert seit:
    7 Sep. 2004
    Beiträge:
    1,425
    Zustimmungen:
    1
    Punkte für Erfolge:
    36
    Na dann her mit den Infos! :) Wie hast dus gemacht, wo hast du was angeschlossen usw.


    Wer weiß, wann mans braucht.
     
  8. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    ich mach in den nächsten Tagen eine Anleitung. Wenn die fertig ist, melde ich mich wieder.

    Gruß, Feadi
     
  9. kreideholer

    kreideholer Mitglied

    Registriert seit:
    7 Dez. 2005
    Beiträge:
    226
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Eine Anleitung zum JTAG-Recovery, das ist doch mal was!

    Warte gespannt auf deine Erfahrungen.
     
  10. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    die erste Version der Anleitung ist online unter: feadispace.funpic.de

    Jetzt hätte ich gern: Kritik / Anregungen / Verbesserungsvorschläge / ...

    Weiss jemand ob das Disclaimer ausreicht? Ich möchte nicht haften müssen wenn der kleine Peter die FBF vom Pappa kaputtmacht ;)

    Gruß, Feadi
     
  11. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Hi.
    Supi Anleitung, hoffentlich brauch ich die nie. ;-)
    Warum verlinkst du nicht und verweist nur auf Google?
    Kannst du vielleicht noch eine Liste der nötigen Hardware dazuhängen. Am besten gleich mit Bestellnummer von Reichelt oder so.
    In dem Quadrat ist noch ein Platz frei. Mach doch da noch ein Bild mit angeschlossenem Interface hin.
    Vielleicht solltest du versuchen mit dem Autor Kontakt aufzunehmen. Oder gibt es eventuell den Source des Proggies?

    MfG Oliver

    edit: Ah, hier das sieht sehr gut aus. Da können wir uns ja eine eigene Version bauen bzw. die Version anpassen.
     
  12. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Damit wollte ich "dead-links" vermeiden. Ich denke ich mache noch normale Links.

    Meinst Du das sich das lohnt, bei 5 Widerständen und einem Stecker?

    Ok, das kann ich noch machen.

    Das ist durchaus möglich. Ich habe schon ein bischen mit meiner FBF gespielt, ich kann über EJTag ein Programm auf der FBF ausführen. Leider kann ich kein MIPS-Assembler, sonst wäre ich da schon weiter. Ich kann 8086-Assembler und PIC-Assembler, aber ich brauche ein Tutorial für MIPS-Assembler. Dann steht der Entwicklung eines Programms nichts mehr im wege. Wenn wir selber entwickeln sollten wir aber sehr viel Wert auf speed legen, damit das debricken nicht so lange dauert. Eventuell sogar mit "intelligentem" Interface (z.B. mit einem AVR).

    Gruß, Feadi
     
  13. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    MIPS? Das Programm ist doch in C. Oder meinst du das Assemblerprogramm wäre dann schneller?
    Such doch mal bei Google. ;-)

    MfG Oliver
     
  14. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Eigentlich braucht man zwei Programme, eins läuft auf dem PC und füttert die FBF mit Daten. Das zweite läuft auf der FBF und beschreibt den Flash.

    Ich habe schon ein Programm geschrieben welches die FBF mit Daten füttern kann. Ich habe aber kein vernünftiges Futter ;) Als futter nimmt die FBF ein Programm für den MIPS Prozessor.

    Oh ja, google ... ;)
    Das hier: http://www.eecs.harvard.edu/~ellard/Courses/cs50-asm.pdf ist schon sehr gut.

    Ich les mich jetzt mal durch die Sourcen von AVM und halte Ausschau nach der LED Ansteuerung. Dann mache ich ein "Hello World" Programm (FBF-EJTag-LED-Blinker).

    Gruß, Feadi
     
  15. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Das Programm wird dann vom ADAM2 ausgeführt? YAMON?

    MfG Oliver
     
  16. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nein, das Programm kommt über das EJTag-Interface in die FBF und wird direkt von der CPU ausgeführt. ADAM2 wird nicht benötigt, nichtmal der Flash-IC muss in der Box vorhanden sein.

    Genau dieser Umstand ermöglicht es die FBF zu debricken. :)

    Man kann über dieses Interface so gut wie alles machen. ;)

    Gruß, Feadi
     
  17. CuBe_X

    CuBe_X Neuer User

    Registriert seit:
    21 Apr. 2005
    Beiträge:
    68
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Berlin
    #17 CuBe_X, 7 Sep. 2006
    Zuletzt bearbeitet: 7 Sep. 2006
    Coole Sache das!

    Was mich im Moment nur wundert:

    1) Würden /start:903C0000 und /length:20000 nicht reichen, sprich kann man die /window:90000000 nicht weglassen?

    2) Woher wusstest du dass die Instruction Length 5 ist, Datenblatt vom Chip in der FBox?

    Auf jeden Fall sollte das alles mal ins Wiki ;)
    Saubere Arbeit :groesste:
     
  18. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nein, der Parameter wird benötigt, sonst kann der Flash nur gelesen und nicht neu beschrieben werden.

    Das ist einfach herauszufinden, man muss Nullen ins Intructionregister schieben bis nichts mehr herauskommt. Danach schiebt man Einsen rein, und zählt die herauskommenden Nullen.

    Vielen Dank! :)

    Gruß, Feadi
     
  19. CuBe_X

    CuBe_X Neuer User

    Registriert seit:
    21 Apr. 2005
    Beiträge:
    68
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Berlin
    Aha, gut zu wissen ;)

    Hm, vielleicht werde ich mich doch mal an AVRStudio und einen ATmega8 wagen :rolleyes: Wie ich sehe, kann man es an vielen Stellen gebrauchen :grin:

    Danke
    CuBe
     
  20. feadi

    feadi Neuer User

    Registriert seit:
    25 Jan. 2005
    Beiträge:
    82
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich muss zugeben dass ich kein AVR-Assembler kann. :rolleyes:
    Programmiert habe ich die AVR's bisher immer in C mit WinAVR. Hier gibt es ein gutes Tutorial: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

    Viel Spass mit dem Mega8 ;)

    Gruß, Feadi