Archiv/wpa supplicant (Breezy)/MadwifiDHCP

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.


Anmerkung: In Ubuntu 6.06 ist diese Anleitung überflüssig, da die Fehler in den betroffenen Softwarepaketen behoben worden sind.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Installation von Programmen

  2. ⚓︎ Bearbeiten von Paketquellen

  3. ⚓︎ Ein Terminal öffnen

Inhaltsverzeichnis
  1. Benötigte Paketquellen
  2. wpa_supplicant patchen
  3. Kompilieren
  4. Installation
  5. Aufräumen
  6. Literaturhinweise

Unter Breezy (und eventuell anderen Distributionen) besteht ein Konflikt zwischen wpa_supplicant und den madwifi Treibern. Dieser Konflikt sorgt dafür, dass man mit wpa_supplicant zwar eine Verbindung zum AP/Router bekommt, jedoch keine IP Adresse per DHCP zugewiesen bekommt. Es ist zwar möglich statische IP Adressen zu benutzen, jedoch lässt sich das Problem leicht beheben. Man kann entweder die madwifi Treiber, oder wpa_supplicant patchen und neu kompilieren. Da letzteres weniger Aufwand bedeutet wird diese Methode hier beschrieben.

Benötigte Paketquellen

Es muss der madwifi-Treiberwrapper von wpa_supplicant modifiziert werden. Dazu braucht man sowohl die Quellen von wpa_supplicant als auch von madwifi. madwifi ist Teil der linux-restricted-modules. Da die Quellen in Ubuntu nicht seperat erhältlich sind, müssen leider die Quellen des gesamten Paketes geladen werden (knapp 80MB). Zusätzlich braucht man libssl-dev und die standard Kompilerwerkzeuge.

 sudo apt-get install build-essential libssl-dev
 cd /tmp
 mkdir wpa
 cd wpa
 apt-get source wpasupplicant linux-restricted-modules-`uname -r` 

Es werden direkt zwei Verzeichnisse angelegt. Da aus den linux-restricted-modules nur die madwifi Quellen gebraucht werden, verschiebt man das Verzeichnis von madwifi und löscht den Rest.

 mv linux-restricted-modules-<???>/madwifi .
 rm -r linux-restricted-modules-<???> 

Das <???> ist durch die tatsächliche Version zu ersetzen. In /tmp/wpa sollten sich jetzt nur die Verzeichnisse madwifi und wpasupplicant-0.4.5 befinden (und ein paar Dateien, die nicht gebraucht werden).

wpa_supplicant patchen

Im Wrapper für den madwifi Treiber muss eine kleine Änderung vorgenommen werden.

 cd wpasupplicant-0.4.5
 gedit driver_madwifi.c 

In Version 0.4.5 bedindet sich der zu ändernde Eintrag in Zeile 218. Nach der Änderung muss diese Zeile so aussehen:

wk.ik_flags = IEEE80211_KEY_RECV | IEEE80211_KEY_GROUP;

Abspeichern und weiter geht es.

Kompilieren

Zuerst muss wpa_supplicant für das Kompilieren konfiguriert werden. Zum Glück gibt es eine Vorlage:

 cp defconfig .config
 echo "CFLAGS += -I../madwifi/" >> .config
 echo "CONFIG_DRIVER_MADWIFI=y" >> .config 

Das Kompilieren wird als root gemacht, so dass die Rechte gleich richtig gesetzt sind.

 sudo -s -H
 make 

Falls es hier Probleme gibt, auf die Fehlermeldungen achten und entsprechende Pakete nachinstallieren. Bitte auch im Forum melden, so dass die o.a. Liste aktualisiert werden kann.

Installation

Weiterhin als root macht man nun ein Backup der alten wpasupplicant Datei und ersetzt sie durch die neue.

 mv /usr/sbin/wpa_supplicant{,.bak}
 cp wpa_supplicant /usr/sbin/ 

Jetzt müsste alles funktionieren. Wenn man WPA nach der Anleitung hier im Wiki (WLAN/wpa supplicant) eingerichtet hat, dann sollte ein einfaches ifup ath0 eine Verbindung zum AP und ein DHCP lease bringen.

Aufräumen

Wenn alles funktioniert, können die Dateien, die unterwegs geladen oder erstellt wurden, gelöscht werden.

 cd /tmp
 rm -r wpa
 exit 

Literaturhinweise

Hinweis:

Falls eine neue Version des Madwifi Treibers durch ein eventuelles Security Update eingespielt wird, sollte dieses nicht mit den Änderungen in wpasupplicant kollidieren. Im umgekehrten Falle: Eine neue Version von wpasupplicant macht natürlich alle Änderungen zunichte. Es ist zu hoffen, dass in diesem Fall die Probleme in wpasupplicant behoben wurden und ein Update keine Probleme mit sich bringt. Falls doch, muss die hier beschriebene Prozedur wiederholt werden.