Mit Fedora 7 wurde das ganze deutlich einfacher da sowohl die Firmware als auch der Treiber direkt mitgeliefert werden, damit im Grunde nur mehr wpa_supplicant zu konfigurieren und in ggf. vorhandenen Konfigurationen "eth1" durch "wlan0" zu ersetzen ist.
Der grösste Vorteil ist hierbei dass der Dienst "wpa_supplicant" durch das Wegfallen des Intel-Userspace-Daemons ganz normal beim Systemstart hochfahren kann da das Interface sofort zur Verfügung steht und auch die Abhängigkeit von externen Repos bei Kernel-Updates wegfällt.
BITTE wenn möglich den Accesspoint im Vorfeld auf Channel 1 konfigurieren, es scheint dass "system-config-network" diesen immer in die Konfigurationsdateien schreibt und dies leider auch bei jeder zukünftigten Änderung wieder tut so man die entsprechende Zeile entfernt hat worauf auch die beste WPA-Konfiguration nicht funktioniert.
Installation erfolgt in einem Rutsch mit dem Kommando "yum install wpa_supplicant wpa_supplicant-gui iwlwifi-firmware"
Die Einrichtung von wpa_supplicant erfolgt analog zu Fedora Core 6
Vorweg möchte ich anmerken dass ich die Karte unter FC5 nicht zum Laufen gebracht habe, unter FC6 keine Probleme. Beim start des ipw3945d-Dienstes wurde der Kernel "nervös" und das System unbedienbar (Laufende Tastenanschläge etc.). Dies mag durchaus an einem ominösen ipw3945-Firmware-Paket von freshrpms liegen, welches zu diesem Zeitpunkt ebenfalls installiert war, und wie ich vermute mit dem "ucode"-Paket von atrpms nicht zusammenarbeitet.
Hier sind die Pakete von ATrpms gelistet, wobei die Erfahrung aber gezeigt hat dass diese Repo völlig unbrauchbar ist da der gute Herr auch Kernpakete von Fedora mit eigenen Versionen überschreibt bzw. Multimeidapakete so packt dass sie regelmässig mit anderen aus Livna etc. kollidieren und damit ein Abhängigkeitschaos schafft dass wenig feierlich ist.
Alternative: kwizart (Das Kernel-Modul heisst in diesem Fall "kmod-ipw3945" anstelle von "ipw3945-kmdl"), wobei ich aber nicht garantieren kann dass hier auch für die aktuellsteb Kernel Modlue zur Verfügung stehen
[kwizart]
name=kwizart - Fedora $releasever
baseurl=http://kwizart.free.fr/fedora/$releasever/$basearch/
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=http://kwizart.free.fr/fedora/RPM-GPG-KEY-kwizart
Derzeit ist es hier so dass am AP der SSID-Broadcast aktiv sein muss, obwohl alle Parameter statisch konfiguriert sind. Komischerweise funktioniert ein reconnect im Betrieb auch ohne Broadcast. Mittelfristig wird diesen Punkt ein Errata des HowTos klären.
Folgende Pakete sind zu installieren, wobei unter FC5 bei einem SMP-Kernel yum meist die falschen Kernel-Module installiert und man ggf. den vollen Paketnamen bei der Installation angeben muss. Ab FC6 gibt es hier keine Unterscheidung mehr.
Wie oben angeführt ist ATrmps mit Vorsicht zu geniessen, daher sollte man nach der Installation und automatischer Auflösung ggf. zusätzlicher Abhängigekeiten alle dabei installierten Üakete in der entsprechenden Repo-Datei unter "/etc/yum.repos.d" eine Zeile "includepkgs=paket1 paket2 paket3..." am Ende hinzufügen um bei zukünftigen Updates nur diese Pakete von ATrpms zu berücksichtigen.
Wenn noch nicht erfolgt ist für eine Installation mittels yum das Repository von http://www.atrpms.net/ hinzuzufügen und mittels "yum install ipw3945 ipw3945d wpa_supplicant wpa_supplicant-gui" werden dann auch alle Abhängigkeiten korrekt aufgelöst.
ipw3945-ucode
ipw3945d
ipw3945-kmdl
ipw3945
wpa_supplicant
wpa_supplicant-gui
Das GUI-Tool wird mit "wpa_gui" aufgerufen und macht einen ganz guten Eindruck. Da hier aber alle relevanten WLAN-Netze mit gleichen SSID und Passwörtern versehen sind beschränke ich mich auf statische Konfiguration mittels Config-Files.
Wenn der Test geklappt hat können wir nun in der "/etc/rc.local" mit folgenden 3 Zeilen sowohl den "ipw3945d" als auch den "wpa_supplicant" in der richtigen Reihenfolge starten.
/sbin/ipw3945d --quiet
sleep 3
/sbin/service wpa_supplicant start
Die Datei "/etc/modprobe.conf" erhält 3 zusätzliche Zeilen, dies entstammt diversen HowTos,wobei sich mir derzeit nicht erschliesst warum damit der Eintrag in der "/etc/rc.local" nicht hinfällig ist.
alias eth1 ipw3945
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet
remove ipw3945 /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945
en » Vor
wpa_passphrase [ssid] [passwort] >> /etc/wpa_supplicant/wpa_supplicant.conf
Die Datei "/etc/wpa_supplicant/wpa_supplicant.conf" sollte danach in etwa so aussehen:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
network={
ssid="lounge-warrior"
proto=WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP #psk="eingegebenes ap-passwort"
psk=generierte passphrase
}
In der Datei "/etc/sudoers" sind laut diversen anderen, leider meist unvollständigen HowTos folgende Zeilen zu aktivieren. Meiner Interpretation nach damit Änderungen an der WLAN-Konfiguration über GUIs auch als User erfolgen kann (Man möge aber Vorsichtig sein welche ggf. vorhandenen User der Gruppe "wheel" angehören).
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL
INTERFACES="-ieth1"
DRIVERS="-Dwext"
Es lassen sich problemlos mehrere Netzwerke in der "wpa_supplicant.conf" eintragen, jedes davon erhält einen eigenen network-Block wobei man hier noch zusätzlich den Parameter "priority=[wert]" angeben kann um ggf. je nach Verfügbarkeit eine bestimmte Reihenfolge festzulegen.
Neben dem obigen Beispiel für WPA unterstützt wpa_supplicant auch WPA2 bzw. funktioniert es in der Regel auch die Angaben "proto", "key_mgmt" und "pairwise" wegzulassen worauf sich wpa_supplicant die verwendete Methode mit dem Accesspoint ausmacht, im Zwiefelsfall aber besser angeben.
proto=WPA2
key_mgmt=WPA2-PSK
pairwise=CCMP TKIP
Quelle: http://www.gentoo.org/doc/de/handbook/handbook-x86.xml?part=4&chap=4
Einfacher Fall: WPA-PSK, wobei PSK eine ASCII Passphrase ist, erlauben aller gülten Chiffrenetwork={
ssid="einfach"
psk="sehr geheime Passphrase"
# Je höher die Priorität, desto schneller werden wir verknüpft
priority=5
}
network={ ssid="zweite ssid"
scan_ssid=1
psk="sehr geheime Passphrase"
priority=2
}
network={ ssid="Beispiel"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
priority=2 }
network={
ssid="klartext-test"
key_mgmt=NONE
}
network={
ssid="statischer-wep-test"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
}
network={
ssid="statischer-wep-test2"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
auth_alg=SHARED
}
network={
ssid="test adhoc"
mode=1
proto=WPA
key_mgmt=WPA-NONE
pairwise=NONE
group=TKIP
psk="geheime Passphrase"
}