Задержка соединения с RNDIS в Windows, а не в Linux
У меня есть два смартфона Android, которые могут подключаться к Интернету через компьютер по протоколу RNDIS (спецификация интерфейса удаленного сетевого устройства). У меня также есть два компьютера с двойной загрузкой Windows 7 Ultimate и несколько разновидностей Linux (на одном из них установлена Fedora 17, на другом - Ubuntu 12.04).
Когда я подключаю какой-либо смартфон к любому компьютеру, и компьютер работает под управлением Windows, мне нужно подождать около 90 секунд, прежде чем я смогу использовать свое интернет-соединение после включения модема с телефона.
Когда я подключаю какой-либо смартфон к любому компьютеру, и компьютер работает под управлением Linux, мне нужно подождать около 2,5 секунд, прежде чем я смогу использовать свое интернет-соединение.
У меня вопрос, почему на Windows такая смехотворно долгая задержка?
В Windows он говорит "Идентификация..." на адаптере в течение примерно 60 секунд, затем говорит "Ограниченный доступ или нет доступа", а затем, если я продолжу обновлять свой браузер, в конечном итоге он позволит мне просматривать. После этого все в порядке.
В Linux он подключается мгновенно, как при подключении кабеля Ethernet. Бум, готово.
Я не думаю, что это связано с аппаратным обеспечением, потому что у меня есть два телефона от разных производителей (Motorola и HTC) под управлением двух разных версий Android (2.3.6 и 4.0.4). Со стороны компьютера у меня есть Lenovo ThinkPad T530 и настольный компьютер ручной работы. Я действительно попробовал это на двух отдельных рабочих столах ручной сборки; одна система Nehalem и один мост Ivy. Насколько я могу судить, они абсолютно не связаны друг с другом.
Вещи, которые я пытался улучшить производительность в Windows:
ЧИСТАЯ установка Windows. Абсолютно ничего, кроме базовых драйверов, SP1 и критических обновлений. Никакого программного обеспечения VPN, никакого программного обеспечения для обеспечения безопасности, никакого программного обеспечения для виртуализации, никаких пользовательских драйверов netfilt вообще, кроме тех драйверов, которые абсолютно необходимы для подключения к телефону.
Отключение всех параметров, кроме TCP/IPv4, в свойствах сетевого подключения (например, отключение QoS, клиента для сетей Microsoft, топологии канального уровня и т. Д.
Настройка статического IP-адреса и статических DNS-серверов.
Ничто из этого не помогает вообще. Я просто не могу перемещаться где-либо на компьютере до тех пор, пока около 90 секунд после включения модема на телефоне, и проблема возникает ТОЛЬКО в Windows. В Linux это нормально.
Довольно озадачен по этому поводу. Для чего стоит мой драйвер RNDIS версии 6.1.7600.16385 и имя "Удаленное устройство общего доступа к Интернету на основе NDIS", за которым обычно следуют цифры типа #2, #9 и т. Д. Я использую подлинную копию Windows во всех случаях и я попробовал как OEM-сборку Windows от Lenovo (на ThinkPad), так и чистую установку Microsoft с розничного компакт-диска на мои настольные компьютеры.
1 ответ
У меня возникла проблема, когда в определенной игре (XCOM 2) происходило зависание в течение 3-5 секунд, а затем примерно 0,5 секунды в обычном режиме, многократно, в цикле, начиная с той части, где главное меню выполняет 3D-рендеринг Открытие сцены. Вступительное видео хорошо. Очевидно, что играть в игру со скоростью 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 RNDIS 6". Это обновит ваш драйвер и увеличит ваше интернет-соединение. После этого XCOM 2 будет работать без сбоев.
Если процедура, которую я только что описал, не работает, перейдите на форумы XDA, на которые я ссылался выше, и есть несколько других альтернативных способов получить и установить версию NDIS 6 для драйвера Remote NDIS.
Спасибо @DenisNikolaenko, который опубликовал решение в январе 2015 года, но я не видел его комментарий до сих пор.