[Berlin-wireless] Kleines Madwifi-Ad-Hoc-Howto
onelektra
onelektra
Di Feb 28 14:36:03 CET 2006
Hallo -
> das problem bei dem madwifi ist, das wenn du mit
>
> wlanconfig ath0 create wlandev wifi0 wlanmode adhoc
>
> und
>
> ifconfig ath0 up ,
> das device anlegst erstmal eine eigene bssid setzt,
> und das ist der knackpunkt, entweder deine karte assoziiert sich mit
> deinem netz in den naechsten paar sekunden oder du hast einen split.
> wenn du jetzt die carte mit
> iwconfig ath0 ap 02:02:AC:C6:9F:5A
> auf die richtige bssid setzt kann es sein, das deine nachbarn schon die
> zufaellige bssid uebernommen haben, weil der madwifi auch einen aelteren
> timestamp gesetzt hat.
Erstmal im Managed Mode unassoziiert scannen, BSSID merken, BSSID
setzen, dann erst die Karte für ESSID, Kanal und so weiter konfigurieren
verursacht kein Cellsplitting.
Hier aus passendem Anlass mal ein aktuelles
##################################
# Kleines Madwifi-Ad-Hoc-Howto...#
##################################
Getestet mit aktuellem Madwifi Treiber madwifi-ng-r1456-20060225 und
Kernel 2.6.15.4-Meshlinux.
Nachdem die Karte initialisiert wurde legt der Madwifi ein Interface im
Managed Mode an. Assoziieren tut die Karte sich einstweilen nicht, auch
nicht mit einem AP. Der Treiber lädt sich selbständig oder wird manuell
geladen mit
modprobe ath_pci <enter>
Ãbrigends kann man den Treiber mit dem passenden Country-Code laden,
damit alle 13 Kanäle zur Verfügung stehen, die lokal erlaubt sind. Sonst
gehen im 2.4 GHz-Band nur die Kanäle 1-11, die in den USA erlaubt sind.
modprobe ath_pci countrycode=256 <enter>
Die Syntax des zum Treiber zugehörigen Steuerungsutilities *wlanconfig*
enthält jede Menge blabla was in unnötige Tipperei ausartet - aber sei
es drum. Der Treiber ist extrem vielseitig. Am besten legt man eine
kleine Batchdatei an.
Jetzt gehen wir aber erstmal zu Fuss ins Ad-Hoc-Netz...
Nach dem Einstecken der Karte präsentiert sich die Karte, wenn man mit
iwconfig ath0 <enter>
nachschaut, so:
ath0 IEEE 802.11b ESSID:""
Mode:Managed Channel:0 Access Point: 00:00:00:00:00:00
Bit Rate:0 kb/s Tx-Power:50 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Damit die Karte irgendetwas unternimmt muss man mit
ifconfig ath0 up <press enter>
die Karte einschalten. Tut man das, fängt sie an zu scannen. Bei meiner
Karte tut sie das im 2.4 und 5 GHz-Bereich. Nach einer Weile kann man
das Ergebnis der Suche abfragen. Angezeigt werden alle Netze in allen
Betriebsarten.
iwlist ath0 scan <press enter>
ath0 Scan completed :
Cell 01 - Address: BA:0A:79:51:9D:17
ESSID:"olsr.freifunk.net"
Mode:Ad-Hoc
Frequency:2.457 GHz (Channel 10)
Quality=11/94 Signallevel=-84 dBm Noiselevel=-95 dBm
Encryption key:off
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s
Bit Rate:5.5 Mb/s
Bit Rate:11 Mb/s
Extra:bcn_int=100
Cell 02 - Address: 00:0F:B5:A2:E2:CC
ESSID:"Toysi"
Mode:Master
Frequency:2.462 GHz (Channel 11)
Quality=5/94 Signallevel=-90 dBm Noise level=-95 dBm
Encryption key:on
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s
Bit Rate:5.5 Mb/s
Bit Rate:11 Mb/s
Extra:bcn_int=100
Leider ist hier mal wieder offensichtlich Cellsplitting im Gange. Sei es
drum - wir werden uns jetzt damit assoziieren. Es juckt gewaltig in den
Fingern dem Amoklauf von verrückten Treibern jetzt ein Ende zu setzen.
Wie gesagt, der Madwifi-Treiber ist sehr vielseitig und man kann an
allen Ecken und Enden drehen.
Leider ist der Madwifi deshalb auch fürchterlich komplex zu bedienen.
Ein gewohntes
iwconfig ath0 mode ad-hoc <press enter>
geht somit auch daneben:
Error for wireless request "Set Mode" (8B06) :
SET failed on device ath0 ; Invalid argument.
Ad-Hoc geht also nicht - das ist ziemlich wild!
Es wird gleich noch viel wilder:
Das übliche
iwconfig <press enter>
spuckt noch etwas viel absurderes aus...
Planet:~# iwconfig
lo no wireless extensions.
wifi0 no wireless extensions.
ath0 IEEE 802.11g ESSID:""
Mode:Managed Frequency:2.427 GHz Access Point:
00:00:00:00:00:00
Bit Rate:0 kb/s Tx-Power:16 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Da gibt es ein Wifi-Interface ohne wireless extensions?! Wifi ab sofort
nur noch mit Draht - oderwassolldas?!
Madwifi unterstützt Virtuelle Accesspoints (VAPs) - diese heissen ath0,
ath1, ath2, ath3 und so weiter. Zu einer einzigen Karte kann man
beliebig viele Virtuelle Accesspoints anlegen - und gleichzeitig auch
VAPs als Clients laufen lassen. Aber Accesspoint _und_ Client _und_
gleichzeitig Ad-Hoc-Station geht nicht - wie es jetzt bestimmt schon
einige gehofft haben...
Diese VAPs sind dem wifi0-Interface zugeordnet. Hat man eine zweite
Atheros-Karte im System gibt es dann auch wifi1 und so weiter.
Grundsätzlich legt Madwifi beim Laden des Treibers ein Client-Interface
an. Angeblich soll man beim Laden des Treibers auch gleich ein VAP im
Ad-Hoc-Modus erzeugen - das geht aber in meiner Version noch nicht.
Stattdessen hängt sich der Treiber auf und das wifi0 existiert nicht.
Als erstes wird jetzt das existierende VAP ath0 gelöscht.
wlanconfig ath0 destroy
Prüft man nun mit *iwconfig* nach, ist ath0 verschwunden.
Jetzt kann ein neues ath0-Interface für ad-hoc angelegt werden.
wlanconfig ath0 create wlandev wifi0 wlanmode adhoc <enter>
Der Befehl gibt ein schlichtes *ath0* zurück.
Mal nachschauen mit
iwconfig ath0 <enter>
ath0 IEEE 802.11a ESSID:""
Mode:Ad-Hoc Channel:0 Cell: 00:00:00:00:00:00
Bit Rate:0 kb/s Tx-Power:16 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Bingo!
Bislang war der Madwifi für Cellsplitting berüchtigt, und es braucht
eine einzige BSSID auf allen Karten mit derselben ESSID und auf dem
selben Kanal. Sonst entstehen lauter kleine, zersplitterte Wlan-Inselchen.
Ich schlage vor baldmöglichst die BSSID mit der Schraubzwinge
festzulegen. Die verirrten Karten können sich auf sonstwas einigen -
unser Interface bleibt ab sofort in der Spur! Wer nicht mit uns
freifunzt, funkt halt mit anderen, aber sorgt nicht mehr für Konfusion
im Olsrexperiment.
Inzwischen hat sich an meinem Standort die BSSID schon wieder geändert...
Cell 06 - Address: 56:ED:C3:AA:C5:53
ESSID:"olsr.freifunk.net"
Protocol:IEEE 802.11b
Mode:Ad-Hoc
Channel:10
Encryption key:off
Bit Rate:11 Mb/s
Extra: Rates (Mb/s): 1 2 5.5 11
Quality=50/100 Signal level=-71 dBm
Extra: Last beacon: 12ms ago
Grrrr...
Eigentlich müsste man sich jetzt mit dem Kommando
iwconfig ap 56:ED:C3:AA:C5:53
auf die bestehende BSSID festlegen. Aber damit würde man den idiotischen
Zustand verfestigen und noch mehr Konfusion ins Netz bringen wenn sich
das wilde Treiben wieder zu einer anderen BSSID verirrt.
Ich schlage vor wir setzen auf allen Interfaces auf denen das geht mit
der Schraubzwinge diese hübsche BSSID:
iwconfig ath0 ap 02:CA:FF:EE:BA:BE <enter>
Danach erst wird das Radio der Karte programmiert:
iwconfig ath0 essid olsr.freifunk.net mode ad-hoc rts 256 channel 10
Und erst jetzt wird losgefunkt:
ifconfig ath0 104.XXX.XXX.XXX up
Verwendet für den Test habe Ich die No-name Cardbus-Karte die es für
kleines Geld auf dem WhatTheHack gab. Einige haben sich die damals dort
geleistet. Mit dem neuen Treiber rockt das Ding. In meinem Wagen _unter_
dem Tisch macht die Karte noch stabile 150 kByte/sec zu dem WRT54G 200
Meter weiter!!! Dazwischen sitzt ein metallbeplanktes Hallendach mitten
in der Fresnelzone. Sichtverbindung gibt es keine - die Wand meines
Wagens ist dazwischen. Keine meiner Karten bekommt hier am allerbesten
Standort ohne Dosenantenne eine Ãbertragung hin, bestenfalls direkt am
Fenster in die Richtung gibt es mal ein zufällig erfolgreich
übertragenes ICMP-Päckchen... Die Noname-Atheros-Karte macht stattdessen
150 kByte _unter_ dem Tisch wenn Ich den berüchtigten Download aus
/dev/zero mache.
Auf dem Bett sind es dann 300 KByte/sec - keine Sichtverbindung, eine
Wand mit Regal voller Bücher und elektronischem Krimskrams dazwischen.
Als nächstes bin Ich Ad-Hoc eine Station weitergehüpft und habe von der
104.130.1.67 auf der Zwingli mir gaaanz viele Nullen gesaugt. Immer noch
148 kByte/sec. Und stabil. Ziemlich viele Megabytes Nullen - und nix
ruckelt oder zuckt. Wow! Also wer einige Megabyte Nullen haben möchte -
dem kann Ich sie gerne zuschicken ;-)
cu elektra
-------------- nächster Teil --------------
_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
https://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin
Mehr Informationen über die Mailingliste Berlin