amilo-forum.de

Inoffizielles Forum rund um die Notebooks der Amilo- und Lifebook-Serien von Fujitsu

WLAN ( ipw3945) mit WPA für Fedora FC6 / Amilo Si1520

Alle Fragen, die sich speziell um Linux oder andere Unix-ähnliche Betriebssysteme drehen.

WLAN ( ipw3945) mit WPA für Fedora FC6 / Amilo Si1520

Beitragvon casualprogrammer » 09.11.2006 16:47

1. Sicherstellen, daß der richtige Kernel installiert ist, mehr dazu unter:

Code: Alles auswählen
http://fedoraproject.org/wiki/Bugs/FC6Common?highlight=%28bugs%29


2. wpa_supplicant konfigurieren:

wpa_supplicant ist bei FC6 bereits als Service eingerichtet, die Konfiguration erfolgt über die Dateien /etc/sysconfig/wpa_supplicant, Inhalt setzen auf:

Code: Alles auswählen
#gedit /etc/sysconfig/wpa_supplicant

Code: Alles auswählen
INTERFACES="-ieth1"
DRIVERS="-Dwext"


und /etc/wpa_supplicant/wpa_supplicant.conf, Inhalt setzen auf:

Code: Alles auswählen
#gedit /etc/wpa_supplicant/wpa_supplicant.conf

Code: Alles auswählen
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=10
update_config=1

network={
        ssid="any"
        key_mgmt=NONE
}


3. Sich als Mitglied bei Gruppe 10 anmelden (wheel):

Code: Alles auswählen
#gedit /etc/group


Den Eintrag für wheel ergänzen um unseren Benutzer-Namen

Code: Alles auswählen
wheel:x:10:root:<meinusername>


4. wpa_gui installieren:

Code: Alles auswählen
# yum install wpa_supplicant-gui


wpa_gui übernimmt später für uns die Einträge in die Konfigurationsdatei von wpa_supplicant.

5. Jetzt benötigen wir den Treiber, die Firmware, und den Daemon für ipw3945, alles benötigte herunterkopieren von

Code: Alles auswählen
http://ipw3945.sf.net


und entpacken.

Wir erhalten die Verzeichnisse ipw3945-1.1.2, ipw3945-ucode-1.13 und ipw3945d-1.7.22

5a. Aus dem Verzeichnis ipw3945d-1.7.22/x86 den Daemon ipw3945d nach /sbin kopieren (als root),

Code: Alles auswählen
#cp ipw3945d /sbin/


5b. Aus dem Verzeichnis ipw3945-ucode-1.13 die Datei ipw3945.ucode nach /lib/firmware/ kopieren (als root)

Code: Alles auswählen
#cp ipw3945.ucode /lib/firmware/


5c. Im Verzeichnis ipw3945-1.1.2 folgende Dateien ändern:

ipw3945.h

Zeile 32 auskommentieren
Code: Alles auswählen
//#include <linux/config.h>


Makefile

Zeile 94 ändern von
Code: Alles auswählen
IEEE80211_API := $(shell [[ "$(IEEE80211_VER)" == 1.1.14* ]] && \

in
Code: Alles auswählen
IEEE80211_API := $(shell [[ "$(IEEE80211_VER)" == git-1.1.13* ]] && \


und die Einträge für Monitor-Modus entkommentieren, falls Monitor-Modus notwendig ( Kismet etc. )

Code: Alles auswählen
CONFIG_IPW3945_MONITOR=y
CONFIG_IEEE80211_RADIOTAP=y
CONFIG_IPW3945_PROMISCUOUS=y


Jetzt kompilieren mit make, anschließend die Treiberdatei ipw3945.ko nach /lib/modules/`uname -r`/kernel/drivers/net/wireless/ kopieren ( als root )

Code: Alles auswählen
$su
#cp ipw3945.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
#chmod 744 /lib/modules/`uname -r`/kernel/drivers/net/wireless/ipw3945.ko
#depmod -a
#modprobe ipw3945


5d. Nach Aufruf von iwconfig sollte die Schnittstelle eth1 verfügbar sein.

Code: Alles auswählen
$ iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

sit0      no wireless extensions.

eth1      unassociated  ESSID:"any"  Nickname:""
          Mode:Managed  Frequency=nan kHz  Access Point:   
          Bit Rate:0 kb/s   Tx-Power:16 dBm   
          Retry limit:15   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:40   Missed beacon:0


6. Jetzt starten wir wpa_supplicant und wpa_gui und lassen uns mit "scan" die verfügbaren Netzwerke anzeigen.

Code: Alles auswählen
$su
#/sbin/service wpa_supplicant start
#exit
$wpa_gui

Durch Doppelklick auf das Netzwerk unserer Wahl wird das Konfigurations-Menü sichtbar, alle notwendigen Parameter eintragen und speichern. Nach betätigen der Schaltfläche "Connect" wird die Verbindung aufgebaut. Anschließend muß noch eine IP-Adresse angefordert werden, falls keine feste Vergabe erfolgte:

Code: Alles auswählen
#dhclient eth1


Das war's zur Inbetriebnahme.

7. Zum automatischen Laden und Entladen des Treibers bei Hinzufügen oder Entfernen der Karte ( Ist bei meinem Amilo eigentlich überflüssig, da fest eingebaut. ) erzeugen wir die Datei /etc/modprobe.d/ipw3945

Der Inhalt ist:

Code: Alles auswählen
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3
945d --quiet
remove ipw3945  /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw394
5


Das sind zwei Zeilen, die werden hier leider nicht als ganze Zeilen dargestellt, sondern umbrochen.

8. Damit sollte der Treiber eigentlich auch beim Bootstart geladen werden, bei meinem Gerät reichen allerdings die 0,5 Sekunden Wartezeit für das Laden des Moduls nicht aus, also habe ich das zusätzlich in die Datei /etc/rc.local, die als letztes Skript nach allen Ladevorgängen abgearbeitet wird, zusammen mit dem Start von wpa_supplicant und der Anforderung einer IP-Adresse verlagert.

Wir fügen als letzte Zeile zu /etc/rc.local hinzu:

Code: Alles auswählen
/sbin/ipw3945d; sleep 1; /sbin/service wpa_supplicant start; /sbin/dhclient eth1
 &


Ebenfalls eine ganze Zeile ohne Umbruch.

9. Fragen, Anregungen und neue Erkenntnisse gern per Email an mich.
>si tacuisses philosophus mansisses<
Benutzeravatar
casualprogrammer
 
Beiträge: 6
Registriert: 26.10.2006 13:19
Notebook:
  • FSC Amilo Si1520

Zurück zu Linux / Unix / BSD