web-dev-qa-db-ja.com

LinuxではなくWindowsでのRNDIS接続の遅延

私は2台のAndroid RNDIS(リモートネットワークデバイスインターフェイス仕様)プロトコルを介してUSB経由でコンピューターにインターネット接続を提供できるスマートフォンを持っています。また、2台のコンピューターでWindows 7Ultimateをデュアルブートしています。 Linuxのフレーバー(1つはFedora 17、もう1つはUbuntu 12.04)。

どちらかのスマートフォンをどちらかのコンピューターに接続し、コンピューターがWindowsを実行している場合、電話からのテザリングを有効にした後、インターネット接続を使用できるようになるまで約90秒待つ必要があります。

どちらかのスマートフォンをどちらかのコンピューターに接続し、コンピューターがLinuxを実行している場合、インターネット接続を使用できるようになるまで約2.5秒待つ必要があります。

私の質問は、なぜWindowsでこんなに途方もなく長い遅延があるのか​​ということです。

Windowsでは、アダプタで約60秒間「識別中...」と表示され、次に「アクセスが制限されているかアクセスできない」と表示されます。ブラウザを更新し続けると、最終的には参照できるようになります。その後は大丈夫です。

Linuxでは、イーサネットケーブルを差し込むのと同じように即座に接続します。ブーム、完了。

異なるメーカーの2台の電話(MotorolaとHTC)が2つの異なるバージョンのAndroid(2.3.6と4.0.4)を実行しているため、ハードウェアに関連しているとは思いません。コンピューター側で。 、私はLenovo ThinkPad T530と手作りのデスクトップを持っています。実際に2つの別々の手作りのデスクトップで試してみました。1つはNehalemシステム、もう1つはIvy Bridgeです。私が知る限り、それらはまったく関係ありません。お互いに。

Windowsでのパフォーマンスを改善しようとしたこと:

  1. Windowsのクリーンインストール。ベースドライバー、SP1、重要なアップデート以外は絶対にありません。 VPNソフトウェア、セキュリティソフトウェア、仮想化ソフトウェア、カスタムnetfiltドライバーは、電話に接続するために絶対に必要なドライバーを除いて、まったくありません。

  2. ネットワーク接続プロパティでTCP/IPv4を除くすべてのチェックを外します(したがって、QoS、Microsoftネットワーク用クライアント、リンク層トポロジなどのチェックを外します。

  3. 静的IPサーバーと静的DNSサーバーの設定。

これはまったく役に立ちません。電話でテザリングを有効にしてから約90秒が経過するまで、コンピューターのどこにも移動できず、問題はWindowsでのみ発生します。 Linuxでは問題ありません。

これについてはかなり困惑しました。私のRNDISドライバーの価値はバージョン6.1.7600.16385で、名前は「リモートNDISベースのインターネット共有デバイス」で、通常は#2、#9などの番号が続きます。すべての場合にWindowsの正規のコピーを使用していますそして、Lenovo(ThinkPad上)からのWindowsのOEMビルドアウトと、デスクトップ上の小売CDからのクリーンなMicrosoftインストールの両方を試しました。

7
allquixotic

特定のゲーム(XCOM 2)で3〜5秒のフリーズが発生し、その後、メインメニューが3Dレンダリングを実行している部分から開始して、ループで通常、繰り返し、約0.5秒実行されるという問題が発生していました。オープニングシーン。イントロビデオはうまくレンダリングされます。明らかに、5秒ごとに0.5秒のゲームプレイ速度でゲームをプレイすることはできません。

最終的に、これをUSB Verizon Hotspot(Jetpack)が接続されている場合にのみ発生するように絞り込みました。したがって、インターネットなしでXCOM 2を再生するか、インターネットを接続してXCOM2を再生しないかのどちらかだと思いました。インターネット接続、私には代替手段がありませんでした。私がSUでこの質問をした数年後に、この問題が再び発生したのはおかしいです。

問題が実際にはドライバーの設定ミスが原因であったことを除いて! USBホットスポット(USB経由で接続されたAndroidスマートフォンを含む)は、リモートNDISと呼ばれるプロトコルを介してOSに公開されます。NDISは、Windows XP、Vista、7、8、およびWindowsからさまざまなバージョンリリースを経てきました。 10.最大のNDISの変更は、バージョン5.xからバージョン6.xへの変更でした。

どういうわけか、Jetpackを接続すると、バージョン6.xドライバーもシステムで使用できるにもかかわらず、Windows 10(64ビット)がJetpack用のNDISバージョン5.xドライバーをインストールしました。これは実際には、組み込みのコントロールパネルアプレット「ネットワーク接続」などのアプリケーションで多くの深刻な問題を引き起こします。これはロードに非常に長い時間がかかりますが、一部の人々はそのアプリを使用しないため、それが問題。しかし、これがゲームに問題を引き起こすのを見たことがありません。

NDISバージョン6ドライバーはWindowsVistaから存在しているため、OSが6ではなくNDISバージョン5.xで初期化する理由については、真の頭を悩ませています。ただし、この手動手順に従ってNDISを強制的にロードする場合6.xドライバー、XCOM2に関する私の問題は完全に解消されました。今ではすべてがうまくいきます!

この問題を修正するための詳細な手順は次のとおりです。 http://forum.xda-developers.com/Android/general/fix-usb-tethering-lags-freezes-windows-t303918

つまり、リモートNDISデバイスでドライバーを更新し、コンピューターでドライバーを手動で選択してから、ベンダーをMicrosoftとして、ドライバーを「USBRNDIS6」として選択する必要があります。これにより、ドライバーが更新され、インターネット接続が強化されます。その後、XCOM2はスムーズに動作します。

今説明した手順が機能しない場合は、上記のリンク先のXDAフォーラムにアクセスしてください。NDIS6バージョンのリモートNDISドライバーを入手してインストールする別の方法がいくつかあります。

2015年1月にソリューションを投稿した@DenisNikolaenkoに称賛を送りますが、彼のコメントは今まで見ていませんでした。

6
allquixotic