Інтернет-центри Keenetic вміють керувати живленням USB-модемів без участі користувача. Справа в тому, що багато сучасних модемів - це самостійні пристрої, які стартують і працюють незалежно від інтернет-центру. З одного боку це добре. Але з іншого, багато компактних USB-модемів розраховані головним чином на епізодичну роботу в ноутбуці, але не на цілодобову роботу, від якої вони, на жаль, можуть збоїти або зависати. У цьому випадку функція перезавантаження модему може відновити зв'язок.
NOTE: Важливо! Інтернет-центри першого покоління в білому корпусі (Zyxel Keenetic, Zyxel Keenetic Giga та Zyxel Keenetic 4G), а також Zyxel Keenetic DSL, апаратно не підтримують функцію управління живленням на порту USB.
Перезавантаження USB-модему з живлення можна виконати такими способами:
1. Перезавантаження через веб-інтерфейс інтернет-центру.
Підключіться до веб-інтерфейсу інтернет-центру за адресою http://my.keenetic.net, або за IP-адресою 192.168.1.1, за замовчуванням. На стартовій сторінці "Системний монітор" натисніть "Докладніше про з'єднання" для відображення додаткової інформації та у рядку "Модем" натисніть "Перезавантажити".
2.Перезавантаження через інтерфейс командного рядка інтернет-центру.
Підключіться до інтерфейсу командного рядка (CLI) інтернет-центру та для необхідного USB-підключення введіть команду:
interface {ім'я} usb power-cycle {павза}
Інтерфейс USB-модему може бути будь-якого типу - UsbModem, UsbLte, або CdcEthernet. Дізнатись ім'я потрібного інтерфейсу можна командою show interface.
Значення {пауза} – це інтервал часу, на який буде вимкнено живлення на порту USB (млн). Наприклад:
(config)> interface CdcEthernet0 usb power-cycle 1000
3. Автоматичне перезавантаження USB-модема в разі втрати з'єднання з мережею Інтернет.
У випадку, якщо USB-модем періодично зависає, можна настроїти автоматичне перезавантаження модему по живленню при втраті доступу до зовнішнього вузла. Для цього необхідно використовувати функцію Ping Check. Детально про налаштування Ping Check можна прочитати у статті "Перевірка доступності Інтернета (Ping Сheck)". Налаштовувати перевірку потрібно для потрібного інтерфейсу USB-модему.
За замовчуванням під час використання функції Ping Check для інтерфейсу USB-модема функція перезавантаження модему при втраті з'єднання автоматично увімкнена, щоб виключити зависання модему як причину втрати зв'язку. Вимкнути її можна через інтерфейс командного рядка (CLI) командою:
no ping-check profile {ім'я_профайлу_connectivity-check} power-cycle
Щоб увімкнути знову, виконайте команду:
ping-check profile {ім'я_профайлу_connectivity-check} power-cycle
Наприклад, для вимкнення автоматичного перезавантаження на інтерфейсі CdcEthernet0 виконайте команду:
(config)> no ping-check profile _WEBADMIN_CdcEthernet0 power-cycle
Примітка 1
Перезавантаження USB-модема при втраті з'єднання відбувається лише один раз, коли Ping Check ідентифікує обрив зв'язку. Якщо з якихось причин після перезавантаження модем не зміг встановити з'єднання з мережею оператора (наприклад, в умовах нестабільного сигналу), повторного перезавантаження не буде (доки зв'язок з оператором знову не встановиться і до чергового обриву зв'язку з перевірочним вузлом функції) Ping Check. Таким чином виключено можливість виходу USB-модему з ладу через постійне перемикання живлення у разі неможливості підключення до мережі оператора.
Примітка 2
Крім втрати з'єднання трапляються випадки, коли модем пропадає із системи фізично "сам по собі", наприклад через внутрішні програмні або апаратні проблеми модему або EMI (ElectroMagnetic Interference) — завади в USB-порту. Ядро при цьому у логах виводить повідомлення типу: ndmkernel: usb 1-1: USB disconnect, device number X
Причин такої ситуації може бути багато. Як рішення можна підключити модем через короткий USB-кабель, перемістити сам Keenetic з USB-модемом, в інше місце, можливо, завади створює будь-який пристрій поруч з Keenetic'ом; підключити USB-модем через активний USB-хаб (з власним живленням) до Keenetic; замінити модем, можливо, він несправний.
А можна вирішити проблему радикальніше. Одному нашому замовнику, який використовує велику кількість USB-модемів, у подібній ситуації допомогла команда:
interface UsbLte0 usb power-fail 60 reboot
де UsbLte0 – назва интерфейсу модему.
При такому налаштування, в описаній вище ситуації, USB-модем був перезавантажений по живленню, після чого він починав функціонувати коректно. Повний синтаксис команди:
interface {ім'я} usb power-fail {інтервал} (retry {павза} | reboot)
Перед її додаванням необхідно оновити KeeneticOS до версії 2.10.С0 та вище.
Ця команда ніяких дій з модемом не виконує, а тільки включає додаткові механізми, що виправляють у ситуації, коли 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 сек.
NOTE: Важливо! У механізмах 1 і 2 для коректної роботи значення {павза} має бути меншим за значення {інтервал}.
Для збереження вказаних вище налаштувань у пам'яті Keenetic виконайте команду:
system configuration save