null

Управление WiFi подключением MacOS через командную строку

MacOS -- это во всех отношениях готовое "под ключ" решение для работы пользователей. Большинство задач, возникающих у пользователей, решаются в этой системе с помощью уже готовых механизмов. Однако иногда случаются некоторые нетиповые ситуации, которые требуют иных механизмов управления, чем предлагаемые интерфейсом MacOS. Так и у меня, на одной площадке, возникла необходимость более прецизионного выбора Wi-Fi канала для подключения к точке доступа.
Проблема заключалась в том, что на сетевом оборудовании были сконфигурированы 2.4 Ггц и 5 Ггц сегменты, но, ввиду некорректной конфигурации DHCP, 5 Ггц сегмент работал не корректно.
Любопытно, что это не представляется возможным сделать при использовании стандартных интерфейсов (в том числе, вызванных с зажатой кнопкой Command или Alter).
Поэтому пришлось прибегнуть к интерфейсу командной строки.
Для управления WiFi подключениями в MacOS есть утилита airport, которая, увы, отсутствует в $PATH.
Поэтому, получив привелегии суперпользователя, первым делом перейдём в каталог /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources
Затем выполним сканирование эфира:

# ./airport scan

И увидим подобную картину:

Видно, что у одного SSID "PLUSNET-N86S" есть два сегмента с каналами в разных частотных диапазонах.
По умолчанию MacOS подключится к 5 ГГц сети, но если этот сегмент имеет некорректные настройки, доступа к сетевым ресурсам мы не получим.
Для того, чтобы принудительно заставить MacOS подключаться к SSID с каналом 6 (который располагается на частоте 2.4 ГГц), можно выполнить следующие действия.

  1. Выключить WiFi средствами интерфейса (в правом верхнем углу экрана)
  2. Выполнить команду:
    # ./airport -c 6
  3. Включить WiFi и убедиться, что сетевая связность с необходимыми хостами имеется

Иногда, увы, MacOS решает сбросить предпочитаемый выбор канала. Поэтому данную последовательность действий приходится выполнять повторно.
Будем надеяться, что разработчики сделают возможность выбирать предпочтительный канал для сети в будущих версиях MacOS.

Вперед
korg

 

Коротко о себе

Работаю в компании Tune-IT, администрирую инфраструктуру компании и вычислительную сеть кафедры Вычислительной ТехникиСПбНИУ ИТМО.

Интересы: администрирование UNIX и UNIX-like систем и активного сетевого оборудования, написание shell- и perl-скриптов, изучение технологий глобальных сетей.
Люблю собирать GNU/Linux и FreeBSD, использовать тайлинговые оконные менеджеры и писать системный софт.