Freetz-NG – Hol mehr aus deiner FRITZ!Box

Mit der Erweiterung Freetz-NG (ein Fork von Freetz), lassen sich verschiedene FRITZ!Box-Modelle mit weiteren Extrafunktionen ausstatten.
So können wir auch andere Softwareprodukte auf einer Box laufen lassen, oder auch das Netzwerk noch etwas granularer einstellen.
Wie du Freetz-NG auf deine FRITZ!Box bekommst, zeige ich dir hier in der Anleitung.

WARNUNG: Ich beschreibe hier die Möglichkeit alles umzusetzen. Ob und wie gut das gelingt hängt von der aktuell verfügbaren Software ab!
Ich garantiere weder 100%igen Erfolg, noch hafte ich für zerstörte FritzBoxen!
Die Garantie und Gewährleistung geht ebenfalls verloren!

Voraussetzungen:
Wir benötigen folgende Dinge, um Freetz-NG in Betrieb nehmen zu können:
– Eine virtuelle Maschine
– Die VM muss min. 2GB RAM, 20GB Festplattenspeicher und eine Internetanbindung besitzen
– Debian 11 als System in der VM
– Zugangsdaten für den Root-Benutzer und ein Standardbenutzer
– Eine unterstützte FRITZ!Box
– Ein LAN-Kabel (RJ45)
Wiederherstellungs-Tools für den Notfall

Warum gibt es kein fertigen Downlaod?
Wir modifizieren hier proprietäre AVM-Daten.
Diese dürfen durch die AGBs nicht zum Download bereitgestellt werden.
Sofern wir aber alles für uns selbst modifizieren, kann uns keiner Aufhalten 🙂
Dieses Prozedere müssen wir auch nur 1x pro FRITZ!Box durchführen, danach geht alles bequem per Webinterface.

Warum eine virtuelle Maschine?
Dann ist alles in einer geschlossenen Umgebung installiert und sobald wir fertig sind, können wir alles restlos von unserem System wieder entfernen.
Wir benötigen auch zwingend ein Linux-System, da die Tools nur darin funktionieren.
Ein Linux-Container wie es z.B. Proxmox anbietet, können wir auch nutzen, sofern Kernel-Headers durchgereicht werden.
Da dies in der Standardkonfiguration nicht der Fall ist, nutze stattdessen lieber eine virtuelle Maschine.

Legen wir los!


1. Einen „normalen“ Nutzer anlegen
Wir brauchen ein normalen Benutzer, da die Scripte nicht mit Root-Rechten laufen.
Also legen wir schnell einen an.

# adduser user

2. Das System aktualiseren
Damit wir die aktuellsten Pakete nutzen können, bringen wir erst mal das System auf den aktuellsten Stand.

# apt update && apt upgrade -y && apt dist-upgrade -y

3. Notwendige Pakete installieren
Wir brauchen jetzt alles, damit wir Freetz-NG selbst erstellen können.

# apt install pv cpio rsync kmod imagemagick inkscape graphicsmagick subversion git bc unar wget sudo gcc g++ binutils autoconf automake autopoint libtool-bin make bzip2 libncurses5-dev libreadline-dev zlib1g-dev flex bison patch texinfo tofrodos gettext pkg-config ecj fastjar perl libstring-crc32-perl ruby gawk python2 python-is-python3 libusb-dev unzip intltool libacl1-dev libcap-dev libc6-dev-i386 lib32ncurses5-dev gcc-multilib bsdmainutils lib32stdc++6 libglib2.0-dev ccache cmake lib32z1-dev libsqlite3-dev sqlite3 libzstd-dev netcat curl uuid-dev libssl-dev libgnutls28-dev sharutils -y

4. Execstack installieren
Nun brauchen wir noch execstack, was es nicht in den Paketquellen gibt. Also machen wir das kurz von Hand.

# wget http://ftp.de.debian.org/debian/pool/main/p/prelink/execstack_0.0.20131005-1+b10_amd64.deb
# apt install ./execstack_0.0.20131005-1+b10_amd64.deb

5. Umgebungsvariablen setzen

# echo "export PATH=$PATH:/usr/sbin" >> ~/.bashrc

6. Wechsel zum „normalen“ Nutzer
Ich nenne mein „normalen“ Nutzer hier „user“. Wenn du also „user“ liest, ist das der normale Benutzer.

# su - user
# cd ~

7. Umgebungsvariablen für den User anpassen
Dies müssen wir ebenfalls wie für den Root-Nutzer tun.

# echo "export PATH=$PATH:/usr/sbin" >> ~/.bashrc

8. Das Freetz-NG-Repo downloaden
Nun besorgen wir uns alle Daten und wechseln anschließend in den neuen Ordner.

# git clone https://github.com/Freetz-NG/freetz-ng ~/freetz-ng
# cd ~/freetz-ng

9. Freetz-NG-Konfigurator starten
Nun öffnen wir den Konfigurator, mit dem wir alle Einstellungen vorab treffen können.

# make menuconfig

10. Gewünschte Funktionen Aktivieren / Deaktivieren
Nun können wir unsere FRITZ!Box auswählen und dann neue Funktionen hinzufügen oder abwählen.
Steuern kannst du alles mit den Pfeiltasten und Enter bzw. Leertaste.
Meine empfohlenen Minidesteinstellungen sind folgende:
→ Hardwware series → Hier die passende FRITZ!Box-Gruppe auswählen
→ Hardware type → Hier die passende FRITZ!Box auswählen
→ Target region → Hier bei originalen FRITZ!Boxen das ganze auf „avm germany“ belassen
→ Firmware version → Hier die passende Firmware auswählen. Sofern hinter der Version ein + steht, bedeutet dies, das alle zwischenversionen bis zur nächsten Auswahlmöglichkeit unterstützt werden
→ Webinterface → Hier noch die deutsche Sprache einstellen

Wähle anschließend „SAVE“ aus und speichere die Konfiguration ab.
Über „EXIT“ kannst du den Konfiguratior dann verlassen.

11. Ein Image erstellen lassen
Nun ist es an der Zeit, mit Hilfe der Konfiguration ein Image für unsere FRITZ!Box generieren zu lassen.
Das bekommen wir mit einem einfachen Befehl hin:

# make

Dieser Vorgang kann jetzt eine Weile dauern.
In der Zwischenzeit kannst du dich wie ein echter Hackermann fühlen, denn dein Bildschirm wird gleich mit jeder Menge Informationen geflutet.
Hier zahlt es sich aus, wenn du der virtuellen Maschine viele CPU-Kerne zugewiesen hast.
Bei diesem Vorgang, werden auch noch einige Daten aus dem Internet heruntergeladen. Achte daher nun auf eine stabile Internetanbindung.

Wenn du „FINISH“ ablesen kannst, hat alles funktioniert!

Solltest du einen ERROR bekommen, starte die virtuelle Maschine neu und versuch es noch einmal.
In der Regel gehts dann 🙂

12. Image prüfen
Du kannst nun in den Unterordner „images“ gehen. Dort sollte sich nun eine passende Firmware für deine FRITZ!Box gefinden.

# ls -l images

13. FRITZ!Box vorbereiten
Verbinde deine FRITZ!Box nun mit einem LAN-Kabel (RJ45) mit deinem PC.
Nutze dabei an der FRITZ!Box den LAN-Port 1 und ein RJ45-Port an deinem PC.
Trenne auch jegliche Internetanbindung von deinem PC, sodass er nur noch eine Verbindung zur FRITZ!Box hat, welche mit Freetz-NG ausgestattet werden soll.
Die FRITZ!Box sollte daher auch kein Internetzugang mehr haben.
(DSL-Kabel ziehen / WAN-Port-Kabel ziehen)
Ebenfalls MUSS die Box nun erst mal stromlos sein!

14. Flash-Tool starten
Starte nun in deiner virtuellen Maschine das Flash-Tool, welches gleich die Firmware auf die Box aufspielt.
Du musst nach dem Ausführen das ganze mit Y für YES bestätigen.

# tools/push_firmware

Das Tool wartet nun auf die Box und wird im passenden Moment die aktuellste Firmware aus dem Ordner „images“ aufspielen.

15. Die FRITZ!Box mit Strom versorgen
Versorge nun die Box wieder mit Strom und lass sie starten.
Soweit eine Anbindung zum PC steht, wird das Flash-Tool die Box beim Booten abfangen und die neuste Firmware installieren.
Dieser Vorgang kann 1-2 Minuten dauern.
Die FRITZ!Box wird dabei mehrfach aufleuchten und lustig vor sich hin blinken.

Ist der Vorgang abgeschlossen, gib der Box noch einmal 5 Minuten Zeit, sauber zu starten.

Allgemeiner Hinweis: Auf der Projektseite steht, dass man die Firmware ganz “bequem” per Webinterface hochladen könnte. Das geht seit Firmware-Version >6.5X nicht mehr! Daher müssen wir das Flash-Tool nutzen.

16. Die FRITZ!Box wieder ans Netzwerk anschließen
Du kannst nun die FRITZ!Box wieder ganz normal ans Netzwerk anschließen.
Alle Einstellungen sollten beibehalten worden sein.
War sie z.B. als Repeater in Betrieb, wird sie diesen Job auch wieder aufnehmen.

17. Login ins Webinterface
Öffne nun einen Browser am Rechner, sofern dieser wieder mit dem normalen Netzwerk verbunden ist.
Gehe in die Adressleiste und gebe die IP-Adresse der FRITZ!Box ein.
Du solltest nun das ganz normale Webinterface sehen.
Hast du das Logo geändert, solltest du nun auch ein modifiziertes AVM-Logo sehen.
Das Zugangspasswort für das FRITZ!Box-Webinterface hat sich NICHT geändert.
Du solltest also wie gewohnt rein kommen.

Über den Port 81, steht nun ein neues Webinterface von Freetz-NG zur Verfügung.
Also öffne mal http://192.168.178.1:81 im Webbrowser.
Der Standardlogin hierfür ist erst mal folgender:
Benutzer: admin
Passwort: freetz

Für den SSH-Login gibt es aktuellen folgenden Login:
Benutzer: root
Passwort: freetz

Damit kommen wir auch zum Ende, den Freetz-NG läuft nun auf deiner FRITZ!Box!


Hier habe ich noch weiterführende Links, die dir bei der Fehlersuche helfen könnten.
FAQ wo viele Probleme geklärt sind:
https://freetz-ng.github.io/freetz-ng/wiki/00_FAQ/FAQ.de.html#wie-lautet-das-standard-passwort-f%C3%BCr-freetz

Installationsanleitungen für andere UNIX-Systeme:
https://freetz-ng.github.io/freetz-ng/wiki/10_Beginner/install.en.html#linux

Unterstützte Geräte:
https://freetz-ng.github.io/freetz-ng/FIRMWARES.html

Repos:
https://github.com/Freetz-NG/freetz-ng
https://gitlab.com/Freetz-NG/freetz-ng/-/tree/master
https://bitbucket.org/Freetz-NG/freetz-ng/src/master/


Diese Anleitung wurde mit einer FRITZ!Box 7490 (Frimware 7.29) getestet und erstellt.

2 Kommentare

  1. Hallo ich nochmal. ich vermute diese Fritzbox von mir ist zu alt. Deshalb wird auch kein Image mehr gefunden bei AVM.
    Ich habe das mit einer 7490 getestet da läd er wesentlich länger zeigt aber am Ende auch einen das er libelf.h nichtgefunden hat. Ich werde weiter probieren.

    • Hi René,
      ganz unten steht ein super Hinweis für dich 😉
      Ich habe die Anleitung auch mit Hilfe einer 7490 umgesetzt.
      Die ganzen Revisionen davon sollten noch unterstützt werden. Dafür kann man auch über den FTP die passenden Recoverys runterladen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


CAPTCHA-Bild
Bild neu laden

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.