Fritzbox-Firmware mit praktischen Funktionen aufrüsten

Aus LinuxUser 12/2011

Fritzbox-Firmware mit praktischen Funktionen aufrüsten

© John Wollwerth, 123rf.com

Aufgerüscht

Mit Freetz rüsten Sie eine Fritzbox zur günstigen, stromsparenden eierlegenden Wollmilchsau auf, deren Fähigkeiten einzig die schwachbrüstige CPU begrenzt. Hardware- oder Firmware-Profi brauchen Sie dazu nicht zu sein.

Die Fritzboxen des deutschen Router-Spezialisten AVM [1] sind bekannt für ihren großen Funktionsumfang: Je nach Variante fungiert eine Fritzbox nicht nur als WLAN-Router, sondern auch als Telefonzentrale, Fileserver, Medienserver und Faxgerät. Doch in der Fritzbox steckt das Potenzial für noch viel mehr, denn unter der Haube des meist roten Kästchens tickt ein Linux-Computer, der sich mithilfe der Firmware-Erweiterung Freetz [2] mit zahlreichen neuen Funktionen ausstatten lässt.

Gerade für Linux-Anwender ergeben sich mit Freetz viele interessante Möglichkeiten: So binden Sie dank Freetz auch Datenträger ein, die mit den in der Linux-Welt weit verbreiteten Dateisystemen Ext2, Ext3, Ext4 oder auch ReiserFS formatiert sind. Im Falle der Ext-Dateisysteme ist das erst mit aktuellen Fritzboxen von Haus aus möglich. Zudem lässt sich nach dem “Freetzen” auch ein OpenVPN- oder NFS-Server (siehe Kasten “NFS oder SMB?”) auf der Fritzbox betreiben, wodurch sich die Box viel besser in ein von Linux-Systemen geprägtes Netzwerk integriert.

NFS oder SMB?

Die Leistungsfähigkeit der Fritzbox als günstiger NAS-Server fällt nicht eben berauschend aus: Mehr als 3,5 MByte/s kann sie üblicherweise nicht übertragen. NFS erweist sich jedoch besonders auf schwächeren CPUs, wie sie in Routern oder günstigen NAS zu finden sind, als deutlich schneller. Unsere Test-Fritzbox schaufelte nach dem Freetzen via NFS stolze 5,8 MByte/s an Daten über die Leitung, weitaus mehr also, als zuvor mit SMB.

Bei Freetz handelt es sich um einen kompletten Werkzeugkasten, mit dem Sie für eine Vielzahl von VoIP-Routern aus der Fritzbox-Familie (etwa auch die Telekom-Speedports, von denen viele baugleich zur Fritzbox sind) eine auf der Original-Firmware aufbauende, funktional modifizierte Firmware erzeugen. Dadurch erweitern Sie das Betriebssystem des Routers um interessante Funktionen oder entfernen umgekehrt nicht benötigte Funktionen aus der Original-Firmware, sodass mehr Ressourcen auf dem Router zur Verfügung stehen.

Unschönerweise verbietet die Lizenz des Fritzbox-Quelltextes [3] die Weitergabe angepasster, fertig gebauter Firmware-Images, sodass man die Freetz-Firmware zwangsläufig selbst erzeugen muss. Dank ausgetüftelter Skripte lässt sich das aber auch von eher unerfahrenen Anwendern leicht bewältigen. Besonders auf einem Linux-System geht der Prozess flott und reibungslos von der Hand, da die meisten Linux-Distributionen die benötigten Werkzeuge von Haus aus mitbringen.

Vorbereitungen

Bevor Sie damit anfangen, Freetz auf Ihre Fritzbox zu spielen, sollten Sie über das Webfrontend ihrer Box unter System | Firmware-Update erst einmal überprüfen, ob der Router auf dem aktuellen Stand ist (Abbildung 1). Falls Sie eine Beta-Labor-Firmware [4] installiert haben, dann rollen Sie diese vorab auf den Stand der letzten veröffentlichten Standard-Firmware-Version zurück.

Abbildung 1: Prüfen Sie vor dem Freetzen Ihre Fritzbox auf neue Updates.

Abbildung 1: Prüfen Sie vor dem Freetzen Ihre Fritzbox auf neue Updates.

Dabei gehen ihre Einstellungen für ihre Telefonanbieter oder die Einwahldaten nicht verloren. Dennoch empfiehlt es sich, an dieser Stelle unter System | Firmware-Update | Firmware-Datei ein Backup der Einstellungen vorzunehmen: Im Fall der Fälle können Sie dann später die Einstellungen mit ein paar Mausklicks wieder herstellen.

Compiler und Libs

Unter Linux haben Sie beim Kompilieren der Freetz-Firmware eigentlich leichtes Spiel, denn das System bringt von Haus aus über die Paketverwaltung alles mit, was Sie zum Übersetzen eines Linux-Kernels und von Programmen benötigen. Sie brauchen vor dem Kompilieren der Firmware keine Angst zu haben: Selbst wenn sie bislang keine oder nur wenig Erfahrung mit dem “Bauen” von Programmen besitzen, bekommen Sie die Freetz-Firmware dank der exzellenten Dokumentation problemlos “gebacken”.

Da die meisten Linux-Distributionen von Haus aus keine vollständige Entwicklungsumgebung installieren, müssen sie zum Bauen der Firmware je nach Distribution eine Reihe von Bibliotheken und einen C-Compiler via Paketmanager nachziehen. Die Freetz-Dokumentation listet dazu die für Ubuntu und Fedora benötigten Befehle auf [5], die sie direkt von der Freetz-Website per Copy & Paste in ein Terminalfenster übertragen.

Freetz-Versionen

Nachdem Sie ihr System wie auch die Fritzbox auf das Freetzen vorbereitet haben, können Sie sich an das Kompilieren der Firmware wagen. Zuvor müssen Sie allerdings noch die zu ihnen und ihrer Box passende Freetz-Version wählen.

Aktuell (Stand: Oktober 2011) trägt die offiziell freigegebene Version von Freetz die Nummer 1.1.4. Dazu kommt noch eine Vorschau auf die Version 1.2 und der aktuelle Stand der Entwicklung, Trunk. In anderen Worten: Bei v1.1.4 handelt es sich um die aktuell gültige offizielle Version, bei v1.2 um die aktuelle Beta der nächsten Version, und Trunk bleibt immer im Alpha-Status.

Welche Version Sie nun wählen, hängt nicht zuletzt von ihrer Fritzbox und ihrem Interesse an neuen Entwicklungen ab. Prinzipiell ist es natürlich nie eine schlechte Idee, mit dem offiziellen Release zu arbeiten, doch für eine Reihe von Fritzboxen – wie etwa die Fritzbox Fon 7390 – bietet die Version 1.1.4 noch keinen Support. Eventuell haben Sie also gar keine andere Wahl, als zu Vorschau-Version oder gar zu Trunk zu greifen.

Das größte Problem bei Vorschau-Version und Trunk: Sie können Fehler enthalte, die das erfolgreiche Kompilieren der Firmware verhindern. Im Laufe unseres Test traten immer wieder Situationen auf, in denen sich eine der beiden Versionen nicht erzeugen ließ – entweder, weil Download-Links zu Quellcode-Archiven nicht mehr stimmten oder Fehler beim Übersetzen auftraten. Sollte Ihre Fritzbox mit der offiziellen Version 1.1.4 funktionieren, so ist diese Version für den Einstieg in Freetz ideal.

Welche Freetz-Version nun welche Fritzbox unterstützt, entnehmen Sie am besten den unter [6] verlinkten FIRMWARES-Dateien. Dort sehen Sie, sobald Sie in der Datei etwas herunterscrollen, eine Übersicht der unterstützen Modelle (Abbildung 2). Für die aktuellen AVM-Flaggschiffe wie etwa die Fritzbox 7390 müssen Sie beispielsweise mindestens zur Vorschau-Firmware Freetz 1.2 greifen.

Abbildung 2: Welche Fritzbox wird von welcher Version unterstützt? Die Antwort findet sich in der Datei <code srcset=

FIRMWARES.” width=”300″ height=”181″ /> Abbildung 2: Welche Fritzbox wird von welcher Version unterstützt? Die Antwort findet sich in der Datei FIRMWARES.

Freetz herunterladen und Kompilieren

Nun starten Sie endgültig mit dem Bauen ihrer Freetz-Firmware. Das Herunterladen des Quellcodes erfolgt bei Freetz nicht über einen herkömmlichen Download eines Archivs, sondern über das Auschecken des Codes mittels der Versionsverwaltung Subversion. Die Freetz-FAQ beschreiben das Vorgehen dazu ausführlich [7].

Je nach gewähltem Image und den hinzugefügten Funktionen belegt der Quellcode mit allem Drum und Dran bis zu 4 GByte auf der Festplatte. Es empfiehlt sich, einen Ordner ~/src im Home-Verzeichnis und den Code dort zu lagern. Das Beispiel in den Zeilen 1 bis 4 von Listing 1 lädt den Code für die Vorschau-Version herunter, die Download-Kommandos für die anderen Versionen unterscheiden sich nur wenig. Der Befehl umask 022 beugt Problemen vor, die sonst später beim Aufruf von make menuconfig entstehen könnten.

Listing 1

$ mkdir ~/src
$ cd ~/src
$ umask 022
$ svn co http://svn.freetz.org/branches/freetz-stable-1.2 freetz-1.2-pre
[...]
$ cd freetz-1.2-pre
$ make menuconfig

Nach dem Download des Quelltextes richten Sie als Nächstes Ihr ganz persönliches Freetz-Image individuell ein. Die wenigsten Freetz-Installation gleichen sich, da man zahlreiche Optionen zu- oder abwählen kann. Wechseln Sie dazu im Terminalfenster in das Verzeichnis mit dem Quellcode und führen Sie dann das “Konfigurationsprogramm” aus (Listing 1, Zeilen 6 und 7).

An dieser Stelle wird es nun ein wenig komplizierter, da es eine Flut an Optionen zu bewältigen gilt (Abbildung 3). Eine gute Hilfe bietet hier die Dokumentation zum Kommando make menuconfig im Freetz-Wiki [8], die jede einzelne Option beschreibt. Allerdings müssen Sie gar nicht jeden Schalter auch anfassen: In der Regel sind nur der Hardware type sowie die Auswahl der zu installierenden Patches und Pakete von Bedeutung.

Abbildung 3: Das Konfigurationstool von Freetz.

Abbildung 3: Das Konfigurationstool von Freetz.

Entscheidend ist die Einstellung zum Hardware type: Über diese Auswahl bestimmen Sie, welche Funktionen für ihre Box zur Verfügung stehen. Wählen Sie das falsche Modell, so lässt sich das erzeugte Freetz-Image im besten Fall nicht installieren, im schlimmsten Fall könnte die Fritzbox Schaden nehmen. Die Kennzeichnung Ihrer Fritzbox finden Sie entweder auf der Box selber oder im Administrationsfrontend unter http://fritz.box (Abbildung 4).

Abbildung 4: Was für eine Fritzbox haben Sie?

Abbildung 4: Was für eine Fritzbox haben Sie?

Von hier an können Sie eigentlich alles bis auf die Patches und die Package selection ignorieren. Über einen Patch verändern Sie die Original-Firmware und fügen ihr beispielsweise Unterstützung für die Linux-Dateisysteme Ext2/3/4 hinzu. Alternativ können Sie auch Funktionen der Original-Firmware entfernen, etwa die Hilfe oder die Kindersicherung, um Platz für wichtigere Funktionen zu schaffen. Die Patches greifen also direkt in die Original-Firmware ein und modifizieren den AVM-Kern der Fritzbox. Eine Beschreibung eines jeden Patches finden Sie wieder im Freetz-Wiki [9]. Einen ersten Einblick gewährt die nebenstehende Tabelle “Patches und Pakete für Freetz”, welche die gebräuchlichsten Modifikationen aufführt.

Patches und Pakete für Freetz

Patch Funktion
FREETZMOUNT automatisches Mounten von mit Ext2/3/4 oder ReiserFS partitionierten Datenträgern
remove_help entfernt die Online-Hilfe aus der Original-Firmware
remove_usermand entfernt die in der Fritzbox eingebaute Kindersicherung (verschafft viel Platz)
remove_vpn entfernt die proprietären und unter Linux schlecht nutzbaren VPN-Funktion von AVM (verschafft viel Platz)
Paket Funktion
dropbear Einloggen per SSH
lighttpd schlanker, aber vollwertiger Webserver (spart gegenüber Apache viele Ressourcen)
nano komfortablerer Texteditor für das Terminal
nfs-utils angeschlossene Datenträger über NFS freigeben
OpenVPN leistungsfähige VPN-Lösung, arbeitet hervorragend mit Linux-Gegenstellen
Webfrontend-CGI Funktion
Syslogd-CGI Syslog bequem über das Webfrontend von Freetz auslesen
NFSD-CGI Dateifreigaben für NFS einrichten

Über die Pakete (Abbildung 5) installieren Sie dagegen zusätzliche Software auf ihrer Fritzbox. Ähnlich wie bei der Paketverwaltung einer Linux-Distribution richten Sie dabei verschiedene quelloffene Anwendungen und Dienste auf der Box ein. Auf diesem Weg gelangen beispielsweise ausgewachsene Webserver wie Apache oder Lighttpd, leistungsfähige FTP-Server wie Vsftpd oder VPN-Server wie OpenVPN auf die Fritzbox. Daneben bringen Sie auf diesem Weg zahlreiche weitere Dienste, die in der Linux-Welt äußerst gebräuchlich sind, auf die Fritzbox – zum Beispiel auch den SSH-Server Dropbear, über den Sie sich bequem über SSH auf der Fritzbox einloggen und Änderungen an der Konfiguration vornehmen.

Abbildung 5: Hier wählen Sie die gewünschten Pakete zur Installation aus.

Abbildung 5: Hier wählen Sie die gewünschten Pakete zur Installation aus.

Die Möglichkeit zur Paketinstallation macht – zugegeben – einen Großteils des Charmes von Freetz aus. Lassen Sie aber trotzdem bei der Auswahl der Pakete Vorsicht walten und installieren Sie nicht mehr als unbedingt notwendig. Gerade ältere Fritzboxen verfügen über nur wenig Speicher, sodass sie schnell an die Grenzen ihrer Kapazität stoßen. Sie können im Falle eines Falles später nach und nach weitere Pakete zu dem Freetz-Image hinzufügen – beginnen Sie also besser mit einem schlanken Image.

Bei Paketen, die mit dem Zusatz binary only in der Liste stehen, handelt es sich um reine Binaries, die weder ein Webinterface noch Init-Skripte zum Start des Programms mitbringen. Sie müssen sich also selbst um die Konfiguration und den Aufruf kümmern.

Haben Sie alle gewünschten Einstellungen getroffen und abgespeichert, dann beenden Sie das Konfigurationstool und starten per make das Bauen des Freetz-Images. Im Zuge des Befehls lädt die Routine den Quellcode für den Linux-Kernel sowie die restlichen Bausteine des Freetz-Images aus dem Internet. Stellen Sie also sicher, dass eine Internetverbindung steht – bei einer langsamen Anbindung brauchen Sie obendrein etwas Geduld. Nach dem Ende des Build-Prozesses finden Sie dessen Ergebnis im Unterordner images.

Image installieren

Bislang haben Sie auf der Fritzbox selber kein einziges Byte geändert. Mit der Installation des von Ihnen gebauten Freetz-Images wird sich das jedoch nun ändern. Das Einrichten einer selbst gestrickten Firmware stellt in Bezug auf die Gewährleistung leider immer ein problematisches Thema dar. Bei Problemen mit der Fritzbox, die auf die Installation von Freetz zurückzuführen sind, können Sie auf Unterstützung von AVM nicht hoffen.

Zur Installation des Freetz-Images rufen Sie erneut den Dialog zum Firmware-Update in der Administrationsoberfläche der Fritzbox auf. Diesmal lassen Sie jedoch nicht im Internet nach einem Update suchen, sondern wählen das Aktualisieren über eine Firmware-Datei aus. Dort spielen Sie dann die xxx.image-Datei aus dem firmwares-Ordner als Update ein.

Die Fritzbox bietet auch an dieser Stelle wieder ein Backup der aktuellen Einstellungen an – sollten Sie diese Daten bislang noch nicht gesichert haben, bietet sich an dieser Stelle die letzte Chance dazu. Beim Einspielen der Freetz-Firmware bleiben zwar die Konfigurationsdaten in der Regel erhalten, doch gerade, wenn sie ihre Fritzbox aufwändig eingerichtet haben, sorgt das Backup für ein besseres Gefühl beim Aufspielen der neuen Firmware.

Im Übrigen läuft das Update mit der Freetz-Firmware genauso ab wie ein normales Update mit dem herkömmlichen Image von AVM. Nach einem Reboot und ein paar Minuten Wartezeit meldet sich die Box wieder und versieht wie immer ihren Job. Der Internetzugang, das WLAN und die Telefonie sollten wie gewohnt funktionieren.

Das Webfrontend

Nachdem die Fritzbox durchgestartet ist, melden Sie sich wieder im Webfrontend der Box an. Die Konfigurationsoberfläche sieht nach dem Freetzen praktisch genauso aus wie vorher – bis auf eine kleine Änderung: Je nachdem, welche Pakete Sie installiert haben, gibt es links unten einen neuen Link zum Freetz-Frontend (Abbildung 6). Statt über diesen gelangen Sie alternativ auch direkt über den Aufruf von http://fritz.box:81 an die neuen Einstellmöglichkeiten.

Abbildung 6: Nach dem Firmware-Update finden Sie in der Oberfläche der Fritzbox die zusätzlichen Einträge für das Freetz-Webfrontend.

Abbildung 6: Nach dem Firmware-Update finden Sie in der Oberfläche der Fritzbox die zusätzlichen Einträge für das Freetz-Webfrontend.

Im Freetz-Backend angekommen, müssen Sie sich erneut als admin anmelden. Das zugehörige Passwort lautet zunächst immer freetz. Ändern Sie es am besten sofort ab – Freetz erinnert Sie ohnehin gleich beim Einloggen an das noch unsichere Standard-Passwort.

Nun können Sie durch das neue Webfrontend von Freetz stöbern. Je nachdem, welche Komponenten Sie in das Freetz-Image eingebaut haben, kommen hier neue Einstellungen hinzu beziehungsweise fehlen im Vergleich zu Abbildung 7 einige.

Abbildung 7: Das Webfrontend von Freetz bietet je nach den installierten Paketen eine ganze Reihe neuer Möglichkeiten.

Abbildung 7: Das Webfrontend von Freetz bietet je nach den installierten Paketen eine ganze Reihe neuer Möglichkeiten.

Fazit

Das Freetzen einer Fritzbox stellt gerade für Linux-Anwender ein sehr lohnenswertes Unterfangen dar. Die Box lässt sich so zu einer günstigen, stromsparenden eierlegenden Wollmilchsau umbauen, deren Fähigkeiten alleine durch die schwachbrüstige CPU ausgebremst werden.

FTP, NFS, OpenVPN und SSH verbessern das Zusammenspiel mit Linux deutlich. Das Schöne daran: Sie müssen diese zusätzlichen Funktionen nicht mit funktionalen Defiziten an anderer Stelle erkaufen. Die neuen Fähigkeiten beeinträchtigen die wichtigsten Funktionen der Fritzbox – den Internetzugang und die VoIP-Telefonie – in keiner Weise.

Zwar ist das Erzeugen und Einrichten eines Freetz-Images mit ein wenig Aufwand verbunden, doch dank der guten Dokumentation findet man sich auch als Einsteiger in der Thematik gut zurecht. Die gewonnen Funktionen rechtfertigen auf jeden Fall den Umstieg auf Freetz. 

Infos

[1] AVM-Fritzbox-Webseite: http://www.avm.de/de/Produkte/FRITZBox/

[2] Freetz: http://freetz.org/

[3] Fritzbox-Firmware-Info (FTP): http://tinyurl.com/lu1211-avminfo

[4] Fritzbox-Beta-Firmwares: http://www.avm.de/de/Service/Service-Portale/Labor/

[5] Zum Kompilieren nötige Pakete: http://tinyurl.com/lu1211-freetzpakete

[6] Welche Freetz-Version für welche Fritzbox: http://tinyurl.com/lu1211-freetzfaq

[7] SVN-Befehle zum Download: http://freetz.org/wiki/FAQ#TrunkBranchesTags

[8] Freetz konfigurieren: http://tinyurl.com/lu1211-freetzcfg

[9] Freetz-Patches: http://freetz.org/wiki/patches

Der Autor

Christoph Langner arbeitet für die PTV AG Karlsruhe in Karlsruhe im Bereich des Testmanagements und ist seit Jahren im Bereich der Open Source Software aktiv. Sie finden sein Blog rund um GNU/Linux auf http://linuxundich.de.

LinuxUser 12/2011 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

1 Kommentar
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
mike
6 Jahre her

FB 7490 ohne Freetz mit aktueller FW 07.12
> GIGA-LAN
> USB3-HUB an einem der zwei USB3-Ports der FRITZ
> 4 NTFS-Festplatten mit je 2 Partitionen a 3,64 TB an USB3 (insg. 29,12 TB)
TRANSFERRATE SMB> ca 13 MB/s
TRANSFERRATE FTP> bei 25 MB/s !
Media-Server der FB ist deaktiviert
Geht’s mit Freetz und NFS-MOUNT und EXT3 schneller ?????
Aber 29 TB von nfts auf ext3 deshalb neu formatieren ???? lol

Nach oben