[WLANware] pro-linux: WLAN-AP mit dem Raspberry Pi

onelektra onelektra at gmx.net
Wed Mar 4 10:39:51 CET 2015


Hallo alle -

eine sehr gute Zusammenfassung der Situation von Daniel. RaspPi2, BananaPi et al kann man als kleinen stromsparenden Server über einen Freifunk-tauglichen Router ans Mesh hängen, da sie keinen PCI-Bus haben, an den man eine ordentliche WLAN-Karte anschliessen könnte.

Durch die Mesh-Community sind sehr viele Verbesserungen für den Ad-Hoc-Modus von WiFi in die WLAN-Treiber von Linux eingeflossen. Bei USB-WLAN-Sticks ist leider nicht viel zu machen, weil sie selbst i.d.R. eine CPU mit minimalem RAM besitzen, in denen eine proprietäre Firmware läuft. Mit einer Ausnahme: https://github.com/qca/open-ath9k-htc-firmware/blob/master/README

Hier gäbe es die Option/Ideen, die Firmware zu verbessern/zu modifizieren. Zum Beispiel: Eine Firmware, die zwar nur Ad-Hoc kann, aber nicht bei >6 Peers versagt. Oder: Funktionalität wird aus der Firmware rausgeschmissen, stattdessen werden rohe WiFi-Pakete über USB an den Linux-Host  geschickt, der dann Soft-MAC im mac80211 macht. Felix Fietkau hatte die Idee, hat aber keine Zeit das umzusetzen. Das wäre, wenn es ordentlich funktioniert, der Königsweg.

Hat man einen PCI-Bus (auch mPCI, mPCIe oder Cardbus-Slot wie bei älteren Laptops) und Linux geht alles. Auch Batman-adv - welches als Linux-Kernelmodul läuft.

Noch ein Wort zu Batman-adv: Das Prinzip von Batman-adv verlangt es, dass es im Betriebssystem-Kern läuft, um performant zu sein. Es gab am Anfang der Entwicklung von Batman-adv als Prototyp ein Batman-adv-Programm, das als Daemon wie ein gewöhnliches Anwenderprogramm im Userspace lief. Diese Implementierung erfordert aber, dass Netzwerkdaten zwischen dem Betriebssystem-Kern und dem Anwenderbereich hin- und herkopiert und im Anwenderbereich bearbeitet werden. Die CPU-Last ist enorm.

Implementieren lässt sich Batman-adv natürlich auch als Kernelmodul für andere Betriebssysteme. Dazu müssen dann aber auch gleich die Verbesserungen für den Ad-Hoc-Modus in dessen Treiber-Infrastruktur einfließen.

Für Linux ist diese Arbeit bereits getan ;)

Beste Grüsse,
Elektra

The fact that you talk in your head doesn't mean that you think - but only that you speak.

Am 04.03.2015 01:39 schrieb Daniel Golle <daniel at makrotopia.org>:
>
> On Wed, Mar 04, 2015 at 12:24:36AM +0100, tioan wrote: 
> > 
> > Geht mit jedem $geräte wenn die WLAN Hardware Adhoc-Mode (für das Mesh) und AccessPoint (für das Clientnetz) gleichzeitig kann. 
>
> Fuer OLSR Netze reicht das (also WLAN hardware und Treiber, der 
> IBSS/Ad-Hoc kann und ggf. auch noch gleichzeitig einen AP 
> bereitstellen kann). 
> Leider ist USB-WLAN oft nicht gerade performant und zu dem haben 
> viele Treiber, die den Ad-Hoc Modus unterstuetzen Probleme, sobald 
> eine kritische Anzahl von Nachbarn (oft reichen 6 oder 7) 
> ueberschritten wird. Selbes gilt fuer USB-WiFi betriebene APs, da es 
> dort ebenfalls Beschraenkungen in Hardware und Treibern geben kann, 
> die die Anzahl der gleichzeitig Verbundenen Clients stark beschraenkt. 
> Mir ist z.Zt. keine USB WLAN Loesung bekannt, die sowie gleichzeitig 
> AP und Ad-Hoc modus unterstuetzt als auch mit einer vernuenftigen 
> Anzahl AP-Clients bzw. Mesh-Peers zurecht kommt (oder?) 
> Mit ueber SDIO/MMC angebundenem WLAN sieht es aehnlich schlimm aus, 
> wesshalb nur manche WiSoCs und PCIe WLAN Chips verbleiben, die 
> tatsaechlich ueber das Spielzeug-level hinaus im Mesh nutzbar sind. 
> Soviel nur grob zu WLAN hardware und treibern. 
>
> Wenn batman-adv als Routing Protokoll zum Einsatz kommt, musst Du 
> das batman-adv kernel modul in der von dem Netz in deiner Umgebung 
> verwendeten Version kompilieren und laden. Das sollte mit allen 
> aktuellen Linux kernels gehen (oder?). 
>
> Problem ist letztendlich an der Stelle nicht so "freie" Hardware, die 
> zwar unter Linux laeuft, aber mit blobbigen $vendor Treiber-kram und 
> dem dazugehoerigem ur-alt Kernel (also schlimmsten falls noch pre-3.0 
> era)... Einige Features (GPU/Video kram) gehen auf dem Raspi ja auch 
> nur mit dem $vendor gelieftertem kernel, keine Ahnung auf welchem 
> Stand der gerade ist und ob sich das gut mit batman-adv kombinieren 
> laesst (sollte es aber eigentlich -- noch, da $vendor seinen kernel 
> eben noch aktuell haellt. wie das in $t Monaten aussieht, ist nochmal 
> was anderes -- hoffentlich gibt es bis dahin dann auch freie Treiber 
> fuer die hardware) 
>
> Ah, genau: Und natuerlich alles, was nicht Linux ist, geht nicht mit 
> batman-adv (oder?) 
>
> Das gilt aber wie gesagt nur fuer Freifunk Communities, in denen 
> batman-adv eingesetzt wird. 
> Layer 3 routing Protokolle wie eigentlich alles ausser batman-adv, 
> 802.11s und proprietaeren AODV kram, sind im allgemeinen relativ leicht 
> portierbar und viele laufen ausser Linux z.b. auch auf *BSD. 
>
> Was Mit-Meshen direkt am Laptop angeht: 
> Das geht eigentlich ganz gut, vorrausgesetzt fuer die WLAN karte gibt 
> es schoene Treiber. 
> In der Praxis stellt dann oft noch Network-Manager ein Bein und nicht 
> alle Freifunker in deiner Umgebung werden es Toll finden, wenn schrott 
> hardware und treiber den Aether mit 1MBit/s CCK frames zumuellt wie es 
> z.B. viele aeltere WLAN karten tun, die sich oft in Laptops finden. 
> Da wird der Ad-Hoc Modus zwar unterstuetzt, aber halt nur mit 1 MBit/s 
> Datenrate... 
>
>
>
> > > Am 03.03.2015 um 23:03 schrieb moony <moony at mindsnack.net>: 
> > >> Am 14.03.2014 um 07:34 schrieb Benjamin Hagemann: 
> > >> Moin, 
> > >> 
> > >> vielleicht für den einen oder die andere interessant: 
> > >> 
> > >> pro-linux: WLAN-AP mit dem Raspberry Pi (13.03.2014) 
> > >> http://www.pro-linux.de/artikel/2/1672/wlan-ap-mit-dem-raspberry-pi.html 
> > > 
> > > Mal ganz allgemein: kann ein FF access point nur auf einem Router mit 
> > > entsprechender FF-Firmware laufen oder - vorausgesetzt die WLAN-Hardware 
> > > stimmt - geht auch jeder Linux-PC, Notebook, RaspberryPi? 
> _______________________________________________ 
> WLANware mailing list 
> WLANware at freifunk.net 
> Abonnement abbestellen? -> http://lists.freifunk.net/mailman/listinfo/wlanware-freifunk.net 
>
> Weitere Infos zu den freifunk.net Mailinglisten und zur An- und Abmeldung unter http://freifunk.net/mailinglisten 


More information about the WLANware mailing list