Archiv/WLAN/Ralink alt

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.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Ein Terminal öffnen

  2. ⚓︎ Archive entpacken

  3. ⚓︎ Einen Editor öffnen

  4. ⚓︎ Umgang mit Kernelmodulen (Treibern)

  5. ⚓︎ Pakete aus dem Quellcode erstellen

  6. ⚓︎ Restricted-Modules Linux-Headers: welche Version?

  7. ⚓︎ Installation von Programmen

Hinweis:

In den Beispielkonfigurationen wird von der Standardbezeichnung des Ralink WLAN-Gerätes ra0 ausgegangen. Man sollte vorher mit dem Befehl 'iwconfig' prüfen, ob dies auch dem eigenen System entspricht und ggf. anpassen. Mit Gutsy ist der Gerätename häufig wlan0.

Inhaltsverzeichnis
  1. RT24xx / RT25xx
  2. RT2570
  3. RT61
  4. RT73
  5. RT28xx
  6. RT2860STA und Draft-N
  7. Problemlösung
  8. Links

Die Ralink WLAN Treiber wurden vom Hersteller unter der GNU GPL freigegeben und in einem Community-Projekt weiter gepflegt. Es gibt pro Chipsatz zwei verschiedene Varianten:

Die legacy driver unterstützen jedoch weder HostAP noch wpa_supplicant und laufen unter neuen Kernel-Versionen mit SMP-Unterstützung noch nicht stabil.

Aktuelle Treiber für die Chipsatzvarianten RT24xx, RT25xx, RT61 und RT73 sind im Treiberprojekt Linux Wireless enthalten und können ab ubuntu 8.04 installiert werden.

⚓︎ ⚓︎

RT24xx / RT25xx

Ab Ubuntu 8.10 arbeitet der Kernel-Treiber rt2500pci problemlos mit dem Standard-Network-Manager. Es werden nun auch statische IP sowie unterdrückte ESSID unterstützt. Die weiteren Ausführungen beziehen sich auf ältere Ubuntu-Versionen.

Die seit Breezy Badger 5.10 im Kernel enthaltenen Treiber für Ralinkchipsätze der 24xx/25xx-Serie arbeiten bei der WPA-Verschlüsselung nicht mit wpa_supplicant. Die WPA-Einstellungen müssen direkt in der /etc/network/interfaces vorgenommen werden. Für DHCP sähe dies z.B. so aus:

auto ra0
iface ra0 inet dhcp
pre-up ifconfig ra0 up
pre-up ifconfig ra0 down
pre-up ifconfig ra0 up
pre-up ifconfig ra0 down
pre-up iwconfig ra0 essid xxxxxx
pre-up iwconfig ra0 mode managed
pre-up iwpriv ra0 set AuthMode=WPAPSK
pre-up iwpriv ra0 set EncrypType=TKIP #AES
pre-up iwpriv ra0 set WPAPSK=xxxxxxxxxxxxxxxxxxx
pre-up ifconfig ra0 up

Alternativ kann die WPA-Verschlüsselung durch Editieren [4] der Datei rtXXXXSTA.dat erfolgen, wobei XXXX der Chipbezeichnung entspricht. Die Datei befindet sich jeweils mit einer README-Anleitung in den Treiberpaketen von Ralink 🇬🇧 oder dem rt2x00-Projekt 🇬🇧 .

Das in neueren Versionen (z.B. Edgy Eft) mitgelieferte Modul rt2x00pci arbeitet wieder mit wpa_supplicant, die /etc/network/interfaces kann z.B. so aussehen, wenn man sich fest per WPA2 mit einem Access Point verbinden will:

auto ra0
iface ra0 inet dhcp
        wpa-essid XXXXXXXXXXXXX
        wpa-proto WPA2
        wpa-scan_ssid 1
        wpa-key_mgmt WPA-PSK
        wpa-psk XXXXXXXXXXXXXXXXXXXXXX

Die Kernel-Module rt2500pci, rt2x00pci und rt2x00lib sind ab Ubuntu 7.10 in Verbindung mit WPA-Verschlüsselung sehr instabil und daher nicht zu empfehlen. Man sollte die 3 Module auf die /etc/modprobe.d/blacklist setzen und entweder das alte Modul rt2500 installieren (siehe unten auf dieser Seite) oder NdisWrapper verwenden, wobei letzteres keine Nachteile wie z.B. Geschwindigkeitsverlust mit sich bringt. Auch der Network-Manager sollte deaktiviert bzw. deinstalliert werden.

In einzelnen Fällen kann es helfen, die Tx Rate für das WLan Gerät von Hand einzustellen. Auch dazu muß der Network-Manager deinstalliert werden und /etc/network/interfaces von Hand geändert werden.

auto wlan0
iface wlan0 inet dhcp
pre-up iwconfig wlan0 rate 54M
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Die Einstellungen für die /etc/wpa_supplicant/wpa_supplicant.conf kann man bei wpa_supplicant nachlesen.

⚓︎

RT2570

Die Treiber sind bereits im Kernel enthalten.

Wer Probleme hat, kann versuchen die aktuelle Entwicklerversion selber zu kompilieren: HOWTO: Ralink RT2570 usb wireless driver 🇬🇧

⚓︎

RT61

Der RT61 Chipsatz von Ralink wird vornehmlich in günstigeren WLAN-Karten eingesetzt. Seit Intrepid Ibex läuft er "out of the box", so daß keine der u.a. Anpassungen mehr nötig sein dürften.

RT73

Unter 8.04 Hardy Heron gibt es teilweise Probleme mit der Erkennung des Chips, welche auch nicht wie für 7.10 beschrieben gelöst werden können. Abhilfe schaffen die Treiber von SerialMonkey (Download ⮷ ). Die Treiber, welche von Ralink direkt angeboten werden, scheinen Probleme zu bereiten, was zu Systemabstürzen führen kann, sobald eine Verbindung mit dem wlan-Stick hergestellt wird. Genaue Installationsanleitung findet sich im Forum 🇩🇪 .

RT28xx

Mit Ubuntu 9.10 läuft der Treiber (getestet mit RT2860) "out of the Box" allerdings nur mit 54 Mbit/s.

Für WLAN PCI-Netzwerkkarten oder USB-Sticks mit RT2860, RT2870 und RT3070 Chipsatz sind seit Ubuntu 8.10 Treibermodule, da in der Entwicklung allerdings noch im Staging-Zweig des Kernels, enthalten.

Sollte der WLAN-Treiber nicht automatisch laden, muss der Treiber rt2860 in die Datei /etc/modules eingetragen[3] werden.

Für diese Chipsatzversionen kann der Linux-Systemtreiber oder der Windowstreiber mit WLAN/NdisWrapper verwendet werden. Der Linuxtreiber muss für jede verwendete Kernelversion nach einem System- bzw. Kernelupdate erneut kompiliert werden.

Bei ndiswrapper ist das nicht notwendig, allerdings läuft der Treiber unter ndiswrapper quasi nur in einer Emulation und der Linux-Systemtreiber sollte hier bevorzugt werden, da so alle Eigenschaften des Chipsatz besser unterstützt werden. Gerade bei bei 802.11n (Draft-N bis ~300MBit/s) gibt es öfters Probleme mit der Stabilität des Treibers unter ndiswrapper oder es funktioniert überhaupt nicht.

Um den Linuxtreiber kompilieren zu können müssen vorab zwei Programmpakete [7] installiert werden.

Jetzt kann der Treiber von der Ralink Homepage 🇬🇧 heruntergeladen werden.

Nun entpackt man[2] das Treiber-Paket in das Homeverzeichnis.

Bevor man den Treiber kompilieren kann, muss gemäß den Anweisungen in der Datei README_STA die Textdatei config.mk in ~/Quellverzeichnis/os/linux mit einem Editor [3] angepasst werden damit der Treiber mit dem Network-Manager funktioniert.

HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y 

Wichtig für den Network-Manager ist das "y" bei "HAS_NATIVE_WPA_SUPPLICANT_SUPPORT", da dann wpa_supplicant mit dem Treiber "wext" (-Dwext) benutzt werden kann. Ansonsten, also wenn "HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n", muß wpa_supplicant mit "-Dralink" aufgerufen werden.

Zusätzlich können schon jetzt die Parameter der Datei RT2860STA.dat für die benötigten Ländereinstellungen geändert werden.

CountryRegion=1
CountryRegionABand=1
CountryCode=DE
WirelessMode=5

Dies kann alternativ auch nach der Installation des neuen Treibers in der Datei /etc/Wireless/RT2860STA/RT2860STA.dat erfolgen. Damit sind die zulässigen Frequenzen und Kanäle für Europa eingestellt. Siehe dazu auch Frequenzen und Kanäle.

Nun muss man in das Treiberverzeichnis wechseln, den Treiber kompilieren und installieren [5]. In diesem Fall sind auch dazu root-Rechte erforderlich.

make
sudo make uninstall
sudo make install 

Es muss das System neu gestartet werden. Anschließend kann die Funktionalität des Treibers mit den folgenden Befehlen überprüft werden.

iwconfig
iwlist chan 

Alle Treiberoptionen sind in der Datei README_STA des Installationspakets beschrieben.

Installation über deb-Paket

(nur für ubuntu 8.04)
Stéphane Graber, Mitglied des Launchpad-Team hat ein entsprechendes deb-Installationspaket ⮷ für den RT2860-Chipsatz und den RT2760-Chipsatz bereitgestellt.

Windows-Treiber

Der Windows-Treiber kann hier 🇬🇧 heruntergeladen und ganz normal mit NdisWrapper geladen werden.

RT2860STA und Draft-N

Draft-N, also 300MBit ist eine ziemlich fragile Konfiguration. Z.B. funktioniert Draft-N ausschließlich mit AES, also CCMP-Verschlüsselung, nicht mit TKIP. Des weiteren funktioniert Draft-N anscheinend auch nur mit wpa_supplicant und nicht mit der dokumentierten Variante durch iwpriv. Somit:

  1. Modul manuell kompilieren und installieren, siehe oben (getestet mit v2.3.0.0)

  2. In der RT2860STA.DAT alles setzen, also nicht nur Region und so weiter, sondern auch die SSID, die Verschlüsselung, Kodierung. Folgend alle Änderungen zur Original-Datei:

#Default                                                                 
CountryRegion=1                                                          
CountryRegionABand=1                                                     
CountryCode=DE                                                           
ChannelGeography=1                                                       
SSID=< deine ssid >                                                             
NetworkType=Infra                                                        
WirelessMode=5                                                           
Channel=< dein channel >                                                                
AuthMode=WPAPSK
EncrypType=AES
WPAPSK=< dein wpa2-passwort >
HT_BW=1

Trotz wpa_supplicant scheint dies notwendig zu sein.

Nun sollte Draft-N laufen.

Problemlösung

Rechner fährt nicht mehr hoch

Es wurde häufig berichtet, dass Netzwerkkarten mit der Ralink Chip unter Ubuntu Probleme bereiten. Die Netzwerkkarte wird von Ubuntu 6.06 Dapper Drake zunächt ohne weiteres erkannt und wie oben beschrieben lässt sie sich auch konfigurieren und betreiben. Nach einem Neustart fährt Ubuntu allerdings nicht mehr hoch und das so lange bis die Konfiguration im /etc/network/interfaces eingetragen ist. Startet man im Failsafe-Modus und bearbeitet man die Datei, indem man den Einträge für ra0 löscht, fährt Ubuntu wieder ordnungsgemäß hoch. Bug #34902 🇬🇧

WPA funktioniert nicht mit dem Network-Manager

WLAN-Chipsätze von Ralink arbeiten derzeit noch nicht mit dem Network-Manager zusammen. Da dieser ab Feisty Fawn 7.04 als Standard installiert ist, muss das WLAN-Netzwerkgerät ra0 jeweils manuell mit den Befehlen [1] ifdown/ifup gestartet werden. Abhilfe schafft nur die vollständige Deinstallation des Network-Managers. Bug #78037 🇬🇧 - Network-Manager: Unsupported Drivers 🇬🇧

Kein Netzwerk nach Neustart

Oft kommt es vor, dass nach einem Neustart des Systems keine Verbindung zum Router zustande kommt. Dann muss man das Netzwerk neu starten. Entweder über das Terminal [1] mit

sudo ifdown ra0
sudo ifup ra0 

oder

sudo /etc/init.d/networking restart 

Man kann letzteren Befehl - ohne das vorangestellte "sudo" - in die rc.local eintragen. Dann wird der Neustart des Netzwerks automatisch nach dem Booten ausgeführt.

⚓︎

Langsame Übertragung

Falls die Verbindung funktioniert aber ungewöhnlich langsam erscheint, könnte das daran liegen, dass die maximale Übertragungsrate zu niedrig festgesetzt ist. Das ist der Fall, wenn

iwconfig ra0 

folgende Zeile enthält:

Bit Rate=1 Mb/s

Um den Wert stets automatisch auf die üblichen 54 Mb/s setzen zu lassen, fügt man in der rc.local vor

exit 0

die Zeile

iwconfig ra0 rate 54M

ein. Nach einem Neustart sollte man wie beschrieben überprüfen ob die Übertragungsrate auf 54 Mb/s steht. War dies erfolgreich sollte die Wlan-Verbindung deutlich schneller sein.

Instabile Verbindung unter Gutsy mit RT25xx Karten

Falls bei Gutsy die WLAN-Verbindung nur noch extrem langsam läuft und sehr instabil ist, kann das am neuen Ralink-Treiber liegen, der in Gutsy neu enthalten ist. Der Vorteil dieses Treibers ist, dass er sich mit dem Network-Manager konfigurieren lässt. Um wieder die gewohnte Verbindungsgeschwindigkeit zu erreichen, kann man den vorher in Ubuntu enthaltenen Treiber recht einfach kompilieren. Dann muss der Treiber auch wieder wie gewöhnlich über die /etc/network/interfaces (siehe oben) konfiguriert werden.

Das Originalhowto findet sich hier 🇬🇧 .

Zunächst muss man die Quellen des früheren Treibers herunterladen. Dies erfolgt durch die Installation des Pakets rt2500-source.

sudo apt-get install rt2500-source 

Man sollte auch sicherstellen, dass man die Kernel-Header auf dem Rechner hat. Dies funktioniert mit der Installation von linux-headers-generic.

sudo apt-get install linux-headers-generic 

Jetzt muss der Network-Manager deaktiviert werden, damit der nicht später anfängt zu meckern. Dies klappt ganz gut mit "System → Systemverwaltung/Administration → Systemüberwachung". Dort wählt man den Prozess nm-applet aus und klickt auf Prozess beenden.

Nun beenden wir den aktuellen Ralink-Treiber um ihn dann entfernen zu können.

sudo modprobe -r rt2500pci 

Nun muss man verhindern, dass der Treiber beim nächsten PC-Neustart erneut geladen wird, um Konflikte zu vermeiden. Dazu setzt man ihn auf die Modul-Blackliste (mehr unter Kernelmodule). Man trägt dazu mit einem Editor mit Root-Rechten in die Datei /etc/modprobe.d/blacklist die Zeile

blacklist rt2500pci

ein.

Nun entfernt man den Network-Manager:

sudo apt-get remove network-manager 

Nun kompiliert man mithilfe des module-assistant das Kernelmodul mit dem vorherigen Treiber.

sudo m-a a-i rt2500-source 

Das sollte automatisch ablaufen, es erscheint eine graue Box mit blauem Hintergrund und Fortschrittsbalken.

Jetzt wird das frisch kompilierte Kernelmodul geladen:

sudo modprobe rt2500 

Nun kann man sich ans Konfigurieren der WLAN-Verbindung machen. Um die Änderungen an /etc/network/interfaces zu übernehmen kann man den Befehl

sudo /etc/init.d/networking restart 

verwenden.

Wenn nach einem Neustart das Kernelmodul nicht wieder geladen wird, muss es noch in die Datei /etc/modules eingetragen werden, siehe Kernelmodule.

Nun sollte die Internetverbindung wieder in gewohnter Geschwindigkeit laufen. Viel Spaß damit!

Anmerkung

Nach Einstecken des Sticks sollte man per

lsmod | grep rt 

nachschauen, ob der Treiber nur 1x geladen ist, sonst kann dieser Beitrag evtl helfen. http://forum.ubuntuusers.de/topic/wlan-probleme-14/