Hauke's Homepage

Linux Tutorial für die DWL-G520 und DWL-G650

Eine Liste mit allen unterstützen Karten ist unter: http://madwifi.org/wiki/Compatibility zu finden.

Dieses Tutorial beschäftigt sich mit dem madwifi Treiber für Linux und unterstützt zur Zeit:

WEP, WPA, WPA2 ( 802.11i ), Host AP und Virtuelle LAN-Karten

Er ist für alle Atheros-basierten Karten mit folgenden Chips geeignet: AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413 (mit lspci kann man nachgucken welchen Chipsatz die WLAN Karte hat)

Dieses Tutorial sollte auf allen Distributions wie z.B. Suse, Debian, Ubuntu, Gentoo, usw. laufen.

Vor der Installation wird noch Software benötigt, damit sich der Treiber kompilieren lässt. Diese Software sollte man mit den Distributioneigenen Tools installieren wie Yast, apt-get, portage, usw. Also wir brauchen dann einmal eine komplette Build-Umgebung (gcc, make, die Kernel-Sourcen) und dann noch sharutils.

So ich habe hier mal aufgelistet, was bei den einzelnen Distributions nach einer Standartinstallation noch fehlen müsste:

  • Gentoo: sharutils (Installation mit: emerge sharutils )
  • Suse: kernel-sources, gcc, make, sharutils (kann man über Yast -> Software hinzufügen installieren)
  • Fedora Core: kernel-devel, sharutils
  • Debian: module-assistant und sharutils (mit apt-get install module-assistant sharutils installieren)
  • Ubuntu: module-assistant und sharutils (mit apt-get install module-assistant sharutils installieren)
  • Mandriva: kernel-sources, gcc, make, sharutils

Wenn das jetzt alles installiert ist hat hat man zwar noch gar nichts mit dem eigentlichen Treiber gemacht, sich aber schon eine vollwertige Build-Umgebung geschaffen, die man vielleicht auch noch für andere Software benötigt.

So dann fangen wir jetzt mit der eigentlichen Installation an dazu laden wir als erstes den Treiber von der Webpage, wenn eine Internetverbindung besteht, sonst müsst ihr den Treiber anderes auf den entsprechenden PC bringen (z.B. mit einer CD oder mit einem Windows, das eine Verbindung zum Internet hat und auch auf dem PC installiert ist.

Ich beziehe mich hier auf die Version 1692 es wird mit einer älteren oder neueren Version des Treiber höchstwahrscheinlich auch funktionieren und ich werde das Tutorial auch öfters mal auf neuere Version anpassen.

Alle Befehle werden auf der Konsole, die findet ihr, wenn ihr KDE benutzt unter K->Terminal-Sitzungen->Befehlsfenster, ausgeführt und sind daher auch ohne grafische Bedienoberfläche ausführbar.

Zum Downloaden nehmen wir wget (wenn keine Internetverbindung besteht dann müsste ihr den Treiber anderes auf den PC bringen und dann in das entsprechende Verzeichnis wechseln und dort weitermachen):

wget http://www.hauke-m.de/fileadmin/madwifi/madwifi-0.9.3.3.tar.gz

Dann wird er entpackt mit tar (das x steht für entpacken, das z für ein tar.gz Archiv und das f für eine Datei):

tar xfz madwifi-0.9.3.3.tar.gz

Jetzt müsste ihr in das Verzeichnis wechseln mit:

cd madwifi-0.9.3.3/

Für die nächsten Schritte sind root-Rechte erforderlich, da wir änderungen am System vornehmen müssen und normale Benutzer dazu richtigerweise nicht die Berechtigungen haben

su
Password: <euer root Passwort>

Als nächstes führen wir vorsichtshalber erstmal ein paar Befehle aus, die alte Versionen dieses Treiber deinstallieren, damit sie nicht in den Konflikt mit dieser Version treten.

Als erstes deaktivieren wir dann die einzelnen Madwifi WLAN Karten (sollte es hier zu Fehlermeldungen kommen einfach ignorieren):

ifconfig ath0 down

ifconfig wifi0 down

Und dann führen wir noch 2 Scripte aus, die alle alten Version des Treiber deinstallieren.

Dazu wechseln wir als erstes in das Scriptverzeichnis

cd scripts/

sh madwifi-unload.bash

sh find-madwifi-modules.sh /lib/modules/

Jetzt kommen wir zum bauen des Treibers und dazu wechseln wir wieder zurück ins Hauptverzeichnis des Treibers mit

cd ..

und kompilieren dort den Treiber mit

make

Der nächste Schritt wird den Treiber in die entsprechenden Verzeichnisse packen damit er als Kernel-Modul geladen werden kann und die Tools auch alle zur Verfügung stehen.

make install

Jetzt muss der Treiber noch als Modul in den Kernel geladen werden, und dann wird Linux die WLAN-Karte ganz normal wie jede andere Karte erkennen.

modprobe ath_pci

Der Treiber wurde zum gerade laufenden Kernel gebaut, wenn der Kernel mal geupdatet werden sollte, dann muss der WLAN-Karten Treiber erneut kompiliert und installiert werden.

Ab Version 1407 wird automatisch, wenn der Treiber geladen wird eine Virtuelle W-LAN Karte im Stationsmodus erstellt, wenn ein älterer Treiber verwendet wird oder man sich zu 2 APs verbinden will oder selber einen AP aufmachen will dann muss man das mit wlanconfig machen. Um z.B. eine Virtuelle W-LAN-Karte ath0 im Stationsmodus ( sta ) zu erstellen gibt man folgendes ein (bei dieser hier beschriebenen Version des Treibers wird das automatisch beim Laden des Moduls ausgeführt).

wlanconfig ath0 create wlandev wifi0 wlanmode sta

Jetzt existiert eine ganz normale W-LAN-Karte namens ath0 die man auch ganz normal mit den Distributioneigenen Tools wie z.B. Yast konfigurieren kann. Ich beschreibe hier aber die Konfiguration die mit jeder Distribution über die Konsole funktioniert.

Dazu müssen wir noch einige Kommandos eingeben und es sollte dann alles Funktionieren.

Als erstes stellen wir die W-LAN Einstellungen ein: (ihr müsst die Variablen durch die SSID bzw. den WEP-Key eures WLANs ersetzen.(ohne "<" und ">")) Der Modus muss immer explizit mit angegeben werden!
Die ESSID darf KEINE Sonderzeichen sondern nur Zeichen von a-z und 0-9 enthalten!

iwconfig ath0 mode managed essid <SSID> key "<WEP-Key>" open channel <Kanal>

Ich gehe jetzt davon aus, dass der Nameserver und das Gatway unter der IP-Adresse 192.168.0.1 liegen und die W-LAN-Karte die IP-Adresse 192.168.0.2 bekommen soll wenn das in eurem LAN nicht der Fall sein sollte müsst ihr das ändern.

ifconfig ath0 192.168.0.2 netmask 255.255.255.0

route add default gw 192.168.0.1 ath0

Dann müsst ihr in die /etc/resolv.conf den Nameserver eintragen. Dazu fügt ihr das hier in die /etc/resolv.conf :

nameserver 192.168.0.1

Und dann muss das Interface noch aktiviert werden:

ifconfig ath0 up

So jetzt sollte die WLAN-Karte fertig eingerichtet sein. Ihr könnt das mit einem ping kontrollieren

ping www.google.de -c 4

Wenn der ping geht dann habt ihr die W-LAN karte fertig installiert und könnt lossurfen.

Jetzt sind diese Einstellungen (Punkte mit iwconfig, ifconfig und route) aber nicht dauerhaft, also sie werden nach einem neustart nicht übernommen also empfehle ich die W-LAN-Karte nach den Anleitungen die der Distribution beiliegen zu installieren.

Dann müsste ihr noch das Kernel-Modul in die /etc/modules.autoload.d/kernel-2.6 einfügen, damit es bei jedem Start mit geladen wird.

echo ath_pci >> /etc/modules.autoload.d/kernel-2.6

Zur dauerhaft Konfiguration lesen sie das hier für Gentoo.

Bei Debian und Ubuntu müsst ihr in der Datei /etc/network/interfaces folgende Wireless-Einträge für die Verbindung zu einem mit WEP gesicherten Access Point machen:

wireless-mode managed
wireless-keymode open
wireless-channel <Kanal>
wireless-essid <SSID>
wireless-key <WEP-Key>

(Danke Jürgen Beckmerhagen)

Bei Fedora Core 5 (vielleicht gehen auch andere Versionen) müsst ihr in der Datei /etc/sysconfig/network-scripts/ifcfg-wlan0 folgende Wireless-Einträge für die Verbindung zu einem mit WEP gesicherten Access Point machen:

# WIRELESS [madwifi]
DEVICE=ath0
HWADDR=XX:XX:XX:XX:XX:XX
ONBOOT=[yes|no]
TYPE=wireless
ESSID='<ssid>'
MODE=[managed|ad-hoc]
CHANNEL=<kanal> KEY="<wep-key>"
KEYMODE=[open|restricted]
BOOTPROTO=[static|dhcp]
# Wenn BOOTPROTO=dhcp, faellt der Rest natuerlich weg
IPADDR=<host-ip> DOMAIN=<domain> NETMASK=<netmask> GATEWAY=<gateway-ip></gateway-ip></netmask></domain></host-ip></wep-key></kanal></ssid>

(Danke Sebastian Schmieschek)

Wenn ihr euren Kernel selber Compiliert habt dann müsst ihr euch sicher sein, dass ihr diese Features mit in den Kernel compiliert habt:

Loadable module support
[*] Enable loadable module support
[*] Module unloading
[*] Automatic kernel module loading
Device Drivers
[*] Networking support
Wireless LAN (non-hamradio) --->
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions

Ich würde mich freuen, wenn mich noch Leute unterstützen würden mit Informationen zu anderen Distribution, da ich nur Gentoo habe und deswegen keine genaueren Informationen zu anderen Distribution geben kann.

Bei Fragen, Anregungen oder Problemen mit dem Tutorial macht einen Öffnet einen externen Link in einem neuen FensterThread im Forum auf.

Weitere Informationen und Links:
Seite des Madwifi Projekts
Englische Anleitung für die Installation