Linux 14.993 Themen, 106.487 Beiträge

WLAN-PCMCIA-Karte mit Ralink rt61 Chipsatz unter Slackware

Chris tian / 25 Antworten / Flachansicht Nickles

Hallo,

ich habe mir vor kurzem eine WLAN-PCMCIA-Karte von Level-One (WPC-0301) gekauft, um einen älteren Laptop (Panasonic Toughbook CF-71) als "Transportables Webradio" nutzen zu können.
Da ich ein Linux-Fan bin, habe ich mir gedacht, dass das doch eigentlich mit Linux realisierbar sein müsste.
Ich habe mich inzwischen für ein Slackware mit einem 2.4.31 Kernel entschieden. Ich habe auch schon den Treiber für den Chipsatz (Ralink rt61) heruntergeladen (nachdem Level-One keinen anbietet), und Compiliert.

So, jetzt zu meinem Problem:
Ich habe den Treiber installiert, die Einstellungen für die Verschlüsselung (WPA2 PSK AES) konfiguriert, und etwas hin- und herprobiert. Die Karte stellt jetzt auch schon eine Verbindung her. Die Link-LED an der Karte leuchtet, und der WLAN-Router zeigt an, dass eine Verbindung hergestellt ist. Allerdings zeigt die Karte solange die Verschlüsselung aktiviert ist ein etwas seltsames, "egozentrisches" :-) Verhalten:
Ich kann die IP-Adresse der Karte (192.168.1.200) anpingen.
Bei alle anderen IPs im Netz kommt die Meldung "Destination Host Unreachable".
Ohne Verschlüsselung (was ich aber wegen Sicherheit nicht will) klappt alles perfekt.

Kennt jemand eine Lösung / einen Lösungsansatz?

Vielen Dank schon mal für die Hilfe
Christian

-----------------------------------------------
Hier noch meine Konfigurationsdatei (/etc/Wireless/RT61STA/rt61sta.dat):

[Default]
CountryRegion=1
CountryRegionABand=7
WirelessMode=0
SSID=christian
NetworkType=Infra
Channel=1
AuthMode=WPA2PSK
EncrypType=AES
DefaultKeyID=1
Key1Type=0
Key1Str=affe1affe2
Key2Type=0
Key2Str=
Key3Type=0
Key3Str=
Key4Type=0
Key4Str=
WPAPSK="Hier steht der Schlüssel"
TxBurst=0
PktAggregate=0
TurboRate=0
WmmCapable=0
AckPolicy1=0
AckPolicy2=0
AckPolicy3=0
AckPolicy4=0
BGProtection=0
IEEE80211H=0
TxRate=0
RTSThreshold=2347
FragThreshold=2346
RoamThreshold=75
PSMode=CAM
TxPreamble=0
FastRoaming=0

-----------------------------------------------

Die Ausgabe von lspci:
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
00:02.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph 128XD] (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:0a.0 CardBus bridge: Ricoh Co Ltd RL5c478 (rev 03)
00:0a.1 CardBus bridge: Ricoh Co Ltd RL5c478 (rev 03)
01:00.0 Network controller: RaLink: Unknown device 0301

-----------------------------------------------

Ausgabe von ifconfig ra0:
ra0 Link encap:Ethernet HWaddr 00:11:6B:39:B1:C4
inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11928 errors:0 dropped:0 overruns:0 frame:0
TX packets:138 errors:0 dropped:0 overruns:0 carrier:0
collisions:4 txqueuelen:1000
RX bytes:1156853 (1.1 Mb) TX bytes:2928 (2.8 Kb)
Interrupt:11 Base address:0xd000

bei Antwort benachrichtigen
KarstenW Chris tian „Hallo KarstenW, du sagst, das der Treiber proprietär sei. Der Treiber, den ich...“
Optionen

Der richtige Treiber ist propietär . Wenn du in das Unterverzeichnis Module reinschaust, gibt es viele von diesen .h (Headerdateien) und .c (Quellcodedateien) Dateien.
Es gibt aber auch ein paar .bin Dateien. In diesen .bin Dateien ist der eigentliche Treiber. Die anderen .h und .c datein sind nur für die Kompilierung einer Kernelschnittstelle da.
Linux verwendet einen modularisierten Betriebsystemkern, bei dem alle Treiber im Speicherbereich des Kernels laufen. So ein Kernelmodul ist eine kompilierte Objectdatei, welche dann nach dem Laden mit dem Programm modprobe, mit dem übrigen Betriebsystemkern verlinkt wird.
Linux verwendet also keinen richtigen monolitischen Betriebsystemkern wie die uralten Unixsysteme von AT&T und das BSD Unix.

Da der Programmcode des richtigen Treiber nicht von Ralink freigegeben wird, kann man den Treiber auch nur als Kernelmodul installieren und nicht monolitisch.
Das funktioniert genaus so, weil der Treiber der WLAN Karten nicht schon beim Booten gebraucht wird.

Anders wäre es , wenn dieser Treiber schon beim Booten des Kernels gebraucht wird, dann müßte dieser treiber monolitisch im Kernel sein (Datei vmlinuz oder bzImage). Kernelmodule können erst geladen werden , nachdem die root-Partition gemounted ist, weil zumLaden eines Kernelmoduls das Ausführen des Programmes modprob oder insmod notwendig ist. Das würde aber erst gehen, nachdem die root-Partition (Wurzelverzeichnis /) gemounted wurde.

Deshalb ist Open Source ganz, ganz wichtig bei der Entwicklung von Linux.

PS: Windows verwendet einen Micro- oder Hybridkernel (weiß nicht genau). Bei dieser Kerneltechnologie werden die Kernelmodule in den Userspace ausgelagert. Das bedeutet, wenn ein Treiber Zugriff auf die Hardware braucht, muß der Prozessor vom Protected Mode in den kernelmode umgeschaltet werden. Das ist immer mit einem gewissen Rechenaufwand verbunden. Dadurch haben Mikrokernel in der Praxis anscheined Geschindigkeitsprobleme. Hinzukommt das die Kernelmodule über Nachrichten kommunizieren. Das Generieren , Abfangen und Vearbeiten der jeweiligen Nachricht kostet ebenfalls Rechenzeit.
Der Linuxbetriebsystemkern würde aus etwa 50 Kernelmodulen bestehen . Und diese Interaktion der kernelmodule ist dann mit das größte Problem, welches zu lösen wäre, damit der Betriebsystemkern stabil im Server- und im Desktopbereich läuft.

Deshalb wird nachwie vor ein modularisierter Kernel verwendet, bei dem die Treiber im Kernelspace laufen .
Treiber lassen sich halt nicht ganz so einfach wie unter Windows installieren, aber was solls ;-).
Mehr weiß ich auch nicht darüber.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
P.S............. ;-) NANÜ