Joseph Terner schrieb:
> On Wed, 30 May 2012 08:28:07 +0200, Marcel Müller wrote:
>> On 29.05.2012 23:38, Uwe Premer wrote:
>>> Entscheidend ist jedoch grundsätzlich bei Linux, ob der Chipsatz
>>> erkannt wird und ob es Treiber gibt.
>>
>> und das die Treiber etwas können. Ich habe noch nie einen 100%
>> zuverlässigen WLAN-Treiber unter Linux erlebt. Zugegeben, die letzten
>> Versuche waren mit Debian-Squeeze und Backports-Kernel. Danach war ich
>> den Mist Leid und habe alles verkabelt. Seither ist Ruhe im Karton.
>
> Das ist bei Ethernet unter Linux ähnlich. Pakete raus und rein ist ja
> kein Hexenwerk, aber wenn ein Rechner sich dann nicht mehr abschalten
> läßt, weil der Treiber die WOL-Register durcheinanderwürfelt, oder das
> Offloading nicht funktioniert, dann ist man froh, wenn es einen GPL-
> Treiber vom Hersteller gibt. Warum der nicht aktuellen Kernel ist, weiß
> der Deibel.
Das ist relativ einfach: Ziel ist, die "Guten" Treiber testen zu lassen
von den Usern. Die würden das nämlich nie tun, wenn stattdessen der
Legacy-Treiber (der "Böse") aktiviert wäre.
Hintergrund:
Die Basis des Geschäftsmodells der Enterprise-Versionen bzw. von Linux
allgemein ist es, Zahlenden für viel Geld Supportverträge anzubieten.
Allerdings kann (oder will) man nur die eigenen OSS-Komponenten
supporten. Die Legacy-Komponenten sind folglich "böse" und werden aus
dem Kernel entfernt, damit die User der "kostenlosen" Distris sie testen
und hoffentlich fleißig Bugreports schreiben.
Merke: Bei Linux machen die User die QA! Aus Erfahrung kann ich jedoch
sagen, daß es ziemlich egal ist, ob Du nun zahlender oder nicht
zahlender User bist :-).
> Funktionierendes WLAN unter Linux hab ich bisher mit Orinoco und mit
> Atheros erlebt.
Mit Atheros hat man gewisse Chancen, da ein Teil des relevanten
SW-Stacks von Atheros (oder auf deren Rechnung) programmiert wurde.
Allerdings ist es auch da Zufall, ob es brauchbar funktioniert oder
nicht, weil es von Kernelversion zu Kernelversion mehr oder weniger
stark schwankt.
>> Grundsätzlich funktioniert hat es schon, aber wenn mal schlechter
>> Empfang oder Störungen oder eine Betondecke im Spiel waren, kam es immer
>> mal wieder zu Verbindungsabbrüchen, die nicht von alleine wieder auf die
>> Füße gefallen sind. Oder aber er ist sich mit der Übertragungsrate nicht
>> einig geworden. Also Schwankungen zwischen Minimum (1MBit) und Vollgas
>> (54MBit), bei denen durch die ganzen Retries der Durchsatz faktisch auf
>> 0 ging.
>
> Wobei das Anpassen der Übertragungsrate an den gerade gebrauchten
> Durchsatz zum normalen Betriebsmodus gehört. Nur brauchbar implementiert
> muß es natürlich sein.
Eben. Genau da ist das Problem!
>> Oder er hat sich im wpa_supplicant verwurstelt, nachdem die
>> Verbindung mal kurz gestört war. Oder der USB-Stick ist zu heiß geworden
>> und dann ging der Rauschpegel hoch und erst dann nichts mehr.
>> Selbstverständlich wird derselbe Stick unter Win nicht so heiß.
>
> Da ist wahrscheinlich die Regelung der Sendeleistung nicht implementiert.
> Das wird die FCC nicht gern hören. ;-)
Vielleicht. Von den Ralink-USB-Devices weiß ich, daß Ralink in seinem
Treiber die USB-Schnittstelle ganz anders bedient, als die OSS-Kollegen.
Ralink verwendet die Bulk-Technik: große, aber dafür wenige USB-Pakte,
während die OSS-Kollegen das Device mit vielen kleinen
Paketen bedienen. Folge ist, daß das Teil heißer wird. Bei
MultiCore-Maschinen geht der Connect zum Device früher oder später
komplett verloren. Da hilf nur noch das Device ausstecken, alle
zugehörigen Module entladen und wieder neu laden und Device wieder
einstecken.
Regelung der Sendeleistung ist ein weiteres Thema. Gerade bei
Ralink-Devices funktioniert das im Zusammenhang mit dem nl80211-Ansatz
auch nicht (das heißt nicht, daß es bei anderen funktioniert oder auch
nicht). Da sieht man wieder genau, von wem (und wofür) dieser Stack
programmiert wurde.
Ein weiterer Punkt ist der Reauth (4 Way handshake) unter gleichzeitiger
Netzwerklast (egal, welches Device). Daß der funktioniert, ist
grundsätzlich reiner Zufall. Ist den Betroffenen bekannt, wird aber
nicht gefixt. Scheint mir mittlerweile so, daß das ein grundsätzliches
Designproblem von nl80211 sein könnte.
Als direkte Folge kann man dann 802.11w ebenfalls in die Tonne treten
(falls es vom gewünschten darunterliegenden Hardwaretreiber überhaupt
unterstützt wird).
Interessanterweise funktioniert der Reauth (4 way handshake) mit dem
hier getesteten Ralink-Legacy-Treiber (dabei nicht die
wext-Schnittstelle sondern die Ralink-Schnittstelle ohne wpa_supplicant
verwenden) problemlos ... .
Andreas