20 aktuelle WLAN-Adapter im Test

Aus LinuxUser 07/2008

20 aktuelle WLAN-Adapter im Test

Positive Wellen

Hersteller aktueller WLAN-Produkte versprechen traumhafte Übertragungsraten von bis zu 300 MBit/s. In der Realität fällt die Geschwindigkeiten deutlich geringer aus.

LinuxUser hat 20 aktuelle WLAN-Adapter auf ihre Linux-Tauglichkeit hin getestet. Im Vergleich zum letzten großen WLAN-Test [1] fällt auf, dass seither viele Treiber seither den Weg in den Kernel gefunden haben. Aktuelle Distributionen unterstützen vor allem Geräte mit Ralink-Chipsatz sehr gut. Von den getesteten Adaptern (siehe Tabelle “Das Testfeld”) arbeiten fast alle direkt mit Linux zusammen. Nur drei Geräte benötigen zwingend den Windows-Treiber, um unter Linux zu funken. Dieser Artikel stellt Ihnen die einzelnen Geräte vor und hilft – wo nötig – bei der Treibersuche.

Kurze Basics

Ob Linux Ihre WLAN-Hardware erkannt hat, zeigt die Ausgabe des Befehls iwconfig mit Administratorrechten in einem Terminal. Nach Funknetzen suchen Sie mit iwlist Gerätename scan, zum Beispiel iwlist wlan0 scan. Die meisten Ralink-Geräte müssen Sie dazu mit ifconfig Gerätename up zunächst aktivieren. Ob die passende Firmware vorhanden ist, überprüfen Sie entweder mit einem Blick in das Verzeichnis /lib/firmware (unter Ubuntu /lib/firmware/Kernelversion) oder über die Ausgabe von dmesg | grep Firmware.

Müssen Sie einen Treiber von Hand installieren, benötigen Sie dazu die zum Kernel passenden Header-Dateien oder die kompletten Kernelquellen sowie die grundlegenden Entwicklerwerkzeuge make und gcc. Der Artikel erklärt im Folgenden, wie Sie die getesteten Adapter in Betrieb nehmen und, wo nötig, wie das WPA-Setup funktioniert. Eine WEP-Verschlüsselung herzustellen, sollte bei allen Geräten problemlos funktionieren.

Ralink immer besser

Möchten Sie einen WLAN-Adapter mit Support für den schnellen Standard 802.11n, dann kaufen Sie am besten eines der vorgestellten Geräte mit dem Ralink-Chipsatz RT2870 (USB-Adapter) oder RT2860 (PCI- und Cardbus-Hardware). Diese Chipsätze unterstützt der Kernel zwar nicht von Haus aus, Sie finden aber auf der Ralink-Homepage entsprechende Linux-Treiber [2]. Die Installationsanleitung von Ralink ist etwas kompliziert, das Paket WebUI für die PCI- und Cardbus-Karten bringt zudem noch den WPA-Supplicant im Quellcode sowie einige WPA-Tools mit.

Halten Sie sich am besten nicht an die Anleitung, sondern führen Sie nach dem Entpacken des Tarballs (wir benutzten 2008_0325_RT2860_Linux_STA_v1.6.1.0.tar.bz2) ganz normal make und make install aus. Beim nächsten Start lädt der Kernel automatisch das Modul rt2860sta.ko, und iwconfig zeigt das Interface ra0 an (Abbildung 1). Ohne Neustart laden Sie das Modul über den Befehl modprobe rt2860sta.

Bevor Sie nach Funknetzen suchen können, müssen Sie das Interface zunächst mit dem Befehl ifconfig ra0 up aktivieren. Die Karte liest dabei Informationen wie den Netzwerktyp, den Access Point und die Verschlüsselungsmethode aus der Konfigurationsdatei RT2860STA.dat ein, die zum Quellcode des Treibers gehört und sich nach der Installation im Verzeichnis /etc/Wireless/RT2680STA/ befindet. Sämtliche Parameter in der Konfigurationsdatei lassen sich mit den entsprechenden der Kommandos iwconfig und iwpriv überschreiben. Änderungen daran sind somit nicht zwingend nötig.

Abbildung 1: Mit dem Ralink-eigenen Treiber müssen Sie die Schnittstelle zunächst aktivieren.

Abbildung 1: Mit dem Ralink-eigenen Treiber müssen Sie die Schnittstelle zunächst aktivieren.

Haben Sie den Treiber wie beschrieben kompiliert, unterstützt dieser den WPA-Helfer wpa_supplicant nicht. Eine WPA-Verschlüsselung stellen Sie über verschiedene iwpriv-Befehle ein. Details und Beispiele finden Sie in der Datei iwpriv_usage.txt im Quellcode. Ein Beispielskript mit einem einfachen WPA1-Setup, das unter Kubuntu 8.04 mit einer RT2860-Karte problemlos funktioniert hat, zeigt Listing 1. Achten Sie darauf, zu den Routereinstellungen passende Befehle zu benutzen. Unterstützt Ihr Router zum Beispiel nur WPA2 mit AES, dann gilt es das Skript entsprechend zu ändern. Die Werte für SSID und WPAPSK müssen Sie Ihrer WLAN-Umgebung anpassen. Den 64-stelligen WPA-Schlüssel im Hex-Format erzeugen Sie am besten über den Befehl wpa_passphrase ESSIDPasswort. Danach setzen Sie den Schlüssel per Copy&Paste auf dem Router ein. Zeigt der Router von Haus aus einen Hex-Schlüssel an, funktioniert natürlich auch der umgekehrte Weg. Das Setup des Routers sollten sie immer via Kabel vornehmen, da die WLAN-Verbindung bei der Umstellung auf WEP oder WPA zwangsläufig abbricht.

Listing 1
# ralink-up.sh
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=WPAPSK
iwpriv ra0 set EncrypType=TKIP
iwpriv ra0 set SSID=linuxuser
iwpriv ra0 set WPAPSK=0b8f65e00d57bebe1406bce72c4a35ddba18b4d10b54d10a95a21daa37d99bbd
iwpriv ra0 set SSID=linuxuser

Möchten Sie für die WPA-Unterstützung den Network-Manager mit wpa_supplicant nutzen, müssen Sie vor dem Kompilieren des Treibers die Datei os/linux/config.mk editieren. Ändern Sie in den Einträgen HAS_WPA_SUPPLICANT=n und HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n in Zeile 8 und 11 jeweils das =n zu einem =y. Übersetzen und installieren Sie den Treiber neu, sollte der Netzwerkmanager das neue WLAN-Interface automatisch erkennen; Sie können dann WPA über das grafische Frontend einstellen.

Das funktionierte in den Tests allerdings nur unter den neuesten Distributionen Fedora 9, OpenSuse 11 und Ubuntu 8.04. Eine Zwischenlösung besteht darin, den nativen WPA-Support abzuschalten und nur die Variable HAS_WPA_SUPPLICANT auf =y zu setzen: Sie müssen dann zusätzlich das WebUI-Paket von der Ralink-Seite herunterladen und den darin enthaltenen WPA-Supplicant-Quellcode von Hand übersetzen. Im Quellcode befindet sich auch die Konfigurationsdatei wpa_supplicant.conf.ralink. Diese passen Sie Ihrem Netz entsprechend an und starten dann den Supplicanten über:

./wpa_supplicant -Dralink -ira0 -c wpa_supplicant.conf.ralink

Die Ausgabe von iwconfig zeigt danach den Schlüssel an, und Sie können per dhclient ra0 vom Router eine IP-Adresse anfordern.

Probleme mit USB

Während der Ralink-Treiber rt2860sta für die PCI- und Cardbus-Karten in den Tests keine Schwierigkeiten bereitete, gelang es uns nicht, über den entsprechenden USB-Treiber (rt2870sta) eine WPA-Verbindung aufzubauen. Für die Tests benutzten wir die Version 2008_0506_RT2870_Linux_STA_v1.3.0.0.tar.bz2. Beim RT2870-Projekt [3] gibt es aber einen aktuelleren, alternativen Treiber, dessen Verwendung wir empfehlen. Er ist der einzige, der bei der Ausgabe von iwconfig das Gerät als 802.11bgn deklariert: Alle anderen 802.11n-Treiber zeigen nur 802.11g an.

Wechseln Sie zum Kompilieren nach dem Entpacken der Datei rt2870-project.tar.gz ins Verzeichnis Module und führen Sie hier make aus. Haben Sie bereits den Treiber von der Ralink-Homepage installiert, müssen Sie diesen zunächst entfernen, sonst kommt es zu einem Konflikt beim Laden des passenden Kernelmoduls. Dazu führen Sie im Verzeichnis 2008_0506_RT2870_Linux_STA_v1.3.0.0 als Root den Befehl make uninstall aus. Danach installieren Sie den RT2870-Project-Treiber über make install im Verzeichnis rt2870-project. Beim Anschließen eines passenden USB-Sticks lädt der Kernel dann das Modul rt2870 (ohne sta im Modulnamen), als Interface legt der Treiber die Schnittstelle wlan0 an. Eine WPA-Verschlüsselung legen Sie analog wie bei den PCI-Karten an, den Code in Listing 1 können Sie mit kleinen Änderungen übernehmen.

Für die älteren 802.11g-Adapter mit Ralink-Chipsatz bringt der Kernel zwar alle Treiber mit, aber nicht unbedingt die Firmware. Je nach Distribution gehört diese schon zur Standardinstallation (Fedora 9, Ubuntu 8.04) oder sie müssen sie nachinstallieren. Unter OpenSuse 11 spielen Sie die Firmware aus dem NON-OSS-Repository mit folgendem Befehl ein:

zypper install ralink-firmware

Die 802.11g-Modelle mit Ralink-Chipsatz lassen sich komplett über den Netzwerkmanager einrichten.

Nur mit Ndiswrapper

Nur drei Geräte im Testfeld benötigten zwingend den Windows-Treiber, um unter Linux zu funken. Bei keinem der drei Adapter müssen Sie im Internet nach entsprechenden Treibern suchen oder über Wine irgendwelche setup.exe-Dateien ausführen, um an die passenden Treiber zu gelangen. Die benötigte INF-Datei liegt jeweils ungepackt auf der beiliegenden Treiber-CD. Für den Linksys USB300N finden Sie sie im Verzeichnis WUSB300N/Drivers. Sie installieren den Treiber über den Befehl

ndiswrapper -i XP_2K/netmw245.inf

Danach laden Sie als Root den Ndiswrapper über den Befehl modprobe ndiswrapper. Den Treiber für den Cardbus-Adapter WLI-CB-AG300N von Buffalo finden Sie im Verzeichnis Bin/Driver/CBAG300N, die Installation erfolgt über ndiswrapper -i netag3n.inf. Beim USB-Stick von AVM liegt die passende Datei fwusbn.inf im Hauptverzeichnis der Treiber-CD. Das Setup gestaltet sich analog zu den genannten zwei Karten.

In den Tests verursachte der Netag3n-Treiber des Buffalo-Adapters am meisten Schwierigkeiten. Ein Test-Notebook mit OpenSuse 10.3 stürzte beim Laden des Ndiswrapper-Moduls reproduzierbar ab, auch unter der Beta3 von OpenSuse 11 kam es ab und zu zu kompletten Hängern mit dem Marvell-Treiber. Für den Atheros-Chipsatz AR9001/AR9160 des Fritz-Sticks gibt es zwar einen binären Linux-Treiber [4]. Dieser ist jedoch für Kernel 2.6.21 kompiliert und unterstützt nur Mini-PCI-Karten, keine USB-Geräte. Der Ath5k-Treiber unterstützt den Chipsatz nicht. Der 802.11n-Stick von AVM funkt nicht nur in b-, g- und n-Netzen, sondern auch nach dem Standard 802.11a (siehe Kasten “A-Netze”).

A-Netze

Von vielen Anwendern kaum beachtet hat sich neben dem 802.11g-Standard für Funknetze mit einer Geschwindigkeit von maximal 54 MBit/s auch der Standard 802.11a durchgesetzt. Er bringt in etwa die gleichen Parameter wie 802.11g mit (ca. 2 MByte/s Datendurchsatz, ca. 35 Meter Reichweite in Gebäuden), sendet aber im 5-GHz-Band anstelle des üblichen 2,4-GHz-Bereichs. Um die gleiche Reichweite wie 802.11g-Adapter zu erzielen, benötigen 802.11a-Geräte eine höhere Sendeleistung, was jedoch auch einen höheren Stromverbrauch bedeutet.

Der Einsatz eines 802.11a-Netzes empfiehlt sich in Umgebungen mit sehr vielen Störfaktoren (Mikrowelle, Babyfon, viele WLAN-Netze). Die Geräte kosten in der Regel etwas mehr als “herkömmliche” Adapter; bei den meisten Sticks, Routern und Karten handelt es sich aber Kombigeräte, die auch mit 801.11b- und 802.11g-Netzen zurecht kommen. Von den Testgeräten beherrschen nur zwei Cardbus-Karten von Buffalo sowie der USB-Stick von AVM den 802.11a-Modus.

Broadcom wie gehabt

Besitzen Sie eine der getesteten Cardbus-Karten mit dem Broadcom-Chipsatz 4318, müssen Sie kein eigenes Kernelmodul bauen: Der Linux-Kernel unterstützt diese Hardware schon seit längerem, die Firmware gehört aber weiterhin nicht zum Kernel. Installieren Sie das Paket bcm43xx-fwcutter. Es befindet sich bei OpenSuse auf der DVD, Ubuntu-Benutzer installieren es aus dem Universe-Repository. Anschließend rufen Sie unter OpenSuse mit Admin-Rechten den Befehl install_bcm43xx_firmware auf. Unter Ubuntu lautet der passende Befehl /usr/share/bcm43xx-fwcutter/install_bcm43xx_firmware.sh. Beide Befehle legen die extrahierten Dateien im Verzeichnis /lib/firmware ab. Nach den Befehlen rmmod bcm43xx und modprobe bcm43xx ist die Karte einsatzbereit. Die WPA-Verschlüsselung richten Sie bequem per Networkmanager oder von Hand per wpa_supplicant ein.

Ath5k für Atheros-Karten

Seit Version 2.6.25 unterstützt der Kernel einige Atheros-Karten out-of-the-box. Welche genau dazugehören, hängt von der Kernel- und der Treiberversion ab. In unseren Tests funktionierte zum Beispiel die Cardbus-Karte DWA-645 unter Fedora-Core automatisch; unter der Beta3 von OpenSuse 11 erschien im Systemlog die Meldung, dass diese Karte von Ath5k noch nicht unterstützt werde, obwohl beide Distributionen auf den Kernel 2.6.25 setzen. Um an die neuen WLAN-Treiber zu gelangen, müssen Sie aber nicht zwingend ein komplettes Kernel-Update vornehmen.

Auf der Projektseite des Linux-Wireless-Treiber-Programms [5] gibt es täglich aktualisierte Quellpakete mit Treibern für diverse Atheros-, Broadcom-, Ralink und Intel-Chipsätze. Dieses Paket passt zu allen Kerneln ab Version 2.6.21. Entpacken Sie dazu die Datei compat-wireless-2.6.tar.bz2 in einem beliebigen Verzeichnis, wechseln Sie mit cd compat-wireless-Datum in das neue Verzeichnis und führen Sie hier die Befehle make und sudo make install aus.

Bis der Ath5k-Treiber sämtliche Karten mit Atheros-Chipsatz unterstützt, sind Sie eventuell noch auf den Ndiswrapper angewiesen. In unseren Tests lieferten die zwei Cardbus-Karten WPC54GS-DE und DWA-645 mit dem Ndiswrapper einen leicht besseren Datendurchsatz – allerdings keine 300 Mbit/s, wie es die Ausgabe von iwconfig behauptet (Abbildung 2).

Abbildung 2: Laut     <code srcset=

iwconfig funkt die Karte mit 300 Mbit pro Sekunde, gemessen haben wir gerade mal 54 Mbit/s.” width=”300″ height=”163″ /> Abbildung 2: Laut iwconfig funkt die Karte mit 300 Mbit pro Sekunde, gemessen haben wir gerade mal 54 Mbit/s.

Was liegt drin?

Wer sich neues WLAN-Equipment besorgt, möchte natürlich auch die Vorteile der neuen Technologie nutzen. Unsere Tests brachten jedoch relativ ernüchternde Ergebnisse. Die meisten 802.11n-Geräte kommen nicht über die Leistung von 802.11g-Hardware hinaus. Einzig zwei Ralink-Geräte mit dem RT2860-Chipsatz schafften Übertragungsraten von knapp 5 MByte/s über SSH. Sie erreichen per WLAN somit im besten Fall den Speed eines 100-Mbit/s-Ethernet-Netzes, von 300 Mbit/s ist die Technologie – zumindest unter Linux – noch weit entfernt. Interessanterweise hat auch keine Linux-Distribution die Test-Access-Points DWL-655 von D-Link und W2R-AG300NH von Buffalo als 802.11n-Access-Point erkannt. Die Ausgabe von iwlist wlan0 scan zeigte als Höchstgeschwindigkeit jeweils 54 Mbit/s an.

Von den Geschwindigkeitswerten der iwlist und iwconfig-Ausgaben sollten Sie sich generell nicht zu viel versprechen. So zeigte iwconfig beim USB-Stick Ri300U von Conceptronic stets 65 Mbit/s als Höchstrate an, beim D-Link-Gerät mit dem gleichen Chipsatz hingegen 130 Mbit/s. In den Tests transferierten beide Sticks Daten mit einer Rate von rund 2,5 MByte/s. Auch mit Ndiswrapper liegen keine besseren Ergebnisse vor: Ein Test zwischen dem USB-Stick von AVM und der Cardbus-Karte von D-Link (beide Geräte zeigen mit dem Ndiswrapper 300 Mbit/s an) erbrachte effektive Übertragungsraten zwischen 1 und 3 MByte – das leisten 802.11g-Netze auch.

Für sämtliche Tests kopierten wir Dateien per SSH von einem auf einen anderen Rechner, auf eine Verschlüsselung des WLAN-Netzes verzichteten wir dabei. Die besten Transferraten erreichten wir mit den zwei PCI-Karten von Hama: Hier liegen über SSH knapp 5 MByte/s drin, wobei bei größeren Dateitransfers die Verbindung gelegentlich abriss. Mit welcher Geschwindigkeit Ihr Adapter funkt, ermitteln Sie am einfachsten über die Ping-Zeiten zum Accesspoint. Liegen diese zwischen 0,6 und 0,8 Millisekunden, dann funkt Ihr Netz mit 802.11n-Support, bei 802.11g-Netzen sind Ping-Zeiten zwischen 1,2 und 1,6 Millisekunden üblich. Zum Vergleich: Ein traditionelles Fast-Ethernet-LAN kopiert Daten per SSH mit 8 bis 10 MByte/s und erreicht Ping-Zeiten unter 0,2 Millisekunden.

Fazit

Der WLAN-Support des Kernels hat sich stark verbessert. Der größte Teil der erhältlichen Hardware mit Support für 802.11b/g arbeitet out-of-the-box unter den aktuellen Distributionen. Wer sich für ein 802.11n-Modell entscheidet, greift am besten zu einem USB-Stick oder einer PCI/Cardbus-Karte mit Ralink-Chipsatz, da es dafür Linux-Treiber gibt. Die Ralink-Geräte gehören zudem zu den günstigsten im Testfeld. Um ein Fast-Ethernet-Netz durch ein drahtloses zu ersetzen, bringen aber die aktuellen Adapter noch zu wenig Geschwindigkeit.

Hersteller Conceptronic Conceptronic D-Link Hama Hama D-Link AVM Conceptronic Conceptronic Linksys Linksys Hama Hama Conceptronic Linksys Linksys Buffalo Buffalo Buffalo D-Link
Modell C54Ri C300Ri DWA-547 00062742 00062730 DWA-140 Fritz!WLAN N C54RU C300RU WUSB300N WUSB54GC-DE 00039749 00062741 C300RC WPC300N WPC54GS-DE WLI2-CB-G300N WLI-CB-AG300N WLI-CB-AG108HP DWA-645
Anschluss PCI PCI PCI PCI PCI USB USB USB USB USB USB USB Cardbus Cardbus Cardbus Cardbus Cardbus Cardbus Cardbus Cardbus
Modi b/g b/g/n b/g/n b/g/n b/g/n b/g/n a/b/g/n b/g b/g/n b/g/n b/g b/g b/g/n b/g/n b/g/n b/g b/g/n a/b/g/n a/b/g b/g/n
Angezeigte Übertragungsrate 54 Mbit/s 130 Mbit/s 108 Mbit/s 130 Mbit/s 130 Mbit/s 108 Mbit/s 300 Mbit/s 54 Mbit/s 65 Mbit/s 130 Mbit/s 54 Mbit/s 54 Mbit/s 130 Mbit/s 130 Mbit/s 54 Mbit/s, 300 Mbit/s* 54 Mbit/s 130 Mbit/s 130 Mbit/s 54 Mbit/s 54 Mbit/s, 300 Mbit/s*
WPA mit Networkmanager X X X X X X X X X X X X X X
Chipsatz Ralink Ralink Atheros Ralink Ralink Ralink Atheros 9001 Ralink Ralink Marvell Ralink Ralink Ralink Ralink Atheros Broadcom Ralink Marvell Atheros Atheros
Treiber rt61pci rt2860sta madwifi rt2860sta rt2860sta rt2870 ndiswrapper rt73usb rt2870 ndiswrapper rt73usb rt2500usb rt2860sta rt2860sta ath5k/ndiswrapper bcm43xx rt2860sta ndiswrapper madwifi/ath5k ath5k/ndiswrapper
Firmware/Ndiswrapper-Datei rt2561.bin Treiber Treiber Treiber Treiber Treiber fwlanusbn.inf rt73.bin Treiber netwm245.inf rt73.bin rt73.bin Treiber Treiber ath5k/net5416.inf bcm43xx_microcode5.fw Treiber netag3n.inf Treiber Treiber
Interface wlan0 ra0 ath0 ra0 ra0 ra0 wlan0 wlan0 ra0 wlan0 wlan0 wlan0 ra0 ra0 wlan0 eth0 ra0 wlan0 ath0/wlan0 wlan0
Unterstützung grün gelb gelb gelb gelb gelb orange grün gelb orange grün grün gelb gelb gelb gelb gelb orange gelb gelb
Preis (ca.) 20 Euro 30 Euro 40 Euro 40 Euro 45 Euro 40 Euro 65 Euro 20 Euro 30 Euro 50 Euro 25 Euro 20 Euro 40 Euro 30 Euro 50 Euro 35 Euro 50 Euro 80 Euro 30 Euro 40 Euro
* = laut Ndiswrapper | X = ja | – = nein
LinuxUser 07/2008 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