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 в качестве переопределения, и выполняет следующие действия:

  • Если параметр overlay установлен в true , предполагается, что устройство поддерживает Wi-Fi 7 независимо от ответа от nl80211. Это переопределение полезно только для производителей устройств, у которых нет драйверов, возвращающих поддержку Wi-Fi 7.
  • Если параметр overlay установлен в 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() , который приложения могут вызывать для проверки поддержки Wi-Fi 7 сканируемой точкой доступа (AP). Если точка доступа поддерживает Wi-Fi 7, API возвращает ScanResults.WIFI_STANDARD_11BE . Для использования этого API приложениям не обязательно, чтобы устройство поддерживало Wi-Fi 7.

При вызове этого 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 использует параметры физического уровня как устройства, так и сканируемой точки доступа.

В 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, если это поддерживается чипом.

API HAL

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

API

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

Soft AP

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

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

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

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

API HAL

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

Сообщить о проблеме с Soft AP

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

API HAL

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

API

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

Функции MLO Wi-Fi 7

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

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

Рисунок 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-адрес станции. Локально назначенный MAC-адрес для экземпляра станции в канале связи.
  • 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 MLO получена в результате сканирования.

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

Модуль Wi-Fi собирает информацию о MLO следующим образом:

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

API

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

  • ScanResult#BSSID : MAC-адрес экземпляра точки доступа (для канала связи, по которому получен результат сканирования).
  • MacAddress ScanResult#getApMldMacAddress() : Возвращает MAC-адрес точки доступа в MLD.
  • int ScanResult#getApMloLinkId() : Возвращает идентификатор канала, на котором был получен результат сканирования.
  • 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-адресов каждого канала связи как для точки доступа, так и для станции, а также для обновления состояния связанных каналов.

API

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

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

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

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

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

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

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

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

Ассоциация сети AP-MLD

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

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

Оценка сети

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

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

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

Диаграмма, иллюстрирующая процесс выбора сети Wi-Fi MLO, в котором устройство рассматривает несколько каналов Wi-Fi в разных диапазонах (2,4 ГГц, 5 ГГц, 6 ГГц) для оптимального подключения на основе возможностей чипа, таких как максимальное количество каналов STR, максимальное количество каналов ассоциации и одновременные комбинации диапазонов.

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

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

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

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

В рамках схемы конкурентной передачи данных, расширенной многоканальной одноканальной радиосвязи (eMLSR), на одном радиоканале может работать несколько каналов. Многоканальное устройство использует eMLSR на наборе каналов, если оно может одновременно принимать определенные базовые управляющие кадры и выполнять оценку чистоты канала (CCA) на этом наборе каналов. Однако многоканальное устройство передает или принимает данные только на одном канале (канале, выбираемом динамически в каждом периоде возможности передачи (TXOP)) за раз.

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

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

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

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

  • 2.4
  • 5
  • 6
  • 2,4 x 5
  • 2,4 x 6
  • 5 x 6

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

Выбор сети

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

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

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

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

MAC-адрес MLD

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

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

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

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

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

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

  • Октет 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-адрес (назначения) каждой станции в заголовке MAC на MAC-адрес MLD-STA, а MAC-адрес (источника) каждой точки доступа в заголовке MAC на MAC-адрес MLD-AP. Прошивка должна выполнить эту замену MAC-адресов до прохождения через фильтр APF, поскольку команды фильтра APF содержат фильтры, основанные на MAC-адресах MLD. Для всех каналов AP-MLD используется один фильтр APF.

Параллелизм

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

  • Требуется ли 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-to-link для станции и точки доступа.

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

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

AIDL HAL

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

возможности AP

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

AIDL HAL

Данная система запрашивает у запрашивающего устройства информацию о возможностях точки доступа (AP), а также о текущих возможностях подключения.

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

API

  • WifiInfo.isApTidToLinkMappingNegotiationSupported() : Возвращает значение, указывающее, поддерживает ли точка доступа согласование сопоставления TID и канала связи.

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

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

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

В компоненте android.net.wifi.WifiUsabilityStatsEntry доступны следующие API, специфичные для каждого канала связи.

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. Станции могут поддерживать бесперебойное соединение с точкой доступа без повторного подключения к оставшимся каналам.

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

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

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

Стратегия Chip 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 в интерфейсе AIDL IWifiChip для установки режима MLO.