Bei einem Router (UniFi OutdoorAP+) ist es zuletzt zweimal vorgekommen, dass der Router nur noch bedingt erreichbar war. Ein Zugriff war noch über die link local-Adresse auf dem Mesh- bzw. Batman-Interface möglich. Nachdem ich das Gerät dann via SSH neu gestartet habe, war es komplett offline. Erst ein zweiter Reboot hat die Störung behoben.
Ohne jetzt die genaue Ursache finden zu müssen, würde es mir schon reichen, wenn ich beim Neustart über SSH dafür sorgen kann, dass das Gerät anschließend von alleine noch einmal neu startet. Wie kann man das am geschicktesten anstellen?
Hmmm ich will ergaenzen, dass man das evtl auch als Bugreport fuer diesen gluon Port eintueten sollte. Die HW wird ja anscheinend ohne Powercycle nicht vollstaendig geruecksetzt. Allerdings will ich nicht ausschliessen, dass es Faelle gibt, wo das einfach nicht geht. Ein steuerbares Relais waere nett o.ae.
Zum zweifachen reboot faellt mir ein (mi)cron job ein, der eine state Variable in einem File hochzaehlt.
Man traegt selbst nur den Job als solchen ein. Der bootet dann zweimal und traegt sich selbst wieder aus. Dann ist das fire and forget. Simple state engine wie folgt:
if no state then state=new
case $state is
new: state=2ndreboot
reboot
2ndreboot: state=leaveagain
reboot
leaveagain: rm cronjob file …(oder so)
Zum start cronjob aktiv schalten, der o.a. jedes Mal aufruft
Prinzip sollte vor allem klar werden. Daher nicht gleich Shellcode.
Hehe hier steht im Loesungsquote aber bloederweise genau der falsche Absatz, der ja eher BTW war…
(ich weiss aber nicht, ob man darauf Einfluss hat, ich habe das noch nie gemacht).
Klingt nach dem NetIf-Problem, das zuminst in OpenWRT-CC erhebliche Probleme bereiten kann.
Das ist dann so eine Art "LockIn-Syndrom: Knoten läuft, nur hat das BrClient (und auch einige andere Interfaces) keine normale IP bekommen, sondern nur FE80er-Linklocals.
Man könnte das auch anders lösen, aber „br-client-Switch keine ip aus dem Prefix der Firmware: definitiv was hinüber!“
# br-client without ipv6 in prefix-range
if [ "$(ip -6 addr show to "$(jsonfilter -i /lib/gluon/site.json -e '$.prefix6')" dev br-client | grep -c inet6)" == "0" ]; then
now_reboot "br-client without ipv6 in prefix-range (probably none)"
fi
Sollte es nicht für das Gerät in 2017 bzw. LEDE ein paar Stabilitätspatches geben? Bin da nicht auf dem Laufenden, weil ich selbst keinen Outdoor+ habe.
zweifache Rebooten? das klingt seltsam, vielleicht ist das auch kein Gluonn sondern Openwrt/LEDE Bug? Bitte verlinkt mal das vermutete „NetIf-Problem“.
Workarounds mit Veränderung von Dateien sind prinzipiell problematisch, da sie den Flash-Speicher belasten.