Recovery-Modus und Passwort-Reset

Wie komme ich auf den Router, wenn ich das Passwort nicht mehr weiß?

Sollte man mal sein Passwort vergessen haben oder hat man sich beim Konfigurieren aus dem Router ausgesperrt, gibt es einen Recoverymodus.

Dieser ist ausführlich auf openwrt.org/de/doc/howto/generic.failsafe dokumentiert.

Recovery-Modus auslösen via Hardware-Reset-Taster

  1. Setzen Sie die IP-Adresse Ihres Computers auf 192.168.1.2 und die Subnetzmaske auf 255.255.255.0, weil im Failsafe-Modus kein DHCP-Server läuft und OpenWrt oder Freifunk somit keine IPs vergibt
  2. Starten Sie ihr Gerät neu indem Sie den Strom unterbrechen
  3. Lösen Sie nun den Failsafe-Modus während des Bootvorganges aus, indem Sie im richtigen Zeitfenster den Hardware-Reset-Taster einmalig betätigen
    • Das Zeitfenster ist 2 Sekunden lang beginnt aber je nach Gerät bei so 6 Sekunden bis teils 60 Sekunden und ganz selten noch länger (z.B. DIR-300 A) nachdem das Gerät am Stromkreis angeschlossen worden ist.
    • wenn Sie den Beginn des Zeitfensters für Ihr Gerät nicht kennen, drücken Sie einfach wiederholt den Hardware-Reset-Taster so lange, bis Sie sehen, dass OpenWrt im Failsafe-Modus gebootet hat. Keine Angst, es passiert nichts, wenn sie den Taster zum “falschen Zeitpunkt” drücken. ;-) Es ist falsch, den Taster gedrückt zu halten, da lediglich beim Drücken einmalig und beim Loslassen wieder einmalig ein IRQ gesendet wird. Um im Zeitfenster den IRQ zu senden, müssen Sie also wiederholt drücken!
  4. Dass OpenWrt in den Failsafe-Modus gebootet hat, lässt sich z.B. daran erkennen, dass sie System-LED schnell blinkt oder eben daran, dass 192.168.1.1 pingbar ist
  5. Sie können sich nun über SSH mit ssh root@192.168.1.1 verbinden. Wenn nach einem Passwort gefragt wird, einfach ENTER drücken! `bash ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null root@192.189.1.1 Unter Windows können Sie zum Beispiel Putty für SSH verwenden.

Im Failsafe-Modus

Im Failsafe-Modus besteht das OpenWrt-root-Dateisystem nicht aus dem mini-fo-Dateisystem, welches eine Kombination von SquashFS- und JFFS2-Dateisystem ist, sondern lediglich aus der SquashFS-Partition. Die JFFS2-Partition wird gar nicht eingehängt. Um nun Reparaturen auf der JFFS2-Partition vornehmen zu können, müssen Sie diese zunächst beschreibbar einhängen. Am einfachsten geht das mit Hilfe eines Skriptes:

mount_root

Falls du dein Passwort vergessen hast, erstelle ein neues mit:

passwd

Falls du die IP des Routers vergessen hast, kannst du sie ermitteln mit:

uci get network.lan.ipaddr

Oder ruf das Skript firstboot auf - alle Einstellungen werden zurückgesetzt:

firstboot -y

Wenn alle Arbeiten im Failsafe-Modus erledigt sind, ruf

reboot -f

Probleme beim Erreichen des Routers mit IPv4

Sollte es Probleme beim Erreichen des Routers über die IPv4-Addresse geben (192.168.1.1) so kann man das auch über IPv6 versuchen.

Jedes Gerät, das IPv6 spricht, denkt sich ganz von alleine eine fe80::/64 Adresse aus. So können zwei Geräte über diese fe80-Adresse kommunizieren, ohne dass sich jemand um das Einstellen der IP-Adressen kümmern musste.

Wenn ihr per Ethernet also direkt mit dem Freifunk-Router verbunden seid, könnt ihr seine IPv6-Adresse mit folgenden Befehl herausfinden:

ping ff02::1%eth0

Dies ist ein Ping auf alle Geräte im lokalen Netz, das bei euch am Interface eth0 angeschlossen ist. Heißt euer Netzwerkinterface anders, müsst ihr eth0 natürlich durch diesen Namen ersetzen.

Ihr solltet nun eine Antwort von zwei verschiedenen fe80::-Adressen bekommen. Die eine Adresse habt ihr selber. Die andere Adresse ist der Freifunk-Router, mit dem ihr verbunden seid.

Nun könnt ihr euch ganz normal mit ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null root@fe80::aaaa:bbbb:cccc:dddd%eth0 mit dem Router verbinden. aaaa:bbbb:cccc:dddd sollte natürlich die Adresse eures Routers sein!

Auch über den Webbrowser kann man sich mit dieser Adresse verbinden. Allerdings bietet der Recovery-Modus keinen Webbrowser an. Wenn ihr aber die Adresse eures Routers nicht kennt, kann das auch helfen.

http://[fe80::aaaa:bbbb:cccc:dddd]/

Im Browser wird die IPv6-Adresse in eckigen Klammern angegeben.