Wireless Konfiguration

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index


Inhaltsverzeichnis

[Bearbeiten] Vorbereitung

[Bearbeiten] WLAN-Karten-Treiber installieren

Dazu muss zunächst herausgefunden werden, welche Karte bzw. Chipsatz Verwendung findet. Dazu benutzt man nach Art der Karte folgende Kommandos:

Kommando Kartentyp
lspci PCI PCMCIA
lsusb USB


Zu folgenden Karten und Chipsätzen sind Erklärungen zur Installation vorhanden:

Karte/Chipsatz Artikel
Intel® PRO/Wireless 2200 ipw2200
Ralink 802.11b G. rt2500
NETGEAR 802.11b/g WG511


Siehe dazu auch im Hardware-Index oder in der Kategorie:Netzwerkhardware.

Nach der Installation des passenden Treibers fährt man mit der eigentlichen Konfiguration fort.

[Bearbeiten] Notwendige Pakete

Um eine WLAN-Karte zu konfigurieren, ist das Paket

  • >=sys-apps/baselayout-1.11.0

unabdingbar. (sys-apps/baselayout sollte auf dem System bereits vorhanden sein, eventuell muss es aktualisiert werden.)

Es gibt verschiedene Userspace-Programme, um Wireless-Karten zu verwalten:

  • net-wireless/wireless-tools
  • net-wireless/wpa_supplicant

Wird eine WLAN-Karte mit Atheros-Chip verwendet, sollte man das USE-Flag madwifi nicht vergessen. Wird dieses Flag nicht gesetzt, kann später wpa_supplicant nicht mit der Option '-Dmadwifi' verwendet werden.

Darüber hinaus existiert noch das Paket

  • net-wireless/linux-wlan-ng

das allerdings wenig mit den obigen Programmen gemeinsam hat (da es nicht auf die "Wireless Extensions" aufsetzt, sondern ein eigenständiges Projekt ist) und bis dato nur die Intersil-802.11b-Prism2-, -Prism2.5- und -Prism3-Chipsätze unterstützt.

In diesem Howto werden ausschließlich die beiden Möglichkeiten der Konfiguration über wireless-tools oder wpa_supplicant erklärt. Es können problemlos beide Pakete installiert werden, wobei aber immer nur eines davon zur Systemkonfiguration verwendet werden kann.

[Bearbeiten] Konfiguration per iwconfig

Die wireless-tools werden einfach durch emerge wireless-tools installiert. In der Datei /etc/conf.d/wireless.example findet man ein Beispiel und eine gute Dokumentation, wie eine /etc/conf.d/wireless auszusehen hätte. In dieser Datei sollte alles aufgeführt sein, was man für den Anfang braucht. Da ich aber, wie jeder andere bestimmt auch, gerne praktische Beispiele sehe, hier meine /etc/conf.d/wireless:

Datei: /etc/conf.d/wireless
key_NETWORK1="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX enc open"
preferred_aps=( "NETWORK1" )


NETWORK1 ist dabei meine ESSID (also der Name des WLAN-Netzwerkes), hinter den vielen Xen verbirgt sich der 26-stellige 128-bit-WEP-Key zur Verschlüsselung des Netzwerkes (empfohlen!). Je nach dem wie euer Netzwerk heißt, muss natürlich NETWORK1 angepasst werden, ebenso der WEP-Key. Solltet ihr einen Text-Key - auch als ASCII-Key bezeichnet - verwenden, muss das Ganze so aussehen:

Datei: /etc/conf.d/wireless
key_NETWORK1="s:mywepkey enc open"
preferred_aps=( "NETWORK1" )


Wichtig ist dabei das s: vor dem eigentlichen Key. Sollte die Verbindung fehlschlagen, ist es ratsam, RC_VERBOSE="yes" in die /etc/rc.conf einzutragen, um zu sehen, woran es liegt. Durch diese Option werden mehr Diagnosemeldungen auf dem Bildschirm ausgegeben.

Falls man DHCP beim WLAN-Router verwendet, sollte noch folgendes in der /etc/conf.d/wireless stehen:

Datei: /etc/conf.d/wireless
config_NETWORK1=( "dhcp" )
dhcpcd_NETWORK1="-t 4"    #(4 sek. Timeout sind angemessen kurz)


Damit das Ganze auch funktioniert, sollte dhcpcd (der DHCP-Client) installiert sein:

emerge dhcpcd

Für einen manuellen Verbindungsaufbau benutzt man dann folgenden Befehl:

dhcpcd eth1

wobei eth1 das WLAN-Device der WLAN-Karte ist.

[Bearbeiten] Konfiguration per wpa_supplicant

Eine weitere Möglichkeit, das WLAN zu konfigurieren, ist wpa_supplicant. Der Vorteil darin liegt, dass sämtliche Netzwerkeverschlüsselungen unterstützt werden (sprich WPA- und/oder WEP-verschlüsselte und auch nicht-verschlüsselte). Installiert wird wpa_supplicant durch emerge wpa_supplicant. Nach der Installation findet man in der Datei /usr/share/doc/wpa_supplicant-X.X.X/wpa_supplicant.conf.bz2 einige Beispiele für eine richtige Konfiguration der Datei /etc/wpa_supplicant/wpa_supplicant.conf. Diese Datei beinhaltet viele Optionen. Ein Vorteil gegenüber der /etc/conf.d/wireless ist die einfachere Konfiguration mehrerer Access Points.

Einfaches Beispiel:

Datei: /etc/wpa_supplicant/wpa_supplicant.conf
...
#WPA
network={
        ssid="meine_ssid"
        scan_ssid=1
        psk="mein_privater_wpa_psk"
        priority=8
}
#WEP
network={
        ssid="meine_ssid"
        key_mgmt=NONE
        wep_key0=1234567890ABCD
        wep_tx_keyidx=0
        priority=5
}
#Open
network={
       ssid=""
       key_mgmt=NONE
       priority=2
}
...


Um wpa_supplicant anstelle iwconfig zu benutzen, ist folgender Eintrag in der /etc/conf.d/net nötig:

Datei: /etc/conf.d/net
modules=( "wpa_supplicant" )
wpa_supplicant_ath0="-Dmadwifi"
wpa_timeout_ath0=60


Beachte: ath0 muss mit dem entsprechenden Device-Namen ersetzt werden, ebenso wie madwifi durch den entsprechenden Treiber-Namen.

[Bearbeiten] Abschluss der Konfiguration

Um die nun konfigurierte Karte in das Gentoo-System einbinden zu können, sollte ein Init-Script vorhanden sein, welches meist automatisch bei der Treiberinstallation angelegt wird). Das ist ein Softlink mit dem Namen /etc/init.d/net.DEVICE auf die Datei /etc/init.d/net.lo:

ln -s /etc/init.d/net.lo /etc/init.d/net.DEVICE

Falls man die wireless-tools installiert hat, findet man die Gerätebezeichnung am einfachsten mit dem Befehl

iwconfig

Eine andere Möglichkeit: Je nach Wireless-Treiber wird DEVICE eine entsprechende Bezeichnung zugewiesen:

Device Treiber
athN madwifi
ethN ipw2200, ipw3945, prism54 (Kernel), bcm43xx
wlanN ndiswrapper

wobei N eine Ziffer ist.

Die Karte wird schließlich mit

rc-update add net.ath0 default

(beispielsweise für die erste Madwifi-Karte) in das Gentoo-System eingebunden.

Danach startet man die "Automatische Konfiguration" für diese Sitzung mit folgendem Befehl sofort (was nach den künftigen Systemstarts nicht mehr notwendig ist):

/etc/init.d/net.ath0 start

[Bearbeiten] Problemlösung bei Verwendung von madwifi-driver und wpa_supplicant

Falls aufgrund der oben beschriebenen Anleitung keine Verbindung zustandekommen sollte, kann das an den folgenden Punkten liegen:

Wenn ihr die Module von madwifi in /etc/modules.autoload.d/kernel2.X eingetragen habt, damit diese beim Starten automatisch geladen werden, ist unbedingt auf die Reihenfolge zu achten! Zuerst muss immer das Modul ath_pci eingetragen werden und anschließend die restlichen Module. Wenn Ihr die Reihenfolge nicht einhaltet, wird von wpa_supplicant nicht im zweiten Schritt wpa_cli geladen, sodass keine Verbindung hergestellt wird!

Falls Ihr die neuen Versionen von madwifi-driver benutzt, werden nach Eingabe von iwconfig -a neben athN auch ein wifiN erscheinen. Sollte trotz fehlerfreier Konfiguration von wpa_supplicant.conf keine Verbindung zustandekommen, dann können die folgenden Kommandos helfen:

# wlanconfig ath0 destroy
# wlanconfig ath0 create wlandev wifi0 wlanmode sta  #sta = Station, WLAN-Client

Bei einem erneuten Neustart mit /etc/init.d/net.athN restart sollte die Verbindung anschließend zustande kommen.

Die Tipps sind Auszüge aus Topics ds deutschen und englischen Gentoo-Forums.

[Bearbeiten] Problemlösung: beim Booten startet net.ath0 mit

Unter Umständen startet net.ath0 beim Boot, obwohl es für kein Runlevel eingetragen ist.

Es erscheint die Meldung beim Boot:

* Device initiated services: net.ath0

Der Bootvorgang kann dann sehr lange dauern, wenn kein WLAN gefunden wird.

Wer also nicht möchte, dass das Gerät beim Booten mitstartet, kann folgende Schritte ausführen: Man sollte zuerst prüfen, ob net.ath0 wirklich in keinem Runlevel zum Starten markiert ist.

# rc-update -s
            [...]
           net.eth0 |      default                  
             net.lo | boot           
            [...]

Mit dem Befehl

# rc-update del net.ath0 default

kann der Dienst eventuell aus dem Runlevel "default" entfernt werden.

Der folgende Eintrag in der /etc/conf.d/rc verhindert dann das automatische Starten beim Bootprozess:

Datei: /etc/conf.d/rc
RC_PLUG_SERVICES="!net.*"


Der Dienst kann nach einem Neustart durch den Konsolenbefehl

# /etc/init.d/net.ath0 start

manuell gestartet werden.

'Persönliche Werkzeuge
Andere Sprachen