Проблема взаимных помех в Wi-Fi сетях всё острее встаёт в районах с плотной многоэтажной застройкой. Пока основные проблемы наблюдаются в диапазоне 2.4GHz и в качестве решения проблемы можно рассматривать миграцию в диапазон 5GHz. Однако в случае если не все имеющиеся устройства поддерживают работу в WiFi-диапазоне 5GHz придётся так же как-то «выживать» и в 2.4GHz.
В данном случае единственным решением может быть поиск канала, наименее «задетого» соседними точками доступа. Для этого есть различные инструменты и ниже будет краткий обзор некоторых существующих инструментов для Linux.
iwlist scan
Если пользователь привык работать в командной строке, то никаких вспомогательных инструментов ему не нужно, так как всю информацию можно получить из вывода команды:
iwlist wlan5 scan
Где «wlan5» — имя беспроводного интерфейса. Но всё же большинство пользователей предпочтёт что-то более дружественное. Большинство утилит в конечном итоге является надстройкой над указанной выше командой. Автор этих строк и сам писал подобную надстройку, которая спустя четыре года продолжает успешно работать:
Но написание подобных скриптов не далеко ушло от использования консольных команд и так же вряд ли является уделом большого количества пользователей. Потому перейдём к рассмотрению готовых утилит.
Wavemon
Wavemon это утилита с текстовым интерфейсом на базе библиотеки ncurses, обладающая весьма обширным функционалом. В Ubuntu и Debian её можно установить через штатный пакетный менеджер, не подключая дополнительных репозиториев.
Wavemon не даёт рекомендаций по выбору канала, но позволяет визуально оценить использование каждого канала, чего зачастую достаточно для самостоятельного принятия решения.
К плюсам wavemon можно отнести широкий функционал и удобное управление с помощью «горячих клавиш». К минусам — текстовый интерфейс, который может отпугнуть начинающих пользователей.
iwScanner
Довольно старая утилита, сайт которой сейчас не доступен. Однако есть старое зеркало на Google Code, кроме того пакет можно найти в пользовательских репозиториях на launchpad.
iwScanner написан на python с использованием библиотеки PyGTK2. Его функционал в целом повторяет таковой у wavemon, но уже с полноценным графическим интерфейсом. К минусам можно отнести только то что автор судя по всему забросил проект и в какой-то момент приложение просто перестанет запускаться в современных дистрибутивах Linux.
LinSSID
Пожалуй самое удобное приложение. «Обитает» на sourceforge, присутствует в репозитории Ubuntu начиная с 16.04. Для более старых версий Ubuntu есть репозиторий на launchpad.
LinSSID поддерживает тот же функционал что и wavemon и iwScanner, но дополнительно «умеет» рисовать карту использования диапазона WiFi (отдельно для 2.4GHz и 5GHz), которая сильно упрощает поиск свободного канала. К минусам можно отнести разве что немного аляповатый интерфейс, но это никак не мешает пользоваться инструментом.
Вместо заключения
В определённых случаях поиск наименее загруженного канала и переход на него действительно даёт положительный результат, но так как большинство современных WiFi-роутеров имеет включенную по умолчанию опцию авто выбора канала то «картинка» эфира постоянно меняется, и потому меняется и оптимальный канал для работы конкретной точки доступа.
Поэтому в целом поиск свободного канала похож на лечение аппендицита подорожником: возможно кратковременное облегчение, но в целом ситуации требует более радикальных мер.