Push firmware.sh: Unterschied zwischen den Versionen

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 19: Zeile 19:
  cat /proc/sys/urlader/environment | grep my_ip
  cat /proc/sys/urlader/environment | grep my_ip
  my_ipaddress    192.168.178.100
  my_ipaddress    192.168.178.100
*Achtung: Die Boot-IP ist nicht zwangsläufig identisch mit einer evtl. in den AVM-Einstellungen vergebenen IP, die nach dem Hochfahren der Box gilt. Die Boot-IP kann nur über Bootloader-FTP geändert werden.
*Der Rechner, von wo aus der Flash-Vorgang initiiert soll, sollte - zumindest temporär - eine feste IP-Adresse aus dem Subnetz der Boot-IP zugewiesen bekommen, denn DHCP greift zu dem frühen Zeitpunkt, wenn wir auf den Bootloader zugreifen, noch nicht. Falls also die Boot-IP z.B. 192.168.178.1 wäre, könnte man sich die 192.168.178.111 aussuchen, im Falle 192.168.2.1 könnte man die 192.168.2.111 nehmen usw.
* Sofern man von einem Windows-Rechner aus agiert (auch bei Verwendung von Linux in einem VMware-Gastsystem unter Windows), hilft es, das DHCP-Mediasensing dauerhaft oder zumindest temporär auszuschalten. Das ist das, was das AVM-Recover.exe tut, bevor es den Rechner neu startet. Dauerhaft ausschalten kann man es dann, wenn der entsprechende PC nicht ständig zwischen mehreren DHCP-Servern hin und her wechselt und dies automatisch erkennen soll (z.B. Notebook abwechselnd in Firma und zu Hause). Wie das Mediasensing ausgeschaltet wird über die Windows-Registry, beschreibe ich im Forum, wo auch entsprechende Registry-Dateien zum Download bereit stehen, um das Ganze einfacher und ohne Regedit zu erledigen.
'''Cygwin'''
Unter Cygwin müssen noch weitere Voraussetzungen erfüllt sein. Ich zitiere aus dem Quellcode-Kommentar des Skripts (aktuelle Änderungen bitte ggf. dort selbst nachlesen):
# Cygwin users note:
#  1. There is NO guarantee whatsoever that this will work on Cygwin, even
#      though it does on my box (kriegaex). Provided as is.
#  2. For FTP you need the 'ncftp' cygwin package (category 'net').
#  3. You need the 'ping' command from Windows (tested on XP), NOT from the
#      'ping' cygwin package (please uninstall or change path so Windows
#      version is found first), because the cygwin version has no timeout
#      parameter as of today (2007-07-11).
#  4. For 'hexdump' you need the 'util-linux' cygwin package (category
#      'utils').

Version vom 29. April 2010, 19:01 Uhr

Firmware flashen mit tools/push_firmware.sh

Eine Firmware zu flashen mit diesem Werkzeug, ist einfach und hat diverse Vorteile gegenüber der AVM-Weboberfläche oder dem Firmware-Update-Button in der DS-Mod-Oberfläche:

  • Es funktioniert bei jeder Box, also auch bei Speedports, die sich über AVM-Web nicht umflashen lassen. Der Firmware-Update-Button steht ja erst zur Verfügung, wenn der DS-Mod bereits installiert ist.
  • Es erscheint keine Meldung bzgl. Nicht-Original-Firmware.
  • Da es über den EVA-Bootloader läuft, wird das Update nicht durch laufende Prozesse gestört, die evtl. zu viel Speicherplatz im RAM belegen und erst beendet werden müßten.
  • Der Vorteil eines „normalen“ Updates, daß die Einstellungen im TFFS (/var/flash/*) erhalten bleiben, geht nicht verloren, das ist hier ebenso der Fall.
  • Downgrades sind ebenfalls ohne Fehlermeldung möglich, wobei man hier jedoch aufpassen muß, daß die alte Version nicht so alt ist, daß Änderungen der Original-Firmware bzw. des DS-Mod inzwischen die Syntax der jeweiligen Konfigurationsdateien geändert haben. Sollte dies der Fall sein, müßte man erst mal das TFFS löschen, um nach dem Downgrade mit einem sauberen Stand weitermachen zu können.
  • Wenn die Box nach einem problematischen Firmware-Update oder einem fatalen Konfigurationsfehler nicht mehr hochfährt, man also nicht mehr via Web flashen kann, geht push_firmware immer noch.

Voraussetzungen

Das Skript ist entweder unter Linux aufzurufen oder via Cygwin unter Windows. Cygwin ist nicht offiziell unterstützt, funktioniert aber, wenn die passenden Pakete installiert sind (siehe weiter unten). Folgende Sachverhalte sollen geprüft bzw. sichergestellt werden, damit das Werkzeug funktioniert:

  • Die Box muß über Ethernet-Kabel mit dem Quell-Rechner verbunden sein, WLAN geht nicht. Am besten bitte das Kabel an den ersten LAN-Port anschließen, obwohl es auch mit anderen Ports funktionieren könnte. Aber sicher ist sicher.
  • Die Boot-IP der zu flashenden Box muß bekannt sein. Standardmäßig versucht das Skript die AVM-typische Standard-IP 192.168.178.1, aber diese kann abweichen und auch manuell geändert werden, sodaß man sie per optionalem Parameter mit übergeben muß, falls dies der Fall ist. Über Telnet läßt sich die Boot-IP wie folgt bestimmen:
cat /proc/sys/urlader/environment | grep my_ip
my_ipaddress    192.168.178.100
  • Achtung: Die Boot-IP ist nicht zwangsläufig identisch mit einer evtl. in den AVM-Einstellungen vergebenen IP, die nach dem Hochfahren der Box gilt. Die Boot-IP kann nur über Bootloader-FTP geändert werden.
  • Der Rechner, von wo aus der Flash-Vorgang initiiert soll, sollte - zumindest temporär - eine feste IP-Adresse aus dem Subnetz der Boot-IP zugewiesen bekommen, denn DHCP greift zu dem frühen Zeitpunkt, wenn wir auf den Bootloader zugreifen, noch nicht. Falls also die Boot-IP z.B. 192.168.178.1 wäre, könnte man sich die 192.168.178.111 aussuchen, im Falle 192.168.2.1 könnte man die 192.168.2.111 nehmen usw.
  • Sofern man von einem Windows-Rechner aus agiert (auch bei Verwendung von Linux in einem VMware-Gastsystem unter Windows), hilft es, das DHCP-Mediasensing dauerhaft oder zumindest temporär auszuschalten. Das ist das, was das AVM-Recover.exe tut, bevor es den Rechner neu startet. Dauerhaft ausschalten kann man es dann, wenn der entsprechende PC nicht ständig zwischen mehreren DHCP-Servern hin und her wechselt und dies automatisch erkennen soll (z.B. Notebook abwechselnd in Firma und zu Hause). Wie das Mediasensing ausgeschaltet wird über die Windows-Registry, beschreibe ich im Forum, wo auch entsprechende Registry-Dateien zum Download bereit stehen, um das Ganze einfacher und ohne Regedit zu erledigen.

Cygwin

Unter Cygwin müssen noch weitere Voraussetzungen erfüllt sein. Ich zitiere aus dem Quellcode-Kommentar des Skripts (aktuelle Änderungen bitte ggf. dort selbst nachlesen):

# Cygwin users note:
#   1. There is NO guarantee whatsoever that this will work on Cygwin, even
#      though it does on my box (kriegaex). Provided as is.
#   2. For FTP you need the 'ncftp' cygwin package (category 'net').
#   3. You need the 'ping' command from Windows (tested on XP), NOT from the
#      'ping' cygwin package (please uninstall or change path so Windows
#      version is found first), because the cygwin version has no timeout
#      parameter as of today (2007-07-11).
#   4. For 'hexdump' you need the 'util-linux' cygwin package (category
#      'utils').