Страница 1 из 1
PING при помощи МК
Добавлено: Пт июн 18, 2010 08:16:38
AndyWorld
Есть очень распространенная проблема, когда работающий ADSL модем уходит в "коматоз". Визуально вроде и работает, но на самом деле "висит". И только ручное передергивание питания возвращает его к жизни. Возможно это проблема модема или провайдера, но скорее всего провайдера. Торговый терминал работает по скоростному интернету с модемами ADSL DLINK и в течении суток интерет зависает раз 6 или 10, но бывают и хорошие дни 2-3 раза. Я посадил модем на таймер который дергает питание каждые 2 часа. Но бывает так что Инет валится в течении получаса и остальные полтора часа терминал не работает.
Вот и возникла у мня мысль сделать такой девайс который-бы подключался к модему через RJ45 и пинговал некий указанный хост, а если бы "ПИНГИ" не вернулись 255 раз, передергивали бы питание и модем успешно бы перецепился к провайдеру. Но как аппаратно и программно решить эту задачу не представляю и ничего похожего найти не смог.
Конечно можно решить эту проблему через прикладное ПО установленное непосредственно на компе терминала, но нет свободных портов на компе терминала, да и отдельное устройство универсальней.
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 09:24:40
eygen
Думаю что правильнее начать с модема может что то с ним...
Если пропадает связь а сам модем жив и откликается то не вижу смысла городить огород с передергиванием питания. Все современные модемы поддерживают протокол SNMP который позволяет управлять устройством.
Тоесть пишешь прогу которая пингует какой либо хост, если отклика нет перезагружаем модем через вышеуказанный протокол.
Пинговать лучше не один хост а несколько потому как если хост не будет отвечать длительное время модем будет по кругу перезагружаться только из за того что хост в сети не доступен хотя связь до других хостов может быть.
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 09:32:35
AndyWorld
Если бы это был модем, я бы не парился. В городе инет работает стабильно, а вот в селе... и возникают такие проблемы, так как у них там оборудование не то, или линии не те - так говорят в ЮТК. Конечно меняли и модемы и провода и перекроссировка была... И в этой борьбе победила банальная перезагрузка по питанию.
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 10:10:22
eygen
AndyWorld писал(а):Если бы это был модем, я бы не парился. В городе инет работает стабильно, а вот в селе... и возникают такие проблемы, так как у них там оборудование не то, или линии не те - так говорят в ЮТК. Конечно меняли и модемы и провода и перекроссировка была... И в этой борьбе победила банальная перезагрузка по питанию.
в одной фирме с подобной проблемой помогла замена на дорогой модем который лучше держит линк на плохих линиях, тоесть воткнули зюксель и проблема ушла сама.
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 10:27:32
Danko
ADSL-модем существо безмозглое (модулятор-демодулятор), а вот ADSL-роутер это игрушка с мозгами, при этом чаще всего с Линукс на борту и еще чаще у нее есть Телнет.
Я для своего D-Link написал прогу которая через Телнет логинится и отправляет команду reboot. Прогу крутится на машине под Линуксом, а точнее не прога, а скрипт.
Из-под винды я управляю модемом с помощью проги D-Link monitor.
Перезагрузку я делал в 24-00 только для того чтобы можно было видеть в логах кол-во МБайт отправленных и полученных за сутки.
AndyWorld, у Вас модем или роутер? И как его звать?
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 12:09:56
ibiza11
честно говоря, не углублялся в технологии Ethernet и думаю в этом случае можно решить проблему намного проще. У каждого модема есть система, обнаруживающая потерю линка. на многих есть даже светодиод выведенный на переднюю панель. Если есть возможность подключиться к нему, то несложно сделать устройство передергивающее питание при потере линка. на крайняк можно попробовать поставить напротив светодиода фототранзистор. конечно не изящное решение, но позволяющее не углубляться в сетевые протоколы. а вообще интересная тема, буду копать.
нашел
кое-что, думаю можно что нибудь полезное отсюда для себя взять.
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 12:44:34
AndyWorld
У нас на юге при подключении скоростного интернета DISEL ЮТК в придачу дает D-LINK 2540U 2500 или то что у них есть. Поэтому у меня полный набор и с роутером и без. Можно было-бы купить другие и самостоятельно, только кто же захочет за енто платить. И провайдер после этого ничего гарантировать не будет.
Контролировать ЛИНК тоже не айс. Если у кого есть такие модемы которые я написал, то там в качестве основного линка изображение значка Интернет сначала желтое, а когда случится коннект - зеленое. Так вот когда модем в "коматозе" то все горит как надо - но не работает. Смею предпологать что гонит оборудование провайдера, как удалось выяснить, в селе у них стоят NATEX 120. Что это, я даже не знаю. В городе CISCO и ZYXEL.
Поэтому лампочку ЛИНК, я думаю, не отследить. Хотя надо бы понаблюдать, или заснять на камеру.
А что, собственно, передается по проводам? RX TX? Если модем в Дауне то на проводах тоже ничего не должно быть, ведь так? Может лучше этот момент отслеживать? Ведь если кто и зависнит в соединении то пропадет или TX или RX.
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 13:18:32
eygen
AndyWorld писал(а):У нас на юге при подключении скоростного интернета DISEL ЮТК в придачу дает D-LINK 2540U 2500 или то что у них есть. Поэтому у меня полный набор и с роутером и без. Можно было-бы купить другие и самостоятельно, только кто же захочет за енто платить. И провайдер после этого ничего гарантировать не будет.
Контролировать ЛИНК тоже не айс. Если у кого есть такие модемы которые я написал, то там в качестве основного линка изображение значка Интернет сначала желтое, а когда случится коннект - зеленое. Так вот когда модем в "коматозе" то все горит как надо - но не работает. Смею предпологать что гонит оборудование провайдера, как удалось выяснить, в селе у них стоят NATEX 120. Что это, я даже не знаю. В городе CISCO и ZYXEL.
Поэтому лампочку ЛИНК, я думаю, не отследить. Хотя надо бы понаблюдать, или заснять на камеру.
А что, собственно, передается по проводам? RX TX? Если модем в Дауне то на проводах тоже ничего не должно быть, ведь так? Может лучше этот момент отслеживать? Ведь если кто и зависнит в соединении то пропадет или TX или RX.
Стоп стоп, у тебя в модеме ложится ethernet? что то сомнение у меня по этому поводу. Пропингуй модем когда зависнет соединение. если пингуется то щупать линию смысла нет по ней постоянно бегают служебные пакеты.
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 13:44:08
AndyWorld
В модеме прописано 192.168.1.1 с маской 255.255.255.0 В компе прописано 192.168.1.2 с такой же маской и Gataway 192.168.1.1 модем настроен как Бридж и вот кгда он зависает я могу пинговать ближний порт модема то есть 192.168.1.1 и сетевую карту, а дальше в инет не идет. Сейчас узнал у спецов ЮТК, они мне расказали про некую сессию которая у них подвисает и единственный вариант сдеруть ее с места - это рубануть питание модема. Возможно они когда нибудь поменяют оборудование но когда это будет... неизвестно. А сейчас у меня таймер дергает его чрез каждые 2 часа, а ночью реже...
Так что на Ethernet или что-то из моего железа грешить не приходится.
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 14:27:56
PB_EXPERT
Вот
тут вот есть пример, программной перезагрузки ADSL модема D-Link DSL-2500U
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 15:29:36
AndyWorld
Любопытно. Только непонятно куда этот код воткнуть. В bat файл? Тогда кто будет его запускать?
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 17:39:48
Danko
Я думаю тему стоит закрыть либо перенести в другую ветку т.к. вопрос перетек в другую плоскость и к МК мягко говоря не относится, а ПЛИС и не пахнет.
???
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 17:42:34
eygen
посмотри точно модель модема тут вот решают перепрошивкой аналогичную проблему.
http://www.foss.kharkov.ua/g1/projects/ ... ap_lfd.htm
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 18:01:53
eygen
ну и на закуску вдруг поможет...
http://vilandrew.by.ru/
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 19:15:16
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
Re: PING при помощи МК
Добавлено: Пт июн 18, 2010 19:21:48
PB_EXPERT
Зачем так извращятся запуская telnet.exe?
Ведь если у окна пропадёт форус, модем не получит команду! И кроме того данный скрипт не умеет получать данные с модема!
Выше я давал ссылку, где написанно как работать с модемом без сторонних прог, типа telnet.exe
Та прога умеет получать данные с модема.
Re: PING при помощи МК
Добавлено: Сб июн 19, 2010 01:36:09
FlySnake
Как же сложно это в виндах
Я когда-то делал так:
Код: Выделить всё
#!/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 с компа, а не с модема. Вы что-то путаете, в случае с бриджем айпишники не прописываются.
А МК, кстати, есть с эзернетом. Я не пробовал, не знаю как, но чую намного проще чем полностью програмно это делать
Re: PING при помощи МК
Добавлено: Сб июн 19, 2010 07:39:27
AndyWorld
Прошу прощения, ошибся. Не бриджом настроен а роутером.