PING при помощи МК
- AndyWorld
- Прорезались зубы
- Сообщения: 209
- Зарегистрирован: Вт сен 30, 2008 09:23:14
- Откуда: Краснодарский край
PING при помощи МК
Есть очень распространенная проблема, когда работающий ADSL модем уходит в "коматоз". Визуально вроде и работает, но на самом деле "висит". И только ручное передергивание питания возвращает его к жизни. Возможно это проблема модема или провайдера, но скорее всего провайдера. Торговый терминал работает по скоростному интернету с модемами ADSL DLINK и в течении суток интерет зависает раз 6 или 10, но бывают и хорошие дни 2-3 раза. Я посадил модем на таймер который дергает питание каждые 2 часа. Но бывает так что Инет валится в течении получаса и остальные полтора часа терминал не работает.
Вот и возникла у мня мысль сделать такой девайс который-бы подключался к модему через RJ45 и пинговал некий указанный хост, а если бы "ПИНГИ" не вернулись 255 раз, передергивали бы питание и модем успешно бы перецепился к провайдеру. Но как аппаратно и программно решить эту задачу не представляю и ничего похожего найти не смог.
Конечно можно решить эту проблему через прикладное ПО установленное непосредственно на компе терминала, но нет свободных портов на компе терминала, да и отдельное устройство универсальней.
Вот и возникла у мня мысль сделать такой девайс который-бы подключался к модему через RJ45 и пинговал некий указанный хост, а если бы "ПИНГИ" не вернулись 255 раз, передергивали бы питание и модем успешно бы перецепился к провайдеру. Но как аппаратно и программно решить эту задачу не представляю и ничего похожего найти не смог.
Конечно можно решить эту проблему через прикладное ПО установленное непосредственно на компе терминала, но нет свободных портов на компе терминала, да и отдельное устройство универсальней.
- Реклама
Re: PING при помощи МК
Думаю что правильнее начать с модема может что то с ним...
Если пропадает связь а сам модем жив и откликается то не вижу смысла городить огород с передергиванием питания. Все современные модемы поддерживают протокол SNMP который позволяет управлять устройством.
Тоесть пишешь прогу которая пингует какой либо хост, если отклика нет перезагружаем модем через вышеуказанный протокол.
Пинговать лучше не один хост а несколько потому как если хост не будет отвечать длительное время модем будет по кругу перезагружаться только из за того что хост в сети не доступен хотя связь до других хостов может быть.
Если пропадает связь а сам модем жив и откликается то не вижу смысла городить огород с передергиванием питания. Все современные модемы поддерживают протокол SNMP который позволяет управлять устройством.
Тоесть пишешь прогу которая пингует какой либо хост, если отклика нет перезагружаем модем через вышеуказанный протокол.
Пинговать лучше не один хост а несколько потому как если хост не будет отвечать длительное время модем будет по кругу перезагружаться только из за того что хост в сети не доступен хотя связь до других хостов может быть.
- AndyWorld
- Прорезались зубы
- Сообщения: 209
- Зарегистрирован: Вт сен 30, 2008 09:23:14
- Откуда: Краснодарский край
Re: PING при помощи МК
Если бы это был модем, я бы не парился. В городе инет работает стабильно, а вот в селе... и возникают такие проблемы, так как у них там оборудование не то, или линии не те - так говорят в ЮТК. Конечно меняли и модемы и провода и перекроссировка была... И в этой борьбе победила банальная перезагрузка по питанию.
Re: PING при помощи МК
в одной фирме с подобной проблемой помогла замена на дорогой модем который лучше держит линк на плохих линиях, тоесть воткнули зюксель и проблема ушла сама.AndyWorld писал(а):Если бы это был модем, я бы не парился. В городе инет работает стабильно, а вот в селе... и возникают такие проблемы, так как у них там оборудование не то, или линии не те - так говорят в ЮТК. Конечно меняли и модемы и провода и перекроссировка была... И в этой борьбе победила банальная перезагрузка по питанию.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: PING при помощи МК
ADSL-модем существо безмозглое (модулятор-демодулятор), а вот ADSL-роутер это игрушка с мозгами, при этом чаще всего с Линукс на борту и еще чаще у нее есть Телнет.
Я для своего D-Link написал прогу которая через Телнет логинится и отправляет команду reboot. Прогу крутится на машине под Линуксом, а точнее не прога, а скрипт.
Из-под винды я управляю модемом с помощью проги D-Link monitor.
Перезагрузку я делал в 24-00 только для того чтобы можно было видеть в логах кол-во МБайт отправленных и полученных за сутки.
AndyWorld, у Вас модем или роутер? И как его звать?
Я для своего D-Link написал прогу которая через Телнет логинится и отправляет команду reboot. Прогу крутится на машине под Линуксом, а точнее не прога, а скрипт.
Из-под винды я управляю модемом с помощью проги D-Link monitor.
Перезагрузку я делал в 24-00 только для того чтобы можно было видеть в логах кол-во МБайт отправленных и полученных за сутки.
AndyWorld, у Вас модем или роутер? И как его звать?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- Реклама
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: PING при помощи МК
честно говоря, не углублялся в технологии Ethernet и думаю в этом случае можно решить проблему намного проще. У каждого модема есть система, обнаруживающая потерю линка. на многих есть даже светодиод выведенный на переднюю панель. Если есть возможность подключиться к нему, то несложно сделать устройство передергивающее питание при потере линка. на крайняк можно попробовать поставить напротив светодиода фототранзистор. конечно не изящное решение, но позволяющее не углубляться в сетевые протоколы. а вообще интересная тема, буду копать.
нашел кое-что, думаю можно что нибудь полезное отсюда для себя взять.
нашел кое-что, думаю можно что нибудь полезное отсюда для себя взять.
Ставим плюсы: )
- AndyWorld
- Прорезались зубы
- Сообщения: 209
- Зарегистрирован: Вт сен 30, 2008 09:23:14
- Откуда: Краснодарский край
Re: PING при помощи МК
У нас на юге при подключении скоростного интернета DISEL ЮТК в придачу дает D-LINK 2540U 2500 или то что у них есть. Поэтому у меня полный набор и с роутером и без. Можно было-бы купить другие и самостоятельно, только кто же захочет за енто платить. И провайдер после этого ничего гарантировать не будет.
Контролировать ЛИНК тоже не айс. Если у кого есть такие модемы которые я написал, то там в качестве основного линка изображение значка Интернет сначала желтое, а когда случится коннект - зеленое. Так вот когда модем в "коматозе" то все горит как надо - но не работает. Смею предпологать что гонит оборудование провайдера, как удалось выяснить, в селе у них стоят NATEX 120. Что это, я даже не знаю. В городе CISCO и ZYXEL.
Поэтому лампочку ЛИНК, я думаю, не отследить. Хотя надо бы понаблюдать, или заснять на камеру.
А что, собственно, передается по проводам? RX TX? Если модем в Дауне то на проводах тоже ничего не должно быть, ведь так? Может лучше этот момент отслеживать? Ведь если кто и зависнит в соединении то пропадет или TX или RX.
Контролировать ЛИНК тоже не айс. Если у кого есть такие модемы которые я написал, то там в качестве основного линка изображение значка Интернет сначала желтое, а когда случится коннект - зеленое. Так вот когда модем в "коматозе" то все горит как надо - но не работает. Смею предпологать что гонит оборудование провайдера, как удалось выяснить, в селе у них стоят NATEX 120. Что это, я даже не знаю. В городе CISCO и ZYXEL.
Поэтому лампочку ЛИНК, я думаю, не отследить. Хотя надо бы понаблюдать, или заснять на камеру.
А что, собственно, передается по проводам? RX TX? Если модем в Дауне то на проводах тоже ничего не должно быть, ведь так? Может лучше этот момент отслеживать? Ведь если кто и зависнит в соединении то пропадет или TX или RX.
Re: PING при помощи МК
Стоп стоп, у тебя в модеме ложится ethernet? что то сомнение у меня по этому поводу. Пропингуй модем когда зависнет соединение. если пингуется то щупать линию смысла нет по ней постоянно бегают служебные пакеты.AndyWorld писал(а):У нас на юге при подключении скоростного интернета DISEL ЮТК в придачу дает D-LINK 2540U 2500 или то что у них есть. Поэтому у меня полный набор и с роутером и без. Можно было-бы купить другие и самостоятельно, только кто же захочет за енто платить. И провайдер после этого ничего гарантировать не будет.
Контролировать ЛИНК тоже не айс. Если у кого есть такие модемы которые я написал, то там в качестве основного линка изображение значка Интернет сначала желтое, а когда случится коннект - зеленое. Так вот когда модем в "коматозе" то все горит как надо - но не работает. Смею предпологать что гонит оборудование провайдера, как удалось выяснить, в селе у них стоят NATEX 120. Что это, я даже не знаю. В городе CISCO и ZYXEL.
Поэтому лампочку ЛИНК, я думаю, не отследить. Хотя надо бы понаблюдать, или заснять на камеру.
А что, собственно, передается по проводам? RX TX? Если модем в Дауне то на проводах тоже ничего не должно быть, ведь так? Может лучше этот момент отслеживать? Ведь если кто и зависнит в соединении то пропадет или TX или RX.
- AndyWorld
- Прорезались зубы
- Сообщения: 209
- Зарегистрирован: Вт сен 30, 2008 09:23:14
- Откуда: Краснодарский край
Re: PING при помощи МК
В модеме прописано 192.168.1.1 с маской 255.255.255.0 В компе прописано 192.168.1.2 с такой же маской и Gataway 192.168.1.1 модем настроен как Бридж и вот кгда он зависает я могу пинговать ближний порт модема то есть 192.168.1.1 и сетевую карту, а дальше в инет не идет. Сейчас узнал у спецов ЮТК, они мне расказали про некую сессию которая у них подвисает и единственный вариант сдеруть ее с места - это рубануть питание модема. Возможно они когда нибудь поменяют оборудование но когда это будет... неизвестно. А сейчас у меня таймер дергает его чрез каждые 2 часа, а ночью реже...
Так что на Ethernet или что-то из моего железа грешить не приходится.
Так что на Ethernet или что-то из моего железа грешить не приходится.
Re: PING при помощи МК
Вот тут вот есть пример, программной перезагрузки ADSL модема D-Link DSL-2500U
- AndyWorld
- Прорезались зубы
- Сообщения: 209
- Зарегистрирован: Вт сен 30, 2008 09:23:14
- Откуда: Краснодарский край
Re: PING при помощи МК
Любопытно. Только непонятно куда этот код воткнуть. В bat файл? Тогда кто будет его запускать?
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: PING при помощи МК
Я думаю тему стоит закрыть либо перенести в другую ветку т.к. вопрос перетек в другую плоскость и к МК мягко говоря не относится, а ПЛИС и не пахнет.
???
???
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: PING при помощи МК
посмотри точно модель модема тут вот решают перепрошивкой аналогичную проблему. http://www.foss.kharkov.ua/g1/projects/ ... ap_lfd.htm
Re: PING при помощи МК
ну и на закуску вдруг поможет...
http://vilandrew.by.ru/
http://vilandrew.by.ru/
Re: PING при помощи МК
Только что опробовал скриптик, вроде работат... используем 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
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
Re: PING при помощи МК
Зачем так извращятся запуская telnet.exe?
Ведь если у окна пропадёт форус, модем не получит команду! И кроме того данный скрипт не умеет получать данные с модема!
Выше я давал ссылку, где написанно как работать с модемом без сторонних прог, типа telnet.exe
Та прога умеет получать данные с модема.
Ведь если у окна пропадёт форус, модем не получит команду! И кроме того данный скрипт не умеет получать данные с модема!
Выше я давал ссылку, где написанно как работать с модемом без сторонних прог, типа telnet.exe
Та прога умеет получать данные с модема.
-
FlySnake
- Мучитель микросхем
- Сообщения: 429
- Зарегистрирован: Пт ноя 20, 2009 20:38:12
- Откуда: Калининград (Koenigsberg)
- Контактная информация:
Re: PING при помощи МК
Как же сложно это в виндах
Я когда-то делал так:В cron от юзера на запуск каждые 15 минут. Пингуется гугл, если всё ОК - выходим, если нет - брутальным методом коннектимся к длинку, ребутим, записываем время и дату в лог и выходим.
Отличный повод перейти на линукс
А МК, кстати, есть с эзернетом. Я не пробовал, не знаю как, но чую намного проще чем полностью програмно это делать
Я когда-то делал так:
Код: Выделить всё
#!/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Отличный повод перейти на линукс
Стоп! Если модем бриджем, то айпишник ему не в красную армию, а дозвон идёт по PPPoE с компа, а не с модема. Вы что-то путаете, в случае с бриджем айпишники не прописываются.В модеме прописано 192.168.1.1 с маской 255.255.255.0 В компе прописано 192.168.1.2 с такой же маской и Gataway 192.168.1.1 модем настроен как Бридж и вот кгда он зависает я могу пинговать ближний порт модема то есть 192.168.1.1 и сетевую карту, а дальше в инет не идет.
А МК, кстати, есть с эзернетом. Я не пробовал, не знаю как, но чую намного проще чем полностью програмно это делать
- AndyWorld
- Прорезались зубы
- Сообщения: 209
- Зарегистрирован: Вт сен 30, 2008 09:23:14
- Откуда: Краснодарский край
Re: PING при помощи МК
Прошу прощения, ошибся. Не бриджом настроен а роутером.


