Intel Pro Wireless Adapter

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche

Die eigentlichen Treiber für die WLAN-Karten von Intel (ipw2100 und ipw2200) sind bereits im Kernel von Fedora integriert. Seit Fedora 7 ist auch die dazugehörige Firmware in der Distribution enthalten. Frühere Versionen müssen diese jedoch noch separat herunterladen.


Inhaltsverzeichnis

Installation ipw2100 & ipw2200/2915

Mit aktuellen Versionen von Fedora (ab Version 7) sollte eine aufwendige Installation bzw. Konfiguration entfallen, denn sowohl Treiber als auch Firmware sind mittlerweile in Fedora integriert und werden bei einer Standardinstallation eingespielt.

Bei älteren Versionen von Fedora kann man die Firmware mit dem Befehl

[root]# yum install ipw2100-firmware*

oder

[root]# yum install ipw2200-firmware*

herunterladen und installieren.

Anmerkung Anmerkung: Die ipw2200-Treiber sowie die dazu gehörige Firmware werden auch für Adapter des Typs 2915ABG verwendet.

Alternativ kann man sich die Firmware in Version 3.0 von http://ipw2200.sourceforge.net/firmware.php herunterladen und aus dem Archiv auspacken. Die Dateien müssen dann in das Verzeichnis /lib/firmware/ kopieren. Anschließend ist ein Neustart des Rechners notwendig

Dies sind die Dateien, die nach /lib/firmware/ (ohne irgendwelche Unterordner!) kopiert werden sollen:

  • ipw2200-bss.fw
  • ipw2200-ibss.fw
  • ipw2200-sniffer.fw


Installation ipw3945

Treiber für Adapter des Typs Intel PRO/Wireless 3945ABG sind erst ab Fedora 7 im Kernel enthalten (iwlwifi). Für Fedora Core 6 und frühere Versionen müssen die Treiber aus einem separaten Repository wie z. Bsp ATRPMs FreshRPMs oder kwizart installiert werden.

Achtung Achtung: Beim Mischen von verschiedenen Repositories sollte beachtet werden, dass dabei auch Kompatibilitätsprobleme zwischen diesen auftreten können. Daher sollte zuvor der Artikel Kompatibilität der verschiedenen Repositories herangezogen werden.

Nach Einbinden eines Repositories gelingt die Installation aller Komponenten mit

[root]# yum install ipw3945*


Installation für Intel® Wireless WiFi Link 4965AGN

Neu.png Dieser Artikel wurde neu erstellt und bedarf evtl. noch einer Korrekturlesung. Danach kann diese Box entfernt werden.

Die Grundlage für den Treiber, mac80211 befindet sich bereits im Kernel von Fedora 7. Für diese Version beschreibe ich im Folgenden, wie die aktuelle Version des iwlwifi-Inteltreibers kompiliert und installiert wird.

<b>Wichtig</b> <b>Wichtig:</b> Alle Aktionen sollten mit dem Benutzer root oder mit einem vorangestellten sudo vollzogen werden.

Zuerst müssen die Developmentpakete für den Kernel installiert werden:

[root]# yum install kernel-devel kernel-headers

Anschließend müssen die Quelldateien des Kernels installiert werden. Dazu wird yumdownloader und rpmbuild benötigt. Folgender Aufruf installiert die beiden Pakete:

[root]# yum install yum-utils rpmdevtools

Anschließend kann das Paket mit den Kernelsourcen heruntergeladen werden.

yumdownloader --source kernel

Nun sollte sich eine Datei mit der Ändung src.rpm in eurem Verzeichnis befinden. Dieses rpm muß mit installiert werden:

[root]# rpm -ivh DATEINAME_DES_KERNEL_RPM.src.rpm

Dabei kam es bei mir zu einem Fehler, der durch angelgen des folgenden Verzeichnises behoben werden konnte:

mkdir /usr/src/redhat/

Damit ist nun die architekturunabhängige SPEC auf dem System installiert, mit deren Hilfe und dem folgenden Befehle die Kernelsourcen erzeugt werden. Diese werden benötigt, um im nächsten Schritt den iwlwifi Treiber zu kompilieren.

rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel-2.6.spec

Es sollten sich nun im Verzeichnis /usr/src/redhat noch einige weitere Ordner befinden, interessant ist an dieser Stelle aber lediglich /usr/src/redhat/BUILD/kernel-2.6.xx/ , dessen Inhalt nach /usr/src/kernels/KERNELNAME-VERSION kopiert werden muß.

Dazu ein Beispiel mit dem Kernel 2.6.22-41:

cp -r /usr/src/redhat/BUILD/kernel-2.6.22/linux-2.6.22.i686/* 
/usr/src/kernels/2.6.22.1-41.fc7-i686/

Ist das geschafft sollte folgender Aufruf eine Liste von .h und .c Dateien ausgeben, der Quellcode zum mac80211 Wireless-Stack:

ls /usr/src/kernels/2.6.22.1-41.fc7-i686/net/mac80211

Jetzt sind alle vorbereitungen getroffen, um den iwlwifi-Treiber zu kompilieren. Es wird empfohlen immer die aktuellen Quellen von [www.intellinuxwireless.org] herzuunterladen. Im folgenden Beispiel wird Version 1.0.6 verwendet.

wget http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-0.1.6.tgz
tar xzf iwlwifi-0.1.6.tgz
cd iwlwifi-0.1.6
make
make install

Damit ist der Treiber für die verwendetet Kernelversion kompiliert und installiert.

/sbin/modprobe iwl4965

Hat der vorherige Befehl keinen Fehler ausgegeben läuft der Treiber nun. Der Networkmanager sucht in diesem Fall nach verfügbaren Netzwerken.

<b>Achtung</b> <b>Achtung:</b> Diese Prozedur muss mit jedem neuen Kernel komplett wiederholt werden. Das Verfahren ist getestet mit dem kernel 2.6.22-41, sollte aber auch mit älteren Version von Fedora 7 funktionieren.


Service starten

Der Dienst wird z.B. händisch mit folgendem Kommando gestartet:

[root]# service ipw3945 start

Damit der Adapter mit dem Treiber ipw3945 funktioniert, benötigt er den dazugehörigen Dienst ipw3945d, welcher im Userspace läuft. Man sollte testen, ob dieser Dienst beim Booten des Systems gestartet wird und läuft. Eine Überprüfung dessen findet man einfach per

[root]# chkconfig --list ipw3945d

heraus. Die Augabe sollte in etwa wie folgt aussehen.

ipw3945d           0:Aus   1:Aus   2:Aus   3:Ein   4:Ein   5:Ein   6:Aus

In diesem Beispiel wird der Dienst in den Runlevel 3, 4 und 5 gestartet.

Wichtig ist hierbei das der Daemon vor dem eigentlichen Treiber geladen wird. Hier kommt es hin und wieder zu Schwierigkeiten. Um diesen aus dem Weg zu gehen, ist ein kleines Skript erforderlich, welches sicherstellt, das der Ablauf korrekt geschieht. Das Skript sieht wie folgt aus:

alias eth1 ipw3945
 
install ipw3945 /sbin/modprobe --ignore-install ipw3945 && \
{ \
while [ -e /var/run/ipw3945d.pid ]; do \
rm /var/run/ipw3945d.pid; \
sleep 1; \
done;\
until [ -e /var/run/ipw3945d.pid ]; do \
/sbin/ipw3945d --quiet; \
sleep 1; \
done; \
} &

 remove ipw3945 /sbin/ipw3945d --kill; \
/sbin/modprobe -r --ignore-remove ipw3945

und wird als /etc/modprobe.d/ipw3945.conf angelegt.


Service in einem bestimmten Run-Level starten

Damit der Dienst z.B. im Runlevel 345 startet ist folgendes Kommando notwendig:

[root]# chkconfig --level 345 ipw3945 on

Einrichtung

Danach kann man mit dem Programm system-config-network-druid neue Netzwerkverbindungen einstellen. Hier sollte man wenigstens eine allgemeine WLAN-Verbindung erstellen (alle Werte auf Auto setzen). Komfortabler verwaltet werden können Netzwerkverbindungen jedoch mit dem NetworkManager.