Задержка подключения RNDIS в Windows, а не в Linux
У меня есть два Android-смартфона, которые могут обеспечить подключение к Интернету через компьютер через USB через протокол RNDIS (Спецификация интерфейса удаленного сетевого устройства). У меня также есть два компьютера с двойной загрузкой Windows 7 Ultimate и некоторый колорит Linux (один из них имеет Fedora 17, другой – Ubuntu 12.04).
Когда я подключаю либо смартфон к компьютеру, либо к компьютеру, работающему под управлением Windows, я должен подождать около 90 секунд, прежде чем я смогу использовать свое интернет-соединение после подключения к телефону.
Когда я подключаю смартфон к любому компьютеру, а компьютер работает под управлением Linux, мне нужно подождать около 2,5 секунд, прежде чем я смогу использовать подключение к Интернету.
Мой вопрос: почему существует такая смехотворно длинная задержка на Windows?
В Windows он говорит «Идентификация …» на адаптере в течение примерно 60 секунд, затем говорит «Ограниченный или нет доступа», а затем, если я продолжаю обновлять свой браузер, EVENTUALLY это позволит мне просматривать. После этого все в порядке.
В Linux он подключается мгновенно, точно так же, как подключение Ethernet-кабеля. Бум, сделано.
Я не думаю, что это связано с оборудованием, потому что у меня есть два телефона от разных производителей (Motorola и HTC), работающих под управлением двух разных версий Android (2.3.6 и 4.0.4). На компьютере у меня есть Lenovo ThinkPad T530 и ручной рабочий стол. Я на самом деле пробовал это на двух отдельных ручных рабочих столах; Одна система Nehalem и один мост Айви. Насколько я могу судить, они не имеют абсолютно никакого отношения друг к другу.
Вещи, которые я пытался улучшить производительность в Windows:
-
ЧИСТАЯ установка Windows. Абсолютно ничего, кроме базовых драйверов, SP1 и критических обновлений. Нет программного обеспечения для VPN, нет программного обеспечения для обеспечения безопасности, нет программного обеспечения для виртуализации, никаких пользовательских драйверов сетевого фильтра, кроме тех драйверов, которые абсолютно необходимы для привязки к телефону.
-
Устранение всех параметров, кроме TCP / IPv4, в свойствах сетевого подключения (так, чтобы исключить QoS, клиент для сетей Microsoft, топологию Link-Layer и т. Д.
-
Установка статических IP-адресов и статических DNS-серверов.
Ничто из этого не помогает. Я просто не могу перемещаться в любом месте на компьютере до примерно 90 секунд после включения модемного соединения на телефоне, и проблема ТОЛЬКО возникает в Windows. В Linux все нормально.
Довольно презрительно. Для этого стоит мой драйвер RNDIS версии 6.1.7600.16385 и имя «Удаленное устройство для доступа к Интернету на базе NDIS», за которым обычно следуют номер # 2, # 9 и т. Д. Я использую подлинную копию Windows во всех случаях И я пробовал как OEM-сборку Windows из Lenovo (на ThinkPad), так и чистую установку Microsoft с розничного компакт-диска на моих настольных компьютерах.
Я столкнулся с проблемой, когда определенная игра (XCOM 2) испытала 3-5 секунд замораживания, а затем примерно 0,5 секунды подряд, повторяясь, в цикле, начиная с той части, где главное меню выполняет 3D-рендеринг Открытие scene. Вводные видеоролики визуализируются отлично. Очевидно, что играть в игру со скоростью 0,5 секунды игрового процесса каждые 5 секунд невозможно.
В конечном итоге я сузил это, только когда подключался мой USB-терминал Verizon Hotspot (Jetpack). Поэтому я подумал, что могу играть в XCOM 2 без Интернета или подключаться к Интернету, а не играть в XCOM 2. Поскольку это мой основной Подключение к Интернету, у меня не было альтернативы. Забавно, что эта проблема возникла спустя годы после того, как я задал этот вопрос по SU.
За исключением того, что проблема была на самом деле из-за неправильной настройки драйвера! Горячие точки USB (включая Android-смартфоны, привязанные к USB) выставляют себя в ОС через протокол Remote NDIS. NDIS прошел различные версии версий из Windows XP, Vista, 7, 8 и Windows 10. Наибольшее изменение NDIS было от версии 5.x до версии 6.x.
Так или иначе, когда я подключил свой Jetpack, Windows 10 (64-разрядная версия) установила драйверы NDIS версии 5.x для моего Jetpack, хотя драйверы версии 6.x также доступны для системы. Это фактически вызывает целый ряд серьезных проблем с такими приложениями, как встроенный апплет панели управления «Сетевые подключения», который занимает очень много времени для загрузки, но некоторые люди никогда не используют это приложение, поэтому они не подозревают, что это проблема. Тем не менее, я никогда не видел, чтобы это представляло проблему для игр.
Драйверы NDIS версии 6 работают с Windows Vista, поэтому он является настоящим головоломкой, почему ОС инициализирует его с помощью NDIS версии 5.x вместо 6. Однако, следуя этой ручной процедуре, чтобы заставить ее загружать NDIS 6.x, моя проблема с XCOM 2 полностью исчезла. Теперь все отлично!
Подробные инструкции по устранению этой проблемы находятся здесь: http://forum.xda-developers.com/android/general/fix-usb-tethering-lags-freezes-windows-t3039183
Короче говоря, вам нужно обновить драйвер на удаленном устройстве NDIS, затем вручную выбрать драйвер на вашем компьютере, а затем выбрать поставщика как Microsoft и драйвер как «USB RNDIS6». Это приведет к обновлению вашего драйвера и удару вашего интернет-соединения. После этого XCOM 2 будет работать плавно.
Если описанная мной процедура не работает, перейдите к форумам XDA, с которыми я связан выше, и есть другие альтернативные способы получения и установки версии NDIS 6 драйвера удаленного NDIS.
Престижность @DenisNikolaenko, который опубликовал решение в январе 2015 года, но я не видел его комментариев до сих пор.