Warum ist das Freifunk-WLAN so langsam?: Unterschied zwischen den Versionen

Aus Freifunk Dresden - Anwender-Wiki
Zur Navigation springen Zur Suche springen
Zeile 311: Zeile 311:
  
 
Ein Möglichkeit die Geschwindigkeit bei vielen Nutzern um 30-60% zu erhöhen, ist die Geräte die schlechten Empfang haben nicht zu erlauben.
 
Ein Möglichkeit die Geschwindigkeit bei vielen Nutzern um 30-60% zu erhöhen, ist die Geräte die schlechten Empfang haben nicht zu erlauben.
Dazu muss (noch, ab Firmware 2.4.10-BETA integriert) von Hand per SHH in der '''/etc/config/wireless''' Datei folgende Raten festgelegt werden. Bitte wie immer Vorsicht und Sorgfalt walten lassen.
+
Dazu muss (noch, ab Firmware 4.2.10-BETA integriert) von Hand per SHH in der '''/etc/config/wireless''' Datei folgende Raten festgelegt werden. Bitte wie immer Vorsicht und Sorgfalt walten lassen.
 
  config wifi-device 'radio0'
 
  config wifi-device 'radio0'
 
         option type 'mac80211'
 
         option type 'mac80211'

Version vom 5. Mai 2022, 03:17 Uhr


Warum ist das Freifunk-WLAN so langsam?

Das kann vielfältige Gründe haben. Zum einen könnte es entfernte Gründe geben, z.B. könnte es daran liegen, dass die Gateway-VPN-Tunnel überlastet sind. Doch auch im näheren Umfeld gibt es eine Vielzahl an Störfaktoren, die das Netz negativ beeinflussen können.

Ursache WLAN

In Europa sind im 2,4 GHz ISM(Industrial, Scientific and Medical)-Band eine Vielzahl an Anwendungen erlaubt, WLAN ist nur eine davon. WLAN unterteilt sich dabei in 13 Kanälen zu 5 Mhz. Ein ganzer WLAN Kanal ist nach IEEE 802.11g und IEEE 802.11n mindestens 20Mhz breit, somit stehen 4 überschneidungsfreie Kanäle zur Verfügung, nämlich der Kanal 1, 5, 9 und 13. Zur Erhöhung der Datenübertragungsrate gibt es die Möglichkeit einen Kanal auf 40 Mhz zu erweitern, danach gibt es praktisch nur zwei überschneidungsfreie Kanäle, sind die Kanäle 3 (1+5) und 11 (6+13), mehr zur Problematik der Kanäle findet ihr unter: Kanalwahl

Was könnte WLAN leisten

Wie ihr sicher schon bemerkt habt, sind die „bis zu Angaben“ der WLAN Gerätehersteller sehr theoretische Wert und kommen in der Praxis nicht mal in die Nähe dieser Wunschvorstellung. Meist werden grob die Werte zusammen addiert, der höchste (auch proprietäre) Standards auf beiden Seiten „angenommen“, der Overhead der Protokolle und mögliche Störeinfüße ignoriert und herauskommen Werte die in der Praxis nicht erreicht werden können, jedoch auf der Verpackung im Geschäft etwas hermachen.

MIMO

Im Freifunk wird im 2,4GHz Band mit 20Mhz Kanalbreite nach IEEE 802.11g und n Standard gesendet, dadurch sind theoretische Datenraten von 54 Mbit/s bzw. 65 Mbit/s angegeben. Es gibt die Möglichkeit die Übertragungsrate mit mehreren Antennen durch die MIMO Technik zu erhöhen, dazu ist es allerdings notwendig, dass beide Geräte über mehrere Antennen verfügen. Bei 2x2 MIMO werden 130, bei 3x3 195 MBit/s angegeben. Während man bei den Routern meist mehrere Antennen zur Verfügung stehen, sieht es bei den Endgeräte düsterer aus. So gibt es 2x2 MIMO z.B. erst seit dem Samsung Galaxy S5 oder Note4, Apple stattet seine iPhones erst seit dem 5er mit MIMO aus. Aller neuste Geräte nutzen sogar 3x3 MIMO, aufgrund des größeren Rechenaufwandes und des damit höheren Stromverbrauches leider nur reicht wenige. Nutzer älterer, preiswerter und kleiner Geräte müssen meist mit einer Antenne vorlieb nehmen. Schon die theoretischen Angaben der Hersteller lassen erahnen, dass Geräte mit nur einer Antenne mindestens die doppelte Zeit für die gleiche Anzahl an zu übertragenden Daten benötigen.

Hintergrund

Das es preiswerter ist nur eine Antenne zu verbauen leuchtet ein, dennoch spielt auch die Größe des Gerätes eine wichtige Rolle: MIMO nutzt die unterschiedliche Ausbreitung der Signale im Raum. Damit ein anderes Gerät die versetzten Signale auch erkennt, muss der Abstand der Antennen mindestens der halben Wellenlänge der Frequenz entsprechen, auf der die Datenübertragung läuft.

Um ein 2,4 Ghz Gerät MIMO tauglich zu bauen, benötigen die einzelnen Antennen bei 2,4 Ghz einen Mindestabstand etwas über 6cm. Die Wellenlänge(λ) errechnet sich aus der Lichtgeschwindigkeit(c) geteilt durch die Frequenz(f):

Mindestabstand c in m/s f in Hz(1/s) λ in m (λ=c/f) λ/2 in cm
Vereinfacht 300000000 2400000000 0,12500000000000 6,25000
Grenze Kanal 1 299792458 2402000000 0,12480951623647 6,24048
Grenze Kanal 13 299792458 2482000000 0,12078664705882 6,03933

Das erklärt auch, dass kleinere Handys für 2,4 Ghz kaum MIMO tauglich zu bauen sind, eher dann größere Smartphones, Phablets/Tabelets und natürlich Notebooks, die dann sogar (leider selten) mit 3x3 MIMO.

WLAN ist „gerecht“ und die Grenze ist die Airtime

Es steht allen Geräten im WLAN eine begrenzte Zeit an Airtime zur Verfügung, die sich alle teilen. Im Idealfall gibt es einen Sender, z.B. den Router und einen Empfänger, z.B. das Smartphone und keinerlei Störquellen. Der Empfänger steht direkt neben dem Sender und der höchste Standard kann genutzt werden. Dieser Idealfall tritt aber höchstwahrscheinlich nur in Mitten der Dresdener Heide auf. Je weiter der Empfänger vom Sender weg ist, desto schlechter empfangen sich beide. Um entfernte Geräte zu erreichen oder Störungen auszugleichen nutzen die WLAN Geräte die Möglichkeit ihre Modulation und Codierung so zu verändern, dass es wieder funktioniert, das resultiert wiederum in fallenden Übertragungsraten, wie folgende Tabelle veranschaulicht:

Tabelle 11, 11b, 11g, 11n

Antennen (MIMO)/Datenrate in Mbps bei 2,4Ghz
und Freifunktypischen 20Mhz Kanalbreite in 2,4Ghz
Standard 1 1x1 2x2 3x3 4x4
Modulationsverfahren Standard Modulation Bit/Code/Symbolrate Bruttodatenrate
FHSS (Frequenzspreizung) IEEE 802.11 2GFSK 1 1,0M/s 1,0
FHSS IEEE 802.11 4GFSK 2 1,0M/s 2,0
DSSS(Direct Sequence Spread Spectrum) IEEE 802.11b DBPSK 1(11Bit)1,0M/s 1,0
DSSS IEEE 802.11b DQPSK 2(11Bit)1,0M/s 2,0
DSSS IEEE 802.11b DQPSK 4(8Bit)1,4M/s 5,5
DSSS IEEE 802.11b DQPSK 8(8Bit)1,4M/s 11,0
OFDM(Orthogonales Frequenzmultiplexverfahren) IEEE 802.11g 6 - 54
GI Guard Interval (Schutzintervall) IEEE 802.11n Codierung GI 0,8µs MCS Index
HT
GI 0,8µs SGI 0,4µs MCS Index
HT
GI SGI MCS Index
HT
GI SGI MCS Index
HT
GI SGI
BPSK (Binäre Phasenumtastung) IEEE 802.11n 1/2 6,0 0 6,5 7,2 8 13,0 14,4 16 19,5 21,7 24 26,0 28,9
QPSK (Quadraturphasenumtastung) IEEE 802.11n 1/2 12,0 1 13,0 14,4 9 26,0 28,9 17 39,0 43,3 25 52,0 57,8
QPSK IEEE 802.11n 3/4 18,0 2 19,5 21,7 10 39,0 43,3 18 58,5 65,0 26 78,0 86,7
16-QAM (Quadraturamplitudenmodulation) IEEE 802.11n 1/2 24,0 3 26,0 28,9 11 52,0 57,8 19 78,0 86,7 27 104,0 115,6
16-QAM IEEE 802.11n 3/4 36,0 4 39,0 43,3 12 78,0 86,7 20 117,0 130,0 28 156,0 173,3
64-QAM IEEE 802.11n 2/3 48,0 5 52,0 57,8 13 104,0 115,6 21 156,0 173,3 29 208,0 231,1
64-QAM IEEE 802.11n 3/4 54,0 6 58,5 65,0 14 117,0 130,3 22 175,5 195,0 30 234,0 260,0
64-QAM IEEE 802.11n 5/6 7 65,0 72,0 15 130,0 144,4 23 195,0 216,7 31 260,0 288,9
Typischer Anwendungsbereich Einfachster Router
Einsteiger Endgerät
Eine verbaute Antenne
Standard Router
Standard Endgerät

Zwei verbaute Antennen
Besserer Router
Premium Endgerät

Drei verbaute Antennen
Premium Router
Vier verbaute Antennen

Grafik 11b, 11g, 11n, 11ac, 11ax

BruttoDRFF.png
BruttoDRFFlog.png

Die aktuelle MCS Rate der verbundenen Router erfährt man per SSH im Router mit dem Befehlen:

iw dev wlan0 station dump
while true; do clear; iw dev wlan0 station dump | grep 'bitrate\|Sta\|expec' ; sleep 2;  done

Router untereinander /\

Router zu Clients \/

iw dev wlan0-1 station dump | grep 'at' 
while true; do clear; iw dev wlan0-1 station dump | grep 'bitrate\|Sta\|expec' ; sleep 2;  done

Tunning 802.11b Geräte aussperren

Ein Möglichkeit die Geschwindigkeit bei vielen Nutzern um 30-60% zu erhöhen, ist die Geräte die schlechten Empfang haben nicht zu erlauben. Dazu muss (noch, ab Firmware 4.2.10-BETA integriert) von Hand per SHH in der /etc/config/wireless Datei folgende Raten festgelegt werden. Bitte wie immer Vorsicht und Sorgfalt walten lassen.

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11g'
        option path 'platform/ar934x_wmac'
        option htmode 'HT20'
        option country 'DE'
        option disabled '0'
        option channel '13'
        option txpower '18'
        list basic_rate '6000 9000 12000 24000 54000'
        list supported_rates '6000 9000 12000 18000 24000 36000 48000 54000'

Anschließend ist ein wifi(mit selbigen Kommando) Neustart notwendig.

Überprüfung (Triple-click zur Auswahl):

while true; do clear; iw dev wlan0-1 info | grep ssid; ifconfig | grep wlan0; cat /etc/config/ddmesh | grep 'n node'; iw dev wlan0 station dump | grep 'bitrate\|Sta' ; echo ^^MESH^^-vvDEVICEvv; iw dev wlan0-1 station dump | grep 'bitrate\|Sta'; sleep 3;  done

Etwas komfortabler (Triple-click zur Auswahl)):

n=wlan0;while true; do iw dev $n-1 info | grep ssid>>/tmp/tz; ifconfig | grep 10.200>>/tmp/tz; echo .; ifconfig | grep $n>>/tmp/tz;echo .; cat /etc/config/ddmesh | grep 'n node'>>/tmp/tz; echo .; echo AIRTIME:>>/tmp/tz; iw $n survey dump | grep "in use" -A5>>/tmp/tz;  echo MESH:>>/tmp/tz; echo .;iw dev $n station dump | grep 'bitrate\|Sta'>>/tmp/tz;echo .; echo CLIENT:>>/tmp/tz;echo .; iw dev $n-1 station dump | grep 'bitrate\|Sta'>>/tmp/tz; clear; cat /tmp/tz; sleep 3; rm /tmp/tz; done

Es endet im kontrollierten Chaos

Soweit zur Theorie. WLAN-Geräte schalten bei Störungen oder anderen WLAN-Teilnehmern entsprechend viele Gänge zurück. Da jeder spontan ein WLAN betreiben kann, muss irgendwie eine friedliche Koexistenz geschaffen werden. Es kommt das CSMA/CA-(Carrier Sense Multiple Access/Collision Avoidance)-Verfahren zum Einsatz, es entscheidet wann ein WLAN senden darf und wann es sich zurückhalten oder pausieren muss, weil gerade ein anderes WLAN sendet oder eine Störung vorliegt. Ins technische Detail geht hier ein guter Artikel vom Elektronik Kompendium.

Airtime

Stellen wir uns die Airtime als Scheibe vor. Jedes dieser WLANs soll die gleiche Menge an Daten übertragen. Ein langsames WLAN(Orange) benötigt für die gleiche Datenmenge bspw. die 10fache Zeit wie ein schnelles (Magenta/Gelb). Während ein WLAN sendet, warten die anderen WLANs und senden selbst nach einer zufällig langen Pause. Kommt eine WLAN Übertragung nicht beim Empfänger (Violett) an und wird gestört(Schwarz), so muss diese erneut gesendet werden. Das Beispiel soll verdeutlichen, dass obwohl die schnellen WLANs mehr übertragen könnten, einfach meist die Airtime dazu fehlt.

Erschwerend für die Airtime kommt bei Freifunk dazu, dass sich die Router untereinander verbinden, dabei nutzen sie den selben Funkkanal, dürfen aber nicht gleichzeitig senden. Bei einem Router ohne direkten Anschluss müssen somit erst einmal die Daten über Funk zum Router gesendet werden, um anschließend über das eigentliche Client-WLAN ans Endgerät verteilt zu werden. In Theorie bedeutet das, dass z.B. aus theoretischen 60MBit/s → 30MBit/s werden, mit jedem weiteren Sprung von Knoten zu Knoten halbiert sich dieser Wert, bis ein Knoten den entfernten Knoten nicht mehr sieht oder "gestört" wird.

Moderne Router beherrschen die automatische Kanalwahl oder behaupten das zumindest. Oft geht das aber leider schief, da sie nur die internationalen Kanäle 1-11 betrachten. Besser ist es also immer den Kanal für das private Netzwerk selbst festzulegen. Es kommen Kanal 1, 5 oder 9 in Frage, siehe Kanalwahl.

Fremde nicht WLAN-Störungquellen zu identifizieren ist dagegen um einiges schwieriger und auch ein teuer Spaß. Entsprechende 2,4 GHz-Spektrumanalysierer liegen preislich im guten dreistelligen €-Bereich.