Kabelsalat ist out – WLAN ist in. Am einfachsten gestaltet sich der Umstieg auf die drahtlose Technologie mit einem USB-Adapter. EasyLinux stellt acht Geräte vor, die auch unter Linux funktionieren.
Wer jetzt auf WLAN umsteigen möchte, hat gute Chancen, einen USB-Adapter zu finden, der mit Linux zusammenarbeitet. Für die meisten Geräte gibt es Treiber im Internet. Dieser Artikel erklärt einige WLAN-Grundlagen und zeigt, wie Sie einen Adapter mit Linux-Treibern oder per Ndiswrapper einrichten und mit einem Access Point verbinden. In der zweiten Hälfte beschreibt der Artikel, wie Sie die WPA-Verschlüsselung aktivieren.
Buchstabensalat
Auf der Verpackung von WLAN-Produkten treffen Sie in der Regel die Aufschrift 802.11b oder 802.11g an. Die Zahlen 802.11 bezeichnen dabei die Norm IEEE 802.11 für WLAN-Produkte. Der Buchstabe (a, b oder g) kennzeichnet die Geschwindigkeit. A-Geräte sind mit einer Datenrate von maximal 54 Mbit/s zwar deutlich schneller als B-Geräte (11 MBit/s), sie haben sich jedoch aufgrund höherer Hardwarekosten nicht durchgesetzt. Aktuell am weitesten verbreitet sind G-Geräte: Die im Artikel getesteten USB-Adapter unterstützen alle diesen Standard. Sie übertragen Daten ebenfalls mit einer Geschwindigkeit von 54 MBit/s. Zurzeit arbeitet die IEEE an der Verabschiedung der Spezifikation 802.11n. Die neueste Generation von WLAN-Geräten soll Brutto-Übertragungsraten von bis zu 108 MBit/s (13,5 MByte/s) bringen. Details dazu lesen Sie im Kasten “Mimo & Co.”.
Mimo & Co.
Wer sich in den Regalen der WLAN-Hardware umschaut, trifft bei jeder zweiten Box auf einen Aufkleber, der besonders hohe Übertragungsraten verspricht. Bei diesen Geräten handelt es sich um nicht normierte Eigenentwicklungen des jeweiligen Anbieters. Die Hardware-Hersteller setzen dazu zwar auf die Spezifikation des kommenden Standards 802.11n – da dieser aber voraussichtlich erst Ende 2007 endgültig verabschiedet wird, kann man nicht von Standardhardware sprechen. Am weitesten verbreitet zur Kennzeichnung dieser neuen Highspeed-WLAN-Geräte sind die Bezeichnungen Mimo, Pre-N und g+ (auch schon g++). Bei Mimo handelt es sich streng genommen nicht um eine Norm, sondern eine technische Lösung: Multiple- Input- Multiple- Output-Geräte senden nicht nur über eine Antenne, sondern benutzen gleich mehrere (in der Regel drei). Dadurch lässt sich der Datendurchsatz von 802.11g-Geräten bis auf 240 Mbit/s steigern.
Da Pre-N-Geräte abwärts mit den Standards 802.11b/g kompatibel sind, lassen sich solche Adapter auch unter Linux nutzen. Allerdings sind für das perfekte Zusammenspiel von Router und Endgerät Produkte vom gleichen Hersteller nötig. Selbst dann funktionieren die meisten Adapter nur über den Windows-Treiber (Ndiswrapper) im 108-Mbit-Modus. Wir raten deshalb, mit dem Kauf von Pre-N-Geräten abzuwarten, bis der Standard feststeht. Dann wird es auch entsprechende Linux-Treiber geben.
Alles Ralink oder was?
Die meisten aktuellen USB-Adapter benutzen einen Ralink-Chipsatz, der unter Linux mit dem Treiber rt73 funktioniert. Aktuelle Versionen von Ubuntu und Suse Linux bringen dafür sogar Treiber mit. Allerdings funktionieren diese mangels Firmware nicht. Sie finden deshalb auf der Heft-DVD den Treiber für WLAN-Sticks mit einem Ralink-73-Chipsatz. Der Artikel erklärt im Folgenden, wie Sie diesen installieren. Beachten Sie, dass der Treiber nur mit den USB-Sticks funktioniert, für die in der Tabelle “Testgeräte im Überblick” als Treiber das Kernelmodul rt73 aufgeführt ist. Viele Hersteller wechseln zudem die Chipsätze der Hardware, ohne den Gerätenamen zu ändern. Ältere WLAN-Sticks mit einer identischen Typenbezeichnung funktionieren deshalb mit den beiliegenden Treibern nicht unbedingt. Im Zweifelsfall hilft die EasyLinux-Mailingliste [1]. Treiber für andere WLAN-Geräte mit Ralink-Chipsatz finden Sie auf der Homepage von Serialmonkey [2]. Einen Test von PCI-, USB- und Cardbus-Geräten lesen Sie auch in der März-Ausgabe des LinuxUser [3].
Testgeräte im Überblick
| Hersteller | AVM | Conceptronic | D-Link | Hama | Linksys | Netgear | Sitecom | Belkin |
|---|---|---|---|---|---|---|---|---|
| Modell | Fritz!WLAN Stick v1.1 | C54RU | DWL-G122 | 00062764 | WUSB54GC | WG111T | WL-172 v1 001 | F5D7050de |
| Modi | b/g/g+ | b/g | b/g | b/g | b/g | b/g | b/g/g+ | b/g |
| WPA | WEP/WPA/WPA2 | WEP/WPA/WPA2 | WEP/WPA/WPA2 | WEP/WPA/WPA2 | WEP/WPA/ | WEP/WPA/WPA2 | WEP/WPA/WPA2 | WEP/WPA/ |
| WPA-Tool | wpa-supplicant | iwpriv | iwpriv | iwpriv | iwpriv | – | iwpriv | iwpriv |
| Chipsatz | Unbekannt | Ralink | Ralink | Ralink | Ralink | Unbekannt | Ralink | Ralink |
| Treiber | ndiswrapper | rt73 | rt73 | rt73 | rt73 | ndiswrapper | rt73 | rt73 |
| SoftMAC | Nein | Nein | Nein | Nein | Nein | – | Nein | Nein |
| Interface | wlanX | rausbX | rausbX | rausbX | rausbX | wlanX | rausbX | rausbX |
| Preis (ca.) | 30 Euro | 20 Euro | 25 Euro | 20 Euro | 30 Euro | 25 Euro | 30 Euro | 30 Euro |
Damit Ihr System aus dem Quellcode das erforderliche Kernelmodul erstellen kann, müssen Sie vor der Installation des eigentlichen Treibers einige Pakete nachrüsten. Unter Suse Linux sind dazu folgende Schritte nötig:
- Starten Sie YaST über [Alt]+ [F2] und den Befehl
kdesu yast2und wählen Sie das Modul Software / Software installieren oder löschen. - Stellen Sie den Filter auf Selektionen (bis Suse Linux 10.1) bzw. Schemata (ab OpenSuse 10.2) und markieren Sie den Eintrag Linux-Kernel-Entwicklung (10.1) bzw. Kernel-Entwicklung (10.2).
- Klicken Sie auf Übernehmen, um die Installation durchzuführen.
Benutzer von Ubuntu installieren über den Paketmanager oder per apt-get install die Pakete linux-headers-Kernelversion und build-essential. Die passende Kernelversion verrät Ihnen die Ausgabe des Befehls uname -r in einem Terminalfenster.
Unter Mandriva Linux müssen Sie folgende Vorbereitungen treffen:
- Starten Sie die Paketverwaltung über System / Einstellungen / Paketverwaltung / Install, Remove & Update Software.
- Wählen Sie den Menüpunkt Betrachten installierbarer Software und installieren von Softwarepaketen.
- Finden Sie über die Suchfunktion die Pakete
kernel-source-strippedundwireless-toolsund markieren Sie diese zur Installation. - Klicken Sie auf Anwenden und beantworten Sie Fragen zu Abhängigkeiten jeweils mit Ja.
Treiber installieren
Um ein Kernelmodul von Hand zu bauen, sind einige Arbeitsschritte auf der Konsole nötig. EasyLinux hat deshalb ein Skript geschrieben, das Ihnen diese Arbeit abnimmt. Sie finden es zusammen mit dem Treiber auf der Service-Kit-DVD im Verzeichnis heft-cd/wlan.
- Kopieren Sie die Datei
rt73-treiber.tar.gzvon der Heft-DVD aus dem Verzeichnisheft-cd/wlanin Ihr Home-Verzeichnis. - Klicken Sie in Konqueror mit der rechten Maustaste auf die Datei
rt73-treiber.tar.gzund wählen Sie Entpacken / Hier entpacken. - Öffnen Sie in Konqueror das neue Verzeichnis
rt73-treiberund drücken Sie die Taste [F4]. KDE öffnet ein Terminalfenster. - Geben Sie im Terminalfenster den Befehl
sh install.shein.
Das Skript überprüft in einem ersten Durchgang, ob die Kernelquellen und die nötigen Entwicklerwerkzeuge installiert sind. Es zeigt Ihnen dazu ein Hinweisfenster an (Abbildung 1).

Abbildung 1: Erscheint diese Meldung, sind alle Voraussetzungen für das Kompilieren des Kernelmoduls erfüllt.
Danach übersetzt es den Treiber. Dieser Vorgang dauert je nach Rechner fünf bis 20 Minuten. Verlief das Kompilieren erfolgreich, erscheint ein weiteres Fenster, das Sie auffordert, den USB-Stick an den Rechner anzuschließen (Abbildung 2). Falls der Adapter bereits mit dem Rechner verbunden ist, stecken Sie in einmal aus und wieder ein. Suse Linux zeigt dann an, dass es eine neue Hardware gefunden hat. Klicken Sie diese Fenster weg, ohne die Hardware einzurichten. Bei den übrigen Distributionen erscheinen keine solchen Fenster.
Im letzten Schritt aktiviert das Skript die Netzwerkschnittstelle des WLAN-Adapters und sucht nach Funknetzen. Das Resultat zeigt es wiederum in einem Fenster (Abbildung 3).

Abbildung 3: Verlief die Installation erfolgreich, zeigt Ihnen das Skript die gefundenen WLAN-Netze.
Windows-Treiber nutzen
Für zwei der acht getesteten Adapter (siehe Tabelle “Testgeräte im Überblick”) gibt es zurzeit keine Linux-Treiber. Diese lassen sich aber mit Hilfe des Ndiswrappers über den Windows-Treiber in Betrieb nehmen. Am einfachsten funktioniert das unter Mandriva Linux:
- Schließen Sie den USB-Stick an den Rechner an.
- Starten Sie das Mandriva-Kontrollzentrum und wählen Sie Netzwerk & Internet / Eine Netzwerkschnittstelle erstellen (LAN, ISDN, ADSL).
- Klicken Sie im neuen Fenster auf Wireless und Weiter. Es erscheint das Dialogfenster Neue Verbindung.
- Markieren Sie die Option Verwende einen Windows-Treiber, falls diese nicht bereits aktiv ist, und klicken Sie auf Weiter.
Mandriva Linux installiert nun die benötigte Software und öffnet anschließend das Fenster Wählen Sie einen Windows-Treiber. Legen Sie dann die Treiber-CD in das Laufwerk ein und wählen Sie die passende .inf-Datei aus dem Hauptverzeichnis der CD aus. Beim AVM-Stick heißt die Datei fwlan.inf, für den Netgear-Stick wählen Sie netwg11t.inf aus.
Benutzer von Suse Linux und Ubuntu müssen zunächst das Paket ndiswrapper über den Paketmanager nachinstallieren. Danach legen Sie die Windows-Treiber-CD ins Laufwerk ein und öffnen sie in Konqueror. Hier drücken Sie [F4], um eine Konsole zu starten, und führen dann folgende Schritte durch:
- Geben Sie den Befehl
sudo suein, um die Rechte des Administrators zu übernehmen. Unter Suse Linux müssen Sie dazu das Root-Passwort eingeben, bei Ubuntu Ihr Benutzerpasswort. - Installieren Sie den Treiber über den Befehl
ndiswrapper -i Treiber.inf. Anstelle vonTreiber.infgeben Sie die zugehörige.inf-Datei an. - Laden Sie nun den Treiber über den Befehl
modprobe ndiswrapperund schließen Sie danach den WLAN-Stick an die USB-Schnittstelle an. - Geben Sie den Befehl
iwconfigein. Verlief die Installation erfolgreich, zeigt die Ausgabe ein WLAN-Gerätwlan0an.
Verbindung herstellen
Die EasyLinux-Distributionen bringen inzwischen grafische Programme mit, die den Verbindungsaufbau per WLAN weitgehend automatisieren. Wenn möglich sollten Sie deshalb für den Kontakt zum Access Point die im Artikel “Moderne Dauerwellen” beschriebenen Tools verwenden. In einigen Fällen lässt sich jedoch der Einsatz der Kommandozeile nicht vermeiden.
- Öffnen Sie über [Alt]+ [F2] und den Befehl
kdesu konsoleein KDE-Terminal mit Administratorrechten. Unter Suse und Mandriva Linux geben Sie dazu das Root-Passwort ein, Benutzer von Ubuntu das Benutzerpasswort. - Geben Sie den Befehl
iwconfigein. Er listet Ihnen die gefundenen WLAN-Adapter auf. Bei USB-Sticks mit einem Ralink-Chipsatz lautet die entsprechende Schnittstellerausb0; benutzen Sie den Ndiswrapper, heißt siewlan0. Der Artikel beschreibt im Folgenden das Vorgehen für die Schnittstellerausb0. Zeigt der Befehl kein WLAN-Gerät an, gibt es Probleme mit dem Treiber. - Aktivieren Sie das gefundene Gerät über den Befehl
ifconfig rausb0 up - Suchen Sie mit dem Befehl
iwlist rausb0 scannach WLAN-Netzen. Die Ausgabe einesiwlist-Befehls zeigt der Kasten “Scanresultat”. Notieren Sie sich die ESSID und die 12-stellige Nummer hinterAddress. -
Führen Sie den Befehl
iwconfig rausb0 essid ESSID ap Adresseaus. Anstelle vonESSIDsetzen Sie dabei die Netzwerk-ID Ihres WLAN-Netzes ein, fürAdresseschreiben Sie den zwölfstelligen Wert hinterAddress, zum Beispieliwconfig rausb0 essid EasyLinux ap 00:13:46:1D:57:88
- Benutzen Sie WEP-Verschlüsselung, müssen Sie den entsprechenden Key setzen. Geben Sie dazu den Befehl
iwconfig rausb0 enc Schlüsselein.Schlüsselersetzen Sie dabei durch den 64-stelligen HEX-Key. Die Ausgabe voniwconfigzeigt danach hinterEncryptionden passenden Schlüssel an. Wenn Sie keine Verschlüsselung benutzen (nur zu Testzwecken empfohlen), können Sie diesen Schritt überspringen. - Geben Sie nun den Befehl
dhclient rausb0ein. Er fordert beim Access Point per DHCP eine IP-Adresse an. Hat alles geklappt, zeigtifconfig rausb0an, welche IP-Adresse Ihr Rechner bekommen hat.
Scanresultat
rausb0 Scan completed :
Cell 01 - Address: 00:13:46:1D:57:88
ESSID:"EasyLinux"
Protocol:IEEE 802.11bg
Mode:Master
Channel:6
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
12 Mb/s; 24 Mb/s; 36 Mb/s
Quality:61 Signal level:0 Noise level:0
Extra: Last beacon: 124ms ago
Aber sicher
WLAN-Netze haben einen Nachteil: Sie lassen sich schlecht überwachen. Aus Sicherheitsgründen sollten Sie Ihr Funknetz deshalb mit WPA oder WPA2 verschlüsseln. Versuche, das drahtlose Netz per WEP-Key, mit einer versteckten ESSID oder einer Kontrolle der MAC-Adresse abzuschirmen, halten vielleicht den neugierigen Nachbarn vom eigenen WLAN-Netz fern, gegen einen professionell geführten Einbruch bieten sie aber keinen ausreichenden Schutz. Wer sein Funknetz täglich länger als eine Stunde betreibt, sollte unbedingt eine WPA-Verschlüsselung benutzen. Der Artikel erklärt im Folgenden, wie Sie die WPA-PSK-Verschlüsselung einrichten.
Bei WPA handelt es sich um eine Erweiterung der WEP-Verschlüsselung. Um zu verhindern, dass ein Cracker einen WEP-Schlüssel knackt, tauscht ein spezielles Programm in regelmäßigen Abständen neue Schlüssel aus. Dem Einbrecher bleibt somit keine Zeit, den Schlüssel herauszufinden. Unter Linux ist das Tool wpa_supplicant für den Schlüsselaustausch verantwortlich. Die Ralink-Adapter arbeiten allerdings nicht mit wpa_supplicant zusammen. Hier lässt sich die WPA-Verschlüsselung nur per Skript einrichten. Ein Beispiel zeigt der Kasten “Alternative iwpriv”.
Eine häufige Fehlerquelle beim Einrichten der WPA-Verschlüsselung stellt die Passphrase dar. Die sicherste Methode ist, diese auf dem Linux-Rechner über den Befehl
wpa_passphrase ESSID
zu erstellen. Anstelle von ESSID müssen Sie dazu die ESSID des Funknetzes angeben, zum Beispiel wpa_passphrase EasyLinux. Danach tippen Sie das gewünschte Passwort ein und bestätigen die Eingabe. Das Programm erstellt nun einen 64-stelligen HEX-Schlüssel. Diesen richten Sie in der Weboberfläche des Routers als WPA-PSK-Schlüssel ein. Nur so ist garantiert, dass der Networkmanager bei der Eingabe des Passworts den richtigen HEX-Schlüssel übermittelt.
Unter Suse Linux können Sie die Konfiguration des WLAN-Adapters mit YaST oder mit dem Netzwerkmanager vornehmen. Wechseln Sie häufig den Standort, benutzen Sie besser den Netzwerkmanager. Dies gilt auch für Ubuntu und Mandriva Linux. Der Text beschreibt im Folgenden, wie Sie unter Suse Linux die WPA-Verschlüsselung mit YaST einrichten.
- Starten Sie YaST über [Alt]+ [F2] und den Befehl
kdesu yast2und öffnen Sie das Modul Netzwerkgeräte / Netzwerkkarten. - Wählen Sie als Netzwerkeinrichtungsmethode die traditionelle Methode mit ifup.
- Klicken Sie auf Hinzufügen und ändern Sie im neuen Dialog den Gerätetyp von ethernet auf drahtlos. Markieren Sie zudem die Checkbox USB.
- Klicken Sie im folgenden Dialog auf Weiter, um die Adressvergabe per DHCP zu übernehmen.
- Nach einem Klick auf Weiter stellen Sie die ESSID und die Verschlüsselung ein. Wählen Sie als Authentifizierungsmodus WPA-PSK. Den Schlüssel tragen Sie entweder im Klartext oder als HEX-Key ein (Abbildung 4).
Bei einigen Adaptern erkennt YaST nicht, dass es sich dabei um WLAN-Geräte handelt. Hier müssen Sie den Typ manuell von Ethernet auf Drahtlos umstellen. Die Warnmeldung von YaST können Sie ignorieren. YaST baut nun beim Booten automatisch eine Verbindung mit dem WLAN-Netz auf. Ob die WPA-Verschlüsselung funktioniert, erkennen Sie an der Ausgabe des Befehls iwconfig: Sie zeigt hinter Encryption einen 128 Zeichen langen Schlüssel an, der sich in regelmäßigen Abständen ändert.

Abbildung 4: Unter Suse Linux können Sie WLAN-Geräte über YaST einrichten. Für die WPA-Verschlüsselung geben Sie dazu am besten den HEX-Schlüssel an.
Alternative iwpriv
Der WPA-Supplicant unterstützt nicht alle WLAN-Geräte, unter anderem fehlt der Support für Ralink-Geräte. Bei den aktuellen Treibern ist dies kein Problem, da sie WPA von Haus aus unterstützen. Ist der Schlüssel einmal gesetzt, erfolgt der Austausch automatisch. Der Nachteil dieser Lösung besteht darin, dass sie nicht mit dem Networkmanager funktioniert. Bei Ralink-Geräten müssen Sie somit auf das bequeme Frontend verzichten.
-
Legen Sie eine neue Datei mit folgendem Inhalt an. Die Einträge
ESSIDundHEX-KEYmüssen Sie dabei durch Ihre eigene ESSID und den WPA-Schlüssel im HEX-Format ersetzen:#!/bin/bash IFACE=rausb0 ifconfig $IFACE up iwconfig $IFACE mode managed iwpriv $IFACE set AuthMode=WPAPSK iwpriv $IFACE set EncrypType=TKIP iwconfig $IFACE essid ESSID iwpriv $IFACE set WPAPSK=HEX-KEY iwconfig $IFACE essid ESSID dhclient $IFACE
- Speichern Sie die Datei unter dem Namen
wlan-start.shin Ihrem Home-Verzeichnis. - Klicken Sie in Konqueror mit der rechten Maustaste auf die Datei, wählen Sie Eigenschaften / Berechtigungen und markieren Sie die Checkbox Ausführbar.
-
Öffnen Sie über [Alt]+ [F2] und den Befehl
kdesu konsoleein KDE-Terminal mit Administratorrechten und geben Sie folgenden Befehl einsh wlan-start.sh
Beispiele für WPA2-Verschlüsselung und andere Methoden finden Sie im Quellcode der Ralink-Treiber in der Datei rt73-treiber/Module/iwpriv_usage.txt.
Glossar
-
Firmware
-
Mini-Betriebssystem, das die Grundfunktion von Hardwarekomponenten zur Verfügung stellt.
[1] EasyLinux-Mailingliste: http://www.easylinux.de/Kontakt/Mailinglisten/
[2] Ralink-Treiber: http://rt2x00.serialmonkey.com
[3] Marcel Hilzinger, “G-Schwindigkeit – 18 WLAN-Adapter im Test”: LinuxUser 03/2007, S. 30f.


