Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »CF_Faithhealer« (15.07.2008, 18:41)
Zitat
Ok, Zwischenstand meiner Forschungsarbeit:
Ursache allen Übels in der Dienst "Automatische WLAN-Konfiguration" (Wlansvc).
Dieser Dienst führt alle 60s einen WLAN Scan durch, gleichgültig ob man Verbunden ist oder nicht.
Je nachdem, wie gut die WLAN Hardware und die Treiber sind, führt dieser "Sendersuchlauf" zu einem mehr oder weniger langen Aussetzer des Netzwerks.
Mein RaLink Chipsatz fällt hier besonders negativ mit ~ 2.8 Sekunden auf.
Einstellungen in der Registry ("Scan Interval") interessieren den Dienst nicht und werden gnadenlos wieder auf 60000ms zurückgesetzt.
Es gibt aber 3 Flags, die den Dienst beeinflussen können:
Auto Config (True)
Background Scan (True)
Streaming Media Mode (False)
Die Werte in Klammern sind die Default Einstellungen.
Diese Flags können über die Native Wifi API gelesen und gesetzt werden.
Für das Flag Auto Config benötigt man Admin Rechte, für die anderen beiden nicht.
Setzt man Background Scan auf False dann reicht das aber noch nicht
man muss zusätzlich noch Streaming Media Mode auf True setzen.
Dann unterbleiben die Hintergrundscans.
Wenn man allerdings das Handle für die Native Wifi API wieder schliest, dann übernimmt
der Dienst wieder die Kontrolle und scannt wieder.
Also muss das Programm die ganze Zeit laufen und das ist unfein.
Solange mein Programm (programmiert mit Delphi) läuft, werden die Scans unterdrückt.
Das ist wohl das, was WLANOptimizer tut.
Mir scheint aber, dass der WLANOptimizer ein Problem mit mehreren WLAN Devices hat und immer nur die erste WLAN Karte umstellt.
Ich schau mal, ob man nicht ein einfaches Kommandozeilentool bauen kann...
Zitat
Ok, im Anhang ist mein Programm (programmiert mit Delphi 2007), dass den Background Scan unterdücken kann.
Nach dem Start das WLAN-Device auswählen und Knopf drücken.
Damit wird das Flag Backgroundscan deaktiviert und MediaStreamingMode aktiviert.
Wenn es mehr als ein Device gibt und das 1. deaktiviert ist, kann es direkt nach dem Start eine Fehlermeldung geben.
Dann ein aktives Device wählen.
Wird das Programm beendet, dann wird der BG Scan leider wieder aktiv.