wifi

Двухдиапазонное ускорение сети

Когда-то я писал о том, что было бы неплохо иметь в ноутбуке два чипа для вайфая. Чтобы улучшать качество работы интернета в местах, где много сетей, но приём неуверенный.

И вот, спустя одиннадцать лет, обнаружил в своём смартфоне похожую функцию.

Моя идея была в том, чтобы цепляться сразу к двум точкам и использовать их обе для распределения соединений. Тут, насколько я понимаю, точка одна, зато могут использоваться два диапазона — более дальнобойный и медленный на 2,4 ГГц и 5 ГГц — более скоростной, но с меньшим покрытием.

Настройки «Ускорение сети»: включено «Двухдиапазонное ускорение Wi-Fi» для одновременного подключения к нескольким сетям с целью увеличения скорости соединения.
Двухдиапазонное ускорение сети в моём смартфоне

5 комментариев

Моне и Мане

Вот уже уже больше десяти лет я завожу дома две отдельные точки — на частотах 2,4 ГГц и 5 ГГц. Так меньше проблем — эмпирически выяснилось, что некоторые модели ноутбуков и смартфонов (включая современные) неправильно оценивают на какой частоте им лучше работать. Если точки назвать по-разному, то появляется возможность выбрать частоту за них.

Скриншот интерфейса сканирования Wi-Fi с таблицей сетей (имя, производитель, сигнал, канал) и выпадающим меню «Известные сети» с пунктами Manet и Monet.
Вайфай-точки на новой квартире — Моне и Мане

На прежней квартире точки назывались Вилларибо и Виллабаджо в честь конкурентов из известной в то время рекламы, но время идёт, и всё меньше людей знают в чём тут шутка.

При переезде образовалась хорошая возможность сменить точку. Решил на этот раз взять в название что-нибудь менее сиюминутное — художников Клода Моне и Эдуарда Мане, которых постоянно путают.

Гостевую сеть, естественно, назвал «Le déjeuner sur l’herbe» («Завтрак на траве») — картина с таким названием есть и у Моне, и у Мане.

10 комментариев

WiFi и Macbook

Ещё перед «самоизоляцией» я подготовился — купил новый роутер, чтобы улучшить дома ситуацию с вайфайными сетями. До этого была эпловская «Тайм Капсула» и она уже не справлялась — с трудом пробивалась через зашумлённый соседями эфир и толстые стены, да и количество подключенных устройств уже превысило её возможности — одних только гаджетов «умного дома» у нас больше 30.

График спектра Wi-Fi-каналов: доминирует сеть Villariba на канале 52 (80 МГц), видны также MaksRoom, KazanHome1, Villabajo и другие сети в диапазонах ISM и UNII.
Распределение вайфайных сетей у нас дома

Первое время сеть работала действительно получше или я себя в этом убедил — всё-таки свежекупленный роутер под завязку набит разнообразными маркетинговыми аббревиатурами, процессорами и сопроцессорами. К сожалению, при настройке встал на старые грабли — совсем забыл для чего у меня сети в диапазонах 2,4 и 5 ГГц названы по-разному. Сделал одно имя на обе сети.

У МакОСи есть неприятный недостаток — при подключении к вайфаю, она смотрит текущую страну через устаревший протокол 802.11d и, в зависимости от того какую страну она увидит на первом попавшемся роутере (возможно соседском), принимается решение какие каналы вайфая должны ловится, а какие нет.

Мои соседи светят в эфир кодами России, Великобритании, Китая и Германии. В этой «русской рулетке» то везло, то нет, и видимо чаще попадались «неудачные» коды, потому что ноутбуки цеплялись к перегруженной сети 2,4, вместо почти пустой пятигигагерцовой, которую они временами вообще не видели.

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

Чаще всего предлагаются три решения разной степени выполнимости — либо выставить на своём роутере нужный код страны, повесить его на канал №1 и молиться, чтобы он находился первым, либо договориться с соседями и дружно установить всем один и тот же требуемый код, либо пропатчить операционную систему (последнее надо делать регулярно при каждом обновлении).

Почему-то никто не предлагает более простое решение, которое хорошо зарекомендовало себя у нас в офисе и работало у меня дома (пока я всё не сломал с покупкой нового роутера), — дать сетям 2,4 и 5 ГГц разные имена.

Это решение чудесным образом лечит все проблемы, нужно только установить в «системных настройках», в списке предпочтительных сетей пятигигагерцовую сетку первой или вообще не подключаться к сети 2,4 ГГц.

2 комментария

Подпилил переподсоединялку вайфая

Чуть поменял «переподсоединялку вайфая» для Мака — теперь пингуется не 8.8.8.8 (это ДНС Гугла), а адрес гейта, что более надёжно. Правда с конца октября, когда я её написал много воды утекло — вайфай у меня отваливается теперь очень редко, уж не знаю что изменилось.

2 комментария

Переподсоединялка вайфая

Переподсоединение (25.92КиБ)

Вышло очередное обноление «Эль Капитана» на «Маке», а проблема с вайфаем на «Макбуках Про» так никуда и не делась. Я планирую в какие-нибудь выходные переставить систему с нуля, но когда это будет, неясно — пока я не могу себе позволить оторваться от ноута так надолго, для меня он важный рабочий инструмент.

В общем, сделал себе на «Баше» утилиту переподключающую вайфай при пропадании пингов до 8.8.8.8 (это ДНС «Гугла»). Сегодня уже целый день её использую, так гораздо комфортнее.

17 комментариев

Две Wi-Fi-карты

У вас не было такого, вы сидите в аэропорту, ещё три часа до вылета, делать нечего, доступно несколько открытый сетей вайфай, а скорость на той, к которой вы подключены всё время скачет? Приходится время от времени проверять как дела у «соседей», не лучше ли скорость на них?

Вот я очень хочу, чтобы в моём ноуте было две карты вайфай. Одна — для текущих соединений и чтобы вторая сканировала сети в поисках лучшей жизни. Если вторая карта такую сеть находит, то теперь она становится основной, роли меняются.

Наверное был бы интересен и другой сценарий. Например, доступно две вайфай-сети. В одной высокая скорость, но работает только веб, во второй скорость так себе, зато открыты все протоколы. Я бы хотел подцепиться к обеим, чтобы через первую бродить по сайтам, а через вторую подключить джаббер или войти куда-то через SSH.

Жаль, что производители ноутов до этого не додумались. Чипы-то копейки стоят.

34 комментария

Занятость каналов WiFi

Утилита, чтобы посмотреть занятость каналов (11.09КиБ)

Что делать перед днём программиста как не программировать? Я настраивал точку доступа дома и пытался выбрать более свободный канал. Быстро найти подходящую утилиту под Mac OS X я не смог, поэтому начал её писать на bash. До конца не дописал (хотел ещё обозначить сколько устройств на одном канале висит), то что есть выкладываю — не пропадать же добру!

Дальше.

#!/bin/bash
declare -a dots

TEMP=$(mktemp -t `basename "$0"`)
trap "/bin/rm -f $TEMP" EXIT

if [ -z $1 ]; then
    /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s > $TEMP
else
    /bin/cp "$1" $TEMP
fi

# Если название точки содержит пробел, у нас всё поедет, надо избавиться от названия
# для этого мы меряем с каким отступом идёт первая строка (6 — это длина слова SSID, плюс пробелы)
cutname=`awk 'NR==1 {l=length; gsub(/^ +/, ""); print l-length+6}' $TEMP`

# Название будет отрезано командой cut
while read line; do
    line=($line)

    chs=(${line[2]//,+/ })

    # Берём только каналы 2,4ГГц
    if [ ${chs[0]} -gt 13 ]; then
        continue
    fi

    # Округляем уровень сигнала
    let lvl="(100 + ${line[1]} + 9) / 10"
    # Уровень прозрачности верхней линии
    let alpha="$lvl*10 - (100 + ${line[1]})"

    # Номера каналов
    let start="${chs[0]}-2+1"
    let end="${chs[0]}+2+${chs[1]:-0}*5+1"

    # Набор точек для рисования прямоугольника wifi-точки
    for x in $(seq $start $end); do

        # Прямоугольник закрашивается сплошным…
        for y in $(seq 0 $(($lvl - 1)) ); do 
            dots[$x+$y*100]=10
        done

        # Кроме верхней границы, она закрашивается значением
        # наибольшей насыщенности
        let xy="$x+($y+1)*100"

        if  [[ -z ${dots[$xy]} || ${dots[$xy]} -lt $alpha ]]; then
            dots[$xy]=$alpha
        fi
    done
# отрезаем заголовок, отрезаем название точки, сортируем по уровню сигнала
done < <(tail -n +2 $TEMP | cut -b${cutname}- | sort -rgk2)

# Блоки по насыщенности границы
blocks=(_ ░ ░ ░ ▒ ▒ ▒ ▒ ▒ ▒ █)

# Цвета вертикальной оси
colors=(32 32 32 32 32 33 33 31 31 31 31)

# Счётчик вертикальной оси
lvl=0

declare -i alpha

# Отрисовка шкалы и данных точек
for y in {10..0}; do
    printf "\033[${colors[-$lvl/10]}m% 4d " $lvl
    let lvl="$lvl - 10"

    for x in {0..15}; do
        alpha=${dots[$x+100*$y]}

        if [ $alpha -le 0 ]; then
            echo -n '   '
        else
            b=${blocks[$alpha]}

            echo -ne "\033[37m$b$b$b"
        fi
    done

    echo
done

# Горизонтальная ось
echo -e "\033[30m     -- -- 01 02 03 04 05 06 07 08 09 10 11 12 13"

echo -e "\033[0m"

21 комментарий