Workaround gegen "Narkolepsie" einiger Knoten

Wir haben immer noch das Problem, dass sich einige Knoten ganz plötzlich aufhängen.
Der Knoten ist zwar noch online, er wird auch so angezeigt, trotzdem kann sich kein Client anmelden und die mesh Verbindung mit anderen Knoten funktioniert auch nicht mehr.

Per SSH kann man diesen ganz einfach mit “wifi down ; sleep 2 ; wifi” wieder ins Leben zurück holen.
In meinen bisherigen Versuchen funktionierte das sogar noch einfacher, ohne das WLAN mit “wifi down” aus zu schalten.
Ein einfaches “wifi” reichte auch schon, somit auch ohne Unterbrechung für Knoten die momentan funktionieren.

Ich habe die einfache Variante als Cronjob (einmal pro Stunde) so eingerichtet:
cd /usr/lib/micron.d
vi wifitoggle
i #um den Schreibmodus zu aktivieren
*0 /1 * * * wifi
esc #um den Schreibmodus zu verlassen
:wq #um den Cronjob abzuspeichern

/etc/init.d/micrond restart #um die Änderungen zu übernehmen

Wer möchte kann dieses auch kombinieren mit konstanten Zeiten und dem vorherigen ausschalten des WLAN’s.
0 6,8,10,12,14,16,18,20,22,0,2 * * * wifi down && sleep 2 && wifi

Das ist erst einmal als Workaround gedacht und sollte nicht auf jeden Knoten angewendet werden!
In dem nächsten Update mit LEDE kann diese verhalten auch komplett verschwunden sein.

Mit der neuen FW Version 0.8.21 scheint dieses Problem behoben zu sein.

Leider nicht behoben, aber durch ein Überwachungsscript entschärft. Der Fehler liegt in Treibern der SoCs begründet und es ist auch leider keine wirkliche Lösung absehbar. Das hinzugefügte Script “Quickfix” prüft alle 5 Minuten, ob die Anzahl der Meshpartner signifikant abnimmt. Ist dies der Fall, wird das WiFi-Netz neu gestartet.