Скрипт для работы 3G USB модемов (подключение, отключение интернета)

В прошлой статье Автоматическое соединение с Интернетом по USB модему было предложено решение автоматического подключения USB модемов. В продолжении темы автоматического подключения публикую решение данного вопроса с помощью скрипта.

Первым делом рекомендую открыть свойства сетевого окружения, найти ваше подключение и переименовать его в название, состоящее из символов английского алфавита, например Internet, Megafon, MTS, Beeline, Korbina, Modem3G и т.д….

Далее в блокноте пишем

rasdial /d
ping -n 3 127.0.0.1 > nul
rasdial "MTS3G" /callback:*99#

На самом деле не пишем, а приведённый код копируем, вставляем в блокнот и сохраняем в файл с именем newip.bat

Кратко поясню строки скрипта для программной перезагрузки модема:

  • В первой строке разрывается текущее соединение с интернетом, если оно установлено. Если соединение не установлено то ничего не происходит.
  • Во второй строке пауза 3 секунды, можно уменьшить до одной секунды.
  • В третьей строке непосредственно соединение с интернетом, в кавычках вместо MTS3G укажите имя вашего соединения.

Если нужно выполнять перезапуск 3G модема с заданным интервалом, то можно воспользоваться планировщиком заданий или изменить скрипт так:

:newip
rasdial /d
ping -n 3 127.0.0.1 > nul
rasdial "MTS3G" /callback:*99#
ping 127.0.0.1 -n 3600 > NUL
goto newip

Здесь 3600 — это пауза в секундах до следующего срабатывания скрипта. 3600 секунд это 1 час, 600 это будет 10 минут, при необходимости поставьте нужное вам значение.

Если связь через 3G USB модем иногда отваливается, то для автоматического восстановления соединения можно использовать такой скрипт:

@echo off
:test3g
ping -n 10 ya.ru | find "TTL=" > nul
if errorlevel=1 start rasdial "MTS3G" /callback:*99#
if errorlevel=0 ping -n 10 127.0.0.1 > nul
goto test3g

Скрипт будет проверять наличие соединения с интернетом каждые 10 секунд и при отсутствии связи автоматически устанавливать соединение.

Запускать нужно с правами администратора.

Примечание: Вместо MTS3G укажите имя вашего соединения.

Дополнение к статье

Скрипт исправно работал у меня несколько недель. Недавно я обнаружил, что он пытается, после обрыва, восстановить подключение сети, но, безуспешно. Скрипт обнаруживает обрыв сети, но не может восстановить, так как не видит сетевых подключений, и даже, когда интернет подключен!? Что, где и как изменилось у меня в системе, не имею понятия, сам я ничего не изменял.

В общем, пока сделал так. После подключения интернета запускаю скрипт:

@echo off
:test3g
ping -n 60 ya.ru | find "TTL=" > nul
if errorlevel=1 start C:\pusk.ahk
if errorlevel=0 ping -n 10 127.0.0.1 > nul
goto test3g

который контролирует подключение и, при его обрыве, запускает другой скрипт pusk.ahk, размещенный в корне диска С:\pusk.ahk

#WinActivateForce 
WinActivate, Коннект Менеджер 
ControlFocus, 435, 211, Коннект Менеджер 
MouseClick, Left, 435, 211 
End

который организует непосредственно щелчок мышки на кнопке «Подключить» в окне «Коннект Менеджера», и выполняется подключение интернета. Так как это происходит не так быстро, я увеличил интервал проверки в первом скрипте до 1 минуты.

Для работы скрипта pusk.ahk нужна свободная утилита AutoHotkey, которая у меня была уже установлена.

ВАЖНО: скрипты работают только в том случае, если устройство работает в режиме модема!!!

Источник: http://wmzbaks.ru/forum/topic.php?forum=3&topic=23

Размещено в WINDOWS, Сеть и отмечено .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.