[HowTo] Ändern des Branding und installieren der Retail-Firmware bei FRITZ!Box Cable 6490

Modifizierte Firmware, sowie Erweiterungen wie z.B. Telnet, ftp oder SSH einbauen. Das Forum für echte Linux-Tüftler und solche, die es werden wollen.
Nachricht
Autor
Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

[HowTo] Ändern des Branding und installieren der Retail-Firmware bei FRITZ!Box Cable 6490

#1 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:09

ACHTUNG! Dieses Anleitung hat derzeit "Beta-Status" und ist noch in Bearbeitung/Kontrolle!
Siehe dazu u.a. die To-Do-Liste in Beitrag #17, Hilfe/Unterstützung ist gerne gesehen, siehe Beitrag #16.



HINWEIS: Anwendung dieser Anleitung prinzipiell auf eigenes Risiko, ich übernehme keine Haftung!



Vorwort

In diesem Thema möchte ich eine (grobe) Anleitung zur Verfügung stellen, wo beschrieben ist, wie man die (verbreiteten) Provider-Varianten der FRITZ!Box 6490 von ihrem Branding befreien kann um darauf anschließend die aktuelle FRITZ!OS Retail-Version von AVM für die "freie" Handelsversion der 6490 zu installieren. Wer nur die Branding-Variable ändern möchte ohne die Retail-Firmware zu Installieren beachte bitte unbedingt den Hinweis dazu in Beitrag #7.

Außerdem kann die hier beschriebene Methode auch als Grundlage verwendet werden wenn man bei einem Retail-Modell der 6490, 6430 oder 6590 eine eigene/angepasste Firmware-Version installieren möchte. Die Signaturüberprüfung beim WebIf-Update verhindert dies bekanntermaßen, s.h. auch Hinweis dazu in Beitrag #14.


Das De-Branding inklusive Installation der Retail-Version sollte keinesfalls gemacht werden wenn die FRITZ!Box 6490 nicht dein Eigentum ist (beachte: Eigentum != Besitz), also diese z.B. von deinem Kabelnetzbetreiber zur Verfügung gestellt bekommen hast! Selbst wenn man dies Warnung ignoriert und es dennoch macht, anschließend kann dann diese FRITZ!Box eventuell (bzw. höchstwahrscheinlich) nicht mehr an diesem bzw. einem anderen Anschluss des gleichen Kabelnetzbetreiber betrieben werden, zumindest bei den beiden großen Kabelnetzbetreibern in DE funktioniert die FRITZ!Box anschließend nicht mehr an den Anschlüssen des jeweiligen Kabelnetzbetreiber! Auch bestimmte Features gibt es in der Retail-Firmware der 6490 nicht mehr welche einige Kabelanbieter z.B. für die Konfiguration der Telefonie auf den eigenen Geräten verwenden.

In einem (bekannten) anderen Forum wurde bzgl. dieses Themas im letzten Jahr sehr viel diskutiert und geschrieben, leider ist dadurch ein wenig die Übersicht verloren gegangen (auch ich habe dbzgl. etwas die Übersicht verloren) und es gab auch von einigen entsprechende (kurz gefasste) Anleitungen (auch auf YouTube) welche aber tw. mehr oder weniger kritische Fehler enthielten und nicht komplett waren. Daher habe ich mich dazu entschlossen, den Versuch zu starten, diese Anleitung hier zur verfassen.
Ich erhebe keinen Anspruch darauf, dass diese Anleitung alle Eventualitäten abdeckt (da gibt es bzgl. der 6490 sehr viele) und absolut korrekt ist. Wer Fehler erkennt, Hinweise- oder Verbesserungsvorschläge hat nur zu, s.h. dazu auch Beitrag #16.

Es gibt prinzipiell (je nach derzeit installierter Firmware-Version und Branding) evtl. mehrere Möglichkeiten die aktuelle Retail-Firmware zu installieren. Seitdem allerdings bekannt ist, dass man die Partitionen im eMMC-Speicher der 6490 auch über den Bootloader (EVA) direkt beschreiben kann, hat sich diese Methode imo praktisch durchgesetzt da sie in den allermeisten Fällen funktioniert, unabhängig von der derzeit installierten Firmware-Version oder dem aktuellen Branding. Daher konzentriere ich mich in dieser Anleitung auf diese Methode. Die anderen Methoden sollen aber nicht ganz unerwähnt bleiben.


Diese Anleitung richtet sich nicht an (blutige) Anfänger, man sollte die Befehle die man auf dem CLI eingibt (und auch die Ausgaben) schon verstehen/nachvollziehen können. Kann man das nicht empfehle ich dringend die Finger von dieser Anleitung zu lassen!



Quellen bzw. mein Dank für die gute (Vor)-Arbeit geht u.a. an:
  • PeterPawn (s.h. u.a. IPPF und sein GitHub-Repository)
  • fesc/fesc2000 (s.h. IPPF und sein Bitbucket-Repository)
  • f666 (für seine Bestrebungen Freetz auch für die 6490 tauglich zu machen, s.h. IPPF)
  • mik710 (für die imho erste öffentliche Erwähnung der in #12 beschriebenen Methode, s.h. IPPF)
  • Pokemon20021 (u.a. für die Zusammenfassung der Artikel-Nr. der verschiedenen Varianten, s.h. IPPF)
  • und weitere...
Sammlung xDSL-Modem/Router/IADs | FRITZ!Box Branding ändern | FRITZ!Box 6490 De-Branding und Updaten | FRITZ!Box HW-Liste

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Inhaltsverzeichnis

#2 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:10

  1. Beitrag #1: Vorwort
  2. Beitrag #2: Inhaltsverzeichnis
  3. Beitrag #3: Varianten der FRITZ!Box 6490 (Artikel-Nr.)
  4. Beitrag #4: Support-Daten erstellen
  5. Beitrag #5: Auf neues CM-Zertifikat überprüfen
  6. Beitrag #6: Reserviert
  7. Beitrag #7: Voraussetzungen und Hinweise
  8. Beitrag #8: Erläuterung Dual-Boot System
  9. Beitrag #9: 1. Schritt: Retail-Firmware FRITZ!OS >=6.60 herunterladen
  10. Beitrag #10: 2. Schritt: Bootloader (EVA) per FTP erreichen
  11. Beitrag #11: 3. Schritt: Branding-Variable und aktives Partitionsset auslesen und ändern
  12. Beitrag #12: 4. Schritt: Retail-Firmware in den Flashspeicher per EVA hochladen
  13. Beitrag #13: Nacharbeit
  14. Beitrag #14: Alternative Methoden (nur Erwähnung, keine Beschreibung)
  15. Beitrag #15: Reserviert
  16. Beitrag #16: Hinweis für Ergänzungs- und Korrekturvorschläge
  17. Beitrag #17: To-Do/Changelog

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Varianten der FRITZ!Box 6490 (Artikel-Nr.)

#3 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:12

  • Artikel-Nr.: 2000 2657 - FRITZ!Box Cable 6490 International
    Branding-Variable 'firmware_version' könnte z.B. "avme" lauten
  • Artikel-Nr.: 2000 2689 - Unitymedia Edition (weiß)
    Branding-Variable 'firmware_version' könnte z.B. "lgi" lauten
  • Artikel-Nr.: 2000 2691 - KDG/Vodafone HomeBox 3
    Branding-Variable 'firmware_version' könnte z.B. "kdg" lauten
  • Artikel-Nr.: 2000 2704 - Wilhelm.tel Edition
  • Artikel-Nr.: 2000 2778 - Retail-Box ("freie" Handelsversion)
    Branding-Variable 'firmware_version' lautet "avm"

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Support-Daten erstellen

#4 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:12

Support-Daten erstellen:
https://avm.de/service/fritzbox/fritzbo ... erstellen/


Alternativ:
FRITZ!Box Web-Interface -> Inhalt (unten) -> FRITZ!Box Support (unten) -> Support-Daten erstellen


Seit FRITZ!OS-Version 6.50 (?) gibt es zusätzlich auch die Option "Erweiterte Support-Daten für die besondere Analyse erstellen", diese kann genutzt werden wenn man auch den Inhalt des TFFS sichern möchte (darin ist allerdings nicht, wie ursprünglich hier beschrieben, das neue "Download CM-Zertifikat" abgespeichert falls es sich um ein älteres Modell handelt wo dieses noch nachträglich per Update aktualisiert wurde). Falls also aufgrund der aktuell installierten Firmware-Version der 6490 die Möglichkeit besteht "Erweiterte Support-Daten" zu erstellen so kann das auch genutzt werden um ein Backup vom Inhalt des TFFS zu erstellen.

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Auf neues CM-Zertifikat überprüfen

#5 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:13

Das ursprüngliche Herstellerzertifikat, welches AVM für die FRITZ!Box Cable Modelle verwendete, ist nicht mehr gültig. Ältere Modelle der 6490 (vermutlich vor 2015 hergestellt) haben im Bootloader noch das alte Zertifikat gespeichert. Durch ein Firmware-Update ausgelöst konnte für diese FRITZ!Box-Modelle über einen speziellen Update-Server ein neues CM-Zertifikat angefordert werden welches dann im Flash-Speicher der 6490 abgespeichert wurde. Der Dienst dieses speziellen Zertifikat Update-Service wurde allerdings nach bisherigen Erkenntnissen mittlerweile eingestellt, d.h. FRITZ!Boxen die nur ein altes CM-Zertifikat besitzen erhalten nun kein neues mehr (weiteres dazu s.h. z.B. >hier<)!

Wer also eine alte FRITZ!Box 6490 (z.B. Mitte 2014 hergestellt) hat, welche z.B. schon seit mehr als einem Jahr nicht mehr genutzt wurde (und somit auch keine Updates mehr erhalten hat), so besitzt diese eventuell nur das alte CM-Zertifikat. Ohne ein neues CM-Zertifikat kann aber die FRITZ!Box nicht mehr als Kabel-Modem/Router eingesetzt werden, früher oder später wird vermutlich jeder Kabelnetzprovider das alte CM-Zertifikat nicht mehr akzeptieren!


Der Hintergrund weshalb das alte CM-Zertifikat nicht mehr gültig ist:
https://heise.de/-3463752


Ein weiteres Problem besteht, wenn es sich um ein älteres FRITZ!Box-Modell handelt welches damals per Update-Service ein neues "Download-Zertifikat" erhalten hat. Das neue Download-Zertifikat wird nicht im Bootloader abgespeichert und bei FRITZ!OS-Versionen (vermutlich) bis 6.50 wurde beim Laden der Werkseinstellungen auch das neue "Download CM-Zertifikat" im Flash-Speicher der 6490 gelöscht! Daher sollte man, solange noch eine ältere FRITZ!OS-Version läuft (Ver. <6.60), die FRITZ!Box nicht auf Werkseinstellungen zurücksetzen, das könnte ein evtl. vorhandenes "Download CM-Zertifikat" im Flash-Speicher löschen und da der Update-Service eingestellt wurde lässt sich das nicht mehr wiederherstellen!

Das Problem besteht nicht bei Modellen die schon bei Auslieferung das neue Zertifikat im Bootloader gespeichert haben (Herstellungsdatum vermutlich ab ca. Mitte 2015, aber da bin ich mir nicht sicher).



CM-Zertifikatsstatus überprüfen (das funktioniert m.W.n. allerdings erst ab FRIT!OS >=6.30)
  1. FRITZ!Box WebInterface (z.B. per http://fritz.box) aufrufen (und einloggen)
  2. Support-Daten erstellen (siehe Beitrag #4)
  3. Die Support-Datei (eine Textdatei) z.B. per WordPad (Windows) oder einem Texteditor öffnen der mit *nix-Zeilenenden umgehen kann (LF)
  4. In dieser Datei nach dem Abschnitt "end of DOCSIS SUPPORT" (ohne Anführungszeichen) suchen, darunter sollte folgendes zu finden sein:

    Code: Alles auswählen

    CM certificate: new/new
    MFG certificate: new/new
    Wenn beides auf "new/new" steht ist ein aktuelles CM-Zertifikat installiert. Ist das nicht der Fall steht dort "old/old".

Hinweise
  • Je nach Firmware-Version (vermutlich <6.30) kann auch beim vorhandensein eines neuen CM-Zertifikates in den Support-Daten old/old stehen. Ist also aktuell eine ältere FRITZ!OS-Version als 6.30 installiert funktioniert diese Methode (vermutlich) nicht.
  • Es gibt nach aktuellem Erkenntnisstand keine Möglichkeit mehr auf eine FRITZ!Box 6490 mit veralteten CM-Zertifikaten die neuen Zertifikate zu laden. Eine 6490 mit altem CM-Zertifikat ist somit praktisch nicht mehr als Kabel-Modem/Router zu gebrauchen. Als DVB-C>IP "Wandler" oder beispielsweise als WLAN-AP könnte sie allerdings noch verwendet werden.
  • Wer trotz fehlendem neuen CM-Zertifikat eine Retail-Firmware einsetzt wird evtl. beim Firmware-Update per Webinterface mit einer Fehlermeldung konfrontiert, s.h. dazu der Hinweis am Ende von Beitrag #8 mit Details dazu!

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Reserviert

#6 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:13

6. Teil (reserviert)

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Voraussetzungen und Hinweise

#7 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:14

Allgemeine Hinweise
  1. Bevor man beginnt (mindestens) die Support-Daten für die betreffende FRITZ!Box erstellen und abspeichern (s.h. dazu Beitrag #4) und (bei Bedarf) die bestehende Konfiguration (mit Passwort) sichern (die Telefonbücher können bei Bedarf auch separat gesichert werden).
  2. Bei den CLI- und FTP-Befehlen ist die Groß-/Kleinschreibung zu beachten.
  3. Man sollte kein (blutiger) Anfänger bzgl. der Kommandozeile sein.

Wenn man nur die Branding-Variable ändern möchte (in der Hoffnung z.B. den Funktionsumfang der bereits installierten Firmware zu erweitern) kann den 1. Schritt (Beitrag #9) überspringen und ist mit dem 3. Schritt (Beitrag #11) fertig. Allerdings ist dennoch folgendes zu beachten:
  • Nicht alle Versionen der auf der FRITZ!Box 6490 eingesetzten Firmware-Varianten/Versionen unterstützen den Wert "avm" bei der Brandingvariable "firmware_version", das betrifft insbesondere die Modelle von KDG/Vodafone ab Firmware-Ver. 6.30! Auch die Firmware einer internationalen Variante (sofern eine solche Variante in Kombination mit "avme" überhaupt existiert) wird vermutlich nur mit dem Wert "avme" funktionieren und nicht mit "avm".
  • Wird bei diesen Modellen dennoch die Variable "firmware_version" auf "avm" gesetzt startet die Box nicht mehr (Bootloop)! Das kann rückgängig gemacht werden indem per Bootlader (EVA) wieder der ursprüngliche Wert der Variable "firmware_version" eingestellt wird (der Bootloader ist auch weiterhin erreichbar auch wenn sich die Box in einem Bootloop befindet).



Folgende Hinweise sind zu beachten wenn man anschließend die Retail-Firmware flashen möchte (4. Schritt, s.h. Beitrag #12):
  • Die 6490 darf bzw. kann nach dem De-Branding mit der Retail-Firmware eventuell/höchstwahrscheinlich nicht mehr an einem Anschluss des Kabelnetzbetreiber betrieben werden von dem die FRITZ!Box ursprünglich stammt (s.h. auch Vorwort).
    Beispiele:
    • Eine HomeBox 3 (6490) von KDG/Vodafone kann anschließend nicht mehr an einem KDG/Vodafone Kabel-Anschluss als Kabel-Modem/Router betrieben werden (weder am eigenen noch an anderen)! Allerdings kann sie anschließend z.B. an einem Unitymedia- oder PŸUR-Anschluss betrieben werden.
    • Eine 6490 vom Anbieter Unitymedia kann anschließend nicht mehr an einem Unitymedia-Anschluss betrieben werden (weder am eigenen noch an anderen)! Allerdings z.B. an einem Vodafone-Kabel oder PŸUR-Anschluss
    Für einem Unitymedia-Anschluss sollte man also zum Beispiel eine 6490 vom Anbieter KDG/Vodafone verwenden (oder eine Wilhelm.tel-Edition oder auch die internationale Variante) bzw. vice versa. Oder natürlich eine freie aus dem Handel mit der Artikel-Nr. 2000 2778. Für die entsprechenden Artikel-Nr. s.h. Beitrag #3
  • Die Retail-Firmware besitzt gegenüber den bekannten (deutschen) Provider-Versionen keine E-MTA (Media Terminal Adapter) Funktionalität welche einige Kabelnetz-Provider im Rahmen von EuroPacketCable 2.0 für die Telefonie-Funktion der eigenen Geräte verwendet (s.h. z.B. >dieser< Beitrag von PeterPawn).
  • Die FRITZ!Box sollte ein neues CM-Zertifikate besitzen sonst funktioniert sie voraussichtlich an keinem Kabelanschluss als Kabelmodem mehr. S.h. dazu Beitrag #5.



Hinweise und Voraussetzungen bei Verwendung der PowerShell unter Windows

Wer mit Windows und der dort in neueren Windows-Versionen verfügbaren (aktuellen) PowerShell arbeitet kann auch die PowerShell-Scripte "EVA-Discover.ps1" und "EVA-FTP-Client.ps1" aus dem GitHub-Repository von PeterPawn (>klick<) verwenden, unter Windows erleichtern diese die Arbeit durchaus enorm und kann somit diese Variante (unter Windows) als bevorzugten Weg empfehlen. Außerdem entfällt damit die Suche nach einem geeigneten FTP-Client bei Schritt 4 (Beitrag #12, Pkt. 3)! Bei den entsprechenden Schritten habe ich jeweils eine Variante/Methode mit den PowerShell-Scripten beschrieben (wenn sinnvoll).

Ich selbst habe das (bis auf das Hochladen der Firmware-Images in den Flashspeicher, 4. Schritt, Pkt. 4.2a-d) mit Windows 10 Pro x64 Ver. 1703 und der PowerShell Ver. 5.1.15063.674 getestet. Beim PowerShell-Script "EVA-Discover.ps1" handelte es sich um die Version vom 04.04.2017 20:25 MESZ und beim Script "EVA-FTP-Client.ps1" um die Version vom 15.05.2017 23:15 MESZ, jeweils aus dem GitHub-Repository von PeterPawn unter "YourFritz/eva_tools/".

Hinweise/Voraussetzungen:
  • Ich gehe in dieser Anleitung davon aus, dass die beiden PowerShell-Scripte im Ordner "C:\6490\" abgelegt sind welcher beim 4. Schritt (s.h. Beitrag #12, Pkt. 2) angelegt wird.
    Natürlich kann man diese auch an einer anderen (geeigneten) Stelle abspeichern, das ist nur als Beispiel gedacht.
  • Standardmäßig können (unsignierte) PowerShell-Scripte unter Windows nicht ausgeführt werden da die voreingestellte Ausführungsrichtlinie (Execution_Policies) dies i.d.R. verhindert (Standard Ausführungsrichtlinie bei vielen, nicht allen, Windows-Versionen: RESTRICTED):
    http://go.microsoft.com/fwlink/?LinkID=135170
    • Die aktuell eingestellte Ausführungsrichtlinie kann also z.B. durch Eingabe des folgenden Kommandos in der PowerShell überprüft werden:

      Code: Alles auswählen

      Get-ExecutionPolicy
      Das sieht dann z.B. so aus:

      Code: Alles auswählen

      PS C:\> Get-ExecutionPolicy
      Restricted
    • Vor dem Einsatz (unsignierter) PowerShell-Scripte muss als ggf. die Sicherheitsbeschränkung (temporär) aufgehoben werden:
      https://docs.microsoft.com/de-DE/powers ... tionpolicy
      Also z.B. die Ausführungsrichtlinie "UNRESTRICTED" (temporär) für den aktuellen Benutzer (die Power-Shell muss somit auch nicht "Als Administrator" ausgeführt werden) einstellen:

      Code: Alles auswählen

      Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
      Ergebnis:

      Code: Alles auswählen

      PS C:\> Get-ExecutionPolicy
      Restricted
      PS C:\> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
      
      Ausführungsrichtlinie ändern
      Die Ausführungsrichtlinie trägt zum Schutz vor nicht vertrauenswürdigen Skripts bei. Wenn Sie die
      Ausführungsrichtlinie ändern, sind Sie möglicherweise den im Hilfethema "about_Execution_Policies"
      unter "http://go.microsoft.com/fwlink/?LinkID=135170" beschriebenen Sicherheitsrisiken ausgesetzt.
      Möchten Sie die Ausführungsrichtlinie ändern?
      [J] Ja  [A] Ja, alle  [N] Nein  [K] Nein, keine  [H] Anhalten  [?] Hilfe (Standard ist "N"): j
      PS C:\> Get-ExecutionPolicy
      Unrestricted
      PS C:\> Get-ExecutionPolicy -List
      
              Scope ExecutionPolicy
              ----- ---------------
      MachinePolicy       Undefined
         UserPolicy       Undefined
            Process       Undefined
        CurrentUser    Unrestricted
       LocalMachine       Undefined
      
      PS C:\> 
  • Für den der nicht regelmäßig mit PowerShell-Scripten arbeitet empfehle ich eindringlich anschließend wieder die ursprüngliche Ausführungsrichtlinien (z.B. Ausführungsrichtlinie = RESTRICTED) wiederherzustellen!

    Code: Alles auswählen

    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Restricted

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Erläuterung Dual-Boot System der FRITZ!Box

#8 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:14

Bei der FRITZ!Box 6490 Cable handelt es sich um eine FRITZ!Box mit 2 unabhängigen Partitionsset für die Firmware, Partitionsset 0 und 1 (gesteuert über die Variable "linux_fs_start" im Bootloader-Envirobnment). Im Auslieferungszustand ist i.d.R. nur im 1. Partitionsset (Variable "linux_fs_start" nicht vorhanden oder Wert der Variable =0) eine Firmware vorhanden, das 2. Partitionsset (Wert der Variable "linux_fs_start" =1) ist (noch) leer.

Bei einem (normalen) Firmwareupdate (z.B. per Webinterface) wird die Firmware immer im anderen (nicht aktiven) Partitionsset installiert! Erst wenn der Flashvorgang erfolgreich abgeschlossen ist wird am Ende des Updatevorgang die Variable "linux_fs_start" auf den alternativen Wert (0 -> 1 oder 1 -> 0) geändert, beim nächsten Start der Box wird dann das andere Partitionsset verwendet.


Wenn wir also als Beispiel den o.g. Auslieferungszustand nehmen (2. Partitionsset noch leer) dann wird das 2. Partitionsset erst bei einem Firmwareupdate beschrieben und aktiviert, also angenommen die FRITZ!Box wurde mit FRITZ!OS 6.61 im 1. Partitionsset ausgeliefert und es erfolgt ein Update auf FRITZ!OS 6.62 dann bleibt die alte Ver. (6.61) im 1. Partitionsset und im 2. Partitionsset (nun aktiven) ist die neue Firmware (6.62).
Beim nächsten Firmwareupdate von FRITZ!OS 6.62 aus (z.B. Update auf FRITZ!OS 6.63) wird aber nun wieder das 1. Partitionsset verwendet und somit die erste FRITZ!OS-Version dort (6.61) überschrieben und anschließend auch das 1. Partitionsset wieder aktiviert (linux_fs_start=0). Und so geht das im Wechsel immer weiter, die jeweils vorherige FRITZ!OS-Version ist im jeweils anderen Partitionsset noch vorhanden, mal ist das 1. Partitionset aktiv (linux_fs_start=0) und nach dem nächsten Update wieder das 2. Partitionsset (linux_fs_start=1). Die Partitionssets werden also abwechselnd benutzt.


Das hat (mindestens) 2 große Vorteile:
  1. Geht bei einem Update- bzw. Flashvorgang etwas schief (z.B. Stromausfall) dann wird nicht die aktuell laufende Firmware überschrieben sondern die nicht aktive im anderen Partitionsset (erst am Ende des Updatevorgang wird das inaktive Partitionsset aktiv gesetzt).
  2. Man kann in einem Partitionsset eine Firmwareversion ausprobieren ohne die funktionierende Firmware im anderen Partitionsset zu überschreiben. Man kann nur durch Umstellen einer Variable wieder die andere/vorhergehende Firmwareversion verwenden.

Von PeterPawn gibt es zu diesem Thema in seinem GitHub-Repository eine ausführliche Beschreibung:
https://github.com/PeterPawn/modfs/blob ... ECTION.ger



Hinweis

Bei der 6490 gibt es (zumindest bei bestimmten FRITZ!OS-Versionen, m.W.n. betrifft das bei den Retail-Versionen die Vers. 6.6x aber nicht mehr die Vers. >=6.8x) dazu etwas zu beachten. Handelt es sich um eine FRITZ!Box 6490 welche kein aktuelles CM-Zertifikat besitzt (s.h. dazu Beitrag #5) dann wird bei einem Firmwareupdate per Webinterface das Update zwar ausgeführt (der Flashvorgang im alternativen Partitionsset) aber anschließend nicht das Partitionsset mit der neuen Firmware aktiviert! Die Updateroutine erkennt, dass ein aktuelles CM-Zertifikat fehlt und verweigert daher die Aktivierung des derzeit inaktiven Partitionsset, der Updatevorgang wird mit folgender oder ähnlicher Fehlermeldung abgebrochen bzw. beendet:

"Es trat ein nicht näher spezifizierter Fehler während des Updates auf. (106)"

Man kann aber dennoch die neu installierte Firmware-Version im alternativen Partitionsset nutzen da der Flashvorgang (vermutlich) abgeschlossen wurde, man muss lediglich die Variable "linux_fs_start" selbst ändern (z.B. über den Bootloader). Dazu kann man auch den mitgelieferten FTP-Client von Windows verwenden und benötigt keinen der den Passive-Mode unterstützt. Das löst allerdings nicht das Problem des fehlenden neuen CM-Zertifikat, dafür gibt es m.W.n. keine Lösung (mehr).

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

1. Schritt: Retail-Firmware >= FRITZ!OS 6.6x herunterladen

#9 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:15

Hier habe ich mal eine Linkssammlung der bisher über den Server von AVM erhältlichen Firmware-Images für die Cable-Modelle welche keine FTP-Zugangsdaten benötigen (Stand: 29.09.2018):

Links_Firmware_Imagefiles_6360.txt
Links_Firmware_Imagefiles_6430.txt
Links_Firmware_Imagefiles_6490.txt
Links_Firmware_Imagefiles_6590.txt

Download-URLs für aktuelle Versionen können z.B. mit den Tools juis_check oder juischeckupdate aus dem YourFritz-Repository von PeterPawn abgefragt werden.

Welche Version der Retail-Firmware man verwendet ist für diese Anleitung eigentlich unerheblich, ich empfehle die Verwendung der jeweils aktuellen Version (derzeit FRITZ!OS 7.00 für die 6490).



Hinweis

Zu beachten ist, dass es mit der Retail-Firmware FRITZ!OS 6.8x größere Änderungen an der Firmware gab, viele Aufgaben werden seit Ver. 6.8x auf dem Atom-Core (x86) der 6490 ausgeführt (was die Geschwindigkeit der FRITZ!Box in vielen Punkten spürbar beschleunigt). Sollte es aus irgendwelchen Gründen Probleme geben bei einem direkten Wechsel von der bisherigen Firmware-Version auf >=FRITZ!OS 6.8x (z.B. Bootloop) dann kann man es auch mal mit einer älteren FRITZ!OS 6.6x Version probieren. Wenn diese Version funktioniert damit die Werkseinstellungen laden und dann erst ein Update auf eine aktuelle Version durchführen.

Dieses Update kann dann per WebIf durchgeführt werden und muss nicht mit der im 4. Schritt (Beitrag #12) gezeigten Variante aufgespielt werden. Allerdings wird dabei (Firmware-Update per WebIf) das andere Partitionsset überschrieben in welchem noch die alte (Provider)-Firmware gespeichert ist. Möchte man diese (vorübergehend) noch behalten (um bei Problemen darauf wieder wechseln zu können) dann kann man die aktuelle Release-Version mit der in Beitrag #12 gezeigten Methode aufspielen dabei aber das aktive Partitionsset verwenden (mtd0, mtd1, mtd6 und mtd7 anstatt mtd11, mtd12, mtd13 und mtd14), damit wird die aktuell laufende Firmware-Version überschrieben.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

2. Schritt: Bootloader (EVA) per FTP erreichen

#10 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:17

Beide Schritte (Ändern der Brandingvariable und Hochladen der Retail-Firmware) werden bei dieser Anleitung über den Bootloader (EVA) der FRITZ!Box ausgeführt, dieser ist nur kurz nach dem Einschalten der FRITZ!Box erreichbar und muss in diesem Zeitraum "angehalten" werden. Der Bootloader ist auch unabhängig von der derzeit installierten FRITZ!OS-Version, falls also (warum auch immer) die FRITZ!Box in einer Bootschleife hängt (also nicht mehr korrekt startet) so steht weiterhin der Bootloader zur Verfügung über den die Box evtl. wieder "gerettet" werden kann. Es ist also wichtig, dass man sich mit der bzw. einer Methode vertraut macht wie man auf den Bootloader (z.B. per FTP-Client) zugreifen kann.



Vorbereitung

Prinzipiell gibt es mehrere Möglichkeiten den Bootloader zu erreichen. Man verbindet als allererstes einen LAN-Port der FRITZ!Box per Patch-Kabel mit dem LAN-Port des verwendeten PC/Notebook. Da der Bootloader und somit auch die LAN-Ports der FRITZ!Box nur kurz (ca. für 5s) nach dem Einschalten der FRITZ!Box aktiviert sind, kann es passieren, dass der PC/Notebook z.B. aufgrund des MediaSensing oder "Trägheit" des LAN-Ports des PC/Notebook nicht rechtzeitig Kenntnis davon nimmt, dass der LAN-Port der FRITZ!Box eingeschaltet ist. In solchen Fällen hilft z.B. der Einsatz eines einfachen Ethernet-Switches den man zwischen PC/Notebook und FRITZ!Box anschließt (also PC/Notebook <Patchkabel> Switch <Patchkabel> FRITZ!Box).

Zu beachten ist außerdem, dass der Bootloader i.d.R. auf die IP-Adresse 192.168.178.1 hört und zwar unabhängig davon, welche IPv4-Einstellungen man bei der Konfiguration im WebIf der FRITZ!Box eingestellt hat! Der Bootloader hat dbzgl. seine eigene (Vor)-Einstellung welche nicht über das WebIf der FRITZ!Box bzgl. IPv4-Einstellungen geändert werden kann!
Die IPv4-Einstellung/Adresse des Bootloader ist in der Variable "my_ipaddress" abgelegt, diese kann also z.B. auch über die Support-Daten ausgelesen werden (falls diese Einstellung z.B. mal geändert wurde, m.W.n. macht das z.B. das ruKernelTool gerne, warum auch immer).
Ich gehe davon aus, dass der Bootloader auf die IP-Adresse 192.168.178.1 reagiert. Ist dieser (siehe Support-Daten) evtl. auf eine andere IP-Adresse eingestellt sind die IP-Einstellungen und Kommandozeilen Befehle entsprechend anzupassen.

Es bietet sich also an oder ist je nach verwendeter Methode erforderlich, die IPv4-Einstellungen der verwendeten LAN-Schnittstelle des PC/Notebook (manuell, kein DHCP) entsprechend dem Bootloader einzustellen. Wenn also der Bootloader über 192.168.178.1 erreichbar ist dann bekommt der PC/Laptop eine:
  • IPv4-Adresse zwischen 192.168.178.2-254,
  • als Subnetzmaske bietet sich 255.255.255.0 an und
  • als Gateway kann 192.168.178.1 eingetragen werden (darauf kann auch verzichtet werden wenn man z.B. in den erweiterten Einstellungen dieses Subnetz zusätzlich anlegt).
Ein DNS-Server muss nicht angegeben werden bei den IPv4-Einstellungen.

Eine aktive (Personal)-Firewall sollte den Zugriff erlauben bzw. bei Problemen ersatzweise (vorübergehend) deaktiviert werden.



1. Methode (die manuelle Variante, unabhängig vom Betriebssystem)

Prinzipiell funktioniert das mit jedem Betriebssystem (Windows, MacOS, Linux-Distribution usw.) welches einen Kommandozeilen FTP-Client mitbringt.
  1. Man starte ein Kommandozeilen-Terminal (z.B. "Eingabeaufforderung" bei Windows).
  2. Man gebe in die Kommandozeile folgenden Befehl ein aber drückt noch nicht ENTER:

    Code: Alles auswählen

    ftp 192.168.178.1

  3. Nun verbindet man die FRITZ!Box mit dem Stecker-Netzteil, nach ca. 2-4s ist der Bootloader erreichbar (man erkennt es daran, dass die Ethernet-Verbindung aktiv ist). Nun hat man (bis zu) 5s Zeit den schon eingegebenen Befehl auszuführen (Enter drücken).
  4. In Verbindung mit dem richtigen Timing sieht das ganze so aus:

    Code: Alles auswählen

    Verbindung mit 192.168.178.1 wurde hergestellt.
    220 ADAM2 FTP Server ready
    530 not logged in
    Benutzer (192.168.178.1:(none)): 
    Steht dort nicht "ADAM2 FTP Server ready" dann hat man nicht den Bootloader der FRITZ!Box erreicht sondern (irgendeinen) anderen FTP-Server, dann braucht man also nicht weiter fortzufahren!
  5. Mit der Zeile "Benutzer (192.168.178.1:(none)):" fragt der Bootloader nach dem Benutzername, der lautet "adam2" (ohne Anführungszeichen), das ist auch gleich das Passwort was im nächsten Schritt abgefragt wird.
  6. Ist Benutzername und Passwort eingegeben (und wurden akzeptiert) sieht das nun so aus:

    Code: Alles auswählen

    Verbindung mit 192.168.178.1 wurde hergestellt.
    220 ADAM2 FTP Server ready
    530 not logged in
    Benutzer (192.168.178.1:(none)): adam2
    331 Password required for adam2
    Kennwort:
    230 User adam2 successfully logged in
    ftp> 
    Nun ist man also mit dem Bootloader verbunden und kann entsprechende Aktionen durchführen. Mit dem Befehl "bye" (ohne Anführungszeichen) kann die Verbindung beendet werden ohne die FRITZ!Box zu rebooten, der Bootloader steht also weiterhin zur Verfügung. Neustart dann indem man die Stromversorgung der FRITZ!Box kurz trennt oder man führt den Reboot durch indem man vor dem beenden der FTP-Verbindung mit "bye" den Befehl "quote REBOOT" (ohne Anführungszeichen) ausführt.


2. Methode (für *nix und MacOS X Systeme, mit Shell-Script)

Eine weitere Methode ist der Einsatz des Tools "eva_discover" aus dem YourFritz-Repository von PeterPawn:
https://github.com/PeterPawn/YourFritz/ ... a_discover

Das bietet sich z.B. unter Linux-Systemen an wenn man Probleme mit dem richtigen Timing hat und die 3. Methode mangels Windows nicht verwenden möchte.



3. Methode (für Windows-Systeme, mit AVM Wiederherstellungstool)

Das bietet sich an wenn man bei der 1. Methode Probleme mit dem richtigen Timing hat.

Das Wiederherstellungstool von AVM (aka Recovery) bedient sich der gleichen Methode, es spricht den Bootloader (EVA) der FRITZ!Box kurz nach dem einschalten (Stromzufuhr) der FRITZ!Box an, daher ist auch das Wiederherstellungstool von AVM unabhängig davon wie die aktuelle Konfiguration einer FRITZ!Box aussieht oder welche Firmware-Version darauf installiert ist (wobei es für die 6490 bis jetzt seitens AVM kein offizielles Wiederherstellungstool gibt).

Das kann man sich aber zunutze machen, das Wiederherstellungstool von AVM überprüft vor dem übertragen der Firmware ob das verwendete Wiederherstellungstool überhaupt zur angeschlossenen FRITZ!Box passt, dazu muss es sich aber mit dem Bootloader verbinden um das zu überprüfen. Es gibt dann zwar eine Fehlermeldung aus, dass das Wiederherstellungstool nicht zur angeschlossenen FRITZ!Box passt, aber das Tool hat den Bootloader der FRITZ!Box dennoch erst einmal angehalten und somit hat man nun alle Zeit der Welt z.B. mit einem FTP-Client auf den Bootloader der FRITZ!Box zuzugreifen.

Man kann also zum Beispiel ein (beliebiges) Wiederherstellungstool der FRITZ!Box 7490 verwenden um den Bootloader der 6490 anzuhalten:
https://download.avm.de/fritz.box/fritz ... c/deutsch/



4. Methode (für Windows-Systeme, mit PowerShell-Script)

Diese Methode bietet sich ebenfalls unter Windows an wenn man bei der 1. Methode Probleme mit dem richtigen Timing hat und/oder die PowerShell verwendet.
Wie schon in Beitrag #4 (Voraussetzungen und Hinweise) erwähnt gehe ich in diesem Beispiel davon aus, dass sich das PowerShell-Script "EVA-Discover.ps1" von PeterPawn unter "C:\6490\" befindet.
  1. Man startet die PowerShell (Voraussetzungen s.h. Beitrag #4)
  2. Mit folgendem Kommando wechseln wir in den Ordner mit dem PowerShell-Script:

    Code: Alles auswählen

    cd c:\6490\
    Ergebnis:

    Code: Alles auswählen

    Windows PowerShell
    Copyright (C) 2016 Microsoft Corporation. Alle Rechte vorbehalten.
    
    PS C:\Users\MaxMuster> cd c:\6490\
    PS C:\6490>
  3. Nun beginnt man zum Beispiel mit folgendem Befehl die Suche nach dem Bootloader der FRITZ!Box:

    Code: Alles auswählen

    .\EVA-Discover.ps1 -maxWait 120 -Debug -Verbose
  4. Innerhalb der eingestellten Wartezeit (120s / 2 Minuten) verbindet man nun die FRITZ!Box mit dem Stecker-Netzteil, nach einer Weile sollte die Box gefunden werden:

    Code: Alles auswählen

    PS C:\6490> .\EVA-Discover.ps1 -maxWait 120 -Debug -Verbose
    AUSFÜHRLICH: Sending discovery packet (1) ...
    AUSFÜHRLICH: Sending discovery packet (2) ...
    AUSFÜHRLICH: Sending discovery packet (3) ...
    AUSFÜHRLICH: Sending discovery packet (4) ...
    AUSFÜHRLICH: Sending discovery packet (5) ...
    AUSFÜHRLICH: Sending discovery packet (6) ...
    AUSFÜHRLICH: Sending discovery packet (7) ...
    AUSFÜHRLICH: Sending discovery packet (8) ...
    AUSFÜHRLICH: Sending discovery packet (9) ...
    AUSFÜHRLICH: Sending discovery packet (10) ...
    AUSFÜHRLICH: Sending discovery packet (11) ...
    AUSFÜHRLICH: Sending discovery packet (12) ...
    DEBUG: Received UDP packet from 192.168.178.1:5035 ...
    AUSFÜHRLICH: Trying to connect to the FTP port to hold up the device in bootloader ...
    DEBUG: Error during FTP connection attempt ...
    EVA_IP=192.168.178.1
    True
    PS C:\6490\PowerShell> 
  5. Nun ist der Bootloader der FRITZ!Box angehalten und hat somit alle Zeit der Welt z.B. mit einem FTP-Client oder auch mit dem PowerShell-Script "EVA-FTP-Client.ps1" auf den Bootloader der FRITZ!Box zuzugreifen.



Vorteil der 2., 3. und 4. Methode ist, dass man kein Timing berücksichtigen muss, sowohl das Script eva_discover, das Wiederherstellungstool von AVM als auch das PowerShell-Script EVA-Discover.ps1 "suchen" permanent nach dem Bootloader bis sie ihn erreichen können.

Nach Anwendung der 2., 3. oder 4. Methode (oder nachdem man die Verbindung zum Bootloader per "bye" verlassen hat ohne vorheriges "quote REBOOT") kann man z.B. mit einem FTP-Client, so wie in Methode 1 gezeigt, auf den Bootloader zugreifen (also z.B. per "ftp 192.168.178.1", Benutzername und Passwort s.h. Methode 1), nur, dass man nun keinen "Zeitdruck" mehr dabei hat oder ein Timing berücksichtigen muss (man kann also bei Pkt. 2 der 1. Methode gleich Enter drücken und Pkt. 3 überspringen).

BTW:
Ich persönlich bevorzuge übrigens nc anstatt ftp (unter Linux), damit entfällt dann das "quote" vor jedem Befehl. Für Windows-Nutzer empfehle ich die Variante mit dem PowerShell-Script von PeterPawn.



Die verschiedenen Methoden den Bootloader zu erreichen und noch mehr Hintergründe dazu sind auch sehr umfangreich in der Anleitung BOOTSELECTION.ger von PeterPawn beschrieben:
https://github.com/PeterPawn/modfs/blob ... ECTION.ger

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

3. Schritt: Branding-Variable auslesen und ändern (sowie aktives Partitionsset auslesen)

#11 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:18

Mein "goldener Grundsatz" bei Änderungen von Environment-Variablen per EVA lautet: Vor jedem SETENV ein GETENV!
Das bedeutet, vor jeder Änderung mit SETENV wird erst einmal mit GETENV der vorhandene Wert der jeweiligen Variable ausgelesen, damit man bei Problemen diesen wiederherstellen kann.



1. Variante (per FTP-Client, unabhängig vom Betriebssystem)

  1. Mit dem Bootloader per FTP-Client verbinden (s.h. 2. Schritt - Beitrag #10, 1. Methode).
  2. Auslesen der Brandingvariable "firmware_version" per GETENV:

    Code: Alles auswählen

    quote GETENV firmware_version
    Das Ergebnis sieht dann z.B. so aus:

    Code: Alles auswählen

    Verbindung mit 192.168.178.1 wurde hergestellt.
    220 ADAM2 FTP Server ready
    530 not logged in
    Benutzer (192.168.178.1:(none)): adam2
    331 Password required for adam2
    Kennwort:
    230 User adam2 successfully logged in
    ftp> quote GETENV firmware_version
    firmware_version      kdg
    
    200 GETENV command successful
    ftp> 
    Den Wert von firmware_version (hier im Beispiel "kdg") merken/speichern. Dieser Wert ist auch in den Support-Daten zu finden.
  3. Auslesen des aktiven Partitionsset (Variable "linux_fs_start") per GETENV (nur wichtig wenn man die Release-Firmware aufspielen möchte, ansonsten kann der Pkt. übersprungen werden):

    Code: Alles auswählen

    quote GETENV linux_fs_start
    Das Ergebnis sieht dann z.B. so aus:

    Code: Alles auswählen

    ftp> quote GETENV linux_fs_start
    linux_fs_start        1
    
    200 GETENV command successful
    ftp> 
    Den Wert von linux_fs_start (hier im Beispiel "1") merken/speichern denn dieser Wert wird später noch benötigt. Dieser Wert ist auch in den Support-Daten zu finden.
  4. Nun ändern wir die Variable firmware_version auf "avm" um das "De-Branding" durchzuführen:

    Code: Alles auswählen

    quote SETENV firmware_version avm
    Das Ergebnis sieht dann z.B. so aus:

    Code: Alles auswählen

    ftp> quote SETENV firmware_version avm
    200 SETENV command successful
    ftp> 


Wer bisher den FTP-Client von Windows benutzt hat und anschließend noch die Retail-Firmware installieren möchte kann nun per erst einmal die FTP-Verbindung beenden:

Code: Alles auswählen

ftp> bye
221 Thank you for using the FTP service on ADAM2
Die Box bleibt aber weiterhin im Bootloader angehalten (wird also noch nicht neu gestartet) denn für den nächsten Schritt benötigen wir den noch einmal. Da der Windows FTP-Client allerdings keinen Passive-Mode unterstützt benötigt man einen anderen/geeigneten FTP-Client für den nächsten Schritt.

Wer nur die Branding-Variable (oder eine andere Variable) ändern wollte kann allerdings vor dem schließen der Verbindung mit "bye" auch einen Reboot der FRITZ!Box veranlassen mit dem Befehl "quote REBOOT" und ist anschließend fertig:

Code: Alles auswählen

ftp> quote REBOOT
221 Thank you for using the FTP service on ADAM2
221 Goodbye.
Connection closed by remote host.
ftp> bye



2. Variante (per PowerShell-Script, für Windows-Systeme)

Diese Methode bietet sich unter Windows an wenn man die PowerShell verwendet. Wie schon in Beitrag #4 (Voraussetzungen und Hinweise) erwähnt gehe ich in diesem Beispiel davon aus, dass sich das PowerShell-Script "EVA-FTP-Client.ps1" von PeterPawn unter "C:\6490\" befindet.
  1. Man startet die PowerShell (Voraussetzungen s.h. Beitrag #4), falls diese vom vorhergehenden Schritt nicht mehr offen sein sollte, und wechselt mit folgendem Kommando in den Ordner mit dem PowerShell-Script (falls nicht schon geschehen):

    Code: Alles auswählen

    cd c:\6490\
    Ergebnis:

    Code: Alles auswählen

    Windows PowerShell
    Copyright (C) 2016 Microsoft Corporation. Alle Rechte vorbehalten.
    
    PS C:\Users\MaxMuster> cd c:\6490\
    PS C:\6490>

  2. Auslesen der Brandingvariable "firmware_version" per folgendem Kommando:

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue firmware_version }
    Das Ergebnis sieht dann z.B. so aus:

    Code: Alles auswählen

    PS C:\6490> .\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue firmware_version }
    kdg
    PS C:\6490>
    Den Wert von firmware_version (hier im Beispiel "kdg") merken/speichern. Dieser Wert ist auch in den Support-Daten zu finden.
  3. Auslesen des aktiven Partitionsset (Variable "linux_fs_start") per folgendem Kommando (nur wichtig wenn man die Release-Firmware aufspielen möchte, ansonsten kann der Pkt. übersprungen werden):

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue linux_fs_start }
    Das Ergebnis sieht dann z.B. so aus:

    Code: Alles auswählen

    PS C:\6490> .\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue linux_fs_start }
    1
    PS C:\6490>
    Den Wert von linux_fs_start (hier im Beispiel "1") merken/speichern denn dieser Wert wird später noch benötigt wenn man die Änderung des Partitionsset manuell durchführt und nicht die Funktion "SwitchSystem" des Script "EVA-FTP-Client.ps1" verwendet. Dieser Wert ist auch in den Support-Daten zu finden.
  4. Nun ändern wir die Variable firmware_version auf "avm" um das "De-Branding" durchzuführen:

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -ScriptBlock { SetEnvironmentValue firmware_version avm }
    Das Ergebnis sieht dann z.B. so aus:

    Code: Alles auswählen

    PS C:\6490> .\EVA-FTP-Client.ps1 -ScriptBlock { SetEnvironmentValue firmware_version avm }
    True
    PS C:\6490>


Die PowerShell-Konsole kann für den 4.Schritt (Beitrag #12, Retail-Firmware in den Flashspeicher per EVA Hochladen) geöffnet bleiben, die Box bleibt dabei weiterhin im Bootloader angehalten (wird also noch nicht neu gestartet) denn für den nächsten Schritt benötigen wir den noch einmal.

Wer nur die Branding-Variable (oder eine andere Variable) ändern wollte kann allerdings nun den Reboot der FRITZ!Box per folgendem Befehl veranlassen und ist anschließend fertig:

Code: Alles auswählen

.\EVA-FTP-Client.ps1 -ScriptBlock { RebootTheDevice }
Ergebnis:

Code: Alles auswählen

PS C:\6490> .\EVA-FTP-Client.ps1 -ScriptBlock { RebootTheDevice }
True
PS C:\6490>

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

4. Schritt: Retail-Firmware in den Flashspeicher per EVA Hochladen

#12 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:19

Allgemeines

Wir erinnern uns an Beitrag #8 (Erläuterung Dual-Boot System der FRITZ!Box):
qwertz-asdfgh hat geschrieben:
26. Okt 2017 03:14
Das hat (mindestens) 2 große Vorteile:
  1. Geht beim Update- bzw. Flashvorgang etwas schief (z.B. Stromausfall) dann wird nicht die aktuell laufende Firmware überschrieben sondern die nicht aktive im anderen Partitionsset (erst am Ende des Updatevorgang wird das inaktive Partitionsset aktiv gesetzt).
  2. Man kann in einem Partitionsset eine Firmwareversion ausprobieren ohne die funktionierende Firmware im anderen Partitionsset zu überschreiben. Man kann nur durch Umstellen einer Variable wieder die andere/vorhergehende Firmwareversion verwenden.
Genau das machen wir uns auch zu nutze, wir installieren die Retail-Version in das aktuell nicht genutzte Partitionsset um die derzeit laufende Firmware-Version zu behalten (um im Notfall wieder auf diese zurückkehren zu können). Dazu müssen wir natürlich wissen, welches Partitionsset aktuell aktiv ist, daher wurde im 3. Schritt die Variable "linux_fs_start" ausgelesen. Ist der Wert dieser Variable aktuell z.B. 1 dann setzen wir diesen Wert am Ende (vor dem Reboot) auf 0 (und umgekehrt).

Zu beachten ist allerdings, dass jedes Partitionsset aus 4 Partitionen besteht (insgesamt gibt es also 8 Partitionen für die Firmware)!

Die FRITZ!Box 6490 verwendet einen SoC mit 2 (unabhängigen) Prozessoren (nicht mit einem DualCore-System zu verwechseln), einem ARM-Core und einem ATOM-Core (x86), für jeden dieser Prozessoren gibt es 2 Filesysteme, einmal für den Linux-Kernel und einmal für das Filesystem, macht insgesamt also 4 Partitionen pro Partitionsset die beschrieben werden müssen.



1. Partitionen aus Sicht des Bootloader (EVA)

Zu beachten ist, dass die Zuordnung nicht fest sondern von der Variable "linux_fs_start" abhängig ist, diese wird vom Bootloader beim Starten ausgewertet (Details s.h. u.a. >hier< von PeterPawn).

Code: Alles auswählen

mtd0	0x0,0x4000000		Filesystem ARM
mtd1	0x4000000,0x4800000	Kernel ARM
mtd2	0xa0000,0xc0000		Urlader
mtd3	0xc0000,0x100000	Environment
mtd4	0x100000,0x140000	Environment
mtd5	0x140000,0x1e0000	DOCSIS
mtd6	0x4800000,0x8800000	Filesystem ATOM
mtd7	0x8800000,0x9000000	Kernel ATOM
mtd8	0x0,0x80000		cefdk
mtd9	0x80000,0x90000		cefdk_config
mtd10	0x90000,0xa0000		GPT_Backup
mtd11	0x9000000,0xd000000	Filesystem ARM (reserved)
mtd12	0xd000000,0xd800000	Kernel ARM (reserverd)
mtd13	0xd800000,0x11800000	Filesystem ATOM (reserved)
mtd14	0x11800000,0x12000000	Kernel ATOM (reserved)
Firmware-Partitionen des aktiven Partitionsset:
  • mtd0 = Filesystem ARM-Core
  • mtd1 = Kernel ARM-Core
  • mtd6 = Filesystem ATOM-Core
  • mtd7 = Kernel ATOM-Core
Firmware-Partitionen des inaktiven Partitionsset:
  • mtd11 = Filesystem ARM-Core
  • mtd12 = Kernel ARM-Core
  • mtd13 = Filesystem ATOM-Core
  • mtd14 = Kernel ATOM-Core

Wie schon geschrieben, die Zuordnung ist nicht fest, bei beispielsweise:
  • aktuell linux_fs_start=0 wird das inaktive Partitionsset (mtd11, 12, 13 und 14) erst mit linux_fs_start=1 aktiviert (wird damit zu mtd0, 1, 6 und 7 im Bootloader) und bei
  • aktuell linux_fs_start=1 wird das inaktive Partitionsset (mtd11, 12, 13 und 14) erst mit linux_fs_start=0 aktiviert (wird damit zu mtd0, 1, 6 und 7 im Bootloader).
Der Bootloader startet also immer die beiden Systeme (ARM und x86) von den Partitionen mtd1 und mtd7, die Variable linux_fs_start beeinflusst also lediglich welche Partitionen der Bootloader darunter versteht.
Im laufenden FRITZ!OS-System sieht das anders aus, dort ist die Zuweisung der Partitionen dagegen wieder fest (zum Beispiel /dev/mmcblk0p5 bleibt auch /dev/mmcblk0p5, unabhängig vom eingestellten Wert der Variable linux_fs_start)!


Da wir die Variable "linux_fs_start" bis jetzt nicht geändert haben (nur ausgelesen) ist die bisher aktive Firmware in den Partitionen mtd0, mtd1, mtd6 und mtd7 zu finden. Damit man also das aktuell inaktive Partitionsset überschreibt verwendet man also die Partitionen mtd11, mtd12, mtd13 und mtd14.
Wenn man die Variable "linux_fs_start" im laufenden Betrieb (Bootloader) ändert wird m.W.n. die Zuordnung der Partitionen nicht (Live) geändert, dazu müsste m.W.n. erst die Box bzw. der Bootloader neu gestartet werden.
Wenn man das gerade aktive Partitionsset überschreiben möchte verwendet man bei den entsprechenden Befehlen (unten Pkt. 4.1e bzw. 4.2a-d) anstatt mtd11 > mtd0, mtd12 > mtd1, mtd13 > mtd6 und mt14 > mtd7. Das kann evtl. sinnvoll sein, s.h. dazu zum Beispiel der Hinweis in Beitrag #9.



2. Firmware-Images für den ARM- und ATOM-Core vorbereiten

Zuerst wird das im 1. Schritt (Beitrag #8) heruntergeladene Retail Firmware-Image entpackt um die 4 Images (2 für jeden Prozessor) zu erhalten, unter Windows kann man dazu z.B. das Programm 7-Zip verwenden.

Man benötigt die Image-Dateien die sich in den Unterordnern

Code: Alles auswählen

./var/remote/var/tmp
und

Code: Alles auswählen

./var/remote/var/tmp/x86
befinden.

Als Beispiel (Windows) legen wir uns einen Ordner "6490" auf Laufwerk C: an mit den beiden Unterordnern ARM und x86.

Code: Alles auswählen

mkdir c:\6490
mkdir c:\6490\ARM
mkdir c:\6490\x86
Das kann man natürlich auch mit dem Datei-Explorer machen, je nachdem wie es einem beliebt. Und natürlich ist das nur ein Beispiel, man kann die Ordner auch an einer anderen (geeigneten) Stellen im Dateisystem erstellen (z.B. c:\Users\[Username]\Downloads\6490\...]), man muss dann nur die Befehle entsprechend anpassen. Wer z.B. eine Linux-Distribution nutzt sucht sich natürlich eine entsprechend geeignete Stelle, z.B. "/home/username/Downloads/6490/...".

In den Ordner "c:\6490\ARM" kopieren wir die Dateien "filesystem.image" und "kernel.image" aus dem Ordner "...\var\remote\var\tmp"
In den Ordner "c:\6490\x86" kopieren wir die Dateien "filesystem.image" und "kernel.image" aus dem Ordner "...\var\remote\var\tmp\x86"

Bitte beachten, die Dateien dürfen nicht durcheinandergebracht werden, die aus dem Unterordner "x86" sind für den ATOM-Core und die aus Ordner "tmp" für den ARM-Core!

Wer möchte kann die Dateien auch umbenennen und anschließend in einen gemeinsamen Ordner (z.B. c:\6490) kopieren/verschieben, z.B. in:
  • arm-filesystem.image
  • arm-kernel.image
  • atom-filesystem.image (filesystem.image aus dem Unterorner x86)
  • atom-kernel.image (kernel.image aus dem Unterorner x86)
dann braucht man nicht in der FTP-Sitzung mit "lcd" den Ordner wechseln. Die Befehle mit "put" sind dann natürlich entsprechend anzupassen.



3. Geeigneten FTP-Client verwenden/installieren

Der Standard Windows FTP-Client (ftp.exe), welcher im 2. und 3. Schritt noch ohne Probleme verwendet werden konnte, kann für das Hochladen der Firmware-Images nicht mehr verwendet werden da er den "Passive Mode" nicht unterstützt der dafür benötigt wird!

Alternativen:
  • Bei den 64-Bit Versionen (x64) von Windows 10 (seit Ver. 1709 aka "Fall Creators Update" offiziell) kann ein "Linux-Subsystem" installiert werden:
    https://msdn.microsoft.com/de-de/comman ... tall_guide
    Damit ist dann auch die Nutzung des unter *nix-Systemen bekannten Kommandozeilen-Programm "ftp" möglich welches den passive Mode unterstützt. Oder evtl. auch die Shell-Scripte "eva_discover" und "eva_store_tffs" von PeterPawn:
    https://www.ip-phone-forum.de/threads/292912/
  • Die Nutzung eines anderen FTP-Client unter Windows wie z.B. NcFTP Client oder lftp für Windows.
  • Wer MacOS X, BSD oder Linux verwendet (z.B. auch in einer VM) kann "ftp" verwenden.
  • Man verwendet unter Windows das PowerShell-Script "EVA-FTP-Client.ps1" von Peter Pawn, siehe Pkt. 4.1 (Variante 2)
Da ich selbst nicht (primär) mit Windows arbeite habe ich dbzgl. allerdings nicht viel Erfahrung, für Tipps/Hinweise zu einem geeigneten FTP-Client wäre ich also dankbar.



4. Mit dem Bootloader verbinden und Firmware hochladen

4.1 - Variante 1 (per FTP-Client mit dem Bootloader verbinden und Firmware hochladen)

Ich gehe mal von der Verwendung des FTP-Client NcFTP unter Windows aus, bei Verbindungsproblemen an eine evtl. aktive (Personal)-Firewall denken:
  1. Command-Line/Eingabeaufforderung starten.
  2. In das bei Pkt. 2 (Firmware-Images für den ARM- und ATOM-Core vorbereiten) angelegte Verzeichnis wechseln, also z.B.:

    Code: Alles auswählen

    cd c:\6490

  3. Mit dem Bootloader (EVA) der FRITZ!Box verbinden (s.h. Beitrag #10):

    Code: Alles auswählen

    ncftp -u adam2 -p adam2 192.168.178.1
    So sieht das dann aus:

    Code: Alles auswählen

    c:\6490>ncftp -u adam2 -p adam2 192.168.178.1
    NcFTP 3.2.6 (Nov 15, 2016) by Mike Gleason (http://www.NcFTP.com/contact/).
    Resolving 192.168.178.1...
    Connecting to 192.168.178.1...
    
    ADAM2 FTP Server ready
    Logging in...
    
    User adam2 successfully logged in
    Logging in...
    Command not implemented
    Command not implemented
    Command not implemented
    Logged in to 192.168.178.1.
    
    ncftp / >

  4. Nun folgende Befehle eingeben um u.a. den Passive-Mode zu aktivieren:

    Code: Alles auswählen

    quote MEDIA FLSH
    binary
    passive
    Das sieht dann so aus:

    Code: Alles auswählen

    ncftp / > quote MEDIA FLSH
    Media set to MEDIA_FLASH
    ncftp / > binary
    ncftp / > passive
    passive                        on
    ncftp / >

  5. Nun kann man mit dem übertragen der Firmware-Images beginnen. Wenn man die ARM und x86 Images in den jeweiligen Unterordnern belassen hat wechseln man zuerst mit "lcd" in das jeweilige Verzeichnis:

    Code: Alles auswählen

    lcd c:\6490\ARM
    Wenn man dabei die Fehlermeldung "No such file or directory" bekommt war der Wechsel in das entsprechende Verzeichnis nicht erfolgreich (in dem Fall kontrollieren ob man sich evtl. vertippt hat oder den Order woanders angelegt hat!):

    Code: Alles auswählen

    ncftp / > lcd c:\6490\ARM
    c:\6490\ARM: No such file or directory
    Nun die beiden ARM-Images in das alternative Partitionsset hochladen (die Option "-z" ist bei Einsatz von NcFTP notwendig, bei z.B. Verwendung des *nix FTP-Client ist diese Option wegzulassen):

    Code: Alles auswählen

    put -z filesystem.image mtd11
    put -z kernel.image mtd12
    Per "lcd" in den "x86-Ordner" wechseln (falls die Images in den jeweiligen Unterordnern belassen wurden):

    Code: Alles auswählen

    lcd c:\6490\x86
    Die beiden ATOM-Images in das alternative Partitionsset hochladen (die Option "-z" ist bei Einsatz von NcFTP notwendig, bei z.B. Verwendung des *nix FTP-Client ist diese Option wegzulassen):

    Code: Alles auswählen

    put -z filesystem.image mtd13
    put -z kernel.image mtd14

  6. Das Ergebnis sollte ungefähr so aussehen:

    Code: Alles auswählen

    ncftp / > lcd c:\6490\ARM
    ncftp / > put -z filesystem.image mtd11
    c:\6490\ARM\filesystem.image:
    ncftp / > put -z kernel.image mtd12
    c:\6490\ARM\kernel.image:
    ncftp / > lcd c:\6490\x86
    ncftp / > put -z filesystem.image mtd13
    c:\6490\x86\filesystem.image:
    ncftp / > put -z kernel.image mtd14
    c:\6490\x86\kernel.image:
    ncftp / >

  7. Nun wird das inaktive Partitionsset aktiviert, im 3. Schritt (Beitrag #11) wurde dazu mit GETENV die Variable "linux_fs_start" ausgelesen, man kann das jetzt auch noch einmal machen:

    Code: Alles auswählen

    ncftp / > quote GETENV linux_fs_start
    Invalid reply: "linux_fs_start        1"
    ncftp / >
    In diesem Beispiel ist der Wert 1. Das bedeutet, das aktuell das 2. Partitionsset aktiv ist und der Wert mit SETENV auf 0 gesetzt werden soll:

    Code: Alles auswählen

    quote SETENV linux_fs_start 0
    Ergebnis:

    Code: Alles auswählen

    ncftp / > quote SETENV linux_fs_start 0
    SETENV command successful
    ncftp / >
    Das kann auch noch einmal mit GETENV kontrolliert werden:

    Code: Alles auswählen

    ncftp / > quote GETENV linux_fs_start
    Invalid reply: "linux_fs_start        0"
    ncftp / >
    (Wenn der Wert der Variable "linux_fs_start" vorher 0 ist wird natürlich auf den Wert 1 umgestellt, der Befehl ist entsprechend anzupassen!)
  8. Zum Schluss kann die FRITZ!Box mit folgendem Befehl rebootet

    Code: Alles auswählen

    quote REBOOT
    und mit "bye" die FTP-Sitzung beendet werden: Das wars:

    Code: Alles auswählen

    ncftp / > quote REBOOT
    Thank you for using the FTP service on ADAM2
    ncftp / > bye
    
    c:\6490>



4.2 - Variante 2 (per PowerShell-Script mit dem Bootloader verbinden und Firmware hochladen, für Windows)

Ich gehe davon aus, dass die PowerShell-Konsole aus dem vorherigen Schritt noch offen ist (wenn nicht s.h. Beitrag #10 - 2. Schritt, Pkt. 4.1 und 4.2), bei Verbindungsproblemen an eine evtl. aktive (Personal)-Firewall denken:
  1. Flashen der Partition mtd11 (ARM Filesystem) mit folgendem Kommando:

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { UploadFlashFile .\ARM\filesystem.image mtd11 }
  2. Flashen der Partition mtd12 (ARM Kernel) mit folgendem Kommando:

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { UploadFlashFile .\ARM\kernel.image mtd12 }
  3. Flashen der Partition mtd13 (x86/ATOM Filesystem) mit folgendem Kommando:

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { UploadFlashFile .\x86\filesystem.image mtd13 }
  4. Flashen der Partition mtd14 (x86/ATOM Kernel) mit folgendem Kommando:

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { UploadFlashFile .\x86\kernel.image mtd14 }

  5. Nun wird das inaktive Partitionsset aktiviert, im 3. Schritt (Beitrag #11) wurde dazu mit GETENV die Variable "linux_fs_start" ausgelesen. Man kann das allerdings auch automatisch vom Script "EVA-FTP-Client.ps1" machen lassen z.B. mit folgendem Kommando:

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -Verbose -ScriptBlock { SwitchSystem }
    In diesem Beispiel ist der aktuelle Wert 1. Das bedeutet, das Script setzt den Wert auf 0, das sieht dann so aus:

    Code: Alles auswählen

    PS C:\6490> .\EVA-FTP-Client.ps1 -Verbose -ScriptBlock { SwitchSystem }
    AUSFÜHRLICH: current setting - linux_fs_start=1
    AUSFÜHRLICH: new setting     - linux_fs_start=0
    AUSFÜHRLICH: new value set successfully
    True
    PS C:\6490>
    (Wenn der Wert der Variable "linux_fs_start" vorher 0 ist wird natürlich auf den Wert 1 umgestellt.)
  6. Zum Schluss kann die FRITZ!Box mit folgendem Befehl rebootet werden:

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -ScriptBlock { RebootTheDevice }
    Das wars:

    Code: Alles auswählen

    PS C:\6490> .\EVA-FTP-Client.ps1 -ScriptBlock { RebootTheDevice }
    True
    PS C:\6490> exit

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Nacharbeit

#13 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:20

Nachdem nun eine Retail-Firmware >= 6.60 installiert ist (wenn man von einer "Provider-Firmware" upgedatet hat) und die Box damit erfolgreich startet empfiehlt es sich die Werkseinstellungen zu laden:
https://avm.de/service/fritzbox/fritzbo ... Box-laden/


Wenn vorher noch nicht durchgeführt (weil z.B. wegen zu alter Firmware nicht möglich) kann nun, wie in Beitrag #5 beschrieben, der Status des CM-Zertifikat überprüft werden.


Wer die PowerShell-Scripte von PeterPawn verwendet hat und dafür die Ausführungsrichtlinie änderte sollte die ursprünglich eingestellte Ausführungsrichtlinie wiederherstellen, siehe Beitrag #7 (letzter Pkt.).

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Weitere Tipps und alternative Methoden (nur Erwähnung, keine Beschreibung)

#14 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:22

  • Die hier beschriebene Methode des Hochladen der Firmware per Bootloader (ohne Umstellung der "Branding-Variable") kann auch für die Retail-Modelle der 6490 oder evtl. auch für die FRITZ!Box 6430 und 6590 genutzt werden wenn man zum Beispiel eine angepasste Firmware-Version auf der FRITZ!Box installieren möchte (was per WebIf-Update aufgrund der Signaturüberprüfung nicht möglich ist).
  • Zum Hochladen der Firmware-Images per Bootloader kann auch das Script "eva_store_tffs" von PeterPawn aus seinem YouFritz-Repository verwendet werden welches den Vorgang "halbautomatisiert".
  • Wer das PowerShell-Script "EVA-FTP-Client.ps1" von PeterPawn verwendet kann auch mehrere Befehle/Aktionen zusammenfassen, also z.B. beim 3. Schritt die Pkt. 4b-d (Beitrag #11) in einem Kommando zusammengefasst:

    Code: Alles auswählen

    .\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue firmware_version;GetEnvironmentValue linux_fs_start;SetEnvironmentValue firmware_version avm }
    Nach dem gleichen Muster lassen sich auch die Befehle bei Pkt. 4.2 (Beitrag #12) zusammenfassen.
  • Bei (älteren) Provider-Versionen gibt es auch die Möglichkeit die Retail-Firmware per WebInterface zu installieren, wie das geht wurde u.a. >hier< von PeterPawn im IPPF beschrieben. Das erspart das Hochladen der Firmware per Bootloader wie in Schritt 4 (Beitrag #12) beschrieben.

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Reserviert

#15 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:23

15. Teil (reserviert)

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

Hinweis für Ergänzungs- und Korrekturvorschläge

#16 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:23

Für Hinweise/Informationen zu Fehlern, Korrekturvorschläge oder Ergänzungen wäre ich dankbar. Ihr könnt mir auch gerne eine PM schreiben.



Beiträge mit kleineren Hinweisen, Tipps oder Korrekturvorschlägen werde ich hier im Thema nach Übernahme (und natürlich entsprechender Erwähnung des Hinweis-/Tippgebers im Changelog) löschen (ausblenden) ohne separate Info-PN.
Auf Wunsch (evtl. mit nachvollziehbarer Begründung) können gelöschte Beiträge auch wiederhergestellt werden da ich diese nicht wirklich löschen werde.

Beiträge mit "komplexeren" (auch kritischen) Inhalt oder entsprechende Diskussionen (wenn sie nicht Off-Topic sind) werde ich hier natürlich nicht löschen (es sei denn der Autor wünscht dies), zumindest nicht kommentarlos.

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

To-Do/Changelog

#17 Beitrag von qwertz-asdfgh » 26. Okt 2017 03:24

To-Do und offene Fragen (zumindest meinerseits, irgendwo wurden die evtl. schon mal beantwortet):
  • Erweiterte Support-Daten ab Ver. 6.50? S.h. Beitrag #4.
  • Abschnitt "CM-Zertifikatsstatus überprüfen" in Beitrag #5 benötigt eine Überprüfung:
    • Ab welcher Firmwareversion funktioniert das? Ab Ver. 6.30 oder gar erst ab Ver. 6.50?
    • Bei welchen Versionen wird evtl. immer old/old angezeigt oder auch gar nichts?
    • Seit wann haben FRITZ!Boxen das neue Zertifikat bei Auslieferung bereits erhalten (Herstellungsdatum)?
  • Bzgl. "Updatevorgang per WebIf abgebrochen aufgrund fehlendem aktuellem CM-Zertifikat", wie lautet die Fehlermeldung? Und welche Firmwareversionen haben das noch überprüft? Stimmt es, dass es die 6.6x-Versionen überprüfen und die 6.8x-Versionen nicht mehr? S.h. dazu Hinweis in Beitrag #5.
  • KDG/Vodafone-Firmware, ab welcher Version funktioniert die firmware_version Variable "avm" nicht mehr? Ab Ver. 6.30 oder erst ab 6.31? S.h. Beitrag #7.
  • Welche Funktion(en) fehlen der Retail-Firmware evtl. noch? S.h. Beitrag #7 und Vorwort in #1.
  • Da ich primär nicht primär mit Windows arbeite würde ich gerne mal von den Windows-Nutzern erfahren was ihr bzgl. FTP-Client mit Unterstützung für den Passive-Mode einsetzt/empfiehlt. Ich bin für Vorschläge offen (s.h. Pkt. 3 beim 4. Schritt in Beitrag #12) Ich denke dieser Pkt. kann dank der PowerShell-Scripte von PeterPawn (welche eine gute Alternative zum Einsatz eines FTP-Client darstellen) abgehakt werden.
  • Beschreibung/Anleitung hinzufügen zum Erstellen eines TFFS-Image mit Hilfe des Script "build_tffs_image" von Peter Pawn.


Changelog:
  • 2017-10-26: Einige Rechtschreib- und Grammatikkorrekturen (Dank an eisbaerin)
  • 2017-10-27: Beitrag #12, Pkt. 3, Ergänzung Linux-Subsystem bei Win 10 nur für die 64-Bit Version (x64) verfügbar (Dank an Micha0815)
    2017-10-27: Beitrag #12, Pkt. 1, zusätzliche Beschreibung der Partitionszuweisung im Bootloader anhand von 2 Beispielen
  • 2017-10-29: Korrektur Speicherort des (nachträglich aktualisierten) CM-Zertifikat (ist nicht das TFFS), s.h. Beitrag #4 und #5. (Dank an PeterPawn für den Hinweis!)
  • 2017-10-30: Die Anleitung wurde ergänzt um den Einsatz der PowerShell-Scripte "EVA-Discover.ps1" und "EVA-FTP-Client.ps1" von PeterPawn zu beschreiben, s.h. dazu Beitrag #7, #10, #11, #12, #13 und #14. (Vielen Dank an PeterPawn für den Hinweis und die Scripte!)
  • 2017-11-06: Beitrag #5, Tippfehler beseitigt (Dank an Micha0815 für den Hinweis)
    2017-11-06: Beitrag #16, Hinweis bzgl. der Löschpraxis von Beiträgen in diesem Thema hinzugefügt.
  • 2017-11-15: Beitrag #5, zusätzlicher Hinweis auf Beitrag #8 aufgenommen für Firmware-Update per WebIf bei fehlendem neuen CM-Zertifikat.
    2017-11-15: Beitrag #10 und #12, Benutzername und Passwort für EVA von Groß- in Kleinschreibung geändert. (Dank an videopix für den Hinweis)
  • 2017-11-17: Beitrag #12, Option "-z" bei put hinzugefügt (NcFTP).
    2017-11-17: Beitrag #8, exakte Fehlermeldung beim Firmwareupdate per WebIf und fehlendem neuem CM-Zertifikat hinzugefügt/geändert.
  • 2017-11-20: Beitrag #9, Firmware-Image Downloadlinks für weitere Cable-Modelle hinzugefügt.
  • 2018-01-07: Beitrag #9, Firmware-Image Downloadlinks aktualisiert (6490 Ver. 6.87).
  • 2018-01-10: Beitrag #7, Kleinere grammatikalische Änderungen.
  • 2018-04-01: Beitrag #9, Firmware-Image Downloadlinks aktualisiert (6430 und 6590 Ver. 6.87).
  • 2018-04-03: Beitrag #9, Firmware-Image Downloadlinks, Bemerkung hinzugefügt (6590 Ver. 6.83 nicht mehr vorhanden). (Dank an cino für den Hinweis)
  • 2018-08-29: Beitrag #9, Firmware-Image Downloadlinks aktualisiert (6590 Ver. 7.00).
Zuletzt geändert von qwertz-asdfgh am 20. Nov 2017 11:33, insgesamt 10-mal geändert.
Sammlung xDSL-Modem/Router/IADs | FRITZ!Box Branding ändern | FRITZ!Box 6490 De-Branding und Updaten | FRITZ!Box HW-Liste

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

[HowTo] Ändern des Branding und installieren der Retail-Firmware bei FRITZ!Box Cable 6490

#18 Beitrag von qwertz-asdfgh » 27. Okt 2017 07:11

Danke an eisbaerin, Micha0815, PeterPawn und videopix für die Hinweise, sind eingearbeitet.
Zuletzt geändert von qwertz-asdfgh am 15. Nov 2017 12:02, insgesamt 2-mal geändert.
Grund: Ergänzung
Sammlung xDSL-Modem/Router/IADs | FRITZ!Box Branding ändern | FRITZ!Box 6490 De-Branding und Updaten | FRITZ!Box HW-Liste

xotusblack
Einsteiger
Einsteiger
Beiträge: 3
Registriert: 30. Dez 2017 19:17
Status: Offline

[HowTo] Ändern des Branding und installieren der Retail-Firmware bei FRITZ!Box Cable 6490

#19 Beitrag von xotusblack » 30. Dez 2017 22:10

Mahlzeit.

Nach durcharbeiten dieses Threads, wollte ich, wenn schon kein Retail Flash möglich ist, zumindest versuchen DVB-C usw,. frei zu schalten.
Scheint funktioniert zu haben.

Anbieter_Unitymedia
Endgerät_FritzBox_6490_Cable_LGI_6.50
ZertifikatStatus_New/New

Auszug aus Support.TxT
##############################################
Sat Dec 30 17:12:49 CET 2017
2.6.39.3
HWRevision 213
HWSubRevision 4
ProductID Fritz_Box_HW213a
annex Kabel
autoload yes
bootloaderVersion 1.2567
country 049
firmware_info 141.06.50
firmware_version avm
flashsize nor_size=0MB sflash_size=2MB nand_size=2048MB
language de
linux_fs_start 1
##############################################

Die FB hat alle Sender gefunden und das streamen funktioniert 1A!

Im Grunde habe ich nur folgendes gemacht:

1. FTP @ Adam2
2. quote SETENV firmware_version avm
3. Bye
Die Box meldete OK

Anschließend bootet die Schüssel nochmal wie gewohnt - jedoch fiel mir beim Login Screen schon auf, dass das LGI fehlt (Unitymedia).
Bis jetzt ist es geblieben.
Einziger Haken, es bleibt die 6.50 ... dafür funktioniert die Box weiterhin am Anschluss ;)

//edit

Merkwürdig sind jedoch jetzt der Down & Upstream

Kabel verbunden, 169 Mbit/s - 10.5 Mbit/s

vorher waren die Werte penibel genau, 150 / 10

pokemon20021
Aufsteiger
Aufsteiger
Beiträge: 12
Registriert: 22. Okt 2017 09:28
Danksagung erhalten: 1 Mal
Status: Offline

[HowTo] Ändern des Branding und installieren der Retail-Firmware bei FRITZ!Box Cable 6490

#20 Beitrag von pokemon20021 » 30. Dez 2017 22:52

xotusblack hat geschrieben:
30. Dez 2017 22:10
Anschließend bootet die Schüssel nochmal wie gewohnt - jedoch fiel mir beim Login Screen schon auf, dass das LGI fehlt (Unitymedia).
Bis jetzt ist es geblieben.
Einziger Haken, es bleibt die 6.50 ... dafür funktioniert die Box weiterhin am Anschluss ;)
Hinweis: UM kann die Routerkonfiguration zyklisch abfragen;
das kann auch mal 2 -3 Wochen dauern bis sich UM bei Kunden, wg. "Veränderung am Endgerät" meldet;
in der Zwischenzeit durchläuft es noch Vertragsabteilung zwcks Prüfung, ob TV-Vertrag kundenseitig gebucht ist.

xotusblack
Einsteiger
Einsteiger
Beiträge: 3
Registriert: 30. Dez 2017 19:17
Status: Offline

[HowTo] Ändern des Branding und installieren der Retail-Firmware bei FRITZ!Box Cable 6490

#21 Beitrag von xotusblack » 31. Dez 2017 01:31

Hab ich mir gedacht @ Zyklus.

Danke für den Hinweis - nehme eine Konfrontation zwecks mangelnder Update Pflege gerne in Kauf. ;)

Speziell TV gebucht hab ich nicht, emfpange aber auch nicht mehr als die Standard Kanäle.

xotusblack
Einsteiger
Einsteiger
Beiträge: 3
Registriert: 30. Dez 2017 19:17
Status: Offline

[HowTo] Ändern des Branding und installieren der Retail-Firmware bei FRITZ!Box Cable 6490

#22 Beitrag von xotusblack » 2. Jan 2018 14:21

Hat jemand schon mal versucht via VPN das TV Signal zu streuen?
Ich meine jetzt nicht das streamen an xxxx andere, sondern einfach nur Just4Fun 4 Me.
Die Verbindung funktioniert super, nur leider ruckelt die Wiedergabe - in etwa so, als hätte man bei DVBT(2) schlechten Empfang.

Garfield
Einsteiger
Einsteiger
Beiträge: 1
Registriert: 29. Jan 2018 21:07
Status: Offline

Besonderheit: "Firmwarevariable nicht gestzt"

#23 Beitrag von Garfield » 2. Feb 2018 14:05

Hallo,

ich hatte gerade eine Box von UnityMedia (die Weiße) mit dem Branding lgi in der mache. Die Box war Hardwareresettet und die Firmware 6.50 stammte vom 29.11.2016 (lt. Supportdaten). Firmwareversion war "lgi". Die Certifakate standen auf 2 x new/new.

Besonderheit: Es war keine Firmwarevariable gesetzt. der Befehl "quote GETENV linux_fs_start" lieferte "501 environment variable not set"

Ändern der Firmwareversion auf "avm" und updaten der Firmware auf die 6.87 (per EVA-upload auf mtd11,mtd12,mtd13 und mtd14) war problemlos möglich.

Garfield

pokemon20021
Aufsteiger
Aufsteiger
Beiträge: 12
Registriert: 22. Okt 2017 09:28
Danksagung erhalten: 1 Mal
Status: Offline

Support-Daten erstellen

#24 Beitrag von pokemon20021 » 14. Feb 2018 10:16

qwertz-asdfgh hat geschrieben:
26. Okt 2017 03:12
die Option "Erweiterte Support-Daten für die besondere Analyse erstellen", diese kann genutzt werden wenn man auch den Inhalt des TFFS sichern möchte (darin ist allerdings nicht, wie ursprünglich hier beschrieben, das neue "Download CM-Zertifikat" abgespeichert falls es sich um ein älteres Modell handelt wo dieses noch nachträglich per Update aktualisiert wurde).
Wie kann man den bei älteren FB6490-Boxen, die ein "Download CM-Zertifikat" haben, dieses sichern ?
Hoffentlich habe ich hier nichts überlesen.

Benutzeravatar
qwertz-asdfgh
Globaler Moderator
Globaler Moderator
Beiträge: 223
Registriert: 18. Okt 2017 21:47
Wohnort: Südliches T. d. A.
Hat sich bedankt: 3 Mal
Danksagung erhalten: 30 Mal
Status: Offline

[HowTo] Ändern des Branding und installieren der Retail-Firmware bei FRITZ!Box Cable 6490

#25 Beitrag von qwertz-asdfgh » 14. Feb 2018 23:00

Ich habe derzeit keine 6490 bei mir zum testen. Gespeichert wird das Download CM-Zertifikate jedenfalls unter /nvram.
Sammlung xDSL-Modem/Router/IADs | FRITZ!Box Branding ändern | FRITZ!Box 6490 De-Branding und Updaten | FRITZ!Box HW-Liste

Antworten

Zurück zu „FRITZ!Box Modifikationen“