- Роуминг Wi-Fi на Android (+ автовключение)
- Настраиваем точки доступа Wi-Fi для роуминга
- Анализируем каналы
- Настраиваем Wi-Fi-роуминг на смартфоне
- Автоматизация включения Wi-Fi
- Удобное переключение wifi в режим точки доступа
- Как настроить автопереключение Wi-Fi на Android
- Приложение для смены Wi-Fi
- Автоматическое переключение между Wi-Fi
Роуминг Wi-Fi на Android (+ автовключение)
Пару месяцев назад я писал про автоматическое переключение между двумя точками Wi-Fi на Android-смартфоне. Для этого предлагал приложение Wi-Fi manager:
Данная схема нормально работает, если у вас две точки доступа с разными именами (SSID). Если же у вас организован Wi-Fi-роуминг, то SSID, разумеется, одинаковые. В этом случае приложение Wi-Fi manager уже не подходит, т.к. начинает глючить: про переключение между разными каналами информирует, но на деле между ними не переключается. Потому рассмотрим вариант «Б»:
Настраиваем точки доступа Wi-Fi для роуминга
Чтобы ваши устройства автоматически переключались между соседними точками доступа одной сети, необходимо настроить Wi-Fi-роуминг. Самый примитивный вариант таков:
- Заходим в web-админку роутеров (точек доступа) по IP-адресу устройств и задаем везде одинаковое имя сети (SSID)
- Задаем одинаковый пароль
- Выбираем разные каналы.
Анализируем каналы
С последним пунктом разберемся подробнее. По умолчанию в настройках оборудования обычно ставится auto-выбор канала. Учитывая, что в многонаселенных домах или офисах каналы сильно «зашумлены», стоит сначала посмотреть, какие из них наименее загруженные. Для этого ставим на смартфон приложение WiFi Analizer. Мне оно, к сожалению, не показало ничего хорошего. В моей квартире у всех свободных каналов рейтинг низкий:
Однако для Wi-Fi-роуминга нужно, аналогично секторам базовой станции, фиксированно задать разные каналы. По ним и будет идти переключение. В России маршрутизатор дает выбрать из 13 каналов. Мне ничего не оставалось, как выбрать 1 и 2.
Настраиваем Wi-Fi-роуминг на смартфоне
Сделав все вышенаписанное, результата автопереключения на смартфоне мы пока все равно не добьемся. Нужно установить специальный софт. Я их испробовал 2 на моделях BQ Aquaris M5 (Android 6) и Xiaomi Redmi 3 (Android 5):
- Wifi Roaming Fix.Хрень. Сначала работает, потом перестает. На обоих смартфонах. Хотя интерфейс очень удобный. Может, у кого-то на других версиях Android оно и заработает стабильно, но у меня такого не произошло, хотя тестировал 2 дня с разными вариантами переключения в зависимости от мощности сигнала.
- WIFI Badger.Отлично! Заработало на обоих смартфонах, без проблем меняя каналы. Единственное, из-за навязанной нам политики Google, для этого, как и в случае с Wi-Fi manager, нам потребуется включить в настройках смартфона геолокацию и перевести ее для экономии энергии в режим «По координатам сети».
Ура! Теперь Wi-Fi-роуминг на смартфоне работает! Можно свободно перемещаться по всему помещению и устройство будет переключаться между соседними точками с одинаковым SSID, ориентируясь на мощность сигнала в дБм (dBm).
- Исчезают проблемы с качеством широкополосного интернет-доступа в различных местах квартиры или офиса.
- Wi-Fi потребляет меньше энергии аккумулятора смартфона или планшета, нежели мобильная передача данных, особенно 3G (собственно, из-за этого все и затевалось).
- Данный вариант настройки роуминга небесшовный. То есть, в момент переключения между точками Wi-Fi произойдет кратоковременный обрыв передачи данных. Избежать этого без покупки специального дорогостоящего оборудования (контроллеров) не получится. Хотя дома для повседневной жизни совершенно не критично. Для дополнительного удобства стоит просто включить в смартфоне как мобильную передачу данных, так и Wi-Fi. Приоритет будет отдаваться Wi-Fi, и пока он работает, мобильный интернет все равно отключен. Он активируется лишь в момент отсуствия Wi-Fi. Также в настройках Wi-Fi своего смартфона BQ Aquaris M5 на Android 6.0.1 я включил режим «Поддержка Wi-Fi», когда мобильная передача данных автовключается при слабом Wi-Fi-сигнале.
- Приложения, честно говоря, довольно глючные и иногда «выпадают» с ошибкой.
- Все же меня расстраивает политика Google, заставляющая включать геолокацию для работы данной схемы. Как ни крути, а даже в режиме «Местоположения» — «По координатам сети» батарейка устройства немного расходуется быстрее. Совсем немного. Однако вся эта затея ведь придумывалась именно ради экономии ее, любимой.
Автоматизация включения Wi-Fi
Чтобы автоматизировать наш интернет на смартфоне по-максимуму, настроим автовключение и автовыключение Wi-Fi при попадании в зону действия своей беспроводной сети и покидании ее.
Для этого ставим приложение Wi-Fi Matic.
В его настройках мы задаем нужные нам точки доступа.
Все. Далее Wi-Fi Matic анализирует базовые станции оператора по сотам, в зоне действия которых мы, а следовательно, и наши Wi-Fi точки находятся. Теперь, когда мы уходим из квартиры или офиса и покидаем при этом свои соты, приложение выключает нам Wi-Fi и включается мобильный интернет. Возвращаемся — Wi-Fi снова автоматом включается.
Очень удобно. Есть также в настройках функция автовыключение мобильного интернета при автовключении Wi-Fi, но она не работает. Да и смысл ее мне не совсем понятен, т.к. у Wi-Fi все равно выше приоритет. Также есть включение/выключение работы приложения по расписанию, но по мне оно тоже не нужно, т.к. в таком случае все равно придется выключать мобильный интернет вручную, да и точное время подгадать мало кто сможет.
Всю вышенаписанную схему я привел из личного опыта. Однако в сетевых настройках беспроводного оборудования у меня опыта мало, потому, если что не так, сильно не пинайте. Приветствуются также и ваши советы или собственные варианты в комментариях.
Теперь можно комфортно звонить через Wi-Fi в том числе и по мессенджерам, например:
Удобное переключение wifi в режим точки доступа
По мотивам статей (раз,два).
Знаю, что на хабре и в гугле эту тему уже не раз обсуждали, тем не менее, когда я, по мануалам, решил сделать свою точку доступа «для друзей», я столкнулся с определенными сложностями, а готовые решения оказались сыроватыми. Потому предлагаю неопытным пользователям GNU/Linux сделать это так, как сделал я.
Раздать wi-fi с 3g модема (и с проводного интернета), когда ничего другого нет под рукой — дело благородное, потому мы пройдем по быстрому пути получения профита. Инструкция предназначена для debian-based дистрибутивов. Нам понадобится hostapd — собственно для раздачи wi-fi, dnsmasq — для раздачи ip-адресов и notify-send (не обязательно) — для оповещений. iptables на данный момент доступен из коробки. Ставим hostapd и останавливаем его:
aptitude install hostapd service hostapd stop
В файле /etc/default/hostapd раскомментируем и исправляем строку:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Создаем и редактируем файл /etc/hostapd/hostapd.conf
interface=wlan0 driver=nl80211 ssid=wifi_4_friends hw_mode=g channel=6 wpa=2 wpa_passphrase=12345678 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP auth_algs=1 macaddr_acl=0
Тут все просто — имя точки доступа, пароль, канал, на котором будет работать и драйвер.
Ставим dnsmasq и останавливаем его:
aptitude install dnsmasq service dnsmasq stop
dnsmasq хорош тем, что в нем все есть и он прост для настройки. Открываем файл конфигурации /etc/dnsmasq.conf:
interface=wlan0 dhcp-range=192.168.2.2,192.168.2.100,12h
Тут все крайне просто, но если нужно, можно добавить альтернативный dns сервер, а также можно хосты принудительно направлять на 127.0.0.1, тем самым блокируя их. Подробности в справке man dnsmasq. Еще один момент, обязательно адреса dhcp-range должны быть в одной сети с wlan0. если Вы по каким-либо соображениям в скрипте запуска не будете принудительно менять ip адрес для wlan0, то укажите тут пул такой же, как в wlan0. Например дома есть роутер с адресом 192.168.1.1 и сеть 192.168.1.0/24, то dhcp-range нужно указать в пределах этого пространства, а также, чтобы он не пересекался с пулом адресов, выдаваемых dhcp-сервером роутера. Мы пойдем путем по-проще и сами укажем другую подсеть.
Теперь отключим автозагрузку демонов:
update-rc.d hostapd disable update-rc.d dnsmasq disable
Ко всему этому осталось только включать/отключать роутинг и добавлять/удалять правило из iptables
sysctl net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Это будем производить автоматически, с помощью скрипта. Все готово, а вот и сам скрипт wifi-ap:
#!/bin/bash #script to start/stop hostapd, dnsmasq, add/remove iptables rule set -e exec 3>&1 exec 2>&1 >> /tmp/wifi-ap function print_help() < echo "Start/Stop Software Access Point" echo echo "Usage `basename $0` options. " echo "wifi-ap on to start Software AP" echo "wifi-ap off to stop Software AP" echo echo "log-file - /tmp/wifi-ap" echo >if [ $# = 0 ]; then print_help >&3 exit 0 fi if [ $1 = on ]; then ifconfig wlan0 192.168.2.1 service dnsmasq start sysctl net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE service hostapd start notify-send --expire-time=4000 "Software Access Point" "start" exit 0 fi if [ $1 = off ]; then service dnsmasq stop service hostapd stop ifconfig wlan0 192.168.1.4 sysctl net.ipv4.ip_forward=0 iptables -D POSTROUTING -t nat -o ppp0 -j MASQUERADE notify-send --expire-time=4000 "Software Access Point" "stop" exit 0 fi
Он принимает 2 параметра, on и off. Вы легко можете подкорректировать его под себя и, если нужно, заменить интерфейс ppp0 на eth0 (или другой, на Ваше усмотрение).
Я пользователь debian и не использую sudo, а Вам может понадобиться.
Как настроить автопереключение Wi-Fi на Android
Несмотря на широкое распространение высокоскоростного и, что самое главное, доступного мобильного интернета, все всё равно предпочитают по возможности переключаться на Wi-Fi. Дома, на работе, в гостях – везде, где есть маршрутизатор с интернетом, он не будет стоять без дела. И дело не столько в халяве, сколько в более стабильном и быстром соединении. Однако бывает и такое, что даже Wi-Fi с гигабитным интернетом может тупить и терять сеть, что нередко бывает в торговых центрах и местах массового скопления людей. В таких случаях логичнее всего было бы автоматически переключиться на другой маршрутизатор, но не все знают, что для этого нужно сделать. Рассказываю, как научить этому ваш смартфон на Android.
На Android можно настроить автоматическое переключение между разными сетями Wi-FI
Перед тем, как мы приступим, важно уяснить один момент. Настроить автоматическое переключение можно только в том случае, если в локации, где вы находитесь, есть несколько маршрутизаторов или по крайней мере несколько подключений. Например, 2,4 ГГц и 5 Ггц. Но и этого недостаточно. Не менее важно, чтобы вашему смартфону был открыт доступ к каждой из доступных сетей, а для этого, как правило, необходимо знать пароль. Только в этом случае всё получится, и дальнейшая инструкция будет иметь хоть какой-то смысл.
Приложение для смены Wi-Fi
- Перейдите по этой ссылке и скачайте приложение WiFiSwitcher;
- Включите Wi-Fi и откройте приложению постоянный доступ к геолокации;
Для правильной работы приложению необходим постоянный доступ к геолокации
- В интерфейсе приложения отметьте галочками сети, к которым у вас есть доступ (между ними WiFiSwitcher будет переключаться автоматически);
Не устанавливайте минимальный уровень сигнала слишком высоко
- Нажмите на контекстное меню и откройте вкладку Settings;
- Здесь установите минимальный уровень сигнала, при котором Wi-Fi будет переключаться, и при необходимости отключите запрос на переключение.
Для вашего же удобства я бы рекомендовал установить уровень сигнала, при котором приложение будет менять подключение, на 1/3 от максимального. По умолчанию ползунок установлен на середине, но, как по мне, это перебор. В этом случае высока вероятность, что WiFiSwitcher будет скакать туда-сюда между разными подключениями, потому что далеко не все маршрутизаторы – особенно, если им приходится работать в помещениях с большим количеством перегородок – способны выдавать достаточно сильный сигнал, чтобы держать его на максимуме.
Автоматическое переключение между Wi-Fi
Удобнее всего использовать WiFiSwitcher в большом доме или на работе
Другая удобная штука WiFiSwitcher – это функция автоматического переключения, или механизм, отключающий запросы подтверждений на переключение. К сожалению, эта фишка доступна только в платной версии приложения, которое стоит 129 рублей. Честно сказать, не так уж и много, тем более что вы платите за удобство использования Wi-Fi и гарантию поддержания стабильного подключения к интернету. Ведь если смартфон не будет вас доставать своими запросами на переключение, это уже здорово.
Но нужно понимать, что в домашних условиях функция автоматического переключения между Wi-Fi-сетями, скорее всего, вам не пригодится. Разумеется, если только вы не живёте в собственном доме с большим количеством комнат и как минимум двумя этажами. А вот на работе, особенно если в течение дня вы вынуждены туда-сюда перемещаться по отделам и этажам, платный WiFiSwitcher может прийтись весьма кстати. Он обеспечит вам более стабильное соединение без разрывов, моментально выбирая более сильный сигнал Wi-Fi.