Anzeige:
Results 1 to 1 of 1

Thread: WLAN mit Ndiswrapper unter Linux

  1. #1
    Registrierter Benutzer rooter's Avatar
    Join Date
    Jan 2006
    Location
    Kün-Nagelsberg
    Posts
    80

    WLAN mit Ndiswrapper unter Linux

    Hallo ihr Linux-User !
    Ich weiß, viele WLAN-Adapter in Notebooks werden heutzutage mit neuen Treibern unterstützt, jedoch gibt es immer noch kleine Mängel die unter Windows jedoch gut funktionieren.
    Das selbe Problem hatte ich auch, deshalb hab ich mein WLAN über ndiswrapper laufen.
    Um die Installation und die Konfiguration zu erleichtern habe ich hier ein Howto für euch geschrieben.

    Viel Spass dabei !



    Inhaltsverzeichnis:

    1.Einleitung
    1.1 Voraussetzungen
    2.Die Treiber
    2.1 Was machen mit den Windows-Treibern?
    2.2 Die Windows-Treiber in den erstellten Ordner kopieren
    3.Ndiswrapper
    4.Wlan konfigurieren
    4.1 IP-Adresse vergeben
    5.Die Verschlüsselung
    5.1 Installation von wpa_supplicant
    5.2 Anlegen der .conf-Datei




    1.Einleitung:

    Unter Linux ist es immer wieder ein Problem, für die neuste Hardware einen passenden Treiber zu finden. In den meisten Fällen geht es dabei um in Notebooks eingebauten Soft-Modems und Wlan Chipsätzen (Broadcom).
    In diesen fällen kann man sich aber jetzt aushelfen und die Windows-Treiber für das Gerät verwenden. Mit Hilfe des Ndiswrappers können wir die Windows-Treiber auf Linux um „adaptieren“,damit Linux sie benutzen kann.
    Ich führe diesen Vorgang bei einem Wlan-Chipset von Broadcom auf einem Hp-Notebook durch, auf dem Fedora Core 7 installiert ist.

    1.1Voraussetzungen:

    Zuerst brauchen wir den „Ndiswrapper“, den wir auf http://sourceforge.net/projects/ndiswrapper/
    downloaden können.
    Wenn sie Linux und Windows auf ihrem Computer haben, können sie sich die Treiber, durch einbinden der Windows-Partition unter Linux, die Treiber auf Fedora kopieren.
    Ich habe jedoch die zweite Möglichkeit vorgezogen und habe mir die neusten Treiber für das Gerät im Internet runtergeladen. Die benötigten Treiber sind zwei Dateien, die man unbedingt braucht!
    Die erste Datei heißt: bcmwl5.inf
    Die zweite Datei heißt: bcmwl5.sys
    Die .inf-Datei ist für uns wichtiger, jedoch muss die .sys-Datei auch dabei sein !
    Und beachten sie ! Bei allem was sie eingeben muss Groß-und Kleinschreibung beachtet werden!
    Weiter setze ich Ip- und Netzwerkerfahrung voraus.


    2.Die Treiber

    2.1Was machen mit den Windows-Treibern?

    Unter Linux müssen wir jetzt ein Ordner anlegen, in denen wir die zwei Dateien Ablegen.
    Dazu verwenden wir den Terminal und erstellen zwei Ordner.
    Nachdem der Terminal geöffnet ist, müssen wir in den Root-Terminal wechseln, dazu geben sie:

    Code:
    su -
    ein. Nachdem sie ihr Root-Passwort eingegeben haben, erstellen wir ein Ordner. Dazu folgendes eingeben:

    Code:
    mkdir /usr/lib/windowsdriver
    und mit der Enter-Taste bestätigen. Danach erneut:

    Code:
    mkdir /usr/lib/windowsdriver/broadcom
    und wieder mit Enter bestätigen.

    Mit diesen Kommandos haben wir jetzt einen Ordner im Verzeichnis /usr/lib/ erzeugt, indem wir die Treiber ablegen können.

    2.2Die Windows-Treiber in den erstellten Ordner kopieren

    Jetzt brauchen wir das Verzeichnis, indem sie die Dateien bis jetzt abgelegt haben. Das kann z.B. /home/Jan/Downloads/ sein. Sie müssen natürlich ihr Verzeichnis angeben, indem sie die Dateien abgelegt haben.
    Um diese jetzt in den neu erstellten Ordner zu kopieren folgendes eingeben (nicht als root):

    Code:
    cd /usr/lib/windowsdriver/broadcom
    und Eingabe-Taste
    Somit sind wir jetzt in dem Verzeichnis, indem wir unsere Treiber haben wollen.
    Jetzt kopieren wir die zwei Dateien, dazu benötigen wir wieder den Root-Terminal (su – und Eingabetaste):

    Code:
    cp /home/Jan/Downloads/*.inf .
    Und Eingabe.
    Wichtig ist, dass sie keinen der Punkte vergessen !!
    Was auch empfehlenswert ist, das sich in diesem Ordner keine weiteren Dateien mit der Endung .inf oder .sys befinden. Nun noch die zweite Datei:

    Code:
    cp /home/Jan/Downloads/*.sys .
    Und wieder Eingabe.
    Nun sind die zwei Dateien (Windows-Treiber) in dem Ordner Broadcom, im Verzeichnis /usr/lib/widowsdriver.

    3.Ndiswrapper

    Jetzt zeigen wir dem Ndiswrapper, wo er die zwei Dateien findet. Wir müssen ihm nur die .inf-Datei zeigen, die .sys-Datei findet er selber.
    Natürlich muss der Ndiswrapper installiert sein!
    Um das herauszufinden geben wir im Root-Terminal an:

    Code:
    ndiswrapper
    Wenn man dieses Kommando ausführt, erlangt man, eine kleine Liste mit Funktionen. Wenn diese nicht erscheint, ist er wahrscheinlich nicht installiert worden.

    Um jetzt dem Ndiswrapper zu zeigen, wo sich die Treiber befinden, installieren wir bei ihm die .inf-Datei:

    Code:
    ndiswrapper -i /usr/lib/windowsdriver/broadcom/bcmwl5.inf
    Und Eingabetaste.
    Mit der Eingabe von

    Code:
    ndiswrapper -l
    können wir schauen, ob er diesen Treiber erkennt. Es erscheint eine Tabelle der installierten Treibern, die etwa so aussieht:

    Code:
    ndiswrapper -l
    bcmwl5  driver presents, hardware presents
    Nun können wir den Ndiswrapper noch laden, indem wir ndiswrapper -m eingeben.

    Ab nun erkennt das System eine neue Netzwerkkarte. Die Wlan-Karte hat die Bezeichnung „wlan0“.

    4.Wlan konfigurieren

    Nun können wir schon die neu erkannte Wlan-Karte konfiguriere, d.h. die IP-Adresse vergeben und den Router angeben, zu dem wir Verbindung aufnehmen wollen. Wer keine IP-Adresse vergeben will, kann natürlich auch dhcp verwenden.

    4.1IP-Adresse vergeben:

    Um die IP-Adresse zu vergeben öffnen wir einen Terminal und wechseln mit su – zu root.
    Dann geben wir ein:

    Code:
    ifconfig wlan0 192.168.0.60 netmask 255.255.255.0
    Dabei ist 192.168.0.60 die IP die mein Computer haben soll und die Netmask ist immer die Selbe.

    Nun stellen wir noch unseren Standard Gateway ein:

    Code:
    route add default gw 192.168.0.1 netmask 255.255.255.0
    Wobei die 192.168.0.1 die IP meines Routers ist.

    Nun müssen wir noch die IP in der resolv.conf Datei eintragen, damit meine Domain-Adressen in IP-Adressen aufgelöst werden. Natürlich kann man diese Eingabe auch mit einem anderen Editor vornehmen, ich bevorzuge jedoch den vi-Editor.
    Der Eintrag in der Datei muss folgendermaßen aussehen (ich beschreibe wieder den vollen Weg, wie man in die Datei kommt!)

    Im Terminal:

    Code:
    cd /etc
    >Eingabetaste

    Code:
    su
    >Eingabetaste (dann müssen sie ihr Root-Passwort eingeben)

    Code:
    vi resolv.conf
    >Eingabetaste

    Nun sehen sie die Einträge der Datei! Wenn darin schon welche aufgelistet sind, einfach eine neue Zeile anlegen. Das geht so:

    Durch drücken der Taste i gelangt man in den Schreibmodus.
    Dann in eine neue Zeile schreiben:

    Code:
    nameserver 192.168.0.1
    Danach Esc-Taste drücken und :wq eingeben und dann Eingabetaste (den Doppelpunkt nicht vergessen)!

    Somit ist jetzt die Konfiguration der Wlan-Karte abgeschlossen.
    Jetzt kommen wir zur Verschlüsselung unseres Funknetzes und den Aufbau der Verbindung.

    5.Die Verschlüsselung

    In diesem Fall nehme ich die Verschlüsselung WPA-PSK.
    Um eine WPA-Verschlüsselung aufzubauen benötigen wir den „wpa_supplicant“.
    Ich bevorzuge in diesem Fall ein rpm-Paket, das ich auf der Seite
    http://rpmseek.com/rpm-pl/wpa_suppli...&cs=supplicant
    befindet (diese Pakete sind natürlich für Fedora, wenn sie ein anderes System benutzen brauchen sie eins für ihre dementsprechende Distribution)
    Wenn sie dieses Paket installiert haben, haben wir den Grundstein für unsere Verschlüsselung gelegt.

    Die Verschlüsselungseinstellungen müssen übereinstimmen mit denen des Routers.

    5.1Installation von wpa_supplicant

    Um das Paket zu installieren wechseln im Terminal in das Verzeichnis, indem das Paket liegt.
    Zum Beispiel könnte es in /home/jan/downloads liegen. Mit cd wechseln wir also in dieses Verzeichnis und geben dann das Kommando zum installieren an:

    Code:
    rpm -ivh wpa_supplicant-0.5.7-2.fc7.i386.rpm
    Natürlich müssen sie hier ihren Paketnamen und Version angeben, sonst erkennt er keine Datei, die er installieren soll! Die Parameter -ivh stellen fest, ob dieses Paket nicht schon installiert ist.

    5.2Anlegen der .conf-Datei

    Zunächst öffnen wir ein neuen Terminal und wechseln mit Hilfe des folgenden Kommandos in das Verzeichnis /etc:

    Code:
    cd /etc
    Mit der Eingabetaste bestätigen und mit dem Kommando su zum Root wechseln.
    Nun erzeugen wir eine lehre Datei mit dem Namen „wpa_supplicant.conf“:

    Code:
    touch wpa_supplicant.conf
    Diese Datei ist sehr wichtig, denn hier wird jetzt ein Script eingefügt, das die wichtigen Angaben unserer Verbindung enthält. Der wpa_supplicant liest diese Datei und verschlüsselt die Verbindung, die wir ihm in dieser Datei angeben.
    Aber erst müssen wir dieses Script in die noch lehre Datei eintragen. Dazu benutzen ich den vi-Editor:

    Code:
    vi wpa_supplicant.conf
    Mit drücken der Taste i in den Schreibmodus wechseln und folgendes eintragen:

    Code:
    ctrl_interface=/var/run/wpa_supplicant
    	eapol_version=1
    	ap_scan=2
    	network={
    	ssid="namedeswlannetzes"
    	scan_ssid=1
    	proto=WPA
    	key_mgmt=WPA-PSK
    	pairwise=TKIP
    	group=TKIP CCMP
    	psk="meinPasswort"
    	}
    Natürlich müssen die SSID und der PSK selber eingetragen werden, da genau diese zwei angaben mit denen des Routers übereinstimmen müssen.
    Wenn wir fertig sind Esc und dann :wq tippen, um die Eingabe zu speichern.

    Nun haben wir alles eingestellt um endlich eine Verbindung zu unserem Router aufnehmen zu können.

    Um dies zu tun öffnen wir einen Terminal und wechseln mit su – in Root.
    Dann tippen wir:

    Code:
    wpa_supplicant -i wlan0 -D ndiswrapper -c	/etc/wpa_supplicant.conf
    Sollte etwas schief gehen kann man mittels -d Informationen darüber bekommen wo der Fehler liegt (-dd gibt noch mehr Auskunft).

    Wenn es keine Probleme gibt müsste eine Information kommen, dass er sich mit der ssid und der Mac-Adresse des Routers verbindet. Das Programm läuft jetzt und die Verschlüsselung steht.
    Dieses Programm läuft jetzt im Hintergrund.
    Wenn man jetzt dennoch nicht "pingen“ kann, tippt man in einem neuen Root-Terminal:

    Code:
    ifdown eth0
    	ifdown wlan0
    	ifup wlan0
    Danach einfach:

    Code:
    ping www.heise.de -c2
    dann sollte eine Datenübertragungsinformation zu lesen sein und auch im normalen Internet-Explorer (Firefox, Mozilla, Opera, ...) können jetzt Seiten angezeigt werden.

    Diese Verbindung zu einem Router muss jedes mal wenn sie den Pc neustarten wieder aufgebaut werden, um ins Internet zu gelangen.
    Einfach kurz:

    Code:
    wpa_supplicant -i wlan0 -D ndiswrapper -c	/etc/wpa_supplicant.conf
    Und dann wlan0 neu hochfahren und die Verbindung steht wieder (natürlich könnte man dafür auch ein kurzes Script schreiben, nur habe ich die Zeit dafür noch nicht gefunden)


    Viel Erfolg !
    Last edited by rooter; 22.02.08 at 10:45.
    Wir wissen wer wir sind
    und bleiben wer wir waren.

Similar Threads

  1. cyrus und postfix
    By luckystrikerulz in forum Linux als Server
    Replies: 17
    Last Post: 12.10.06, 15:07
  2. EasyLite TV Tuner
    By alex23 in forum Fernsehen
    Replies: 11
    Last Post: 23.05.06, 22:03
  3. Instabiles System
    By compiru in forum Mobiles Linux, Notebook, PDA
    Replies: 10
    Last Post: 17.01.06, 18:37
  4. Kernel Panic nach Systemabsturz
    By Fr33f4ll in forum System installieren und konfigurieren
    Replies: 6
    Last Post: 10.06.05, 10:36
  5. LDAP: no write access to $HOME directory
    By tobias.vdk in forum Linux als Server
    Replies: 1
    Last Post: 15.02.05, 13:03

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •