Sieben USB WLAN-Adapter im Test

Aus LinuxUser 12/2004

Sieben USB WLAN-Adapter im Test

© photocase.de

USB funkt

Elektronikgeräte werden immer kleiner, so auch WLAN-Adapter, die es neuerdings auch als USB-Sticks gibt. Dieser Artikel zeigt Ihnen, worauf Sie beim Kauf achten sollten, und wie Sie die unterstützten Geräte in Betrieb nehmen.

Die Biergarten-Zeit ist zwar bereits vorbei, aber ein Wireless-LAN-Adapter leistet nicht nur im Freien gute Dienste, sondern auch in der eigenen Wohnung, am Arbeitsplatz, auf Flughäfen und an immer mehr Orten mit öffentlichem WLAN-Zugang. Seit einiger Zeit gibt es auch WLAN-Karten mit USB-Schnittstelle, die nicht größer als handelsübliche USB-Memorysticks sind und somit auch in der kleinsten Tasche Platz finden.

Beim Kauf dieser Adapter ist jedoch noch Vorsicht geboten. Vor allem die neuen 54 Mbit-Sticks unterstützt Linux noch kaum, aber auch bei älteren Modellen kann es zu Schwierigkeiten kommen.

Tabelle 1: Testgeräte im Überblick.

Name Hersteller Chip Modul Geschwindigkeit Linuxtreiber Acces Point Ad-Hoc Preis ca.
MA111 Netgear Prism2 prism2_usb 11 Mbit/s x x x 30 Euro
DWL-122 D-Link Prism2 prism2_usb 11 Mbit/s x x x 25 Euro
DWL-G122 D-Link Ralink rt2570 54 Mbit/s x1 x 0 55 Euro
WL-U356 Planet ZyDAS ZD1211 zd1211 54 Mbit/s x 0 0 40 Euro
WG111 Netgear Prism Frisbee? ? 54 Mbit/s 0 0 0 55 Euro
C54RU Conceptronic Intersil/Prism ? 54 Mbit/s 0 0 0 30 Euro
SMC2862W-G SMC Networks Prism Frisbee prism54u 54 Mbit/s x 0 0 50 Euro
1 Treiber noch nicht offiziell erhältlich

Auf der sicheren Seite

Mit der Verbreitung von WLAN-Geräten steigt auch die Zahl der Hersteller und Anbieter von USB-WLAN-Sticks. Quasi out-of-the-box funktionieren zur Zeit allerdings nur 11 Mbit USB-Adapter mit Prism2-Chipsatz, wie die von der Redaktion getesteten Geräte Netgear MA111 und D-Link DWL-122 (siehe Tabelle 1). Eine Liste sämtlicher von Linux-wlan-ng zur Zeit unterstützten Geräte finden Sie unter [1].

Am einfachsten geht die Inbetriebnahme dieser zwei Adapter unter SuSE Linux ab Version 9.0. Nach dem Anschliessen des Adapters starten Sie in YaST das Modul zum Einrichten der Netzwerkkarte, markieren den Punkt Andere (nicht erkannte) und klicken auf Konfigurieren…. Unter Gerätetyp wählen Sie den Eintrag Drahtlos aus und klicken dann unten rechts auf Auswahl aus Liste. Hier nehmen Sie den untersten Eintrag Wireless Device, das das Kernel-Modul prism2_usb.o verwendet und bestätigen mit OK (siehe Abbildung 1). Klicken Sie dann auf Einstellungen für Funkverbindungen und stellen Sie die ESSID und den Betriebsmodus ein.

Abbildung 1: Einrichten eines USB WLAN-Adapters mit Prism2-Chipsatz unter SuSE Linux 9.1.

Abbildung 1: Einrichten eines USB WLAN-Adapters mit Prism2-Chipsatz unter SuSE Linux 9.1.

Möchten Sie über den WLAN-Adapter auf einen Access-Point (zum Beispiel im englischen Garten in München) oder einen WLAN-DSL-Router zu Hause zugreifen, ist der entsprechende Modus Verwaltet (managed) bereits eingestellt. Sie brauchen nur noch die ESSID einzugeben und auf OK zu klicken (siehe Abbildung 2). Sie gelangen dann zum Bildschirm Manuelle Konfiguration der Netzwerkkarte zurück. Läuf auf Ihrem Access-Point ein DHCP-Server (die Regel), können Sie Weiter / Beenden drücken und lossurfen. Läuft auf dem Access-Point kein DHCP-Server müssen Sie eine statische Netzwerkadresse eingeben. Die nötigen Informationen dazu finden Sie in der Dokumentation Ihres Access-Points oder WLAN-Routers.

Abbildung 2: Ohne richtige ESSID finden die Wireless-Geräte nicht zueinander.

Abbildung 2: Ohne richtige ESSID finden die Wireless-Geräte nicht zueinander.

Haben Sie vor, eine direkte Verbindung mit einem anderen PC aufzubauen benötigen Sie den Modus Ad-Hoc. In diesem Fall müssen Sie unbedingt auch den Kanal angeben, über den Sie kommunizieren möchten. Da das Linux-wlan-ng-Projekt in der Grundeinstellung Kanal 6 benutzt, sind Sie damit auf der sicheren Seite. Klicken Sie dazu in dem auf Abbildung 2 zu sehenden Dialog auf Einstellungen für Experten und wählen Sie den entsprechenden Kanal aus der Liste aus. Nach Bestätigung über OK und Weiter gelangen Sie zum Dialog, in dem Sie die Netzwerkadresse festlegen können. Hier wählen Sie den Punkt Konfiguration der statischen Adresse und geben die entsprechende IP-Adresse ein. Wählen Sie beispielsweise 192.168.1.1 auf dem einen Rechner und 192.168.1.2 auf dem PC, mit dem Sie die Verbindung aufbauen möchten.

Nach einem Klick auf Weiter ist Ihr USB-Adapter betriebsbereit. Unter anderen Distributionen müssen Sie den Adapter von Hand einrichten. Wie das geht, lesen Sie in Kasten 1.

Kasten 1: Prism2_usb nachrüsten

Um einen USB-WLAN-Adapter mit Prism2 Chipsatz in Betrieb nehmen zu können brauchen Sie linux-wlan-ng[2] und die wireless-tools[3]. Während die meisten Distributionen dafür zwei verschiedene Pakete vorsehen, ist unter SuSE Linux linux-wlan-ng Teil des wireless-tools Paketes und Sie müssen die Tools nicht nachinstallierren. SuSE benutzt zudem einen leicht anderen Weg um die Prism2-USB-Adapter einzurichten, so dass SuSE-Benutzer einfach YaST dazu benutzen können.

Um die wireless-tools zu kompilieren entpacken Sie die tar.gz-Datei auf der Heft-CD, wechseln dann ins entsprechende Verzeichnis und geben dann einfach den Befehl make aus. Per Default installiert root mit make install die Tools nach /usr/local. Möchten Sie einen anderen Pfad wählen (zum Beispiel /usr), müssen Sie das Makefile editieren. Die Installation von linux-wlan-ng erfolg ähnlich. Hier startet make config einen Konfigurations-Dialog, in dem Sie festlegen, welche Treiber Sie benötigen. Für den USB-Stick verneinen Sie die ersten drei Fragen und antworten nur bei Build Prism2.5 USB (_usb) driver? (y/n) mit [y] und [Enter]. Alle weiteren Fragen können Sie mit [Enter] abschliessen. Sind die Kernelquellen installiert und richtig konfiguriert startet danach make den Übersetzungsvorgang und make install als root installiert das Programm.

Nach der Installation fügen Sie die Zeile

alias wlan0 prism2_usb

am Ende Ihrer /etc/modprobe.conf respektive /etc/modules.conf (für Kernel 2.4.x) ein und laden dann mit modprobe prism2_usb das entsprechende Kernelmodul. Nun sollte iwconfig die Karte bereits als wlan0 aufführen (siehe Kasten 2).

Um Ihren Adapter in Betrieb zu nehmen müssen Sie zwei Dateien im Verzeichnis /etc/wlan/ editieren. Damit sich zwei Wireless-Karten im Ad-Hoc-Modus überhaupt sehen, brauchen sie nebst einer IP-Adresse auch eine eindeutige Netzwerk-ID, die ESSID. Setzen Sie deshalb in /etc/wlan/wlan.conf einen entsprechenden Wert für die Variable SSID_wlan0 ein (um Zeile 80), zum Beispiel

SSID_wlan0="drahtlos"

Danach müssen Sie die Datei /etc/wlan/wlancfg-DEFAULT auf den Namen Ihrer ESSID umbenennen (dem Beispiel entsprechend also nach wlancfg-drahltlos), und um Zeile 31 IS_ADHOC=n nach IS_ADHOC=y ändern, um den Ad-Hoc-Modus benutzen zu können. Starten Sie jetzt den WLAN-Dienst mit /etc/init.d/wlan start. Ist alles gut gegangen, weisen Sie dem Gerät zum Beispiel über ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 eine IP-Adresse zu und pingen dann den Partnerrechner mit ping 192.168.1.2 (die IP-Adressen müssen Sie Ihren Gegebenheiten entsprechend anpassen).

Um auf einen Access-Point zuzugreifen wählen Sie anstelle des Ad-Hoc Modus den Modus managed. Das heisst, dass Sie den Eintrag in /etc/wlan/wlancfg-drahltloswieder auf IS_ADHOC=n ändern müssen. Da im verwalteten Modus der Access-Point den Kanal festlegt, müssen Sie noch den Channel-Scan aktivieren, damit der WLAN-Adapter alle Kanäle durchsucht. Setzen Sie dazu die Variable WLAN_SCAN in der Datei /etc/wlan/wlan.conf auf WLAN_SCAN=y. Wissen Sie, welchen Kanal Ihr Access-Point benutzt, können Sie auch unter ChannelList die nicht benötigten Kanäle löschen, damit der Scan schneller geht.

Fehlersuche

Klappt die Verbindung nicht auf Anhieb, lohnt es sich zunächst mit iwconfig zu überprüfen, ob das System den Wireless-LAN-Adapter überhaupt erkannt hat. Eine entsprechende Ausgabe ist in Kasten 2 zu sehen. Zeigt der Befehl keine Wireless-Geräte an, überprüfen Sie mit /sbin/lsmod | grep prism ob das Modul prism2_usb überhaupt geladen ist. Laden Sie notfalls das Modul mit modprobe prism2_usb von Hand nach. Aufschlussreich sind auch die Kernelmeldungen während des Anschließens des USB-Sticks. Geben Sie dazu in einem Terminalfenster als root den Befehl tail -f /var/log/messages ein und beobachten Sie die Meldungen im Terminalfenster währenddem Sie den Stick ein- oder ausstecken. Unter Systemen mit Hotplug-Unterstützung (zum Beispiel Fedora, Mandrake und SuSE) sollte Linux das Modul automatisch laden, wenn Sie den WLAN-Stick anschließen.

Weiter lohnt es sich auch die Firewall zu überprüfen. SuSE Linux startet zum Beispiel seit Version 9.2 automatisch eine Firewall, wenn ein Netzwerkgerät aktiviert wird. Passen Sie deshalb die Einstellungen der Firewall auf das neue Device an, oder deaktivieren Sie die Firewall zunächst, um Fehler auszuschließen.

Kasten 2:Beispielausgabe von iwconfig

Ohne Verschlüsselung im Ad-Hoc Modus

suse92:/home/marcel # iwconfig
lo        no wireless extensions.
eth0      no wireless extensions.
wlan0     IEEE 802.11-DS  ESSID:"drahtlos"  Nickname:"suse92"
          Mode:Ad-Hoc  Frequency:2.442 GHz  Cell: 02:0F:DA:B5:C1:3E
          Bit Rate:2 Mb/s   Tx-Power:2346 dBm
          Retry min limit:8   RTS thr:off   Fragment thr:off
          Encryption key:off
          Link Quality=0/92  Signal level=-100 dBm  Noise level=-100 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
sit0      no wireless extensions.

Mit Verschlüsselung im Managed Modus

client:/home/otto # iwconfig
lo        no wireless extensions.
eth0      no wireless extensions.
wlan0     IEEE 802.11-b  ESSID:"drahtlos"  Nickname:"drahtlos"
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:09:5B:2D:B8:98
          Bit Rate:11 Mb/s   Tx-Power:2346 dBm
          Retry min limit:8   RTS thr:off   Fragment thr:off
          Encryption key:3BFA-1658-F26F-65BB-1015-0222-49   Security mode:open
          Link Quality=92/92  Signal level=-40 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
sit0      no wireless extensions.

Für ganz Schnelle

In der 54 Mbit-Klasse läuft zur Zeit einzig der D-Link DWL-G122 unter Linux. Leider ist der Treiber noch nicht frei verfügbar, die LinuxUser-Redaktion konnte aber eine Beta-Version mit Kernel 2.6.7 erfolgreich testen. Eine Version für Kernel 2.4 ist nicht geplant.

Der Treiber wird über make -C /pfad/zu/den/kernelquellen SUBDIRS=$PWD modules kompiliert, dann lädt root das entsprechende Modul mit insmod rt2570.ko. Schließlich wird das WLAN-Device mit ifconfig rausb0 up aktiviert, dann kann ihm eine eine IP-Adresse zugewiesen oder ein DCHP-Client gestartet werden. Laut D-Link soll der Treiber in Kürze auf dem D-Link FTP-Server verfügbar sein, hoffentlich sind bis dann auch die Probleme mit dem Ad-Hoc Modus behoben. Da als Access-Point nur ein 11 Mbit-Testgerät zur Verfügung stand, musste der Geschwindigkeitsvergleich mit den 11 Mbit-Adaptern leider ausbleiben.

Experimentierfreudig

Für angehende Entwickler und Kernelprogrammierer lohnt sich ein Blick auf die Adapter WL-U356 von Planet und SMC2862W-G von SMC Networks. Für den Planet-Adapter stehen Linux-Treiber auf der Planet-Homepage [4] zum Download bereit, die sich sowohl unter Kernel 2.4 als auch 2.6 kompilieren lassen. Nach erfolgreichem Kompilierungsvorgang über den Befehl make lädt root von Hand das Modul zd1211 und aktiviert das Interface über ifconfig eth1 up. Danach listet iwconfig das Gerät auf, alle weiteren Versuche über den Stick mit einem Access-Point oder einem anderen Rechner zu kommunizieren blieben allerdings in der LinuxUser-Redaktion erfolglos. Dies liegt wohl in erster Linie daran, dass sich über iwconfig keine Paramerter einstellen lassen, so auch keine ESSID. LinuxUser hat den Entwickler des Treibers auf das Problem angesprochen, allerdings bis Redaktionsschluss keine Antwort erhalte.

Vorerst ebenfalls nur für experimentierfreudige Benutzer eignet sich der SMC-Adapter. Für das auf den Prism Frisbee basierende WLAN-Gerät gibt es Treiber in Entwicklung und Firmware unter [5]. Den Kompiliervorgang starten Sie nach dem Auspacken der Quellen wie beim DWL-G122 über make -C /pfad/zu/den/kernelquellen SUBDIRS=$PWD modules, dann laden Sie das Modul mit insmod prism54u.ko. Auch hier gilt jedoch das gleiche, wie für den Planet-Stick: Der Adapter wird zwar nach dem Laden des Moduls prism54u erkannt, Kontakt mit Ihm aufzunehmen gelang der Redaktion allerdings nicht.

Lücken schließen

Zu Testzwecken empfiehlt es sich zwar die WLAN-Verbindung ohne Verschlüsselung einzurichten, in einem produktiven Umfeld ist aber der Gebrauch eines entsprechenden WEP-Schlüssels dringend zu empfehlen. Um zum Beispiel für den Prism2-USB-Adapter eine verschlüsselte Verbindung aufzubauen editieren Sie die Datei /etc/wlan/wlancfg-ESSID. Hier legen Sie über die Variable AuthType zunächst fest, ob Linux-wlan-ng Verschlüsselung mit einem gemeinsamen Schlüssel (shared key) benutzen soll. Da diese Methode potentiell anfälliger für Angriffe ist, sollten Sie allerdings beim Modus Open bleiben. Hier sorgten die Tools in der Version 0.2.1-pre22 im Test übrigens für einige Verwirrung. Trotz anpassen der Variable, zeigte iwconfig für den Mode stets Security mode:restricted an. Tests mit Shared Keys und im Open-Modus zeigten aber, dass der USB-Stick die Variable nicht ignorierte.

Dann ändern Sie den Abschnitt #==WEP== wie in Kasten 3 aufgelistet. Über die ersten zwei Variablen legen Sie fest, ob der Client die Ent- und Verschlüsselungsmechanismen der Hardware (false) oder des Linux-wlan-ng-Treibers benutzen soll. Da laut Dokumentation die Software-Variante wesentlich schneller ist, empfiehlt es sich die Variablen auf true zu setzen. Der Eintrag dot11PrivacyInvoked=true legt fest, dass Sie überhaupt Verschlüsselung verwenden möchten.

In der nächsten Zeile legen Sie fest, welchen Schlüssel das Programm in der Grundeinstellung verwenden soll. Dieser wird dann zum Verschlüsseln Ihrer Daten verwendet. Damit Sie aber auch in anderen Funknetzen mit Verschlüsselung arbeiten können, merkt sich das Programm maximal vier verschiedene Keys, mit denen sich Daten entschlüsseln lassen. Um auszuschließen, dass Ihr Host von anderen Rechnern unverschlüsselte Daten akzeptiert, setzen Sie die Variable dot11ExcludeUnencrypted auf true, dies funktioniert allerdings nur im Shared-Key-Modus.

Der zweite Abschnitt bestimmt, mit welchem Schlüsselgenerator Linux-wlan-ng arbeitet. Per default installiert make install das Programm nwepgen. Im Unterverzeichnis add-ons des Linux-wlan-ng Quellcode-Verzeichnisses befindet sich auch noch die Tools lwepgen und keygen, die Sie einfach über make kompilieren und dann nach /sbin/ oder /usr/local/sbin/ kopieren. Sie eignen sich ebenfalls zum Anlegen von WEP-Schlüsseln, sind allerdings nicht mit allen Geräten kompatibel. Möchten Sie eines dieser Tools nutzen, müssen Sie unter PRIV_GENSTR ein Passwort angeben, womit dann der Schlüssel generiertwird. Im Normalfall erzeugen Sie allerdings auf Ihrem Access-Point den nötigen Schlüssel und fügen ihn dann unter dot11WEPDefaultKey0 ein. Beachten Sie hier, dass Sie den Schlüssel wie im Beispiel angegeben eintippen und nicht etwa in vierer Paaren, mit Bindestrich oder ohne Doppelpunkte.

Über PRIV_KEY128 legen Sie schließlich fest, ob Sie die sicherere 128-Bit- oder die etwas ältere 64-Bit-Variante wählen möchten. Da einige ältere Geräte noch keine 128-Bit-Keys unterstützen ist 64-Bit die Grundeinstellung. Die getesteten WLAN-Adapter unterstützen aber alle 128-Bit-Verschlüsselung.

SuSE Linux nimmt auch hier die Einstellungen dem Benutzer weitgehen ab. Sie müssen lediglich in YaST die passende Schlüsselvariante auswählen (Passphrase, ASCII oder Hexadecimal) und die entsprechende Zeichenfolge ins darunterliegende Texfeld eintragen. Um einen Hexadezimalen Schlüssel zu generieren, lassen sich auch die oben erwähnten Tools verwenden, die unter SuSE Linux Teil des Paketes wireless-tools sind.

Fazit

Obschon die WLAN-Stick-Hersteller bereits ein breites Angebot an 54 MBit-Adaptern zur Verfügung stellen lohnt es sich unter Linux mit dem Kauf noch zu warten, und vorerst mit einem 11 MBit-Gerät mit Prism2-Chipsatz vorlieb zu nehmen. Für das Surfen im Internet reicht dessen Datendurchsatz allemal. Mit dem D-Link DWL-G122 gibt es aber bereits einen funktionierenden 54 Mbit schnellen USB-WLAN-Adapter und auch die Entwicklungen für andere Treiber sind weit vorangeschritten, so dass hier bis zu Weihnachten noch vieles möglich ist.

Kasten 3:WEP-Verschlüsselung einrichten

#=======WEP===========================================
# [Dis/En]able WEP.  Settings only matter if PrivacyInvoked is true
lnxreq_hostWEPEncrypt=true     # true|false
lnxreq_hostWEPDecrypt=true     # true|false
dot11PrivacyInvoked=true       # true|false
dot11WEPDefaultKeyID=0          # 0|1|2|3
dot11ExcludeUnencrypted=true    # true|false, in AP this means WEP is required.
# If PRIV_GENSTR is not empty, use PRIV_GENTSTR to generate
#  keys (just a convenience)
# add-ons/ in the tarball contains other key generators.
PRIV_GENERATOR=/sbin/nwepgen    # nwepgen, Neesus compatible
PRIV_KEY128=true               # keylength to generate
PRIV_GENSTR=""
# or set them explicitly.  Set genstr or keys, not both.
dot11WEPDefaultKey0=3B:FA:16:58:F2:6F:65:BB:10:15:02:22:49
dot11WEPDefaultKey1=            #         xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
dot11WEPDefaultKey2=            #  e.g.   01:20:03:40:05   or
dot11WEPDefaultKey3=            #  01:02:03:04:05:06:07:08:09:0a:0b:0c:0d

LinuxUser 12/2004 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben