Двойное подключение STA
WiFiCx обеспечивает одновременные подключения к нескольким sta (дополнительным подключениям STA), если драйвер клиента поддерживает его. В начальной итерации эта функция поддерживает не более двух подключений STA, но это может измениться позже.
Настройка дополнительного подключения STA
Драйвер клиента указывает на возможность поддерживать дополнительное подключение STA во время инициализации адаптера в вызове WifiDeviceSetStationCapabilities. Драйвер должен задать для полей NumSecondaryStaBandCombinations и SecondaryStaBandsCombinations ненулевое значение в структуре WIFI_STATION_CAPABILITIES . Если эти значения равны 0/NULL, возможность дополнительного STA не будет задана.
Текущее поведение
Если адаптер поддерживает дополнительное подключение STA, на вторичном STA не должно быть полной проверки, так как оно невидимо для пользователя. Сканирование конкретного назначения является исключением, например при подключении через дополнительный STA для обнаружения кандидатов на подключение или, возможно, для отчетов о соседях. Если драйвер видит запрос на сканирование через дополнительный STA, он должен избегать сканирования основного STA, чтобы свести к минимуму перебои. Исключение может быть для совместно расположенных ТОС в диапазоне 6 ГГц, только если они не могут быть обнаружены на другом более низком диапазоне сканирования.
Если драйвер поддерживает дополнительное подключение STA, подключения через дополнительный STA автоматически синхронизируются с основным STA. Начальное подключение через дополнительный STA начнется сразу после успешного выполнения основного подключения STA, а затем после истечения времени ожидания задержки в случае сбоя.
Изменения TLV API WiFiCx
Большинство изменений API для включения дополнительного подключения STA описаны здесь:
- WDI_TLV_CONNECT_PARAMETERS
- NDIS_STATUS_WDI_INDICATION_SECONDARY_STA_CONNECTIVITY
- NDIS_STATUS_WDI_INDICATION_LINK_STATE_CHANGE
Поведение вторичного перемещения STA
Драйвер должен попытаться сохранить дополнительный STA во время роуминга на основном диапазоне STA, даже если ему нужно перемещаться по диапазонам. Он должен сделать это путем синхронизации перемещаемых, чтобы оба интерфейса не перемещались одновременно. Драйвер должен оставить дополнительный STA в состоянии и дождаться завершения перемещения на основном порту STA (до точки, где ключи настроены для безопасного подключения), чтобы затем он смог выбрать подходящих перемещаемых кандидатов для дополнительного подключения STA (на другом диапазоне, чем основной STA). Это позволит приложениям, привязанным как к основному, так и к дополнительному интерфейсу STA, поддерживать подключения во время перемещения.