Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.02.2013, 16:51   #1
goldskif
Member
 
Регистрация: 05.11.2012
Сообщений: 36
Вес репутации: 0
goldskif is an unknown quantity at this point
Отправить сообщение для goldskif с помощью ICQ Отправить сообщение для goldskif с помощью Skype™
По умолчанию Авторебут 3G соединения

на всякий случай. Для тех, кто делает соединение 3G
Решение проблемы зависания соединения
Обычно предлагают проверять пингом какого-нибудь сервера
Создаем файл
Код:
touch /bin/tester.sh
chmod 755 /bin/tester.sh
Сам файл
Код:
#!/bin/sh
    if ! ping -q -c 2 -W 6 beeline.ru > /dev/null; then
       ifdown wan
     sleep 10
       reboot &
    else
        echo "PING OK"
    fi
Добавляем задания в крон

Код:
/etc/init.d/cron stop
echo "*/5 * * * * /bin/tester.sh" >> /etc/crontabs/root
/etc/init.d/cron enable
/etc/init.d/cron start
Cron теперь настроен на запуск скрипта каждые 5 минут.
Это решает проблему с зависанием 3G подключения.
Скрипт пингует адрес "beeline.ru", если отклика нет, то сперва разъединяет подключение "3g" на случай, если оно зависло, далее ждёт 10 секунд, и соединяет "3g" подключение.
---
Но это решение было не слишком надежно.
Как оказалось, модем при таком подключении не всегда заново подключался. Помогал только ребут.
Да и проверять по пингу не совсем надежно. Вдруг сервер просто завис, например.
Проще проверять по наличию в ifconfig - 3G интерфейса. Когда связь отваливается - он пропадает тоже.

Код:
#!/bin/sh
TEST_WAN="`ifconfig | grep 3g | cut -b 1`"
    if [ "$TEST_WAN" = 3 ]; then
#        echo "3G-WAN OK"
        logger "3G router OK"
    else
        reboot && exit
    fi

Последний раз редактировалось goldskif; 13.02.2013 в 16:59.
goldskif вне форума   Ответить с цитированием
Старый 13.02.2013, 23:47   #2
mcsa
Junior Member
 
Регистрация: 13.02.2013
Сообщений: 29
Вес репутации: 0
mcsa is a splendid one to beholdmcsa is a splendid one to beholdmcsa is a splendid one to beholdmcsa is a splendid one to beholdmcsa is a splendid one to beholdmcsa is a splendid one to behold
По умолчанию

Еще можно перед перезагрузкой выгрузить и опять загрузить модуль OHCI / UHCI / EHCI. Перед выгрузкой модуля еще надо прибивать pppd, а то не даст выгрузить. В 90% случаев помогает.
mcsa вне форума   Ответить с цитированием
Старый 15.02.2013, 18:49   #3
Rusink
Junior Member
 
Регистрация: 10.02.2013
Сообщений: 8
Вес репутации: 0
Rusink is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от goldskif Посмотреть сообщение

Код:
#!/bin/sh
TEST_WAN="`ifconfig | grep 3g | cut -b 1`"
    if [ "$TEST_WAN" = 3 ]; then
#        echo "3G-WAN OK"
        logger "3G router OK"
    else
        reboot && exit
    fi
А зачем сразу перезагружать роутер, когда можно подгрузить usbreset и "передергивать" им модем?

Цитата:
usbreset PPPP:VVVV - reset by product and vendor id
usbreset BBB/DDD - reset by bus and device number
usbreset \"Product\" - reset by product name
Rusink вне форума   Ответить с цитированием
Старый 17.06.2013, 23:44   #4
electric
Member
 
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0
electric is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Rusink Посмотреть сообщение
А зачем сразу перезагружать роутер, когда можно подгрузить usbreset и "передергивать" им модем?
Ребят, не силен пока в кронах/линуксах...
Подскажите пожалуйста, какой текст вбить в tester.sh чтобы "ребутить" 3G соединение без перезагрузки самого роутера.
Заранее спасибо!
electric вне форума   Ответить с цитированием
Старый 18.06.2013, 01:12   #5
electric
Member
 
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0
electric is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от electric Посмотреть сообщение
Подскажите пожалуйста, какой текст вбить в tester.sh чтобы "ребутить" 3G соединение без перезагрузки самого роутера.
Заранее спасибо!
Сделал так:

Код:
#!/bin/sh
TEST_WAN="`ifconfig | grep 3g | cut -b 1`"
    if [ "$TEST_WAN" = 3 ]; then
#        echo "3G-WAN OK"
        logger "3G connection UP"
    else
#        reboot && exit
          (ifdown wan; sleep 20; ifup wan)
    fi
Попробовал, пока работает, пару раз заходил в условие - я просто менял настройки 3G соединения, поэтому оно рвалось.
Пока не дождался самопроизвольного обрыва...
electric вне форума   Ответить с цитированием
Старый 24.02.2013, 09:06   #6
zzzjyk
Junior Member
 
Регистрация: 24.02.2013
Сообщений: 3
Вес репутации: 0
zzzjyk is an unknown quantity at this point
По умолчанию

при перевтыкании модема ручками он сам цепляется к сети, но при перевтыкании юсб ресетом не подцепляется
zzzjyk вне форума   Ответить с цитированием
Старый 25.02.2013, 00:12   #7
Rusink
Junior Member
 
Регистрация: 10.02.2013
Сообщений: 8
Вес репутации: 0
Rusink is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от zzzjyk Посмотреть сообщение
при перевтыкании модема ручками он сам цепляется к сети, но при перевтыкании юсб ресетом не подцепляется
Версия ядра какая? На последних версиях есть проблема с монтированием usbfs, соответственно может не работать usbreset
Rusink вне форума   Ответить с цитированием
Старый 25.02.2013, 18:50   #8
zzzjyk
Junior Member
 
Регистрация: 24.02.2013
Сообщений: 3
Вес репутации: 0
zzzjyk is an unknown quantity at this point
По умолчанию

Linux OpenWrt 3.3.8 #1 Fri Sep 21 02:58:52 EDT 2012 mips GNU/Linux
zzzjyk вне форума   Ответить с цитированием
Старый 26.02.2013, 00:23   #9
Rusink
Junior Member
 
Регистрация: 10.02.2013
Сообщений: 8
Вес репутации: 0
Rusink is an unknown quantity at this point
По умолчанию

Должен работать. Логи системные и ядра прикрепи на момент зависания модема и после запуска usbreset
Rusink вне форума   Ответить с цитированием
Старый 26.02.2013, 03:26   #10
zzzjyk
Junior Member
 
Регистрация: 24.02.2013
Сообщений: 3
Вес репутации: 0
zzzjyk is an unknown quantity at this point
По умолчанию

проблема в хабе была

Последний раз редактировалось zzzjyk; 28.02.2013 в 18:00.
zzzjyk вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 18:26. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика