Руководство по проектированию драйвера мини-порта WDI

Важно!

WiFiCx — это новая модель драйвера Wi-Fi, выпущенная в Windows 11. Мы рекомендуем использовать WiFiCx, чтобы воспользоваться преимуществами новейших функций. Модель драйвера WDI теперь находится в режиме обслуживания и будет получать только исправления с высоким приоритетом.

Интерфейс WLAN Device Driver Interface (WDI) — это новая модель универсального драйвера Windows для Wi-Fi драйверов, как для Windows 10 для настольных версий (Домашняя, Pro, Корпоративная и Для образовательных учреждений), так и для Windows 10 Mobile. Производитель устройства WLAN записывает драйвер мини-порта WDI для работы с реализацией ос Windows 10. WDI позволяет производителям устройств писать меньше кода, чем предыдущая модель драйвера собственной WLAN. Все новые функции WLAN, появившиеся в Windows 10, требуют наличия драйверов на основе WDI.

Предоставляемые поставщиком собственные драйверы WLAN продолжают работать в Windows 10, но функциональные возможности ограничены версией Windows, для которой они были разработаны.

Требования WDI и спецификация интерфейса описаны в этом руководстве по проектированию. Основные цели новой модели:

  • Повышение качества и надежности драйверов WLAN Windows.
  • Снижение сложности текущей модели драйвера, что, в свою очередь, снижает сложность драйвера IHV и снижает общую стоимость разработки драйверов IHV.

В этой документации основное внимание уделяется указанию потока и поведения операций Wi-Fi между Windows и компонентом драйвера IHV. Он не охватывает сигнатуру программного интерфейса (например, модель интерфейса драйвера устройства) и сведения о том, как компонент IHV загружается в Windows.

Принципы проектирования

Следующие принципы руководствовались общей моделью и структурой этого протокола.

  1. Сведите к минимуму количество обмена трафиком между компонентом узла и компонентом или устройством IHV. Это особенно важно для реализаций на автобусах, таких как SDIO, который по своей сути является болтливым.
  2. ожидается, что устройство обрабатывает Wi-Fi функциональные возможности (особенно функции, которые должны выполняться с низкой задержкой).
  3. Все функции, связанные с нормативными требованиями, находятся в компоненте IHV и контролируются IHV.
  4. Взаимодействие с Windows управляется ведущим компонентом и операционной системой Windows.
  5. Windows имеет возможность восстановления зависающих устройств. Он имеет достаточное состояние для перепрограммы компонента IHV и восстановления в течение 10 секунд.
  6. Операции, требующие большого объема системной памяти или быстрых процессоров и не зависящие от поставщика, обрабатываются узлом.

Определения

Термин Описание

Устройство

Все оборудование, которое подключается к шине. На устройстве может быть несколько радиомодуля (в частности, Wi-Fi и Bluetooth).

адаптер Wi-Fi

Конкретная часть устройства, реализующая Wi-Fi функциональные возможности, как описано в этой спецификации.

Port

Объект , представляющий состояние MAC и PHY для определенного соединения.

Компонент IHV

Программный компонент, разработанный IHV, который представляет Wi-Fi адаптера или устройства для узла.

Узел

Программное обеспечение майкрософт или операционной системы на стороне узла, которое взаимодействует с компонентом IHV с помощью интерфейсов, описанных в этой спецификации.

Драйвер верхнего края (UE)

UE относится к драйверу WdiWiFi, который в этой документации называется WDI. UE и драйвер IHV нижней границы (LE) объединяются в полный мини-драйвер NDIS. UE реализует основную логику Wi-Fi.

Драйвер нижней границы (LE)

LE относится к драйверу IHV по нижнему краю. LE и UE объединяются в полный драйвер NDIS miniport. LE реализует функции шины и оборудования.

Сброс функционального уровня (FLR)

Сброс функционального уровня, как в спецификации PCIe. Этот термин относится к сбросу функции, а не к сбросу всего устройства, которое может иметь составную функцию. Сброс такого область не влияет на другие функции на том же устройстве.

Сброс уровня платформы (PLR)

Сброс уровня платформы. Этот метод сброса влияет на все функции на устройстве. Это очень популярное создание нескольких функций на устройстве, чтобы снизить затраты и занимаемое место. Например, Bluetooth обычно создается с Wi-Fi на микросхеме. Однако такой метод сброса сбрасывает все функциональные единицы на устройстве.

Восстановление сброса (RR)

RR относится к последовательности событий сброса и восстановления.

Для FLR это включает в себя:

  • Запрос к NDIS, который перенаправляет запрос в шину для сброса функции Wi-Fi.
  • Восстановление контекста встроенного ПО драйвером.
  • Повторное подключение к точке доступа, если она была подключена до сброса.

Для PLR это включает в себя:

  • Запрос к NDIS, который перенаправит запрос в автобус. Шина взаимодействует с PnP для неожиданного удаления устройства.
  • Повторное перечисление устройства.
  • Повторное создание стека устройств.
  • Wi-Fi перезапускается и повторно подключается.

Команды WDI

UE отправляет идентификаторы WDI и вызывает обратные вызовы LE. Все они называются командами WDI.

Рандомизация MAC-адресов

Чтобы повысить конфиденциальность пользователей Windows 10, настроенные Wi-Fi MAC-адреса используются в некоторых случаях, например перед подключением к определенной сети Wi-Fi или при инициации сканирования в определенных условиях. Это относится только к порту станции. Система гарантирует, что рандомизация используется надлежащим образом, поэтому важные сценарии подключения не прерываются. Система управляет изменениями адресов путем выполнения OID_WDI_TASK_DOT11_RESET команд перед выполнением команды сканирования или подключения. Параметры команды сброса включают необязательный аргумент MAC-адреса. Если аргумент присутствует, MAC-адрес сбрасывается до указанного значения. Если он отсутствует, MAC-адрес остается текущим значением. При настройке случайных MAC-адресов операционная система использует формат локального администрирования, определенный для адресов IEEE802.

ECSA

Объявление о переключении расширенных каналов.

Справочник по драйверу мини-порта WDI