Inhaltsverzeichnis

Troubleshooting

Tools

Für die Kommandozeile

Knoten in Betrieb nehmen

Folgende Punkte sollen Dir helfen, wenn Du meinst, dass Dein Knoten sich nicht mit einem unserer Freifunk-Gateways verbinden kann.

Per LAN oder WLAN am Freifunk-Router

Client-Probleme

Folgende Punkte sollen dir helfen, wenn sich Dein Knoten mit einem Freifunk-Gateway verbunden ist, aber ein Client per LAN oder WLAN Beispielsweise keinen Internet-Zugang hat.

Bandbreite und Latenz

Ein Einblick was die Geschwindigkeit beeinflusst und vielleicht auch was eher nicht.

Die Geschwindigkeit von TCP hängt von der Bandbreite, von der Latenz und der Verbindungsqualität (Paketverlust) ab.

A) Die Latenz steigt mit jedem Punkt auf dem Weg zum Ziel
  1. Nummerierter Listenpunkt Client - Node
    • Hier via WLAN
    • rtt min/avg/max/mdev = 1.233/2.834/23.875/2.692 ms,
  2. Node - Node (Mesh, eventuell viele Hops)
    • Hier bei zwei Nodes über 100 Pakete:
    • round-trip min/avg/max = 1.680/4.135/29.468 ms
  3. Node VPN - GW
    1. Lokaler Internetanschluss
      • Hier Vodafone, VDSL, 30ms bis zur Gegenstelle
    2. Internetprovider Backbone
      • Hier Vodafone, 7ms bis zum nächsten Provider
    3. Transfer zum Gatewayprovider
      • Sind wohl direkt verbunden, peeren in Düsseldorf, 0ms
    4. Gateway Rechenzentrum
      • gw05n03, steht irgendwo bei Düsseldorf, 1ms
  4. GW - Ziel
    1. Gateway Rechenzentrum
      • Lokal, 0ms
    2. Transfer zum Zielprovider
      • Frankfurt, wohl DECIX, 5ms
    3. Zielprovider Rechenzentrum
      • heise.de, stehl wohl am DECIX, 0ms extra

Meine Erfahrung sagt Glasfaser direkt bringen:

Wenn ich hier die Spielekiste an mache, dann sagt mir mein System, direkt,ohne Freifunk, 55ms zu den battle.net-Servern. Das ist die in der Applikation angezeigte Latenz. Die ist normalerweise schlechter als 'ICMP echo'. Auch das muss bei Vergleichen berücksichtiogt werden. Die großen Teile der Latenz sind

Relativ irrelevant ist der Weg zum GW. gw08n01 ist von mir 7ms weiter weg als bei gw05n03. Der Ping durch das Freifunk-Netz zu eu.battle.net ist aber nur <6ms langsamer.

via gw08n01:

B) Bandbreite im Freifunknetz

Diese resultiert aus der kleinsten Bandbreite aller beteiligten Hops zum Ziel.

Normalerweise ist die geringste Bandbreite der lokale Internetzugang oder die WLAN/Mesh-on-WLAN-Strecke. Da muss jeder lokal selbst nach einer Optimierung suchen. Bekannte Methoden sind z.B. Mesh-on-LAN und getrennte Client/Mesh-Netzeauf unterschiedlichen Kanälen

C) Packet Loss

Wenn TCP Pakete verliert, wird meistens mit einer Reduzierung der Bandbreite reagiert. Paketverlust tritt in Deutschland im festen Internet heute nur sehr wenig auf, in WLAN-Netzen aufgrund von Störungen aber doch recht häufig. Hier kann der Client und der Serverbetreiber eventuell durch lokale Einstellungen die Auswirkungen lindern. Die Serverbereiber werden wir kaum erreichen, die Clients sind die User selbst.

Zentral können wir nur an A drehen und auch da nur am Standort der GWs. Die sollten so nah wie möglich an den Clients (Internetprovider) und an den Zielen liegen. Die Ziele sind uns nicht bekannt. Die Provider selbst recht gut angebunden. Wir können natürlich pauschal GWs ablehnen, die nicht an großen deutschen Austauschpunkten sind, aber selbst nach Paris sind es nur 7ms mehr, ich glaube nicht dass das den Durchsatz erhöht. Selbst eine Verbindung nach Shanghai (250ms Latenz) schafft anständige Bandbreiten wenn die Leitung nicht gerade überlastet ist.

Die größten Einsparungen an der Latenz bringen lokale, direkt ausleitende GWs an Leitungen die nicht DSL-Latenzen bringen. Aber auch das wird kaum eine Auswirkung auf die Bandbreite haben. Dicke Internetanbindungen und gut aufgesetze WLAN-Installationen bringen da bis zur Kapazitätsgrenze der GWs sicher am meisten. Letzere lassen sich mit lokalen Ausleitungen umgehen, dafür gibt es aber noch keine einfache Möglichkeit.

Wenn die Bandbreite zum User trotz sauberer lokaler Installation mit ausreichend starkem VPN-Node noch gering ist, kann es auch an einem ausgelasteten GW liegen. Das läßt sich unter https://netinfo.freifunk-stuttgart.de/grafana/d/000000008/gateways?orgId=1 an der Abwesenheit von Kurven beim eth0-Traffic erkennen. Wenn das morgens hoch geht und dann den Tag über eher flach ist, am Abend wieder runter geht, dann ist das GW ausgelastet. Prinzipiell haben wir ausreichend Kapazitäten auf den GWs, aber wir haben derzeit keine Möglichkeit Nodes auf andere GWs zu schicken um die verfügbare Bandbreite besser zu verteilen. Das Gateway wird derzeit bei der Verbindung von den Nodes zufällig gewählt.

Stand: Mo 21. Okt 10:23:04 CEST 2019

Weitere Probleme

Wenn Du auf den Node kommst:

Hat der Node ein BATMAN Gateway?

Die Ausgabe von

batctl gwl

sollte einige MAC-Adressen ausspucken, eine Zeile sollte ein ⇒ vorne dran haben:

Gateway      (#/255)           Nexthop [outgoingIF]: advertised uplink bandwidth ... [B.A.T.M.A.N. adv 2015.1, MainIF/MAC: ibss1/a2:f6:c3:8c:21:12 (bat0)]
       02:00:38:02:01:00 (225) 02:00:38:02:05:03 [  mesh-vpn]: 96.0/96.0 MBit
       02:00:35:02:07:00 (225) 02:00:38:02:05:03 [  mesh-vpn]: 80.0/80.0 MBit
       02:00:38:02:08:02 (225) 02:00:38:02:05:03 [  mesh-vpn]: 64.0/64.0 MBit
       02:00:38:02:07:02 (225) 02:00:38:02:05:03 [  mesh-vpn]: 64.0/64.0 MBit
    => 02:00:35:02:05:03 (255) 02:00:38:02:05:03 [  mesh-vpn]: 96.0/96.0 MBit
       02:00:37:02:05:01 (225) 02:00:38:02:05:03 [  mesh-vpn]: 96.0/96.0 MBit
       02:00:38:02:08:00 (221) 02:00:38:02:05:03 [  mesh-vpn]: 64.0/64.0 MBit
       02:00:38:02:10:00 (225) 02:00:38:02:05:03 [  mesh-vpn]: 96.0/96.0 MBit
       02:00:37:02:05:02 (225) 02:00:38:02:05:03 [  mesh-vpn]: 96.0/96.0 MBit

Wenn ja: Problem liegt wahrscheinlich nicht an diesem Node sondern eher irgendwo ab oder nach dem Gateway Wenn nicht: Der Node hat kein batman-Gateway. In dem Fall:

Kennt der Node andere Nodes?

batctl o

sollte eine Liste von anderen Nodes zeigen die der Node sieht. Wenn das so ist hat entweder die ganze Wolke keinen Uplink oder der Node hat sich noch kein GW ausgesucht, das dauert einen Moment. Wenn keine Nodes angezeigt werden, hat der Node keine Verbindung zu irgend welchen anderen per LAN/WLAN und auch kein VPN. Z.B. weil die VPN-Verbindung nicht durch die Firewall kommt. Fritzbox Gast WLAN z.B.blockt per Default die VPN-Ports von FFS.

Wenn das alles geklaert ist, ist der Node in Ordnung, wenn es immer noch nicht tut, muss auf dem Client weiter gesucht werden.

Auf dem Client, tja, keine Ahnung wie man da mit Windows tiefer analysiert, unter Linux oder auch MacOS mit root ist es einfacher.

  1. hat der Client eine IP?

Probleme beim Flashen der Firmware

Falsche Firmware geflasht o.Ä. und kein Zugriff auf Config-Modus möglich

30-30-30-Methode: Bei laufendem Betrieb die ganze Zeit (90sek lang) den Reset Button drücken, nach 30 sek den Strom wegnehmen, nach weiteren 30 sek wieder einschalten und nach erneuten 30 sek den Reset-Knopf los lassen. Man befindet sich nun im Failsafe-Modus. Mithilfe von Telnet kann man sich auf die IP 192.168.1.1 aufschalten und mit

mount_root

das Dateisystem mounten. Mit

firstboot

die Firmware-Einstellungen löschen und gegebenfalls mit

sysupgrade /tmp/pfad.bin

eine vorher mit netcat übertragene Firmware aufspielen.

cat firmware.bin | nc -l -p 1234
nc 192.168.1.1 1234 > /tmp/pfad.bin

Firmware Recovery

Auf dem Router:

 nc -l -p 1234 > /tmp/ff.bin

Auf dem PC:

 cat firmware.bin | nc 192.168.1.1 1234

Nach 2 Min abbrechen auf Router und md5sum prüfen!

 sysupgrade /tmp/ff.bin