Wi-Fi 7

Для устройств под управлением Android 13 или более поздней версии Android поддерживает стандарт Wi-Fi 7 (IEEE 802.11be). На этой странице описаны функции Android Wi-Fi 7, включая базовую и многоканальную работу (MLO).

Базовые функции Wi-Fi 7

В этом разделе описаны базовые функции Wi-Fi 7, включенные в Android 13 и более поздних версий.

Поддержка устройства Wi-Fi 7

Платформа Android включает API WifiManager#isWifiStandardSupported(int standard) , который приложения могут вызывать с аргументом ScanResults.WIFI_STANDARD_11BE , чтобы проверить, поддерживает ли устройство Wi-Fi 7.

При вызове этого API модуль Wi-Fi проверяет, используется ли наложение конфигурации config_wifi11beSupportOverride в качестве переопределения, и выполняет следующие действия:

  • Если для наложения установлено значение true , предполагается, что устройство поддерживает Wi-Fi 7 независимо от ответа от nl80211. Это переопределение полезно только для производителей устройств, у которых нет драйверов, поддерживающих Wi-Fi 7.
  • Если для наложения установлено значение false (значение по умолчанию), модуль Wi-Fi использует информацию из nl80211. Модуль Wi-Fi запрашивает информацию у wificond, который вызывает команду nl80211 NL80211_CMD_GET_WIPHY . Если в ответе драйвера присутствует атрибут NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY , предполагается, что устройство поддерживает Wi-Fi 7.

Поддержка сканированной точки доступа Wi-Fi 7

Платформа Android включает API int ScanResult#getWifiStandard() , который приложения могут вызывать, чтобы проверить, поддерживает ли сканируемая точка доступа (AP) Wi-Fi 7. Если точка доступа поддерживает Wi-FI 7, API возвращает ScanResults.WIFI_STANDARD_11BE . Устройство не обязательно должно поддерживать Wi-Fi 7, чтобы приложения могли использовать этот API.

При вызове этого API модуль Wi-Fi проверяет, присутствует ли EHT Capability IE в возвращаемых результатах сканирования подключения. Если EHT Capability IE присутствует в результатах сканирования, сканируемая точка доступа поддерживает Wi-Fi 7. Класс AOSP WifiTracker отображает эту информацию о поддержке в пользовательском интерфейсе при работе в подробном режиме.

Режим подключения STA

Платформа Android включает API int WifiInfo#getWifiStandard() , который приложения могут вызывать, чтобы проверить, является ли режим подключения текущей станции (STA) Wi-Fi 7. Режим подключения STA — Wi-Fi 7, когда и устройство, и подключенное устройство Точка доступа поддерживает Wi-Fi 7. Если режим подключения — Wi-Fi 7, API возвращает ScanResults.WIFI_STANDARD_11BE .

При вызове getWifiStandard модуль Wi-Fi определяет режим, вызывая API-интерфейс HAL ISupplicantStaIface#getConnectionCapabilities() . Реализация этого API HAL на уровне AIDL wpa_supplicant проверяет, находится ли EHT Capability IE как в AssocReq , так и AssocRsp во время установки соединения.

Выбор сети

В Android 13 при выборе сети используется несколько параметров, определяющих, к какой точке доступа подключаться. Одним из параметров является предполагаемая пропускная способность точки доступа, которая оценивается с помощью блока ThroughputPredictor . Блок ThroughputPredictor использует параметры PHY как устройства, так и сканируемой точки доступа.

В Android 13 ThroughputPredictor при расчете использует следующие возможности AP:

  • Поддержка Wi-Fi 7 (802.11be)
  • Поддержка ширины канала 320 МГц

Включение этих возможностей в логику ThroughputPredictor повышает шансы выбора точек доступа с поддержкой Wi-Fi 7, когда устройство может использовать эти функции.

Определение диапазона на основе Wi-Fi RTT

Android обеспечивает поддержку API для преамбулы EHT и ширины канала 320 МГц для Wi-Fi RTT . Это обеспечивает поддержку возможностей, связанных с Wi-Fi 7, в диапазоне RTT, когда это поддерживается чипом.

HAL API

Следующие API-интерфейсы HAL поддерживают возможности Wi-Fi 7 для определения диапазона на основе RTT:

API

Приложения могут использовать следующие API для определения диапазона на основе RTT Wi-Fi 7:

Мягкая точка доступа

Android поддерживает Wi-Fi 7 в программной точке доступа и предоставляет следующие функции.

Запустить программную точку доступа

Android поддерживает запуск программной точки доступа в режиме Wi-Fi 7. Это регулируется конфигурацией наложения config_wifiSoftapIeee80211beSupported .

Модуль Wi-Fi использует наложение config_wifiSoftapIeee80211beSupported для установки логического значения HwModeParams#enable80211BE в вызове API IHostApd#addAccessPoint() . На уровне AIDL хостаpd это значение используется для установки параметров hostapd.conf .

HAL API

Логическое значение enable80211BE в HwModeParams в HAL hostapd поддерживает запуск программной точки доступа в режиме Wi-Fi 7.

Сообщить информацию о программной точке доступа

Android включает поддержку API для включения информации о ширине канала Wi-Fi 7 и 320 МГц в сообщаемую информацию о программной точке доступа.

HAL API

Константа WIFI_STANDARD_11BE в интерфейсе Generation.aidl AIDL в HAL хоста, которая используется в ApInfo , сообщаемом в обратном вызове IHostapdCallback#onApInstanceInfoChanged() , поддерживает передачу информации о программной точке доступа.

API

Приложения могут использовать следующие методы (системные API) в SoftApInfo для передачи информации о Soft AP.

Возможности MLO Wi-Fi 7

Многоканальная работа (MLO) — основная функция спецификации Wi-Fi 7 (802.11be). MLO является обязательной функцией для многоканальных устройств (MLD), работающих в Wi-Fi 7, как одновременно, так и не одновременно.

Диаграмма МЛО

Рисунок 1. Диаграмма MLO.

Как показано на рисунке 1, как AP-MLD, так и STA-MLD имеют несколько экземпляров AP или STA, работающих на каждом канале. Каждый канал имеет отдельный MAC-адрес AP или STA. AP или STA также имеют MAC-адрес MLD для идентификации устройства.

Класс android.net.wifi.MloLink представляет ссылку MLO. Этот класс включает в себя следующие параметры:

  • int getLinkId() : Идентификатор ссылки, объявленный AP MLD.
  • MacAddress getApMacAddress() : MAC-адрес точки доступа. BSSID экземпляра точки доступа для этой ссылки.
  • MacAddress getStaMacAddress() : MAC-адрес STA. Локально назначенный MAC-адрес для экземпляра STA в канале.
  • int getChannel() : Связать канал. Номер канала ссылки.
  • int getBand() : Ссылка на полосу. Полоса ссылки.
  • int getState() : состояние ссылки. Может быть одним из следующих состояний:

    • MLO_LINK_STATE_INVALID : Недействительно. Используется для инициализации и ошибок.
    • MLO_LINK_STATE_UNASSOCIATED : Не связан. Ссылка не связана с точкой доступа.
    • MLO_LINK_STATE_IDLE : режим ожидания. Ссылка связана, но не активна (ссылка не сопоставлена ​​с идентификатором трафика (TID).
    • MLO_LINK_STATE_ACTIVE : Активно. Ссылка связана и активна (с ссылкой связан хотя бы один TID). Активная ссылка может находиться в режиме энергосбережения, поскольку платформа не отслеживает состояние питания ссылки.

Сканированная информация о точке доступа Wi-Fi 7 AP MLO

Приложения могут получить параметры MLO для AP MLD Wi-Fi 7, когда модуль Wi-Fi получает объект ScanResult от AP-MLD. AOSP WifiTracker отображает параметры MLO при работе в подробном режиме.

Модуль Wi-Fi собирает информацию MLO, выполняя следующие действия:

  • Анализирует многоканальный информационный элемент (IE), включенный в ответ маяка или зонда, для считывания MAC-адреса AP MLD и текущего идентификатора канала.
  • Анализирует IE сокращенного отчета о соседях (RNR), включенный в ответ маяка или зонда, для считывания списка информации о дочерних ссылках.

API

Чтобы получить отсканированную информацию AP MLO, приложения могут использовать следующие API:

  • ScanResult#BSSID : MAC-адрес экземпляра точки доступа (для канала, по которому получен результат сканирования).
  • MacAddress ScanResult#getApMldMacAddress() : возвращает MAC-адрес MLD точки доступа.
  • int ScanResult#getApMloLinkId() : возвращает идентификатор ссылки, по которой был получен ScanResult.
  • List<MloLink> ScanResult#getAffiliatedMloLinks() : возвращает список объектов MloLink для всех ссылок, объявленных AP-MLD, включая ссылку, по которой был получен ScanResult.

Информация о подключенной точке доступа Wi-Fi 7 AP MLO

Когда устройство подключается к точке доступа Wi-Fi 7 AP-MLD, платформа собирает параметры MLO соединения из объекта WifiInfo . Объект AOSP WifiTracker отображает эту информацию при работе в подробном режиме.

Когда устройство подключается к AP-MLD, модуль Wi-Fi копирует информацию MLO из объекта ScanResult , полученного от точки доступа. Затем модуль вызывает API-интерфейс HAL ISupplicantStaIface#getConnectionMloLinksInfo() для считывания MAC-адресов каждого канала как для AP, так и для STA, а также для обновления состояния связанных каналов.

API

Чтобы получить информацию о подключении MLO, приложения могут использовать следующие API:

  • WifiInfo#getBSSID() : возвращает MAC-адрес экземпляра точки доступа (для ссылки, к которой подключено устройство).
  • MacAddress WifiInfo#getApMldMacAddress() : возвращает MAC-адрес MLD точки доступа.
  • int WifiInfo#getApMloLinkId() : возвращает идентификатор ссылки, по которой STA связана с точкой доступа.
  • List<MloLink> WifiInfo#getAffiliatedMloLinks() : возвращает список объектов MloLink для всех ссылок, рекламируемых AP-MLD, включая связанную ссылку. MAC-адреса AP и STA могут быть запрошены для каждого объекта MloLink .

AP-MLD сканирование

Программное обеспечение поставщика предоставляет платформе Wi-Fi результаты сканирования для каждого полученного сигнала маяка или зонда. Это означает, что структура Wi-Fi:

  • Возможно получение нескольких объектов ScanResults от одной и той же точки доступа-MLD (поскольку точка доступа может иметь несколько ссылок маяка).
  • Может быть получен только частичный набор результатов сканирования для каналов AP AP-MLD, поскольку некоторые из этих сигналов каналов могут не быть получены микропрограммой.

Программное обеспечение поставщика сообщает только о результатах сканирования, полученных по беспроводной сети, и не должно создавать (искусственно синтезировать) результаты сканирования на основе объявленных AP-MLD ссылок.

Программное обеспечение поставщика должно включать многоканальный базовый вариант и IE RNR, полученные от экземпляров AP, в сообщаемые результаты сканирования. Если в результатах сканирования отсутствуют сведения о аффилированной точке доступа, программное обеспечение поставщика может отправлять многоканальные запросы проверки (кадр запроса проверки, который включает в себя многоканальный элемент запроса проверки), чтобы включить полный или частичный набор возможностей, параметров и элементов операций. точки доступа с целевой AP-MLD в ответном кадре.

При необходимости программное обеспечение поставщика может инициировать ML-зондирование (с использованием IE варианта запроса зонда ML в кадре запроса зонда).

Сетевая ассоциация AP-MLD

Когда устройство присоединяется к сети AP-MLD, программное обеспечение поставщика использует выбранный канал AP (связанный канал) для сигнализации. Программное обеспечение поставщика может связываться со всеми или некоторыми ссылками, поддерживаемыми устройством.

После успешной ассоциации драйвер сообщает ISupplicantStaIfaceCallback#onStateChanged() с BSSID ссылки для AP-MLD. Затем драйвер выбирает ссылку AP-MLD при условии, что результаты сканирования были переданы в платформу для этой ссылки.

Сетевой скоринг

Для устройств под управлением Android 14 или более поздней версии Android Wi-Fi Network Selection поддерживает Wi-Fi 7 MLO. Это означает, что Android выбирает лучшую сеть Wi-Fi для устройства на основе количества ссылок, доступных для MLO.

Для поддержки MLO алгоритм выбора сети использует следующие возможности MLO чипа Wi-Fi:

  • Максимальное количество ссылок STR
  • Максимальное количество ассоциативных ссылок
  • Одновременные комбинации диапазонов

Выбор сети Wi-Fi MLO

Рисунок 2. Выбор сети MLO.

Одновременная передача и прием (STR) — это схема конкуренции за среду Wi-Fi для многоканальной работы. Изоляция сигнала между различными каналами достаточна для того, чтобы каналы могли работать независимо и могли одновременно передавать и принимать данные в разных каналах. STR отличается от устаревшей одноканальной (SL) STA и устаревшей двухдиапазонной двухпараллельной (DBDC) STA. STA, связанные с STA MLD, совместно используют общий порядковый номер передатчика (SN) и общее пространство для передачи данных, выделенное для разных каналов, если передача по нескольким каналам имеет одну и ту же категорию доступа (AC).

Максимальное количество используемых каналов STR может отличаться от максимального количества радиомодулей, поддерживаемых чипом. В примере на рисунке 2 максимальное количество ссылок STR равно 2.

Следующие интерфейсы AIDL HAL поддерживают максимальное количество ссылок STR и максимальное количество возможностей подсчета ссылок ассоциации:

Несколько каналов могут работать на одном радиомодуле, используя схему конкуренции Enhanced Multi-Link Single Radio (eMLSR). Многоканальное устройство использует eMLSR по набору каналов, если оно может получать определенные базовые контрольные кадры и одновременно выполнять оценку чистоты канала (CCA) для набора каналов. Однако MLD передает или принимает данные только по одному каналу (каналу, выбираемому динамически в каждом периоде возможности передачи (TXOP)) одновременно.

Станция MLD может максимизировать количество ассоциативных каналов для повышения надежности, лучшей пропускной способности и меньшей задержки (по сравнению с устаревшей станцией с одним каналом), одновременно работая в режимах STR и eMLSR, если это поддерживается чипом. На рисунке 2 максимальное количество ассоциативных ссылок равно 3.

Следующие интерфейсы AIDL HAL поддерживают максимальное количество ассоциативных каналов:

Одновременные комбинации диапазонов

Платформа запрашивает чип, чтобы получить разрешенные комбинации радиосвязи (через интерфейс AIDL IWifiChip.aidl ), которые могут работать одновременно. На основании этой информации система выводит возможные одновременные комбинации диапазонов. Ниже приведен пример списка одновременных комбинаций диапазонов (ГГц):

  • 2.4
  • 5
  • 6
  • 2,4 х 5
  • 2,4 х 6
  • 5 х 6

Следующий интерфейс AIDL HAL поддерживает одновременные комбинации радиосвязи:

Выбор сети

Во время выбора сети (MLO) список кандидатов группируется по участникам с одинаковым MAC-адресом MLD. Максимальный прогнозируемый показатель пропускной способности нескольких каналов рассчитывается для каждой группы на основе максимального количества каналов STR и одновременных комбинаций диапазонов, поддерживаемых чипом. Если кандидат поддерживает многоканальную работу и чип поддерживает STR, прогнозируемая оценка пропускной способности заменяется прогнозируемой оценкой многоканальной пропускной способности. Это дает преимущество кандидатам в MLO при выборе сети.

При присоединении к сети AP-MLD платформа выполняет выбор SSID на основе информации, полученной в объекте ScanResults , сообщенной программным обеспечением поставщика. После выбора SSID платформой программное обеспечение поставщика отвечает за выбор BSSID для лучшей точки доступа (или канала точки доступа), которая будет использоваться для ассоциации.

Обработка MAC-адреса STA устройства

В этом разделе описывается, как обрабатываются MAC-адреса STA устройства (MAC-адреса MLD и MAC-адреса STA для каждого канала).

MAC-адрес МЛД

Платформа Wi-Fi управляет MAC-адресом MLD устройства. MAC-адрес MLD обрабатывается так же, как устройство, не поддерживающее MLD, обрабатывает свой собственный MAC-адрес. MAC-адрес может быть случайным MAC-адресом или MAC-адресом, предоставленным аппаратным обеспечением, по выбору пользователя. MAC-адрес MLD устанавливается платформой с помощью API HAL IWifiStaIface#setMacAddress() .

Программное обеспечение поставщика управляет MAC-адресами экземпляров STA (для каждого канала). Когда устройство подключается к точке доступа, программное обеспечение поставщика назначает MAC-адрес экземпляра для каждого связанного канала.

Программное обеспечение поставщика назначает MAC-адреса для каждого канала на основе своего алгоритма. Алгоритм должен быть повторяемым и зависеть от следующих факторов:

  • MAC-адрес STA-MLD, установленный платформой Wi-Fi.
  • Идентификатор ссылки (полученный от точки доступа)

Это означает, что если платформа повторно использует один и тот же MAC-адрес MLD, поставщик должен повторно использовать одни и те же связанные MAC-адреса для каждого экземпляра, и наоборот. Это гарантирует, что, когда сгенерированный платформой адрес STA-MLD является постоянным для SSID, MAC-адреса для каждой STA также являются постоянными.

Ниже приведен пример алгоритма назначения MAC-адреса STA для каждого канала (поставщики могут реализовать любой алгоритм, соответствующий критериям алгоритма):

  • Октет 0: убедитесь, что установлен локально администрируемый бит.
  • Октет 1–4: то же, что и MAC-адрес STA-MLD.
  • Октет 5: Per-STA = (STA-MLD + идентификатор канала + 1) MOD (256)

Прошивка поставщика может выполнять переключение каналов и управлять состоянием энергосбережения каналов для активации или деактивации без участия платформы Wi-Fi.

Платформа Wi-Fi не ожидает уведомления при изменении состояния соединения.

Управление режимом энергосбережения

Состояние энергосбережения включено по умолчанию в платформе Wi-Fi. В состоянии энергосбережения встроенное ПО поставщика управляет состоянием энергосбережения отдельных каналов на основе моделей трафика и решений об активации или деактивации каналов.

Однако платформа Wi-Fi может принудительно отключить состояние энергосбережения, вызвав API-интерфейс HAL ISupplicantStaIface::setPowerSave(false) . Если состояние энергосбережения отключено платформой, встроенное ПО поставщика должно поддерживать активным хотя бы одно соединение (энергосбережение отключено). В этом состоянии реализация прошивки решает, какая ссылка установлена.

Путь к данным

Здесь описывается реализация встроенного ПО поставщика для обработки восходящего и загружаемого трафика.

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

  • Когда режим с низкой задержкой установлен через API HAL IWifiChip#setLatencyMode() .
  • При наличии трафика с приоритетом пользователя 6 и 7.

Микропрограмма должна заменить MAC-адрес (назначения) для каждой STA в MAC-заголовке на MAC-адрес MLD-STA и MAC-адрес (источника) для каждой AP в MAC-заголовке на MAC-адрес MLD-AP. Микропрограмма должна выполнить эту замену MAC-адреса перед прохождением через фильтр APF, поскольку команды фильтра APF имеют фильтры, основанные на MAC-адресах MLD. Для всех каналов AP-MLD существует один фильтр APF.

Параллелизм

Сценарии параллелизма, в которых радиомодуль используется для нового интерфейса, должны иметь приоритет над выделением нескольких радиомодулей для каналов одного и того же интерфейса. Сценарии параллелизма также должны иметь приоритет над MLO, независимо от того, какой из них был первым. Использование нескольких ссылок для одного интерфейса является оппортунистическим, то есть несколько ссылок используются только в следующих случаях:

  • MLO требуется в зависимости от решения встроенного ПО для балансировки нагрузки, агрегации или дублирования.
  • Доступен MLO, что означает, что для другого интерфейса радио не требуется.

Для устройств под управлением Android 14 или более поздней версии, когда точка доступа Wi-Fi 7 объявляет о временном отключении одного из каналов с помощью элемента сопоставления TID-канала, передаваемого в кадрах маяка, зондирующего ответа и ответа ассоциации, Wi-Fi 7 станция продолжает соединение с точкой доступа, используя оставшиеся настроенные каналы, без выполнения другой ассоциации.

Для устройств под управлением Android 13 или более ранней версии платформа Wi-Fi не поддерживает получение уведомлений об изменении состояния ссылки из-за сопоставления TID со ссылкой, даже если связанная ссылка не связана с TID.

Запрашивающая сторона Wi-Fi уведомляет структуру Wi-Fi об изменениях сопоставления TID с каналом через следующие интерфейсы AIDL:

Приложения могут получать информацию об изменениях сопоставления TID со ссылками, используя следующие API:

Для устройств под управлением Android 14 или более поздней версии доступны следующие API-интерфейсы, позволяющие получить возможности согласования карты TID-канала для станции и точки доступа.

Возможности чипа

Следующие интерфейсы поддерживают возможности чипа для согласования сопоставления TID с каналом.

АЙДЛ ХАЛ

Интерфейс AIDL для согласования сопоставления TID с каналом находится в FeatureSetMask в hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl . Возможность T2LM_NEGOTIATION = 1 << 8 указывает, что чип поддерживает сопоставление TID с каналом. API

Возможности точки доступа

Следующие интерфейсы поддерживают возможность AP для согласования сопоставления TID с каналом.

АЙДЛ ХАЛ

Платформа запрашивает у соискателя возможности точки доступа вместе с текущей возможностью соединения.

  • apTidToLinkMapNegotiationSupported : проверяет, поддерживает ли точка доступа возможность согласования карты TID-канала.

API

Статистика канального уровня включает в себя подробные сведения о канале Wi-Fi, такие как RSSI, различные счетчики пакетов TX и RX, а также статистику радиосвязи. Платформа Wi-Fi периодически опрашивает статистику канального уровня и RSSI, чтобы выбрать лучшую сеть или оценить качество подключенной сети. Для устройств под управлением Android 14 или более поздней версии статистика канального уровня включает поддержку нескольких ссылок. Для поддержки Wi-Fi 7 Android поддерживает MLO как в статистике канального уровня, так и при опросе сигнала.

Статистика, специфичная для канала, находится в следующих интерфейсах AIDL канального уровня:

Системный API android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener() прослушивает всю статистику канального уровня. Платформа периодически вызывает этот API для обновления статистики удобства использования Wi-Fi.

Следующие API-интерфейсы для конкретных ссылок доступны в android.net.wifi.WifiUsabilityStatsEntry .

int getRssi(int linkId)
int getLinkState(int linkId)
int getRadioId(int linkId)
int getTxLinkSpeedMbps(int linkId)
long getTotalTxSuccess(int linkId)
long getTotalTxRetries(int linkId)
long getTotalTxBad(int linkId)
long getTotalRxSuccess(int linkId)
long getTotalBeaconRx(int linkId)
int getRxLinkSpeedMbps(int linkId)
int getTimeSliceDutyCycleInPercent(int linkId)
ContentionTimeStats getContentionTimeStats(int linkId, @WmeAccessCategory int ac)
List<RateStats> getRateStats(int linkId)

Чтобы запросить доступные идентификаторы ссылок, приложения могут вызвать метод android.net.wifi.WifiUsabilityStatsEntry#getLinkIds() .

API в android.net.wifi.WifiUsabilityStatsEntry для одного канала (не MLO) возвращают агрегированную статистику для соединений MLO. Ниже приведены критерии агрегирования:

  • Следующая агрегированная статистика пакетов использует сумму статистики по каждому каналу:

    public long getTotalTxSuccess()
    public long getTotalTxRetries()
    public long getTotalTxBad()
    public long getTotalRxSuccess()
    public int getRxLinkSpeedMbps()
    
  • В следующей статистике используются данные из канала с самым высоким RSSI:

    public int getRssi()
    public int getLinkSpeedMbps()
    public long getTotalBeaconRx()
    public int getTimeSliceDutyCycleInPercent()
    public ContentionTimeStats getContentionTimeStats(@WmeAccessCategory int ac)
    public List<RateStats> getRateStats()
    

Для устройств под управлением Android 13 статистика канального уровня не учитывает использование нескольких ссылок для одного интерфейса. Для поддержки MLO программное обеспечение поставщика должно применять следующую логику агрегирования при составлении отчетов LinkLayerStats через API HAL IWifi# getLinkLayerStats_1_6() . Лучшая ссылка — это ссылка с самым высоким RSSI.

  • StaLinkLayerStats.iface.beaconRx : сообщите количество маяков для лучшей ссылки, используемой для интерфейса.
  • StaLinkLayerStats.iface.avgRssiMgmt : сообщите avgRssiMgmt о лучшей ссылке, используемой для интерфейса.
  • StaLinkLayerStats.iface.wmeXxPktStats (Xx = Vo, Vi, Be,Bk): отчет об агрегированной статистике пакетов (всего) по каналам интерфейса.
  • StaLinkLayerStats.iface.wmeXxContentionTimeStats (Xx = Vo, Vi, Be,Bk): отчет о статистике времени конфликтов для лучшей ссылки, используемой в интерфейсе (наименьшая статистика времени конфликтов).

Когда одно из каналов точки доступа Wi-Fi 7 переназначается, точка доступа может объявить об удалении канала посредством реконфигурации канала MLO. Станции могут поддерживать бесперебойное соединение с точкой доступа без повторной ассоциации на остальных каналах.

Интерфейс onMloLinksInfoChanged AIDL, расположенный в запрашивающем устройстве Wi-Fi по адресу ISupplicantStaIfaceCallback.aidl , поддерживает реконфигурацию канала (удаление ссылки AP).

Когда платформа Wi-Fi обрабатывает удаление ссылки, состояние ссылки устанавливается на MLO_LINK_STATE_UNASSOCIATED . Затем платформа запускает ConnectivityManager.NetworkCallback#onCapabilitiesChanged() для изменения состояния канала.

Метод WifiInfo#getAffiliatedMloLinks возвращает дочерние ссылки MLO. Метод MloLink#getState возвращает состояние ссылки. Если ссылка удалена, возвращается состояние ссылки MLO_LINK_STATE_UNASSOCIATED .

Стратегия чипа MLO

MLO позволяет устройствам отправлять и получать данные по нескольким каналам Wi-Fi одновременно, что может повысить производительность приложений с особыми требованиями, такими как низкая задержка, высокая пропускная способность и низкое энергопотребление. Производители чипов могут разработать алгоритмы использования доступных ссылок.

Привилегированные приложения могут изменять эти алгоритмы с помощью метода setMloMode в Wifimanager и устанавливать следующие режимы:

  • MLO_MODE_DEFAULT = 0
  • MLO_MODE_LOW_LATENCY = 1
  • MLO_MODE_HIGH_THROUGHPUT = 2
  • MLO_MODE_LOW_POWER = 3

Платформа использует setMloMode в интерфейсе IWifiChip AIDL для установки режима MLO.