linux:wlan

Wlan unter Linux

Die Hardwareunterstützung unter Linux ist gut bis befriedigend.

  • am besten laufen Chipsätze der Firmen Atheros (madwifi-Treiber) und Ralink,
  • schlecht laufen Broadcom, Marvell und TI-Chipsätze

Die Firmen Broadcom und TI verhalten sich unfreundlich gegenüber Linux, hier sollte man einen Kauf vermeiden, da wahrscheinlich nie alle Funktionen unterstützt und auch Probleme auftreten könnten.

:!: Das Problem ist auch eher die Unterstützung von einzelnen Funktionen, die Verbindung zu einem Accesspoint geht meist.

Besonders der ad-hoc-Modus ist ein Problem, da er relativ schwer zu implementieren und selten gebraucht wird.

Natürlich existieren in den unterschiedlichen Distribution auch verschiedene grafische tools zum konfigurieren, z.B. der kwifimanager oder unter Ubuntu der NetworkManager von Gnome.

:!: ACHTUNG: WEP ist nur noch wenig sicherer als gar keine Verschlüsselung, sollte nicht benutzt werden!

WLAN: Netzwerkkonfiguration

Beispieleintrag:

iface wlan0 inet dhcp
wireless-essid BeispielID
  • WLAN Verbindung herstellen:

Hat man ein passendes Netzwerk gefunden, merkt man sich die ESSID (die Kennung des Accesspoints) und verbindet sich zu diesem:

iwconfig wlan0 essid NAME key WEP-SCHLÜSSEL

Wenn man im Netz DHCP zur dynamischen Zuweisung von IP-Adressen verwendet, gibt man gleich danach

iwconfig wlan0 dynamic

ein.

Vorbereitung: WPA-Zugangsdaten kodieren

SSID + Wlan-Passwort für den Eintrag in der /etc/network/interfaces erhalten:
wpa_passphrase guest
wpa_passphrase guest
# reading passphrase from stdin
testtest
network={
	ssid="guest"
	#psk="testtest"
	psk=79c0021c05f52257a1af9cb2fb6944e1ffa970f5a18fb71f2f69955d2b10f395
}
  • entsprechende Tools der verwendeten Distribution verwenden
  • einfacher Eintrag mit dynamsicher IP:
    allow-hotplug wlan0
    iface wlan0 inet dhcp
    	wpa-ssid guest
    	wpa-psk 79c0021c05f52257a1af9cb2fb6944e1ffa970f5a18fb71f2f69955d2b10f395
  • komplexer Eintrag mit fester IP:
 auto ath0
 iface ath0 inet static
         # For linux >= 2.6.14 and recent madwifi (>=r1500) use 'wext', otherwise use 'madwifi'
         pre-up /sbin/ifconfig ath0 mtu 1492 up
         wpa-driver wext
         wpa-ssid guest
         wpa-bssid 00:28:3b:5g:26:65
         wpa-psk 79c0021c05f52257a1af9cb2fb6944e1ffa970f5a18fb71f2f69955d2b10f395
         # ? wireless-essid *************
         wpa-ap-scan 1
         wpa-scan-ssid 1
         address 192.168.1.7
         netmask 255.255.255.0
         gateway 192.168.1.1

Debian: Siehe den Abschnitt »Hidden ssids« in /usr/share/doc/wpasupplicant/README.Debian.gz

  • Andere Möglichkeiten (wenn man roaming-modus benötigt): wpa_supplicant

Der Monitor-Modus ermöglicht die Aufzeichnung aller Daten die die Karte „sieht“ aber im Gegensatz zum normalen Modus nicht unbedingt für die Karte bestimmt sein müssen.

Bevor man eine Wlankarte in den Monitor-Modus umschalten kann, muss diese auch aktiviert sein:

ifconfig ath0 up

anstatt ath0 sollte die entsprechende Wlan-Schnittstelle angegeben werden.

Dann wird die Karte auf den Monitor-Modus auf einem bestimmten Kanal (hier 13) gestellt:

iwconfig ath0 mode Monitor channel 13

Das Paket iw bietet Konfigurationsmöglichkeit und Information zu Wlan-Schnittstellen.

iw phy INTERFACE info
Supported interface modes:
     * IBSS
     * managed
     * AP
     * AP/VLAN
     * monitor
     * mesh point

Konfiguriert ein WLAN-Schnittstelle („Interface“) Optionen siehe

man iwconfig

Nach Netzwerkschnittstellen zu suchen kann man mit einem einfachen

iwlist scan

Dann werden für Wlan-Schnittstellen auch die unterstützten Geschwindigkeiten ausgegeben, ansonsten kann man auch in der Datei /etc/network/interfaces nachschauen.

Mit iwpriv gibt man private Parameter für wlan an.

Windows-Treiber kann man mit Hilfe von

  • ndiswrapper (kostenlos, GPL) laden. Dies sollte man allerdings nur im Notfall machen, da es von allen Möglichkeiten die ungünstigste ist.

Der Vorgang geht in etwa so (am Beispiel des rtl8187-Treibers) :

  1. Originaltreiber von der CD kopieren (bitte nur die Win98/ME Treiber verwenden), benötigt werden die Dateien netrtuw.inf und rtl8187.sys
  2. ndiswrapper installieren: apt-get install ndiswrapper-utils
  3. Alten Treiber entladen: rmmod rtl8187
  4. Alten Treiber auf die Blacklist setzen:
    vi /etc/modprobe.d/blacklist

    . Folgende Zeile hinzufügen: blacklist rtl8187

  5. Netzwerk konfigurieren:
    vi /etc/network/interfaces

    Beispiel:

          auto wlan0
          iface wlan0 inet dhcp
          wireless-key schluessel
          wireless-essid funknetz
  6. In Verzeichnis der Windows-Treiber wechseln und Treiber mit Ndiswrapper ladeny
          sudo ndiswrapper -i Netrtuw.inf
          sudo ndiswrapper -m
          sudo modprobe ndiswrapper
  7. Ndiswrapper bei jedem Start laden lassen:
    vi /etc/modules

    Folgendes Wort in einer eigenen Zeile hinzufügen: ndiswrapper

  8. Netzwerk neustarten:
    sudo /etc/init.d/networking restart
  9. Erfolg kontrollieren: iwconfig oder auch mal mit
    iwlist wlan0 scan

    testen

Anleitung nach: Forumseintrag von Ubuntuusers.

RaLink RT2500 unter Feisty geht mit dem Network-manager nicht. Lösung.

Das laden von Wlan-Treibern mit Broadcom-Chipsätzen schlägt unter Ubuntu (bei mir 7.04) mit der Meldung:

bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.

fehl (Ausgabe von dmesg).

Lösung: mit dem bcm43xx-fwcutter Programm kann man aus Windows-Treibern die benötige Firmware extrahieren. Dazu versucht das Programm die Datei wl_apsta.o von http://boredklink.googlepages.com/wl_apsta.o runterzuladen, nur das eben die URL nicht stimmt. Stattdessen kann man die URL http://svit.epfl.ch/stuff/wl_apsta.o benutzen und in der Datei /etc/modules am Ende bcm43xx eintragen. Davor sollte man noch

sudo bcm43xx-fwcutter -w /lib/firmware/2.6.15-27-386 /home/USER/ORT_VON/wl_apsta.o

ausführen.

[HowTo] HP/Compaq Nx6110 und Broadcom BCM4318 Rev. 02 unter Dapper Suse: Suse: Wlan bcm4318 https://answers.launchpad.net/ubuntu/+question/329