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

[Problem] Freetz auf F!B 4020 - Push_Firmware

Dieses Thema im Forum "Freetz" wurde erstellt von AltesHaus97, 22 März 2018.

Schlagworte:
  1. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    10,927
    Zustimmungen:
    512
    Punkte für Erfolge:
    113
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
    Denkbar ... aber in meinen Augen auch unwahrscheinlich. Wozu der gut ist und warum der gerade dort liegt, steht (mehr oder weniger ausführlich und ggf. sogar mehr oder weniger richtig bzw. falsch) in diesem Thread: https://www.ip-phone-forum.de/threads/Übersicht-von-fritz-boxen-mit-junk-bytes-im-squashfs-image.286318/

    Die dort verlinkte Dokumentation von Imagination Technologies ist unter dieser Adresse nicht mehr erreichbar, aber unter https://s3-eu-west-1.amazonaws.com/downloads-mips/documents/MD00541-2B-74K-PRG-02.14.pdf findet man sie wieder.

    Bei NOR-Flash, der direkt am Bus hängt und in den Adressbereich des Prozessors eingeblendet wird (auch ohne Kopieren von A nach B), wäre das für mich logischer ... solange da nicht ein Controller für das SPI oder irgendwelcher anderer Code etwas in den Bereich bei 0xBFC00000 kopiert (bei NOR-Anbindung an den Memory-Bus wurde der Flash an einer entsprechend hohen Adresse eingeblendet, später kann das dank MMU ja nahezu beliebig umgemappt werden), spielt das wohl nicht wirklich eine Rolle.

    Es würde zumindest nicht direkt erklären, warum das System gar nicht erst startet (es sei denn, es verwendet NMIs für den "regulären" Betrieb) ... es könnte sich ggf. bei einem NMI dann aufhängen, weil die Interrupt-Behandlung keinen gültigen Code beinhaltet.

    Ich will es nicht vollkommen ausschließen und es ist (ggf. mit den Erläuterungen aus dem oben verlinkten Thread und mit den Sourcen für das Entpacken und Suchen des NMI-Vectors) auch kein großes Kunststück, von Hand ein passendes Image zusammenzuklöppeln für den eigenen Test, aber ich bin erst mal sehr skeptisch und würde deshalb jetzt nicht hingehen (aber ich müßte es ja auch nicht machen) und ein Restaurieren des NMI-Vectors in das Packen eines Images mit "hidden root" einbauen.

    Ich bin mir nicht mal sicher, ob der NMI-Vector hier tatsächlich gebraucht würde (wie gesagt, wie kommt der Code bei einem SPI-Flash (Und die 4020 hat doch wohl welchen? "Richtiger" NOR-Flash wäre deutlich teurer.) überhaupt an die richtige Adresse und warum sollte das jemand beim Ummappen genauso machen, als würde es sich um NOR-Flash handeln) oder ob das nicht nur ein Relikt im AVM-Code ist, für das es - bei einem System, welches grundsätzlich mit diesem "hidden root image" arbeitet - einfach keine passenden bedingten Anpassungen dort gibt und das so am Ende sogar noch in ARM-Modellen mit diesem Image-Aufbau zu finden wäre (wo es diese Konstruktion an 0xBFC00000 m.W. gar nicht gibt), weil es vom AVM-Programm zum Packen der Images einfach immer mit eingebaut wird (ggf. noch in der "richtigen" Version, wenn er wirklich von Bedeutung sein sollte).

    Dafür spricht in meinen Augen auch, wenn das stur an 0xBE0000 im Image liegt ... diese Verschiebung ergibt sich ja auch daraus, daß da ein Bootloader mit einer Größe von 128 KB vor der Kernel-/Dateisystem-Partition im Flash liegt muß und mit dieser zusätzlichen Verschiebung (diese 128 KB ergeben in Hex dann 0x20000 und wenn man das zu dieser Verschiebung im Image hinzuaddiert, landet man bei 0xC00000 und das ist die Adresse des NMI-Vectors, wenn der betreffende Speicherbereich für den Flash an Adresse 0xBF000000 eingeblendet würde) erst, paßt dann die Adresse auch.

    Nun weiß man zwar nichts Genaueres vom Innenleben der 4020 und von deren Flash-Aufbau (zumindest ich nicht) ... aber es erscheint mir auch unwahrscheinlich, daß AVM immer nur Boxen mit 128 KB-Bootloadern (bzw. mit Partitionen für den Bootloader in dieser Größe) unters Volk bringt.

    Aber wie gesagt ... ich will es nicht ausschließen, glaube aber bis zum Beweis des Gegenteils eher nicht daran, daß das hier wirklich ein Problem darstellt.
     
  2. er13

    er13 Aktives Mitglied

    Registriert seit:
    20 Dez. 2005
    Beiträge:
    957
    Zustimmungen:
    14
    Punkte für Erfolge:
    18
    Irgendwie verstehe ich nicht, welches Problem gerade analysiert wird und vor allem wieso.

    Das von Freetz erstellte, in die richtige mtd-Partition geschriebene und insbesondere keinen NMI-Vektor enthaltende Image startet. Punkt. Startet problemlos, s. #10 in diesem Thread und auch Issue #43 auf GitHub.

    Das Problem, wo man nach den Ursachen dafür suchen sollte, ist (dachte ich zumindest), warum das Flashen mittels push_firmware nicht funktioniert. Theoretisch kann es an dem Format liegen, dann würde push_firmware das Image einfach nicht entpacken können. Aber bevor wir theoretisch was vermuten, soll uns lieber @Jott-Emm sagen, was genau er versucht hat und wie sich push_firmware dabei verhalten hat. Denn Stand jetzt haben wir lediglich die folgende Aussage und nichts mehr...

    Offen gesprochen ist für mich ein Bedienfehler noch längst nicht ausgeschlossen.
     
  3. noob_noob

    noob_noob Mitglied

    Registriert seit:
    1 Sep. 2016
    Beiträge:
    220
    Zustimmungen:
    4
    Punkte für Erfolge:
    18
    #23 noob_noob, 22 Aug. 2018
    Zuletzt bearbeitet: 24 Aug. 2018
  4. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    10,927
    Zustimmungen:
    512
    Punkte für Erfolge:
    113
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
  5. stoney

    stoney Moderator
    Forum-Mitarbeiter

    Registriert seit:
    7 Okt. 2015
    Beiträge:
    3,467
    Zustimmungen:
    217
    Punkte für Erfolge:
    63
    Ort:
    Bayern
    Sind die Infos/Daten einer 4020 nun schon vorhanden oder werden noch benötigt? (oder gibt's nen Unterschied im Bootloader, zur Behandlung via push_firmware, ect.?)

    Hier schon mal "the first datas from supportdata" nach Recovery auf 6.50 und bestätigen der Sprachwahl "deutsch" danach direkt die Supportdaten erstellt.
    Code:
    ##### TITLE Version 147.06.50
    ##### TITLE SubVersion
    ##### TITLE Produkt Fritz_Box_HW219
    ##### TITLE Datum Thu Jan  1 01:03:18 CET 1970
    ##### BEGIN SECTION Support_Data Supportdata Linux fritz.box 2.6.32.61 #1 Wed Mar 30 15:21:05 CEST 2016 mips GNU/Linux Version 147.06.50
    Support Data
    ------------
    Thu Jan  1 01:03:18 CET 1970
    2.6.32.61
    HWRevision   219
    HWSubRevision   1
    ProductID   Fritz_Box_HW219
    SerialNumber   0000000000000000
    annex   Ohne
    autoload   yes
    bootloaderVersion   1.2779
    bootserport   tty0
    country   049
    cpufrequency   775000000
    firstfreeaddress   0x8113DB4C
    firmware_info   147.06.50
    firmware_version   avm
    flashsize   nor_size=0 sflash_size=16MB nand_size=0MB
    language   de
    ein Bild der Platine von beiden Seiten würde Dir helfen? Wenn ja, schraub ich meine (F511) gerne auf und liefere die Bilder, ebenso wie Ausgaben-Logs via UART (falls ich bei der 4020 wie bei der 7390 erfolgreich bin - anders als bei der 6490..)
     
  6. NDiIPP

    NDiIPP Mitglied

    Registriert seit:
    13 Apr. 2017
    Beiträge:
    747
    Zustimmungen:
    117
    Punkte für Erfolge:
    43
    Die relevanten Bauteile liegen bei der 4020 unter einem EMI-Shield. Wenn du dir zutraust dieses vorsichtig (mit einem geeigneten Kunststoffhebel) abzuhebeln dann wären die gewonnen Informationen vielleicht ganz interessant.
     
  7. stoney

    stoney Moderator
    Forum-Mitarbeiter

    Registriert seit:
    7 Okt. 2015
    Beiträge:
    3,467
    Zustimmungen:
    217
    Punkte für Erfolge:
    63
    Ort:
    Bayern
    Bin "relativ" schmerzfrei - ich werde bei Bedarf und weiterer Diagonse/Infosammlung gerne zur Not die 4020 opfern ;)
    Der Text stand seid heute nacht.... Die 4020 hats natürlich überlebt :D

    --- aktualisiert ---

    Recovery auf 6.50 + 6.83 sind via Wireshark als Paketmitschnitt verfügbar. Falls @PeterPawn diese gebrauchen kann - bitte kurze Info.

    Bilder der Platine (ohne EMI-Shield) anbei.
     

    Anhänge:

    JokerGermany und NDiIPP gefällt das.
  8. NDiIPP

    NDiIPP Mitglied

    Registriert seit:
    13 Apr. 2017
    Beiträge:
    747
    Zustimmungen:
    117
    Punkte für Erfolge:
    43
    Danke! Leider ist auf dem SoC ja noch das Wärmeleitpad drauf aber ich denke darunter würde man wohl sowieso nur den Qualcomm QCA9561 vorfinden, daher auch nicht weiter schlimm.

    Ich vermute mal auf der Rückseite des PCB waren auch keine weiteren bedeutsamen Bauelemente vorhanden? Wenn ja dann scheint bis auf die WiFi-Verstärker, den RAM und den Flash alles wichtige (CPU, WiFi und Ethernetswitch mit PHYs) im SoC (QCA9561) zu stecken. Der LV595 beziehungsweise 74LV595 scheint für die Ansteuerung der LEDs verwendet zu werden.

    Ansonsten halt noch ein Winbond W971GG6KB-25 für die 128MB DDR2-RAM, ein Macronix MX25L12835F der die 16MB NOR-Flash (SPI) zur Verfügung stellt, 3 WiFi-Verstärker und die 5 Übertrager für die LAN-Ports.
     
  9. stoney

    stoney Moderator
    Forum-Mitarbeiter

    Registriert seit:
    7 Okt. 2015
    Beiträge:
    3,467
    Zustimmungen:
    217
    Punkte für Erfolge:
    63
    Ort:
    Bayern
    QCA9561 - AL3A
    PE5U333.K2
    1517
    Nein - garnichts
     

    Anhänge:

    NDiIPP gefällt das.
  10. Jott-Emm

    Jott-Emm Neuer User

    Registriert seit:
    18 Aug. 2018
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Beruf:
    mehrere: Support Trading- IT, Landwirt
    Ort:
    Grabau
    Hallo!
    Nun habe ich Zeit gefunden, mich mit meiner zweiten Fritz!Box 4020 zu beschäftigen - mit für mich erstaunlichen Ergebnissen.
    Der Wireshark-Mitschnitt des Firmware-Recovers auf 6.83 hat ergeben, dass die Box sich genauso verhält, wie sie soll. Anschließend habe ich ein Freetz-Image mit push_firmware aufgespielt - erfolgreich und fehlerfrei! Insofern hat @PeterPawn recht, wenn er vermutet, dasss das Verhalten der 4020 nicht vom "üblichen Verhalten" abweicht.
    Da ich bei meiner ersten Box zuerst ganz genauso vorgegangen bin (mit Ausnahme des Wireshark-Mitschnittes), vermute ich, dass entweder diese Box im Bootloader einen Fehler hat oder wie von @Shirocco88 vermutet, am fehlerhaften Image.
    Aber jetzt funktioniert alles so, wie gewünscht, auch dank dieses Forums. Das muss hier mal gesagt werden. Dürfen. :)

    Bei mir gibt's auch einen Wireshark-Mitschnitt (ca. 17 MB). Bei Bedarf, bitte bei mir melden.
     
  11. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    10,927
    Zustimmungen:
    512
    Punkte für Erfolge:
    113
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
    Danke, ich habe inzwischen von @stoney vieles an notwendigen Informationen zur 4020 erhalten ... bis hin zu zwei Recovery-Mitschnitten (06.50 und 06.83).