Думаю многие счастливые обладатели высокоскоростного интернета от Yota сталкивались с этими двумя проблемами:

1. Соединение с интернетом пропадает полностью
2. Соединение как бы есть, но его нет (очень-очень низкая скорость)

Ниже способы борьбы с ними. Сразу отмечу, что решения для тех, у кого роутер Zyxel и usb-модем Yota.

Ping нам в помощь


Ребята из Zyxel видимо наслышаны о ситуациях, когда интернет отваливаются полностью, и сделали для нас Ping Checker. Это настройка позволяет проверять доступность какого-нибудь узла, пингуя его, если пакеты теряются, значит настало время перезагружать модем, что она автоматически и делает.



На рисунке настройки Ping Checker, 8.8.8.8 — public dns от Google вполне хороший узел для проверки.

Перезагружаем модем. Быстро, дешево, качественно


Когда соединение есть, и скорость неудовлетворительная или она просто почти на нуле, сервер гугла будет пинговаться, поэтому Ping Checker нам не поможет. Остается только перезагружать модем.

Можно:

1. Вытащить модем и вставить его заново;
2. Выключить/включить роутер;
3. Зайти в веб-интерфейс и перезагрузить модем там, нажав на соответствующую кнопку;
4. Подключиться через telnet и перезагрузить через CLI.

Последний способ и будет автоматизирован дальше. Перезагрузка модема будет требовать только двойного клика по иконке. К роутеру Zyxel можно подключиться через telnet, использую тот же логин и пароль, что и в веб-интерфейсе. После открывается CLI.

Вот тут лежит гайд по этой самой CLI. Для тех же, кто не читает инструкции, будет очень полезно знать что вопросительный знак ��ыводит список всех доступных команд, вопросительный знак после команды выводит список параметров команды.

Итак к делу. Сначала надо раздобыть называние интерфейса модема (можно посмотреть в веб-интерфейсе), у меня назывался YotaOne0:



Подключаемся через telnet, вводим логин и пароль, затем:

interface YotaOne0 usb power-cycle 0

Все, модем должен перезагрузиться.

Остается только автоматизировать вышеописанный процесс. Здесь, конечно, все зависит от ОС, которую вы используйте. Ниже bash-скрипт, скорее всего, для Windows можно сделать что-нибудь подобное:

#!/usr/bin/expect -f
spawn telnet 192.168.1.1
expect "Login: "
send "ВАШ_ЛОГИН(обычно admin)\r"
expect "Password: "
send "ВАШ_ПАРОЛЬ\r"
expect "(config)> "
send "interface YotaOne0 usb power-cycle 0\r"
send "exit\r"
interact

Создаем какой-нибудь файлик, допустим reboot_yota.command, заменяем логин и пароль на свои, выполняем:

chmod +x reboot_yota.command

Готово. Двойной клик по файлу, перезагружает модем.

Сразу подчеркну, тестировал только на Mac OS, работает прекрасно. Надеюсь, кому-нибудь поможет )