7/23/2018

1&1 FRITZ!Box 7580 Debranding

Es ist möglich, eine schwarze 1&1 FRITZ!Box (Business Server) vom "Branding" zu befreien, auch wenn sie einen neuen Bootloader besitzt (>1.3082), bei dem die FTP-Methode nicht mehr funktioniert. Wirklich notwendig ist das natürlich nicht, denn alle Funktionen sind auch mit der 1&1 Firmware vorhanden.

Dazu erstellt man ein sog. InMemory-Image, da die neueren FRITZ!OS keine unsignierten Firmwares mehr akzeptieren. Während der Gelegenheit bietet es sich an, eine eigene Signatur auf das modifizierte Image zu packen, denn dann lassen sich später eigene Firmwareimages ganz einfach über die Update-Funktion im FRITZ!OS auf die Box laden.

Am einfachsten gelingt das Vorhaben mit Freetz.
Freetz bietet einen "no freetz"-Modus, in dem keinerlei sonstige Änderungen an der Firmware durchgeführt werden, was sich in diesem Fall anbietet.


Achtung, große Teile dieser Anleitung sind mit  Stand 01/2021 überholt!


  • Freetz auschecken

$ git clone https://github.com/Freetz/freetz.git freetz-devel
$ cd freetz-devel


  •  Signiertes InMemory Image mit freetz erstellen

Die Änderungen werden in die fwmod_custom eingetragen:
# change branding to avm
sed -i 's/\bexport OEM\b/export OEM=avm/g' ./filesystem/etc/init.d/rc.conf
 Nun wird das Konfigurationsmenü gebaut:
$ make menuconfig
Als erstes muss das "Level of user competence" auf "Expert" gestellt werden, danach ganz unten im "Build system" in den "Firmware packing (fwmod) options" die Punkte
[*] Skip modifying unpacked firmware, adding Freetz stuff
[*] Sign image
[*] Create in-memory image file
ausgewählt und ein Passwort für den privaten Schlüssel der eigenen Signatur vergeben werden. Das Konfigurationsmenü kann dann 2x mit "Exit" verlassen werden.

Und schließlich wird das Image gebaut:
$ make
Im Ordner "images" befindet sich nun eine Datei "7580_<fritzosvers.lang>_<date>-<time>.image.in-memory".

Der Einfachheit halber kopieren wir das Image in den tools-Ordner:
$ cp images/7580_<fritzosvers.lang>_<date>-<time>.image.in-memory tools/yf/eva_tools/myimage.bin


  • Aktive Dualboot-Partition wechseln

Die neueren Boxen besitzen eine Dualboot Partition, was recht praktisch ist, da so selbst bei einem missglückten Flashversuch immer eine funktionierende Firmware vorhanden ist.
Wir wechseln in die unbenutzte Partition:
$ cd tools/yf/eva_tools/
$ export PATH=.:$PATH
Im diesem Beispiel ist "eth0" die verwendete Netzwerkschnittstelle, 192.168.178.1 die IP der Fritzbox und 192.168.178.21 die IP des Rechners. Die Werte müssen gegebenenfalls angepasst werden. Bei Unklarheit gibt ip link die Namen der Schnittstellen aus.
$ ./eva_switch_system eth0 192.168.178.1 192.168.178.21
Nun muss die Box kurz vom Strom getrennt und wieder angeschlossen werden. Wenn sie erkannt wurde, erscheint folgende Meldung:
Found AVM bootloader: AVM EVA Version 1.3229 0x0 0x46409
Current system selected: 1
New system selected: 0
New value set, rebooting the device ...
 Danach startet die Box in die neue (noch ungenutzte) Partition.

Wichtig:
Die Fritzbox muss über einen Switch mit dem PC verbunden sein, andernfalls wacht die Netzwerkschnittstelle meist erst auf, wenn der Boot-Einsprungpunkt vorbei ist, und der Partitionswechsel wird NICHT vollzogen.


  • InMemory Image hochladen

Jetzt kann das erstellte Image hochgeladen werden:
$ eval $(sudo ./eva_discover INTERFACE=enp7s0 FROM=192.168.178.21 TO=192.168.178.1 BLIP=1 HOLD=0); echo "EVA_FOUND=$EVA_FOUND"; echo "EVA_IP=$EVA_IP"; [ "$EVA_FOUND" = "1" ] && ./eva_to_memory myimage.bin $EVA_IP
Die Fritzbox wieder kurz vom Strom trennen und erneut anschließen. Der Erfolg wird durch eine Meldung angezeigt:
EVA_FOUND=1
EVA_IP=192.168.178.1
Found AVM bootloader: AVM EVA Version 1.3229 0x0 0x46409
Found hardware revision: 225
Memory size is 0x08000000 (128 MB)
Memory size limited to 128 MB
Image size is 0x179d100 (23 MB)
Setting temporary memory size to: 0x06862f00
Setting temporary kernel args to: mtdram1=0x86862f00,0x88000000
Image uploaded to device.


Die Box sollte nun mit der modifizierten Firmware booten. Wenn nötig, kann mit Schritt 3 auch wieder die vorherige Partition als aktiv markiert werden und so zum Originalzustand zurückgekehrt werden. 
zuletzt aktualisiert 01/2021

No comments: