Wireless Konfiguration
Aus Gentoo Linux Wiki
| 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.
