Linux перезагрузка usb модема

Обновлено: 06.07.2024

В качестве подопытных кроликов выступали модем ZTE MF-170 и дистрибутив Ubuntu 9.04:

Как показано выше, в ответ на наш запрос система выдала список обнаруженных ей USB устройств с их идентификаторами. В ответе я выделил идентификатор только что подключенного мной модема. Красным он выделен потому, что это идентификатор не модемной части, а виртуального CDROM-а. То есть, нам нужно что-то сделать с этим устройством, чтобы оно переключилось из CDROM-а в модем.

Очень жаль, ибо без него нам никак!

После того, как скачали, на всякий случай проверяем, что в той папке, в которой мы находимся в текущий момент, присутствуют два deb-пакета, которые мы собрались устанавливать:

Всё, теперь пакеты usb-modeswitch и usb-modeswitch-data установлены! Можем их использовать.

Чтож, запускаем программу и указываем ей в командной строке какой файл конфигурации устройства использовать:

Как видим, переключение прошло успешно. Посмотрим теперь, какие USB-устройства есть в системе:

Отлично! В системе наблюдается USB-модем(ы). Пора его (их) использовать по назначению.

Установили! Теперь ее нужно сконфигурировать. Первым делом, нужно предоставить программе возможность попытаться автоматически выполнить предварительную настройку. Для этого вводим команду:

Вот что было в моем файле по умолчанию (после выполнения предварительной самонастройки):

В итоге я отредактировал свой файл конфигурации, и он стал выглядеть следующим образом:

Признаком того, что вы подключились к интернету, является факт получения вашим модемом локального адреса, адреса шлюза, и двух адресов серверов DNS (все это выделено зеленым цветом выше). На всякий случай можно проверить, какие адреса серверов DNS использует система после того, как произошло подключение:

Советую также прочесть следующие записи блога:

    (комментариев - 0) (комментариев - 15) (комментариев - 0) (комментариев - 6) (комментариев - 0)

Толково, подробно расписано! Нигде не попадалась такая подробная консультация! Спасибо!

спасибо очень полезно

Спасибо. Но у меня нет в etc/usb_modeswitch.d такого vid равен 0bb4 и pid равен 0b3b, подскажите плз. что делать,
У меня HTC Imageo xv6975

модем franklin u210 система обнаружила но к интернету не подключаеться. Что делать?

огромное спасибо автору

Понимаете ли, Юрий!

Качать (вот ведь чудо-то какое!) можно и в виндовсе! Причем, можно скачать и те пакеты, которые в заметке перечислены как недостающие (поискав их на том же самом сайте). Качаете, любым понятным вам способом переносите их в линукс, а потом просто устанавливаете той самой командой, которая и описана в заметке:
sudo dpkg -i *

Пользовался и тем и тем, но в консольном режиме с USBDeview не получается.
Как например, просмотреть серийные номера и т.п.
Как я не пробывал, не получается ничего подобного, и к тому же запускается окно USBDeview.
Подскажите на примере, пожалуйста.

Паук,
хелп конечно читал, вариант вывода в файл работает, но меня интересовало аналогичное этому:
devcon status usb\*

т.е. вывод не всего и в файл, а конкретное значение и в консоль.

СПАСИБИЩЕ Вам за советы и проделанную работу!
вопросик: нельзя ли к USBDeview /enable_by_pid 19d2;fffe прикрутить if, записать в батник и поставить на расписание каждую минуту, чтобы не рвать связь каждый раз, а автоматом если модем оффлайн then USBDeview /enable_by_pid 19d2;fffe
СПАСИБО!

Этот процесс автоматизирован? или руками?

Поделитесь, пожалуйста, автоматизацией.

Присоединяюсь к запросу, как расписал автоматом?)

Скоро сооружу статейку

Оченно просим сделать!

Странно, а у меня UsbDeview не отключаем модем Huawei, хотя пробовал и в консоли и в программе

пробовал, все равно не получатся, сам модем уже не работает, а вот корневой usb концентратор все равно работает
поступил таким образом:
сначала в гипертерминале отключаем модем, после его перезагружаем из гипертерминала командой, и пока не перезагрузился включаем devcon (usbdeview) и отключаем корневой usb концентратор, только таким образом получилось отключить usb
только вот возник сразу же попутный вопрос: а можно ли как-нибудь прописать команды для 3g модема из командной строки, т.е. сделать bat-файл, в котором бы запускался терминал или его аналог и далее в этом файле содержались бы команды для модема. получается, что запускаем bat-файл и из него передаются команды на модем и он отключается? искал, пока такое решение нигде не нашел, может Вы, что сможете придумать и подсказать?

Можно
Либо echo at+cfum=1 > com7
но не всегда работает
Или через putty: нужно в нем создать профиль modem и файл init c содержимым at+cfum=1
Затем plink -load modem Interest пишет:
18.11.2010 в 15:40

погуглил, что-то не получилось найти информацию об этом файле ini, что это такое? и как его создавать?

Pauk, странно и таким образом не хочет, просто зависает командная строка и все. после создания профиля modem и набора в командной строке plink -load modem можно задавать команды, как если бы просто набрал plink, а как только добавляю < init, никакой реакции со стороны модема и командная строка зависает, в ней нельзя ничего набрать

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

нашел талмуд, однако и там о совмещенной команде не написано, тем нее менее, Паук, спасибо за помощь.

Большое вам спасибо!

Вот ТЕСТОВЫЙ cmd скрипт с пингованием инета.
Настройки изменить под себя (имя соединения, логин, пароль, ID модема)
Используйте на свой страх и риск, за последствия (и кучерявые руки) не ручаюсь.

Попробуй программу MonConnInet
Автоматически перезагрузит любой модем, команду перезагрузки указать в настройках программы

B@rs, ну и причем тут dsl модемы с интерфейсом ethernet к USB модемам?

Можно скрипт ещё раз выложить?Спасибо.

Подниму эту тему ещё разок. Есть десятая винда и йота модем. Последний виснет наглухо раз в 6 часов. Вышеуказанными способами победить не удалось. Devcon в 10ке отказывается работать. В линуксе все более менее ясно и осуществимо. Есть какие нибудь варианты с десяткой?

Вы здесь: Главная Статьи Роутеры, модемы, точки доступа Перезагрузка удаленного роутера через Telnet и Cron

Перезагрузка удаленного роутера (модема) с использованием Telnet и Cron в Linux

На объекте заказчика установлен 4G/LTE модем ZYXEL и есть роутер TP-Link TL-WR842N/ND v2. Основная жалоба заказчика на необходимость частой перезагрузки модема и роутера, по причине пропадания интернета, зависания роутера или просто неподключения к wifi сети.

Все действия вы делаете на свой страх и риск. Автор не несет ответственности за возможные последствия

Для исправления ситуации было проделано следующие:

1) Сброшены настройки, обновлены прошивки на модеме и роутере от производителя и заново все настроено - перезагружать стало нужно реже, но проблема осталась.

2) Поиск альтернативных прошивок. Для 4G модема Zyxel не существует, а на TP-Link TL-WR842N/ND v2 была установлена OpenWrt Chaos Calmer 15.05.1 (Рисунок 1). После перехода на альтернативную прошивку проблемы с зависанием и неподключением по wifi более не наблюдаются.

Установка OpenWrt Chaos Calmer 15.05.1 на TP-Link TL-WR842N/ND v2

3) 4G модем Zyxel LTE6100, как удалось выяснить, теряет интернет по нескольким причинам:

  • а) перестает видеть сим-карту. Замена симки не помогает. Помогает только перезагрузка.
  • б) рвет соединение с оператором и потом его не восстанавливает. Помогает только перезагрузка.
  • в) просто перестают "ходить пакеты". Помогает только перезагрузка.

К сожалению, альтернативной прошивки не существует, а с офф. сайта проблему не решает. Раз помогает перезагрузка, значит нужно "ребутить", но делать это без участия пользователи и во время когда в интернете нет необходимости.

4) Есть несколько способов делать перезагрузку модема Zyxel LTE6100.

  • а) Через WEB интерфейс.
  • б) Через Telnet (SSH не поддерживает)
  • в) Передергивать питание.
  • а) При помощи розетки-таймера.
  • б) Написать скрипт, который будет запускаться по расписанию и через Telnet перезагружать модем.

Нами был выбран последний вариант со скриптом, тем более, что роутер Tp-link включен постоянно, а OpenWrt позволяет все это реализовать через Cron.

5) Скрипт выглядит так (Рисунок 2). Данная реализация немного корявая, лучше делать через инструмент Expect, но его нет в базе OpenWrt.

В скрипте вам нужно заменить значения на свои admin, pass, ip_adress

Скрипт для перезагрузки удаленного роутера или модема через Telnet в Linux

Создаем папку scripts в корне и сохраняем скрипт под названием rebootmodem.sh. Названия папки и скрипта могут быть любыми. Далее нужно перейти на роутере в раздел System-Scheduled Tasks и прописать в Cron (планировщик) параметры запуска (Рисунок 3). Обязательно перезапустите Cron, либо перезагрузите роутер для сохранения параметров запуска.

Создание задания Cron в OpenWRT (Linux)

В нашем случаи запуск скрипта происходит в 4 часа ночи, во вторник, четверг, субботу и воскресение.

После проделанных действий заказчик уже больше 2 месяцев даже близко не подходит к роутеру и модему.

Копирование материалов с сайта разрешено только с согласия автора, либо с указанием адреса источника.

Wireless Comprehensive Advanced Technology. Build your network now.

Wi-CAT LLC

Здравствуйте!

Прошу помочь настроить регулярную перезагрузку USB-модема через откл питания.

Требуется раз в сутки в 3 ночи откл и вкл питание модема. В рекламе заявлен функционал управления питанием, но в интерфейсе не нашел никаких способов это использовать на практике.

Если для этого потребуется в крон добавить скрипт, то прошу привести полный набор команд для этого, тк с линуксом я на «вы»

Прошу помочь настроить регулярную перезагрузку USB-модема через откл питания.

Требуется раз в сутки в 3 ночи откл и вкл питание модема. В рекламе заявлен функционал управления питанием, но в интерфейсе не нашел никаких способов это использовать на практике.

Если для этого потребуется в крон добавить скрипт, то прошу привести полный набор команд для этого, тк с линуксом я на «вы»

Ключик дёргается по gpio как и любой светодиод например

Просто для рестарта модема достаточно дёргать из крона или руками или ещё как service modemhelper poweroffon.

Подробнее как устроен инит см логику в скрипте W85modemhelper в ините.

Ключик дёргается по gpio как и любой светодиод например

Просто для рестарта модема достаточно дёргать из крона или руками или ещё как service modemhelper poweroffon.

Подробнее как устроен инит см логику в скрипте W85modemhelper в ините.

Буду очень благодарен, если напишите конкретную строчку, которую надо будет добавить в конфиг крона.

Роутер от меня далеко, бываю там наездами и не на долго, хочется иметь готовое решение, которое можно применить за 10 минут.

Буду очень благодарен, если напишите конкретную строчку, которую надо будет добавить в конфиг крона.

Роутер от меня далеко, бываю там наездами и не на долго, хочется иметь готовое решение, которое можно применить за 10 минут.

Когда оплатят готовое решение такое решение будет в UI. ;) Куда копать и что дёргать подсказка дана. cron на форуме обсуждался, формат записей гуглится за 2 минуты. Как работать с rwfs тоже описано в т.ч. готовить пакеты.

Т.е. тут 2 варианта, либо вы берёте предложенный мной инструмент и тратите своё время на изучение материала и делаете что нужно (что выходит за заложенный штатно функционал), либо заказчик оплачивает работы и оно появляется в UI где делать уже ничего не нужно кроме как накликать хотелку.

3го не дано.

Если что-то по первому варианту в процессе попыток не будет получаться - подскажу.

А решения которые можно применять в лоб заказываются и включаются штатно в софт. Собсно весь софт и есть набор таких вот решений.

Пока заказа на подобное не поступало, оплаты я не вижу.

P.S. Не хочу секретничать, потому вот честно и в лоб. Мы с железа (после запуска в серию) ничего не имеем вообще. А софт предоставляется в виде функционально фиксированной единицы где оплачиваются доработки и "новые" решения. Т.е. сами понимаете к чему я.

Когда оплатят готовое решение такое решение будет в UI. ;) Куда копать и что дёргать подсказка дана. cron на форуме обсуждался, формат записей гуглится за 2 минуты. Как работать с rwfs тоже описано в т.ч. готовить пакеты.

Т.е. тут 2 варианта, либо вы берёте предложенный мной инструмент и тратите своё время на изучение материала и делаете что нужно (что выходит за заложенный штатно функционал), либо заказчик оплачивает работы и оно появляется в UI где делать уже ничего не нужно кроме как накликать хотелку.

Если что-то по первому варианту в процессе попыток не будет получаться - подскажу.

А решения которые можно применять в лоб заказываются и включаются штатно в софт. Собсно весь софт и есть набор таких вот решений.

Пока заказа на подобное не поступало, оплаты я не вижу.

P.S. Не хочу секретничать, потому вот честно и в лоб. Мы с железа (после запуска в серию) ничего не имеем вообще. А софт предоставляется в виде функционально фиксированной единицы где оплачиваются доработки и "новые" решения. Т.е. сами понимаете к чему я.

Последний раз редактировалось 16/07/2020, 12:49 : sfstudio

Ок, не имею ничего против такого подхода. Тем более если честно и в лоб.

На самом деле если бы Вы просто сказали конкретную команду запуска, было бы достаточно. Просто выше Вы предложили способы изучения вопроса, но у меня нет такой возможности. Ибо тут конкретика вашего устройства.

Я правильно понимаю, что команда для рестарта (цикл off/on) руками из шела выглядит конкретно так

service modemhelper poweroffon

без опций и тд?

Ок, не имею ничего против такого подхода. Тем более если честно и в лоб.

На самом деле если бы Вы просто сказали конкретную команду запуска, было бы достаточно. Просто выше Вы предложили способы изучения вопроса, но у меня нет такой возможности. Ибо тут конкретика вашего устройства.

Я правильно понимаю, что команда для рестарта (цикл off/on) руками из шела выглядит конкретно так

service modemhelper poweroffon

Я правильно понимаю, что команда для рестарта (цикл off/on) руками из шела выглядит конкретно так

service modemhelper poweroffon

Да, это отключит и включит питание. Можно до этого ещё ввести "service modemhelper stop", чтобы завершить активные подключения перед перезапуском.

Я правильно понимаю, что команда для рестарта (цикл off/on) руками из шела выглядит конкретно так

service modemhelper poweroffon

Да, это отключит и включит питание. Можно до этого ещё ввести "service modemhelper stop", чтобы завершить активные подключения перед перезапуском.

В случае с hilink и другими вариантами прикидывающимися usb/eth достаточно снять питание кратковременно командой выше. Ничего завершать не нужно.

В случае с hilink и другими вариантами прикидывающимися usb/eth достаточно снять питание кратковременно командой выше. Ничего завершать не нужно.

Ок, ситуацию понял. Появились вопросы:

1. Понятный и проверенный на других роутерах путь - добавить в crontab строку рестарта модема, потом fs save && reboot

Но ведь эта настройка, наверное, исчезнет после обновления прошивки?

2. Не виданный мной ранее путь через rwfs - экспортировать имеющееся состояние, удалить в дереве все, кроме правленного инита, сжать tar и загрузить в роутер через морду.

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

Прошу ликбез и совет, каким путем идти правильнее?

Ок, ситуацию понял. Появились вопросы:

1. Понятный и проверенный на других роутерах путь - добавить в crontab строку рестарта модема, потом fs save && reboot

Но ведь эта настройка, наверное, исчезнет после обновления прошивки?

2. Не виданный мной ранее путь через rwfs - экспортировать имеющееся состояние, удалить в дереве все, кроме правленного инита, сжать tar и загрузить в роутер через морду.

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

Прошу ликбез и совет, каким путем идти правильнее?

Последний раз редактировалось 17/07/2020, 01:53 : Ilya_SA
  1. В веб-интерфейсе в разделе Сервисы включаем демон cron daemon
  2. Подключиться через SSH
  3. Команда crontab -e
  4. В редакторе нажать i и ввести задание 00 03 * * * service modemhelper poweroffon для перезапуска модема, например, в 3 часа ночи каждый день.
  5. Нажать эскейп дважды
  6. ввести :wq
  7. Для проверки можно дать команду crontab -l в выводе должно быть в том числе введенное только что задание
  8. для сохранение дать команду fs save && reboot

Получилось сделать классическим способом через crontab, опишу "how to" может пригодится кому-то.

  1. В веб-интерфейсе в разделе Сервисы включаем демон cron daemon
  2. Подключиться через SSH
  3. Команда crontab -e
  4. В редакторе нажать i и ввести задание 00 03 * * * service modemhelper poweroffon для перезапуска модема, например, в 3 часа ночи каждый день.
  5. Нажать эскейп дважды
  6. ввести :wq
  7. Для проверки можно дать команду crontab -l в выводе должно быть в том числе введенное только что задание
  8. для сохранение дать команду fs save && reboot
Последний раз редактировалось 17/07/2020, 20:24 : Ilya_SA

После перезагрузки или отключении питания задание сохраняется.

Подождав 5 минут после начала перезагрузки после обновления, я получил возможность подключиться по wifi но не смог подключиться к админке, и модем не включился. Помогло только выключение питания и после этого все заработало, но задание для крона исчезло.

Прошу объяснить, это так и должно быть? Что по сути произошло?

Ну дык сразу сказано, что тут суть *nix и многие вещи применимые к большим *nix будут применимы и тут за некоторой спецификой описанной многократно уже.

При обновлении RWFS обнуляется. А вот почему админка оказалась недоступна интереснее. Возможно что-то у web сервера подглюкнуло, хотя очень странно. Если повториться стоит попробовать подключиться по ssh и посмотреть вывод cat /var/log/messages.

RWFS это сущность для временных правок пока оные не включены в основную ветку. Но можно использовать и для постоянных. Подготовить пакет (опять таки на форуме уже есть как) и заливать его после обновления.

Сразу в него включить все свои скрипы и прочее. Эдакое компромиссное решение. Если сделать rwfs не сбрасываемым по резету то получим запросто ситуацию что что-то направили, а для возвращения к жизни нужна физическая консоль т.к. сеть отвалилась вообще. Если не сбрасывать при обновлении то правки инита и конфигов не будут применены и в итоге, например, web сервер не сможет нормально взаимодействовать с инитом.

Как-то так.

Я честно гря не понимаю зачем дёргать модем раз в сутки если всё работает и без этого. Расскажите ради интереса.

P.S. Проехал чуть меньше 1000км от ЕКБ до Омска с ётовским модемом в аналогичном девайсе (сделанном для другого заказчика, рассказывал в фэйсбуке что за устройства) в машине ни повиснуть ни сессию порвать он ни разу не умудрился. Всю дорогу была внятная связь. Нужды его дёргать и тем более по расписанию я пока не увидел.

Ну дык сразу сказано, что тут суть *nix и многие вещи применимые к большим *nix будут применимы и тут за некоторой спецификой описанной многократно уже.

При обновлении RWFS обнуляется. А вот почему админка оказалась недоступна интереснее. Возможно что-то у web сервера подглюкнуло, хотя очень странно. Если повториться стоит попробовать подключиться по ssh и посмотреть вывод cat /var/log/messages.

RWFS это сущность для временных правок пока оные не включены в основную ветку. Но можно использовать и для постоянных. Подготовить пакет (опять таки на форуме уже есть как) и заливать его после обновления.

Сразу в него включить все свои скрипы и прочее. Эдакое компромиссное решение. Если сделать rwfs не сбрасываемым по резету то получим запросто ситуацию что что-то направили, а для возвращения к жизни нужна физическая консоль т.к. сеть отвалилась вообще. Если не сбрасывать при обновлении то правки инита и конфигов не будут применены и в итоге, например, web сервер не сможет нормально взаимодействовать с инитом.

Я честно гря не понимаю зачем дёргать модем раз в сутки если всё работает и без этого. Расскажите ради интереса.

Читайте также: