Tutorials - Damn Small Linux und WLAN

image
Folgende Fragen werden hier erklärt:

Den Treiber installieren via "ndiswrapper"

Also, wir haben eine Wireless-Karte in unseren Serverrechner eingebaut, und Damn Small Linux erkennt diese nicht. Was ist zu tun? In diesem Fall kann man sich helfen, indem man den Windows-Treiber der Karte unter Linux installiert. Das geht mit dem Befehl "ndiswrapper". Was bedeutet das?
NDIS ist die Abkürzung für "Network Device Interface Specification" und stellt einen Standard für die Anbindung von Netzwerkkarten (Hardware) an Netzwerkprotokolle (Software) dar. Einige Hersteller von Wireless LAN Hardware möchten die Hardwarespezifikationen und/oder Treiber für ihre Produkte für andere Betriebssysteme, ausser Microsoft Windows, nicht offenlegen. Das Ndiswrapper Projekt ermöglicht die Verwendung dieser Hardware unter Linux durch den Einsatz eines Kernelmoduls welches sich sozusagen um den NDIS-Treiber "herumlegt" (wrap around) und dadurch eine Unterstützung für einige Windows-Netzwerktreiber unter Linux darstellt.
Wenn man einen Windows-Treiber unter Linux installieren will, sollte man den Treiber auf der beigelegten CD des Herstellers verwenden, oder sich den Treiber des auf der Karte verbauten Chipsatzes besorgen. Auf meiner Karte (Trust Speedshare Turbo Pro) ist z.B. der Atheros-Chipsatz verbaut. Ich habe mir den Treiber von dieser Seite heruntergeladen. Eine Liste der unterstützten Chipsätze findet man übrigens hier:
http://ndiswrapper.sourceforge.net/mediawiki/index.php/List
Nachdem der Treiber heruntergeladen wurde, wird er auf Diskette gepackt. Auf der Diskette befanden sich danach bei mir 4 Dateien: "AR5211.SYS", "AR52119X.SYS", "NET5211.CAT" und "NET5211.INF". Das kann bei dir natürlich anders ausshen, je nach Chipsatz. Dann die Diskette gemountet:

# mount /floppy

und den Treiber wie folgt installiert:

# ndiswrapper -i /floppy/net5211.inf

Dann sollte auf die Diskette zugegriffen werden, und der Treiber installiert werden. Das war's schon. Nun mit:

# ndiswrapper -l

überprüfen, ob der Treiber präsent ist. Es sollte die Meldung ausgegeben werden, daß der Treiber installiert wurde. Jetzt kann man mit

# modprobe ndiswrapper

den Treiber laden.

[Home]    [Übersicht Tutorials]    [^ nach oben]

Konfiguration mittels "iwconfig"

O.K., an diesem Punkt sollte der Windows-Treiber dank "ndiswrapper" seinen Dienst verrichten, nun muß die Wireless-Karte natürlich noch konfiguriert werden. Dieses geschieht mit den Befehl:

# iwconfig

Mit Hilfe dieses Befehls wird die installierte Wireless-Peripherie angesprochen und man bekommt eine Übersicht über den momentanen Zustand der Hardware. Bei mir heißt die Karte "wlan0". Wie bereits erwähnt gehe ich davon aus, daß wir uns an einem Router anmelden wollen. Die Verbindung soll mit 128Bit Verschlüsselung zustande kommen (ich weiß, es gibt sicherere Methoden;-)). Ich gebe mal einfach hier an, was ich bei meinem Server einzugeben habe

# iwconfig wlan0 essid HeimNetz

# iwconfig wlan0 key s:DiesIstDerSchlüssel

# iwconfig wlan0 mode auto

# iwconfig wlan0 channel 6

Was bedeutet das nun? Also die erste Zeile sagt der Karte, daß der Name (SSID) des Funknetzes in diesem Fall "HeimNetz" lautet. Die zweite Zeile weist den verwendeten Key zu, in diesem Fall wird der Klartextschlüssel verwendet. Man kann auch den hexadezimalen 26-Stelligen Zahlenschlüssel angeben wie folgt:

# iwconfig wlan0 key 35303739303539343738333439

Die dritte Zeile schließlich stellt den "Automatik-Modus" ein. Der Modi gibt es mehrere, z.B. Ad-Hoc, Managed, Master etc. Schließlich wird noch der Kanal bestimmt. Das war von der Seite aus eigentlich schon alles. Dann müssen natürlich noch die anderen Netzwerk-Einstellungen gemacht werden, wie schon gehabt:

# ifconfig wlan0 192.168.x.x netmask 255.255.255.0

# route add default gw 192.168.x.x

# echo nameserver 192.168.x.x > /etc/resolv.conf

Das war's schon. Die Karte sollte nun ohne Probleme laufen (tut sie zumindest bei mir:-)).


[Home]    [Übersicht Tutorials]    [^ nach oben]

Beispiel-Script für den Netzwerk-Start

Also, es ist natürlich umständlich, jedes Mal beim Rechnerstart von Hand die Einstellungen einzugeben. Was wäre da besser geeignet als ein Script, welches die Wireless-Karte in Betrieb nimmt, das Laufwerk mounted, Lampp, Samba und SSH startet, sodaß man gleich mit der Arbeit loslegen kann? Ich stelle hier mal ein einfaches Beispielscript online (dieses ist noch verbesserungsbedürftig, erfüllt seinen Zweck aber schon sehr gut):

#!/bin/bash

# Checken, ob /dev/hda1 bereits gemounted ist
if [ -f/opt/lampp/htdocs/index.html ]; then
  echo "Laufwerk /dev/hda1 ist bereits gemounted!";
else
  mount /dev/hda1 /opt/lampp/htdocs/www;
fi

# Checken ob Ndiswrapper läuft
if (lsmod|grep ndiswrapper) &>/dev/null; then
  echo "Ndiswrapper laeuft bereits...";
else   echo "Ndiswrapper wird gestartet...";
  modprobe ndiswrapper;
  sleep 10;
fi

#Wlan konfigurieren
iwconfig wlan0 essid HeimNetz
iwconfig wlan0 mode auto
iwconfig wlan0 channel 6
iwconfig wlan0 key s:DiesIstDerSchlüssel open
sleep 1

#IP-Adresse konfigurieren
ifconfig wlan0 ip 192.168.1.2 netmask 255.255.255.0
route add default gw 192.168.1.1
echo nameserver 192.168.1.1 > /etc/resolv.conf

#SSH starten
/etc/init.d/ssh start

#Lampp starten
/opt/lampp/lampp start
sleep 1
#MySQL beenden
/opt/lampp/lampp stopmysql
sleep 1

#Samba starten
/etc/init.d/samba.dpkg-new start
sleep 1

Das Script ist eigentlich selbsterklärend, probiere es ruhig mal aus! Du mußt; es natürlich noch an deine Gegebenheiten anpassen. Bei mir heißt das Script "network.sh" und liegt im /opt-Verzeichnis. In meiner "bootlocal.sh" stehen nun nur noch folgende Zeilen:

#!/bin/bash
# put other system startup command here
/sbin/syslogd
loadkeys de
/opt/network.sh

Lediglich die deutsche Tastaturbelegung wird geladen, dann wird auf das "network.sh"-Script verwiesen, welches den Rest erledigt. Sehr bequem, man kann sofort die Freigabe am Windows-Rechner öffnen und mit PHP-Scripting beginnen;-). Ach so, und wie immer gilt natürlich: Sollte es bei dir nicht funktionieren, schick' mir 'ne Mail, evtl. kann ich dir weiterhelfen.



[Home]    [Übersicht Tutorials]    [^ nach oben]