Страница 1 из 1

Автоматическая перезагрузка роутера

Добавлено: 18 авг 2013, 18:26
SinglWolf
*SCRATCH* Подкину свои пять копеек в общую копилку. :-)
Бывает, что при интенсивной закачке торрентов или просто от фазы луны иногда у моего модема(роутера) отваливается интернет... Решение оказалось на поверхности.
Прикупил я на по случаю такой шнурок на базе PL2303, он мне был нужен для восстановления прошивки роутера.
image001.jpg
image001.jpg (15.32 КБ) 4743 просмотра
Со стороны USB ничего не трогаем. С другой стороны я припаял шнурок от древней компортовой мышки с четырёх-пиновой мамкой на конце. Распаивал по даташиту к микросхеме.
ds_pl2303HX_v15F.zip
(349.37 КБ) 166 скачиваний
Нам нужны сигналы TXD, RXD, GND. Распиновка разъёма, разумеется, зависит от модели роутера.
На плате роутера находим 4-пиновую гребёнку UART и вычисляем распиновку: +3.3v (нам не потребуется) и GND мультимером, а TXD и RXD методом "научного тыка" :-)
Datasheet.JPG
image02.gif
image03.jpg
image03.jpg (12.34 КБ) 4743 просмотра
Для проверки правильности распайки шнурка и подключения к роутеру нам нужна программа minicom. Драйверов и каких-либо шаманств для PL2303 не требуется. Пример на Debian 7. Для Ubuntu аналогично, устанавливаем:

Код: Выделить всё

apt-get install minicom
Прежде, чем запустить minicom, проверим как "обозвался" в системе наш девайсик. Подключаем его к серверу и выполняем команду:

Код: Выделить всё

ls -a /dev
[...]
ttyUSB0 - то что нам нужно  :-) 
[...]
Запускаем minicom с параметром -s

Код: Выделить всё

minicom -s
Настраиваем параметры порта, согласно картинке. Сохраняем настройки как dfl и выходим из режима настройки:
minicom1.JPG
minicom2.JPG
Теперь подключаем шнурок к роутеру. Набираем команду, например, help. Роутер тут же отзовётся:
minicom3.JPG
Ну, я тут не help набрал сначала... Не в этом суть, главное - роутер отзывается!
Скриптик для управления роутером:
Скрытый текст
Для просмотра скрытого текста необходимо быть авторизованным пользователем.


Сохраняем скрипт под именем /root/reboot_router.sh и делаем его исполняемым

Код: Выделить всё

chmod +x /root/reboot_router.sh
Будем проверять состояние роутера каждые 5 минут. Для этого создадим правило crontab:

Код: Выделить всё

crontab -e
Добавляем в конец файла строчку:

Код: Выделить всё

*/5 * * * * /root/reboot_router.sh
Всё! Для проверки работы скрипта выдёргиваем сетевой шнурок из роутера и ждём 5 мин или просто запускаем скрипт

Код: Выделить всё

cd /root
./reboot_router.sh
Удачи! *DRINK*

Добавлено: 18 авг 2013, 18:48
mini-server
SinglWolf писал(а):шнурок на базе PL2303
В Китае Для просмотра ссылок Вы должны быть авторизованы на форуме. валом! Может поять не надо, хотелось бы более подробное описание принципа действия такого девайса.

Добавлено: 18 авг 2013, 18:58
SinglWolf
mini-server писал(а):хотелось бы более подробное описание принципа действия такого девайса
Принцип действия опишу в комментах к скрипту. Вечером. :-)


Дописал.

Добавлено: 19 авг 2013, 00:21
mini-server
SinglWolf писал(а):Дописал.
Спасибо на работе завтра обязательно разберусь, хочу повторить аналогичное на работе *OK* !

Добавлено: 22 авг 2013, 12:23
SinglWolf
df-nix писал(а):Если у роутера есть доступ по ssh или telnet,
Если у роутера отвалился сетевой интерфейс, то в 99% случаев удалённо ребутнуть его можно только через UART.
df-nix писал(а):Вопрос по девайсу на фото - где покупали ?
*SCRATCH* Не помню уже. В каком-то салоне по продаже сотовых или на радиорынке. Не обязательно шнурок должен быть именно таким. Главное - наличие в нём PL2303 и чтобы был более-менее разборным. :-)

Добавлено: 22 авг 2013, 12:45
mini-server
SinglWolf писал(а):Если у роутера отвалился сетевой интерфейс
Я думаю что народ интересует именно эта проблема, с полным зависанием железа а тут кроме как reset нечего не спасает :(

Добавлено: 22 авг 2013, 12:56
SinglWolf
mini-server писал(а):с полным зависанием железа а тут кроме как reset нечего не спасает
Согласен. Но в том-то и дело, что в большинстве случаев ядро роутера живое, пытается своими силами поднять упавшие интерфейсы...
Хотя, для организации "железного ребута", к моему девайсику можно прикрутить релюшку с контактами на размыкание в цепь питания роутера. Ну и скрипт малость переделать.

Добавлено: 31 мар 2014, 21:56
Дмытрык
Там я уже не помню, но при подаче команды ресет или ребут могу ошибаться, на каком то выводе чипа, формируется меандр сброса, полюбому вот его и мона использовать для сброса! Ток не релюшкой а можна транзюком по цепи питания после диодного моста и сглаживающего кондера! Так себе делал после неудачи, с таким способом как вы описуете когдато имел горький опыт работы с роутерами Dlink которые любят после всякого всплеска или чегото другого повисать то софтово то железно но железно чаще!