Приветствую знатоков.
Имею связку Gi s8120 с тетей шурой и почти стабильный DSL интернет (периодические отваливания по ходу по вине провайдера). Роутер D-Link 2600U, поддерживающий телнет. Нашел в интернете несколько вариантов перезагрузки и очень заинтересовал вариант с постоянным периодическим пингованием удаленного сервера и рестарта роутера при отсутствии интернета. Хотелось бы запустить это дело на ресивере и тем самым получить всегда работающую шуру, пусть и с затыками на перезагрузку. Вся канитель собственно задумана для комфорта родителей, которые с трудом понимают как перезагружать роутер. Тем самым родители получили бы всегда работающий интернет для любимых одноклассников, т.к. ресивер в экономичный режим не будет переводиться.
Очень прошу пошаговой инструкции, по скольку сам не программист. Для примера прилагаю найденный вариант скрипта, вдруг пригодится
Извините, вам запрещён просмотр содержимого спойлеров.
Или возможно посоветуете не перезагружать роутер, а может можно просто переподключить интернет на данном модеме через телнет?
Добавлено: 08 Февраль 2013, 09:40:54
Или же хотя бы подскажите, можно ли сделать перезагрузку роутера вручную с пульта?
Добавлено: 08 Февраль 2013, 16:29:39
Итак я нашел нужный мне код, но есть проблема в использовании нужной программы. Называется Netscript. Она отвечает за интерактивную работу с телнетом. Исходники тут
http://netscript.sourceforge.net/Нашел всю информацию здесь
http://dream.altmaster.net/showthread.php?t=2788. Код оттуда мне подходит, но сам нетскрипт от дримбокса не работает корректно.
Как собрать его для нашего ресивера?
Добавлено: 09 Февраль 2013, 09:47:56
Итак, пусть может и криво, но нужную функцию я реализовал. Всё взято из интернетов, просто допиливал под себя
#!/bin/bash
echo "$(date +%F/%T) : Start ping script"
# IP или URL адрес хоста для пинга
PINGHOST="www.ya.ru"
# Пауза между пингами в секундах
PingTimeout=20
# Время требующееся для рестарта модема в секундах
ModemRestartTime=120
while : ; do
if ! ping -c 4 -s 0 $PINGHOST 2>/dev/null 1>&2 ; then
echo "$(date +%F/%T) : ping '$PINGHOST' failed"
echo "$(date +%F/%T) : start '/var/bin/reboot.sh' to restart modem"
(sleep 3; echo admin; sleep 3; echo password; sleep 5; echo "reboot"; sleep 3; echo "exit") | telnet 192.168.1.1
sleep $ModemRestartTime
echo "$(date +%F/%T) : i'm hope modem restarted and we continue..."
fi
sleep $PingTimeout
done
echo "$(date +%F/%T) : Stop ping script"
Если хотите использовать мой скрипт, то поменять надо на свои значения, выделенное в следующей строке красным
(sleep 3; echo
admin; sleep 3; echo
password; sleep 5; echo "reboot"; sleep 3; echo "exit") | telnet
192.168.1.1Поместить в /var/bin/ и присвоить права 755. Затем включить в плагинах через меню спарк