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.
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