PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Дополнительный софт (http://pccar.ru/forumdisplay.php?f=30)
-   -   Автоподключалка мобильного интернета ReConnecter. (http://pccar.ru/showthread.php?t=19810)

Alex_St 27.10.2013 01:21

Автоподключалка мобильного интернета ReConnecter.
 
Вложений: 1
Несколько надоело мне то, что мой модем Huawei E220 при проезде по маршруту на работу и обратно несколько раз теряет сигнал. И, естественно, сам подключаться при восстановлении не хочет. Написать скрипт в виде бат файла я не захотел. Потому что его будет сложно отличить от других командных окон.
Ну и решил я написать простенькую софтинку, которая будет поддерживать подключение к интернету, и, если надо, будет пинать модем.
Результат лежит в аттаче.

Принцип действия. При нажатии на кнопку Connect посылается команда устройству PPP "подключиться". После истечения промежутка времени, заданного величиной Connection Time, софтинка посылает пинг на три разных сервера. Если хоть один из них пришел - инет есть. Дальше пинг шлется с интервалом, заданным параметром Period. Если период задан равным 0 - то пинги слаться не будут. Но мы все равно проверяем статус соединения средствами винды.
Если попытка подключения оказалась неуспешной - то попробуем разорвать соединение, послав ему команду "отключить". А потом все сначала.
Если флажок AutoReconnect не установлен - то при разрыве соединения никаких действий не будет выполнено.
В общем-то, программа может поддерживать любое PPP соединение. Достаточно лишь указать программе его имя.
Программа требует .Net4.0 framework.

sirota 27.10.2013 11:14

Во це дело...спасибо.

Вопрос: что нужно вбивать в графу Connection Name?
Модем MF-180 от Билайна.

Alex_St 27.10.2013 11:42

Нужно вбивать имя сетевого подключения. Главное, чтобы модем не требовал запуск спец софтинок для подключения.
Например, у меня карточка от UTel. Я себе создал PPP соединение с именем UTel, в нем указал какой модем пользовать. Это соединение появилось в списке сетевых подключений. Теперь мне достаточно в списке том выбрать UTel и нажать кнопочку "Подключить". И винда сама дозвонится по нужному номеру, указанному в настройках этого соединения, и установит связь.

Так вот моя програмка нажимает на кнопку "подключить" того соединения, имя которого прописано в графе Connection Name.

Кстати, я тут подумал - если для установления соединения необходимо запускать програму от провайдера - можно добавить в мою програмку запуск любого приложения. Конечно, если это кому-то надо.

Alex_St 29.10.2013 15:07

Вложений: 1
Перевел на русский язык.

HuduGuru 02.11.2013 15:48

Очень интересно, буду пробовать.
На заметку: в Windows 7 есть системное сообщение о том, что произошел выход из хибернейта, можно его заюзать, красивое решение будет:

Windows 7 записывает событие с номером 300 в журнал Microsoft-Windows-Diagnostics-Performance

Инфа отсюда: http://pccar.ru/showthread.php?t=18809&page=16
И оттуда: http://www.outsidethebox.ms/12241/

Alex_St 02.11.2013 20:04

Думал об этом. Но пришел к выводу, что привязываться к гибернейту не стоит. Тут всего лишь таймер вертится, и при выходе из гибернейта он в очередной раз проверит состояние инета и подключит его заново.
В машине софтинка катается неделю - вроде стабильно )

Машинист 04.11.2013 22:10

Поставил и Нет4, и саму прогу - что-то опять не работает... один денек покатался вроде бы помогало при выходе из кибернейта, а после очередной перезагрузки компа - в проге пишет то коннект- то дисконнект с равными интервалами, те прога пытается зацепиться за интернет, но не может... Быдлайновская прога в трее, имя в коннекте задано правильно - Beeline. С самой проги все ок подключается... где я мог напортачить? И в догонку - в настройках программы время задается, я так понял - в секундах?

Alex_St 04.11.2013 22:20

Да, в секундах.
А удается ли подключить инет через диспетчер сетевых подключений?

Машинист 04.11.2013 23:19

Цитата:

Сообщение от Alex_St (Сообщение 276052)
через диспетчер сетевых подключений?

Я через родную программу подключаю... Вынес на рабочий сол ярлык - через него не пробывал... (ярлык в папке подключений)...

Alex_St 05.11.2013 00:25

Программа выполняет подключение через запуск "rasdial.exe имя_подключения". Это эквивалентно нажатию кнопки "подключить" на нужном подключении в диспетчере подключений. Если твой модем поддерживает такое - то программа сможет им управлять.
Но если модем такого не умеет - то в принципе, можно переделать программу так, чтобы она запускала нужные программы с указанными аргументами для установления соединения и для его отключения.
Проверь, плз, какой из вариантов твоему модему подходит. Стоит заметить, что во втором случае обязательно надо будет указать какой командой подключать и отключать.

Andy_ro 26.05.2014 19:07

А запускать с параметрми можно?
Типа "ReConnecter.exe /connect" и "ReConnecter.exe /disconnect" ?

Alex_St 26.05.2014 19:11

В данной версии такой функционал не реализован.
А он нужен?

Andy_ro 27.05.2014 10:02

Цитата:

Сообщение от Alex_St (Сообщение 298048)
В данной версии такой функционал не реализован.
А он нужен?

Ну да.
Я просто не знаю другого способа включать - выключать модем из под оболочки типа iCar, не делая лишних телодвижений.
Хотелось бы.:blush:

Alex_St 27.05.2014 11:12

Ок, как будет минутка - добавлю.
Хотя, честно говоря, я у себя однажды включил его, и забыл даже как он выглядит. Он просто поддерживает соединение, и все ).
А выключать модем ни разу не надо было...

Andy_ro 02.06.2014 13:41

Цитата:

Сообщение от Alex_St (Сообщение 298105)
Ок, как будет минутка - добавлю.
Хотя, честно говоря, я у себя однажды включил его, и забыл даже как он выглядит. Он просто поддерживает соединение, и все ).
А выключать модем ни разу не надо было...

Наберусь-ка наглости и заодно попрошу сразу уж запретить запуск второй копии программы и сделать покрупнее индикацию состояния: "Подключаю, отключаю, подключено, отключено" или лучше заменить цветным прямоугольным индикатором (с надписью состояния на его фоне) подключаю(зел. миг.), отключаю(красн. миг.), подключено(зел), отключено(красн.) и покрупнее. А ещё хотелось бы, чтобы окно программы пряталось в трей (опционально) с отображением цветовой индикации состояния.

Вообще-то пару дней поездил и не скажу, что получается забыть о подключении модема. Спустя какое-то неопределённое время вдруг обнаруживаю, что связи нет, хотя программа твердит: "Подключено", и никаких действий не производит. Нажать кнопку "Отключить" или "Подключить" не удаётся. И вообще программа просто висит. После принудительного перезапуска всё нормально начинает работать.

Сейчас попробовал - вроде вторая копия не запускается. Наверное глюки, связанные с зависанием программы.

Alex_St 02.06.2014 13:57

Вторая копия не должна запускаться. Если таки запускается - надо выяснять почему. Возможно, он не видит активную копию.
В трей - сделать можно. Но для этого было бы неплохо нарисовать для него какую-то иконку, чтобы по ней можно было его распознавать. Со стандартной это не столь очевидно ). Если кто-то нарисует иконку - я сделаю сворачивание в трей.
По зависанию - странно. Зависать в нем нечему. Особенно так, чтобы не реагировал на кнопки. Единственное, что было у меня похожего - это зависание службы подключения. Т.е. она висит в состоянии "подключено", но данные не идут. Отключить не представляется возможным.
Но тут реконнектер видит, что пинг не проходит, и героически следует по циклу "отключить - подключить". Ес-сно, безуспешно, потому что служба висит. Помогает только перегруз компа. Глубоко эту проблему не копал... Кстати, такое было и до использования реконнектера.

Цветной прямоугольник - когда писал прогу - думал об этом, даже сделал. Не понравилось. Выкинул. Если востребовано - сделаем еще раз.

С передачей параметров через командную строку получился затык, связанный с передачей данных уже активному процессу, если реконнектер был уже запущен до того. Нужно немножко больше времени, чем предполагалось, а его сейчас, увы, нету...
Как будет возможность - постараюсь реализовать все это ).

Andy_ro 02.06.2014 15:07

Цитата:

Сообщение от Alex_St (Сообщение 298774)
Вторая копия не должна запускаться. Если таки запускается - надо выяснять почему. Возможно, он не видит активную копию.
В трей - сделать можно. Но для этого было бы неплохо нарисовать для него какую-то иконку, чтобы по ней можно было его распознавать. Со стандартной это не столь очевидно ). Если кто-то нарисует иконку - я сделаю сворачивание в трей.

Жаль в этом я не очень силён.
Цитата:

Сообщение от Alex_St (Сообщение 298774)
По зависанию - странно. Зависать в нем нечему. Особенно так, чтобы не реагировал на кнопки. Единственное, что было у меня похожего - это зависание службы подключения. Т.е. она висит в состоянии "подключено", но данные не идут. Отключить не представляется возможным.
Но тут реконнектер видит, что пинг не проходит, и героически следует по циклу "отключить - подключить". Ес-сно, безуспешно, потому что служба висит. Помогает только перегруз компа. Глубоко эту проблему не копал... Кстати, такое было и до использования реконнектера.

Во-во у меня, похоже, именно эта проблемма.

Цитата:

Сообщение от Alex_St (Сообщение 298774)
Цветной прямоугольник - когда писал прогу - думал об этом, даже сделал. Не понравилось. Выкинул. Если востребовано - сделаем еще раз.

Ну да хотелось бы. Во время движения трудно разобрать, что он на там пишет - со зрением у меня туговато.

Цитата:

Сообщение от Alex_St (Сообщение 298774)
С передачей параметров через командную строку получился затык, связанный с передачей данных уже активному процессу, если реконнектер был уже запущен до того. Нужно немножко больше времени, чем предполагалось, а его сейчас, увы, нету...
Как будет возможность - постараюсь реализовать все это ).

Пока справился с этой проблемой, создав два коммандных файла "...ON.cmd" (благо программа помнит, что ей перед закрытием нажимали кнопку "Подключить") и "...OFF.cmd".

Alex_St 04.06.2014 19:08

Обновил программу в первом сообщении:
- При сворачивании - сворачиваем в трей, вместо паннели задач.
- Иконка программы теперь зависит от состояния. Иконки любезно нарисовал Andy_ro, за что ему большое спасибо!
- Цвет надписи состояния так же зависит от состояния, что позволит не читать саму надпись )))
- Теперь ReConnecter понимает две команды через командную строку:
ReConnecter.exe -connect
ReConnecter.exe -disconnect

Andy_ro 18.06.2014 12:08

Цитата:

Сообщение от Alex_St (Сообщение 298774)
...Единственное, что было у меня похожего - это зависание службы подключения. Т.е. она висит в состоянии "подключено", но данные не идут. Отключить не представляется возможным.
Но тут реконнектер видит, что пинг не проходит, и героически следует по циклу "отключить - подключить". Ес-сно, безуспешно, потому что служба висит. Помогает только перегруз компа. Глубоко эту проблему не копал...

Ты просил делиться в теме.
Делюсь.
У меня получалось с этим справиться без перезагрузки, запуская BATник со строчками:

taskkill /f /im ReConnecter.exe
@rasdial "MTS Internet RU" /DISCONNECT
@start "" "C:\ReConnecter.exe"

после чего всё вставало на свои места до следующего раза ~час-два.
Иногда видел сообщение, что данный процесс отсутствует, но всё равно всё срабатывало.

P.S. Почту проверь.

Alex_St 18.06.2014 12:51

Цитата:

Сообщение от Andy_ro (Сообщение 300205)
Ты просил делиться в теме.
@rasdial "MTS Internet RU" /DISCONNECT

Странно. У реконнектер управляет сетью именно такой командой. У меня, когда подключение зависало, эта команда не помогала его срубить...

Когда у тебя подключение виснет - что происходит, если в реконнектере нажать кнопку "Отключить"?
И что происходит если нажать кнопку "отключить" на самом соединении?

Andy_ro 18.06.2014 14:08

Цитата:

Сообщение от Alex_St (Сообщение 300210)
Странно. У реконнектер управляет сетью именно такой командой. У меня, когда подключение зависало, эта команда не помогала его срубить...

Когда у тебя подключение виснет - что происходит, если в реконнектере нажать кнопку "Отключить"?
И что происходит если нажать кнопку "отключить" на самом соединении?

Про само соединение не скажу - не пробовал, а при нажатии твоей кнопки "Отключить" она даже визуально не нажимается.
__________________________________________________ ______
Просто без всяких оговорок первая строчка:taskkill /f /im ReConnecter.exe убивает процесс, а потом уже с чистого листа.

Andy_ro 23.06.2014 10:01

Цитата:

Сообщение от Alex_St (Сообщение 300210)
И что происходит если нажать кнопку "отключить" на самом соединении?

При случае специально проверил.
Пишет, что отключает, но потом так подключение подключенным :smile1: и остаётся.

Alex_St 23.06.2014 10:42

А команда "@rasdial "MTS Internet RU" /DISCONNECT" таки его полностью отключает в таком состоянии? Очень странно..

Andy_ro 24.06.2014 10:02

Цитата:

Сообщение от Alex_St (Сообщение 300647)
А команда "@rasdial "MTS Internet RU" /DISCONNECT" таки его полностью отключает в таком состоянии? Очень странно..

Нет. В этот раз ничем отключить не удалось. Только перезагрузка справилась. Как ты и описывал ранее.

Alex_St 24.06.2014 10:42

Значит, решения пока нет (

Andy_ro 24.06.2014 15:39

Цитата:

Сообщение от Alex_St (Сообщение 300782)
Значит, решения пока нет (

Я не попробовал выдёргивать и вставлять модем, но, думаю, не поможет.
Может какую службу принудительно выключать-включать, чтобы всё грохнуть?

Alex_St 24.06.2014 15:41

Я пробовал выдергивать модем - не помогает.
Службу - я не нашел (.

mendisabal 10.07.2014 01:59

О как ,в свое время думал сам писать такую программку ,спасибо что ты есть)
НО! отваливания своего модема ёта победил след образом :
1.В диспетчере снял галочки "разрешить пробуждать ..." и "разрешить отключать для экономии энергии"
2. с помощью ихнего ТП прописал выданный ip адрес и dns в свойствах подключения .
И радости моей не было предела ,до этих манипуляций мондем жил своей жизнью ,в редких случаях своего бодрствования мог отвалиться без объяснения причин ,теперь пришла стабильность без доп программ ,всем советую изначально сделать тоже самое ибо ложных отключений\подключений станет в разы меньше. Проблема была не в плохом проводе\питании а в отторжении 8кой "нестабильного" подключения ,но это уже не важно.
В итоге ,по неизвестным мне причинам может порваться "сетевое подключение" при этом усби устройство не гавкает ,и не пропадает ,происходит крайне редко ,раз в неделю наверное максимум . И в случае выезда из зоны lte при обратном въезде в нее же интернет не возобновляется ,надеюсь решить эти маленькие неудобства с помощью вашей программки ,еще раз спасибо.

Andy_ro 16.07.2014 17:58

Цитата:

Сообщение от mendisabal (Сообщение 301834)
...2. с помощью ихнего ТП прописал выданный ip адрес и dns в свойствах подключения ...
.

А что такое ТП?

awtoap 16.07.2014 20:18

В данном случае техподдержка, а так ваще другая смысловая нагрузка )))

Krysanov 10.10.2014 20:30

заметил, что при выходе из гипернации отсутствует значок модема в икаре и радио не "поёт"!... пробовал принудительно нажимать на подключение в самой софтине (у меня мегафон), результата нет , одна надпись - соединение разорвано.... Если перезагрузить, то все работает... Эта программа может решить мою проблему? и еще.. в расширенных настройках икара есть функция активации (деактивации) подключения модема... пробовал активировать ее... результат нулевой.
Заранее благодарю за ответы

Alex_St 11.10.2014 12:35

Реконнектер лишь "нажимает" кнопку "подключить" в свойствах твоего интернет соединения. Если с соединением что-то не так, то он нажмет "отключить", а потом снова "подключить". Если эти действия не помогают в обычном режиме - реконнектер ничем не поможет, увы.

Krysanov 11.10.2014 14:39

Цитата:

Сообщение от Alex_St (Сообщение 308390)
Реконнектер лишь "нажимает" кнопку "подключить" в свойствах твоего интернет соединения. Если с соединением что-то не так, то он нажмет "отключить", а потом снова "подключить". Если эти действия не помогают в обычном режиме - реконнектер ничем не поможет, увы.

Да, вроде то, что нужно

Krysanov 07.11.2014 22:55

а можно модернизировать программу, чтобы она убивала процесс и вновь его подключала?, тогда проблема будет решена
... мне как то давали батник для killa gps gate....
@echo off

rem Завершение процесса gpsgatexp.exe
taskkill /f /im gpsgatexp.exe

rem Запуск программы gpsgatexp.exe
start c:\"Program Files"\Franson\"GpsGate 2.0"\GpsGateXP.exe

exit

Alex_St 08.11.2014 00:46

А что это даст? Кого убивать то?

Krysanov 08.11.2014 05:47

Цитата:

Сообщение от Alex_St (Сообщение 310487)
А что это даст? Кого убивать то?

При выходе из сна значок икара исчезает и интернета нет... При открытии программы нажимаю подключить.. Результата ноль... Процесс висит... А если убить процесс в диспетчере задач и по новой запустить прогу, то все ок..

Alex_St 09.11.2014 10:37

Все равно не понял:
- какой у икара значок и как он связан с интернетом?
- какой процесс висит и кого убивать и запускать?

Krysanov 09.11.2014 14:53

Цитата:

Сообщение от Alex_St (Сообщение 310576)
Все равно не понял:
- какой у икара значок и как он связан с интернетом?
- какой процесс висит и кого убивать и запускать?

Сейчас... попробую объяснить.... твоя прога классно работает и решает основную задачу-при отсутствии интернета кратковременном, находит это и конектится... Езжу по городу и там где связи нет, теперь не парюсь, что надо URL-радио ткнуть, твоя программа сама это делает.. НО когда комп впадает в спячку и просыпается по требованию, вот тут твоя программа не помогает... Происходит вот что.. Штатная программа свистка (у меня мегафон) показывает, что подключен, но интернета нет (ни приема ни передачи). мышкой нажимаю разорвать соединение, и ничего не происходит... зависает само подключение интернета.. выхожу в диспетчер задач, принудительно отключаю это процесс.. Потом мышкой запускаю мегафоновскую прогу для запуска свистка .. и все работает...
Вот я и хотел, чтобы твоя прога чуть была модернизирована.. При определении зависания процесса (его можно выставлять самостоятельно или программно автоматически), твоя прога принудительно бы останавливала сам процесс... и вновь бы его запускала...
Не знаю, понятно ли объяснил?
С уважением, Андрей

Alex_St 09.11.2014 15:00

Теперь понятно. Сделаем!

Krysanov 09.11.2014 15:25

Цитата:

Сообщение от Alex_St (Сообщение 310598)
Теперь понятно. Сделаем!


Жду с нетерпением!!


Часовой пояс GMT +4, время: 08:24.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot