У меня есть два смартфона 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 с розничного компакт-диска на моих компьютерах.