Folgende Files werden benötigt (Versionen zum Zeitpunkt des schreibens des Artikel):
Nach dem Download der Dateien wird das Netzwerk vorbereitet:
3 Terminals öffnen:
Terminal 1 | zum ausführen von Skripten |
Terminal 2 | ping 192.168.178.1 |
Terminal 3 | ping 192.168.1.1 |
Zum ersten Flash wie folgt vorgehen:
./scripts_flashing_eva_ramboot.py 192.168.178.1 openwrt-19.07.7-lantiq-xrx200-avm_fritz7412-initramfs-kernel.bin
Es dauert ca. 1 Minute, bis die Fritz!Box durchgestartet ist und im Terminal 3 der Ping erfolgreich ist. (Durch den Reboot pingt es noch kurz in Terminal 2, nicht erschrecken.)
Hat das nicht geklappt, dann den Vorgang noch einmal durchführen: Ausschalten -> Einschalten -> script ausführen, wie oben beschrieben
Im Terminal 1 mit der Fritz!Box verbinden
ssh root@192.168.1.1
Der Login sollte ohne Passwort funktionieren, anschließend wieder ausloggen (<STRG>-<D> oder exit).
Die Freifunk-Firmware auf den Router installieren und dazu in Terminal 1 folgendes eingeben:
scp gluon-ffbs-next-v2020.2.2.2-ffbs-next-202103281243-parker_beta-avm-fritz-box-7412-sysupgrade.bin 192.168.1.1:/tmp
ssh root@192.168.1.1
sysinstall /tmp/gluon-ffbs-next-v2020.2.2.2-ffbs-next-202103281243-parker_beta-avm-fritz-box-7412-sysupgrade.bin
Nun kann wie gehabt über http://192.168.1.1 die Konfiguration erfolgen.
Es kann vorkommen, dass nach dem reboot wieder die Orginal-Firmware zu sehen ist. Dann kann folgendes helfen:
Dadurch wird die richtige Boot-Partition ausgewählt.
Wer Linux noch nicht genutzt hat, kennt es vielleicht nicht. Aber es macht das Leben unwahrscheinlich einfach, die TAB-Taste in der Shell.
Beispiel: der sysinstall-Befehl. Es ist ziemlich mühsam, das ganze gluon-ffbs-next-v2020.2.2.2-ffbs-next-202103281243-parker_beta-avm-fritz-box-7412-sysupgrade.bin einzutippen. Das geht dann viel einfacher über:
sysinstall /tmp/gl und nun einmal die TAB-Taste drücken. Da es keine weitere Datei in dem Verzeichnis /tmp/ gibt, wird der Rest einfach ersetzt.
Wenn man öfters Router flashed, dann kommt bei der Verbindung via SSH ein Host-Key-Exchange-Error und man muss den Host-Identifier manuell löschen. Das nervt mit der Zeit.
Hier hilft das Anlegen einer ~/.ssh/config Datei mit folgendem Inhalt:
Host neu
User root
Hostname 192.168.1.1
IdentityFile .ssh/id_rsa_ff_router
StrictHostKeyChecking no
LogLevel ERROR
UserKnownHostsFile /dev/null
Daduch vereinfachen sich die Befehle von oben ein wenig. aus 192.168.1.1 wird neu. Ein Paar Beispiele:
## vorher
ssh root@192.168.1.1
## nachher
ssh neu
## vorher
scp <FIRMWAREFILE> 192.168.1.1:/tmp
## nachher
scp <FIRMWAREFILE> neu:/tmp