PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Treiber ralink rt2561/rt61 installieren



ilmig
14.07.06, 22:35
Ich hab eine Hama Wireless Lan PCI Karte. Laut lspci besitzt sie einen RT2561/RT61 Chipsatz:
00:0b.0 Ethernet controller: RaLink RT2561/RT61 802.11g PCI
00:0b.1 Ethernet controller: RaLink RT2561/RT61 802.11g PCI
00:0b.2 Ethernet controller: RaLink RT2561/RT61 802.11g PCI
00:0b.3 Ethernet controller: RaLink RT2561/RT61 802.11g PCI
00:0b.4 Ethernet controller: RaLink RT2561/RT61 802.11g PCI
00:0b.5 Ethernet controller: RaLink RT2561/RT61 802.11g PCI
00:0b.6 Ethernet controller: RaLink RT2561/RT61 802.11g PCI
00:0b.7 Ethernet controller: RaLink RT2561/RT61 802.11g PCI

Also habe ich mir von http://www.ralinktech.com/supp-1.htm die RT61 Treiber für Linux gesaugt. Gemäß readme habe ich erst das Mafile.6 für den 2.6.x Kernel nach Makefile kopiert um dann mit einem einfachen make all die Treiber zu bauen. Make läuft auch ohne Fehler durch und anschließend liegt das Modul rt61.ko wie in der readme angekündigt im Ordner. Wie in der readme gefordert habe ich auch die binären Firmwaredateien sowie die binäre config nach /etc/Wireless/RT61STA kopiert. Das Modul lässt sich mit einem insmod problemlos laden.

Jetzt gehen allerdings die Probleme los. Eigentlich sollte an der Stelle ein neues Network Interface namens ra0 vorhanden sein, welches ich mit iwconfig oder der über die config Datei des Treibers konfigurieren kann. Ein ifconfig zeigt aber nur das schon vorher vorhandene eth0 und lo und iwconfig sagt logischerweise zu eth0 "no wireless extensions."
Ein daraufhin ausgeführtes dmesg schweigt sich auch beharrlich über den Verbleib von meiner Netzwerkkarte aus.

Zusammengefasst kann man also sagen: Das Treiber bauen funktioniert, was auch das Laden des Moduls beweist. Trotz alledem wird die Karte nicht vom Kernel erkannt, obwohl der Treiber ganz klar zur Verfügung gestellt wurde. Dies zeit das nicht Vorhandensein das Interfaces und das beharrliche Schweigen von dmesg, welches das Erkennen der Karte zeigen müsste. Warum der Kernel aber mit dem geladenen Treiber nichts anfangen kann und die Karte trotz allem nicht erkennt ist mir schleierhaft. Wireless Extensions sind auf jedenfall unter Networking Support aktiviert. Und die Kernel Sources liegen natürlich auch an ihrem Platz, sonst könnte der Treiber allerdings wohl auch nicht gebaut werden.

Hoffe hier kann mir irgendeiner helfen, ich habe nämlich keine Ahnung wo es klemmt.

Ps:Übrigens habe ich auch schon andere Treiber probiert z.b. RT2500 sowohl von Ralink als auch die Open Source Treiber von Sourceforge. Auch die RT2500 Treiber aus dem Debian Repo habe ich nach http://rt2x00.serialmonkey.com/wiki/index.php/Debian_rt2500_Howto schon installiert. Das Ergebnis ist immer wieder das Selbe. Das Modul wird gebaut und ich kann es laden, aber die Karte wird nicht erkannt und vor allen Dingen wird kein Interface erstellt.

Update:So ich habe jetzt "Userspace firmware loading support" fest in den Kernel kompiliert und siehe da nach dem Rebooten zeigt iwconfig auf einmal ra0 als Interface an und dmesg meldet sich nach laden des Moduls auch mit
RT61: Vendor = 0x1814, Product = 0x0301. Der Kernel kann also erst jetzt was mit der binären Firmware anfangen.
Ein Interface habe ich jetzt zwar, dieses wird aber nur üver iwconfig angezeigt, ifconfig schweigt sich beharrlich aus. Auch steht hinter dem Interface "no wireless extensions.", also die selbe Statusmeldung wie auch hinter lo und eth0. Aus dem Grund lässt sich das Interface auch nicht hochfahren, ESSID zuweisen scheitert natürlich ebenso.

Naja zumindest bin ich einen Schritt weiter, jetzt muss ich mit dem neuen Stand der Dinge erst einmal experimentieren.

Update2:Durch hinzufügen von ra0 in der /etc/network/interfaces mit ipaddresse und so weiter lässt sich mit ifconfig ra0 up das interface starten. Danach zeigt iwconfig auf mehr an, nämlich

ra0 RT61 Wireless ESSID:""
Mode:Auto Channel:6 Bit Rate=54 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality:0 Signal level:0 Noise level:113
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Das Problem ist jetzt, dass sich diese Einstellungen nicht ändern lassen. Ein iwconfig ra0 essid foobar wird beispielsweise ohne Meldung angenommen, d.h. es scheint geklappt zu haben. Aber ein neuerliches iwconfig gibt das selbe aus wie zuvor. Und so ist das mit jeder bisher probierten Option.
Auch das Editieren von /etc/Wireless/RT61STA/rt61sta.dat die in der readme als alternative config Datei zu iwconfig angegeben ist ändert nicht an an der Ausgabe von iwconfig.
Ein iwlist ra0 scan ergibt irgendwie erwartungsgemäß nur ein
ra0 No scan results Es wird also kein Access Point oder sonst irgendein Anzeichen auf ein Wlan gefunden. Unter Windows hat die Karte aber am selben Standort einen mittelmäßigen aber stabilen Empfang.

Für heute bin ich echt mit meinem Latein am Ende, ich gehe jetzt schlafen.

Update:*gelöst*
Nachdem ich stundenlang echt fast alles probiert habe war ich dabei zu resignieren. Als letzter Versuch wollte ich die Wlan Karte noch in den PCI Slot meiner Soundkarte einbauen, falls der Grund aller Probleme ein Interrupt Problem mit dem PCI Slot sein sollte. Ein cat /proc/interrupts zeigte eigentlich nichts dergleichen an, aber man kann ja nicht wissen. Also Soundkarte und Wlan Karte getauscht siehe da: Nach dem Starten erwartet mich iwconfig mit der Mac Adresse meinen AP. Es läuft jetzt also so wie es die ganze Zeit sollte, und die Soundkarte werkelt fröhlich in dem anderen PCI Slot rum in dem meine Wlan Karte nicht wollte.

Das nach wirklich vielen Stunden Frickelei es dann so etwas war ist ein wenig ärgerlich, aber wenigstens kenne ich mich jetzt gut mit Wlan Treibern aus. Naja vielleicht können ja die paar Infos hier irgendwann einem anderen der durch die SuFu auf den Thread stößt helfen...