Startseite LUG Untermain

Startseite
 
Über uns
Stammtisch
 
Über Linux
SW-Patente
Rezensionen
 
Mailingliste
Online-Mail-Archiv
 
LUG-IRC Channel
LUG-IRC Statistik-NEU-
 
Gästebuch
 
Arbeitsgruppen
Softwaredownloads
Vorträge
FAQ & Hints
HOWTOs
Doku-Wiki -NEU-
 
LUG-Kalender
Links
 
Blog
LUGUM-Planet


hosted by
logo

User-Bereich
(passwortgeschützt)
Passwort vergessen?
148 Mitglieder

Anmelden - HIER -







FAQ's und Hints


Wie verwende ich einen USB WLAN Adapter D-Link DWL-122 in Debian Sarge?

Nun, diesmal heisst das Ziel: den USB WLAN Adapter "DWL-122" unter Debian Sarge zum Laufen zu bringen.

Warum USB?
Solch ein Modul hat m.E . zum einen variablere Einsatzmöglichkeiten, da ich es sowohl an einem Notebook wie auch an einem Desktop/Tower-System verwenden kann und nicht auf eine Bauweise PCMCIA oder PCI beschänkt bin, und zum anderen ist im Notebook kein PCMCIA-Steckplatz belegt.

Warum die D-Link DWL-122?
Das Teil wollte ich ja nicht nur unter WinXP, sondern auch und insbesondere unter Linux einsetzen. Fleissiges Googlen brachte einen Verweis auf www.linux-wlan.org hervor, eine Firma namens AbsoluteValue Systems, die explizit Treiber in Sourceform für GNU/Linux liefert. Dort gibts auch eine Compatibility List, die a) hervorragenden Eindruck macht und b) ausdrücklich die DWL-122 als supportet für die angebotenen Treiber linux-wlan-ng nennt. (Die Site kann ich nur empfehlen.) Das las sich vielversprechend. Ausserdem sollen die linux-wlan-ng demnächst zum Standardumfang von Debian kommen. So weit, so gut, aber Theorie und Webpages sind geduldig....

Rahmen für die Installation:
Basis für die Installation und damit diese Beschreibung ist folgender technische Rahmen: Wireless Access Point D-Link DWL 700AP, an einem Netgear WebSafe Router mit der IP 192.168.0.1, Default IP 192.168.0.50 für den Access Point, Debian GNU/Linux Sarge mit Kernel 2.4.22-bf2.4
Getestet war der USB WLAN Adapter in Funktion mit dem AP schon unter WinXP, so dass über die grundsätzliche Funktionalität Sicherheit bestand.
Sicherheit sollte auch bestehen, dass USB mal grundsätzlich schon geht: bei mir sind z.B. wegen USB-Mouse und USB Memorystick schon folgende Module geladen und per lsmod
ersichtlich: usbcore, usb-uhci, ehci-hcd, usb-storage, usbkbd, usbmouse, hid, pci-hotplug.

Vorgehen:
Grundlage ist das Vorliegen der Kernelquellen, bei mir also kernel-source-2.4.22 und kernel-headers-2.4.22-bf2.4 im Verzeichnis /usr/src/, mit einem entsprechenden symlink für /usr/src/linux und ein installiertes Paket kernel-tree-2.4.22.

Verwendet wurden die Version der Sourcen linux-wlan-ng-0.2.1-pre17.tar.bz2.

Ein sehr guter Leitfaden schlechthin für die Installation ist die dortige Readme. Auch wenn sie in Teilen auf RedHat ausgerichtet ist, dennoch 1a.
Aus den Quellen kann man Treibermodule für PCMCIA mit Prism2/2.5/3-Chip erzeugen, oder auch für USB mit Prism2-Chip. Im DWL-122 steckt der Prism2-Chip, und USB war ja auch das Ziel.

Entpacken der Sourcen in /usr/src. Legt ein Verzeichnis linux-wlan-ng-0.2.1-pre17 an mit Quellen für add-on-tools, manpages, docfiles, rc.wlan-scripts, scripts, und schliesslich den Treiberquellen.

Ein Wechsel unter root in das Verzeichnis linux-wlan-ng-0.2.1-pre17,
dort make config ausführen, den Hinweisen der Readme folgen, ergibt folgende Ausgabe am Schirm:

debian-sarge:/usr/src/linux-wlan-ng-0.2.1-pre17# make config
 
-------------- Linux WLAN Configuration Script -------------
 
The default responses are correct for most users.
 
Build Prism2.x PCMCIA Card Services (_cs) driver? (y/n) [y]: n
Build Prism2 PLX9052 based PCI (_plx) adapter driver? (y/n) [n]: n
Build Prism2.5 native PCI (_pci) driver? (y/n) [n]: y
Build Prism2.5 USB (_usb) driver? (y/n) [n]: y
 
Linux source directory [/usr/src/linux]:
 
The kernel source tree is version 2.4.22-bf2.4.
The current kernel build date is Sat Nov 8 21:13:39 2003.
 
Alternate target install root directory on host []:
Module install directory [/lib/modules/2.4.22-bf2.4]:
 
It looks like you have a System V init file setup.
 
 
Prefix for build host compiler? (rarely needed) []:
 
Build for debugging (see doc/config.debug) (y/n) [n]: n
 
 
Configuration successful.



Sehr schön. Nächste Schritte:

make all
(typischerweise mit einem Runterrauschen enorm vieler Meldungen...)
make install

Damit waren Kernel-Treibermodule in neuen Verzeichnissen
/lib/modules/2.4.22-bf2.4/usb (nämlich das Ziel der Mühe, prism2_usb.o), und
/lib/modules/2.4.22-bf2.4/net erzeugt (die braucht man aber m.E. gar nicht)

Mittels modconf als root auf der Kommandozeile kann man dann direkt, ganz unten in der Liste unter usb das Modul prism2_usb.o auswählen und installieren.
Vorsichtshalber mal update-modules und depmod gemacht. (Bin mir nicht ganz sicher, ob das hier notwendig war..)

Unter /etc/wlan/ werden neue conf-files angelegt. Die erste, wlan.conf editieren und bei SSID_wlan0="MyHomeNetwork" die eigene SSID eintragen. Die zweite, wlancfg-DEFAULT zu einer wlancfg-MyHomeNetwork kopieren (MyHomeNetwork durch den SSID. Namen ersetzen natürlich) und nach eigenen Verhältnissen anpassen (WEP, opensystem vs. sharedkeys)

In die /etc/modules.conf an die Stelle für insmod/modprobe folgende Zeile hinein:
alias wlan0 prism2_usb

Manuell erstmal folgende Sequenz aus der Readme nachvollzogen:
FOR USB USERS:

A) Make sure your kernel usb support is running
B) Plug in the Prism2.x USB device
C) Run 'modprobe prism2_usb prism2_doreset=1' to load the driver into memory.
D) Run 'wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable' to initialize the driver+MAC functions.
E) Run 'wlanctl-ng wlan0 lnxreq_autojoin ssid=<your ssid> authtype=opensystem' to enable the MAC in Infrastructure Station mode.
F) Run 'ifconfig wlan0 <your IP address>' 

Und schwupp, war die wlan0 mit ifconfig zu sehen !

Mit ifdown eth0 die Standard-Ethernet-Interface deaktiviert (weil beide gleichzeitig issnich) , und schon gingen die ersten pings durch !

Na, DASS ging ja mal wirklich recht reibungslos !!

Im Nachhinein noch in das script /etc/init.d/bootmisc.sh folgende Zeilen, angepasst mit meinen Werten für's Netzwerk, aufgenommen:
modprobe prism2_usb
wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable
wlanctl-ng wlan0 lnxreq_autojoin ssid=<your APs SSID> authtype=opensystem
ifconfig wlan0 192.168.0.20 netmask 255.255.255.0 broadcast 192.168.0.255
route add default gw 192.168.0.1

Das war's.

Axel Burwitz

Nächster Stammtisch
Sa 7.8.10
Ernst-Klug-Haus, Goldbach


Disclaimer
Impressum


News
- Brüsseler Datenbank-Bestandsaufnahme lobt Vorratsdatenspeicherung
 
- FBI soll leichter auf Nutzerspuren im Netz zugreifen dürfen
 
- Apps telefonieren nach Hause
 
- IETF will Standardisierung beschleunigen
 
- France Telecom meldet Umsatz- und Gewinnrückgang
 
- Software AG mit Umsatz- und Gewinnsprung
 
- Bundesnetzagentur greift gegen Telefonwerber durch
 
- Nintendo schreibt rote Zahlen
 
- Geldautomaten schlecht gesichert
 
- &quot;Mehr IPv4-Adressen, bitte!&quot;