O2 ADSL2+ via Fritz!Box 7520

Motivation

Wir sind seit geraumer Zeit Internet-Kunden bei O2, und eigentlich fast zufrieden. Die an unserem Standort technisch möglichen 16MBit liegen an, auch der Upload ist mit 2MBit für eine alte Kupferleitung ok.
Aber es gibt eine Sache, die tierisch nervt: So gefühlt einmal im Jahr fängt der Anschluss an instabil zu werden, Verbindungen brechen ab und die Datenrate zusammen. Jedes mal wenn ich dann bei der Hotline anrufe wird ein Ticket aufgemacht, die Leitung gemessen und mir mitgeteilt, dass technisch alles in Ordnung sei und ich doch mal den Router neustarten soll. Das hilft dann meist einen halben Tag, und dann geht es wieder los. Das ging soweit, dass mir vor 2 Jahren ein neuer Router zugesendet wurde. Dann war eine weile Ruhe, und dann ging es wieder los. Das letzte mal sollte ich dann der Router auf Werkeinstellungen zurücksetzen, wodurch natürlich meine ganzen Firewall- und Port-Forwarding-Einstellungen flöten gehen.

Letzte Woche war es wieder so weit: Die Datenrate im Download ging runter auf 0.4MBit/s. Wiedermal hat die Hotline ein Ticket aufgemacht, wiedermal war technisch alles ok. Wieder wurde mir angeboten einen neuen Router zuzusenden.

Aber: ich bekomme langsam den Eindruck, das die O2-Homeboxen Murks sind. Außerdem war mir schon lang ein Dorn im Auge, dass ich mit der O2-Homebox ein Gerät im lokalen Netzwerk habe, das nicht unter meiner Kontrolle ist und potenziell unbemerkt im Netzwerk wildern kann. Die Lösung bisher war, hinter dem O2-Router noch einen eigenen Router mit OpenWRT zu betreiben. Ist aber irgendwie auch nur ein Workaround.

Anschaffung

Also habe ich mich mal umgeschaut, was es für Router gibt, die

  • ein eingebautes DSL-Modem mitbringen und
  • mit OpenWRT betrieben werden können

Dabei stieß ich im Wiki auf die Fritz!Box 7520 und belas mich dazu. Stand März 2025 scheint die FB 7520 – mit Ausnahme der DECT-Telefonie – voll unterstützt zu werden

  • wenn man kein Modell FRITZ!Box 7530 AX erwischt
  • wenn man kein Modell vom Typ B erwischt – hier wird das DSL-Modem nicht unterstützt

Also schaute ich bei eBay und fand eine Fritzbox passenden Typs für 42 € nur 8km entfernt! Perfekt!

Allerdings lief ich beim Setup in ein paar Fallen, die dazu führten dass nicht alles ganz reibungslos lief:

Die Standard-OpenWRT-Installation bringt nämlich nur die Firmware für den Datenübertragungsstandard nach Annex A mit. In Deutschland, zumindest an unserem Standort, verwendet O2 aber Annex B.

Deshalb soll im Folgenden beschrieben werden was ich tun musste, um die Box ins Internet zu bekommen.

Flashen von OpenWRT

Nach Überprüfung der grundsätzlichen Funktion des Geräts mit der Orignal-Fritz!-Firmware musste zunächst OpenWRT installiert werden.

Das geht grundsätzlich nach der Open-WRT-Anleitung, soll hier aber nochmal auf deutsch beschrieben werden:

Falls man eine (fast) baugleiche Fritzbox 7530 hat, sollte die Anleitung ebenso funktionieren; hier muss man in den folgenden Schritten jeweils 7520 durch 7530 ersetzen.

Als erstes müssen ein paar Dateien mit der benötigten Firmware für den Router heruntergeladen werden. Die jeweils aktuellen Links finden sich auf der Anleitungsseite:

Das eigentliche Aufspielen der Software OpenWRT geht dann in zwei Schritten:

  1. Starten eines temporären Hilfs-Systems, welches nicht fest installiert wird
  2. Eigentliche Installation von Hilfs-System aus

Starten des temporären Systems

Die Fritzboxen sind so organisiert, dass sie beim Start für einen kurzen Augenblick eine bestimmte Adresse „anrufen“, ob dort eine Software-Update bereitsteht. Dies wird genutzt, um vorübergehend ein Hilfssystem zu laden.

Die Adresse, die abgerufen wird ist die 192.168.178.10. Damit man der Fritzbox das Hilfssystem „unterjubeln” kann, muss man also dafür sorgen, dass der eigene Rechner diese Adresse hat. Im Linux-Networkmanager kann man dafür einfach ein neues Profil einrichten:

Networkmanager 1 Networkmanager 2 Networkmanager 3 Networkmanager 4

Wenn die Verbindung eingerichtet ist:

  • Fritzbox von der Stromversorgung trennen
  • Rechner an einen der gelben LAN-Anschlüsse der Fritzbox anschließen
  • Terminal öffnen, in das Verzeichnis wechseln, in welches die oben genannten Dateien gespeichert wurden
  • chmod +x eva_ramboot.py ausführen, um das Script startbar zu machen
  • Befehl eingeben (oder kopieren, aber noch nicht ausführen):
    ./eva_ramboot.py --offset 0x85000000 192.168.178.1 uboot-fritz7520.bin
  • Fritzbox an Strom anschließen. Sobald am Netzwerkstecker des Rechners die LEDs anspringen <Enter> drücken, um das Script auszuführen.

Damit sollte uBoot gestartet werden, welches seinerseits prüft, ob eine neue Firmware unter der Adresse 192.168.1.70 verfügbar ist. Man kann also ein weiteres LAN-Profil anlegen, bei dem der eigene Rechner statisch diese Adresse erhält.

Dann sollte auf dieser Adresse ein tftp-Servert laufen. Dazu kann unter Arch Linux z.B. atftp verwendet werden. Dieser stellt dem Router dann die Firmware zur Verfügung:

cd /ordner/in/welchem/die/heruntergeladenen/dateien/liegen/
sudo atftpd --user $(id -un).$(id -gn) --daemon --no-fork --logfile - .

Bis jetzt sind alle Änderungen flüchtig gewesen und würden bei einem Neustart zerstört. Jetzt gilt es, die Firmware dauerhaft auf die Fritzbox zu laden:

Eigentliche Installation vom Hilfs-System aus

Übertragen der Firmware auf den Router und schreiben des Bootloaders:

scp /tmp/uboot-fritz7520.bin root@192.168.1.1:/tmp/
scp /tmp/avm_fritzbox-7520-squashfs-sysupgrade.bin  root@192.168.1.1:/tmp/
ssh root@192.168.1.1
# Überschreiben des Bootloaders:
mtd write /tmp/uboot-fritz7520.bin uboot0
mtd write /tmp/uboot-fritz7520.bin uboot1

Löschen einiger (nicht mehr benötigter) AVM-Partitionen:

ubirmvol /dev/ubi0 --name=avm_filesys_0
ubirmvol /dev/ubi0 --name=avm_filesys_1

Screiben der endgültigen Firmware:

sysupgrade -n /tmp/openwrt-24.10.4-ipq40xx-generic-avm_fritzbox-7530-squashfs-sysupgrade.bin

Danach sollte die Box neu booten und nach wenigen Minuten mit OpenWRT bereitstehen.

Jetzt sollte das Netzwerk am PC wieder auf automatische Adressvergabe (DHCP) eingestellt werden, damit man im Webbrowser http://192.168.1.1 öffnen kann.

Einrichtung

Als erstes sollte man sich an der Web-Oberfläche (ohne Passwort) anmelden und dann ein Passwort setzen:

Anmeldung ohne Passwort Passwort ändern

Wenn man dann auf die Status-Seite geht dürfte man folgendes Problem sehen:

WAN: Network device is not present

Durch ein Forum wurde ich auf folgendes Problem aufmerksam:

Die Software für die Fritzbox enthält für das Modem eine Firmware-Datei, die mit Annex A funktioniert; für O2 in Deutschland wird aber Annex B benötigt.

Es muss also die Treiber-Datei ausgetauscht werden.

Firmware für Annex J

Diese kann man von folgender Seite holen: https://xdarklight.github.io/lantiq-xdsl-firmware-info

Dort sucht man im Bereich xDSL firmware files for VRX500 nach einer Version mit den folgenden Eigenschaften:

  • Application Type = VDSL over ISDN incl. vectoring support
  • ADSL Annex = B
  • Release Type = Release

Bei mir war die neuste passende Datei „8.B.2.6.0.7-8.B.0.B.0.2“ – diese habe ich heruntergeladen

Auf meinem PC also:

wget https://fw.draytek.com.tw/Vigor2765/Firmware/v4.4.2/Vigor2765_v4.4.2_STD.zip
unzip Vigor2765_v4.4.2_STD.zip

Die heruntergeladene und entpackte Datei enthält die benötigten Firmware-Bausteine. Damit diese entpackt werden können, braucht es noch ein Hilfs-Script (von einer anderen Quelle)

wget https://github.com/aimacintyre/xdsl-modem-fw-tools/archive/refs/heads/main.zip
unzip main.zip
# entpacken der Firmware:
xdsl-modem-fw-tools-main/extract_dtv_fw.py v2765_std_442.all
# (dauert ne Weile)
xdsl-modem-fw-tools-main/extract_ltq_xdsl_files.py v2765_std_442.all.fw

Damit sollten dann die folgenden Firmware-Dateien bereitstehen:

  • xcpe_8.B.0.F.0.7_8.B.0.7.0.1.bin
  • xcpe_8.B.2.6.0.7_8.B.0.B.0.1.bin
  • xcpe_8.B.2.6.0.7_8.B.0.B.0.2.bin
  • xcpe_8.B.2.8.1.7_8.B.0.8.1.2.bin

diese habe ich umbenannt zu:

  • xcpe_8B0F07_8B0701.bin
  • xcpe_8B2607_8B0B01.bin
  • xcpe_8B2607_8B0B02.bin
  • xcpe_8B2817_8B0812.bin

Diese Dateien schubst man nun auf den Router:

scp xcpe_8B*.bin root@192.168.1.1:/lib/firmware/

Jetzt kann man die mitgelieferte Firmware gegen die neu Hinzugefügte tauschen:

ssh root@192.168.1.1
cd /lib/firmware
rm vdsl.bin ; ln -s xcpe_8B2817_8B0812.bin vdsl.bin

Außerdem muss man in noch ein Tagging für VLAN 7 konfigurieren:

vi /etc/config/network

Dort bei config interface 'wan' die Zeile option device 'dsl0' zu option device 'dsl0.7' ändern.

Wenn man jetzt den Router neu startet, sollte die neue Firmware geladen werden

device dsl0 / dsl0.7 appears

Danach muss man nur noch Benutzername/Passwort richtig einstellen, dann sollte es laufen:

Benutzername und Password vom Provider eintragen

Neuen Kommentar hinzufügen

Eingeschränktes HTML

  • Erlaubte HTML-Tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • Website- und E-Mail-Adressen werden automatisch in Links umgewandelt.