Как перезагрузить USB-модем, подключенный к интернет-центру Keenetic
Интернет-центры Keenetic умеют управлять питанием USB-модемов без участия пользователя. Дело в том, что многие современные модемы — это самостоятельные устройства, которые стартуют и работают независимо от интернет-центра. С одной стороны, это хорошо. Но с другой, многие компактные USB-модемы рассчитаны главным образом на эпизодическую работу в ноутбуке, но не на круглосуточную работу, от которой они, увы, могут сбоить или зависать. В этом случае функция перезагрузки модема по питанию может восстановить связь.
Перезагрузку USB-модема по питанию можно выполнить следующими способами:
1. Перезагрузка через веб-конфигуратор интернет-центра.
Подключитесь к веб-интерфейсу интернет-центра по адресу http://my.keenetic.net, либо по IP-адресу 192.168.1.1, предустановленному по умолчанию. На стартовой странице "Системный монитор" нажмите "Подробнее о соединении" для отображения дополнительной информации и в строке "Модем" нажмите "Перезагрузить".
2. Перезагрузка через интерфейс командной строки интернет-центра.
Подключитесь к интерфейсу командной строки (CLI) интернет-центра и для требуемого USB-подключения укажите команду:
interface {name} usb power-cycle {pause}
Интерфейс USB-модема может быть любого типа — UsbModem
, UsbLte
, YotaOne
или CdcEthernet
. Узнать имя нужного интерфейса можно командой show interface
.
Значение {пауза}
— это интервал времени, на которое будет отключено питание на порту USB (в миллисекундах
). Например:
(config)> interface UsbQmi0 usb power-cycle 1000
3. Автоматическая перезагрузка USB-модема при потере соединения с сетью Интернет.
В случае, если USB-модем периодически зависает, можно настроить автоматическую перезагрузку модема по питанию при потере доступа к какому-либо внешнему узлу. Для этого нужно использовать функцию Ping Check. Подробно о настройке Ping Check можно прочитать в статье "Проверка доступности Интернета (Ping Сheck)". Настраивать проверку нужно для требуемого интерфейса USB-модема.
По умолчанию при использовании функции Ping Check для интерфейса USB-модема функция перезагрузки модема при потере соединения автоматически включена, чтобы исключить зависание модема как причину потери связи. Отключить ее можно через интерфейс командной строки (CLI) командой:
no ping-check profile {profile_name_connectivity-check} power-cycle
Чтобы снова включить, выполните команду:
ping-check profile {profile_name_connectivity-check} power-cycle
Например, для отключения автоматической перезагрузки на интерфейсе UsbQmi0
выполните команду:
(config)> no ping-check profile _WEBADMIN_UsbQmi0 power-cycle
Примечание
Помимо потери соединения встречаются случаи, когда модем пропадает из системы физически "сам по себе
", например из-за внутренних программных или аппаратных проблем модема или EMI (ElectroMagnetic Interference) — помех в USB-порту. Ядро при этом в логах выводит сообщение типа: ndmkernel: usb 1-1: USB disconnect, device number X
Причин подобной ситуации может быть много. В качестве решения можно подключить модем через короткий USB-кабель, переместить сам Keenetic с USB-модемом, в другое место, возможно помехи создает какое-либо устройство рядом с Keenetic'ом; подключить USB-модем через активный USB-хаб (с собственным питанием) к Keenetic'у; заменить модем, возможно он неисправен.
А можно решить проблему более радикально. Одному нашему заказчику, использующему большое число USB-модемов, в подобной ситуации помогла команда:
interface UsbQmi0 usb power-fail 60 reboot
где UsbLte0
– название интерфейса модема, для Yota это будет YotaOne0
.
При такой настройке, в описанной выше ситуации, USB-модем был перезагружен по питанию, после чего он начинал функционировать корректно.
Полный синтаксис команды:
interface {name} usb power-fail {interval} (retry {pause} | reboot)
Данная команда никаких действий с модемом не выполняет, а только включает дополнительные исправляющие механизмы в ситуации, когда power-cycle
не привела к восстановлению работы USB-устройства. Таких механизмов три:
1. Восстановление работы повторным сбросом питания командой interface {имя} usb power-fail {интервал} retry {пауза}
через указанный {интервал}
секунд на {паузу}
сек.
2. Восстановление работы устройства (подключения к Интернету) перезагрузкой всей системы командой interface {имя} usb power-fail {интервал} reboot
через {интервал}
сек. Повторного выключения и включения питания в этом случае не происходит. Если после power-cycle
USB-устройство не появилось в системе через {интервал}
сек, система полностью перезагружается.
3. Восстановление работы USB-устройств, которые в результате собственных внутренних сбоев самопроизвольно отключаются от шины USB, а затем появляются в системе как устройства, которые система KeeneticOS не может опознать (не CD-ROM и не USB-модем). Из этого состояния их можно вывести только повторным принудительным отключением питания.
Этот режим восстановления работает всегда, когда активна команда power-fail
. Это однократное действие, которое выполняется только при удалении устройства из порта. Оно будет повторяться, если устройство само после включения питания исчезает с шины. При этом значение {интервал}
, указанное в команде, игнорируется, а питание на USB-порту, к которому было подключено устройство, отключается сразу же после пропадания из системы и включается через 2 сек
.
Важно
В механизмах 1 и 2 для корректной работы значение {пауза}
должно быть меньше значения {интервал}
.
Для сохранения указанных выше настроек в памяти Keenetic, выполните команду:
system configuration save