Zum Inhalt

OpenWrt Upgrade auf 23.05.0 einer FRITZ!Box 4040 - Pain in the Ass!

Image by PDPics from Pixabay

Das Update meiner FRITZ!Box 4040 auf die aktuellste Version von OpenWrt 23.05.0 war diesmal ein absolutes Disaster. Update war erfolgreich, das Einspielen des Backups ein absolutes Ärgernis❗️Die Box war danach nicht mehr erreichbar, keine LED hat irgendetwas angezeigt, alles war schwarz.

Wer mit OpenWrt zu tun hat, dem ist durchaus bekannt, Upgrades auf neuere Versionen können ihre Tücken haben.

Nach Jahren der unkomplizierten Nutzung und auch Aktualisierung hat es nun auch mal mich erwischt 🤦‍♂️

Aber es gibt durchaus auch Möglichkeiten die FRITZ!Box 4040 wieder mit der Version 23.05.0 zum Laufen zu bekommen.

Was ist passiert?

Eine neue Version für die FRITZ!Box 4040 von OpenWrt wurde veröffentlicht, also war mal wieder ein Upgrade angesagt.

Ich habe dazu meine Anleitung befolgt 👉 OpenWrt Upgrade, hat bisher ja funktioniert.

Das Upgrade auf die neuste OpenWrt-Version konnte ohne Problem eingespielt werden. Die FRITZ!Box 4040 hat auch nach einer sehr langen Zeit mit der neuen OpenWrt gebootet und ich konnte mich per LuCi verbinden und ein neues Passwort setzen.

Auch der nächste Schritt, das Einspielen des Backups hat über LuCi funktioniert. Bis die Box einen Neustart gemacht hat.

Während des Neustarts ist etwas schiefgelaufen. Alle LEDs blieben schwarz. Eine Verbindung war nicht mehr möglich. Pain in the Ass❗️🤦‍♂️

Aber es gibt durchaus noch Möglichkeiten die FRITZ!Box 4040 wieder zu erreichen und auch mit einer neuen OpenWrt Version 23.05.0 zu flashen. Die Schritte sind nachfolgend erläutert.

Gut zu wissen!

Die FRITZ!Box 4040 ist sofort nach dem Anschluss an den Strom und bevor das Betriebssystem startet über die IP-Adresse 192.168.178.1 erreichbar. Erst nach einigen Sekunden wird das OS, wie z.B. OpenWrt, gestartet und die IP-Adresse wechselt von 192.168.178.1 auf eine andere Adresse.

Das machen wir uns zunutze. Während diesen paar Sekunden ist eine FTP-Verbindung zur Box möglich und die Rettung! 🥳

Die wenigen Sekunden sind ausreichend, damit von unserem Client aus das aktuelle OpenWrt-Image auf die FRITZ!Box 4040 geladen werden kann.

Nach dem Upload startet die Box neu, mit OpenWrt.

Vorbereitung

OpenWrt Image

Das aktuellste Image von OpenWrt ist von der offiziellen Website herunterzuladen.

OpenWrt Image für FRITZ!Box 4040

fritzflash.py

Im Internet kursieren die Anleitungen, das man mit Linux und Apple einfach per FTP die OpenWrt auf die FRITZ!Box 4040 laden kann.
Leider geht das nicht mehr mit neuen Apple Betriebssystemen. FTP wurde anscheinend aus Sicherheitsgründen entfernt. FileZille und Co sind zu umständlich.

Eine einfache Möglichkeit ist das Python-Skript fritzflash.py von Freifunk Darmstadt, dass auf Github verfügbar ist. Das Skript ist auf den eingen Client herunterzuladen.

Es wurden verschiedene FRITZ!Box-Modelle mit dem Skript getestet. Es werden eine Vielzahl an AVM-Geräten automatisch erkannt, was sehr einfach und benutzerfreundlich ist.

Python muss auf dem eigenen Client installiert sein, um das Skript starten zu können.

Gemeinsamer Ordner

Beide Tools, Image und Python-Skript, liegen nun auf der eingen Festplatte.

  1. Legt einen neuen Ordner an mkdir 4040-openwrt
  2. Verschiebt Image und Skript, in diesen neuen Ordner

OpenWrt-Image umbenennen

Das OpenWrt-Image ist umzubenennen, damit es vom Python-Skript gefunden werden kann.

Das Skript fritzflash.py führt einige FRITZ!Box-Modelle auf, die es automatisch mit einem Image flashen kann.

In Ziele 243 findet sich auch die FRITZ!Box 4040

...

        "227": {
            "gluon": [
                "avm-fritz-box-4040-bootloader.bin"

...

Da es einfacher ist den Namen des Skripts zu ändern, als das Skript, wird der Name des OpenWrt-Images geändert.

# alter Name
https://downloads.openwrt.org/releases/23.05.0/targets/ipq40xx/generic/openwrt-23.05.0-ipq40xx-generic-avm_fritzbox-4040-squashfs-eva.bin

# neuer Name
avm-fritz-box-4040-bootloader.bin

Netzwerkeinstellungen des Betriebssystems anpassen

Die FRITZ!Box 4040 kann während des 10 Sekunden Bootvorhangs per FTP erreicht werden. Damit unser Client auf die Box zugreifen kann, muss er

  1. eine statische IP-Adresse erhalten, z.B. 192.168.178.2
  2. WLAN muss deaktiviert sein
  3. der Client muss per LAN an einer LAN-Buchse an der FRITZ!Box 4040 per LAN-Kabel angeschlossen werden. (z.B. an LAN 1)

Die Netzwerkeinstellungen für die Ethernet-Schnittstelle werden in den Systemeinstellungen angepasst.

IP-Adresse: 192.168.178.2
Subnetz: 255.255.255.0
Router: 192.168.178.1

Beschreibung

WLAN ist auf dem Client zu deaktivieren, falls vorhanden.

Beschreibung

Flaschen von OpenWrt auf FRITZ!Box 4040

Das paar Sekunden Zeitfenster sind sehr wichtig einzuhalten. Damit das nicht verpasst wird, ist die FRITZ!Box 4040 vom Client aus zu pingen.

PING - CLI-Fenster 1

Ping an die FRITZ!Box 4040 senden.

ping 192.168.178.1

Python Skript ausführen - CLI-Fenster 2

Wird der PIN erwidert, ist sofort das Python Skript fritzflash.py in einem anderen CLI-Fenster zu starten.

pyhon3 fritzflash.py

Das wars! Los gehts mit dem Flashen!

Der ganze Prozess kann einige Zeit dauern, also Geduld mitbringen oder einen Kaffee ☕️ holen. 😀

Auf der CLI wird man über den ganzen Prozess informiert.

python3 fritzflash.py

This program will help you installing Gluon, a widely used Firmware for Freifunk networks, onto your AVM device.
You can always find the most current version of this script at https://www.github.com/freifunk-darmstadt/fritz-tools

It is strongly recommended to only connect your computer to the device you want to flash.
Try to disable all other connections (Ethernet, WiFi/WLAN, VMs) if detection fails.

Sometimes an unmanaged switch between your AVM device and your computer is helpful.

Before we start, make sure you have assigned your PC a static IP Address in the Subnet of the device you want to flash.
The following example would be a completely fine option:

IP-Address: 192.168.178.2
Subnet: 255.255.255.0
Gateway: 192.168.178.1
DNS Servers: Leave blank

Once you're ready to flash, press enter, disconnect power from your AVM device and reconnect the power-supply.

Trying to autodiscover! Abort via Ctrl-c.
FritzBox found at 192.168.178.1

Autodiscovery successful!
-> Device detected at 192.168.178.1.

Starting automatic image-selection!
-> Establishing connection to device!
--> Try 1 of 10
-> Automatic image-selection successful!
--> Will flash /Users/destroy/Downloads/4040/avm-fritz-box-4040-bootloader.bin
-> Establishing connection to device!
--> Try 1 of 10
-> Flash image

Writing Gluon image to your AVM device...
This process may take a lot of time.

First, the device will erase its current Operating System.
Next, the device will write the Gluon image to its memory.
The red Info LED will illuminate in this step. Don't worry, this is expected behavior.

Do *not* turn off the device!

We will tell you when your device has finished installing Gluon (this may take a while).
-> Image write successful
-> Performing reboot

== Congratulations! ==

Your device is now running Gluon.
It will restart and in 2-5 minutes you will be able to visit its config-mode.
Remember to reconfigure your interface to automatically obtain an IP-address!
You can reach config-mode by typing in http://192.168.1.1/ in your preferred Webbrowser.

Press any key to exit.

Die rote Info-LED 🟥 an der FRITZ!Box 4040 leuchtet während des Prozesses irgendwann permanent rot. Das ist kein Problem, einfach warten, das ist so gewollt.

Nach einiger Zeit werden alle LEDs schwarz und die Box startet neu.

Wenn die Power LED permanent 🟩 leuchtet, ist die FRITZ!Box 4040 fertig und OpenWrt installiert.

Über den Webbrowser kann nun eine Verbindung zu LuCi hergestellt werden:

http://192.168.1.1

Nicht vergessen!

Die Netzwerkeinstellungen des Betriebssystems wieder auf den ursprünglichen Zustand zurückzusetzen.

WLAN kann ebenfalls wieder aktiviert werden.

Die FRITZ!Box 4040 kan mit dem eigenen Netzwerk über die Schnittstelle wan verbunden werden und ist damit wieder im eingenen Netzwerk über die gewohnte Adresse erreichbar.

Wie gehts weiter?

Die Ursache des Problems konnte ich nicht klären. Vielleicht lag es an einem Problem mit dem Backup, dass ich versucht habe wieder herzustellen oder ein Problem mit dem OpenWrt selbst. 🤷‍♂️

Ich habe für mich den Weg gewählt die Konfiguration Schritt-für-Schritt wieder manuell herzustellen und dabei die Einstellungen zu prüfen.

Vielleicht bringt das Einspielen eines anderen Backup den Erfolg und OpenWrt läuft danach ohne Probleme. Das habe ich jedoch selbst nicht getestet.

Wenn es dazu Erkenntnisse gibt, freue ich mich über eine 💡 Nachricht.

All articles of the OpenWrt blog series

Gib mir gerne einen Kaffee ☕ aus ❗️

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Source

Image by PDPics from Pixabay