Аппаратный ребут модема

по крону раз в пять минут запускается скрипт-чекер
*/5 * * * *     /usr/local/etc/scripts/nevolya.sh

сам скрипт выглядит так:

#!/bin/sh
#
for host in "82.144.211.1"; do
/usr/local/sbin/fping -q $host
RV=$?
if [ $RV -eq 0 ]; then
echo "Link is OK:" `date` >>/var/log/volia.log
elif [ ]; then
else /usr/local/bin/lptsend -s -d 0 -w 65535
echo "Link is broken at:" `date` >>/var/log/volia.log
fi
done
exit

Управление модемом собрано на базе схемки, приведенной ниже
перерисовать свою нечем, но вратце расскажу что надо:
управляющий выход LPT-порта — STROBE, сигнальный пин №1
земля — пин №18
вместо диода на входе оптопары — гасящий резистор (у меня 1.5К, но надо подбирать под имеющуюся оптопару)
реле с нормально замкнутыми контактами, включенными в разрыв цепи питания модема
блок питания у модема — 12В, схема кормится от него же

Принцип работы всей лабуды прост
по крону запускается чекер, пытается пинговать заданный в скрипте айпишник
если ответ пришел — гут, выключаемся до следующего раза
если нет — запускается lptsend с параметрами, которые выставляют канал STROBE в высокий уровень примерно на минуту
схема переключает реле, питание на модем обрывается и оный отдыхает
по истечению минуты (или сколько зададите в параметрах запуска lptsend) программа завершается, выход возвращается в состояние нуля, реле отпускается — модем аппаратно перезагружен.

Компилить программу
lptsend
lptsend.txt переименовать в lptsend.c
и
cc lptsend.с -o lptsend

схемка

По материалам: http://local.com.ua/forum

Автор: Lambert

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Изображения должны быть включены!