Hallo Leute,
da ich mich häufiger unbeliebt mache, weil ich so ein „Fan“ von Qualcomm-Chips bin und den vermehrten Einsatz von Mediatek-WLAN-Chips bei Freifunk kritisch sehe, möchte ich hier ein paar Gedanken dazu teilen.
Von Qualcomm gibt es grundlegend drei verschiedene Generationen an Chips:
ath9k
Die ath9k-Chips entsprechen dem 802.11n-Standard. Auch wenn sie etwas älter sind, waren sie die ersten, die uns richtiges Meshing nach 802.11s-Standard ermöglicht haben. Der Grund dafür ist, dass diese Chips die einzigen sind, die direkt vom Kernel gesteuert werden. Das heißt, dass auf ihnen kein closed-source-Firmware-Blob läuft. Der Kernel steuert quasi direkt die Hardware. Zudem haben diese Chips weitere mächtige Features wie einen Spectrum Analyzer, den man vielleicht unter Ubiquiti-Firmware bereits als AirView kennengelernt hat. Der Treiber für ath9k konnte in den letzten Jahren kontinuierlich weiterentwickelt werden. So wurde zum Beispiel Airtime Fairness implementiert, das den Gesamtdurchsatz mit vielen Clients in manchen Fällen um mehr als 70% steigern konnte.
Qualcomm
ath10k
Die ath10k-Chips entsprechen dem 802.11ac-Standard. Es gibt sie einmal als reine WLAN-Chips, die per PCI meist an einen ath9k-SoC angeschlossen werden oder als IPQ40XX-SoC. Der IPQ40XX SoC verfügt über einen sehr leistungsstarken ARM-Quad-Core-Prozessor mit 1.3 GHz Taktrate wohingegen ath9k-SoCs meist lediglich über einen MIPS24/74Kc-Prozessor mit 550-750 MHz Taktrate verfügen.
Leider ist Qualcomm hier zu einem closed-source-Firmware-Blob übergegangen. Es war jedoch möglich, ein NDA mit Qualcomm zu unterzeichnen, um eine eigene Firmware zu implementieren. Das hat zum Beispiel die Firma Candelatech gemacht und die Ad-Hoc/IBSS-Unterstützung eingebaut, die einige Communities noch statt 802.11s einsetzen. Auch diese Chips verfügen über einen Spectrum Analyzer und einige undokumentierte Features, die noch nicht im Open-Source-Treiber nutzbar sind. Die Firmware der ath10k-Chips wird auf einem sehr mächtigen RISC-Prozessor ausgeführt. Es ist möglich, neue Features „für Geld“ implementieren zu lassen. Einige der Chips wurden sogar softwaremäßig mit 802.11ac Wave 2-Technologie nachgerüstet.
ath11k
Das sind die Chips der kommenden Generation nach dem 802.11ax-Standard. Diese Chips sind viel Leistungsfähiger als alles, was wir bisher gesehen haben. Leider sind diese Router bisher noch nicht erschwinglich, aber sie werden wohl die Basis kommender Freifunk-Router bilden.
Qualcomm-Chips sind die Wahl von Routerherstellern von Enterprise-WLAN-APs wie Ubiquiti, da diese über Funktionen verfügen, womit sich das Hidden-Node-Problem lösen lässt (TDMA), sie Signale „hören“ können, die unterhalb der Empfangsschwelle liegen (Spectrum Analyzer) und diese softwaremäßig gut updatefähig sind. Deshalb besitzen diese Router häufig einen externen und somit nicht den Temperaturen des Prozessors ausgesetzten Taktquarz (silberner Kasten), auf den jeder einzelne Router in der Fabrik mit einem Golden Device abgestimmt wird. Sie sind in der Lage auf die Mikrosekunde genau Signale loszuschicken und können sogar mit einigen Softwaremodifikationen zur Ortung eingesetzt werden.
Mediatek
MT762X
Die Chips dieser Reihe bilden die Grundlage der meisten Mediatek-Router. Sie haben meist ein 2.4GHz-Modul und einen MIPS24Kc-Prozessor als MIPSEL mit 580 MHz. Das 2.4 GHz-Modul läuft mit einem closed-source-Firmware-Blob, der seit Jahren nicht geupdatet wurde und nur über die minimal notwendigen Funktionen verfügt.
MT761XX
Diese Chips sind WLAN-AC-Chips, die per PCI meist an den oben genannten Chip angeschlossen werden. MT7612X-Chips sind Wave 1- und MT7615X Wave 2-Chips. Auch diese nutzen einen closed-source-Firmware-Blob mit minimalen Funktionen, der seit Jahren nicht geupdatet wurde. Über die technischen Möglichkeiten und Erweiterbarkeit ist nichts bekannt.
MT7629X
Sie sollten die Nachfolger-SoCs sein. Sie besitzen einen Dual-Core-ARM-Prozessor und sind mit 2.4 GHz 802.11n und 5 GHz 802.11ac Wave 2 gerüstet. Da sie bislang teurer und weniger leistungsfähig als Qualcomm IPQ40XX-SoCs sind, gibt es bislang kein Gerät auf dem Markt, das diese Chips nutzt.
Die Mediatek-WLAN-Chips werden erst seit kurzem vernünftig von OpenWrt unterstützt, da Felix Fietkau (Mitgründer von DD-WRT und OpenWrt-Ikone) die Treiberentwicklung übernommen hat. Es ist davon auszugehen, dass es keine gravierenden Änderungen mehr geben wird. Die Meshfunktionalität hat seiner Aussage nach keine hohe Priorität.
Mediatek-WLAN-Chips werden hauptsächlich in günstigen Consumer-Routern eingesetzt, da sie auf ein minimales Platinenlayout optimiert sind. Hohe WLAN-Störunempfindlichkeit und eine genaue Taktrate sind hier zweitrangig.
So viel zum Tech-Porn… Was für mich das ausschlaggebende Argument dafür ist, auf Qualcomm-Chips zu setzen, ist, dass wir als Freifunker stark von dem Hidden-Node-Problem betroffen sind. Häufig werde ich gefragt, wieso man nicht 10 Router in einer Kette vernetzen kann, um eine Straße abzudecken. Das Hidden-Node-Problem ist euch ja sicherlich bekannt… Ubiquiti löst das Problem mit ihrem TDMA/AirMax. Dort habt ihr zum Beispiel eine Sektorantenne auf einem Wasserturm (AP) und viele, viele Nanostations, die auf diesen Wasserturm ausgerichtet sind und sich gegenseitig nicht hören (CPEs). Da die CPEs sich gegenseitig nicht hören, greift das Kollisionsvermeidungsverfahren CSMA/CA nicht.
Also senden sie gleichzeitig und beim AP kommt nur Kaudawelsch an. Ist hingegen AirMax auf allen Geräten aktiviert, dürfen die CPEs nur senden, wenn der AP es ihnen erlaubt und somit gibt es keine Kollisionen.
Bei Mikrotik heißt das Verfahren NS2, bei TP-Link „Pharos“, bei Ubiquiti „AirMax“ und bei Deliberant heißt es „iPoll“. Alle nutzen dafür ath9k-Qualcomm-Chips und Ubiquiti sogar zusätzlich ath10k.
Es gab einige Bemühungen ein solches „Zeitschlitzprotokoll“ für ath9k-Chips zu entwickeln.
-
Adrian Chadd hatte bereits 2012 den Anfang für Intel gemacht und in FreeBSD ein TDMA entwickelt, bei dem er die Beacon-Queue des ath9k-Chips für diese Zwecke missbraucht hat.
-
Die Firma NETSHe hat 2015 eine closed-source-Variante mit IBSS und Batman Advanced programmiert und verkauft ihre Software an VoIP-TelCos und einige asiatische Routerhersteller.
-
Sven Zehl von der TU Berlin hat 2016 die Power-Save-Funktionalität missbraucht und das ganze als Forschungsarbeit unter dem Namen hMAC veröffentlicht.
-
2017 hat die University of Texas eine TDMA basierend auf OpenWrt mit ath9k-Chips gebaut und als Forschungsarbeit unter dem Namen RT-WiFi veröffentlicht.
Unser Problem so ein Verfahren für Mesh zu implementieren, ist jedoch noch einmal eine andere Hausnummer, denn bei uns gibt es keine Unterscheidung zwischen AP und CPE. Alle Teilnehmer im Mesh sind gleichberechtigt. Daher gab es Versuche, ein solches TDMA-ähnliches Verfahren für Mesh zu entwickeln und unter dem Namen „MCCA“ zu standardisieren. Der Fokus lag hierbei jedoch nicht darauf, das Hidden-Node-Problem zu lösen, sondern zeitkritische Übertragungen wie VoIP oder Videotelefonie in Mesh-Netzwerken zu ermöglichen. Über 3 Jahre hinweg gab es Zahlreiche Forschungsarbeiten, die vor zwei Jahren zu dem Schluss gekommen sind, dass ein erheblicher Aufwand getroffen werden müsste und weitere Forschungsarbeiten notwendig sind und dass es ohne Zusammenschluss der beteiligten Firmen und staatlicher Förderungen nicht finanzierbar sein wird, ein solches standardisiertes Verfahren zu entwickeln.
Fazit: Zuverlässiges VoIP und Videotelefonie im Freifunknetz über Mesh wird für weiteres ein Träumchen bleiben.
Doch für uns wäre es ja schon ein riesiger Schritt, wenn die Bandbreite über mehrere Hops nicht einbrechen würde. Und dafür forsche ich seit 4 Jahren an einem Verfahren und stehe kurz davor, das fertigzustellen. Wenn das fertiggestellt ist, bedarf es aber noch der Implementierung und das wird niemals auf Mediatek-Chips möglich sein, denn unter Umständen müssen zusätzliche Funktionen in die ath10k und später ath11k-Firmware gepatcht werden.
Einen großen Hoffnungsschimmer gibt es jedoch. Vor kurzem habe ich erfahren, wie das „offizielle Zeitschlitzprotokoll“, das von Ubiquiti usw. genutzt wird, in ath9k/ath10k technisch umgesetzt wurde und es sieht so aus, als wären die notwendigen Funktionen in der ath10k-Firmware vorhanden, aber undokumentiert. Qualcomms Name für diese Funktion ist QB00ST.
BITTE SCHREIBT HIER NICHT QB00ST AUS ODER BITTE NUR MIT ZWEI NULLEN STATT Os.
Ich möchte nicht, dass das hier bei Google gefunden wird.
Naja… Jedenfalls würde meine Motivation, das Meshprotokoll weiterzuentwickeln, erheblich sinken, wenn die Freifunknetze auf einmal aus Routern mit technisch sehr eingeschränkten Mediatek-Chips bestehen würden (davon abgesehen, dass ich auch so nicht besonders beeindruckt von der Performance und der Kompatibilität mit Qualcomm-Chips bin).
Dann würde ich eher in Erwägung ziehen, die Software für gutes Geld zu verkaufen.