ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.
WikiWLANMadWifi

MadWifi

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Madwifi {en} ist das Treiberprojekt für Atheros Chip-basierende WLAN-Karten, deren Anleitung für Ubuntu {en} im Netz verfügbar ist. Der Treiber unterstützt nicht nur den normalen Client-Modus, sondern auch einige andere nette Features wie virtuelle Interfaces. Damit kann man bspw. eine WLAN-Verbindung (z.B. zu einem Hotspot im Flughafen) aufbauen und über die gleiche WLAN-Karte einen eigenen Access-Point anbieten, um diese Verbindung weiterzureichen.

In den meisten Fällen sind die offenen Treiber ath5k und ath9k vorzuziehen. Diese sollten automatisch genutzt werden. Gerade bei älteren Chipsätzen, wie dem AR5001, erreicht man mit den MadWifi-Treibern allerdings eine deutlich bessere Verbindungsqualität.

Installation

PPA

Es gibt ein PPA, dass den MadWifi-Treiber als DKMS-Treiber einbindet, was den großen Vorteil mit sich bringt, dass der Treiber bei jedem Kernel-Update automatisch neu kompiliert wird. [8] Leider ist das PPA aber erst ab Ubuntu 12.04 (Precise Pangolin) verfügbar.

Adresszeile zum Hinzufügen des PPAs:

  • ppa:smoser/madwifi

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team smoser.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Nach dem Aktualisieren der Paketquellen kann das folgende Paket installiert [1] werden:

  • madwifi-dkms (ppa)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install madwifi-dkms 

sudo aptitude install madwifi-dkms 

Der neue Treiber muss nun noch mit Jockey aktiviert werden [9].

Will man den Treiber ohne Neustart nutzen müssen zuvor genutzte Module entfernt werden und das MadWifi-Modul manuell geladen werden. Zuerst muss man heraus finden, welches Modul gerade genutzt wird: [3]

lsmod | grep ath 

Im Folgenden muss <ath> durch das Ergebnis ersetzt werden. (ath5k oder ath9k)

Danach muss das soeben ermittelte Modul entfernt werden:

sudo rmmod <ath> 

Und schließlich das neue MadWifi-Modul geladen werden:

sudo modprobe ath_pci 

Manuell

Will man das PPA nicht nutzen, oder nutzt man eine ältere Version als Ubuntu 12.04 (Precise Pangolin), so muss der Treiber für neuere Ubuntu-Versionen zwangsläufig selbst kompiliert werden. Ab Ubuntu 10.04 (Lucid Lynx), muss auch noch HAL nachinstalliert werden [1]:

  • hal

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install hal 

sudo aptitude install hal 

Zum Kompilieren eines Kerneltreibers braucht man außerdem die folgenden Pakete:

  • build-essential

  • linux-headers-generic (der Rechnerarchitektur entsprechend, [5])

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install build-essential linux-headers-generic 

sudo aptitude install build-essential linux-headers-generic 

Nun lädt man die aktuellste Version der Treiber herunter, kompiliert und installiert diese. Das Kompilieren und Installieren muss nach jedem Kernel-Update wiederholt werden. Daher empfiehlt es sich den Sourcecode des Kernelmoduls in einem Verzeichnis wie ~/.source zu behalten. In einem Terminal gibt man folgendes ein:

mkdir -p $HOME/.source
cd $HOME/.source
wget http://snapshots.madwifi-project.org/madwifi-0.9.4-current.tar.gz
tar xzf madwifi-0.9.4-current.tar.gz
cd madwifi-0.9.4-r*
make && sudo make install 

Zur Aktivierung der neuen Treiber (und Deaktivierung der ath5k/ath9k-Treiber) nutzt man am besten jockey, welches über "System -> Systemverwaltung -> Hardware-Treiber" erreichbar ist. Sollte dieses aus irgendeinem Grund nicht klappen, muss man von Hand die Kernelmodule ath5k bzw. ath9k blacklisten und dafür sorgen, dass ath_pci nicht geblacklistet ist.

Nach Kernel-Update

Nach einem Kernel-Update wird der madwifi-Treiber in der Regel nicht mehr funktionieren und muss neu kompiliert werden. Dies geht - wenn man dem Tip von oben gefolgt ist - ganz schnell im Terminal:

cd $HOME/.source
make clean && make && sudo make install 

Nun kann man den Treiber mit

sudo modprobe ath_pci
sudo restart networking 

laden. Alternativ kann man natürlich auch Ubuntu neu starten.

Besonderheiten an madwifi

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Das Besondere an dem neuen madwifi ist, dass es ein direktes Hardwareinterface bereitstellt, welches wifi0 (für die 1. Karte, wifi1 für die 2. usw.) heißt und auf diesem erst die normalen Interfaces hinzufügt. Diese Interfaces heißen dann normalerweise ath0, ath1, ...!

Interface einrichten

Als erstes muss das "alte" Interface entfernt werden [3]

wlanconfig ath0 destroy 

dann kann man ein neues hinzufügen. Der Befehl für das Interface für den Client-Modus lautet:

wlanconfig ath0 create wlandev wifi0 wlanmode sta 

der für den Access-Point-Modus:

wlanconfig ath0 create wlandev wifi0 wlanmode ap 

und für den Monitor-Modus:

wlanconfig ath0 create wlandev wifi0 wlanmode monitor 

So lassen sich auch mehrere virtuelle Interfaces (ath1, ath2, usw.) einrichten. Setzt man eines davon in den client-mode und ein weiteres in dan ap-mode, kann man über eine Netzwerkbrücke und mit hostapd die WLAN-Verbindung über einen Access-Point auf der gleichen Karte weiterreichen.

Man kann bspw. dafür sorgen, dass die benötigten virtuellen Interfaces beim Systemstart erzeugt werden, indem man sie wie oben angegeben in der Datei /etc/rc.local erzeugt. Dann reicht es über den Network-Manager eine Verbindung aufzubauen und danach einen Access-Point zu starten.

ubuntuusers.local › WikiWLANMadWifi