06.
Januar
2012
Eigentlich wollte ich ja wieder eine WLAN-Karte mit Ralink RT2561ST – weil der funktioniert. Eine Edimax EW-7128G wie ich sie schon früher verbaut habe[1]
war leider nicht lieferbar, also habe ich zu einer Edimax EW-7711In gegriffen. Denn schließlicht hat diese angeblich ja auch »Linux Unterstützung«.
Der Kauf sollte sich jedoch zunächst als böser Fehler mit viel Lese- und Arbeitsaufwand anstatt dem erhofften »plug and play« entpuppen. Nach anfänglicher Fehlinformationen und entsprechenden Problemen läuft die Karte jedoch inzwischen problemlos unter Linux Mint[2] 12.
Zunächst sollte überprüft werden, ob bei der gekauften Karte der Chipsatz weiterhin der Ralink RT3060 ist. Dies kann mit lspci
überprüft werden:
lspci | grep Ralink
Als Ausgabe sollte folgende Zeile erscheinen:
03:02.0 Network controller: Ralink corp. RT3060 Wireless 802.11n 1T/1R
Sollte die Karte noch nicht verbaut sein, genügt natürlich auch ein Blick auf den Chip. Auf meiner Edimax EW-7711In ist dort klar und deutlich »RT3060F« zu lesen:
Wenn der Chipsatz passt, sollte auch die folgende Anleitung passen. Zumindest habe ich mit ihr die Karte – Schritt für Schritt – zum Laufen gebracht.
Damit der Ablauf ein wenig strukturierter dargestellt ist, habe ich die einzelnen Schritte durchnummeriert.
1. Treiber herunterladen und Archiv umbenennen
Auf der Produktwebsite von Edimax zur unter dem Namen EW-7711In[3] vertriebenen WLAN-Karte gibt es eine Anleitung als .pdf[4]. Leider hat diese Anleitung – sie ist übrigens für Ubuntu 10.04 geschrieben – ein paar kleinere Fehler (Buchstabendreher) und daher kann es wie in der Anleitung dargestellt gar nicht funktionieren.
Das erste Problem lauert allerdings an ganz anderer Stelle. Die als Version 4.0.0 gekennzeichnete Version des zum Download bereitstehenden Treibers hat eine falsche Dateiendung.
Im Archiv EW-7711IN_2010_07_16_RT3062_Linux_STA_v2[1].4.0.0.tar.bz2(1).zip
ist ein vermeintliches bz2-Archiv mit dem Namen EW-7711IN_2010_07_16_RT3062_Linux_STA_v2[1].4.0.0.tar.bz2
enthalten. Blöderweise ist es nur gzip[5] und nicht bzip2[6] komprimiert.
Wer unter Linux ein Entpackprogramm mit grafischer Oberfläche verwendet, erhält unter Umständen nur Fehlermeldungen, da das Programm anhand der Dateiendung den Typ des Archivs festlegt.
Daher muss die nach dem Herunterladen aus dem .zip extrahierte Datei von .tar.bz2
mit noch falscher Dateiendung in EW-7711IN_2010_07_16_RT3062_Linux_STA_v2[1].4.0.0.tar.gz
umbenannt werden. Danach kann sie auch mit einem Packprogramm mit grafischer Oberfläche ohne Fehlermeldung geöffnet und entpackt werden.
2. Treiber kompilieren und installieren
Die folgenden Schritte basieren darauf, dass die Datei ins Verzeichnis ~/Downloads/
entpackt wurde. Somit lautet der Pfad inklusive Verzeichnisname ~/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/
.
In dieses Verzeichnis soll nun an der Konsole gewechselt werden:
cd ~/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/
Damit der Treiber zusammen mit dem Network-Manager funktioniert, müssen noch zwei Einträge verändert werden. Dies ist auch der Datei README_STA
zu entnehmen, welche sich im soeben Entpackten Verzeichnis befindet. Zunächst muss die Datei config.mk
geöffnet werden:
vim os/linux/config.mk
In dieser Datei die folgenden Einstellungen auf y
abändern und die Datei anschließend speichern:
HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
Anschließend kann make
als Superuser beziehungweise mit Rootrechten ausgeführt werden:
sudo make
Wenn make
erfolgreich abgeschlossen wurde, sollte die Ausgabe wie folgt enden:
[...]
/home/amy/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/os/linux/../../os/linux/
pci_main_dev.c: In function ‘rt2860_probe’:
/home/amy/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/os/linux/../../os/linux/
pci_main_dev.c:330:13: warning: assignment discards ‘const’ qualifier from pointer
target type [enabled by default]
LD [M] /home/amy/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/os/linux/rt3562sta.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/amy/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/os/linux/rt3562sta.
mod.o
LD [M] /home/amy/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/os/linux/rt3562sta.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.0.0-14-generic'
Nun – gemäß Anleitung – noch eine Datei kopieren:
cp RT2860STA.dat RT3070STA.dat
Rootrechte sind nicht erforderlich, da dies nur im aktuellen Verzeichnis mit den entpackten Dateien des Treibers stattfindet.
Anschließend kann der Treiber im System installiert werden:
sudo make install
Auch hier wieder wie die Ausgabe bei erfolgreicher Installation aussehen sollte:
make -C /home/amy/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/os/linux -f Makefile.6
install
make[1]: Entering directory `/home/amy/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/
os/linux'
rm -rf /etc/Wireless/RT2860STA
mkdir /etc/Wireless/RT2860STA
cp /home/amy/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/RT2860STA.dat /etc/
Wireless/RT2860STA/.
install -d /lib/modules/3.0.0-14-generic/kernel/drivers/net/wireless/
install -m 644 -c rt3562sta.ko /lib/modules/3.0.0-14-generic/kernel/drivers/net/wireless/
/sbin/depmod -a 3.0.0-14-generic
make[1]: Leaving directory `/home/amy/Downloads/2010_07_16_RT3062_Linux_STA_v2.4.0.0/
os/linux'
Der Treiber beziehungsweise das Modul sind nun erstellt, aber noch nicht geladen. Die Karte beziehungsweise der Chipsatz wird bisher mit einem anderen Modul in Verbindung gebracht: rt2800pci
. Damit nicht dieses, sondern das neue Modul geladen wird, muss die bisher standardmäßige Auswahl »geblacklistet« werden.
3. Überflüssige Module »blacklisten«
Bisher sind wie schon geschrieben noch die rt2800
-Module geladen. Dies lässt sich per lsmod
überprüfen:
lsmod | grep rt
Die Ausgabe sollte so oder so ähnlich aussehen:
rt2800pci 18715 0
rt2800lib 54538 1 rt2800pci
crc_ccitt 12667 1 rt2800lib
rt2x00pci 14578 1 rt2800pci
rt2x00lib 50325 3 rt2800pci,rt2800lib,rt2x00pci
mac80211 462092 3 rt2800lib,rt2x00pci,rt2x00lib
cfg80211 199587 2 rt2x00lib,mac80211
eeprom_93cx6 12725 1 rt2800pci
parport_pc 36962 1
parport 46562 3 ppdev,parport_pc,lp
Damit dies nicht wieder beim nächsten Systemstart passiert, müssen die Module in eine »Blacklist« eingetragen werden. Die Datei ist mit Rootrechten zu öffnen:
sudo vim /etc/modprobe.d/blacklist.conf
Am Ende der Datei ist nun folgende Zeile einzutragen:
blacklist rt2800pci
blacklist rt2800usb
blacklist rt2x00lib
blacklist rt2x00pci
blacklist rt2x00usb
Nun noch per modprobe
das frisch erzeugte Modul laden:
sudo modprobe rt3562sta
Momentan stehen die geladenen Module in Konflikt zueinander. Jedoch sollte nach einem Neustart das System nun automatisch rt3562sta
als Modul für die WLAN-Karte beziehungsweise den darauf befindlichen Chipsatz laden.
4. Nach dem Neustart
Nachdem der Rechner neu gestartet wurde sollte nun die Karte mit dem neuen Treiber beziehungsweise dem neuen Modul zusammen funktionieren. Ob das richtige Modul geladen wurde kann mit folgenden Aufruf überprüft werden:
lsmod | grep rt3
Die Ausgabe sollte wie folgt aussehen:
rt3562sta 956558 1
Auch der Network-Manager sollte nun wie erwartet die vorhandenen WLAN-Netzwerke anzeigen. Das Aufnehmen einer Verbindung beziehungsweise das Einrichten derselben sollte nun kein Problem mehr darstellen und auch zu keiner »panic« führen.
wicd
und die Folgen
In etlichen Threads wurde als Tipp gegeben man solle wicd
für die Verwaltung der Netzwerke verwenden. Allerdings hatte dieser Tipp keine positive Auswirkung auf die von den Fragestellenden Meldungen »panic occured«. Ganz im Gegenteil: Jeder Aufruf von wicd
wurde auch bei mir mit einem »panic occured« quittiert:
Die eigentliche Problemlösung liegt im oben bereits geschriebenen Abändern der folgenden Werte auf y
:
HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
Anschließend konnte ich wie erwartet und sonst gewohnt die Verbindung zum vorhandenen WLAN aufnehmen. Dies wollte ich auch noch erwähnen, da sonst womöglich noch jemand frustriert mit wicd
an seiner Kiste sitzt.
Abschließend noch ein paar Zeilen zur Karte selbst beziehungsweise dem Lieferumfang der Edimax EW-7711In. Wie schon ganz oben auf dieser Seite zu sehen war, habe ich mir die Karte als Retail-Version gekauft. Ob sie auch »bulk« angeboten wird, ist mir nicht bekannt.
Dementsprechend komplett sieht der Lieferumfang aus.
Die Karte selbst weist keine Besonderheiten auf. Eine klassische PCI-Erweiterungskarte eben.
Die begelegte Antenne kann frei positioniert werden, das Anschlusskabel ist lang genug um sie beispielsweise auf einem Tisch platzieren zu können während der PC am Fußboden steht.
Für Windowsbenutzer liegt natürlich auch eine CD mit Treibern bei. Da auf meinem Rechner kein Windows zum Einsatz kommt, kann ich darüber keine Aussage machen. Aber es ist ja auch ein Beitrag über Linux in Verbindung mit der Karte auf dieser Seite hier...
Nach der Installation der Treiber funktioniert die Netzwerkkarte nun schon ein paar Stunden ohne Ausfall und ohne irgendwelche schwarzen Bildschirmen mit weißen Buchstaben von wegen »panic occured«. Vielleicht ist bei einer der nächsten Kernelversionen bereits der passende Treiber standardmäßig mit dabei, dann entfällt die »Bastelei« und die Karte funktioniert wie eigentlich von mir erhofft mittels »plug and play«.
X_FISH