Руководство по проектированию драйвера минипорта WDI
Внимание
WiFiCx — это новая модель драйвера Wi-Fi, выпущенная в Windows 11. Мы рекомендуем использовать WiFiCx для использования новейших функций. Модель драйвера WDI теперь находится в режиме обслуживания и получит только исправления с высоким приоритетом.
Интерфейс драйвера устройств WLAN (WDI) — это новая модель универсального драйвера Windows для драйверов Wi-Fi для windows 10 для классических выпусков (Home, Pro, Enterprise и Education) и 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.
Принципы дизайна
Следующие принципы руководствовались общей моделью и проектированием этого протокола.
- Свести к минимуму взаимодействие трафика между компонентом узла и компонентом или устройством IHV. Это особенно важно для реализации на автобусах, таких как SDIO, который по сути чатый.
- Ожидается, что функции Wi-Fi (особенно функциональные возможности, которые должны выполняться с низкой задержкой) будут обрабатываться устройством.
- Все связанные с нормативными функциями находятся в компоненте IHV и контролируются IHV.
- Интерфейс Windows управляется компонентом узла и операционной системой Windows.
- В Windows есть возможность восстановить зависнутые устройства. Оно имеет достаточное состояние, чтобы перепрограммировать компонент IHV и восстановить его в течение 10 секунд.
- Операции, требующие большого количества системной памяти или быстрых процессоров, и не являются конкретными поставщиками, обрабатываются узлом.
Определения
Срок | Description |
---|---|
Устройство |
Все оборудование, которое подключается к шине. Устройство может содержать несколько радиосвязей (в частности, Wi-Fi и Bluetooth). |
Адаптер Wi-Fi |
Определенная часть устройства, реализующего функциональные возможности Wi-Fi, как описано в этой спецификации. |
Порт |
Объект, представляющий состояние MAC и PHY для конкретного подключения. |
Компонент IHV |
Компонент программного обеспечения, разработанный IHV, представляющий адаптер Wi-Fi или устройство на узле. |
Хост |
Программное обеспечение майкрософт или операционной системы на стороне узла, взаимодействующее с компонентом IHV с помощью интерфейсов, описанных в этой спецификации. |
Драйвер верхнего края (UE) |
UE ссылается на драйвер WdiWiFi с именем WDI в этой документации. Драйвер IHV UE и нижнего края (LE) объединяются в полный минипорт NDIS. UE реализует основную логику Wi-Fi. |
Нижний пограничный драйвер (LE) |
LE относится к драйверу IHV на нижнем крае. LE и UE объединяются в полный минипорт NDIS. Le реализует функции шины и оборудования. |
Сброс функционального уровня (FLR) |
Сброс функционального уровня, как и в спецификации PCIe. Этот термин относится к сбросу функции, а также к сбросу полного устройства, который может иметь составную функцию. Сброс такой области не влияет на другие функции на том же устройстве. |
Сброс уровня платформы (PLR) |
Сброс уровня платформы. Этот метод сброса влияет на все функции на устройстве. Очень популярно создавать на устройстве несколько функций, чтобы снизить затраты и объемы. Например, Bluetooth обычно строится с помощью Wi-Fi на микросхеме. Однако такой метод сброса сбрасывает все единицы функций на устройстве. |
Сброс восстановления (RR) |
RR ссылается на последовательность событий сброса и восстановления. Для FLR это включает:
Для PLR это включает в себя:
|
Команды WDI |
UE отправляет идентификаторы WDI и вызывает обратные вызовы LE. Все эти команды называются командами WDI. |
Случайное определение MAC-адреса |
Чтобы улучшить конфиденциальность пользователей Windows 10, настроенные MAC-адреса Wi-Fi используются в некоторых случаях, например перед подключением к определенной сети Wi-Fi или при запуске сканирования в определенных условиях. Это относится только к порту станции. Система гарантирует, что случайность используется соответствующим образом, поэтому важные сценарии подключения не нарушаются. Система управляет изменениями адресов путем выдачи OID_WDI_TASK_DOT11_RESET команд до выдачи команды сканирования или подключения. Параметры команды сброса включают необязательный аргумент MAC-адреса. Если аргумент присутствует, MAC-адрес сбрасывается на указанное значение. Если он отсутствует, MAC-адрес остается текущему значению. При настройке случайных MAC-адресов операционная система использует формат "локально администрирования", определенный для IEEE802 адресов. |
ECSA |
Объявление о переключении расширенных каналов. |