Categories:

WLAN Roaming Problem mit Oneplus 6 und Android 11 / OxygenOS 11

Veröffentlicht von empy
Lesezeit: 6 Minuten

Seit dem Update meines Oneplus 6 auf Android 11 bzw. OxygenOS 11 vor ein paar Wochen habe ich WLAN-Probleme: Unter gewissen Umständen komme ich nicht mehr ins Internet und neben dem WLAN-Symbol erscheint ein Ausrufezeichen (!). Leider tritt das Problem nicht regelmäßig auf. Ich konnte das Problem etwas eingrenzen und denke, dass ein möglicher Fehler am Endgerät selbst liegt. An meiner WLAN-Infrastruktur wurde nichts geändert und vor dem Update war das Problem nicht da.

Nach dem Update auf Android 11 / OxygenOS 11 hat mein Oneplus 6 Probleme beim WLAN-Roaming. Mein Aruba Instant Cluster stellt durch mehrere Access Points eine SSID im 2,4-GHz-Band zur Verfügung. Wenn mein Smartphone das WLAN wechselt und ich dabei den Bildschirm gesperrt habe, verliert das Gerät die Netzwerk-Konnektivität obwohl es den Roaming-Vorgang korrekt abgeschlossen hat. Dies beweist mein angefertigter Paketmitschnitt. Das Oneplus 6 zeigt dann in den WLAN-Einstellungen sogar den falschen Kanal an. Nur ein erneutes Verbinden mit dem WLAN hilft als Workaround.

Fehlersuche WLAN-Roaming unter Android 11 (Oneplus 6)

Nachdem ich dem WLAN-Roaming-Problem beim Oneplus 6 das erste Mal begegnet bin, dachte ich mir nichts. Immerhin kann es selbst bei gut gemachtem WLAN vorkommen, dass es aus den verschiedensten Gründen zu Problemen kommt: Zu groß sind die Einflüsse im elektromagnetischen Spektrum durch Interferenzen und Störungen. Da mein WLAN meiner Auffassung nach sehr gut funktioniert, war ich nicht weiter irritiert, als hinter dem WLAN-Symbol auf meinem Smartphone zum ersten Mal ein Ausrufezeichen (!) erschien. Kann vorkommen, dachte ich mir. Ich verband mich neu mit meinem WLAN und alles war gut.

WLAN verbunden, aber kein Internet.

Es liegt am WLAN-Roaming?

Denkste. Leider wiederholte sich der oben beschriebene Fehler in den nächsten Tagen ungewöhnlich oft und das Ausrufezeichen (!) wurde mein bester Freund. Also beobachtete ich die Umstände, unter denen der Fehler auftrat.

Ich konnte das Problem schnell eingrenzen: Immer, wenn ich im eigenen WLAN roamte, sprich den Access Point unter gleicher SSID wechselte, standen die Chancen gut, dass der Fehler auftauchte und ich zwar im WLAN war, aber keine Konnektivität ins Netzwerk hatte. Um Roaming zu erleichtern, nutzt mein Aruba Instant Cluster die Standards 802.11r (fast basic service set transition) und 802.11v (wireless network management). 802.11k musste ich aufgrund von Problemen mit meinem Amazon Fire TV-Stick deaktivieren.

Nach weiteren Tagen der Beobachtung entschloss ich mich, eine Paketanalyse zu machen. Wichtig hierbei: Ich musste alle Kanäle in den Packet Capture einschließen. Nur so würde ich ein vollständiges Bild des WLAN-seitigen Roaming-Verhaltens bekommen. Nachdem ich also das Monitoring der WLAN-Frames mit Wireshark in Betrieb genommen hatte, versuchte ich das WLAN-Roaming zu triggern, indem ich mich räumlich von einem Access Point weg- und zum anderen Access Point hinbewegte. Während des gesamten Versuchs pingte ich das Oneplus 6 von einem anderen Computer im gleichen Netzwerk an. So überprüfte ich, ob die Konnektivität bestehen bleibt.

Das Vorgehen habe ich in folgendem Video festgehalten. Im oberen Bereich seht ihr Wireshark und den laufenden Paketmitschnitt. Ich habe aus meinem WLAN-Profil für Wireshark den Anzeigefilterknopf „Full Roaming Check“ benutzt, um genau diejenigen Frames anzuzeigen, die den Roaming-Vorgang betreffen.

Roaming-Verhalten und Netzwerkkonnektivität bei aktiviertem Bildschirm.

Das Video zeigt einen funktionierenden Roaming-Vorgang meines Oneplus 6. Während des Prozesses (Authentication, Reassociation Request, Reassociation Response) und nach Abschluss des WLAN-Roaming gab es keinerlei Aussetzer bzw. Zeitüberschreitungen beim Ping-Test.

Ich wiederholte den Test über mehrere Tage. Während der gesamten Testreihe (es waren bestimmt etwa 30 Testvorgänge, auf verschiedene Tage und Uhrzeiten verteilt) hatte ich nicht ein einziges Mal das Problem mit dem Ausrufezeichen (!) im WLAN und eingeschränkter Konnektivität. Nun, immerhin passt das zu den Daten, die Wireshark anzeigt. Nichts deutete auf einen Fehler hin und alles schien zu funktionieren. Auch mein Aruba Instand Cluster bestätigte, dass das Roaming einwandfrei funktionierte.

Realistischeres Testszenario: Zwei Tage Packet Capturing

In der Hoffnung, das Problem hätte sich in Luft aufgelöst (wie konnte ich nur so gutgläubig sein), freute ich mich an der Nutzung meines Smartphones. Wenn Dinge funktionieren, sollte man die Probleme nicht wieder heraufbeschwören. Aber ich gebe zu: Ich wusste noch immer nicht, was eigentlich das Problem war. Das fuchst mich, Lerneffekt ist da gleich Null.

Leider tauchte das Problem wieder auf. Und meine Laune verschlechterte sich. Wenn es zu WLAN-Problemen kommt, müsste ich sie doch über das Packet Capturing erkennen können. War mein Testszenario falsch?

Da im obigen Testszenario nie das Problem mit dem Ausrufezeichen (!) auftauchte, konnte der Test selbst wohl auch keine relevanten Umstände und mögliche Fehlerursachen aufzeichnen. Ich beschloss daher, das Testszenario zu wiederholen und den Paketmitschnitt so lange laufen zu lassen, bis der Fehler wieder auftauchte.

Gesagt getan. Nachdem der Paketmitschnitt lief, lehnte ich mich zurück und ich nutzte mein Oneplus 6 ganz normal weiter. Sobald der Fehler auftauchte, würde ich in Wireshark der Sache dann schon auf die Spur kommen.

Der Lock-Screen ist schuld

Am zweiten Tag hatte ich den Fehler wieder. Das Ausrufezeichen (!) erschien, ich war zwar im WLAN eingebucht, hatte aber keine Netzwerkkonnektivität. Voller Freude machte ich mich daran, den Paketmitschnitt zu untersuchen.

Der Paketmitschnitt zeigte mir viele Details zum Verhalten meines Oneplus 6 an. Durch die Zeitstempel konnte ich die relevanten Pakete sehr schnell eingrenzen. Ich musste einfach die Uhrzeiten vergleichen. Spannend: Kurz vor dem Auftreten des Fehlers auf meinem Handy wurde ein Roaming-Vorgang erfolgreich abgeschlossen.

Okay, das kannte ich schon vom ersten Test. Die Pakete und die Informationen aus Aruba Instant zeigen allerdings eindeutig, dass das WLAN-Roaming erfolgreich abgeschlossen wurde. Warum kam es dann diesmal zum Fehler, während im ersten Test nicht ein einziger Fehlerfall auftauchte?

Ich verglich den Anwendungsfall des ersten Tests mit dem Anwendungsfall des zweiten Tests. Während ich beim ersten Test stets das Display des Smartphones im Blick hatte (und auf das Ausrufezeichen hoffte), hatte ich mein Smartphone mit inaktivem Display in der Hosentasche, als das WLAN-Roaming triggerte. Sollte das der Unterschied sein? Ich mache es kurz: Genau so war es!

Mit nichts als dieser kühnen These setzte ich den Test zurück. Ich baute das gleiche Test-Szenario erneut auf. Auch der Ping-Test wurde wieder aktiviert. Aber anstatt während des WLAN-Roaming wie blöd auf das Display meines Oneplus 6 zu glotzen, lies ich das Display bei diesem Versuch ausgeschaltet während ich mich räumlich auf den anderen Access Point zubewegte. Dort verweilte ich einen Moment und schaltete dann das Display an. Siehe da, das WLAN-Symbol hatte das Ausrufezeichen (!). Ich deaktivierte das Display wieder und ging wieder zu meinem Ausgangspunkt. Das Ganze habe ich in folgendem Video aufgezeichnet.

Roaming-Verhalten und Netzwerkkonnektivität bei ausgeschaltetem Bildschirm.

Auch bei ausgeschaltetem Display roamte mein Oneplus 6, wie der Paketmitschnitt (und auch Aruba Instant) beweist. Nach dem Roaming-Vorgang bei ausgeschaltetem Display verlor das Smartphone dann aber die Konnektivität. Dies konnte der Ping-Test beweisen, denn das Oneplus 6 konnte dann nicht mehr angepingt werden.

Es scheint am Endgerät zu liegen.

Das obige Ergebnis konnte ich nun beliebig oft nachstellen. WLAN-Roaming funktionierte einwandfrei, solange der Bildschirm nicht gesperrt war. Wenn das Display ausgeschaltet war, verlor das Oneplus 6 die Konnektivität, sofern bei ausgeschaltetem Display ein WLAN-Roaming-Vorgang ausgeführt wurde.

Während der Paketmitschnitt eindeutig anzeigte, dass das Smartphone erfolgreich den Access Point gewechselt hatte, zeigte das Oneplus 6 selbst noch den alten Kanal (vor dem Roaming) an.

Falscher Kanal wird angezeigt. Kanal 11 ist der Kanal des alten Access Points vor dem Roaming.

Vor dem Update auf Android 11 tauchte das Problem nie auf. Erst seit dem Update kam es zu Problemen, an meiner WLAN-Infrastruktur hat sich nichts geändert. Deshalb ist halte ich es für sehr wahrscheinlich, dass ein Bug in der Software des Oneplus 6 vorliegt. Offenbar haben auch andere Benutzer ähnliche Probleme nach dem Update.

Ich werde den Oneplus-Support informieren und werde sehen, ob bereits an einer Lösung für das Problem gearbeitet wird. Ich werde berichten.

Update vom 29. September

Ich stehe mit dem Oneplus-Support in Kontakt. Nach dessen Anleitung habe ich separate Logfiles von Android erstellt und den Kollegen übermittelt. Diese überprüfen nun den Sachverhalt.

Heute hat Oneplus das Update 11.1.1.1 von OxygenOS veröffentlicht. Ich habe mein Testsetup von oben erneut ausgeführt, leider ist der Fehler immer noch existent. Sobald sich etwas tut, melde ich mich wieder.

Update vom 23. Juni 2022

Nichts zu machen. Oneplus hat den Support für das Oneplus 6 eingestellt. Die Fehlfunktion im WLAN hat den Hersteller absolut nicht interessiert. Lediglich ich hatte viel Arbeit, die entsprechenden Logdateien zu erheben. Machen das andere Hersteller besser?