Rt2500
Aus Gentoo Linux Wiki
| Laptops • Motherboards • Servers • Eingabegeräte • RAID Controller • TV Karten • Wireless • Andere Hardware • Andere Architekturen • alphabetischer Hardware Index |
→ Siehe rt2500 auf AMD64 für Anmerkungen zu einer 64 bit Gentoo-Installation.
Inhaltsverzeichnis
|
[Bearbeiten] Ralink Linux-Treiber
Seit April 2004 arbeitet das rt2x00-Projekt an Treibern für die WLAN-Chipsets von Ralink Technology. Zunächst wurden Bugfixes für die von Ralink veröffentlichten proprietären Linuxtreiber eingereicht, nach einiger Zeit wurde mit der Entwicklung eines alternativen Treibers namens rt2x00 für die rt2400 und rt2500 Chipsätze begonnen.
2005 gab Ralink die Original-Treiber unter der GPL frei und lieferte damit einen großen Beitrag zur Weiterentwicklung der rt2x00-Treiber. Inzwischen werden die rt2400- und rt2500-Treiber vom rt2x00-Projekt zwar noch gepflegt, aber nicht mehr weiterentwickelt.
Im Mai 2005 lieferte Ralink Details zum rt2570 Chipsatz (integriert in USB-WLAN-Sticks), der nun ebenfalls vom rt2x00-Treiber unterstützt wird. Alternativ bietet Ralink auch hierfür einen Original-Treiber an, der ebenfalls vom rt2x00-Projekt gepflegt wird.
Die Treiber rt61 und rt73 werden ebenfalls von diesem Projekt betreut.
[Bearbeiten] Installation
Es gibt verschiedene Wege und Treibervarianten, die man installieren kann. Grob gesagt hat man unter Gentoo die Wahl zwischen manueller Installation oder Installation via Portage (empfohlen!), sowie die Wahl zwischen den Original Ralink-Treibern (empfohlen!) und den neuentwickelten rt2x00-Treibern. Der Einsatz von ndiswrapper ist nicht wirklich zu empfehlen, aber ggf. eine Notlösung.
Die folgende Installationsanleitung befasst sich mit dem in PCI-Karten benutzten rt2500-Chipsatz bzw. dem rt2570-Chipsatz in USB-Sticks. Warnung: Manche USB-Sticks laden zwar den rt2570-Treiber, benötigen aber in wirklichkeit den rt73usb! Siehe unten.
[Bearbeiten] Ralink Original-Treiber via Gentoo-Portage
Diese Treiber rt2500- und rt2670-Treiber sollten relativ stabil funktionieren. Für Gentoo sind ebuilds im unstabel-Tree ~x86 und ~amd64 verfügbar und lassen sich mit
emerge net-wireless/rt2500 bzw. emerge net-wireless/rt2570 für USB-Sticks.
als Kernelmodul installieren. Beim Einstecken des USB-Sticks wird das rt2570-Modul dann automatisch geladen und mit ifconfig -a sollte nun ein neues Netzwerkinterface rausb0 sichtbar sein.
WARNUNG: Sollte es Probleme beim Hochfahren des Netzwerkinterfaces geben, dann liegt evtl. daran, dass das rt2570 zwar denkt es sei das richtige, aber man in Wirklichkeit das rt73usb-Modul braucht. Siehe unten!
[Bearbeiten] Neuentwickelte Treiber via Gentoo-Portage
Für Gentoo liegen ebenfalls die vom rt2x00-Projekt neuentwickelten Treiber vor. Diese befinden sich allerdings noch in einem Beta-Stadium und sollten mit Vorsicht installiert werden. Vorher auf jeden Fall mit emerge -av net-wireless/rt2x00 nachsehen, welche USE-Flags verfügbar sind!
Für den rt2500-Chipsatz sind die rt2500usb und rt2500pci USE-Flags relevant.
emerge net-wireless/rt2x00
Während die Originaltreiber für verschiedene Chipsätze (rt2400, rt2500, rt2570, ...) eigene ebuilds haben, versucht das rt2x00-Projekt alle verfügbaren Chipsätze zu integrieren. Momentan werden rt2500usb rt73usb rt2400pci rt2500pci und rt61pci unterstützt.
Der Quellcode für diese Treiber versucht sich das ebuild direkt aus einem Sourceforge CVS-Tree zu holen. Dazu muss man allerdings online sein, sonst schlägt das emerge fehl. ;-) Ausserdem muss man eventuell einige Crypto-Algorithmen im Kernel aktivieren.
Alternativ kann man per emerge =net-wireless/rt2x00-2.0.0_beta3 eine ältere Version installieren.
WARNUNG: Es ist sehr zu empfehlen die README-Datei zu lesen, da bei einigen der Treibern Firmware nachinstalliert werden muss!
[Bearbeiten] Ralink Original-Treiber manuell installieren
Diese Variante ist eigentlich nicht zu empfehlen! Portage sorgt unter Gentoo dafür, dass alle Abhängigkeiten erfüllt sind und sich der Treiber sauber in das System integriert (und auch wieder automatisch entfernt werden kann).
Den Treiber-Sourcecode erhält man als Tarball auf http://www.ralinktech.com/ralink/Home/Support/Linux.html und extrahiert ihn mit:
tar -xvzf RT2500-Linux-STA-x.x.x.x.tar.gz
gehe dann ins ./RT2500-Linux-STA-x.x.x.x/STA/Module Verzeichnis.
[Bearbeiten] Module kompilieren
Je nach Kernelversion (2.4 oder 2.6) muss man beim Kompilieren der Kernelmoduls anderes vorgehen.
[Bearbeiten] Für Kernel der Reihe 2.4:
Verwende den chmod-Befehl um die Zugriffsrechte folgender Scripts anzupassen: load, unload, Configure
- make config
- konfiguriert Makefile für die installierte Linux-Version
- make all
- kompiliert den Treiber
- load
- lädt (insmod) das Modul (rt2500.o)
Hinweis: Funktionalität der Scripts:
- load
- lädt Modul in den Kernel
- unload
- wirft das Modul aus dem Kernel raus
- Configure
- ermitteln der Linux-Version
[Bearbeiten] Für Kernel der Reihe 2.6:
Wechsele in das Module Verzeichnis der Treiber Sourcen.
Nun die Dateien "Makefile" und "load" aus dem "2.6.x" Verzeichniss hierher (nach .) kopieren.
make -C /pfad/zum/kernel/source SUBDIRS=$PWD modules Wobei /pfad/zum/kernel/source durch das Quellcode-Verzeichnis des konfigurierten und kompilierten Kernels ersetzt werden muss.
führe dann /sbin/insmod rt2500.ko (als root) aus
[Bearbeiten] Für 'big endian'-Architekturen:
Ersetze Makefile mit Makefile.BigEndian
[Bearbeiten] Konfigurationsprogramm kompilieren
wechsle in das ../Utility Verzeichnis
führe dort qmake -o Makefile raconfig2500.pro aus. Sollte qmake nicht auf dem System gefunden werden können kannst du das QT-Tool qt-x11-free-3.2.1 oder neuer mittels Portage beziehen: emerge x11-libs/qt
ACHTUNG: Alle die Qt3 und Qt4 gleichzeitig auf ihrem Sytem haben, können nicht das qmake, welches sich unter /usr/bin befindet, nutzen. Da dieses standartmäßig auf Qt4 gelinkt ist und ihr zum erstellen des Makefiles Qt3 benötigt. Deshalb müsst ihr auch das qmake von Qt3 nutzen. Das sieht dann so aus /usr/qt/3/bin/qmake -o Makefile raconfig2500.pro.
Danach führe make aus, um das Konfigurationsprogramm zu kompilieren
Nach Abschluss dieses Vorganges wurde die ausführbare Datei RaConfig2500 erstellt. Starte nun RaConfig2500 um den Treiber nach belieben zu konfigurieren.
[Bearbeiten] Windows-Treiber mit Ndiswrapper
http://ndiswrapper.sourceforge.net/wiki/ hat eine Anleitung mit einer Liste von unterstützten Karten - sieh in der Liste nach dem RT2500-Chipset mit funktionierendem Windows-Treiber für den Einsatz von Ndiswrapper.
Die ggf. mitgelieferte CD mit Windows-Treibern ist zumindest beim Modell D-Link DWL-G122 nutzlos, da man setup.exe nicht entpacken kann. Die Treiber kann man sich aber sicherlich bei D-Link auch einzeln runterladen.
[Bearbeiten] Netzwerk einrichten
[Bearbeiten] Gentoo Netzwerkkonfiguration
Unter Gentoo verlinkt man am einfachsten in /etc/init.d/ die Datei net.lo mit net.rausb0:
ln -s /etc/init.d/net.lo /etc/init.d/net.rausb0
Per /etc/init.d/net.rausb0 start sollte sich das Netzwerk nun hochfahren lassen. Konfigurieren kann man das Netzwerk in /etc/conf.d/net - ändert man dort nichts, dann wird automatisch versucht das Netzwerk per DHCP zu konfigurieren. Per rc-update add net.rausb0 default kann man bei Bedarf dafür sorgen, dass das Skript beim booten automatisch gestartet wird.
Benötigt ein vorhandener WLAN AccessPoint kein WEP oder WPA, dann sollte das Netzwerk nun ohne weitere Konfiguration funktionieren. Weitere Tipps zur Konfiguration stehen im nächsten Absatz unter "Manuelle Konfiguration".
WARNUNG: Sollte das System beim Hochfahren des Netzwerks einfach hängenbleiben, dann beachte bitte die Hinweise weiter unten!
[Bearbeiten] Weitere Tipps zur Netzwerkkonfiguration
Siehe dazu Wireless Konfiguration oder diesen Artikel in den Gentoo-Foren (sind ähnlich).
[Bearbeiten] Alternativ: Manuelle Konfiguration
Manuell kann man die Netzwerkschnittstelle mit /sbin/ifconfig ra0 inet YOUR_IP up aktivieren. Wenn das nicht funktioniert (und Dein System hängenbleibt, z. B. mit einem ifconfig- oder ip-Prozess der jede Menge CPU-Leistung zieht, dann lies die Hinweise weiter unten!)
Der RT2500-Chip kann mit folgenden Schnittstellen konfiguriert werden: (i) iwconfig Befehl, (ii) iwpriv Befehl, (iii) Konfigurationsdatei, (iv) RaConfig2500
- iwconfig Im Paket net-wireless/wireless-tools enthalten.
- iwpriv über die Verwendung siehe iwpriv_usage.txt für Details.
- Kopiere die Konfigurationsdatei RT2500STA.dat nach /etc/Wireless/RT2500STA/RT2500STA.dat. siehe Punkt 3.1) für Details.
- RT2500 stellt API zur Verfügung: RaConfig2500
| Datei: Konfigurationsdatei: RT2500STA.dat |
# Copy this file to /etc/Wireless/RT2500STA/RT2500STA.dat
# This file is a binary file and will be read on loading rt2500.o module.
#
# Use "vi -b RT2500STA.dat" to modify settings according to your need.
#
# 1.) set NetworkType to "Adhoc" for using Adhoc-mode, otherwise using as Infrastructure-mode
# 2.) set Channel to "0" for auto-select on Infrastructure mode
# 3.) set SSID for connecting to your Accss-point.
# 4.) AuthMode can be "OPEN", "SHARED", "WPAPSK", "WPANONE"
# 5.) EncrypType can be "NONE", "WEP", "TKIP", "AES"
# for more information refer to the Readme file.
#
[Default]
CountryRegion=0
WirelessMode=0
SSID=AP350
NetworkType=Infra
Channel=0
AuthMode=OPEN
EncrypType=NONE
DefaultKeyID=1
Key1Type=0
Key1Str=0123456789
Key2Type=0
Key2Str=
Key3Type=0
Key3Str=
Key4Type=0
Key4Str=
WPAPSK=abcdefghijklmnopqrstuvwxyz
TXBurst=0
TurboRate=0
BGProtection=0
ShortSlot=0
TxRate=0
RTSThreshold=2312
FragThreshold=2312
PSMode=CAM
-----------------------------------------------
syntax is 'Param'='Value' and describes below.
1. CountryRegion=value
value
0: for use channel 1-11
1: for use channel 1-11
2: for use channel 1-13
3: for use channel 10-11
4: for use channel 10-13
5: for use channel 14
6: for use channel 1-14
7: for use channel 3-9
2. WirelessMode=value
value
0: 802.11 B/G mixed
1: 802.11 B only
3. SSID=value
value
1~32 ascii characters.
4. NetworkType=Infra
value
Infra : infrastructure mode
Adhoc : adhoc mode
5. Channel=value
value
1~14 depends on CountryRegion
6. AuthMode=value
value
OPEN For Open System
SHARED For Shared key system
WPAPSK
7. EncrypType=value
value
NONE :For AuthMode=OPEN
WEP :For AuthMode=OPEN or AuthMode=SHARED
TKIP :For AuthMode=WPAPSK
AES :For AuthMode=WPAPSK
8. DefaultKeyID=value
value
1 ~ 4
9. Key1Type=value
value
0: Hexadecimal
1: Ascii
10. Key1Str=value
value
10 or 26 hexadecimal characters eg: 012345678
5 or 13 ascii characters eg: passd
11. Key2Type=value
value
0: Hexadecimal
1: Ascii
12. Key2Str=value
value
10 or 26 hexadecimal characters eg: 012345678
5 or 13 ascii characters eg: passd
13. Key3Type=value
value
0: Hexadecimal
1: Ascii
14. Key3Str=value
value
10 or 26 hexadecimal characters eg: 012345678
5 or 13 ascii characters eg: passd
15. Key4Type=value
value
0: Hexadecimal
1: Ascii
16. Key4Str=value
value
10 or 26 hexadecimal characters eg: 012345678
5 or 13 ascii characters eg: passd
17. WPAPSK=value
value
8 ~ 63 characters
or
64 hexadecimal characters
18. TxBurst=value
value
0: Disable
1: Enable
19. TurboRate=value
value
0: Disable
1: Enable
20. BGProtection=value
value
0: Auto
1: Always On
2: Always Off
21. ShortSlot=value
value
0: Disable
1: Enable
22. TxRate=value
value
0: Auto
1: 1 Mbps
2: 2 Mbps
3: 5.5 Mbps
4: 11 Mbps
5: 6 Mbps //WirelessMode must be 0
6: 9 Mbps //WirelessMode must be 0
7: 12 Mbps //WirelessMode must be 0
8: 18 Mbps //WirelessMode must be 0
9: 24 Mbps //WirelessMode must be 0
10: 36 Mbps //WirelessMode must be 0
11: 48 Mbps //WirelessMode must be 0
12: 54 Mbps //WirelessMode must be 0
23. RTSThreshold=value
value
1 ~ 2312
24. FragThreshold=value
value
256 ~ 2312
25. PSMode=value
value
MAX_PSP Power Saving Mode
CAM CAM (Constantly Awake Mode)
26. AdhocModeRate=value
value
0: Adhere WIFI spec
1: Violate WIFI spec
27. ApClient=value
value
0: Disable ApClient mode
1: Enable ApClient mode
|
[Bearbeiten] Probleme mit den Ralink Linux-Treibern
- Bei Hardware ändert sich immer mal wieder der Chipsatz. Beispielsweise benutzt der D-Link DWL-G122 in älteren Hardware-Versionen den rt2570 und inzwischen den rt73. Siehe unten.
- Die Firmware für das Gerät sollte auch nicht fehlen. Man bekommt sie auf der Internetseite des Herstellers und sollte sie in /lib/firmware installieren. Zusätzlich muß noch hotplug installiert sein und sicherheitshalber sollten alle Module in /lib/modules/<kernel>/rt2x00 geladen werden.
- Typische Fehlerquelle ist, dass im Kernel PREEMPT aktiviert ist. Zur Sicherheit diese Funktion erstmal deaktiviert (Kernelfeature auf PREEMPT_NONE/Serverbetrieb stellen). Da die meisten Kernel für Desktop-Systeme konzipiert sind, ist es sehr wahrscheinlich das PREEMT aktiviert ist und damit die WLAN-Treiber eventuell nicht funktionieren!
- Weitere Fehlerquellen sind die Kerneloptionen für Multiprozessoren: IO-APIC (eigentlich nur sinnvoll bei Multiprozessorsystemen und nicht zu verwechseln mit APIC oder gar ACPI) und SMP.
- Eventuell liegen Probleme auch am USB 2.0. Testweise mal im Kernel ehci (USB 2.0) deaktivieren oder das passende Modul nicht laden (USB 1.1 ist OHCI) oder einen alten USB 1.1-Anschluss benutzen. Vorher aber unbedingt PREEMPT, SMP und IO-APIC deaktivieren, weil es viel wahrscheinlicher daran liegt! ;-)
- Siehe die verschiedenen Webseiten unter Weblinks (weiter unten auf dieser Seite). Dort gibt es weitere FAQ, Tipps, Foren und Howtos.
- Die MSI PC54G WLAN scheint nur mit der Treiber-Version 1.4.2 zu funktionieren (vergiss nicht die spinlock.diff Datei).
- Die MSI PC54G WLAN funktioniert auch mit der Treiber-Version 1.1.0_beta2-r1, zumindest auf AMD64.
- Einige Leute müssen die Zeile WARN_ON(irqs_disabled()); in /usr/src/linux/kernel/softirq.c auskommentieren um es zum Laufen zu bekommen (schlechte Lösung - verwende sie nicht, wenns anders geht!)
- Seit der Version 1.1.0_pre2006050909 wurde RaConfig aus dem Ebuild entfernt, da es nicht mehr weiter entwickelt wird. Nach dem Wunsch der Entwickler soll Rutilt seinen Platz einnehmen, welches allerdings (zumindest bei mir) noch sehr instabil ist. Wer auf RaConfig nicht verzichten möchte, muss die Treiber herunterladen und das Konfigurationsprogramm manuell kompilieren (siehe Konfigurationsprogramm_kompilieren).
[Bearbeiten] Karten mit Ralink Chipsatz
[Bearbeiten] D-Link DWL-G122, H/W Version C1
- Funktioniert NICHT mit dem rt2570 Treiber, auch wenn das Kernelmodul beim einstecken des USB-Sticks automatisch geladen wird. Vorsicht: Das Kernelmodul hängt sich auf, sobald man versucht per ip oder ifconfig auf das Interface zuzugreifen!
- Benötigt wird für diesen Stick der rt73usb-Treiber aus dem rt2x00-Projekt. Man sollte das USE-Flag rt73usb aktivieren und dann per emerge net-wireless/rt2x00 den Treiber aus dem CVS installieren. Eventuell funktioniert auch die 2.0.0_beta3.
- Wieweit IO-APIC, PREEMPT und SMP deaktiviert sein müssen kann ich nicht sagen, aber bei meinen Tests habe ich es irgendwann mal deaktiviert und bislang nicht mehr eingeschaltet. Allgemein ist wenigtens PREEMPT eine typische Fehlerquelle für Treiberprobleme mit bei rt2x00.
- Bei Tests konnte ich mich bislang noch nicht mit meinem Netzwerk verbinden (evtl. schlechte Sendeleistung des Sticks/private Netzwerkprobleme), aber ich habe verschiedene APs zumindest per "iwlist scan" kurzfristig gesehen und kann das Interface beliebig konfigurieren.
- Im 2.6.25er Kernel ist der rt73-Treiber enthalten, er wurde aus dem rt2x00-Projekt migriert.
- Seit Kernel 2.6.24 klappt auch das Kernelmodul. Dazu unter DEVICE-DRIVERS->Network device support->Wireless LAN ein <M> bei Ralink driver support und Ralink rt73 usb support machen. Danach muss man noch die Firmware-Dateien runterladen: http://www.ralinktech.com.tw/data/RT71W_Firmware_V1.8.zip, entpacken und die Datei rt73.bin nach /lib/firmware kopieren. Danach sollte das automatische Laden des Kernelmoduls klappen und man kann mit dem net-misc/networkmanager seine W-LAN-Verbindungen verwalten.
[Bearbeiten] Asus WL-167g
Mit dem rt73usb Treiber aus Portage lief der Stick nicht. Mit den rt73-cvs Treiber direkt von der rt2x00 Seite läuft der Stick dafür tadellos! http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz
[Bearbeiten] Weblinks
- Offizielles Forum mit vielen aktuellen Hinweisen und Tipps zum rt2500 unter Linux.
- Bekannte Fehler und Tipps des rt2x00-Projekts
- Bugtracker zu den rt2400/rt2500 Treibern
- Howtos für andere Linux-Distributionen und Chipsätze
- Englisches Gentoo-Wiki zum rt2x00 Chipsatz
- Englischsprachige Anleitung zur Konfiguration einer WLAN RT2500 Netzwerkkarte
