PING при помощи МК

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
AndyWorld
Прорезались зубы
Сообщения: 209
Зарегистрирован: Вт сен 30, 2008 09:23:14
Откуда: Краснодарский край

PING при помощи МК

Сообщение AndyWorld »

Есть очень распространенная проблема, когда работающий ADSL модем уходит в "коматоз". Визуально вроде и работает, но на самом деле "висит". И только ручное передергивание питания возвращает его к жизни. Возможно это проблема модема или провайдера, но скорее всего провайдера. Торговый терминал работает по скоростному интернету с модемами ADSL DLINK и в течении суток интерет зависает раз 6 или 10, но бывают и хорошие дни 2-3 раза. Я посадил модем на таймер который дергает питание каждые 2 часа. Но бывает так что Инет валится в течении получаса и остальные полтора часа терминал не работает.
Вот и возникла у мня мысль сделать такой девайс который-бы подключался к модему через RJ45 и пинговал некий указанный хост, а если бы "ПИНГИ" не вернулись 255 раз, передергивали бы питание и модем успешно бы перецепился к провайдеру. Но как аппаратно и программно решить эту задачу не представляю и ничего похожего найти не смог.
Конечно можно решить эту проблему через прикладное ПО установленное непосредственно на компе терминала, но нет свободных портов на компе терминала, да и отдельное устройство универсальней.
Реклама
eygen
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт янв 29, 2009 22:03:18

Re: PING при помощи МК

Сообщение eygen »

Думаю что правильнее начать с модема может что то с ним...
Если пропадает связь а сам модем жив и откликается то не вижу смысла городить огород с передергиванием питания. Все современные модемы поддерживают протокол SNMP который позволяет управлять устройством.
Тоесть пишешь прогу которая пингует какой либо хост, если отклика нет перезагружаем модем через вышеуказанный протокол.
Пинговать лучше не один хост а несколько потому как если хост не будет отвечать длительное время модем будет по кругу перезагружаться только из за того что хост в сети не доступен хотя связь до других хостов может быть.
Реклама
Аватара пользователя
AndyWorld
Прорезались зубы
Сообщения: 209
Зарегистрирован: Вт сен 30, 2008 09:23:14
Откуда: Краснодарский край

Re: PING при помощи МК

Сообщение AndyWorld »

Если бы это был модем, я бы не парился. В городе инет работает стабильно, а вот в селе... и возникают такие проблемы, так как у них там оборудование не то, или линии не те - так говорят в ЮТК. Конечно меняли и модемы и провода и перекроссировка была... И в этой борьбе победила банальная перезагрузка по питанию.
eygen
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт янв 29, 2009 22:03:18

Re: PING при помощи МК

Сообщение eygen »

AndyWorld писал(а):Если бы это был модем, я бы не парился. В городе инет работает стабильно, а вот в селе... и возникают такие проблемы, так как у них там оборудование не то, или линии не те - так говорят в ЮТК. Конечно меняли и модемы и провода и перекроссировка была... И в этой борьбе победила банальная перезагрузка по питанию.
в одной фирме с подобной проблемой помогла замена на дорогой модем который лучше держит линк на плохих линиях, тоесть воткнули зюксель и проблема ушла сама.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: PING при помощи МК

Сообщение Danko »

ADSL-модем существо безмозглое (модулятор-демодулятор), а вот ADSL-роутер это игрушка с мозгами, при этом чаще всего с Линукс на борту и еще чаще у нее есть Телнет.

Я для своего D-Link написал прогу которая через Телнет логинится и отправляет команду reboot. Прогу крутится на машине под Линуксом, а точнее не прога, а скрипт.

Из-под винды я управляю модемом с помощью проги D-Link monitor.

Перезагрузку я делал в 24-00 только для того чтобы можно было видеть в логах кол-во МБайт отправленных и полученных за сутки.

AndyWorld, у Вас модем или роутер? И как его звать?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Реклама
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: PING при помощи МК

Сообщение ibiza11 »

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

нашел кое-что, думаю можно что нибудь полезное отсюда для себя взять.
Ставим плюсы: )
Реклама
Аватара пользователя
AndyWorld
Прорезались зубы
Сообщения: 209
Зарегистрирован: Вт сен 30, 2008 09:23:14
Откуда: Краснодарский край

Re: PING при помощи МК

Сообщение AndyWorld »

У нас на юге при подключении скоростного интернета DISEL ЮТК в придачу дает D-LINK 2540U 2500 или то что у них есть. Поэтому у меня полный набор и с роутером и без. Можно было-бы купить другие и самостоятельно, только кто же захочет за енто платить. И провайдер после этого ничего гарантировать не будет.
Контролировать ЛИНК тоже не айс. Если у кого есть такие модемы которые я написал, то там в качестве основного линка изображение значка Интернет сначала желтое, а когда случится коннект - зеленое. Так вот когда модем в "коматозе" то все горит как надо - но не работает. Смею предпологать что гонит оборудование провайдера, как удалось выяснить, в селе у них стоят NATEX 120. Что это, я даже не знаю. В городе CISCO и ZYXEL.
Поэтому лампочку ЛИНК, я думаю, не отследить. Хотя надо бы понаблюдать, или заснять на камеру.
А что, собственно, передается по проводам? RX TX? Если модем в Дауне то на проводах тоже ничего не должно быть, ведь так? Может лучше этот момент отслеживать? Ведь если кто и зависнит в соединении то пропадет или TX или RX.
eygen
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт янв 29, 2009 22:03:18

Re: PING при помощи МК

Сообщение eygen »

AndyWorld писал(а):У нас на юге при подключении скоростного интернета DISEL ЮТК в придачу дает D-LINK 2540U 2500 или то что у них есть. Поэтому у меня полный набор и с роутером и без. Можно было-бы купить другие и самостоятельно, только кто же захочет за енто платить. И провайдер после этого ничего гарантировать не будет.
Контролировать ЛИНК тоже не айс. Если у кого есть такие модемы которые я написал, то там в качестве основного линка изображение значка Интернет сначала желтое, а когда случится коннект - зеленое. Так вот когда модем в "коматозе" то все горит как надо - но не работает. Смею предпологать что гонит оборудование провайдера, как удалось выяснить, в селе у них стоят NATEX 120. Что это, я даже не знаю. В городе CISCO и ZYXEL.
Поэтому лампочку ЛИНК, я думаю, не отследить. Хотя надо бы понаблюдать, или заснять на камеру.
А что, собственно, передается по проводам? RX TX? Если модем в Дауне то на проводах тоже ничего не должно быть, ведь так? Может лучше этот момент отслеживать? Ведь если кто и зависнит в соединении то пропадет или TX или RX.
Стоп стоп, у тебя в модеме ложится ethernet? что то сомнение у меня по этому поводу. Пропингуй модем когда зависнет соединение. если пингуется то щупать линию смысла нет по ней постоянно бегают служебные пакеты.
Аватара пользователя
AndyWorld
Прорезались зубы
Сообщения: 209
Зарегистрирован: Вт сен 30, 2008 09:23:14
Откуда: Краснодарский край

Re: PING при помощи МК

Сообщение AndyWorld »

В модеме прописано 192.168.1.1 с маской 255.255.255.0 В компе прописано 192.168.1.2 с такой же маской и Gataway 192.168.1.1 модем настроен как Бридж и вот кгда он зависает я могу пинговать ближний порт модема то есть 192.168.1.1 и сетевую карту, а дальше в инет не идет. Сейчас узнал у спецов ЮТК, они мне расказали про некую сессию которая у них подвисает и единственный вариант сдеруть ее с места - это рубануть питание модема. Возможно они когда нибудь поменяют оборудование но когда это будет... неизвестно. А сейчас у меня таймер дергает его чрез каждые 2 часа, а ночью реже...
Так что на Ethernet или что-то из моего железа грешить не приходится.
PB_EXPERT
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Re: PING при помощи МК

Сообщение PB_EXPERT »

Вот тут вот есть пример, программной перезагрузки ADSL модема D-Link DSL-2500U
Аватара пользователя
AndyWorld
Прорезались зубы
Сообщения: 209
Зарегистрирован: Вт сен 30, 2008 09:23:14
Откуда: Краснодарский край

Re: PING при помощи МК

Сообщение AndyWorld »

Любопытно. Только непонятно куда этот код воткнуть. В bat файл? Тогда кто будет его запускать?
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: PING при помощи МК

Сообщение Danko »

Я думаю тему стоит закрыть либо перенести в другую ветку т.к. вопрос перетек в другую плоскость и к МК мягко говоря не относится, а ПЛИС и не пахнет.

???
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
eygen
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт янв 29, 2009 22:03:18

Re: PING при помощи МК

Сообщение eygen »

посмотри точно модель модема тут вот решают перепрошивкой аналогичную проблему. http://www.foss.kharkov.ua/g1/projects/ ... ap_lfd.htm
eygen
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт янв 29, 2009 22:03:18

Re: PING при помощи МК

Сообщение eygen »

ну и на закуску вдруг поможет...
http://vilandrew.by.ru/
eygen
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт янв 29, 2009 22:03:18

Re: PING при помощи МК

Сообщение eygen »

Только что опробовал скриптик, вроде работат... используем Telnet
On Error Resume Next

strComputer = "."
strTarget = "www.microsoft.com" 'IP address or hostname
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("Select * From Win32_PingStatus where Address = '" & strTarget & "'")
If Err = 0 Then
Err.Clear
For Each objPing in colPings
If Err = 0 Then
Err.Clear
If objPing.StatusCode = 0 Then
' если статус = 0, пустая строка - другое
Else
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "telnet.exe 192.168.1.1"
WScript.Sleep 1000
oShell.SendKeys "Admin" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "Вашпароль" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "reboot" & chr(13)
End If
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "."
End If
Next
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "."
End If
PB_EXPERT
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Re: PING при помощи МК

Сообщение PB_EXPERT »

Зачем так извращятся запуская telnet.exe?
Ведь если у окна пропадёт форус, модем не получит команду! И кроме того данный скрипт не умеет получать данные с модема!
Выше я давал ссылку, где написанно как работать с модемом без сторонних прог, типа telnet.exe
Та прога умеет получать данные с модема.
FlySnake
Мучитель микросхем
Сообщения: 429
Зарегистрирован: Пт ноя 20, 2009 20:38:12
Откуда: Калининград (Koenigsberg)
Контактная информация:

Re: PING при помощи МК

Сообщение FlySnake »

Как же сложно это в виндах :P
Я когда-то делал так:

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

#!/bin/sh
if 
ping -c 4 google.com
then exit 0
else (sleep 2 ; echo "admin" ; sleep 2 ;echo "PASSWORD" ; sleep 2 ; echo "reboot" ; sleep 5) | telnet  192.168.1.1
date >> /home/flysnake/disconnect.log
fi
exit 1
В cron от юзера на запуск каждые 15 минут. Пингуется гугл, если всё ОК - выходим, если нет - брутальным методом коннектимся к длинку, ребутим, записываем время и дату в лог и выходим.
Отличный повод перейти на линукс :)
В модеме прописано 192.168.1.1 с маской 255.255.255.0 В компе прописано 192.168.1.2 с такой же маской и Gataway 192.168.1.1 модем настроен как Бридж и вот кгда он зависает я могу пинговать ближний порт модема то есть 192.168.1.1 и сетевую карту, а дальше в инет не идет.
Стоп! Если модем бриджем, то айпишник ему не в красную армию, а дозвон идёт по PPPoE с компа, а не с модема. Вы что-то путаете, в случае с бриджем айпишники не прописываются.
А МК, кстати, есть с эзернетом. Я не пробовал, не знаю как, но чую намного проще чем полностью програмно это делать
Аватара пользователя
AndyWorld
Прорезались зубы
Сообщения: 209
Зарегистрирован: Вт сен 30, 2008 09:23:14
Откуда: Краснодарский край

Re: PING при помощи МК

Сообщение AndyWorld »

Прошу прощения, ошибся. Не бриджом настроен а роутером.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»