# FAQ Tips > Hier Suchen und Finden, Links, Tutorials >  WLAN mit Ndiswrapper unter Linux

## rooter

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:



```
su -
```

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



```
mkdir /usr/lib/windowsdriver
```

und mit der Enter-Taste bestätigen. Danach erneut:



```
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):



```
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):



```
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:



```
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:



```
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:



```
ndiswrapper -i /usr/lib/windowsdriver/broadcom/bcmwl5.inf
```

Und Eingabetaste.
Mit der Eingabe von



```
ndiswrapper -l
```

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



```
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:



```
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:



```
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:



```
cd /etc
```

			>Eingabetaste



```
su
```

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



```
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:



```
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:



```
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:



```
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“:



```
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:



```
vi wpa_supplicant.conf
```

Mit drücken der Taste i in den Schreibmodus wechseln und folgendes eintragen:



```
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:



```
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:



```
ifdown eth0
	ifdown wlan0
	ifup wlan0
```

Danach einfach:



```
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:



```
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 !

----------

