Ein Kollege wollte letzte Woche seinen Laptop neu aufsetzen und hat mich gefragt, ob es eine Möglichkeit gäbe, die Windows-Installation so zu konfigurieren, dass der Wartungsaufwand möglichst minimal bleibt, da das System nur einen Browser und Media Player bereitstellen soll. Ich habe ihm die neue Windows-Installation dementsprechend konfiguriert und angeboten, parallel Ubuntu zu installieren, damit er beide Betriebssysteme testen kann.
Nach der Ubuntu-Installation wurden augenscheinlich alle Hardware-Komponenten erfolreich initialisiert, aber keine WLANs angezeigt, obwohl die Karte als aktiv gemeldet wurde. Die Lösung war leider nicht ganz so offensichtlich.
Im Sony Vaio VGN-FS415E steckt eine WLAN-Karte von Atheros und zwar folgendes Modell (lspci Ausgabe):
Ethernet controller: Atheros Communications Inc. Atheros AR5001X+ Wireless Network Adapter (rev 01)
Die Ausgabe von dmesg liefert die üblichen Meldungen des Moduls cfg80211 und am Ende folgendes:
ADDRCONF(NETDEV_UP): wlan0: link is not ready
Etwas versteckt ist damit ein Fehler im ath5k-Treiber, der mit dem o.g. Atheros-Chip nichts anfangen kann, gemeint.
An sich war ich der Meinung, dass Probleme mit Atheros-Chipsätzen durch Einführung der ath5k- und ath9k-Treiber schon seit Jahren der Vergangenheit angehören – aber anscheinend ist es dieser eine Chip, der aus dem Raster fällt. Das ist also wieder ein Fall für den madwifi-Treiber.
Dieser Treiber wurde nicht umsonst mehr oder weniger in Rente geschickt bzw. nie in den offiziellen Kernel übernommen, da er z.T. proprietäre Komponenten enthält. Leider ist in der aktuellen Ubuntu-Version 11.04 „Natty Narwhal“ auch kein Paket linux-restricted-modules-generic (mit dem der madwifi-Treiber bisher installiert werden konnte) mehr enthalten. Den Treiber selbst zu bauen hat den Nachteil, dass mit dem nächsten Kernel-Update wieder das gleiche Problem besteht, da der Treiber für diesen nicht automatisch neu gebaut wird.
Der madwifi-Treiber hat zudem noch ein weiteres Problem: wird der Laptop in den Standby geschickt (Suspend mode) und danach wieder aufgeweckt, funktioniert das WLAN nicht mehr. Die Lösung dazu findet sich in einem Bugthread auf launchpad.net.
Um das Problem nun praktisch zu erschlagen, heißt die Lösung „DKMS“. DKMS baut selbstständig Treiber bei einem Kernelupdate neu. Ironischerweise habe ich mich mit diesem Problem zuletzt im Dezember 2008 bei einem ähnlichen Problem beschäftigen müssen. Eine Google-Suche nach „madwifi dkms“ fördert als zweiten Treffer diesen Beitrag von mir (!) im ubuntuusers.de-Forum zu Tage. Schon etwas originell, dass seitdem nichts passiert ist.
Da ich selbst nichts entsprechendes gefunden habe, habe ich mich entschlossen selbst ein DKMS-Paket für madwifi in einem PPA zur Verfügung zu stellen.
Dazu zuerst mein PPA hinzufügen:
$ sudo add-apt-repository ppa:mario-fischer/ppa $ sudo apt-get update
Und das Paket madwifi-dkms installieren:
$ sudo apt-get install madwifi-dkms
In diesem Paket ist das Standby-Problem übrigens schon behoben worden.
Viel Spaß damit 🙂
Dieser Post ist auch verfügbar auf: Englisch