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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   iCarDS (http://pccar.ru/forumdisplay.php?f=121)
-   -   Полезные утилиты и Твики iCarDS (http://pccar.ru/showthread.php?t=24392)

seriousstas 23.11.2017 23:19

Цитата:

это винда что-то косячит)))
это первое о чем подумал вчера ..
Повторить не получается )
Цитата:

Позже вечером выложу финальную версию
Ок ! Будут еще изменения ?

duzzy 24.11.2017 00:17

seriousstas

Цитата:

Повторить не получается )
:) тут просто есть один момент, когда в ини пишешь переменную она перезаписывается полностью, т.е. ошибки с дублем или ошибочными остатками маловероятны.

Цитата:

Ок ! Будут еще изменения ?
По самому механизму вкл.\выкл. не будет изменений, а вот по логике работы утилиты будут + некоторые проверки и легкая чистка)))

seriousstas 24.11.2017 01:30

Цитата:

Сообщение от duzzy (Сообщение 395268)
seriousstas


:) тут просто есть один момент, когда в ини пишешь переменную она перезаписывается полностью, т.е. ошибки с дублем или ошибочными остатками маловероятны.


По самому механизму вкл.\выкл. не будет изменений, а вот по логике работы утилиты будут + некоторые проверки и легкая чистка)))

Цитата:

а вот по логике работы утилиты будут
интересно )

duzzy 24.11.2017 01:32

Network Checker & WiFi Switcher

Небольшая утилита по образу и подобию "WiFi Монитора".
Сделана для автоматического подключения при разрыве сетевого подключения.
А так же включения wifi адаптера, если он был выключен.
Работает при помощи виндовой консольной утилиты netsh.exe.

http://jpegshare.net/images/04/a0/04...518c848bda.jpg

При первом старте net_checker.exe, сетевое соединение должно быть активным!!!

Т.е. wifi - адаптер должен быть включен, а необходимая сеть подключена.
Это единоразовая настройка.

Видос как работает.

----------------------------------------------------------------------------------------
При необходимости перенастройки параметров адаптера и сети,
в ини файле заменить параметр fist_run=false на fist_run=true,
затем включить адаптер, подключиться к сети и запустить net_checker.exe.
Через несколько секунд после запуска появится таблица с настройками сети и адаптера.
Таблицу нужно закрыть, она для наглядности заполнения параметров
в ини файле.

У утилиты есть настройки в ини файле...
[settings]
interface=Беспроводная сеть --- собственно сам wifi
ssid=DIR-777 --- название сети
profile=DIR-777 --- профиль подключения
ping_addr1=8.8.8.8 --- первый адрес для пинга
ping_addr2=8.8.4.4 --- второй адрес для пинга
ping_timeout=5000 --- таймаут пинга
check_timeout=5000 --- время цикла проверок
debug=False --- режим отладки(запись в файл debug_log.txt событий)
messages=False --- вкл.\выкл. сообщение о недоступной сети
fist_run=False --- вкл.\выкл. режима первого старта утилиты
tray_messages=false --- вкл.\выкл. сообщение о недоступной сети в трее

----------------------------------------------------------------------------------------
Ответы по возможным вопросам:

- ping_addr1, ping_addr2 - пингует по двум адресам т.е. ping_addr1=8.8.8.8 и ping_addr2=8.8.4.4 - должны быть заполнены(выделено жирным).

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

- check_timeout - время цикла проверок - это время отработки цикла скрипта, уменьшать до мс.(например: 300) не советую, это не ускорит работу скрипта, но зато усилит нагрузку на систему и будут сыпаться ошибки подключения.

- debug - режим отладки - в принципе почти бесполезен))) для пользователя, он больше был нужен мне.

- messages - сообщение о недоступной сети - полезная штука, дает понять когда отвалилась сеть, если ненужно можно выключить(false), включить(true).

- fist_run - первый старт - необходим для взятия параметров из системы, отрабатывает один раз. Повторное использование нужно только при перенастройке сетевых параметров.(выключить(false), включить(true).)

И да чуть не забыл)), скрипт работает с иконками в трее, показывая состояние сети и адаптера.
Их можно поменять на свои более информативные, переименовав свои иконки именами образцов в папке icons.
Лежать они должны в папке icons рядом со скриптом.

/---------------------------------------------------------------------------------------/
Перезалил архив 24.11.2017 13:14
- Убрал лишнее переподключение.
(Теперь нет разрыва сетевого подключения. Только одно подключение при разрыве связи.)
/---------------------------------------------------------------------------------------/
Перезалил архив 24.11.2017 5:00 утра
- Исправил ошибку проверки адаптера
/---------------------------------------------------------------------------------------/
Перезалил архив 24.11.2017 3:57 утра
- Добавил проверку на выключенный адаптер и информационные сообщения.
(информационные сообщения: "Подключаемся к сети:"; "Включаем WiFi адаптер..."
для того чтобы было понятно какие действия происходят)
/---------------------------------------------------------------------------------------/

Скачать
...

seriousstas 24.11.2017 03:11

Вложений: 1
duzzy
Мне кажется самый первый вариант , где проверялось именно соединение через _Wlan_QueryInterface ,а не пинг более правильный
Код:

If _Wlan_QueryInterface() = "Connected" Then
        Local $asConnection = _Wlan_QueryInterface($WLAN_INTF_OPCODE_CURRENT_CONNECTION)
        $sCurrentProfile = $asConnection[2]
Else

Новый вариант подойдет для домашней сети , которая более стабильна

Я пару раз получал потерю интернета полностью ..
На смарте есть , подключение есть,а на ПК инета нет ..
Вероятно частое переподключение (а этого не избежать в движении) валит драйвер . Вылечивается перезапуском системы . Что кажет диагностика (скрин ниже)

И еще - скажем я делаю запрос к какому-то адресу через Хром . Если есть потеря сигнала смартфоном, но соединение остается - будет ожидание ,
а если передернуть - страница не откроется, а напишет про отсутствие соединения :
Цитата:

соединение разорвано

Выявлено изменение в сети.
ERR_NETWORK_CHANGED
+ иконка (лесенка) время от времени моргает, что говорит о не нужном переподключении ..

duzzy 24.11.2017 04:04

seriousstas
Цитата:

Мне кажется самый первый вариант , где проверялось именно соединение через _Wlan_QueryInterface
Да так лучше, но udf нативвайвай вываливает кучу ошибок)))... а как его исправить я даже не представляю)))

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

Если не нужно переподключение адаптера можешь в исходнике из цикла убрать wifi_enable_adapter() и тогда будет только подключение сети при разрыве соединения. Но тогда не будет вкл. адаптер...
Могу попробовать проверку на выключенный сделать, но нужны тесты, потому как на одном компе может быть все хорошо а на другом не работать.

Цитата:

На смарте есть , подключение есть,а на ПК инета нет ..
Как то странно...
А с дровами точно все порядке ?
Я к чему это пишу, дома три компа и за несколько дней я их насиловал по черному)))
Бесконечное выкл.вафли и отключение сети в разных вариациях(скрипт для это написал)))) + выдергивание адаптеров, и как ни странно дрова не валились все отрабатывало корректно, так же и раздачу гонял.

.................................................. ...................................

Вставил проверку на выключенный адаптер, пока работает как надо без переподключения адаптера.
Сейчас перезалью архив с net_checker-ом, а завтра если время будет гляну на свежую голову native-wifi.

seriousstas 24.11.2017 13:20

Цитата:

А с дровами точно все порядке ?
на Qualcomm Atheros AR9485 Wireless Network Adapter

встроен в моноблок , восмерка на него ставит свои .. Работали хорошо лет 5ть не переставлял 8-ку ..
Цитата:

Если не нужно переподключение адаптера
Я лишнее сразу поубирал ..
А вообще я знаю , как использовать Твой скрипт .
Запускать по событию сна один раз(те без цикла) из планировщика с проверкой на пинг .
Я так и делал , но через реконнект адаптера, а правильнее будет , как ты предложил через netsh.exe wlan connect
Цитата:

на свежую голову native-wifi
буду ждать!

duzzy 24.11.2017 14:38

seriousstas

Перезалил еще раз))
Убрал лишний коннект сети, теперь работает как часы ;)

Цитата:

на Qualcomm Atheros AR9485 Wireless Network Adapter

встроен в моноблок , восмерка на него ставит свои .. Работали хорошо лет 5ть не переставлял 8-ку ..
Я у себя на ноуте и нет-буке переставлял, на ноуте вафля отваливалась на нет-буке адаптер не засыпал(высаживал батарею)...

Цитата:

Я лишнее сразу поубирал ..
А вообще я знаю , как использовать Твой скрипт .
Запускать по событию сна один раз(те без цикла) из планировщика с проверкой на пинг .
Я так и делал , но через реконнект адаптера, а правильнее будет , как ты предложил через netsh.exe wlan connect
Я немного изучил вопрос по netsh.exe - это "Network Shell" - тулза по работе с сетью и не только. Т.е. эта программа использует модули для тех или иных комманд. Отрабатывает на уровне софтверных команд. Валить дрова она не в коем случае не должна... скорее всего что-то не правильно работает в системе...
На нескольких компах в адовом режиме пробовал как я и писал выше, все прекрасно работает... не было ни падений не синих экранов не отвала дров.

Можно использовать вообще голые команды в планировщике по событиям, тоже будет работать.
Но суть этого скрипта в автоматизации процесса переподключения сети и включении адаптера если он был выключен.

Цитата:

буду ждать!
:) По вопросу нативвайвай, я уже глянул утром и попробовал)))
Работает он очень хреново, поясню,
при использовании...
_Wlan_QueryInterface() - происходит реконнект т.е. разрыв соединения и подключение(это основная функция по запросу подключения)...
_Wlan_Connect() - не возвращает ничего т.е. не понятно подключился ты или нет...
Тут пока все очевидно :)

Плюс ко всему посидел и подумал насчет вопроса проверки подключения, и могу сказать однозначно что проверка пингом лучший вариант так как это сквозная проверка мы проверяем наличие интернета а не сетевого подключения.
Да я думаю ты и сам с эти сталкивался когда показывает что сеть есть а в инет выйти не можешь.
Другой вопрос что нужно правильно настроить, потому как машина двигается и уровень сигнала всегда разный нужно просто увеличить время ожидания ответа по пингу(в скрипте net_checker уже стоит увеличенное значение 5000 мс. по дефолту 4000 мс.). Если ставить маленькое значение будут проблемы из разного уровня сигнала.
Ну а вообще пинг отрабатывает почти моментально.
Можно посмотреть время ответа если включить debug(отладку)...
ping_1=21 ping_2=30
ping_1=20 ping_2=20
ping_1=32 ping_2=23
ping_1=19 ping_2=20
ping_1=19 ping_2=21
ping_1=17 ping_2=20
ping_1=18 ping_2=20
ping_1=66 ping_2=20
ping_1=19 ping_2=23
ping_1=19 ping_2=20
Время ответа от гугло серваков ;)

seriousstas 24.11.2017 14:52

Цитата:

Можно использовать вообще голые команды в планировщике по событиям, тоже будет работать.
Алгоритм определения профайла и SSID тоже полезен .
Смотрю к названию профайла иногда двойка добавляется + удобно если несколько источников .
Цитата:

Я у себя на ноуте и нет-буке переставлял, на ноуте вафля отваливалась на нет-буке адаптер не засыпал(высаживал батарею)...
На домашнем норм , а вот в авто свисток капризный . Ему нужен хороший конект с USB гнездом и стабильное питание . Через удлиннитель плохо работает ..
Думаю связано с AC типом подключения ...
Цитата:

Я немного изучил вопрос по netsh.exe - это "Network Shell" - тулза по работе с сетью и не только.
а через неё не получится проверять наличие соединения (вместо пингов) ?

duzzy 24.11.2017 15:28

seriousstas
Цитата:

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

Цитата:

а через неё не получится проверять наличие соединения (вместо пингов) ?
Да можно, просто смысла в этом нет. Как я и говорил выше, при использовании пинга ты насквозь проверяешь сеть на наличие инета. А при проверке подключения ты проверяешь только наличие подключения т.е. по сути смотришь флаг(вкл./выкл.).
И получается что при использовании пинга ты знаешь что инет есть и в случае отвала будет подключение к сети и проверка на подключенный адаптер, а при использовании проверки на подключено или нет ты будешь получать ответ о наличии подключения и нужно полагаться на систему проверяла она наличие инета или нет... :)

------------------------------------------------------------------------------------

Писец а что за умник убрал редактирование постов ???? Теперь первый пост не отредактировать....


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

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