7

У меня есть два смартфона 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:

  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 во всех случаях и я попробовал как OEM-сборку Windows от Lenovo (на ThinkPad), так и чистую установку Microsoft с розничного компакт-диска на моих компьютерах.

1 ответ1

6

У меня возникла проблема, когда в определенной игре (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 RNDIS6". Это обновит ваш драйвер и увеличит ваше интернет-соединение. После этого XCOM 2 будет работать без сбоев.

Если процедура, которую я только что описал, не работает, перейдите на форумы XDA, на которые я ссылался выше, и есть несколько других альтернативных способов получить и установить версию NDIS 6 для драйвера Remote NDIS.

Престижность @DenisNikolaenko, который опубликовал решение в январе 2015 года, но я не видел его комментарий до сих пор.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .