Guía de diseño del controlador de miniporte WDI

Importante

WiFiCx es el nuevo modelo de controlador Wi-Fi lanzado en Windows 11. Se recomienda usar WiFiCx para aprovechar las características más recientes. El modelo de controlador WDI ahora está en modo de mantenimiento y solo recibirá correcciones de prioridad alta.

Wlan Device Driver Interface (WDI) es el nuevo modelo de controlador universal de Windows para controladores de Wi-Fi, tanto para Windows 10 para ediciones de escritorio (Home, Pro, Enterprise y Education) como Windows 10 Mobile. El fabricante del dispositivo WLAN escribe un controlador de miniporte WDI para trabajar con la implementación del sistema operativo Windows 10. WDI permite a los fabricantes de dispositivos escribir menos código que el modelo de controlador WLAN nativo anterior. Todas las nuevas características wlan introducidas en Windows 10 requieren controladores basados en WDI.

Los controladores WLAN nativos proporcionados por el proveedor siguen funcionando en Windows 10, pero la funcionalidad se limita a la versión de Windows para la que se desarrollaron.

Los requisitos de WDI y la especificación de interfaz se documentan en esta guía de diseño. Los objetivos clave para el nuevo modelo son:

  • Mejora la calidad y confiabilidad de los controladores WLAN de Windows.
  • Reduzca la complejidad del modelo de controlador actual, lo que a su vez reduce la complejidad del controlador IHV y reduce el costo total del desarrollo de controladores IHV.

El enfoque de esta documentación es especificar el flujo y el comportamiento de las operaciones de Wi-Fi entre Windows y el componente del controlador IHV. No cubre la firma de interfaz de software (por ejemplo, el modelo de interfaz de controlador de dispositivo) y detalles sobre cómo se carga el componente IHV en Windows.

Principios de diseño

Los siguientes principios guiaron el modelo general y el diseño de este protocolo.

  1. Minimice la chattiidad del tráfico entre el componente host y el componente o dispositivo IHV. Esto es especialmente importante para las implementaciones en autobuses como SDIO, que es inherentemente chatear.
  2. Wi-Fi funcionalidad (especialmente la funcionalidad que se debe realizar con baja latencia) se espera que el dispositivo controle.
  3. Toda la funcionalidad relacionada con la normativa reside en el componente IHV y está controlada por el IHV.
  4. La experiencia de Windows se controla mediante el componente host y el sistema operativo Windows.
  5. Windows tiene la capacidad de resurrecr dispositivos bloqueados. Tiene suficiente estado para volver a programar el componente IHV y recuperarse en un plazo de 10 segundos.
  6. Las operaciones que requieren mucha memoria del sistema o procesadores rápidos y que no son específicas del proveedor se controlan mediante el host.

Definiciones

Término Descripción

Dispositivo

Toda la pieza de hardware que se conecta al bus. Un dispositivo puede tener varias radios en él (especialmente Wi-Fi y Bluetooth).

adaptador de Wi-Fi

Parte específica del dispositivo que implementa Wi-Fi funcionalidad tal y como se describe en esta especificación.

Port

Objeto que representa un estado MAC y PHY para una conexión determinada.

Componente IHV

Componente de software desarrollado por IHV que representa el adaptador o dispositivo Wi-Fi para el host.

Host

Software del sistema operativo o Microsoft del lado host que interactúa con el componente IHV mediante las interfaces descritas en esta especificación.

Controlador perimetral superior (UE)

UE hace referencia al controlador WdiWiFi, denominado WDI en esta documentación. El controlador IHV ue y el controlador IHV de borde inferior (LE) se combinan en un controlador de miniporte NDIS completo. La UE implementa la lógica de Wi-Fi principal.

Controlador de borde inferior (LE)

LE hace referencia al controlador IHV en el borde inferior. Le y UE se combinan en un controlador de miniporte NDIS completo. Le implementa funciones específicas de bus y hardware.

Restablecimiento de nivel funcional (FLR)

Restablecimiento de nivel funcional, como en la especificación PCIe. Este término hace referencia al restablecimiento de una función, frente a un restablecimiento del dispositivo completo que puede tener una función compuesta. El restablecimiento de este ámbito no afecta a las demás funciones del mismo dispositivo.

Restablecimiento de nivel de plataforma (PLR)

Restablecimiento del nivel de plataforma. Este método de restablecimiento afecta a todas las funciones de un dispositivo. Es muy popular crear varias funciones en un dispositivo para reducir el costo y la superficie. Por ejemplo, Bluetooth se suele compilar con Wi-Fi en un chip. Sin embargo, este método de restablecimiento restablece todas las unidades de función del dispositivo.

Restablecer recuperación (RR)

RR hace referencia a la secuencia de eventos de restablecimiento y recuperación.

Para FLR, esto incluye:

  • La solicitud a NDIS, que reenvía la solicitud al bus para restablecer la función Wi-Fi.
  • Recuperación del contexto de firmware por parte del controlador.
  • Vuelva a conectarse al punto de acceso si estaba conectado antes del restablecimiento.

Para PLR, esto incluye:

  • La solicitud a NDIS, que reenvía la solicitud al bus. El bus interactúa con PnP para sorprender al dispositivo.
  • Volver a enumerar el dispositivo.
  • Volver a establecer la pila de dispositivos.
  • Wi-Fi se reinicia y se vuelve a conectar.

Comandos WDI

La UE envía OID WDI y llama a devoluciones de llamada LE. Todos estos se denominan comandos WDI.

Selección aleatoria de direcciones MAC

Para mejorar la privacidad de los usuarios de Windows 10, las direcciones MAC configuradas Wi-Fi se usan en algunas circunstancias, como antes de conectarse a una red Wi-Fi determinada o al iniciar exámenes en condiciones específicas. Esto solo se aplica al puerto de la estación. El sistema garantiza que la selección aleatoria se use correctamente, por lo que los escenarios de conectividad importantes no se interrumpen. El sistema administra los cambios de direcciones mediante la emisión de comandos OID_WDI_TASK_DOT11_RESET antes de emitir un comando de examen o conexión. Los parámetros de comando reset incluyen un argumento de dirección MAC opcional. Si el argumento está presente, la dirección MAC se restablece al valor especificado. Si está ausente, la dirección MAC se deja en el valor actual. Al configurar direcciones MAC aleatorias, el sistema operativo usa el formato "administrado localmente" definido para las direcciones IEEE802.

ECSA

Anuncio de conmutador de canal extendido.

Referencia del controlador WDI Miniport