WHAX - mit einem Inspiron 8600 in's WLAN Netz

Die Linuxdistri WHAX 3.0 kann ihren Ursprung von SLAX nicht verbergen. Das ist wohl auch nicht beabsichtigt. Der Focus von WHAX liegt auf Netzwerk, WLAN und Tools in diesem Zusammenhang. Leider hat man im Vergleich zu SLAX einige wichtige WLAN Resourcen weggelassen. So fehlt Notwendiges, um mit einem DELL Notebook Inspiron 8600 in's Netz zu kommen - sprich: die WLAN Karte zu konfigurieren.

Allgemeines

Während ich diesen Artikel schreibe sitze ich an einem Inspiron 8600. Im Inspiron 8600 ist als WLAN Karte eine interne Mini PCI Karte von Broadcom verbaut.

lspci
02:03.0 Network controller: Broadcom Corporation BCM94306 802.11g (rev 02)

Diese WLAN Karten sind nun schon einige Zeit auf dem Markt. Aber Broadcom hat offensichtlich kein Interesse, Linuxtreiber zur Verfügung zu stellen. Von DELL ganz zu schweigen.

Einleitung

So bleibt also nur das Hilfsmittel "ndiswrapper", um die BCM94306 verwenden zu können. Ndiswrapper ist in WHAX [1] vorhanden. Mit ndiswrapper wird eine WLAN Netzwerkkarte mit wlan0 bezeichnet.

Problem

Bei der WHAX 3.0 LiveCD [1] hat man im Gegensatz zu SLAX [3] alle Treiberdateien von WLAN Karten, die mit dem ndiswrapper verwendet werden können, unverständlicher Weise wegrationalisiert. Eventuell bringt die bereits angekündigte Version 3.1 Änderung. Man kann die LiveCD auch modifizieren und die fehlenden Dateien selbst im ISO platzieren. Ausgangspunkt dafür kann die SLAX LiveCD Standard Edition [3] sein.

Treiber installieren

Als Erstes werden für die Verwendung mit ndiswrapper die Windowstreiber der Broadcomkarte BCM94306 benötigt. Es sind die Dateien mit den Namen

bcmwl5.inf
bcmwl5.sys

Ich gehe nun davon aus, daß das beim Kauf installierte Windows auf dem DELL noch installiert ist. Denn von dort kann man sich diese beiden Dateien holen. Beim Start von WHAX wurde/n die Windowspartion/en bereits in /mnt gemountet. So kann man gleich in der Windowsinstallation nach den Dateien suchen.

find /mnt -name bcmwl5.*

Je nach installierten Systemen (nur Windows oder Windows und Linux) auf dem Notebook werden in verschiedenen Verzeichnissen die gesuchten Dateien gefunden. Ein Beispiel:

/mnt/hda2/dell2/drivers/R65194/TMSetup/bcmwl5.inf
/mnt/hda2/dell2/drivers/R65194/TMSetup/bcmwl5.sys
/mnt/hda2/dell2/drivers/R65194/TMSetup/I8500/bcmwl5.inf
/mnt/hda2/dell2/drivers/R65194/TMSetup/I8500/bcmwl5.sys
/mnt/hda2/DELL/drivers/R65194/TMSetup/bcmwl5.inf
/mnt/hda2/DELL/drivers/R65194/TMSetup/bcmwl5.sys
/mnt/hda2/DELL/drivers/R65194/TMSetup/I8500/bcmwl5.inf
/mnt/hda2/DELL/drivers/R65194/TMSetup/I8500/bcmwl5.sys

Befinden sich die benötigten Windowstreiber mangels vorhandener Windowsinstallation nicht mehr auf dem Notebook bleibt noch die Windows CD oder google. Google bietet ausreichend Ansatzpunkte, um die Dateien zu laden.

Jetzt für die Windowstreiber ein Verzeichnis in WHAX erstellen.

mkdir /etc/ndiswrapper

Nun die gefundenen Windowstreiber in dieses Verzeichnis kopieren. Ich habe mich dabei für die beiden letzten gefundenen Dateien entschieden.

cp /mnt/hda2/DELL/drivers/R65194/TMSetup/I8500/bcmwl5.* /etc/ndiswrapper

Damit ist der von ndiswrapper benötigte Windowstreiber in Linux vorhanden und man kann ihn installieren. HINWEIS: unbedingt die beiden Dateien bcmwl5.inf UND bcmwl5.sys kopieren.

Ein direktes Ansprechen der Treiberdateien in der Windowspartition ist NICHT möglich, da bei der Installation durch ndisrapper weitere Dateien erzeugt werden. Das Schreiben dieser weiteren Dateien in eine Windowspartition ist nicht möglich. Ausnahme wäre, wenn diese Windowspartition nicht mit NTFS formatiert ist. Das wiederum dürfte wohl eher nicht der Fall sein.

Mögliche Optionen zur Anwendung von ndiswrapper ergibt ein einfaches:

ndiswrapper
Usage: ndiswrapper OPTION

Manage ndis drivers for ndiswrapper.
-i inffile Install driver described by 'inffile'
-d devid driver Use installed 'driver' for 'devid'
-e driver Remove 'driver'
-l List installed drivers
-m Write configuration for modprobe
-hotplug (Re)Generate hotplug information


where 'devid' is either PCIID or USBID of the form XXXX:XXXX


Jetzt den Windowstreiber mit ndiswrapper installieren:

ndiswrapper -i /etc/ndiswrapper/bcmwl5.inf
Installing bcmwl5
Forcing parameter IBSSGMode|0 to IBSSGMode|2
Forcing parameter IBSSGMode|0 to IBSSGMode|2
Forcing parameter IBSSGMode|0 to IBSSGMode|2
Forcing parameter IBSSGMode|0 to IBSSGMode|2
Forcing parameter IBSSGMode|0 to IBSSGMode|2
Forcing parameter IBSSGMode|0 to IBSSGMode|2

Ein nachfolgendes

ls -l /etc/ndiswrapper
total 280
drwxr-xr-x 2 root root 280 Nov 10 13:45 bcmwl5/
-r-------- 1 root root 17190 Nov 10 13:45 bcmwl5.inf
-r-------- 1 root root 254208 Nov 10 13:45 bcmwl5.sys

und

ls -l /etc/ndiswrapper/bcmwl5
total 320
-rw-r--r-- 1 root root 307 Nov 10 13:45 14E4:4301.5.conf
-rw-r--r-- 1 root root 307 Nov 10 13:45 14E4:4301:1028:0002.5.conf
-rw-r--r-- 1 root root 307 Nov 10 13:45 14E4:4301:1028:0407.5.conf
-rw-r--r-- 1 root root 307 Nov 10 13:45 14E4:4307.5.conf
-rw-r--r-- 1 root root 319 Nov 10 13:45 14E4:4320.5.conf
-rw-r--r-- 1 root root 319 Nov 10 13:45 14E4:4320:1028:0001.5.conf
-rw-r--r-- 1 root root 319 Nov 10 13:45 14E4:4320:1028:0002.5.conf
-rw-r--r-- 1 root root 349 Nov 10 13:45 14E4:4324.5.conf
-rw-r--r-- 1 root root 349 Nov 10 13:45 14E4:4324:1028:0001.5.conf
-rw-r--r-- 1 root root 349 Nov 10 13:45 14E4:4324:1028:0002.5.conf
-r-------- 1 root root 17190 Nov 10 13:45 bcmwl5.inf
-rw-r--r-- 1 root root 254208 Nov 10 13:45 bcmwl5.sys

zeigt, daß sich nach der Installation des Windowstreibers neben den ursprünglich kopierten Dateien bcmwl5.inf und bcmwl5.sys einige weitere Dateien im Verzeichnis befinden - die Treiberdateien des ndiswrapper. Der ndiswrapper selbst ist neben dem Tool in /usr/sbin/ndiswrapper hauptsächlich ein Kernelmodul.

Um den für ndiswrapper verfügbaren Treiber anzuzeigen bzw. zu testen:

ndiswrapper -l

Gibt es mit dem verwendeten Windowstreiber ein Problem, bekommt man folgende Fehlermeldung:

Installed ndis drivers:
bcmwl5 invalid driver!

Das passiert z. Bsp., wenn nicht beide Treiberdateien, sondern nur die bcmwl5.inf, nach Linux kopiert wurde.

Hat die Installation der Windowstreiber fehlerfrei funktioniert, bekommt man diese Ausgabe.

Installed ndis drivers:
bcmwl5 driver present, hardware present

Nach dieser Installation und wenn bis hier kein Fehler eingetreten ist wird als Nächstes das Kernelmodul ndiswrapper geladen:

modprobe ndiswrapper

Das erfolgreiche Laden des Kernelmodul kann man mit

dmesg
prüfen. Ist kein Fehler eingetreten sollte die Ausgabe von dmesg etwa so aussehen:
kernel: ndiswrapper version 1.2 loaded (preempt=no,smp=yes)
kernel: ndiswrapper: driver bcmwl5 (Broadcom,06/13/2003, 3.20.23.0) loaded
kernel: ACPI: PCI interrupt 0000:02:03.0[A] -> GSI 7 (level, low) -> IRQ 7
kernel: ndiswrapper: using irq 7
kernel: wlan0: ndiswrapper ethernet device 00:90:4b:78:6a:5b using driver bcmwl5, configuration file 14E4:4320:1028:0001.5.conf
kernel: wlan0: encryption modes supported: WEP, WPA with TKIP, WPA with AES/CCMP

So, damit steht der für die WLAN Karte benötigte Treiber in Linux zur Verfügung, ndiswrapper kann ihn verwenden und die Karte sowie der Netzwerkzugang kann konfiguriert werden.

Konfiguration des Netzwerkzugang der WLAN Karte mit WEP

Noch mal zur Erinnerung. Wird eine WLAN Karte mit Hilfe des ndiswrapper genutzt, verwendet der Kernel als Bezeichnung der WLAN Netzwerkkarte wlan. Eine sich weiterhin im System befindende normale Netzwerkkarte wird mit eth bezeichnet.

Nachfolgend verwende ich die Begrifflichkeit "Zugang zum Accesspoint".

  • Eine WLAN Karte erkennt alle im Empfangsbereich liegenden anderen kompatiblen Wirelessgeräte wie Accesspoint's oder andere Rechner mit WLAN im adhoc Modus. Dabei werden andere Geräte unabhängig davon erkannt, mit welcher Authentifizierungsmethode sie arbeiten oder welchen Kanal bzw. welche Frequenz sie verwenden. Das Erkennen anderer Wirelessgeräte ist aber noch nicht der Zugang zu diesen.
  • Mit Zugang meine ich die berechtigte Verbindung zum Wirelessgerät und dessen Nutzung, mit oder ohne Authentifizierung.

Für die Konfiguration verwendet man die Tools "ifconfig", "iwconfig" "iwlist" und den "Wireless Assistant" als grafisches Programm aus dem KDE ProgrammMenü -> WHAX Tools -> Wireless.

Das Programm "Wireless Assistant" verwende ich deswegen, weil es mir mit dem Konsolentool "iwconfig" nicht gelingt, der WLAN Karte eine essid zu übergeben.

Der Start des "Wireless Assistant" zeigt zunächst die in Reichweite befindlichen Accesspoint's. Die gleiche aber ausführlichere Information kann auch mit

iwlist wlan0 scan

bekommen. Diese Information wird nacher noch für die Konfiguration einzelner Parameter der Karte benötigt.

Durch Klick mit der rechten Maustaste auf den zu konfigurierenden WLAN Zugang (Accesspoint) im Wireless Assistant erreicht man das Konfigurationsmenü.

Im Konfigurationsmenü gibt es bei der Angabe der einzelnen Daten zwei Stolpersteine. Zum Einen kann DHCP, wenn gewählt, nicht funktionieren da die Karte ja noch keinen Zugang zum Accesspoint hat. Zum Anderen erfordert die Angabe des WEP Key das hexadezimale Format. Wer in dieser Situation (den auch im Accesspoint angegeben Key) nur als normalen Textstring (ASSCII) kennt, muss ihn zur Eingabe in hexadezimales Format umwandeln.

iwconfig wlan0 key s:meingeheimkey [1]

Danach wird mittels

iwconfig wlan0

der Key in hexadezimalem Format gezeigt. Den angezeigten "Encryption key" im Wireless Assistant als WEP Key eintragen und die Konfiguration beenden. Mit Beenden der Konfiguration versucht der Wireless Assistant, die Verbindung zum Accesspoint aufzubauen. Erfolg und Misserfolg werden mitgeteilt. Im letzteren Falle hat man sich vermutlich bei einer der Eingaben vertippt.

Gibt es keine Tippfehler, alle Angaben sind korrekt und trotzdem ist keine Verbindungsaufnahme zum Accesspoint möglich, sollte geprüft werden, ob der Kanal bzw. die Frequenz des Accesspoint mit den Angaben der WLAN Karte übereinstimmen.

Dazu mit

iwlist wlan0 scan

das WLAN scannen um die erreichbaren Accesspoint's anzuzeigen. Der betreffende Accesspoint zeigt seine Frequenz an.

Die Frequenz der Karte zeigt

iwconfig wlan0

an.

Sollte es bei den Frequenzen keine Übereinstimmung geben wird die Frequenz des Accesspoint der WLAN Karte übergeben.

iwconfig wlan0 freq 2.422G

Wer aus der Konfiguration des Accespoint den dort verwendeten Kanal kennt, kann an Stelle der Frequenz auch diesen Kanal der Karte übergeben.

iwconfig wlan0 channel x

X entsricht dem eigenen verwendeten Kanal und ist entsprechend anzupassen.

Meist kann man im Accesspoint mehrere Key's angeben. Einer der angegeben Key's wird dabei zur Verwendung markiert. Die Angabe [1] im obigen Beispiel zur Eingabe des Key entspricht dem im Accesspoint markierten Key - der Erste.

Ist der zu verbindende Accesspoint öffentlich und ohne Authentifizierung der Zugang möglich, entfällt logischer Weise die Angabe des Key. Mit iwconfig kann man in diesem Fall den Key bzw. die Authentifizierung abschalten

iwconfig wlan0 key off

oder lässt im Wireless Assistant das betreffende Eingabefeld leer.

Die Verwendung des Wireless Assistant hat noch einen Vorteil. Es wird mit seiner Anwendung auch noch das richtige auf die Konfiguration bezogene Routing gesetzt bzw. aktiviert.

Nun kann man die WLAN - Netzwerk - Konfiguration prüfen.

Die Netzwerkparameter der Karte:

ifconfig wlan0

Die WLAN Parameter der Karte:

iwconfig wlan0

Das Routing der Karte:

route

Der/die zu verwendenden Nameserver:

cat /etc/resolv.conf

Das ist Alles. Die WLAN Karte des Inspiron 8600 ist konfiguriert.

Mit iwconfig könnte die WLAN Karte noch weitergehender konfiguriert werden. Aber darum geht es hier nicht, sondern nur um die grundlegenden prinzipiellen Funktionen.

Konfiguration der WLAN Karte mit WPA

Zur Nutzung der WLAN Karte mit WPA wird "wpa_supplicant" benötigt und ist in WHAX verfügbar. Zur Konfiguration und Verwendung kann ich im Moment nichts schreiben. Ich werde den Artikel um diesen Inhalt noch ergänzen. Im Moment kann ich hier nur auf die Dokumentation bei Sourceforge [7] verweisen.

Nachtrag

Wer WHAX als LiveCD nutzt, wird nach einigen Konfigurationsaktionen das Ganze mit Sicherheit jedesmal Mal, wenn der Rechner mit WHAX im Livemodus neu gestartet wird, die Konfiguration der WLAN Karte etwas schneller durchführen können. Nicht alle Schritte wie hier beschrieben sind dabei erfordelich.
Sicherlich ist diese neuerliche Konfiguration nicht komfortabel und irgendwann wird es auf diese Art auch nervig und führt unter Stress zu Fehlern, aber es übt auf jeden Fall den Umgang mit WLAN Karten unter Linux. Und wer sein WLAN immer nur mit GUI's ala YAST konfiguriert sieht irgendwann Mal ohne GUI alt aus. Außerdem spielt man mit einer gebooteten LiveCD nicht mit der Konfiguration eines installierten Linux herum.

WHAX wie auch SLAX bieten aber die Möglichkeit, Konfigurationen zu speichern und diese beim Start des Rechner mit der LiveCD zu verwenden. Damit hat man dann den Komfort.

Eine andere, bereits vorgefertigte, Lösung zum komfortablem und automatisierten Einbinden einer Broadcom 802.11b/g Karte kann man im WHAX Forum [8] finden. Dabei handelt es sich um ein WHAX Modul.

Links

WHAX [1]
Hier befindet sich nun WHAX:
remote-exploit.org
WHAX bei Distrowatch [2]
SLAX [3]
SLAX bei Distrowatch [4]

ndiswrapper [5]
ndiswrapper Installationswiki [6]
ndiswrapper mit WPA [7]

WHAX Forumbeitrag, automatisiertes Verwenden einer Broadcom 802.11b/g Karte mit WHAX
Broadcom 802.11b/g Driver Module [8]

Beigefügte Dateien

bcmwl5.inf
bcmwl5.sys

als Datei dell-inspiron8600-broadcomdriver.tar.gz

AnhangGröße
dell-inspiron8600-broadcomdriver.tar.gz139.07 KB
Powered by Drupal. Created with ZenWalk.