ping in configurehood bei instabilem Internet

mail at adrianschmutzler.de mail at adrianschmutzler.de
Sa Jul 20 22:24:46 CEST 2019


Hallo zusammen,

mein Internet hat z.Zt. wieder Aussetzer, und dabei habe ich eine interessante Entdeckung gemacht.

In configurehood haben wir eine Funktion, die bestimmt, ob der KeyXchange erreichbar ist:

https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-hoods/files/usr/sbin/configurehood#L33

hasInternet() {
	test_ipv4_host1="keyserver.freifunk-franken.de" # Freifunk-Franken keyserver
	test_ipv4_host2="8.8.8.8"        # Google DNS
	test_ipv6_host1="heise.de"       # heise Zeitschriftenverlag
	if ping -w5 -c3 "$test_ipv4_host1" &>/dev/null ||
		ping -w5 -c3 "$test_ipv4_host2" &>/dev/null ||
		ping6 -w5 -c3 "$test_ipv6_host1" &>/dev/null ; then
		return 0
	fi
	return 1
}

Dort verwenden wir "ping" mit der Option -w5. Diese sorgt dafür, dass nur dann der jeweilige Ping "true" ist, wenn alle drei pings PRO PING COMMAND ("-c3") in den 5 sec. zurück kommen.
Bei meiner flackernden Verbindung kamen jedoch immer nur 1-2 von 3 zurück. Damit hätte ich zwar wunderbar den Hoodfile downloaden können, jedoch waren alle drei pings false und ich kam gar nicht in das entsprechende if.

Entfernt man das -w5, verhält sich ping anders und gibt auch dann "true" zurück, wenn nur 1 oder 2 ping erfolgreich sind. Durch Entfernen der drei "-w5" war es mir also möglich (und nur dann), mein Gerät als Uplink zu konfigurieren.

Ich könnte mir vorstellen, dass dies eine häufige Ursache für gelegentlich offline gehende Router darstellt (wenn kein Meshpartner verfügbar ist).

Ich wäre versucht, "-w5" generell aus der FW zu entfernen.

Meinungen?

Grüße

Adrian
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : openpgp-digital-signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190720/6176f4d8/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev