Benutzer-Werkzeuge

Webseiten-Werkzeuge


freifunk:knownproblems

Freifunk: bekannte Probleme

BATMAN-MTU

  • BATMAN ist fürs WLAN Interface gedacht
  • 1500 byte Frame eines normalen Ethernet-Pakets plus BATMAN-Header (28-32 Byte je nach Version)
  • → 1528 bzw. 1532 Bytes pro Paket, = notwendige MTU am WLAN-Interface
  • soweit alles ok per WLAN

Problem #1: BATMAN-Pakete über LAN

  • alles größer als 1500 byte ist ein Jumbo Frame Paket
  • nicht alle Ethernet-Geräte und Switche unterstützen Jumbo Frame Pakete
  • Designentscheidung: MTU auf 1500 lassen und Fragmentierung erzwingen, oder schwierig lokalisierbarer Paketverlust riskieren?
  • so oder so, Verbindung von zwei Knoten per 100Mbit LAN noch immer wesentlich besser als per WLAN (!)

Problem #2: BATMAN-Pakete über VPN

6Mbit Grenze beim TL 841 N

Die CPU bei dem „Einsteiger“-Router schafft nur etwa 6 Mb bedingt durch den verschlüsselten fastD Tunnel zum VPN. Das Bedeutet das etwaige vorhandene Bandbreite darüber hinaus nicht genutzt würde. Die neuere Version v9 schafft etwa 15-20Mbit … sollten wir den Verschlüsselungsalgorhythmus umstellen könnten wir evtl. 25 schaffen.

IP_v4 Probleme

Es scheint ein paar Router zu geben die entweder verkonfiguriert, oder buggy sind. Die brauchen neue IP_v4 leases vo DHCP Server. Symptom: Man ist irgendwie mit dem Freifunk verbunden, kann vielleicht sogar google pingen (ipv6) aber nichts funktioniert.

ggf. kann man das auch als Cronjob eintragen .. oder in die /etc/profile falls man das „nur“ braucht wenn man auf die Shell des Routers geht

udhcpc -i br-client -q 

oder in Anlehnung an den folgenden Tip, hier ein Skript Baustein (z.b. in die /etc/profile)

wget -O /dev/null --quiet http://nirgendwo.de;
if [ $? != 0 ]; then
                udhcpc -i br-client -q ;
fi

Router verliert ständig internet, nur reboot hilft

es scheint so zu sein das wenigen Routern unregelmäßig ihr Netzwerk zusammenbricht. Woran das genau liegt wissen wir derzeit nicht, lediglich das ein powercycle (an/aus) hilft. Hier wäre ein Quick-and-Dirty Skript das das von sich aus täte. Dazu braucht ihr Root Zugang und richtet einen crontab ein, zum Beispiel alle 10 Minuten das folgende Skript ausführen. Es genügt der einmalige Config-mode Zugang über Telnet zum installieren, es muss nicht dauerhaft ein Root Zugang eingerichtet werden.

crontab -e
... (anpassen, z.B. 0,10,20,30,40,50 * * * * ~/emergency-reboot.sh )
vi emergency-reboot.sh
.. (siehe im folgenden)
chmod +x emergency-reboot.sh
#!/bin/sh
# by jens viisauksena_de
# this script checks return code from wget of an http request,
# if its not 0 (i.e. no error) than it retries 60 seconds later
# with the second url (could also be the same) - if this also
# fails than commandandconquer would apply

# you also can do something inside the freifunk net
urlpiece="http://www.openfreiburg.de/"
urlpiece2="http://freiburg.freifunk.net/"

# of course we want some kind of reboot execution here
# here just an echo example what to do (scriptkiddy_copypasteblocker)
# maybe you want something like
# commandandconquer='reboot'
commandandconquer='echo "dead end - maybe we want to reboot"'

# just in case there is any output to the router 
# we want it to be in /tmp
cd /tmp

wget -O /dev/null --quiet $urlpiece
if [ $? != 0 ]; then
        echo "connection to internet failed 1. time";
        sleep 60;
        wget -O /dev/null --quiet $urlpiece2;
        if [ $? != 0 ] ; then
                echo "oh noo .. lets go";
                $commandandconquer
        fi
fi

Alternativ könnte man in die crontab -e auch Hart einen reboot nach bspw. 3 Stunden eintragen. Der passiert dann aber auch alle Stunden, egal ob das Internet gerade funktioniert und wer da im Netz ist. Das bedeutet etwa 60 Sekunden kein Freifunk Netz zu haben.

# Bsp:
# crontab -e
* */3 * * * reboot
freifunk/knownproblems.txt · Zuletzt geändert: 2015/09/26 21:11 von viisauksena