RNDIS-Verbindungsverzögerung unter Windows, nicht unter Linux

7

Ich habe zwei Android-Smartphones, die ihre Internetverbindung zu einem Computer über USB über das RNDIS-Protokoll (Remote Network Device Interface Specification) bereitstellen können. Ich habe auch zwei Computer, die Windows 7 Ultimate dual booten, und eine Linux-Variante (einer von ihnen hat Fedora 17, der andere Ubuntu 12.04).

Wenn ich ein Smartphone an einen Computer anschließe und auf dem Computer Windows ausgeführt wird, muss ich etwa 90 Sekunden warten, bevor ich meine Internetverbindung nutzen kann, nachdem ich das Tethering vom Telefon aus aktiviert habe.

Wenn ich ein Smartphone an einen Computer anschließe und auf dem Computer Linux ausgeführt wird, muss ich ungefähr 2,5 Sekunden warten, bevor ich meine Internetverbindung nutzen kann.

Meine Frage ist, warum gibt es so eine lächerlich lange Verzögerung unter Windows?

Unter Windows wird auf dem Adapter für ca. 60 Sekunden "Identifying ..." (Identifizieren) und dann "Limited Or No Access" (Eingeschränkter oder kein Zugriff) angezeigt. Wenn ich dann meinen Browser immer wieder aktualisiere, lasse ich ihn EVENTUELL durchsuchen. Danach ist es OK.

Unter Linux wird die Verbindung sofort hergestellt, genau wie beim Anschließen eines Ethernet-Kabels. Boom, fertig.

Ich halte es nicht für hardwarebezogen, da ich zwei Telefone verschiedener Hersteller (Motorola und HTC) habe, auf denen zwei verschiedene Versionen von Android (2.3.6 und 4.0.4) ausgeführt werden. Auf der Computerseite habe ich ein Lenovo ThinkPad T530 und einen handgemachten Desktop. Ich habe es tatsächlich auf zwei separaten handgefertigten Desktops versucht. ein Nehalem-System und eine Ivy Bridge. Soweit ich das beurteilen kann, haben sie absolut nichts miteinander zu tun.

Dinge, die ich versucht habe, um die Leistung unter Windows zu verbessern:

  1. SAUBERE Installation von Windows. Absolut nichts außer Basistreibern, SP1 und wichtigen Updates. Keine VPN-Software, keine Sicherheitssoftware, keine Virtualisierungssoftware, keine benutzerdefinierten Netzfilt-Treiber, außer den Treibern, die für die Anbindung an das Telefon unbedingt erforderlich sind.

  2. Deaktivieren Sie in den Netzwerkverbindungseigenschaften alle außer TCP / IPv4 (deaktivieren Sie also QoS, Client für Microsoft-Netzwerke, Link-Layer-Topologie usw.).

  3. Festlegen von statischen IP- und DNS-Servern.

Nichts davon hilft überhaupt. Ich kann auf dem Computer erst ungefähr 90 Sekunden nach dem Aktivieren der Tethering-Funktion auf dem Telefon navigieren, und das Problem tritt NUR unter Windows auf. Unter Linux ist das in Ordnung.

Ziemlich ratlos darüber. Mein RNDIS-Treiber ist die Version 6.1.7600.16385 und der Name lautet "Remote NDIS based Internet Sharing Device", gefolgt von einer Zahl wie 2, 9 usw. Ich verwende in allen Fällen eine Originalversion von Windows und ich habe sowohl ein OEM-Buildout von Windows von Lenovo (auf dem ThinkPad) als auch eine saubere Microsoft-Installation von der Verkaufs-CD auf meinen Desktops ausprobiert.

allquixotic
quelle
1
Es gibt einen KB-Artikel, der verwandt sein kann. Es wird empfohlen, den RNDIS-Treiber von 5.0 auf die Version 6.x zu aktualisieren. Der Treiber sollte vom HW-Hersteller geliefert werden. support.microsoft.com/kb/2923775
Denis Nikolaenko

Antworten:

6

Ich hatte ein Problem, bei dem ein bestimmtes Spiel (XCOM 2) 3-5 Sekunden lang eingefroren wurde, gefolgt von einer normalen Wiederholung von 0,5 Sekunden in einer Schleife, beginnend mit dem Teil, in dem das Hauptmenü das 3D-Rendering des Computers ausführt Eröffnungsszene. Die Intro-Videos rendern einwandfrei. Offensichtlich ist es nicht spielbar, das Spiel alle 5 Sekunden mit einer Geschwindigkeit von 0,5 Sekunden zu spielen.

Ich habe dies schließlich so eingegrenzt, dass es nur dann auftritt, wenn mein USB-Verizon-Hotspot (Jetpack) eingesteckt ist. Daher dachte ich, ich könnte entweder XCOM 2 ohne Internet spielen oder mein Internet einstecken und nicht XCOM 2. Da dies mein primäres ist Internetverbindung hatte ich keine Alternative. Komisch, dass dieses Problem Jahre nach meiner Frage an SU wieder auftauchte.

Nur, dass das Problem tatsächlich auf eine falsche Treiberkonfiguration zurückzuführen war! USB-Hotspots (einschließlich über USB angebundener Android-Smartphones) setzen sich über ein Protokoll namens Remote NDIS dem Betriebssystem aus. NDIS hat verschiedene Versionsversionen von Windows XP, Vista, 7, 8 und Windows 10 durchlaufen. Die größte NDIS-Änderung war von Version 5.x auf Version 6.x.

Als ich mein Jetpack einsteckte, installierte Windows 10 (64-Bit) irgendwie die NDIS-Treiber der Version 5.x für mein Jetpack, obwohl die Treiber der Version 6.x auch für das System verfügbar sind. Tatsächlich verursacht dies eine ganze Reihe schwerwiegender Probleme mit Anwendungen wie dem in der Systemsteuerung integrierten Applet "Network Connections" (Netzwerkverbindungen), dessen Laden sehr lange dauert. Einige Benutzer verwenden diese App jedoch nie, sodass sie keine Ahnung haben, dass dies der Fall ist ein Problem. Ich habe jedoch noch nie gesehen, dass dies ein Problem für Spiele darstellt.

Die NDIS-Treiber der Version 6 gibt es bereits seit Windows Vista. Daher ist es ein echter Kopfzerbrecher, warum das Betriebssystem die NDIS-Version 5.x anstelle von 6 initialisiert. Wenn Sie jedoch dieses manuelle Verfahren befolgen, müssen Sie das Laden der NDIS erzwingen 6.x Treiber, mein Problem mit XCOM 2 ist komplett verschwunden. Jetzt läuft alles super!

Die detaillierten Schritte zur Behebung dieses Problems finden Sie hier: http://forum.xda-developers.com/android/general/fix-usb-tethering-lags-freezes-windows-t3039183

Kurz gesagt, Sie müssen den Treiber auf Ihrem Remote-NDIS-Gerät aktualisieren, dann manuell einen Treiber auf Ihrem Computer auswählen und dann den Hersteller als Microsoft und den Treiber als "USB RNDIS6" auswählen. Dadurch wird Ihr Treiber aktualisiert und Ihre Internetverbindung gestört. Danach läuft XCOM 2 reibungslos.

Wenn das soeben beschriebene Verfahren nicht funktioniert, besuchen Sie die XDA-Foren, auf die ich oben verwiesen habe, und es gibt einige andere alternative Möglichkeiten, eine NDIS 6-Version des Remote-NDIS-Treibers abzurufen und zu installieren.

Ein großes Lob an @DenisNikolaenko, der die Lösung im Januar 2015 gepostet hat, aber ich habe seinen Kommentar erst jetzt gesehen.

allquixotic
quelle